Social-Networks:
Facebook
Instagram
Tumblr

Blog: Latest Entries (15):


Backups und Blurays

Da sich bei mir im letzten Jahr nebenjobtechnisch viel bewegt hat und ich meine privaten Projekte sehr reduziert habe und mich verstärkt auf wenige einzelne Projekt konzentriere, habe ich die alten Daten oft kopiert, gesichert und nochmal wieder heraus gesucht.
Erst gestern fiel auf, dass bei dem ganzen hin und her eine style.css einer alten Firefox OS App nicht mit kopiert wurde, weil das Build-Script einmal nicht richtig gearbeitet hatte. Also musste ich das original Projekt wieder raus suchen, wo die Datei drin lag.

Ich gehöre sowie so zu den wohl wenigen Personen, die auch privat wirklich viele Sicherungskopien anlegen und dabei nicht einfach auf eine externe Festplatte setzt.
Eine meiner externen Festplatten ist erst vor einer Woche durch Katzenpischi so sehr beschädigt worden, dass wohl die Controller-Platine einen Knacks weg bekommen hat. Wenn ich noch mal eine genau baugleiche Festplatte finde, werde ich nochmal versuchen die Platine auszutauschen und auf die Daten zuzugreifen.

bbcode-image
Die defekte Festplatte


Der Verlust der Festplatte an sich, ist mir sogar relativ egal in dem Fall und es ist eher die Herausforderung als wirklich die Notwendigkeit die Daten doch nochmal zu kopieren.
Denn 99% der Daten von der Festplatte habe ich auf Blurays gesichert.

Blurays haben meiner Meinung nach folgende Vorteile:

* Es sind WORM-Medien, sind nach dem Brennen also unveränderbar
* ...also sicher gegen Trojaner, die einen die Daten verschlüsseln
* ...sicher gegen Trojaner, die einen die Daten löschen
* relativ Wasser fest, wenn eine Bluray mal ins Wasser fällt und mal etwas darin liegen bleibt, macht es nichts
* Stoßfest, kann also auch mal vom Tisch fallen
* keine Mechanik, die bei Nicht-Nutzung sich festsetzen kann
* keine Mechanik die mit der Zeit verschleißen kann

Natürlich gibt es beim Preis Unterschiede und bei normalen Blurays kann man nur 25GB pro Rohling brennen. 50x 25GB gibt es aber schon für etwas über 23 Euro. Das sind dann 1,25TB für 25 Euro. Das ist im Vergleich zu Festplatten nicht so teuer wie immer behauptet wird.
Auch die schlechten Erfahrungen mit den ersten DVD-Rohlingen klingen immer wieder mit. Brennen und 2 Wochen später nicht mehr lesbar. So was kenne ich auch. Aber bei Blurays hatte ich bis jetzt solche Probleme nicht. Die ließen sich bis jetzt immer ohne Probleme und ohne dass eine Stelle der Disc mehrmals gelesen werden musste, wieder auslesen. Trotzdem muss man auch wie bei DVDs auf einige achten:

* Trocken lagern
* Bei gleichmäßiger Temperatur (~20°) lagern
* vor direkter Sonneneinstrahlung schützen
* keine Cover drauf kleben oder mit komischen Stiften beschriften
* die Unterseite ist geschützter als die Oberseite.. also nicht falsch herum hinlegen! Ein Kratzer auf der Oberseite ist
viel schlimmer als auf der Unterseite!
* Gute Rohlinge kaufen
* Einen guten Brenner verwenden (hier nicht sparen)

Ich benutze zum Lagern eine Licht dichte Schublade und die Blurays und DVDs lagern in ihren Spindeln, die zum Teil mit Sprühlack abgedunkelt sind. Nicht mit Schwarz sondern mit heller oder reflektierender Farbe, damit sie sich bei Sonneneinstrahlung nicht aufheizen. Außerdem sind die Spindeln auch wirklich gut
abgedichtet, dass man sich um Feuchtigkeit und Staub wenig Gedanken machen muss.

Aber auch hier gelten die allgemeinen Regeln, wie für alle Backups:

