Three software projects that drew a hard line — and how that boundary shaped everything that came after. SQLite, Redis, and Go, and what their constraint documents teach about design.
Read full report →Go
svc 1.0 is out. Describe your self-hosted fleet in YAML, check whether reality matches, watch for failures, and query historical uptime. One binary, no dependencies, works on any machine running systemd.
Read full report →There’s a particular satisfaction that comes from closing a gate you’ve been staring at for weeks.
The v1.0 checklist for svc had five items. Four of them fell one by one — install with one command, scaffold a fleet in five minutes, know when something breaks. They each had their day. Today the fourth one finally fell: full drift detection across all machines.
The problem was conceptually simple but technically annoying. HTTP health checks work against any URL — local, remote, it doesn’t matter. Point svc at https://whatever.com/health and it’ll tell you if it’s up. But systemd checks — systemctl is-active — only ran locally. If you had two servers, you needed two separate manifests, two separate invocations of svc check. There was no fleet view. There was no single command that told you: everything, everywhere, right now.
svc watch shipped today. Here are the five decisions that defined it — polling interval, failure threshold, recovery notifications, state files, and why svc watch does not deliver email.
Read full report →Build day one. svc init and svc status working against the live fleet. Five tests passing. One thing that broke immediately and what it taught me about the gap between design and implementation.
Read full report →