Here are some of my recent, popular, and favorite articles I have written.

Of course you're welcome to browse the archives for all my articles.


Flying around the world with Laravel and the Stock Market

The complete story of flying around the world, first-class - all paid for by Laravel and the Stock Market.

14 minute read →


Why another side-project

Asking myself why I decided to work on yet another side-project.

5 minute read →


Launching another side-project

Coming to my decision to launch another side-project and key takeaways for working on side-projects.

7 minute read →


A lookbehind at 2023 and lookahead for 2024

A look back at my goals from 2023 and an outline of my goals for 2024.

3 minute read →


4 personal finance tips for Indie Hackers

A review of the personal finance decisions which increased my calm as an Indie Hacker running a successful SaaS.

6 minute read →


Spawning workers based on queue workload

The backstory for building a feature to spawn additional worker servers based on the job queue workload.

5 minute read →


A lookbehind at 2021 and lookahead for 2022

A look back at my goals from 2021 and an outline of my goals for 2022.

4 minute read →


Grinding to $1,000,000 in revenue over 6 years

A review of growing my SaaS product to $1,000,000 in revenue over 6 years, both from a business and personal perspective.

35 minute read →


Building a PHPUnit to Pest Converter in a week

The motivation and execution around building a PHPUnit to Pest Convert in one week.

5 minute read →


A lookbehind at 2020 and lookahead for 2021

A look back at my goals from 2020 and an outline of my goals for 2021.

6 minute read →


Configuration precedence when testing Laravel

A deep dive into the precedence of the various configurations when testing Laravel applications.

6 minute read →


Custom command to interact with Docker containers

Interact with Docker containers by name using one simple, custom command.

2 minute read →


Installing Apache, MySQL, and PHP on macOS using Docker

A tutorial for installing Apache, MySQL, and PHP on macOS for local development using Docker.

14 minute read →


Avoiding inheritance in Laravel

Developers often choose to use inheritance. However, in Laravel, this may prove to be a painful decision.

4 minute read →


Shift Database Outage

Last week Shift had a database outage with a data loss of over 600 orders.

4 minute read →


Testing middleware behavior with controller assertions

Test your controller actions use the expected middleware with a simple assertion.

2 minute read →


Streamlining Laravel

A proposal of the top changes I'd like to see which streamline Laravel and a the developer experience.

7 minute read →


Installing Apache, PHP, and MySQL on macOS Catalina

This is an update of a previous post to install Apache, PHP, and MySQL on Mac OS for macOS Catalina.

3 minute read →


Crafting maintainable Laravel applications

10 tips for crafting maintainable Laravel applications which leverage features of the Laravel framework while remaining easy to upgrade.

10 minute read →


Maintaining Laravel config files

A review of a recent change to Laravel Shift as it relates to a recommendation for crafting maintainable Laravel applications.

5 minute read →


TDD, Outside-In, and YAGNI

An outline of developing a feature practicing TDD, Outside-In, and YAGNI to demonstrate the intricacies of these practices working together.

5 minute read →


Why your team should not be upgrading old Laravel applications

Why upgrading your old Laravel applications is a waste of your resources with a pitch for Shift do it instead.

3 minute read →


Start testing your Laravel applications

An in-depth guide to using HTTP Tests to get started writing tests for your Laravel application.

19 minute read →


10 practices for readable code

A set of 10 practices for writing code with a focus on improving readability and reducing complexity.

5 minute read →


Untangling Nested Code

How to identify the different forms of nested code and refactor them to more readable code.

6 minute read →


You changed the code, you didn't refactor the code.

A closer look at the important difference between changing code and refactoring code.

2 minute read →


Compensation tips

Advice on compensation, seeking raises, and determining when to change jobs shared from my own experiences.

4 minute read →


Practicing YAGNI

A summary of my talk at Laracon US 2016 on "Practicing YAGNI".

4 minute read →


100 days practicing TDD

A retro after practicing test driven development for 100 days.

2 minute read →


Are you a Boy Scout?

A look at how the simple practice of "boyscouting" can improve your code.

1 minute read →


Configuring Apache Virtual Hosts on Mac OS X

Tutorial for configuring Apache Virtual Hosts on Mac OS X.

5 minute read →


The Reading List

A list of books culled over the years on the journey to improve my craft as a software engineer.

1 minute read →


Common debugging for PHP and MySQL

This post provides a basic checklist for common database debugging when developing with examples in PHP and MySQL.

2 minute read →


Why I leave a job

A reflection on the core criteria of a good job after deciding to leave The New York Times.

2 minute read →