* Redundante Datenspeicherung, lieber etwas mehrmals brennen als nur einmal (ein Datenträger kann immer kaputt gehen)
* Räumlich möglichst vom Rechner getrennt lagern (am besten sogar in einer anderen Stadt... oder wenigstens Haus)
* Immer mal wieder die Backups kontrollieren (Nachdem Schreiben auf das Medium sowie so noch mal einen Datenvergleich laufen lassen)
* Sicher aufbewahren (ein Safe wäre natürlich besser als eine Schublade.. falls man so etwas zu hause hat, dann auch verwenden)
* Immer alles sichern... das was man für unwichtig hält wird das sein, was man nachher braucht wenn es weg ist
* Inhalte alter Datenträger auf neue Kopieren

Gerade der letzte Punkt ist wichtig. Ich habe vor paar Monaten viele CDs auf Bluray kopiert. Von über 50 CDs ging gerade mal eine nicht und dort konnte auch nur eine Datei nicht mehr gelesen werden. Es war natürlich eine Datei, die ich dann doch gerne gehabt hätte, aber vermutlich hab ich das Foto auch noch mal zusätzlich auf einer DVD und zur Not müsste ich das Foto neu scannen (ein Vorteil der alten analogen Fotografie.. wenn sie nicht so extrem teuer wäre).

Da wir in einer Welt leben, wo die Daten mehr wert sind als die Hardware auf der sie gespeichert sind und gerade mit der aktuellen Flut an Schädlingen, die einem die Datenverschlüsseln wollen, sollte der Fokus bei der Datensicherung, wieder vermehrt auf optische WORM-Medien gelenkt werden, weil diese auch für den normalen Benutzer viel leichter richtig zu handhaben sind, als Festplatten, USB-Sticks oder Bänder.

GIF vs WebM

GIF ist so fest mit der Web-Kultur der 90er Jahre verbunden wie kaum eine andere Technologie. Die alten Homepages waren voll von blinkenden Sternen, glitzernden Herzen und komischen "Under Construction"-Schildern. Während man gerade erst MPEG-Videos entdeckte, die man dann downloaden konnte, sich aber nicht wirklich in HTML-Seiten integrieren ließen, brachten GIF-Animationen Bewegung in Seiten und ließen alles nicht ganz so statisch wirken.
Auch heute sind GIF-Animationen weit verbreitet und eine eigene kleine Kunstform. Während früher kleine gezeichnete Animationen den größten Teil davon ausmachten sind es heute oft kurze Szenen aus Videos und Filmen aller Art.

Doch GIF ist nicht wirklich das beste Format für Animationen. Mit dem Video-Tag aus HTML5, bei dem man ohne Probleme die Controllers ausblenden kann, einen Autostart festlegt und eine Loop festlegt, kann man nun auch moderne Video-Formate verwenden. Die Vorteile sind schnell genannt:

- mehr Farben
- höhere Framerate
- moderne Kompression und damit kleine Dateien
- höhere Auflösungen

Natürlich gibt es auch viele Vorteile:

- kompatibel bis in die "Steinzeit"
- keine zusätzlichen Codecs, weil fast alle Webbrowser sie nativ unterstützen
- viele Programme zum erzeugen von GIFs
- laufen selbst auf einem alten Win95 Rechner mit Pentium 90
- einfach zu erzeugen

Das größte Problem sind nicht mal die 256 Farben, da es ja nicht so ist dass man nur insgesamt 256 Farben zur Verfügung hat, sondern nur 256 verschiedene Farben aus der Palette der 24-Bit Farben wählen kann. Man hat also eine Tabelle mit Index mit maximal 256 Einträgen in der ja Eintrag eine 24-Bit Farbe (True-Color) hinterlegt ist. Das hat den Vorteil, dass der Eintrag "5" natürlich weniger Speicher verbraucht als "[255,255,255]", aber führt natürlich dazu, dass man die Anzahl der Farben eines Frames eine MP4 Videos auf 256 Farben reduzieren muss. Das geschieht mit der Quantization. Das an sich funktioniert sehr gut und 256 Farben sehen besser aus, als man denkt, solange alle verwendeten Farben nahe bei einander liegen in er 24-Bit Palette. Nur wenn man einen großen Bereich der 24-Bit Palette abbilden will, wirken die Farben fleckig und unpassend.

