Stirb klug (Folge 9): Life of Pi – offene See und Solardestille
Wasser, so weit das Auge reicht – und kein Tropfen trinkbar. Warum Meerwasser tödlich ist, wie eine Solardestille funktioniert und warum Regen Dein bester Freund auf See ist.
ls -lt posts/
Über Systeme, Tooling und das gelegentliche Yak-Shaving.
Wasser, so weit das Auge reicht – und kein Tropfen trinkbar. Warum Meerwasser tödlich ist, wie eine Solardestille funktioniert und warum Regen Dein bester Freund auf See ist.
Bevor die erste Zeile portiert wird, braucht der Port einen Richter: ein Harness, das die C++-Referenz auf festen Szenarien spielt und Verhalten statt Formatierung vergleicht. Teil 3 zeigt, wie es entsteht und warum es sich erst gegen die Referenz selbst beweisen muss.
Modifikatoren und mehrere Würfelgruppen. Die eigentliche Arbeit ist nicht der Code – den schreibt der Agent –, sondern die Edge Cases zu enumerieren und als parametrisierte Tests festzuhalten.
Bevor eine Zeile portiert wird, braucht es eine Karte: Welche der 71 C++-Dateien tun was, wovon hängen sie ab, und was davon wird portiert, ersetzt oder weggelassen? Teil 2 zeigt, wie der Agent diese Karte baut – und wo er beim ersten Versuch nach Dateinamen ging statt nach Inhalt.
Zufall, Zeit und I/O machen Tests schnell unzuverlässig. Wie Du externe Einflüsse per Dependency Injection, monkeypatch und tmp_path kontrollierst und Deine Logik deterministisch prüfst.
Aus dem Akzeptanzkriterium wird ein Prompt: Wir verallgemeinern auf NdM, schreiben mit einer kontrollierten Zufallsquelle den ersten exakten Test und lassen den Agenten die Schleife selbst drehen.
Wenn Wasserwerk und Kanalisation ausfallen, werden sauberes Trinkwasser und Hygiene schnell zum Survival-Problem. Wie man Wasser aufbereitet, Fäkalien vom Trinkwasser fernhält und Durchfallerkrankungen verhindert.
Legacy-Code ist nicht alter Code, sondern Code, den niemand mehr gern anfasst. Teil 1 erklärt, warum die Engine von Atlantis PbeM mit Claude Code nach Python wandert, warum „treu portieren" vor „neu erfinden" kommt – und wie das Projekt aufgesetzt ist, bevor die erste Zeile Spiellogik entsteht.
Ein KI-Agent ist nur so gut wie seine Feedback-Schleife. Teil 1 richtet das Projekt ein, schreibt den ersten roten Test für eine Würfel-Engine – und klärt gleich, wie man überhaupt Zufall testet.
Was hinter dem @ steckt: Funktionen sind Objekte, Closures verpacken Verhalten, functools.wraps erhält Metadaten – und Decorators werden damit alltagstauglich.