Open Source & Maintainer
Manche Projekte entstehen aus einer Notwendigkeit heraus, andere wegen der Herausforderung, es besser zu machen – und einige dieser Projekte entwickeln sich zu langfristigen Werkzeugen. Ich pflege bis heute einige Open-Source-Bibliotheken, die ich eigenständig entwickelt habe. Einige Beispiele:
- tflori/orm: Ein performantes ORM, das aus dem Ansporn entstand, eine schlankere Alternative zu bestehenden Bibliotheken zu schaffen.
- tflori/verja: Eine flexible Bibliothek zur Validierung von Benutzereingaben (und anderen Daten).
- tflori/dependency-injector: Ein leichtgewichtiger Dependency-Injection-Container für saubere Entkopplung.
- tflori/hugga: Eine schlanke Bibliothek für interaktive Konsolenanwendungen in PHP – mit Fokus auf flexible Ausgabeformatierung, Tabellen und direkte Tastatur-Eingabeverarbeitung.
Zusätzlich habe ich vor einigen Jahren die Maintenance von getopt-php übernommen. Auch wenn das Projekt ursprünglich nicht von mir stammt, habe ich es über die Jahre maßgeblich weiterentwickelt – heute wird es von über 100 Paketen als Dependency geführt.
Einen Überblick über meine öffentlich zugänglichen Repositories und Experimente findest du auf GitHub und in meinem GitLab.
Pragmatische Eigenentwicklungen
Nicht jedes Tool muss ein poliertes Open-Source-Projekt für die breite Masse werden. Oft baue ich Dinge schlicht deshalb, weil bestehende Software meine spezifischen Anforderungen nicht erfüllt oder ich mir passgenaue Lösungen für meinen Alltag wünsche:
- fan-ctrl-php: Kaum ein gängiges Lüftersteuerungstool liest die Grafikkartentemperatur unter Linux sauber über Nvidia-Commands aus. Ich habe mir dafür einen eigenen Daemon geschrieben, der als Hintergrunddienst läuft und dieses Problem bei mir seit Jahren zuverlässig löst.
- vte-console: Ein leichtgewichtiges Dropdown-Terminal für Linux in Python geschrieben. Wer aktuell auf einem Wayland-Compositor unterwegs ist, der das
zwlr-layer-shell-v1-Protokoll unterstützt, kann es gerne mal ausprobieren.
- Ergo2040: Ein selbst gebautes, ergonomisches Split-Keyboard mit 83 einzeln ansteuerbaren beleuchteten Tasten und angepasster KMK-Firmware. Der Anspruch war ein ergonomisches Layout, ohne dabei die Fähigkeit zu verlieren, auf einer normalen Tastatur zu tippen.
- network-gallery & riki-cms: Eigenentwicklungen (u. a. für die Familien-Galerie und diese Website). Sie decken meinen Bedarf und bieten noch reichlich Raum für eigene Ideen – auch wenn sie realistisch betrachtet nicht mit etablierten Tools und deren riesigen Communities konkurrieren können.
Infrastruktur & Self-Hosting
Ich betreibe meine Dienste auf einem Linux-Root-Server komplett self-hosted. Neben GitLab CE, NextCloud, OnlyOffice, SonarQube, Roundcube und verschiedenen Datenbanken hoste ich dort auch all meine privaten Webseiten.
Um das Setup übersichtlich zu halten, habe ich ein CLI-Tool entwickelt, das die Verwaltung übernimmt. Es kapselt Docker-Compose nach einem Baukastenprinzip (Service- und VHost-Enabling) und kombiniert es direkt mit Nginx-Konfigurationen sowie automatisierter SSL-Zertifikatsverwaltung via DNS-Challenge.
Abseits des Bildschirms
Die Freude an Konstruktion und gestalterischer Umsetzung beschränkt sich nicht nur auf Code. Wenn ich nicht am Rechner sitze, bin ich gelegentlich mit der Kamera unterwegs oder ziehe mich in meine kleine Werkstatt zurück.
Holzarbeiten begleiten mich dabei schon lange: Bereits seit meinem 16. Lebensjahr baue ich immer wieder eigene Schreibtische, die ein besonderes Augenmerk auf die Arbeit am PC legen. Hin und wieder entstehen dabei auch andere handwerkliche Einzelstücke – wie ein Lowboard mit selbst gegossenem River-Table-Top, asymmetrischem Aufbau und schrägen Steckverbindungen.