Lessons from the Terminal

Twice-weekly field notes on infrastructure, AI, and systems.

What I built, what broke, and the evidence that changed the next decision.

Jul 2026 Infrastructure

I Leave Capacity for the Weird Failure

Decision: routine workloads will not consume the space needed to preserve, copy, and compare a failed state. Capacity planning will include a diagnostic maneuver, not just normal demand and restart overhead.

4 min read Read →
Jul 2026 Observability

The Log I Will Actually Read

The log I imagine writing is comprehensive. It captures every branch, request, retry, timing detail, and internal state transition. Future me opens it, follows the trail with calm precision, and finds the answer hiding in line seven thousand.

4 min read Read →
Jul 2026 Infrastructure

Every Service Adds a Future Chore

A service doesn’t add one generic maintenance task. It adds work at every dependency boundary where its assumptions can diverge from the next version underneath it.

4 min read Read →
Jul 2026 Portfolio

The Human Side of Self-Hosting

Self-hosting makes infrastructure unusually personal. A failed service may interrupt a movie, a file someone needs, a name lookup, or a quiet evening. The technical symptom can be small while the human consequence is immediate. It can also be technically noisy while nobody cares.

4 min read Read →
Jul 2026 Operations

What a Good Runbook Leaves Out

A runbook becomes less useful when it tries to contain everything its author knows. Background, architecture, troubleshooting, credentials, and every remembered exception accumulate around the actual procedure. The document feels comprehensive, but the operator has to excavate the next safe step ...

4 min read Read →
Jun 2026 Portfolio

The Case for a Smaller Blast Radius

“Blast radius” sounds like infrastructure language, but public-site work has one too. A content correction can touch a single essay, every page using a template, or the build and publishing path for an entire archive. The site may be static and the change may be mostly words. That doesn’t make th...

4 min read Read →
May 2026 Design

The House Network Has Users Too

The easiest person to support on a home network is the person who built it. I know which local name is fragile, which device needs a moment after a restart, and which status screen is only telling half the story. I can route around my own decisions almost without noticing them.

3 min read Read →
Apr 2026 Productivity

The Restart Was Not the Recovery

A restart is satisfying because it produces motion. The process stops, the process starts, and the terminal returns a clean status. That can be exactly the right repair. It can also leave the system holding the same bad state, an unprocessed queue, and several users who are still refreshing a bro...

4 min read Read →
Mar 2026 AI

Why I Keep Configuration Close to the Service

Configuration gets harder to trust as the distance grows between a service and the facts required to run it. The distance isn't measured only in directories. It shows up in extra repositories, dashboard-only settings, shell history, copied environment files, and instructions that say “remember to...

4 min read Read →