Writing

Notes from the on-call rotation.

Things I've learned, written down so I don't have to relearn them. Long-form, opinionated, no SEO bait.

2026

5 posts

2025

5 posts

2024

13 posts
aws4m read

AWS Savings Plans: The Right Way to Buy Commitment

Most teams buy Savings Plans wrong. They underbuy, overbuy, or buy the wrong type. Here is the framework I use with clients.

15 December 2024
aws4m read

NAT Gateway Egress Is Eating Your AWS Bill

A client paid $14k a month in NAT Gateway data processing charges they did not know existed. Here is the math, the diagnosis, and the fix.

3 December 2024
kubecon4m read

KubeCon 2024: The Boring Stuff Won, As It Should

Two KubeCons this year, Paris in March and Salt Lake City in November. The headline is that Kubernetes finished growing up.

20 November 2024
rag4m read

RAG vs Fine-Tuning: The Adult Conversation Nobody Is Having

Half the AI projects I see are fine-tuning when they should be RAG-ing. The other half are RAG-ing when they should be fine-tuning. Here is the actual decision.

4 November 2024
terraform4m read

Terraform Modules: Three Patterns That Survive Contact With Reality

Terraform module design is where most platform teams accidentally build a worse Kubernetes. Here are the three patterns that actually scale.

30 October 2024
ci-cd4m read

Your Monorepo CI Is Slow Because You Cache Wrong

I see the same six caching mistakes in every monorepo CI I audit. Fix them and pipelines drop from 40 minutes to 8.

14 October 2024
slo4m read

Stop Setting SLOs on Endpoints. Set Them on Journeys.

Most SLOs I see are bound to HTTP endpoints because that is what the dashboard makes easy. They are also useless. Here is how to design SLOs that mean something.

25 September 2024
kubernetes4m read

Kubernetes Upgrades Are a Discipline, Not a Project

Most teams I audit are two minor versions behind on k8s and treat each upgrade like a small migration. That is the wrong shape. Upgrades are a habit.

2 September 2024
anthropic4m read

Claude 3.5 Sonnet Is the Coding Model I Wanted GPT-4 to Be

Anthropic shipped Claude 3.5 Sonnet in June 2024. After two months of daily use across three client projects, the verdict is in. It is the new default for code.

12 August 2024
incident5m read

CrowdStrike Took Down Half the Planet. Your Runbook Should Have Caught It.

On 19 July 2024 a CrowdStrike Falcon update bricked 8.5 million Windows machines. The post-mortem is not about CrowdStrike. It is about how nobody held their vendor accountable.

25 July 2024
ai-agents4m read

Devin Was a Demo, Not a Product

Cognition launched Devin in March 2024 as the first AI software engineer. Four months in, the bench dust has settled. Here is what the autonomous agent hype actually delivered.

8 July 2024
openai4m read

GPT-4o: The Multimodal Bet and What It Breaks in Your Stack

OpenAI shipped GPT-4o in May 2024. Native audio in, audio out. Half the price of GPT-4 Turbo. Here is what actually changes in production systems.

15 May 2024
llama4m read

Llama 3 Is the Moment Open Weights Stopped Being a Toy

Meta dropped Llama 3 in April 2024. The 70B model is the first open-weights release I would actually deploy for a paying client.

22 April 2024