Docker best practices in 2026: the ones I actually use
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…
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…
The TypeScript satisfies operator fixed my worst type-narrowing habits. Where I use it, where as is still better, and the trap with as const.
I picked axum for a new Rust service last month. Here's what I learned comparing axum, actix-web, and Rocket in 2026, with code and when…
I used to watch Claude Code stream paragraphs of “Let me think about this carefully…” before every answer. Polite. Thorough. Also expensive. Then I found…
I migrated a Next.js chat endpoint from the raw OpenAI SDK to Vercel AI SDK v5. Here's the before/after code, where it wins, and where…
Go generics shipped in 1.18 and I ignored them for a year. Here are the three patterns I now use in production, plus one I…
After designing and consuming dozens of REST APIs, these are the rules that resolve the most arguments and save the most debugging time — with…
The Next.js App Router and Pages Router aren't just different file structures — they're different mental models. Here's what changes and what trips you up…
Why LLMs fail at spatial tasks isn't always about model size. The input format matters more than you'd expect, and here's what to do about…
Last updated: June 2026. TL;DR AirLLM technically runs 70B-parameter language models on 4GB of RAM through layer-by-layer inference and disk offloading. It does work, but…