Neueste Blogeinträge

Ghostty - jetzt doch

Vor knapp zwei Jahren habe ich mir Ghostty schon mal angesehen und bin dann doch bei WezTerm geblieben. Die TERM-Variable auf entfernten Systemen war mir zu nervig. Das Problem ist inzwischen weg, meine 1000 Zeilen Lua-Config auch - und der Cursor animiert jetzt per Shader.

5.9.2026 shellscript bash devops linux
weiter lesen

Morphium 6.3.7 und 6.3.8: Fehler, die wir alle hatten

Letztes Mal ging es um Fehler, die nie jemand hatte. Morphium 6.3.7 und 6.3.8 sind das Gegenteil: Fehler, die wir alle hatten, seit Monaten, teils seit Jahren. Gefunden, weil wir PoppyDB auf einen echten Message-Bus gestellt und richtig hingeschaut haben - Heap-Histogramme, Verbindungszähler, Logs. Ein Double pro Event, das nie wieder verschwindet. 937.000 TCP-Verbindungen in 61 Stunden für einen Client, der nichts zu tun hatte. Ein Watchdog mit 2.229 Fehlalarmen in einer Woche. Und ein Komplett-Restart, der zeigt, warum ein Rolling Restart als Test für Restore-Pfade wertlos ist.

5.9.2026 morphium java mongodb morphium poppydb messaging release programming
weiter lesen

Morphium 6.3.4 bis 6.3.6: Fehler beheben, die nie jemand hatte

Morphium 6.3.4 bis 6.3.6 sind die seltsamsten Releases, das ich je gemacht habe: kein einziger Fix geht auf einen Bug-Report zurück. Alle Fehler wurden per Code-Review von AIs gefunden - OpenAI, Anthropic und opencode in Kollaboration - in Code, der nie jemanden im Stich gelassen hat. Stiller Datenverlust unter Last, 3GB festgenagelter Speicher, und ein "flaky" CI-Test, der in Wahrheit ein echter Bug war und monatelang angeklopft hat. Eine Woche Arbeit für Fehler, die nie jemand hatte. Noch nicht. Über meine Hassliebe zu Reviewern, die nie müde werden.

21.8.2026
weiter lesen

Morphium 6.3.1 — und der durchsichtige Message-Bus

Wir haben gerade Morphium 6.3.1 released - offiziell ein Bugfix-Release, tatsächlich die Ernte der ersten zwei Produktionswochen von 6.3.0: serverseitige Topic-Filter im Change Stream, Erkennung gemischter Messaging-Implementierungen, und ein In-Memory-Driver, der sich jetzt bis zur Event-Reihenfolge wie mongod verhält. Und der Anlass für die größere Geschichte: warum ein Message-Bus aus Dokumenten durchsichtig ist - mit einem Peeker, der alles mitliest ohne zu konsumieren, und Morpheus als Cockpit für den laufenden Bus. Versucht das mal mit Kafka 😉

11.8.2026 morphium java morphium mongodb poppydb messaging release programming quarkus
weiter lesen

Mit Hilfe des WireProxy failover tests

Failover-Tests mit `kill -9` sind Handarbeit und laufen nie in der CI — dabei sind Failover-Bugs aus Treibersicht reine Leitungsphänomene. Also haben wir die Fehler auf die Leitung verlegt: ein TCP-Proxy pro Replica-Set-Knoten, der Verbindungen einfrieren, resetten oder sauber schließen kann, plus `hello`-Rewriting, damit der Treiber die echten Adressen nie zu Gesicht bekommt. Der Harness fand prompt echte Bugs — inklusive eines Reads, der 26 Sekunden lang einen toten Primary anhämmerte.

6.8.2026 morphium java morphium mongodb programming release poppydb
weiter lesen

Morphium 6.2.6: Der Timeout, der sich mit 100 multiplizierte

Morphium 6.2.6 ist da — und repariert etwas, das eigentlich nie kaputt sein dürfte: den Replicaset-Failover. Eine Kette von Bugs (allen voran ein Timeout, der sich still mit 100 multiplizierte) sorgte dafür, dass der Treiber nach dem Tod des Primary praktisch nie zurückkam: Writes hingen, Messaging blieb tot. Nach den Fixes: volle Schreiblast ~25 Sekunden nach einem kill -9, keine verlorenen Messages. Außerdem an Bord: ein Fix für `findOneAndUpdate`, das bei Read-Cache-Hits Dokumente löschte statt sie zu updaten, ein Self-Deadlock im SingleMongoConnectDriver und `$setOnInsert`/Upsert-Support im InMemoryDriver.

9.7.2026 morphium morphium java mongodb replicaset failover release
weiter lesen