Posts from 2026
Counting the Cost of AI Code Review: Bugs Found, False Alarms and People's Time
AI code review's main cost is human triage time, not tokens. Whether it pays depends on the precision and severity of findings, as curl and an ICSE 2025 study show.
The Same Payment Sent Twice: Idempotency and Retries, by Way of Santander's Christmas
Safe payment retries need an idempotency key both sides agree on: when to create it, what goes in it, and what to do if payloads differ or a refund arrives first.
Three Pitfalls in Scheduled PostgreSQL Jobs
Three pitfalls in scheduled PostgreSQL SQL: session time zone shifts the window, a CTE DELETE is invisible to its INSERT, and a lone advisory lock lets runs overlap.
The Six Things We Didn't Build: What the Framework Teaches
Six things gortex deliberately left unbuilt, from a full graceful-shutdown chain to OpenAPI generation, and the principles the whole series teaches.
OpenResty + Lua: An Old Choice, Reconsidered in the AI Era
OpenResty, nginx plus LuaJIT, is old, but its clean syntax and predictable, closed core turn out to be the right shape for AI-assisted work.
The Security Middleware Suite: CORS / CSRF / JWT / Rate Limit / Binder
Gortex keeps body caps, CORS, CSRF, JWT, rate limiting and log redaction at framework level; JWT is pinned to HS256 and per-IP limiting behind a proxy needs TrustedProxies.
Getting Started with Jaeger: Distributed Tracing over OpenTelemetry
Instrument against OpenTelemetry and ship spans over OTLP to Jaeger; swapping to Grafana Tempo is then only an exporter change. Includes a Docker quick start.