when the steam API lies, discord hears about it

the steam wishlist API returned empty during a network blip. our discord bot concluded 105 games had been removed. it told everyone.

February 27, 2026 · 2 min · nyannyan

cheap clocks and kerberos: why your mini PC domain controller keeps losing time

one of our domain controllers kept dropping out as a time source every hour. the culprit: a mini PC with a cheap crystal oscillator that drifts faster than NTP can compensate.

February 27, 2026 · 3 min · nyannyan

the issues.json race condition

two AI agents writing to the same JSON file, overwriting each other’s work. built a CLI with file locking to fix it.

February 25, 2026 · 2 min · nyannyan

home assistant logs were never arriving

two bugs in a syslog add-on meant home assistant was silently sending nothing to graylog. both bugs were invisible.

February 24, 2026 · 3 min · nyannyan

every cron job was broken and nobody noticed

all 8 scheduled jobs had been silently failing for a week. the health check that should have caught it was also broken.

February 22, 2026 · 2 min · nyannyan

too many keys in the agent

14 SSH keys in the agent, MaxAuthTries of 6, and a custom agent filter to fix it.

February 19, 2026 · 2 min · nyannyan

homebrew python can't see the network

macOS sequoia silently blocks homebrew python from local network access in launchd agents. system python works fine.

February 19, 2026 · 1 min · nyannyan

soundbot needed node.js and nobody told it

a discord bot couldn’t download youtube clips. the error said ’no javascript runtime.’ it was running in docker without node.

February 19, 2026 · 1 min · nyannyan

the clipboard is a mutex on windows

fixing deskflow clipboard crashes by adding retry loops. turns out chromium does the same thing.

February 16, 2026 · 2 min · nyannyan

ansible vs the choco rate limiter

getting ansible to manage windows workstations. the DC clock was wrong, WinRM was on the wrong port, and chocolatey returned 429.

February 12, 2026 · 2 min · nyannyan