All Posts

Why I Switched My Podcast to Transistor

Podcast hosting is one of those things that feels very difficult to change. I worked hard to build an audience and I didn’t want a behind-the-scenes technical change to break any subscriptions and alienate listeners. As a result, I kept putting off the move to Transistor. Well, I finally took the plunge, and I’m happy to report it was much easier than I anticipated. Before we get into the details, I want to step back and explain my motivation to move in the first place.

Validating File Upload Arrays in Laravel

Let’s say you have an HTML form with 3 file inputs named certificate[], and you want to make them all required. Should be pretty easy, right?

Digging Deeper Into Laravel Password Validation

Recently, a powerful new validation rule was added to Laravel to enforce password strength and security. There have been several great articles on how to use it, but this article will dive deeper and shed some light on how it works internally.

Will My Laravel App Break on March 23?

Maybe you’ve received a notice from Amazon that certificates are changing on your S3 bucket on March 23, 2021. Several people have asked me: Will my Laravel app break on March 23?

Routing Resolution Can Change When Caching Routes

Recently I ran into a change in behavior in my app depending on whether routes were cached or not. Here’s what I found, and how I dealt with it.

Build Better Forms With Autocomplete

Ever get annoyed when your password manager doesn’t know how to fill out a form on a website? Or maybe it tries to fill in something you don’t want it to? If you build sites, here are some tips to save your users from similar annoyances.

Backticks in Git Commit Messages

Recently I wanted to have backticks in my git commit message. It didn’t work as expected though.

Better Diff Highlighting in Git

I prefer to use Git from the command line, but sometimes a GUI tool does a better job with specific tasks. One of those is diff highlighting, but today I found a way to make diffing with the Git CLI a lot nicer. Let’s look at an example.

How Apps Break Without Any Code Changes

Many times you can trace a bug back to a particular code change that was made. Or maybe it was caused by a package upgrade. But have you ever had something break when no code changed at all? How does that happen?

AWS Error Retrieving Credentials

Recently I upgraded phpdotenv on an older project and my AWS connection stopped working. Why did one package upgrade break the other? And how did I fix it? Read on for details.