Archives
All the articles I've archived.
Your LLM can't hallucinate a number it was never given
Anti-hallucination gets written as a prompt rule. It belongs in the code that builds the prompt, and the sharpest version of it is one line long.
Three bugs, one root cause: the label was not the identity
A rendering layer derives a human label from a machine identity. Both are strings. The type checker has nothing to say and the money path does.
Cache the prompt, not the inputs
The key listed the inputs someone believed mattered. The prompt had grown three fields since, and nothing in the system could have noticed.
The endpoint that succeeded at doing nothing
Correct status code, clean logs, zero exceptions, wrong data. What happens to the promise you deliberately didn't await.
I put a signing key in the browser on purpose
What that buys, split by what the attacker can already do, and why the property that actually protects the user is not in my code at all.
We built a distributed page cache, then deleted it
Three rounds of tuning to cut the write bill, then removal. The same machinery stayed for images.
Your error handler is inside the cache
A container restart took thirty seconds. The site stayed broken for an hour after it came back.
A missing capability beats a threshold
A limit can be misconfigured, and mine throttled the one thing that was supposed to recover from the problem it was throttling.
Idempotent writes don't make side effects idempotent
The upsert was the easy half. The write also caused four other things, and none of them were idempotent for free.
Math.floor is not a floor
The obvious fix drops a step. The clever fix rounds past the input. Neither raises an exception, and only one of them spends money you don't have.