Writing

Thoughts on software, AI, systems & the work in between.

What changed for me with LLM tooling

The interesting question stopped being “can the model write this for me” and started being “what do I actually want to be doing with my time.”

Distributed systems are mostly about apologies

CAP gets all the press, but the part that actually shows up in your week is the apology email you send when something inconsistent leaks into a customer’s view.

Rust made me a better Python developer

Spent six months writing Rust on a side project. Came back to Python and started catching bugs I’d been writing my whole career.

We didn’t need Kubernetes

A retrospective on the time we spent six months migrating to k8s and what it actually cost us in throughput.

In defense of the boring monolith

Everyone has opinions about microservices. Almost nobody writes about how nice it is when one git pull gets you the whole system.

Things I learned shadowing an HFT team for a week

Spent five days at a friend’s firm watching trading systems engineers work. Most of what I thought I knew about “fast” turned out to be wrong.

Why graph models clicked for me

I tried to learn GNNs from papers three times and bounced. The thing that finally worked was building a tiny one for a problem I cared about.

Reviewing your own pull requests

The single highest-leverage habit I’ve developed in the last few years is reading my own diff like a stranger before I post it.

The edge isn’t magic, but it is sneaky

Moved one endpoint from a regional Lambda to a Cloudflare Worker and the resulting latency improvement quietly fixed a bug we’d been chasing for months.

GitOps, but only the parts I trust

I am a fan of putting infra in git. I am not a fan of putting infra in git and then pretending the world stops there.

I don’t know enough about post-quantum

An honest accounting of what I’ve actually read versus what I pretend to have read about post-quantum cryptography.

WebAssembly is the quietest revolution

Nobody is hyping it on the timeline. Meanwhile half the tools I open in a tab are doing things I’d have called impossible in 2018.

Sharding is a tax on every future feature

When the Postgres bill goes up, it’s tempting to start shopping for shards. The cost shows up later, when every product question turns into a routing problem.

Events are great until they aren’t

Three projects in I started noticing the same thing: event-driven systems are wonderful for the parts they’re great at, and terrible everywhere else.

Alignment, from the cheap seats

A working engineer’s honest read on alignment research. None of this is original. All of it is what I think about between standups.