Blog
June 26, 2026
Tabs vs. Spaces: Who Cares
I once had a pull request sit open for three days. Not because the logic was wrong, not because the tests were failing, but because two developers could not stop arguing about whether I should be...
Read
June 19, 2026
Stop Passing File Paths as Strings: A Quick Introduction to SplFileInfo
A while back, I was building a small file processing script. It took an upload directory, looped through the files, and did different things depending on the file type. It's most likely something...
Read
June 15, 2026
Weekly Digest - June 15, 2026
Three posts this week about PHP's SPL, git workflows, and podcasting. PHP has shipped SplQueue, SplStack, SplMinHeap, and friends since version 5.1, and most of us have been writing the same...
Read
June 12, 2026
Stop Reinventing Data Structures: PHP's SPL Already Has What You Need
A few years ago, I needed a queue. Nothing fancy, just a list of tasks that my script would process one at a time in the order they came in. First in, first out. Classic queue behavior, so I knew I...
Read
June 8, 2026
Weekly Digest - June 8, 2026
Two posts this week. One for the podcasters, one for the PHP developers (and if you're both, it's your lucky week). If your episodes keep falling apart, I'd bet it's not a motivation problem. It's...
Read
June 5, 2026
Stop Writing Recursive Directory Functions Use RecursiveDirectoryIterator Instead
A few years back, I spent an entire afternoon debugging a recursive function that was supposed to scan a project directory and list every PHP file. It worked great on small folders. Then I pointed it...
Read
June 1, 2026
Weekly Digest - June 1, 2026
Happy Monday all! Three posts this week covering podfade, AI-assisted development, and Git workflows. Most podcasters who quit tell themselves they lost their passion, but I think the real issue...
Read
May 29, 2026
Stop Letting Claude Search Your Codebase
I kept burning tokens watching Claude search through my repository for information it already could have had. The pattern was always the same. I'd ask Claude to add a feature, and before it wrote a...
Read
May 25, 2026
Weekly Digest - May 25, 2026
It was a big week last week because PHP/JS Tek 2026 happened, which meant conference talks, post-conference sausage, and apparently a five-act musical. Here's everything I published this week. If...
Read
May 22, 2026
Claude Code Commands That Get Smarter Every Time You Use Them
I fell into an embarrassing pattern with Claude Code. I'd run a command, Claude would do something slightly off, I'd correct it, Claude would fix it, and we'd move on. Then, less than an hour later,...
Read