Tooling
tcpdump for People Who Would Rather Use the Browser
You do not need to read packets to get value out of tcpdump. Four flags, three filters and a handful of patterns will settle most arguments about whether…
Method rather than tooling: forming a hypothesis, choosing the cheapest experiment that falsifies it, and finding the wrong assumption underneath a bug.
Tooling
You do not need to read packets to get value out of tcpdump. Four flags, three filters and a handful of patterns will settle most arguments about whether…
Code Review
Happy path code is reviewed carefully and error handling gets a glance. That is backwards. Here is the checklist I run on every catch block, every wrapped…
Deep Dive
They share a name and almost nothing else. One is a kernel probe that fires after two hours of silence. The other is connection reuse you can watch in the…
Error Autopsy
This error almost never means your certificate is broken. It means one side is speaking TLS and the other is answering in plaintext, and the mismatch shows…
Networking
A live feed that dropped on a strict interval in production and never locally. The interval was the whole clue and I ignored it for a day.
Security
Tokens rejected as expired seconds after issue, or accepted long after they should have died. Both are the same bug seen from opposite ends.
Networking
Access-Control-Max-Age caches the preflight decision, including the one that said no. Here is why your fix looked like it did not work.
MicroVMs
The bug only reproduces with real state. Copying the database loses the parts that matter. Cloning the whole machine keeps them.
DevOps
Lag climbing on one partition while the rest keep up tells you something specific. Here is how to read the numbers before you add consumers that cannot help.
JavaScript
A single page app that was fine for an hour and unusable by the afternoon. Three wrong hypotheses, then a heap snapshot showed forty thousand detached DOM…
DevOps
status=203/EXEC, status=217/USER, and the other exit codes that mean something specific. Here is how to read them and what each one actually points at.
MicroVMs
A suite that passed alone and failed in the pipeline. The bug was not in the test, it was in what the previous job left behind on the runner.