Blog
- Creating infrastructure with Ansible - 3rd September 2022
- Automating all the things with Ansible - 2nd September 2022
- Conventional commits and CHANGELOGs - 1st September 2022
- To monorepo, or not to monorepo? - 31st August 2022
- Why I don't only use Drupal - 30th August 2022
- Why I like Drupal - 29th August 2022
- How I started programming - 28th August 2022
- Giving back - 27th August 2022
- Always be learning - 26th August 2022
- Why I work in Neovim - 25th August 2022
- How I've configured Git - 24th August 2022
- Git: GUI or command-line? - 23rd August 2022
- Being a T-shaped Developer - 22nd August 2022
- Why I use Docker and Docker Compose for my projects - 21st August 2022
- A return to offline meetups and conferences - 20th August 2022
- Pair programming or code reviews? - 19th August 2022
- 'Talking Drupal' and Tailwind CSS - 18th August 2022
- One more "run" command, for Git worktrees - 17th August 2022
- What are Git hooks and why are they useful? - 16th August 2022
- Using a "run" file to simplify project tasks - 15th August 2022
- Why I write automated tests - 14th August 2022
- I wrote a Neovim plugin - 13th August 2022
- Git Worktrees and Docker Compose - 12th August 2022
- Exporting Drupal body classes to use with Tailwind CSS - 2nd July 2022
- Using Feature Flags with Sculpin - 9th January 2022
- My first six months at Transport for Wales - 3rd December 2021
- Introducing a Drupal distribution for meetup websites - 7th October 2021
- Continuous Integration vs Continuous Integration - 7th October 2021
- Weeknotes: July 24th - 24th July 2021
- Going "Full Vim" for my development work - 8th July 2021