Sonarr was dead because of a Cyrillic filename
Sonarr's web UI was unresponsive. systemd said the service was active (running). The process was using 100% of multiple cores. Load average on the…
Read →Sonarr's web UI was unresponsive. systemd said the service was active (running). The process was using 100% of multiple cores. Load average on the…
Read →The v1 sleep-window learner for a side-project safety app produced a sleep window of 01:00–05:00 for me. My actual sleep is more like 23:00–07:00. The…
Read →The risk-monitor cron on a side project I run was emailing me every 15 minutes with
Read →The inactivity-monitor cron on a side-project safety app was paging me at 7:01 AM, every morning, with
Read →A backend I run was returning 500s on GET /api.php with no endpoint= query param. Should obviously be a 400. Tracking it down landed me on one of those…
Read →A pre-release endpoint sweep on a backend I run turned up two 500s on the check-in respond and snooze endpoints. The cause was old: a composite-key table…
Read →A pre-release audit pass on a backend I run turned up 22 places where the code passed IndexName: foo-index to a DynamoDB query on a table where foo-index…
Read →I went to deploy a fix to a backend Lambda and stopped halfway through because the file I was about to overwrite was 65 lines ahead of the repo…
Read →The phone in a side-project safety app posts a stationary_heartbeat every few minutes when it's not moving — so the server knows the device is alive even…
Read →I wanted to talk to my homelab assistant from the Apple Watch. Action Button down, dictate, get a spoken reply back. Standard project except for one…
Read →I caught a
Read →My homelab assistant runs as a Claude Code agent in the background. When it finishes a long task, it pushes a notification to my phone with the result…
Read →I had three years of email sitting in a DynamoDB table and a memory store wired into my assistant. The assistant was making decisions with no recall of…
Read →I wanted every email to my personal domains stored in DynamoDB as the primary read surface, with Google Workspace continuing to receive a copy as a cold…
Read →