Vor einigen Jahren hab es auf slashdot.org eine Diskussion, die auf reges Interesse stiess. Die Frage lautete: gibt es für Programmierer eine obere Altersgrenze? Und es waren nicht wenige, die argumentierten, bei dreissig sei Schluss. Ein anderer entgegnete trotzig: «35 and counting…». Und wieder andere wollten von einer Altersgrenze nichts wissen. Jeder solle eine Arbeit solange machen, wie er Freude daran hat. An dieser Geschichte mit dem Alter von Programmieren ist etwas dran. Mit knapp 20, also noch mitten in der kunterbunten Teenagerzeit, da setzten wir uns am Abend im Keller vor den Commodore 64 und legten los. Wir hatten keine konkreten Pläne; wir machten einfach das, was und gerade einfiel, das was Spass machte. Meistens Programmieren, einen Kopierschutz aushebeln oder Spielen. Und dann, nach 6-8 Stunden machten wir eine kurze Pause. Jedoch nur um anschliessend wieder gestärkt vor den Bildschirm zu sitzen. Keine Spur von Müdigkeit.
Und heute, fast 30 Jahre später? Da wird noch immer 6-8 Stunden programmiert. Allerdings tagsüber und nicht in einem Keller. Doch dann zeigen sich unerbittlich die ersten Ermüdungserscheinungen. Die Tippfehler häufen sich, die Zeichen am Bildschirm beginnen zu flimmern, die Konzentration lässt nach. Zeit für eine Pause! Wo war ich jetzt gerade? Ach ja, beim Modul Soundso.
Aber geht es nicht mit allen Dingen im Laufe des Leben so? Manches wird schwächer, unsere körperliche Leistungsfähigkeit oder Sehkraft etwa. Anderes bleibt gleich oder ändert sich nur wenig. Wieder anderes wird stärker und wächst. Unsere Erfahrung. Oder die Freude und Begeisterung, die wir einer Aufgabe entgegenbringen. Der Glaube. Und vor allem die Liebe zu den Menschen, mit denen wir unser Leben teilen. Leben heisst wachsen, gedeihen und blühen. Aber auch reifen und wieder vergehen.
Auch in der Geschäftswelt gibt es einen Zyklus aus Werden und Vergehen. Produkte, Technologien und Dienste wechseln sich über die Jahre ab. Gerade in der Informatik ist dieser Prozess nach wie vor sehr kurzlebig. Dass ist auch beim Internet Provider SolNet nicht anders. Vor acht Jahren, als ich hier meinen ersten Arbeitstag hatte, war ADSL noch neu und Bandbreiten von 256 oder 512 Kilobit waren das Nonplusultra. Heute ist das zehnfache von dieser Leistung das knapp akzeptierte Minimum… Damals wurde fast ausschliesslich am PC gesurft und gechattet. Heute ist das Internet dank Smartphone, Tablet und 3G/4G schon fast omnipräsent.
Nach innen ist bei SolNet aber auch vieles beim Alten geblieben. Nach wie vor setzen wir auf PostgreSQL. Diese Datenbank bewährt sich auch bei grossen Datenbeständen bestens. Von entscheidender Bedeutung sind dabei die Transaktionskonzepte der freien Datenbank. Postgres kann auch umfangreiche und komplexe Updates an der DB mittels Commit/Rollback zum letztmöglichen Zeitpunkt speichern oder rückgängig machen. Ausserdem werden Transaktionslogs erstellt; diese können die DB in einen Zustand versetzen, den sie zu einem gegebenen Zeitpunkt hatte! Geblieben ist auch die Telefoniesoftware Asterisk. Komplett verändert hat sich hingegen das Webserver Produkt. Dieses war vor zwei Jahren hoffnungslos veraltet und bedurfte einer gründlichen Überarbeitung. Nach fast zwei Jahren Entwicklungszeit gibt es nun ab 30 Fr. pro Jahr (!) ein Einsteigerprodukt mit drei Gigabyte Speicher. Das Interessante daran: Die Last wird mittels Loadbalancer auf mehrere physikalische Server verteilt. Damit wird verhindert, dass alle Kundenwebs langsamer werden, wenn einzelnen Webseiten viel Last generieren. Ausserdem hat die Redundanz zur Folge, dass der Dienst auch dann noch funktioniert, wenn ein Host ausfällt.
Die Swisscom ist für Schweizer Verhältnisse ein grosses Unternehmen und der «Telco» setzt sich mit seinen Entscheidungen mit schöner Regelmässigkeit auch der Kritik aus. Ich möchte an dieser Stelle von einem sehr erfreulichen Erlebnis berichten: Die Wholesale «Trouble Tickets», die Swisscom per E-Mail an seine Partner sendet, wurden vor kurzem überarbeitet. Neu waren die Meldungen HTML formatierte Textdateien. Das bedeutete auch, dass ihr Inhalt nur mit erheblichem Aufwand per Script weiterverarbeitet werden kann, weil die Daten keine einheitliche Struktur aufweisen. Deshalb schlug ich vor, die Mails auch im XML Format zu senden, so dass sie problemlos mit einem Parser ausgewertet und weiterverarbeitet werden können. Der Zuständige bei Swisscom nahm die Idee auf – und setzte sie um! Vielen herzlichen Dank.
Apropos Swisscom. Das Unternehmen bietet einige seiner Wholesale Dienste nun auch per Webservice an. Zum Beispiel die Möglichkeit, die Breitbandeigenschaften eines Standortes genau zu ermitteln. BBCS Qualification lautet der entsprechende Fachbegriff. Wir nutzen diesen Dienst, um den Kunden genau zeigen zu können, welche DSL-Produkte an ihrer Wohnadresse möglich sind. Neu werden auch auf der Produkteseite mit kleinen Symbolen die möglichen Technologien und Bandbreiten sichtbar gemacht. Die Swisscom Webservices, zusammen mit Ajax und XML/XHTML machen dies möglich. Eine feine Sache.
Gewiss, ich schliesse auch diesmal mit diesen Worten: es ist eine feine Sache, hier arbeiten zu dürfen. Apropos XML. Sehr einfach und effizient können diese Markup Dateien mit der Programmiersprache Perl verarbeitet werden. Perl kennt dazu eine Bibliothek, die eine ganze XML Datei mit einer einzigen Anweisung in eine Variable einliest. Prima, nicht? Überhaupt: Perl wird mit Fug und Recht als einer der mächtigsten Scripting Sprachen bezeichnet. Es gibt kaum eine Problemstellung, zu der auf CPAN nicht mindestens eine Softwarebibliothek veröffentlicht worden ist. Dennoch ist Perl im Kern kompakt und überschaubar.