Das Speichern und Laden von Programmen und Dateien mit einer Commodore Datasette war nun wirklich kein Vergnügen! Selbst kleine BASIC Programm benötigten mehrere Minuten, um den Weg von der Musikkassette zum Speicher des Commodore 64 oder VC 20 zu finden. Wenn überhaupt – Lesefehler gab es fast jeden Tag. Und wenn aus der Datasette plötzlich ein leises Rattern zu hören war, dann wusste man genau: Aus ist’s! Weil sich das Band im Getriebe verheddert hat! Und als ob damit nicht alles schon schlimm genug wäre, kommt noch die knifflige Aufgabe des Positionierens dazu! Waren die gewünschten Daten nicht am Beginn des Bandes abgelegt, dann musste mit Hilfe des nicht besonders genauen Zählers vorwärts gespult werden! Wehe, man schob das Band auch nur einen Zentimeter zu weit vor!
Aber, es hat trotzdem Spass gemacht! Das Hantieren mit «Tapes» gehörte zu unseren ersten Erfahrungen mit dem Homecomputer. Und wir bekamen die Sache in den Griff. Wir schrieben eigene Programme, die nicht nur Adressen, sondern auch Buchhaltungsdaten, Texte für die Schule und noch einiges mehr auf Band speicherten – und wieder zurück holten. Irgendwie verblüfft mich dies bis heute.
Heute ist alles ganz anders, heute gibt es SSD, Solid-State-Drive! SSD ist aber kein Laufwerk mit mechanischen Teilen mehr, es ist ein Festkörperspeicher, der die Informationen auch dann behält, wenn es keinen Strom gibt (deshalb auch nicht-flüchtiger Speicher genannt). Und SSD ist rasend schnell, in bezug auf die Geschwindigkeit lässt es die gute alte Festplatte weit hinter sich. So kommt es, dass heute im Server immer häufiger SSD Speicher verbaut werden, nicht mehr Festplatten. Ach die Harddisk wird vermutlich irgendwann von der Bildfläche verschwinden. So wie die Datasette.
Server müssen heute schnell sein. Niemand wartet gerne, bis er am Bildschirm oder auf dem Smartphone die gewünschte Information sieht. Wir haben deshalb auch alle Webserver auf SSD umgestellt. Dies ist eine der wichtigen Veränderungen, die mir für das Jahr 2019 in den Sinn kommt. Ein weiteres Ereignis, das mit in Erinnerung bleiben wird, ist eine Namensänderung: Die Programmiersprache Perl heisst jetzt Raku! Die Macher der Sprache haben das so entschieden um zu unterstreichen, dass Raku eine Neuentwicklung ist – nicht die Nachfolgeversion von Perl 5, die lange als Perl 6 bezeichnet wurde. Perl/Raku ist ein geniales Softwareprojekt. Viele Scripting Aufgaben lassen sich mit wenigen Programmzeilen realisieren. Hier ein kleines Beispiel, Anzeigen aller Zeilen einer Textdatei: open H, „text.txt“; print join(“, <H>); close H; Gerade das Verändern von Textdateien ist eine der Stärken von Perl. Und bei der Prozessautomatisierung eine häufig gestellte Aufgabe. Oft werden wichtige Informationen von Partnern in allen möglichen Formaten angeliefert: Excel Tabelle, Mail Anhang, JSON, XML und so weiter! Mit wenigen Perl Zeilen verarbeiten wir diese Dateien und speichern sie in unserer zentralen Datenbank.
Apropos Datenbank, das RDBMS der Stunde bleibt für mich PostgreSQL. Gerade grosse Datenbanken sind bei PostgreSQL bestens aufgehoben. Immer wichtiger wird das Verlegen der Programmlogik direkt in die DB mit Stored Procedures und Triggern. Hier wiederum ein kleines Beispiel: Wenn ein Trouble Ticket (Störungsmeldung) verändert wird, dann muss der vorhergehende Zustand für das Protokoll festgehalten werden, so dass Besucher die einzelnen Schritte einer Problemlösung nachvollziehen können: Ticket Eröffnung, Suche nach Problem, Lösung in Arbeit, Störung behoben, Ticket geschlossen. Nun könnte ein Script in Perl, PHP oder Java erstellt werden, das diese Aufgabe übernimmt. Viel besser ist es aber, einen Trigger zu erstellen. Hier ein Beispiel für das andere Datenbanksystem, das wir nutzen, MySQL:
CREATE TRIGGER tickets_before_update BEFORE UPDATE ON tickets FOR EACH ROW BEGIN INSERT INTO tickets_history (ticketid, status, ende, massnahme) VALUES (OLD.id, OLD.status, OLD.ende, OLD.massnahme); END
Apropos Geschwindigkeit, die wird auch beim Webserver immer wichtiger, zumal Google die Antwortzeiten auswertet und für das «Ranking» berücksichtigt. Neben SSD bieten wir neu auch HTTP/2 und GZIP (mod_deflate) als Standard. HTTP/2 reduziert beim Transfer die Latenz, mehrere Dateien werden zusammengefasst und als Paket an den Client geliefert. Mit dem GZIP Modul von Apache werden die Dateien vor dem Transfer komprimiert. Gerade bei langsamen Netzverbindungen zahlt sich diese Massnahme aus.
55… and counting!
Es ist schon einige Jahre her, da wurde auf meinem bevorzugten Techblog (slashdot.org) diskutiert, wie alt ein Programmierer werden darf. Ein Kommentator schrieb damals „33… and counting“, 33-35 Jahre galten schon damals als eine Art Obergrenze. Danach ist Schluss, der Coder muss entweder die Karriereleiter hoch gestiegen sein oder den Job gewechselt haben! Warum eigentlich? Natürlich lässt die geistige Leistungsfähigkeit mit dem Alter nach, das braucht nicht schöngeredet zu werden. Softwareentwickler sind fast täglich mit neuen Herausforderungen konfrontiert, sie müssen beweglich und flexibel bleiben, von ihnen wird abstraktes Denken auf hohem Niveau erwartet. Ich bin jetzt 55 Jahre alt und habe immer noch Spass daran, Programme in Perl, PHP oder ANSI C zu entwickeln. Auch in diesem Alter ist es möglich, an fünf Tagen in der Woche zu programmieren, 8-10 Stunden am Tag, wenn es sein muss. Natürlich merkt man das am Abend; alles andere wäre Selbstbetrug! Aber wer fit bleibt, regelmässig Sport treibt, auf gesunde Ernährung achtet und sich während der Freizeit entspannt, bleibt leistungsfähig.
Die Zukunft ist gefaltet – und wird wieder kleiner
«In fünf Jahren wird es das Smartphone, so wie wir es heute kennen, nicht mehr geben», dies sagt nicht irgendwer, sondern Samsung, einer der grössten Hersteller für Smartphones! Was ist in die Südkoreaner gefahren? Natürlich will der Konzern nicht weniger Geräte verkaufen, er will eher die geneigte Kundschaft darauf einstimmen, dass Smartys in naher Zukunft etwas anders aussehen und auch anders bedient werden. Gemeint ist aktuell vor allem das faltbare Smartphone. Warum falten? Ganz einfach, das Smartphone benötigt dann weniger Platz bei gleichbleibend grossem Display – das ist wunderbar! Das Smartphone wird in Zukunft ohnehin seltener gesehen werden – wenn man den IT Auguren glauben will. Viele Aufgaben können am Handgelenk erledigt werden, mit der Smartwatch. Oder mit einem Ring am Finger, dem Motiv Ring zum Beispiel.
Drei Schritte vor, einer zurück
Fortschritt und Entwicklung sind keine linearen Prozesse, es gibt Techniken, die sich nicht bewähren, oder für die die Zeit noch nicht gekommen ist. Ein gutes Beispiel dafür ist die Digitaltelefonie, sie gibt es seit den späten 90er Jahren; aber damals konnte sie sich noch nicht durchsetzen, nicht nur wegen der fehlenden Bandbreite. Die Zeit war einfach noch nicht reif dazu! Heute liefert Googles Datenbrille „Glass“ ein gutes Beispiel. Denn im Moment sorgt sie in der Wahrnehmung der meisten Menschen eher Misstrauen und Verunsicherung. Zu gross ist die Angst, dass Glass als Überwachungskamera missbraucht wird. In fünf oder zehn Jahren werden Datenbrillen vermutlich so normal sein wie Smartphones oder Kopfhörer! Genau so wie die Drohen, die über unsere Köpfe schwirren und ein Amazon Paket zustellen. Oder die Autos, in denen es kein Lenkrad mehr gibt.