Bootstrapping a Civilization (Teil 1): make world
Was müsste man beherrschen, wenn Lieferketten, Stromnetz und Hilfe dauerhaft ausfallen? Der Auftakt legt Regeln, Tech-Tree und Ziel fest: vom ersten Werkzeug bis zum selbst gebauten Rechner.
ls -lt posts/
Über Systeme, Tooling und das gelegentliche Yak-Shaving.
Was müsste man beherrschen, wenn Lieferketten, Stromnetz und Hilfe dauerhaft ausfallen? Der Auftakt legt Regeln, Tech-Tree und Ziel fest: vom ersten Werkzeug bis zum selbst gebauten Rechner.
Aus einem Seed wird eine Welt: 2.049 Regionen, 115 Städte, 403 Einheiten. Teil 8 portiert die Weltgenerierung von Atlantis PbeM so, dass der Python-Port dieselbe Welt erzeugt wie das C++-Original – Region für Region, und mit denselben Macken.
Was Cargo außer run und test noch kann: check und Release-Builds, rustfmt für einheitlichen Code, Clippy als Linter mit Autofix, Dokumentation mit Doctests und eine CI-Zeile, die alles prüft.
Rust installieren, das erste Cargo-Projekt anlegen und die ersten Fehlermeldungen lesen. Am Ende zählt logbuch die Zeilen einer Logdatei, mit drei grünen Tests.
Der wichtigste Survival-Trick passiert vor der Tour: jemandem Route und Rückkehrzeit hinterlassen. Was 127 Hours über Trip Plans, Ressourcen und die Grenze zwischen Rettung und Selbstrettung lehrt.
Regionen, Gebäude, Einheiten und Fraktionen hängen im C++-Code von Atlantis PbeM über rohe Zeiger zusammen. Teil 7 macht daraus Python-Objekte, baut eine C++-Sonde als Orakel und findet dabei einen Absturz, den nie jemand gesehen hat.
Das Finale: von der Unit- zur Acceptance-Schleife mit einer echten CLI, wann man den Agenten nicht autonom an die Schleife lässt – und wie sich die Rolle des Menschen zum Spec-Owner und Reviewer verschiebt.
Eine 5.000-Zeilen-Funktion schreibt das Regelbuch von Atlantis PbeM als HTML. Teil 6 portiert sie Kapitel für Kapitel gegen die Referenz – und landet bei 230.407 Bytes, die sich bis auf das Datum nicht vom Original unterscheiden.
Coverage zeigt, welcher Code ausgeführt wurde – nicht, ob Tests kleine Verhaltensänderungen bemerken. Mutation Testing baut kontrolliert Fehler ein und prüft, ob die Tests darauf reagieren.
Mehr Signale in die Schleife: Type Hints mit mypy, Ruff, Coverage und Claude-Code-Hooks. Schnelle Checks laufen nach Änderungen, die volle Suite vor dem Stopp – nebenbei kommt der Reroll dazu.