Go

A 2-post collection

Fast Is Slow, Slow Is Smooth, Smooth Is Fast

By Matthew Hunter |  Aug 30, 2026  | ai, performance, concurrency, go, whisper

My D&D transcription pipeline got about a third faster. I did it by taking away twenty-four of the thirty-two threads it was using, and by not using the fastest GPU in the house.

Neither of those was the plan. The plan was to throw a 5090 at it.

Fast is slow

I’ve written before about how the session reports get made: record the Discord audio, transcribe it with speaker labels, hand the transcript to an LLM, edit the result into narrative prose. That post described a pair of bash scripts wrapping WhisperX. Since then the scripts have been replaced by a single Go binary that does the same job without PyTorch, without a Hugging Face token, and without a Python environment to rot.

Continue Reading...

Smoke: Black-Box Route Testing the Router Gates Itself

By Matthew Hunter |  Jun 6, 2026  | go, testing, ci, http, architecture

Every unit test was green. The page returned 502 anyway.

The route was a treasure generator. Its store had a thorough test suite, all passing, because the test built the store the way the test knew to build it – with the database pool wired in. Production built it differently: a copy-paste in the route setup left the pool out, the store carried a nil handle, and the first query dereferenced nil. The handler panicked, the connection dropped, the reverse proxy turned that into a 502. No test caught it, because no test exercised the wired route against a running server. The tests checked the parts. Nothing checked that the assembled thing served.

Continue Reading...