Guides · 10 posts

Stop fixing the same error twice.

Deep dives and playbooks behind the runbooks: the pool math, the retry rules, the DNS records. Every guide links straight to the error pages it explains.

All 10Deep dive 2Playbook 3Explainer 4Field notes 1
Featured · Deep dive

P2024 on serverless: the connection-pool math nobody does

Every cold start opens its own pool. Here is how 40 Lambdas turn into 200 Postgres connections, and the three settings that bring it back to 40.

Deep diveOct 21, 20269 min read
Read the guide →
ExplainerOct 24, 20267 min read

Three 429s, three meanings: OpenAI, Anthropic and Gemini

The same status code means “slow down” at one provider and “pay your bill” at another. Here is how to tell them apart in one catch block.

PlaybookOct 9, 20267 min read

Retry or fix? A decision tree for every error in your logs

Half of all retry loops make incidents worse. Four questions decide whether to back off and try again, or stop and change the request.

ExplainerSep 30, 20266 min read

Reading revert data like a stack trace

0xe450d38c followed by 192 hex characters is not noise. It is a function call in reverse, and you can decode it in one line.

ExplainerSep 12, 20265 min read

Cloudflare 52x errors, explained by where the request died

520, 522, 524 and 525 each name a different hop between the edge and your origin. Draw the path once and the fix is obvious.

ExplainerAug 28, 20263 min read

401 or 403? Ask one question

“Do I know who you are?” If no, 401. If yes but you can’t do this, 403. Everything else is detail.

PlaybookAug 14, 20268 min read

Make 550 5.7.1 go away: SPF, DKIM and DMARC in 20 minutes

Since 2024 Gmail and Yahoo reject unauthenticated bulk mail outright. Three DNS records fix most of it.

Deep diveJul 30, 20266 min read

Next.js hydration errors: the five causes, ranked

Dates, window checks, invalid HTML nesting, random IDs and browser extensions. In that order.

Field notesJul 11, 20264 min read

ERR_REQUIRE_ESM in 2026: you might just need to upgrade Node

require() of ES modules works by default since Node 22.12 and 20.19. When it still fails, it is one of two edge cases.

PlaybookJun 24, 20265 min read

Postgres deadlocks are retryable. Lock ordering makes them rare.

40P01 is Postgres doing its job: it picked a victim so the other transaction could finish. Retry the victim, then fix the order.

Monday error digestOne email: the week’s trending errors and one new guide. No tracking pixels.