Blog
- Overcoming deployment anxiety - 12th October 2022
- Not long until Drupal 10 - 11th October 2022
- Contributing to open-source software, one small change at a time - 10th October 2022
- Coding defensively, and Implicit vs explicit coding - 9th October 2022
- First impressions of Astro - 8th October 2022
- Refactoring to value objects - 3rd October 2022
- Minimum viable CI pipelines - 2nd October 2022
- Why do code katas? - 1st October 2022
- Store Wars: different state management in Vue.js - 30th September 2022
- Mob programming at PHP South Wales - 28th September 2022
- Mentoring with Drupal Career Online - 27th September 2022
- Experimenting with the Nix package manager - 26th September 2022
- Using a component library for front-end development - 25th September 2022
- ADRs and Technical Design Documents - 23rd September 2022
- Releasing a Drupal module template - 22nd September 2022
- Being a Drupal contribution mentor - 21st September 2022
- Why I like trunk-based development - 20th September 2022
- Useful Git configuration - 19th September 2022
- Thoughts on automated code formatting - 17th September 2022
- Why I mostly write functional and integration tests - 16th September 2022
- The simplest Drupal test - 14th September 2022
- A month of daily emails - 12th September 2022
- Custom styles in Tailwind CSS: `@apply`, `theme` or custom plugins - 11th September 2022
- Automating Ansible deployments in CI - 10th September 2022
- Refactoring a Tailwind CSS component - 9th September 2022
- Keeping secrets with Ansible Vault - 8th September 2022
- My Tailwind CSS origin story - 7th September 2022
- Deploying applications with Ansible - 6th September 2022
- Using Ansible for local environment configuration - 5th September 2022
- Using Ansible for server configuration - 4th September 2022