tech industry 27 January 2026 Interview Code Challenges Are Testing the Wrong Thing Most coding challenges test what we remember, not how we think.
personal branding 19 January 2026 What Job Searches and SaaS Marketing Have in Common I see a lot of posts on X lately saying some version of: “The hardest part of building a SaaS isn’t the product, it’
PHP 1 December 2025 Converting oklch to hex colors oklch is a great addition to css, providing much better control over color modifications, support for wider gamut, etc - reasons I'm not going to
Laravel 29 November 2025 Real-time with Mercure and FrankenPHP FrankenPHP ships with Mercure support out of the box. But configuration details are wanting... Let's clear things up a bit!
Javascript 22 May 2025 Making Pagefind Rerun Search on Browser Back Button One thing that's bothered me about search on my JAMStack sites is the default behavior when moving through browser history.
Programming 4 April 2025 PHP Fat Arrow Function Quirks What is the actual point of fat arrow functions in PHP?
Programming 10 March 2025 Improving Poor Array Validation Performance in Laravel Since we don't live in an ideal world, sometimes need to validate unreasonably large http requests.
Hosting 18 February 2024 Moving from Netlify to Cloudflare Pages I've happily been using Netlify for several years, and was surprised to learn randomly, around 2020/2021 or so, that cloudflare quietly put out a
Programming 11 July 2023 Querying & Paginating S3 Data There's no denying that Amazon AWS's S3 product is pretty fantastic and very flexible. It's especially interesting when you leverage S3 Select to query your
Programming 3 August 2022 Implementing Dynamic Multiselect with Laravel Livewire and Alpine using ChoicesJS I recently had a need to populate the available options for a multiselect component with values from a remote API. ChoicesJS supports this, though it's
Javascript 26 July 2022 Redirects with 11ty and Netlify Static site builders are pretty great, but how do you go about setting up redirects when you inevitably move or replace a page? Thankfully, Netlify
Laravel 6 June 2022 Laravel Mix won't watch my changes. Laravel Mix's watch and watch-poll commands have stopped working on one of my computers, for unknown reasons. Here's how I worked around the problem.
Miscellaneous 22 May 2020 Mailcow behind Traefik 2.x I found it challenging to find up to date, clear instruction on setting this up, so this post collects the relevant info in one place.
Programming 6 November 2019 Leveraging bulk inserts instead of CreateMany() in AdonisJS Adonis' ORM is great, but it's very easy to ignore performance and ship something suboptimal without thinking about it. Here's how to avoid that.