DevOps
Consumer Lag Is Not a Throughput Problem Until You Prove It Is
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.
Method rather than tooling: forming a hypothesis, choosing the cheapest experiment that falsifies it, and finding the wrong assumption underneath a bug.
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 nodes.
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.
Node.js
The quick fix is raising ulimit. The real question is what is holding thousands of descriptors open and never closing them.
Opinion
Positions I argued for, sometimes loudly, that turned out to be mistaken. What changed my mind in each case.
Shopify
You cannot attach a debugger to Liquid. Here is the set of techniques that actually works for finding out why a theme is doing something unexpected.
Shopify
A practical migration order, the things that silently break, and how to verify you did not lose content along the way.
Shopify
The storefront cached availability, the customer added to cart, and checkout disagreed. Here is where the state diverges and what to do about it.
Debugging
An error message is read by a person under stress who needs to make a decision. Almost nobody designs them that way.
Bug Hunt
The classic heisenbug. Here is why observation changed the outcome, and the three techniques that found it anyway.
Bug Hunt
Every replica restarted at once during a brief database blip. The health check was working exactly as designed, and the design was wrong.