~/archive

archive

every post, oldest to newest, with what each year was actually about

thirty-odd posts in reverse-chronological order is a feed, not an archive. this is everything, on one page, with a line about what each year was actually for.

if you want a route through the ideas rather than the dates, start here . if you want one subject collected in one place, topics .

a note on the dates, since they would otherwise flatter me. most of the 2024–2025 posts were written in one long stretch in july 2026, reconstructing work i had already done, and dated to when the work happened rather than when i got round to writing it up. the code, the bugs and the decisions are real and contemporaneous; the prose is not. i would rather say that here than let a tidy publication history imply a discipline i did not have.

2026 · 19 posts

the split. not leaving go — splitting the stack : go for the services that have to be boring, rust for the tools that have to be fast. most of the year is those tools, plus the infrastructure underneath them, and partway through it i retract the testing post i wrote in 2024. that retraction is the most honest thing on this site.

2025 · 7 posts

the year things broke quietly. a vote handler that lost 79% of every rating change under load. a rate limiter that trusted a header anyone can set. an audit trail written for a table that would never be that small again. none of them threw an error, and that is the thread that ends up running through everything after it.

2024 · 7 posts

the go monolith year. i was learning by building one service properly rather than five badly: ports and adapters without the ceremony, everything in a single binary with go:embed, and the boilerplate tax that comes due somewhere around the fourteenth entity. the testcontainers series starts here too, which is funny in hindsight given where 2025 went.