Field notes — essays & research notes

Things I've written down.

Ruby, Rails, performance, security and applied machine learning. Updated when something feels finished.

51 posts · page 5 of 6
RUBY & RAILS 03 / 11 / 26

Interactive without a single-page app

Turbo gets you most of what a client-side framework does, with the state still on the server where it is easier to reason about.

2 min
RUBY & RAILS 02 / 25 / 26

Feature flags you can build in an afternoon

The value is decoupling deploy from release. That does not require a platform, and the platform is not the hard part.

2 min
RUBY & RAILS 02 / 18 / 26

Ruby pattern matching, in code you'd actually ship

It is not a switch statement. It destructures and validates shape in one expression, which is exactly what parsing external data needs.

2 min
LLM & AGENTS 02 / 09 / 26

Your RAG chatbot doesn't have a model problem

It has a measurement problem. Why swapping the model is the last thing to try, what to instrument first, and how an aggregate score hides the failure that matters.

4 min
RUBY & RAILS 02 / 04 / 26

The garbage you never had to create

Ruby's collector is fast. The cheapest object is still the one you didn't allocate, and in hot paths that difference is measurable.

2 min
RUBY & RAILS 01 / 28 / 26

Your average response time is lying to you

The mean hides the requests that make people leave. Percentiles, and the arithmetic of how often a user meets your worst case.

2 min
MLOPS 01 / 21 / 26

I served ResNet-50 on a CPU and stopped paying for GPUs

Latency budgets, ONNX Runtime, and the arithmetic showing most inference workloads were never GPU problems in the first place.

4 min
RUBY & RAILS 01 / 14 / 26

Exceptions that tell you what to do

Rescuing broadly turns a specific failure into a mystery. The useful distinction is between what you expected and what you didn't.

2 min
RUBY & RAILS 12 / 17 / 25

Changing an API without breaking anyone

You cannot make clients upgrade. Every change has to work for consumers who will never read your changelog.

2 min