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.

Apr 2026 AI

What Docker Labels Reveal About Hidden Architecture

Docker labels look like annotations until something starts making decisions from them. A reverse proxy discovers routes. An update tool selects eligible containers. A backup job identifies volumes by a naming convention. A monitoring process groups workloads into a view. Each consumer may read a ...

3 min read Read →
Mar 2026 Automation

The Backup Is the Easy Part

Making another copy feels responsible. Storage is cheap, schedules are obedient, and a successful backup job offers a tidy little moment of relief. I know the feeling well. I also know how easily it lets me postpone the harder question: what, exactly, am I promising myself I can recover?

3 min read Read →
Mar 2026 AI

A Small Network Is Still a Production Network

A small network can be rebuilt badly with remarkable speed. There may be one router, one switch, a few access points, and a short list of local services. That looks simple enough to recreate from memory. Then the replacement comes up with a different address pool, half the names point at old dest...

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 →
Mar 2026 AI

The Useful Difference Between Reachable and Ready

A listening port is a wonderfully low bar. It proves that something accepted responsibility for an address. In local model infrastructure, that can happen well before the system is capable of doing the job that brought a caller there.

4 min read Read →
Mar 2026 AI

What Breaks First in a Homelab

The first thing to fail in a homelab usually isn't the newest service. It's the assumption that the service is standing on something simple.

4 min read Read →