- 00 Prologue — a library that almost stopped A short history of bzip2 — essential, then nearly abandoned, then revived — and why that arc is the case for de-risking change. the backstory
- 01 The safe baseline bzip2 → idiomatic Rust, zero unsafe in every codec module, proven byte-identical over 265 commands — and the honest thing it traded to get there. Aug 6, 2026
- 02 The 0-unsafe trap Why “it compiles and it's safe” is the easiest trap to fall into — and the question it quietly dodges. Aug 11, 2026
- 03
A contract for migration What a migration actually owes the caller — the allocator, the aliasing, the ABI — written down as a contract. coming ~Aug 25
- 04
The de-aliasing wall Split a library into units and a coherence bug appears that lives between them, not inside any one of them. coming ~Sep 8
- 05
Aliasing lives in safe code Overlapping views aren't a C-only problem; safe code has to carry the same invariant across the seam. coming ~Sep 22
- 06
Cycles Mutually-recursive units that resist being ported one at a time — and what to do when the pieces won't separate. coming ~Oct 6
- 07
Proving the unsafe you keep The unsafe you can't remove, kept honest: proving the boundary sound rather than pretending it away. coming ~Oct 20
- 08
Reading the residue What the leftover unsafe tells you about a codebase — if you read it instead of hiding it. coming ~Nov 3
- 09
What well-crafted work teaches Stepping back to the careful human port that set the standard — what finishing the whole job, not just the easy 90%, actually takes. coming ~Nov 17