Früher liefen die Animationen auf auf einen 486er und man brauchte nur ein Modem. Das hatte seine Gründe. Einmal waren sehr wenig Farben in den Bildern (max. 8-10) und man hatte maximal 12 Bilder (das war schon eine aufwendige Animation) und hohe Delay-Werte welche Frameraten von 2-3 Frames pro Sekunde zur Folge hatten. Ich habe gelernt, dass man mit 6 fps man schon gute Animationen erzeugen kann, wenn man ein Video als Ausgangsmaterial hat, aber man dann schon schnell in den Megabyte-Bereich kommt bei der Datei. Weniger Farben ist meistens keine Option.

Eine Alternative zu GIF ist WebM, wo man nicht 10MB für die Animation hat sondern ~900KB und dabei noch mehr Farben hat. Leider funktioniert WebM nicht im IE, sondern nur im Firefox und Chrome/Blink-Browsern. Es können schon viele Programme WebM erzeugen, aber man kann nicht einfach ein paar Layer in GIMP anlegen und das als WebM-Video speichern. Als GIF-Animation könnte man es speichern.

Trotzdem würde ich WebM heute immer vorziehen, wenn ich eine Animation einbauen müsste. Erzeugen im Webbrowser geht im Chrome oder Vivaldi aufgrund der nativen WebP-Unterstüzung sehr schnell, was ich mit MP4toGIF.com gut zeigen kann. Firefox ist da sehr viel langsamer, weil noch eine extra WebP-Codierung in JavaScript erfolgen muss.

Um GIF wieder etwas konkurrenzfähiger in MP4toGIF.com zu haben werde ich mich daran machen einen alten Trick einzubauen. Der nicht gerade neue Trick besteht darin nicht jedes Frame der Animation voll zuspeichern, sondern immer nur die Unterschiede zum vorher gehenden Frame zu speichern und den Rest des Frames mit der Transparenz-Farbe aufzufüllen. Damit reduziert man die Farbanzahl und die Speichergröße des Frames. Früher wo das Bild aus großen Farbflächen bestand ging das sehr gut. Jetzt muss sich zeigen, ob bei einem Videobild wirklich noch genug Bildbereiche statisch bleiben um einen ähnlichen positiven Effekt zu erhalten.

Ich werde berichten...

Passwort Hash-Algorithmus wechseln

Viele System hashen ihre Passwörter immer noch einfach mit MD5. MD5 ist seit längerer Zeit nicht mehr wirklich sicher und ohne Salt sollte man heute sowie so nicht mehr arbeiten. Eines der großen Probleme von MD5 ist, dass es sehr schnell ist. Wenn man Checksums für Dateien erstellen möchte ist es ideal, aber gerade bei Brute-force Angriffen ist ein langsamer Hash-Algorithmus von Vorteil, weil er die Zeit und damit den Aufwand extrem in die Höhe treibt. Salts tun das selbe für Wörterbuch Attacken und Rainbow-Tables.

Wenn man nun auf etwas sicheres Wechseln möchte ist es gar nicht so schwer. Man muss nicht die Passwörter der Benutzer vorliegen haben. Denn bei jedem Login liegt das Passwort für kurze Zeit in der Login-Methode sowie so als Klartext vor. Hier ist also der beste Punkt, um die Änderungen vorzunehmen. Es gibt nur eines dabei zu beachten.

Am Besten fügt man der User Entity ein Version-Flag hinzu, dass man verwendet um festzuhalten welche Hash-Variante gerade verwendet wird. 0 wäre dann einfaches MD5. Es sollte Integer sein, weil boolean einfach zu wenig ist und es mit der Zeit mehr als zwei Möglichkeiten für das Passwort geben wird... ich muss nochmal umbauen.
Wenn der Benutzer sich also einloggt und das Flag auf 0 steht, bedeutet es, dass man den Passwort-Eintrag in der Datenbank aktualisieren muss. Der Login muss dann eben alle möglichen Kombinationen aus Version Flag und Hash-Methode unterstützen. Flag und Hash-Methode immer zusammen, um alles noch sicher zu halten.. ob es ohne wirklich unsicher wäre, müsste man noch mal durch denken, aber verkehr es abzugleichen ist es sicher nicht.

