Go Error Handling: The Patterns That Stopped Me Hating if err != nil
The Go error patterns I actually use in production: fmt.Errorf %w wrapping, sentinel vs typed errors, errors.Is vs errors.As, and errgroup at scale.
The Go error patterns I actually use in production: fmt.Errorf %w wrapping, sentinel vs typed errors, errors.Is vs errors.As, and errgroup at scale.
After 4 years with Tailwind, I extract components way later than guides suggest. Here's what earns a real component, what stays inline, and why my…
useOptimistic in React 19 is the first optimistic UI API I actually shipped. Six months of production lessons: where it fits, where it doesn't, what…
The Axum patterns I actually use in production Rust services: extractors, Tower layer ordering, an error enum that works, and pragmatic tracing.
I've been writing PHP 8.4 property hooks in production Laravel apps for a year. Here's where they cleaned up my models and the one place…
GitHub Copilot best practices that actually held up after two years of daily use: prompt-first comments, custom instructions, and when I turn Copilot off.
I sat on the Tailwind v4 upgrade for three months. Here's what actually broke when I migrated a production Next.js app, and what I'd do…
Stage 3 decorators in TypeScript 5+ are finally something I use without flinching. Here is when they earn their keep, and four times I still…
Four years with testify, then I migrated off it. What I kept (assert and require), what I dropped (mock and suite), and the plain-Go alternatives…
Google's new $99 Fitbit Air goes after Whoop with no screen and no subscription. I broke down the specs, the math, and where each one…