Blog
Aktuelles
Neues aus meinen Projekten - Tools, Releases und Notizen aus der Praxis. Auch als RSS-Feed.
Einen Namen für Deine Software finden? Worauf Du achten solltest
Der Code ist oft schneller geschrieben als der Name gefunden. Ein Name sollte frei sein, auffindbar und ohne belastete Bedeutung. Dieser Beitrag zeigt, in welcher Reihenfolge man prüft, welche Quellen es gibt und an welchen Stellen meine eigenen Projekte hängengeblieben sind: Jira, Halma und eine Umbenennung.
Eine Weboberfläche ohne JavaScript-Projekt? FastHTML im Python-Stack
FastHTML schreibt HTML als Python-Funktionen und holt sich die Interaktivität über HTMX. Kein npm, kein Build-Schritt, eine Sprache. Was dabei überzeugt, wo das Werkzeug nicht hingehört, wo man es betreiben kann - und wie aus so einer App am Ende eine einzige HTML-Datei wird, die offline im Browser läuft.
Warum es meinen Stundenzettel jetzt zweimal gibt: Terminal und Desktop
Aus Jira-Worklogs einen Stundenzettel bauen, als Excel oder PDF - das macht meine Textual-Anwendung seit einer Weile im Terminal. Jetzt gibt es dieselbe Anwendung ein zweites Mal, als native Desktop-Oberfläche mit Qt. Warum man dasselbe Werkzeug zweimal baut, warum der Kern kopiert und nicht importiert wird, und warum die Desktop-Fassung unter einer anderen Lizenz steht.
Built with .NET: Wo die Anwendungen sind, die niemand mitzählt
Bei ".NET-Anwendung" fällt den meisten KeePass ein, dann Paint.NET, dann kommt Stille. Dabei ist eines der erfolgreichsten Spiele aller Zeiten in C# geschrieben, und die Screenshot-Werkzeuge auf Deinem Rechner vermutlich auch. Eine Bestandsaufnahme mit harten Zahlen - und die Erkenntnis, dass GitHub-Sterne der falsche Maßstab dafür sind.
Quo Vadis: Entwicklung von Desktop-Anwendungen mit .NET
WinForms 2002, WPF 2006 - und dann? Microsoft hat die Desktop-Entwicklung mit .NET über zwei Jahrzehnte auf Windows beschränkt und unterwegs Silverlight und Xamarin wieder eingestellt. Wer heute für Windows, Linux und macOS bauen will, landet nicht bei Microsoft. Eine Bestandsaufnahme mit Zeitleiste, Plattform-Matrix und NuGet-Zahlen.
Tracker-Musik: eine nostalgische Zeitreise in die 90er
Ein Vivaldi-Stück als OGG ist 2,3 MB groß, ein kompletter Amiga-Soundtrack nur 339 KB. Was Tracker-Dateien sind, warum sie so klein bleiben, wie man sie im Browser abspielt und wann sich das lohnt.
Fremde Musik im eigenen Spiel verwenden? Was gilt es zu beachten?
Für geo-finder wollte ich entspannte Hintergrundmusik. Die erste Frage war nicht, welche Library ich nehme, sondern ob ich das überhaupt darf. Was dabei herauskam: Rechtslage, Quellen, Formate, ein Player-Vergleich und der Sonderfall KI-Musik.
"Wir sind nicht nur verantwortlich für das, was wir tun, sondern auch für das, was wir nicht tun"
Der Satz wird Voltaire zugeschrieben und trifft die Softwareentwicklung genauer als vieles aus der Branche selbst. Meine Werkzeuge suchen Fehler auf Webseiten und analysieren dafür fremde Server. Missbrauch lässt sich nicht verhindern, die eigenen Voreinstellungen sehr wohl: Rate-Limit ab Werk, robots.txt, bestätigter Haftungshinweis, Rechtstext in der Sprache des Lesers.
Self-hosted GitLab zu Azure deployen - ohne Secret, aber die Wildcard-Federation greift nicht
Workload Identity Federation ersetzt langlebige Deploy-Secrets durch kurzlebige OIDC-Token. Bei GitLab.com ist das ein Klick - bei einer selbst gehosteten GitLab-Instanz stolpert man über zwei Azure-Grenzen und muss den Token-Exchange am Ende selbst bauen.
Tabler oder AdminLTE 4? Zwei Bootstrap-5-Dashboards im Vergleich
Beide sind kostenlose, MIT-lizenzierte Admin-UI-Frameworks auf Bootstrap 5.3, beide ohne jQuery, beide mit Dark Mode. Trotzdem treffen sie unterschiedliche Entscheidungen. Ein Vergleich aus der Praxis - und warum ich für eine Oberfläche ohne Build-Schritt bei Tabler gelandet bin.
c2pa-scanner: KI-generierte Bilder auf der eigenen Website aufspüren
Ab dem 2. August 2026 verlangt der EU AI Act die Kennzeichnung KI-generierter Inhalte. Mein neues TUI-Tool scannt die eigene Website und erkennt, welche Bilder aus einem KI-Generator stammen - über C2PA-Manifeste und XMP/EXIF-Metadaten.
retro-text-effects.js: Terminal-Texteffekte für den Browser
Ein Browser-Port der Python-Library TerminalTextEffects: 42 Retro-Effekte von decrypt bis fireworks - in Vanilla JavaScript, als eine einzige Datei, ohne Dependencies. Dazu neu und von Ghostty inspiriert: jedes Emoji wird zur schwebenden ASCII-Figur. Mit Live-Demo direkt in diesem Artikel.