Thomas Flori
Eine komplizierte Aufgabe so zu lösen, dass die Lösung einfach erscheint

das ist meine Kreativität

Thomas Flori

42 Jahre, Ehemann, Erfinder, Programmierer

Was mich antreibt

Selten treibt mich die bloße Spielerei an. Häufig ist es das Streben nach einer besseren, einfacheren oder eleganteren Lösung – die Herausforderung, bestehende Dinge durchdachter umzusetzen.

Genau hier beginnt für mich die Kreativität beim Programmieren. Sie liegt für mich darin, komplexe Zusammenhänge und Muster zu erkennen und Generalisierungen zu finden, die gleichzeitig einfach und wiederverwendbar sind. Es geht mir nicht darum, etwas zu entwickeln, das schwer zu verstehen ist, sondern Komplexität so weit zu reduzieren, dass die Lösung schlicht funktioniert – verlässlich und mit minimalem Overhead.

Mich fasziniert die Lücke zwischen dem, was der Nutzer sieht, und der durchdachten Architektur dahinter, die nur Profis erkennen. Wie sich dieser Anspruch entwickelt hat und was mich sonst prägte, zeigt der folgende Einblick:

1984

Als Sohn eines Mathematikers und einer Pädagogin in Germering geboren. Der Grundstein für die IT-Begeisterung wurde früh gelegt: Bereits mit drei Jahren saß ich vor dem 386er, navigierte im DOS-Verzeichnis und startete mein erstes Spiel Aldo.

1996

Der Umzug nach Bayreuth brachte gleich zwei prägende Veränderungen: Ich sparte vier Monate lang eisern mein Taschengeld, um mir schließlich 1997 den ersten eigenen PC leisten zu können. Etwas später trat ich dem Pfadfinderstamm Nibelungen Bayreuth bei, wo meine Leidenschaft fürs Wandern, Zelten und die Natur entstand.

2001

Im Counter-Strike-Clan war ich der Einzige mit minimalen HTML-Kenntnissen – und wurde prompt für die Gestaltung der Website ausgewählt. Schnell wurde klar, dass statisches HTML nicht reicht: Mit 17 Jahren brachte ich mir PHP bei, um ein dynamisches Gästebuch zu entwickeln.

2003

Umzug nach München zum Vater und Start der Ausbildung zum Fachinformatiker für Anwendungsentwicklung. Nebenbei konzipierte, gestaltete und entwickelte ich eigenständig ein Portal auf PHP4-Basis für ein Internetradio.

2004

Anschaffung des ersten dedizierten Root-Servers. Damit begann meine jahrelange Praxis in der Administration und Migration von Linux-Servern – inklusive zweier Rootkit-Vorfälle, aus denen ich wertvolle Lektionen über Systemhärtung und Recovery lernte.

2006

Zwei Versuche der Selbstständigkeit in Schweinfurt und Wuppertal zeigten mir pragmatisch: Eine gute Idee allein garantiert noch keinen Erfolg. In dieser Phase entstand auch mein erstes eigenes Content-Management-System (kurz CMS) – aus heutiger Sicht wirkt die Lösung unprofessionell, aber es war ein wichtiger Meilenstein für meinen eigenen Qualitätsanspruch.

2008

Rückkehr nach München und Einstieg bei PocketGear (mobile2day.de). Beim Ausbau des Onlineshops für Smartphone-Software lernte ich den professionellen Umgang mit großen Datenmengen im laufenden Betrieb.

2011

Nach der Auflösung des deutschen PocketGear-Standorts folgte der Wechsel zu GermanPersonnel. Hier stieg ich auf ein modernes MVC-System (Zend Framework) sowie PostgreSQL um und stellte meinen privaten wie beruflichen Arbeitsplatz komplett auf Linux um.

2012

Ein ereignisreiches Jahr: Neben dem Führerschein trieb ich bei GermanPersonnel federführend den Wechsel von Subversion zu Git voran. Auf meiner ersten Solo-Autoreise in den Harz meisterte ich zudem meine bisher anstrengendste Wanderung: 26 Kilometer und 1.200 Höhenmeter hinauf auf den Brocken.

2014

Ein AngularJS-Workshop bei Golo Roden brachte den entscheidenden Impuls für mein technisches Profil: Es war mein Einstieg in die moderne Entwicklung von Single-Page-Applications.

2015

Ein Jahr der Meilensteine – beruflich wie privat. Bei GermanPersonnel übernahm ich die technische Leitung des Frontend-Teams und stellte die Weichen für modernere Web-Architekturen. Abseits des Bildschirms folgte der persönlich wichtigste Moment: Ich lernte meine spätere Ehefrau kennen.

2017

Wechsel zu Sportradar. Ich übernahm die Wartung von getopt-php (heute über 340 Stars und von mehr als 100 Paketen genutzt, darunter google-ads-php). Gleichzeitig stellte ich meine private Infrastruktur via Docker-Container und GitLab neu auf.

2018

Erfahrungen mit großen Frameworks wie Laravel zeigten mir deren Overhead bei High-Performance-APIs. Um extrem schlanke und schnelle Schnittstellen zu ermöglichen, entwickelte ich eine Reihe modularer Libraries (verja, syna, hugga, breyta, riki-framework).

2019

Lust auf Neues: Ich lernte Lua und baute mit der Cairo-Bibliothek ein eigenes Conky-Skin (tflori/miracle-conky). Parallel folgten weitere Open-Source-Contributions zu bekannten Community-Projekten wie mockery und whoops.

2022

Da kommerzielle ergonomische Tastaturen selten gute mechanische Schalter boten und Split-Keyboards nicht nur teuer waren, sondern auch nicht ergonomisch, entschied ich mich für den Eigenbau: Die erste eigene ergonomische Split-Tastatur entstand.

2025

Nach mehreren Iterationsstufen erreichte das Tastatur-Projekt die Version 4. Hierfür tauchte ich tief in den Code der KMK-Firmware ein, um individuelle Pro-Taste-LEDs und die Status-Synchronisierung zwischen beiden Tastaturhälften umzusetzen.

2026

Fokus auf eigene Projekte und moderne Methoden: Durch den intensiven Einsatz von Agentic Coding (mit Claude Code und OpenCode) überarbeitete ich tflori/verja grundlegend und entwickelte mein zweites CMS (riki-cms) – auf dem auch genau diese Profilseite läuft.

Was ich heute mache

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.