Defragment your PHPUnit tests

Let's mash up two concepts: automated tests and disk defragmentation. MS-DOS 6.x included a defrag utility that honestly was just so satisfying to watch. The 90s were a different time, folks. Disk...

Read

A manifesto on shower temperature control

I had a very shower-y shower thought: why does turning my shower handle a tiny bit make such a huge difference in the comfort of the shower? Why are we wasting so much potential control area on water...

Read

The magic of pair programming

I've been pair programming for a long while let me tell you, my pairing sessions are the highlight of my work week. I pair several times a week, typically for 90-120 minutes at a time, and I find the...

Read

Migrating from Homebrew MySQL/Meilisearch/Redis to Laravel Herd Pro Services

Laravel Herd is a fantastic application from the Germans wizards at Beyondco.de that makes it so easy to run PHP applications on your Mac or Windows machine. They offer a paid Pro version that...

Read

Fluently removing global scopes with Laravel's new ScopedBy Attribute

Laravel v10.44 just shipped with a new approach to global scopes: #[ScopedBy]. Using my codebase as an example: Products have a global scope that hides them if their Company is not...

Read

Mapping a Hyper key on MacOS with Karabiner Elements (the easy way)

I was just helping someone set up a hyper key and was surprised at how confusing most of the guides were. So here's my very simple version! A hyper key is mapping a single key to...

Read

This blog is an experiment: less about education and more about documenting the oddities I've experienced while building web apps.

My hope is that you're here because of a random search and you're experiencing something I've had to deal with.

Popular Posts

Recent Posts

View all