Since September 2012, I have given 103 public talks and workshops at various conferences and meetups, in-person and remotely, on topics including PHP, Drupal, automated testing, Git, CSS, and systems administration.
How to write automated tests for Drupal, and how to create a new Drupal module using test driven development.
How to use Sculpin to generate static HTML websites.
An introduction to the utility-first approach to writing CSS with a focus on the Tailwind CSS framework.
In this lightning talk, I discuss the "Build Configs" tool I've built to create configuration files.
Why I mentor, why I've organised meetups and conferences, why I give talks, and why I maintain and contribute to open-source software.
A crash course in automated testing with Drupal and test-driven development (lightning talk).
A look at how I configure my development environments and the tools I use with PHP, such as Nix, Home Manager, Docker, Neovim and tmux.
An introduction to PHP, presented to the Swansea Software Development Community (SSDC) meetup and PHPSW.
What is mob programming, how does it work, and why should we do it?
How to use Ansible and Ansistrano to perform robust, secure deployments of your PHP applications.
How to update your site to Drupal 9, and why it's much different to any major Drupal version upgrade before!
A workshop about Tailwind CSS and utility-first styles.
Workspace is an open-source local development tool from Inviqa. This talk covers what it is, what it does, and how to use it in your PHP project.
A short talk on using reStructuredText and rst2pdf to build presentation slides, built with rst2pdf.
A workshop that I gave about automated testing and test driven development in Drupal 8.
Decoupling Drupal with Vue.js.
An update on Drupal’s "out of the box" initiative, and core’s new Umami installation profile.
A crash course in developing PHP packages and Drupal 8 modules, based on the Drupal.org API.
How to include and use Laravel’s Illuminate Collections in your non-Laravel PHP projects.
A short notice talk on configuration management in Drupal 8, and things I’ve learned working on my current Drupal 8 project.
How to use Composer to manage your Drupal applications.
How to use Fabric, a Python command line based library, to deploy your Drupal applications.
How to use Fabric, a Python command line based library, to deploy your PHP applications.
An overview of Drupal’s Migrate functionality, and a look at how to write your own migrations.
A lightning talk on how and why to get involved with open source.
A lightning talk on how to use Composer to manage your Drupal projects.
How to develop command line applications using Symfony Console, using the Drupal VM CLI as an example.
A talk highlighting some of the recent technical and non-technical changes in Drupal 8.
Announcing the Drupal VM Generator CLI tool.
How to build your first module for Drupal 8.
A talk on Drupal, presented alongside others representing Umbraco, Sitecore and Episerver.
With Drupal 8 just around the corner, see how you can develop your Twig skills with Sculpin - a static site generator based on Symfony components and Twig.
A lightning talk presented to the PHPSW user group, highlighting some of the relevant changes in Drupal 8.
A retrospective of the Drupal Association’s work in 2014 and a look forward to what we’ll be working on in 2015.
An impromptu talk about what the Drupal Association is, and what work I’ve been doing since I joined the Association staff.
How to Drush Make to build your Drupal websites.
An introduction to and demonstration of the Git Flow branching model.
A review and demonstration of some of the recent single sign-on work that I did using Drupal’s LDAP module.
My first talk, where I talk about Drupal, what it is and what it can do.