Jedes Plugin hat einen Briefkasten

Jedes Plugin hat einen Briefkasten

Angefangen hat es damit, dass mir ein LLM-Agent die Grenzen dokumentiert hat, statt sie zu bauen. Es ist um Nebenläufigkeit gegangen, und herausgekommen ist ein Kommentar: welcher Aufruf aus welcher Goroutine kommen darf, was vorher gesperrt sein muss, worauf man aufpassen soll. Alles richtig. Alles freundlich. Alles nur Text. Eine Grenze, die in einem Kommentar steht, ist keine Grenze. Sie ist eine Bitte. Sie hält so lange, wie der Kommentar gelesen und behalten wird. Ich will ihn gar nicht behalten müssen, das sollen statische Prüfer tun. Sicher zu jeder Zeit, für jeden Leser. ...

Tech · 14. August 2026 · 18 Minuten · René Jochum
Tmpfs mit Incus, ein Kinderspiel

Tmpfs mit Incus, ein Kinderspiel

Ein Storage Pool ist in Incus ein Treiber und eine Quelle. Treiber gibt es mehrere: zfs, btrfs, lvm, ceph, dir. dir ist der langweiligste davon, ein Verzeichnis. Und ein Verzeichnis darf auch ein tmpfs-Mount sein. mount -t tmpfs -o size=32g none /mnt/tmpfs incus storage create tmpfs dir source=/mnt/tmpfs Ab hier landet jede Instanz, die auf diesem Pool startet, im Arbeitsspeicher. Erstellen incus launch images:debian/trixie runner --storage tmpfs Sichern incus publish macht aus der Instanz ein Image. Läuft sie noch, verlangt Incus --force. Die Aliasse rotieren die Generationen: ...

Tech · 14. August 2026 · 2 Minuten · René Jochum
Zweiundzwanzig Betas

Zweiundzwanzig Betas

Sechseinhalb Monate nach der ersten Ankündigung, 22 Betas und 2 RCs später: incus-compose ist 1.0.0. Drei Rewrites endete mit einem Satz, den ich wieder aufgreifen will. „go-orb: drei Jahre Arbeit. Keine Nutzer. incus-compose: zwei Monate. Mehrere." Das ist so geblieben. Leute haben es benutzt, kaputt gemacht, Issues aufgemacht — und der Core aus Der Core soll nichts wissen hat einfach aufgesogen, was sie ihm entgegengeworfen haben. Neue Ressourcen, neue Randfälle, ohne dass der Core selbst sich ändern musste. ...

Tech · 11. Juli 2026 · 3 Minuten · René Jochum
Der Core soll nichts wissen

Der Core soll nichts wissen

In Drei Rewrites stand ein Satz, über den ich schnell hinweggegangen bin: Hooks vor und nach jeder Action — Logging, Dry-Run, Fehlerkontext, alles ohne den Core anzufassen. Ein Halbsatz. Aber genau da steckt das, worauf der dritte Versuch hinausgelaufen ist. Heute will ich diese eine Zeile auspacken. Es wird länger. Was ein Hook ist Ein Hook ist eine Funktion, die ich vor oder nach einer Aktion dazwischenschiebe. ensure, delete, start, stop — jede Aktion, die incus-compose auf einer Ressource ausführt, lässt sich abfangen. Vorher und nachher. ...

Tech · 18. Juni 2026 · 8 Minuten · René Jochum
Drei Rewrites

Drei Rewrites

Ich hasse Spaghetti-Code. Unter anderem Warzone 2100 hat mir 2011 gezeigt warum. C-Code, Globals überall. Man ändert eine Variable und drei Dinge brechen, die scheinbar nichts damit zu tun haben. Man liest den Code und weiß nicht, wo eine Entscheidung anfängt und wo sie aufhört. 3 Jahre - von 2022 bis 2025 habe ich an go-orb gearbeitet. Allein. Ein Framework für verteilte Systeme, gedacht als Nachfolger von go-micro. Config von überall, service discovery, RPC, streaming, pub/sub, kvstore, metrics. Jede neue Idee wurde ein Feature, jedes Feature ein Plugin. ...

Tech · 8. Juni 2026 · 3 Minuten · René Jochum