Go Web Frameworks in 2026: What I Actually Reach For
I've shipped Go HTTP services with all the big frameworks. In 2026 I default to net/http with chi, reach for Gin to move fast, and…
I've shipped Go HTTP services with all the big frameworks. In 2026 I default to net/http with chi, reach for Gin to move fast, and…
I shipped a refund bug that branded types would have caught. Here is how I use TypeScript branded types for IDs, money, and validated input,…
A new attack exploits the fact that most LLM safety layers evaluate turns in isolation. Here's what the Transient Turn Injection result means for anyone…
PHP 8.4's asymmetric visibility lets you make a property public-read but private-write. Here's the before/after code and the three situations where I reach for it.
A plain-English tour of Rust memory safety for people who already write code in other languages. With real before/after snippets in C and Rust, and…
I ignored Tailwind container queries for two years and it cost me. Here's the before/after of a card component I rebuilt, and when @container beats…
Six months after React 19 went stable, here are the features I actually use day to day, the ones I forget exist, and the ones…
The Tailwind v4 dark mode setup I actually ship: the two-line CSS variant, a flicker-free toggle, the prose gotcha, and a five-minute pre-ship audit.
Go concurrency patterns I reach for on real projects: worker pools, pipelines, fan-in, and context cancellation, with code and the mistakes I still make.
I've shipped a hundred Dockerfiles over two years. Here are the Docker best practices that actually earned their keep, and the 2020-era tips I quietly…