A Collection of My Talks

Last updated February 2019. Here’s a list of the various talks (mostly WordPress) that I’ve given in the past, along with the video recordings and slides when they’re available. Zen Mode: Developing While You’re Offline Those of us who work in the web industry find that we’re online a huge amount of the time. Going… Continue reading A Collection of My Talks

Misleading Code Coverage Reports for Switch Statements

I was recently investigating the code coverage of the map_meta_cap() function in WordPress’ core unit test suite — particularly the large switch statement contained within the function. I was surprised to see that the coverage was higher than I was expecting, because I know for a fact that several meta capabilities aren’t tested. It turns out… Continue reading Misleading Code Coverage Reports for Switch Statements

Open source in a nutshell

For us, there’s so much more value to be gained from building on each other’s work and knowledge than trying to hold on to a short-term technological advantage. ustwo: An Open Source Example of a React-Powered WordPress Site

Git changelog generator

When I’m preparing a new release of one of my plugins, its Git commit history is a great starting point to use when writing the changelog. Rather than dealing with a bunch of parameters in git log, I use a simple Git alias which generates a plain list of the commit messages between the previous tag and the current HEAD.… Continue reading Git changelog generator

ASCII WordPress Template Hierarchy

Last updated May 2020 for WordPress 5.4. Did you know that the index.php file in a WordPress theme can be empty? There’s no need for it to contain anything at all, as long as you have the following template files in place:

WordPress Developer Plugins

Here’s a list of the developer-oriented plugins for WordPress that I use on a regular basis. (Alternative title: 10 WordPress Plugins You Can’t Live Without. You’ll Never Believe What Number 4 Does!)

My Sublime Text 3 Packages

Update August 2018: I use Code now. Blog posts like these (the latest of which is Dominik Schilling’s) have helped me find packages in the past, so I thought it was time I published my own. I use Sublime Text 3 for the same reason as Dominik. It’s exceptionally fast. One day I will inevitably switch… Continue reading My Sublime Text 3 Packages

SublimeCodeIntel in Sublime Text 3

Update: Forget about SublimeCodeIntel and use the new CodeComplice package instead. There is now a Sublime Text 3 compatible version of SublimeCodeIntel, thanks to the hard work of Germán M. Bravo (aka Kronuz). I had a job getting it to correctly index my project files though. I’m posting here what I did, in the hopes it’ll help… Continue reading SublimeCodeIntel in Sublime Text 3

A History of WordPress Contributors

I thought I’d run some stats on WordPress contributors over the years. The only contributor stats I have are the ones published in each release announcement on wordpress.org, so I’ve put these stats together myself from those lists. Unfortunately the release announcements have only listed the contributors since version 2.9 (June 2009). If anyone wants… Continue reading A History of WordPress Contributors