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.
Why another side-project
Asking myself why I decided to work on yet another side-project.
Launching another side-project
Coming to my decision to launch another side-project and key takeaways for working on side-projects.
A lookbehind at 2023 and lookahead for 2024
A look back at my goals from 2023 and an outline of my goals for 2024.
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.
Spawning workers based on queue workload
The backstory for building a feature to spawn additional worker servers based on the job queue workload.
A lookbehind at 2021 and lookahead for 2022
A look back at my goals from 2021 and an outline of my goals for 2022.
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.
Building a PHPUnit to Pest Converter in a week
The motivation and execution around building a PHPUnit to Pest Convert in one week.
A lookbehind at 2020 and lookahead for 2021
A look back at my goals from 2020 and an outline of my goals for 2021.
Configuration precedence when testing Laravel
A deep dive into the precedence of the various configurations when testing Laravel applications.
Custom command to interact with Docker containers
Interact with Docker containers by name using one simple, custom command.
Installing Apache, MySQL, and PHP on macOS using Docker
A tutorial for installing Apache, MySQL, and PHP on macOS for local development using Docker.
Avoiding inheritance in Laravel
Developers often choose to use inheritance. However, in Laravel, this may prove to be a painful decision.
Shift Database Outage
Last week Shift had a database outage with a data loss of over 600 orders.
Testing middleware behavior with controller assertions
Test your controller actions use the expected middleware with a simple assertion.
Streamlining Laravel
A proposal of the top changes I'd like to see which streamline Laravel and a the developer experience.
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.
Crafting maintainable Laravel applications
10 tips for crafting maintainable Laravel applications which leverage features of the Laravel framework while remaining easy to upgrade.
Maintaining Laravel config files
A review of a recent change to Laravel Shift as it relates to a recommendation for crafting maintainable Laravel applications.
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.
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.
Start testing your Laravel applications
An in-depth guide to using HTTP Tests to get started writing tests for your Laravel application.
10 practices for readable code
A set of 10 practices for writing code with a focus on improving readability and reducing complexity.
Untangling Nested Code
How to identify the different forms of nested code and refactor them to more readable code.
You changed the code, you didn't refactor the code.
A closer look at the important difference between changing code and refactoring code.
Compensation tips
Advice on compensation, seeking raises, and determining when to change jobs shared from my own experiences.
100 days practicing TDD
A retro after practicing test driven development for 100 days.
Are you a Boy Scout?
A look at how the simple practice of "boyscouting" can improve your code.
Configuring Apache Virtual Hosts on Mac OS X
Tutorial for configuring Apache Virtual Hosts on Mac OS X.
The Reading List
A list of books culled over the years on the journey to improve my craft as a software engineer.
Common debugging for PHP and MySQL
This post provides a basic checklist for common database debugging when developing with examples in PHP and MySQL.
Why I leave a job
A reflection on the core criteria of a good job after deciding to leave The New York Times.