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

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

Processing Shopify Webhooks with Laravel Queues

I run a large marketplace application that has a Shopify sales channel application. Our users can connect this Shopify application to synchronize product data from their Shopify shops into our...

Read

Heating a wood shop with a passive solar heater

I'm located in Wisconsin, where we typically have harsh winters - in January our average daily low is 15 °F (-15 °C) and our average daily high is 23 °F (-5 °C). I have a single car garage wood...

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