DevOps
A 1.2 GB Image That Should Have Been 90 MB
The image shipped the compiler, the package cache and the build tools to production, because every layer ships.
DevOps
The image shipped the compiler, the package cache and the build tools to production, because every layer ships.
Tooling
Chain broken, SNI wrong, protocol refused, certificate expiring. The TLS questions that produce guesswork are all answerable from one command, and the…
Code Review
A cache is reviewed for correctness on the happy path and fails on the edges: the cold start, the hot key, the poison entry and the deploy.
Opinion
Coverage counts executed lines, and a test can execute a branch while asserting nothing about it. The number rises while the protection stays flat, which is…
Deep Dive
Resumption was enabled everywhere and the repeat handshakes were still full handshakes. Session tickets need a shared key across every backend, and behind a…
Bug Hunt
In production the query took nine hundred milliseconds. Under EXPLAIN it ran in four. The difference was the plan: production ran a cached generic plan…
Error Autopsy
The process could not fork despite plenty of free memory, and the error says resource temporarily unavailable. The resource is not RAM.
Shopify
A bundle is derived inventory, and derivation is not enforcement. Two concurrent orders both read the same component counts, both succeeded, and the store…
Security
The credential was removed from the current tree and the team considered it handled. The blob still lives in history, in every clone and in every fork, and…
Performance
The query took forty milliseconds and the endpoint took nine hundred and forty. The difference was serialisation: building and stringifying forty megabytes…
DevOps
The node upgrade stopped at one node and the drain sat for hours. A Pod Disruption Budget with minAvailable equal to the replica count means nothing can…
Tooling
Manual bisection is careful, slow and error prone. Automated bisection with a script that returns the right exit codes finds the offending commit in log…