Über Mich

Ich bin ein Programmierer, Skifahrer, Mountainbiker, Tänzer und möchtegern Küchenchef 🍰

Mein Hobby wurde zu meinem Beruf: Während der Grundschule modifizierte ich die in Basic geschriebenen Spiele auf einem C64, danach brachte ich mir während des Gymnasiums selbst C++ bei was mir ein Praktikum bei einer Firma spezialisiert auf Software für hochauflösende Bilder ermöglichte.

Weiters war ich in allen möglichen Software Gebieten tätig: Online Spiele für Werbeagenturen, automatisierte erstellung von PDFs in Druckqualität inklusive der nötigen Logistik fürs Produkt dahinter, Design und Implementation von fehlertoleranter Infrastruktur für einen grossen web-hosting Provider, erzeugen eines Produkt-Katalogs basierend auf historischen Informationen (“time travel”) in der Datenbank, embedded Software zum überwachen/steuern von Antennen/Sensoren, Big Data Verarbeitung von Ingenieurwesen/Physik Problemen, management eines Teams das medizinische Software schreibt, den FDA Bestimmungen folgend und mehr.

Im Herbst 2019 habe ich begonnen die Programmiersprache Rust für meine professionelle Arbeit zu verwenden, und ich habe mich noch mehr in sie verliebt 😊. Rusts compiler hat sehr hilfreiche Fehlermeldungen. Die Programmiersprache hat ein mächtiges Typsystem welches zusammen mit der “move-semantik” das ersellen von APIs erlaubt die nur schwer falsch zu benutzen sind. Weiterer Vorteil ist das “type state pattern” welches ungültige Zustände bereits bei kompilieren verhindert, somit fällt eine ganze Gruppe von bekannten Fehlern weg. Das erlaubt das schreiben von stabiler Software in zusammenarbeit mit anderen die tatsächlich funktioniert wenn erfolgreich kompiliert. Abgesehen davon ist das Rust Ökosystem sehr leiwand, hier ein paar Beispiele: WASM wird vollständig unterstützt, Dokumentation kann aus Code-Kommentaren generiert werden, Tests können in Code-Kommentaren geschrieben werden, sehr einfach andere Bibliotheken zu nutzen, äusserst hilfreiche Compiler Fehler/Warnungen, rustfmt zur automatischen Code Formatierung und clippy ein Helferlein mit Tipps wie man Code den Idiomen der community folgend schreiben kann. All das und mehr hat mir wieder Spaß am programmieren gebracht, denn in Rust kann man sich auf die eigentliche Problemlösung konzentrieren, anstatt noch zusätzlich dauernd auf lauernde Nebeneffekte achten zu müssen (die andere Programmiersprachen bzw. deren compiler/interpreter nicht kennzeichnen).

Als eines meiner Hobbies betreibe ich meinen eigenen DNS, mail, web, VPN, GitLab und Datei-Server komplett mit Offsite-Sicherungssynchronisation - diese services verbessere ich kontinuierlich seit ca. 2001. Ich nutze hauptsächlich Linux distributionen bzw. FreeBSD auf meinen Servern und macOS auf meinem client PC. Windows kenne ich auch ganz gut, da ich es immer wieder in der Arbeit benutzt habe.