Nun haben wir schon mal unseren neuen Hash, der gesetzt wird, sobald sich der Benutzer das nächste mal einloggt. Jetzt fehlt der Hash und dazu ist nicht viel zu sagen.

bbcode-image


NUR niemals den Benutzernamen als Salt verwenden! Denn das würde bedeuten, dass man bei einer Änderung des Benutzernamen auch immer den Passwort-Hash neu setzen müsste und wenn der Admin den Namen des Benutzers ändert, hat er das einfach nicht. Das Salt kann ein Zufallscode sein und mit in der Entity gespeichert werden, würde der Name ja auch und es geht ja nur darum das Berechnen der Hashes aufwendiger zu machen und nicht Security through obscurity zu betreiben. Hier muss ich auch noch mal nacharbeiten :-)

PHP7.0 installieren unter Linux (Ubuntu)

Ich habe mich dabei an http://tecadmin.net/install-php-7-on-ubuntu/ orientiert.

Unter Ubuntu < 16.04 PHP 7.0 zu installieren ist gar nicht schwer, wenn man erst einmal weiß, wie es geht. Man muss sich ein zusätzliches PPA einrichten und sonst nicht viel machen.


sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.0


Damit ist PHP 7.0 an sich schon installiert. Das kann man sehen wenn die Version überprüft (immer die zuletzt installierte Version wird hier verwendet)


php -v


Wenn man nun eine Liste an Modulen haben will bekommt man diese so:


sudo apt-cache search php7-*


Wichtig ist, dass XDebug weiterhin unter php-xdebug zu finden ist und deswegen hier nicht in der Liste auftaucht. Also alles aus der Liste installieren was man braucht.


sudo apt-get install php7.0-mysql php7.0-json php7.0-xml php-xdebug


Nun muss PHP7.0 nur noch aktiviert werden. Ich gehe mal davon aus das momentan eine PHP5-Version aktiv ist.


sudo service apache2 stop
sudo a2dismod php5
sudo a2enmod php7.0
sudo service apache2 start


Danach ist der Apache wieder da und läuft mit PHP7.0

Wer ein aktuelles Linux Mint verwendet muss unter Umständen noch das PHP7.0 Apache Modul nach installieren und auch den ganzen Kleinkram.

Flexible Alternative zu Nested-Sets

Nested-Sets sind für normale Baumstrukturen super, aber wenn man etwas flexibler sein möchte und z.B. ein Item in mehreren Kategorien haben möchte oder eine Kategorie auch als Kind-Element von z.B. einer Angebots-Kampanie, ist man schon nicht mehr bei einem Baum sondern bei einem Netz. Nun hier Eltern-Elemente zu finden und zu wissen in welchen Kategorien ein Item sich befindet ist etwas aufwendiger.


CREATE TABLE exp_structure(
ID int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
NAME VARCHAR(255) NOT NULL,
TYPE VARCHAR(255) NOT NULL,
PRIMARY KEY(ID)
);

CREATE TABLE exp_links(
ID_PARENT int(11) UNSIGNED NOT NULL,
ID_CHILD int(11) UNSIGNED NOT NULL,
IS_SHADOW_LINK int(1) DEFAULT 0,
REFCOUNT int(1) DEFAULT 0,
PRIMARY KEY(ID_PARENT, ID_CHILD)
);


Damit man nun schnell herausfinden kann wird, beim Anlegen eines Items in der Struktur wird nicht nur ein Link auf das direkte Parent-Element gesetzt sondern werden auch rekursiv alle weiteren Parent-Element aufgerufen und ein Shadow-Link darauf gesetzt. Dieser Shadow-Link besagt, dass das Item nicht direkt am Parent-Element hängt sondern Subelement zugeordnet ist. In der Oberfläche sind mit Shadow-Links verlinkte Items also nicht anzuzeigen.
Ist ja erst einmal ganz einfach. Wenn ich nun aber z.B. ein Item mit 2 Parent-Elementen habe, muss man wenn man weiter nach oben in die Hierarchie kommt darauf achten, dass man nicht mehrere Shadow-Links setzt. Das ist an sich auch kein großes Problem. Schwierig wird wenn man ein Item entfernt und die Shadow-Links entfernen muss. Bei jedem Shadow-Link müsste man prüfen, ob er durch einen weiteren Pfad noch verwendet wird oder nicht. Dafür gibt die REFCOUNT... ja genau.. wie im Garbage Collector. Wenn man ein Shadow-Link setzten soll, dieser aber schon existiert zählt man Counter hoch. Beim Entfernen zählt man einfach alle Shadow-Links des Pfades runter und entfernt dann alle die auf 0 stehen, weil man dann sicher ist, dass dieser Shadow-Link nicht noch von einem anderen Pfad verwendet wird.
bbcode-image

