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...


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...


Backing up to Amazon S3 with Restic

This is the easiest backup solution I've found! I'm backing up production servers to specific S3 buckets using Restic. Log in to your S3 console and create a new bucket. You'll want to give it a...


The long and winding Kilopixel road

A few years ago I had an idea to build a large, inefficient display with a web interface that anyone could interact with. I've noticed Danny Rozin's unconvenional mirrors over the years and then saw...


Building an heirloom custom cribbage board

My nephew was graduating from high school and my sister in law asked me if I could recreate a sentimental cribbage board for him. She couldn't find anything quite like it, so a custom build was...


Set up lsyncd to synchronize files between two or more servers

lsyncd runs a daemon to watch your filesystem for changes, and when a change occurs, copy files to another location. This can be a different location on the same server or an entirely different...


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