One Place for Everything
I’ve been publishing things on the internet since roughly 2008. Drupal modules, GitHub repos and gists, tutorials on Katacoda, an occasional blog post wherever seemed convenient at the time. None of it lived in one place, and most of it wasn’t under my control.
Katacoda doesn’t exist anymore — Pluralsight acquired it and shut it down in 2022, and every interactive scenario I built there went with it. Medium put itself behind a paywall and stopped being a place I’d point anyone. GitHub gists are fine until the day GitHub decides they aren’t a priority. None of these are unusual failures. This is just what happens to writing that lives on someone else’s platform: it’s there until it isn’t, and you don’t get a vote.
So: one domain, one place, everything I still have consolidated into it. Where a piece was recovered from somewhere else, it carries an “archived from” note with its original source and date. The dates are real and I’m keeping them. A 2018 Kubernetes CI tutorial is a record of what I was building in 2018, not advice for 2026 — some of the tools it names have changed shape or stopped existing since. I’d rather preserve it as written than quietly rewrite history to make it look current.
What’s ahead is less archival. I’m spending most of my engineering attention right now on AI agents in production — how you evaluate whether an agent actually did what it was supposed to, what it means to review agent output with real structural distance between the thing that built it and the thing that checks it, and what operational patterns hold up once agents are doing real work instead of demos. That’s what I expect to be writing about going forward.
The site itself is built with Hugo, the source lives in a git repo, and it’s self-hosted. Nothing about the tooling is precious — the domain is the part that’s meant to last.