Speaking at WordCamp Antwerp 2020

UPDATE: WordCamp Antwerp 2020 has been postponed due to the COVID-19 outbreak. I’ll be speaking at WordCamp Antwerp 2020! After being out of the speaking at conferences game for quite a while, I’m glad the organisation has deemed my “Becoming a better developer, by stepping out of your comfort zone” talk proposal fitting for the […]

Reducing the carbon footprint of millions of websites, 20 kB of JavaScript at a time

If you are in the fortunate position, where your code is running on millions of websites, in my humble opinion it would be really silly to not follow what Danny has been doing here to reduce the carbon footprint of each website your code runs on: Just last week I reduced global emissions by an […]

Why I felt there was a need for Mozart

Now that Mozart is gaining more momentum and Composer is more commonly being used by WordPress plugin developers, I get asked this question more often. With popular tools like PHP-Scoper also being used in the WordPress ecosystem, I figured it was time to explain why I felt there was a need for another tool that […]

Mozart now rewrites a full dependency tree to your own namespace

It’s been a while since I’ve written about what I personally find the single most annoying thing in WordPress, the issues around dependency management. When I started thinking about the project that eventually turned into the Mozart package, I knew that it eventually had to support processing of a full dependency tree. Today is the […]

Use a global .gitignore file to ignore commonly ignored files

Accidentally committing sensitive information to a GitHub repository can have costly effects. This tweet of someone committing their AWS private keys in an .env file by accident, surfaced only a couple days ago. I’m sure something like this has happened to so many people already. It’s easy to commit a file that you do wish […]

Decouple from WordPress databases by using repositories

A quick and easy way to decouple your code from WordPress logic, is by using repositories. Repositories are standardized ways to get and put data in a data store, usually databases. WordPress introduces a couple functions to interact with various database tables (get_post_meta(), get_option(), etc.) that are commonly used inside plugin and theme files, that […]

Class constructors should only setup the object

It’s common practice in the larger PHP world, but something the WordPress ecosystem has yet to catch up on. All too often, I see WordPress plugins and themes setup actions, filters and use other WordPress specific functions in class constructors. This leads to a class that is directly coupled to WordPress logic.