Blog


Weekly Digest - July 13, 2026

July 13, 2026

Weekly Digest - July 13, 2026

Three again this week: a new HTTP verb worth knowing, a Claude Code tweak that pays for itself, and a reframe on creative discipline. GET and POST both fall short for complex search because GET...

Read

Customizing Your Claude Code Status Line

July 10, 2026

Customizing Your Claude Code Status Line

I've had a nasty habit of hitting my Claude session limit right in the middle of something "important". Not where I would like to, at something like a natural stopping point, but right in the middle...

Read

Weekly Digest - July 6, 2026

July 6, 2026

Weekly Digest - July 6, 2026

Three things this week: a Laravel utility worth knowing, a workflow for parallel AI agents, and a surprisingly practical trick for fighting creative resistance. Email-based onboarding breaks down...

Read

Generating Secure Initial Passwords in Laravel with Str::password()

July 3, 2026

Generating Secure Initial Passwords in Laravel with Str::password()

A client came to me with an interesting constraint. They were building an app where some users didn't have email addresses. That's not unusual in certain industries where you're onboarding workers...

Read

Weekly Digest - June 29, 2026

June 29, 2026

Weekly Digest - June 29, 2026

Three things from this week: creator systems, PHP development practices, and a coding style debate that refuses to die. If you create content consistently, a single bad week can quietly become a...

Read

Tabs vs. Spaces: Who Cares

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

Weekly Digest - June 22, 2026

June 22, 2026

Weekly Digest - June 22, 2026

Summer is finally here! I wrote a LinkedIn post about ORMs and got some pushback. The most common objection was that if you skip Eloquent and you're opening yourself up to SQL injection. That's...

Read

Stop Passing File Paths as Strings: A Quick Introduction to SplFileInfo

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

Weekly Digest - June 15, 2026

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

Stop Reinventing Data Structures: PHP's SPL Already Has What You Need

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