Host-only Netzwerk mit VirtualBox erstellen

Gerade in Firmennetzwerken kann man nicht immer wie man gerade will eine VM ins Netzwerk hängen. Oft hat man aber Bedarf an einer VM. Gerade wenn man auf Windows entwickelt und am Ende auf Linux deployen soll, ist es immer gut eine Linux-VM zur Hand zu haben, um schnell selbst testen zu können, ob da noch alles läuft.
Auch fertige VMs wie die von Oracle mit einer fertig installierten Datenbank sind wirklich praktisch und können in vielen Situationen helfen.

Um jetzt aber einen eigenen Server in VM zu betreiben, von dem man vom Host aus zugreifen kann, aber kein anderer Rechner im Netzwerk diesen Server sehen kann, kann man in VirtualBox ein Host-only Netzwerk erstellen. Der Host ist Teil des Netzwerks, aber er Rest ist rein virtuell.

Beim einfachen Anlegen einer VM ist immer NAT voreingestellt.

bbcode-image


Zuerst muss man das Host-only Netzwerk erstellen.

bbcode-image


am Besten mit DHCP damit man sich nicht mit den IP-Adressen herum ärgern muss.

bbcode-image


Wenn man nun die VM wieder startet sieht man schon dass die IP sich geändert hat

bbcode-image


und man kann die VM von Host aus anpingen

bbcode-image

Java (EE) in Gefahr?

In den letzten Tagen liest man immer mehr, dass sich viele Sorgen um die Zukunft von Java und gerade um Java EE machen. Wie schon vorher bei JavaFX gilt auch hier immer der Vorwurf Oracle würde sich nicht genug einbringen und auf Fragen um die Zukunft nicht weiter äußern. Oracle ist leider nicht Sun und da sie keine Rechte an der API gegenüber Google mit Android geltend machen konnten, scheint wohl das Interesse noch Mals wieder gefallen zu sein.
Die nächsten Jahre wird man sich um Java sicher keine sorgen machen müssen. Java ist immer noch mit die wichtigste Plattform für Enterprise Entwicklungen und die angebotenen Lösungen sind sehr mächtig und nehmen einen vielen wichtigen Bereichen eine Position ein, bei denen man nicht einfach mal schnell eine andere Lösung einführen kann.

bbcode-image


Auch wenn Oracle selbst das Interesse verlieren sollte, gibt es immer noch genug eine große Mitspieler, die Java nicht so einfach sterben lassen würden. IBM, Apache und Red Hat sind die wichtigsten hierbei. So lange diese hinter Java stehen und Eclipse und Jetbrains entsprechende Entwicklungsumgebungen anbieten, werden sich viele sehr zurück halten auf etwas anderes umzusteigen und wo ein Markt ist werden auch Firmen sein, die diesen Markt bedienen. Wenn Oracle nicht mehr Teil dieses Marktes sein will, dann soll es eben so sein. Wichtige Entwicklungen wie Microservices und alternativen zu Node.js kamen am Ende ja auch nicht von Oracle sondern von anderen Anbietern. Oracle ist Besitzer von Java aber die Java-Welt wird meistens von anderen Bestimmt.

Aber ähnliches hat man auch lange über Zend gehört.. aber jetzt ist man bei PHP 7.0 und auch wenn es lange dauerte, zweifelt wohl niemand mehr an der Zukunft von PHP. Genau so wird es bei Java sein, es mag mal Zeiten geben wo es langsam voran geht, aber solange von Außen der Input bleibt wird es weiter gehen und am Ende ging es mit Java immer voran.. wenn auch zu vor schon oft eher langsam.
Im Serverbereich ist Java sehr stark und wird es sicher auch noch viele Jahre bleiben.

