SumGuy's Ramblings
The art of wasting time.
Docker, self-hosting, AI/LLM, Linux, and DevOps — explained by someone who learned the hard way. No fluff, no enterprise jargon, just practical stuff that actually works on real hardware.
Recent Posts
-
Docker's Embedded DNS: Inside 127.0.0.11
Docker's embedded DNS at 127.0.0.11 resolves container names, aliases and replicas, then forwards everything else upstream. How it works and how to debug it.
14 min read -
Monolith vs Microservices, Measured
One Go shop app as a monolith and as gRPC microservices on the same pinned CPU cores. The monolith won every throughput test, and Postgres capped some loads.
15 min read -
Lynis: Reading a Hardening Audit Report
Run Lynis 3.1.7, read the warnings, suggestions, test IDs and hardening index, fix the findings that matter, silence the rest, and track the score weekly.
14 min read -
coredumpctl: Debug a Crash-Looping Service
Your service dies and restarts forever. Read the core dump instead of the restart log: coredumpctl, gdb, debuginfod, storage limits, and Docker containers.
16 min read -
systemd-tmpfiles: Runtime and Cache Dirs
Service dies after reboot because /run/myapp vanished? Learn tmpfiles.d line types, Age cleanup, overrides, and when RuntimeDirectory= is the better pick.
14 min read -
git bisect: Find the Commit That Broke It
Find the commit that broke your code in about 7 steps. Manual git bisect, automated git bisect run, exit code 125 skips, and the gotchas that waste hours.
13 min read -
Recording Rules: Faster Prometheus Panels
Prometheus recording rules precompute the expensive queries behind your Grafana panels. Learn naming, chaining, testing with promtool, and when to skip them.
14 min read -
A Terminal Built for AI Coding Agents
Run Claude Code, Codex CLI, or Aider in parallel with one git worktree per agent, one tmux window each, and a bell that tells you which agent is waiting.
15 min read -
When Vaultwarden Dies: A Recovery Drill
Back up Vaultwarden properly: the SQLite file plus the files people forget, what the Bitwarden clients keep cached, and a restore drill that proves it works.
16 min read -
Context Window Math: Paying to Remember
Every chat turn re-sends the whole history. See the token math, what prompt caching saves on the API, and what a long context costs in VRAM when you run local.
16 min read -
Pterodactyl Wings: Scaling Past One Node
Add a second Wings node to Pterodactyl without breaking the web console: per-node TLS, firewall ports, VPN gotchas, subnet clashes, and server transfers.
16 min read -
step-ca: Let's Encrypt for Your LAN
Run step-ca as a private ACME server so Caddy and Traefik auto-issue and renew TLS certs for grafana.home.arpa, with no internet exposure and no CT log leaks.
13 min read