du and df: Find What’s Filling Your Disk on Linux
When a Linux disk fills up, df says it is full but du cannot find the files. This guide shows how to…
AI Agents for Ubuntu 24.04 Server Security Auditing: A Practical Guide
AI agents can help audit Ubuntu 24.04 servers for security issues — file permissions, SSH configuration, exposed services, outdated packages, and suspicious…
grep and sed: Search and Replace Text From the Command Line
You have a configuration file with a hundred lines and you need to change one IP address. Or a log file with…
SSH Key Permissions Too Open: Why SSH Rejects Your Key
You run ssh user@server and instead of a login prompt, you see a block of red text ending in “Permission denied (publickey).”…
The Linux find Command: Find Files by Name, Size, Time, and Permissions
You need to find a file, but you only remember part of its name, or you need to find every file larger…
Reading TLS Certificates with openssl
Certificate problems are confusing for a specific reason: the certificate is almost never the thing that is wrong, and openssl will happily…
GitHub’s Move From CSS-in-JS to CSS Modules: What Changed
GitHub has been running on 100% CSS Modules since June 2026. Getting there took roughly three years, more than 6,400 migrated sx…
Bash Parameter Expansion and Quoting: A Reference
Most surprising Bash bugs are one of two things going wrong: an expansion that was not quoted when it should have been,…
Git 2.56: New Commands, Faster Repacks, One Breaking Change
Git 2.56.0 landed on September 28, 2026, tagged by Junio C Hamano with changes from more than 104 contributors, 39 of them…
Linux Disk Full: A Troubleshooting Runbook
“My disk is full” and “du says there is plenty of space” is the most confusing state a Linux machine can be…