Heise.de: http://www.heise.de/newsticker/meldung/Analyse-Gibt-es-einen-Ausweg-aus-dem-Dilemma-um-Java-EE-3255563.html

Neo4j: reduce() zum Rechnen mit Collections

Wenn man noch einzelne Nodes oder Relations hat, kann man eine Summe schnell und einfach mit sum() berechnen. Wenn man aber schon eine Collection vorliegen hat oder komplexere Berechnungen ausführen möchte, hilft hier die
reduce() Funktion.
Die an sich wie eine kleine Schleife arbeitet und einen Ausdruck auf jedes
Element einer Collection ausführt.

Das man eine direkt eine Collection erhält, kann ganz schnell der Fall sein. Gerade wenn man mit variablen Path Längen arbeitet.


MATCH p = (start:entity{id:4})-[:relates_to*1..10]->(end:entity{id:100})
RETURN p


hier erhält man alle Relations bis zu einer Anzahl von 10, die einen Path zwischen start und end bilden.
Will man nun Gewichtungen an den Relations zusammen rechnen, damit nicht nur die Anzahl der Relations als Bewertung genutzt werden kann, kommt reduce() zum Einsatz.

Mit so einem Prinzip kann man auch reale Wege mit Meter-Angaben zwischen Stationen und Wegpunkten und Neo4j abbilden.


MATCH p = (start:entity{id:4})-[rels:relates_to*1..10]->(end:entity{id:100})
RETURN reduce(weight=0, r in rels) | weight + r.weight) AS total_weight


NCH VideoPad, wirklich gut

Nachdem ich am Abend nach der H-MT Messe brauchte ich unbedingt ein kleines schnelles Videoschnitt-Programm, um die bei den Videos etwas am Anfang und etwas am Ende abzuschneiden und die großen FullHD Video der DSLR in kleinere handliche MP4-Video zu recodieren, die man auch mit kleinem 1MBit Upload bei Dropbox "schnell" hochladen konnte, bin ich auf NCH VideoPad gestossen.

Die Test-Version hat mir den Tag gerettet. OpenShot 2.0 ruckelte nur vor sich hin. Auf Linux funktionierte OpenShot wirklich super, aber auf meinem Windows-PC konnte man damit nicht arbeiten.

Vor kurzen musste ich aus Moho ein kleines Video exportieren.. noch mit XVideo.. ich muss da echt mal auf etwas moderneres Umsteigen. MPEG4 AVC oder so etwas. Jeden Falls hatte ich dann nicht wirklich Lust mich wieder auf eine neue Suche zu machen und habe dann VideoPad Pro gekauft. Die 20 Euro Unterschied zwischen der Pro und der normalen Version waren so wenig (bei insgesamt 50 Euro), dass ich dann mich für die Pro Version entschieden habe.

Ich vermisse aber mein altes AIST MoviePack Pro. HD auf einer dual P3 Workstation zu schneiden war nicht immer schnell, aber das Programm lief immer gut und stabil. Schade, dass es nicht auf modernen Systemen läuft.

Adobe Premiere und After Effects sind zwar echt super Programme kommen bei den Preisen, aber momentan leider nicht für mich in Frage.

bbcode-image

Erstes Wordpress-Theme fertig

Ich habe letzte Woche mein erstes Wordpress-Theme fertig gestellt. Mit integration der großen Social-Networks und allem.. ging sehr viel einfacher als gedacht. Wer also eine CMS- oder Blog-Lösung auf Wordpress-Basis braucht.. ich nehme jetzt auch Aufträge in die Richtung gerne entgegen.

Zu sehen gibt es das Theme hier http://www.superseriousllama.de/.

Ansonsten sucht auch mein Ferienhaus-CMS (aoop basierend) noch nach Einsatzmöglichkeiten.

bbcode-image

Filme für den IT-Nerd - Part Three - Koi-Koi

