-
2025-10-15
sed -i differs between macOS and Linux
One wants a suffix argument, the other does not.
-
2025-10-08
set -e will not save your script
Pipelines, conditionals and subshells all defeat it.
-
2025-10-01
Using pre-commit to stop the boring mistakes
Syntax, trailing whitespace, secret scanning — before the commit, not in review.
-
2025-09-24
Reading await and util in iostat
100% util is not saturation, and await is the number users feel.
-
2025-09-17
nginx -t passes and nothing changes
A failed reload keeps the old config; the logs are not where you think.
-
2025-09-10
Plaintext HTTP/2 is rarely worth it
h2c needs both ends to opt in, and browsers only speak h2 over TLS.
-
2025-09-03
Container memory: what you see is not the limit
free reads the host; only cgroup numbers count.
-
2025-08-27
Monitor inodes, not just disk space
Space at 90% pages someone; inodes at 100% surprises everyone.
-
2025-08-20
A few lines worth having in ~/.ssh/config
Jump hosts, keepalive, keys — configured once.
-
2025-08-13
Excluding directories from tar, correctly
Patterns match archive paths, which have no leading slash.
-
2025-08-06
The root filesystem is full; do not start deleting logs
Work down a list of things that are safe to remove.
-
2025-07-30
How often should an application heartbeat run
Shorter than the NAT timeout, longer than the business interval, tolerant of one loss.