This is where I publish my personal blog posts as well as technical posts and tutorials on topics such as Drupal, PHP, Tailwind CSS, automated testing, and systems administration.

Weeknotes: June 12th

Developing on Windows, organising dotfiles, and helping organise DrupalCon.

Ignoring PHPCS sniffs for PHPUnit tests

How to exclude certain PHPCS sniffs within your PHPUnit tests, so that you can write your tests methods how you'd like without getting coding standards errors.

Published my first NPM package

Yesterday I published my first module onto NPM, and it’s a plugin for Tailwind CSS to be used alongside Vue.js.

Announcing the Drupal VM Generator

For the past few weeks, I’ve been working on a personal side project based on Drupal VM - the Drupal VM Generator.

Sculpin and Twig Resources

A list of resources that I compiled whilst preparing for my Sculpin and Twig talk at DrupalCamp North.


A look back at 2014.


Thanks everyone or their comments about my move to the Drupal Association.

Some Useful Git Aliases

Here are some bash aliases that I use and find helpful for quickly writing Git and Git Flow commands.

Useful Vagrant Commands

Here are the basic commands that you need to adminster a virtual machine using <a href="" title="The Vagrant Home page">Vagrant</a>.

Going to DrupalCon

Precedent are sending myself and two of our other Drupal Developers to Drupalcon Prague.

Display Git Branch or Tag Names in your Bash Prompt

Whilst watching's recent Introduction to Git series, I thought it was useful the way that the current Git branch or tag name was displayed in the bash prompt. Here's how to do it.

My Sublime Text 2 settings

<a href="" title="Sublime Text 2">Sublime Text 2</a> has been my text editor of choice for the past few months, and I use it at home, in work, and on any virtual machines that I run. So rather than having to manually re-enter my settings each time, I thought that I'd document them here for future reference.

Writing an Article for Linux Journal

I'm absolutely delighted to announce that I'm going to be writing an article for Linux Journal magazine's upcoming Drupal special.

My new Drupal modules

After a busy few days, I've released two new contrib Drupal modules.

Dividing Drupal's process and preprocess functions into separate files

If you use a lot of process and preprocess functions within your Drupal theme, then your template.php can get very long and it can become difficult to find a certain piece of code. Following the example of the Omega theme, I've started separating my process and preprocess functions into their own files.

Adding Custom Theme Templates in Drupal 7

Today, I had a situation where I was displaying a list of teasers for news article nodes. The article content type had several different fields assigned to it, including main and thumbnail images. In this case, I wanted to have different output and fields displayed when a teaser was displayed compared to when a complete node was displayed.

Site Upgraded to Drupal 7

As the vast majority of the Drupal websites that I currently work on are built on Drupal 7, I thought that it was time that I upgraded this site.