linux
- 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.
- 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.
- One rebuild moved gpt-oss off ROCm. Two models stayed
Part 6 sent gpt-oss-120b to ROCm because Vulkan prefill collapsed at depth. One llama.cpp rebuild later it is 3.1x faster at 64k; two models stay on ROCm.
- A -> B -> C -> A: benchmarking a kernel cmdline change you have to reboot for
A repeat boot with the same kernel command line ran one row 6 % faster than the first. How to A/B a boot parameter: four boots, sysfs proof, and drift.
- Every way my GPU job queue went quiet
A file-based job queue ran one GPU box unattended for six days. It never crashed. Here are six ways it went quiet, or nearly did, and the fixes.
- The power went out twice. My UPS log saw it once.
Monitoring a BLUETTI AC180 used as a home UPS from Linux over encrypted BLE: no account needed, but polling misses short outages and input watts lie.