Speeding Up PHP in Docker w/ XDebug

I've been using Docker for my local environments at Vanilla since 2017. It was a good way to ensure consistent & reproducible developer environments and was a marked improvement over what we were running before. We setup a single repository with our shared environment (vanilla-docker) and it spread across the company like wildfire.

The consistency was great, especially as we onboarded various junior developers over the years. Unfortunately in 2018, Apple released MacOS High Sierra, sporting a new filesystem, APFS.

View Post →

PHP for Javascript Developers - Runtime

This is part 2 of a multi-part series of posts. You can read the first part, PHP for Javascript Developers - Syntax, here.

This post covers some of the runtime differences between PHP and javascript and equivalent parts of each languages standard library.

It's worth noting that PHP has an extensive standard library, far larger than common in javascript. For example, PHP has classes for many common data structures, extensive utilities for data manipulation, official extensions for database connections, file-handling, network requests, and more.

View Post →

PHP for Javascript Developers - Syntax

This is part 1 of a multi-part series of posts. You can read the second part, PHP for Javascript Developers - Runtime, here.


A few years ago I started as frontend developer at Vanilla Forums knowing only frontend technologies like Javascript, Typescript, CSS, and HTML.

I've grown a lot as a developer since then, and a large part of that was becoming familiar with backend technologies like PHP & MySQL. Recently a colleague asked for a resource to be quickly get familiar with PHP. I searched around and didn't find the existing resources sufficient, so I've decided to start writing a series of posts on quickly picking up PHP from the perspective of a frontend developer.

View Post →