posts
- Docker's image age is somebody else's clock
A Docker cleanup aged images by their build date. 71 of the 93 images it removed had been pulled within the month.
- Claude Code sessions can message each other. Mine didn't
Claude Code sessions have been able to message each other since August. Until 25 October I copy-pasted between mine. What a send does and doesn't promise.
- A directory-only diff is not an empty directory
Verified-restore archiving lost two test fixtures: a global *.log ignore hid them from git, and the diff showing their missing directory was read as empty.
- 12.4 GB of duplicates, 3.4 GB on disk
On compressed btrfs, du and a duplicate finder overstated what deleting would free, and a permission error hid 15.8 GB. compsize, without sudo, told the truth.
- The typo followed the tag; the failures didn't
Flint misspelled its run folder 495 times, only under run tags with a -fl token. In a renamed-tag A/B the typo moved and the scores didn't.
- To a coding agent, 503 means try again
What Claude Code, opencode and Node clients do with a self-hosted LLM endpoint's 503s and silences, and the status codes that stop the retry loops.
- The fixes had the bugs
Seven re-review passes over a Go LLM proxy found 11, 8, 10, 4, 2, 1 and 0 bugs, nearly all in the fixes. Two could have crashed the process.
- Cutting a stream doesn't cancel the turn
A LAN proxy for two GPU boxes learned to switch llama.cpp engines. Cutting streams to switch faster failed: agent clients re-send the turn.
- A text search OOM-killed the whole tmux pane
Eight lines of Python searched a scratch dir, met a 2.7 GB model and needed about 23 GB to read it as text. systemd then stopped the rest of the pane.
- "Terminating immediately" took 90 seconds
systemd and a wrapper's EXIT trap sent llama-server two SIGTERMs. Its Ctrl+C-twice exit() ran inside the signal handler and deadlocked in glibc.