REF / WRITING · SOFTWARE

Software.

Everything I've written about software. Start at the top; the list compounds.

DomainSoftware
Posts71
CadenceWeekly
FormatEssay · Note · Case
01
FILTER

By domain.

02
LATEST

software posts.

Showing 5160 of 71.

Next.js Edge Runtime - A Production Reality Check

The pitch for the Edge Runtime sounds irresistible: your code runs in 300+ cities, the cold start is under 50ms, and your users always hit a server within a few hundred miles of them. Latency disappears. The reality, after building several apps that targeted E

Next.js App Router in Production: Patterns That Actually Scale

The Next.js App Router has been generally available for over two years now. The early "should we migrate?" debates have settled. the answer for new projects is yes, and the migration patterns for existing apps are mature. But the App Router rewards a different

React Server Components: A Mental Model That Actually Sticks

Most React developers I've onboarded onto an App Router project have the same first reaction: "Oh, Server Components are like SSR." This is wrong in a way that takes weeks to unlearn. The mistake leads to apps that ship JavaScript they don't need, fetch data i

React 19 Hooks: use(), useOptimistic, useActionState in Production

React 19 introduced three hooks that fundamentally change how production React apps handle async data and forms: use(), useOptimistic, and useActionState. Used together, they replace huge amounts of boilerplate that previously took libraries like SWR, React Qu

React Rendering Performance: When to memo, When Not to (2026 Edition)

For most of React's history, the standard performance advice was: profile, find re-renders, wrap things in useMemo, useCallback, and React.memo. The advice produced codebases full of memoisation that couldn't pass a real audit. half of it was wrong (memoising

Go Concurrency Patterns That Actually Hold Up in Production

Go's concurrency model is famously approachable: go func() and you have a goroutine. The trap is that easy to write is not the same as easy to write correctly at scale. Most production Go incidents I've debugged trace back to one of three things: leaked gorout

Go HTTP Services in 2026: net/http vs Gin, Echo, Chi, Fiber

For years, the standard advice for Go HTTP services was "use Chi" or "use Gin". anything to escape net/http's missing features. The standard library couldn't do path parameters, methods routing was awkward, middleware composition was painful. Frameworks closed

Go gRPC in Production: Patterns for Reliable Microservice Communication

When Go services talk to each other across a network, gRPC is the default for good reason: schema-first contracts, generated client and server code, streaming support, and a binary wire format that's faster and smaller than JSON. But gRPC's defaults are not pr

Spring Boot AI Error Analyzer: One Annotation, Plain-English Stack Traces

Every Java team I've worked with loses hours per week to the same ritual. An exception fires in production, an engineer copies the stack trace into a chat, scrolls past framework noise to find the one line that matters, then walks back through the code to figu

Spring Boot Modular Monolith: Better Than Microservices for Most Teams

The pendulum has swung back. After a decade of teams over-correcting from monoliths to microservices and discovering the operational tax (distributed tracing, network failures, eventual consistency, deploy-time coupling pretending to be runtime decoupling), th