License Drift: The Compliance Incident That Never Files a Ticket
A transitive dependency's license changes and nothing pages. Treating license risk as a monitoring problem — copyleft creep, dual-licensed packages, and a CI gate that catches drift before it ships, not after legal finds it.
Read the post →Docker Never Promised You Isolation. Firecracker Does.
Namespaces and cgroups vs. a five-device microVM, real boot-time and density numbers, and why every AWS Lambda invocation quietly runs a Docker-style container inside a Firecracker microVM.
Read the post →Release Velocity vs. Release Confidence: The Trade You Can Actually Measure
Deploy frequency, lead time, change failure rate, and MTTR turn a vague tradeoff into a two-axis instrument panel. A worked canary/rollback scenario shows exactly where an AI risk-gatekeeper earns its keep — and where it just borrows confidence it hasn't paid for.
Read the post →PostgreSQL Didn't Fail. It Hit Its Limit. — An SRE's Perspective
Connection exhaustion, autovacuum falling behind, WAL filling the disk, and replicas lagging under write load — four Postgres ceilings worked through as an incident log, and the reflex that catches all four before the pager does.
Read the post →REST, Events & Streams: Three Contracts for One Weather Service
Same coordinate, same domain logic, three completely different promises to three different consumers. A worked TypeScript/Node example — and the discipline that keeps three contracts from quietly becoming one leaky one.
Read the post →DEX & DevOps: Hand in Hand
Developer Experience and DevOps aren't two teams competing for budget — they're the inner and outer loop of one delivery system. On golden paths, shared metrics, and where the seam shows when one outruns the other.
Read the post →Click to Sort: A Visual Walkthrough of Three Classic Algorithms
Bubble sort, merge sort, and quick sort, animated bar by bar. Click Run and watch comparisons, swaps, and complexity classes play out in real time — O(n²) vs O(n log n), made visible instead of memorized.
Read the post →Choosing an Index for pgvector: HNSW vs. IVFFlat, With Numbers
Distance operators, build time, recall, memory footprint, and tuning parameters for pgvector's two ANN indexes — backed by published benchmark numbers, not vibes.
Read the post →SRE Core Areas: What Breaks Under Pressure
Four production scenarios worked through as an incident log — peak-load errors, misrouted traffic, a silent autoscaler, and stale reads after failover. Reasoning patterns worth keeping close.
Read the post →The Twelve-Factor App — A Blueprint
A schematic walkthrough of the Twelve-Factor App methodology — codebase, config, backing services, disposability, logs, and the rest — laid out as a build pipeline from foundation to operations.
Read the post →Dear Complexity, We Need to Talk
A love letter to simplicity in AI systems — on RAG pipelines that don't need six re-ranking stages, models that ship instead of sitting in notebooks, and why every added layer is a promise you have to keep.
Read the post →Boundaries: The Art of Deciding What Not to Couple
The best architecture decisions are rarely about what to connect — they're about what to deliberately keep apart. Notes on coupling, cohesion, and drawing boundaries that survive change.
Read the post →Leadership Through Influence
In distributed systems work, the person who unblocks the migration is rarely the person with the title. Notes on leading through credibility, clarity, and consistency — not authority.
Read the post →From Clay Tablets to Thinking Machines
A visual timeline tracing technology's biggest turning points — from the abacus and the printing press through ENIAC, the internet, the smartphone, and today's AI models.
Read the post →