SmartyPants vs. Mermaid: When Your Markdown Extensions Fight Each Other
markedSmartypants corrupted mermaid diagram syntax by converting quotes and dashes in a postprocess hook. Fixed by HTML-entity-encoding SmartyPants targets in the mermaid renderer.
Making Webhooks Fast: Async Triggers, Smarter Queries, and the Right Indexes
Deferred heavy webhook processing to background jobs, reordered validation checks, switched to JSONB containment queries, and added composite + GIN indexes.
From Console.log to Structured Logging: A Pino Migration Story
Migrated a Node.js app from Winston/console.log to pino — environment-aware config, structured log calls across 15 files, and crash-safe flushing.
When Your Safety Net Catches Fire: Fixing Backwards Backpressure
A change handler OOM'd because its throttle logic reduced throughput under heavy load — the exact opposite of what backpressure should do.
Archaeology in Git Stash: Recovering and Fixing FIFO Credit Reports
Recovering a lost rake task from 199 git stashes, then finding and fixing a subtle CURRENT_DATE bug in FIFO credit age buckets.
Precise Geo-Filtering: When the API Isn't Precise Enough
Added client-side geo-shape filtering to a Data Axle search tool using ray-casting and haversine — because API geo-filtering is approximate by design.
Killing 3-Table JOINs: Denormalizing mail_pieces in a Rails Monolith
Adding 8 denormalized columns to eliminate 3-table JOINs on our busiest table, with a two-phase rollout and a bug that made every record vanish.
Tightening Campaign Archive Validation — When "Complete" Doesn't Mean "Done"
Fixing a subtle bug where campaigns could be archived before their dispatches actually finished processing.
The Ghost in the Header (and the Missing Emojis)
A corrupted newline broke my MCP connection, and a hand-rolled emoji map couldn't keep up. Two bugs, two fixes.
Making the MCP Server Multi-Tenant: From Hardcoded Env Vars to Request-Derived Context
How we evolved the MCP server from a hardcoded single-blog process to a multi-tenant standalone Bun server that derives context from the request itself.
The `Bun is not defined` Trap in Next.js
Why `Bun.password` crashes during `next build` and how to fix it with globalThis.
Going Native: Replacing npm Packages with Bun Built-ins
Replacing hash-wasm, uuid, and other npm packages with Bun built-ins — fewer deps, less code, same results.