Blain Smith

Blain Smith

Blain Smith

A personal blog mostly about tech and some of the frustrations with it, but there is some technical goodies.

Latest Posts

Recently, I wrote about using Go's net/http/httptrace to get the per-phase timing breakdown for HTTP requests - DNS, TCP, TLS, and server processing. After writing about that package, I wanted to know what the same breakdown costs in...
I was writing a controller that watches Kubernetes HPAs and Istio VirtualServices for changes and coordinates between the two. Both watchers feed updates into the same reconciliation loop, and the loop needs to act on whatever the...
RFC 10008 was published on June 15, 2026 and defines a new HTTP method: QUERY. It fills a gap that has existed for as long as I have been building APIs. You have data to send to the server in order to describe what you want back, but GET...
net/http/httptrace has been in the standard library since Go 1.7 and most Go developers I talk to have never used it. It exposes hooks for the points in an outgoing HTTP request that you usually cannot see from outside the transport: DNS...
Walk into any old stone church and look up. The arches, buttresses, and ribbed vaults that hold the roof against gravity for a thousand years were not chosen for their beauty. They were chosen because stone is heavy and weak in tension,...
I have been writing more and more Hare over the past year and finding places where the ecosystem still has gaps worth filling. One of those gaps is messaging. NATS is my go-to for lightweight pub/sub and I have used it in production...
Hey, dipshit. You know what compiles in two seconds, deploys as a single binary, and doesn't shit itself when a transitive dependency gets yanked from npm at 3am? Go. The same way HTML has been sitting there since the dawn of the goddamn...
Bluesky went down for half its users for about 8 hours on Monday. Jim Calabro wrote up an excellent post-mortem that is worth reading in full, but the root cause is something I keep seeing across languages and runtimes, and it's worth...
I asked my son if he could learn to build anything, what would he want to build. He is twelve years old and autistic and he does not elaborate unless you ask him to. He said, "I want to measure the temperature outside." That was the...
I've been building an API recently with a stack that I think hits a sweet spot of just enough structure to keep a team productive, not so much that you're fighting the tools. The stack is Huma for the HTTP layer, sqlc for database...
Hare doesn't have a package manager. This is by design and I'm glad for it. No dependency hell, no lock files, no node_modules black hole. However, you still need a way to pull in third-party code. There are two approaches: system-wide...
I came across an article recently that references something called Crocker's Rules. I had never heard of them by name, but when I read the definition I realized I've been operating this way for most of my career without knowing there was...
There is something quietly remarkable about the people who built the foundations of modern computing. Not their technical achievements, though those are extraordinary. What is remarkable is where they came from before they ever touched a...
In World War Z, Israel survives the zombie apocalypse because of a simple rule: if nine intelligence officials agree on something, the tenth must assume they're all wrong and explore alternatives. Not to be difficult. Not to play devil's...
In 1995, I built my first website. It was a Metallica fan page. Black background, red text, animated GIFs of pixelated flames, a MIDI file that autoplayed "Enter Sandman" whether you wanted it to or not. I thought it was the coolest...
Search Random