DevOps
What to Do in the First Ten Minutes of an Incident
The instinct is to start investigating. The first ten minutes are better spent on four other things, and doing them makes the investigation faster.
DevOps
The instinct is to start investigating. The first ten minutes are better spent on four other things, and doing them makes the investigation faster.
Debugging
Using a debugger is supposedly the mark of a serious engineer. Print statements are supposedly what beginners do. Both of those claims are wrong.
Next.js
Your build fails because a page tried to read a header. Here is what triggers dynamic rendering and how to decide what each route should be.
AI
Green CI, clean review, broken production. The gap is that tests check whether code matches the implementation and production checks whether it matches reality.
AI
After reviewing a lot of agent generated pull requests, the same six failure patterns keep appearing. They share a structure: locally plausible, globally wrong.
AI
Each agent works fine alone. Chain them and quality collapses. The failure is almost always at the boundary between them.
JavaScript
Same code, same package.json, different bundler, different result. The difference is resolution conditions and how strict each tool is.
PostgreSQL
You added the index and the query is still slow. Here is how to read a Postgres query plan properly and find the row estimate error causing it.
Python
Your async service handles ten requests a second and pegs one core. Somewhere a synchronous call is blocking the event loop.
Bug Hunt
p99 jumped on one service. The database was fine, every dependency reported healthy, and the flame graph pointed at nothing. That turned out to be the clue.
Bug Hunt
The dashboard looked right. The numbers were wrong by a few percent every day, and the reason was one implicit conversion in a reporting query.
Shopify
Add to cart stopped working, the layout shifted, or the page throws a console error. A systematic way to find which app did it and what to do about it.