Der dritte Teil und schon bei den Animes angekommen... aber in dem Bereich findet man viele sehr gute Filme mit guter Story und interessanten Charakteren. Außerdem scheinen Japaner eine Vorliebe für Soziale-Netzwerke und VR zu haben, die so riesig sind, dass sie das gesamte Leben der Menschen beeinflussen. Also das gesamte Internet in einem sozialen Netzwerk.

Summer Games


Das Interessanteste an Summer Wars ist nicht wirklich die VR-Welt oder die böse KI, die sowohl das Internet als auch die reale Welt beherrschen möchte, sondern das Spiel zwischen Tradition und Moderne.
Auf der einen Seite eine alte Samurai-Familie mit einem Oberhaupt (die Großmutter) in der Familienwerte über alles stehen und Probleme gemeinsam angegangen werden und auf der anderen Seite die VR-Welt die rein technisch bedingt ist und jeder sich hinter einem Avatar versteckt und am Ende vollkommen anonym ist.



Im Laufe der Handlung zeigt sich aber immer mehr, dass die zwei Welten nicht so unterschiedlich sind, wie man dachte und die Familienmitglieder, die einem zuerst traditionell bis auch leicht die Moderne ablehnend vorkommen, genau so in der modernen Welt und die alten Werte zur Hilfe nehmen, um gegen moderne Bedrohungen anzukommen. Oder auch mal einen kurz einen Super-Computer liefern können, wenn er benötigt wird.

Gerade die Großmutter und ihr Netzwerk aus Kontakten zeigt, dass persönliche Kontakte sehr viel effektiver ist und schneller reagiert als eine die anonyme Masse des Internets, die sich erst finden und strukturieren müssen.
Zwar endet der Kampf gegen die KI in einem klassischen "Hack the Planet" Finale, aber deren Sieg basiert nicht auf Hightech sondern auf einem alten japanischen Kartenspiel... und einem Mathe-Genie.

bbcode-image

GIF vs WebM

Ich habe gestern Abend mal eine Animation so wohl als animiertes GIF als auch WebM ausgegeben.



Der Unterschied in der Dateigröße ist schon enorm.



Wenn man also überlegt, ob man auf der eigenen Seite Animationen als GIF oder WebM (selbst der neue Edge wird es unterstützen) nimmt, ist WebM wohl die beste Wahl. Damit es sich wie ein GIF verhält muss man es so einbinden:


<video src="ani.webm" autoplay loop mute></video>

Welches Betriebssystem benutz ich heute? .. egal

In den letzten Wochen und Monaten hat Microsoft viele Menschen verwundert. Der SQL-Server soll für Linux heraus kommen. Die Azure-Services sollen besser in Java-Umgebungen integriert werden und dafür wird Microsoft Mitglied der Eclipse-Foundation.
Microsoft veröffentlicht ein System für Switches auf Basis von Linux.

Das alles klingt nicht nach dem Microsoft wie man es noch vor ein paar Jahren kannte, das Opensource als Krebsgeschwür betitelte und als Reaktion auf Standards immer eine eigene Idee heraus brachte und sich beim IE nie um Standards groß kümmerte.

Dieses Microsoft existiert nicht mehr und kann auch nicht mehr existieren, denn die Zeiten haben sich geändert. Früher war Microsoft gleich bedeutent mit Windows und Windows war der PC. Heute sieht alles ganz anders aus. Apple kam zurück. Smartphones und Tablet verdrängten in vielen Bereichen den PC. Gerade ältere Menschen greifen lieber zum Tablet als ein Notebook zu holen oder sich vor den PC zu setzen. Vieles was man früher als Programm auf dem Dektop hatte ist heute ins Internet und in die Cloud gewandert. Opensource ist nicht nur bei Idealisten angekommen auch Regierungen und Firmen setzen auf Opensource und fördern dort ganz gezielt Projekte.

