Skip to content

Blog

756 entries on php, laravel, business, management - and even iot. Looking for something a bit meatier? You might be the sort of person who likes my books.

Fixing the First Tap Audio Play

I thought it would be funny to joke about a nickname I have had before “Angry Aaron” - so I made a website. It was AngryAaron.com. Basically, you tapped the angry emoji and it was my voice saying ‘no’ or ‘grrr’ increasingly louder and more angry, repeatedly.

That’s it.

But, on my phone, the first tap never started the yelling. It was always the second one (even though the web seemed to work fine). I hated this because it felt like the site was broken.

Now, there probably are better ways to fix this - but I went with a unique way that solves the problem and gives me a UX bonus.

Oct 13, 2026 2 min read #archived-projects #javascript #mobile

New Typesetter Release and How AI Helped and Hurt

I just released an updated, brand new 1.0 release of my Typesetter library. It’s a library with some helpful wrappers for creating PDFs from markdown. It comes with a CLI and is a Laravel app.

I started to question the work, though. Was this still my hobby? A useful project? Did I understand what I was ‘writing’ anymore? Did I need to do this?

Oct 12, 2026 5 min read #ai #programming

Trimming Filament Strings Globally

When I first started using Laravel, I really didn’t like the global middleware that trimmed strings. But after a while, it became an irreplaceable part of my tool belt, and I am a convert.

I became so used to this that the first time a user used my Filament input and I saw a space after some text, I was really confused. Why did this happen?

Let me tell you how to fix this on the form itself, how to do it globally, and what that might cause a problem with.

Oct 2, 2026 3 min read #filament #laravel

When to use Blade's loop variable, and when not to

Laravel is always giving us little helpers. One of which is Blade’s @foreach that gives you a $loop variable. Inside the loop you get things like $loop->index and $loop->iteration, plus the two I want to talk about today: $loop->first and $loop->last.

first and last are boolean values that tell you if this is the first iteration or the last iteration of the loop. Pretty self-explanatory.

But far too many times I see people abusing these for style - when they should be for flow control.

Oct 1, 2026 2 min read #css #laravel

End to End Testing is Now Even More Important

I’ve been a huge fan of automated software testing for years. I tend to reach for unit tests over end-to-end (e2e) tests. This is probably because of two reasons: a focus on back-end work (primarily) and e2e testing was slow compared to my targeted unit tests.

With automated AI tooling now, though, I think the tide is changing. I still value my unit tests, but e2e is becoming my champion.

I’ll explain how and why my mind changed:

Sep 27, 2026 4 min read #ai #testing