Anders gesagt dreht sich alles nur noch um Services und Anwendungen/Apps. Wo diese laufen ist nicht mehr wichtig oder anders gesagt, wenn sie nicht überall laufen sind sie keine Alternative für die man sich entscheiden kann. Eine Webapp die nur auf dem IE schließt sofort fast alle Tablets und Smartphones aus und damit die meisten Nutzer. Auch wollen sich Entwickler nicht mehr von einer Firma abhängig machen. Wenn meine Anwendung in einer Cloud-Umgebung nicht richtig skaliert oder zu teuer wird, wechsel ich. Denau so legt man sich nicht auf ein Betriebssystem fest. Mit Java, PHP oder anderen Sprachen muss ich mir keine Gedanken machen, auf welchen OS ich mich gerade befinde. Egal ob auf meiner lokalen Windows-Maschine, die ich zum Entwickeln habe, meinem Linux Testsystem, dass irgendwie in einer VM läuft oder am Ende per Docker in einer Cloud-Umgebung. Und wenn der Webdesigner auf seinem Mac die Oberfläche für mich optimiert, soll er sich nur den Branch aus checken und es soll bei ihm genau so funktionieren, wie bei mir.

Es gibt bestimmte Punkte nach dem sich entscheidet welches OS ich benutze:

* die Firma oder das Team gibt es vor
* Es ist die technisch beste Lösung
* ich kenne mich einfach damit besser aus
* ich mag es am liebsten

Am Ende ist es aber egal, weil ein Betriebssystem allein nichts aussagt. Es geht immer um die Programme und Anwendungen, die darauf laufen.

Momentan gibt es nur ein Programm wegen dem ich momentan erst einmal Windows vorziehen würde: SourceTree. Sollte es mal für Linux herauskommen oder die .Net Unterstützung unter Linux es zum Laufen bekommen ist das OS wirklich vollkommen egal. Für alte Anwendungen die ein bestimmtes OS voraus setzen gibt es ja VMs und die VM Umgebungen gibt es auch für alle Betriebssysteme.

bbcode-image


Ich verwendete Ubuntu auf der Arbeit, Windows auf meinem Desktop und Mint auf meinen Notebook. Da ich aber überall Eclipse, Apache, MySQL, Notepad++, WinSCP und Firefox benutze, ist der Wechsel fließend und es ist mir am Ende egal, mit was ich gerade arbeite, weil ich den Unterschied kaum bemerke (außer von der Optik der Fenster).

Ich behaupte auch, dass man den meisten normalen Benutzern ohne Probleme ein Linux installieren könnte und es würde keinen Unterschied machen. Denn die Konfiguration eines Windows-Systems überfordert die genauso wie, wie die eines Linux-Systems. Die Fenster sehen etwas anders aus, aber.. Firefox und Chrome laufen dort genauso und OpenOffice oder LibreOffice sehen dort nicht anders aus, als auf Windows. MS Word und Excel haben viel Boden verloren, viele arbeiten privat nicht mehr damit und ich ich wundere mich doch immer wieder, wenn mir ein "Voll-Noob" was PCs betrifft einen Text schickt und es kommt eine odt-Datei
an.
Email ist sowie so komplett ins Web abgewandert und privat hat kaum noch jemand Outlook installiert.. wenn überhaupt noch mal Thunderbird. Aber an sich spielt sich Email nur noch übers Web und in Smartphone Apps ab.

Windows ist auch einfach nicht mehr der Markt wie früher. Windows 10 hat kaum jemand gekauft. Windows bringt nur noch im Enterprise-Bereich Geld. Nach XP (und dem kompletten Wechsel auf den NT-Kernel) kann es alles was der normale Benutzer braucht und es gibt keinen Grund eine neue Version zu holen. Neue Programm-Versionen werden natürlich immer verwendet, aber neue Windows-Versionen spielen für die meisten
keine Rolle.

Also ist Microsofts Schritt sehr gut zu verstehen. Windows ist nicht mehr die Welt und man will weiterhin seine Programme und Services verkaufen. Wo Opensource einen helfen kann, nutzt man dies und damit man überall vertreten ist, muss man sich an Standards halten. Wenn das nicht allein schafft, muss man eben auch mal Mozilla um Rat fragen.

bbcode-image


Windows NT war schon immer ein tolles Betriebssystem, aber nicht so toll, das sich jemand darauf fest legen würde und damit Windows Server nicht wie Netware endet, muss sich Windows Seite an Seite mit den anderen Betriebssystemen einfinden. Denn Integration kann mehr Pluspunkte bringen, als ein oder zwei Feature mehr im Vergleich.

Older posts: