Change to two spaces

This commit is contained in:
Oliver Davies 2024-09-08 23:09:54 +01:00
parent 2537fe2052
commit ed60ab964c
556 changed files with 2252 additions and 2252 deletions

View file

@ -3,11 +3,11 @@ title: {{ title }}
date: {{ date }} date: {{ date }}
permalink: {{ permalink }} permalink: {{ permalink }}
tags: tags:
- software-development - software-development
# - drupal # - drupal
# - php # - php
# - podcast # - podcast
cta: ~ cta: ~
snippet: | snippet: |
TODO TODO
--- ---

View file

@ -3,8 +3,8 @@ permalink: daily/2022/08/13/i-wrote-a-neovim-plugin
pubDate: 2022-08-13 pubDate: 2022-08-13
title: I wrote a Neovim plugin title: I wrote a Neovim plugin
tags: tags:
- neovim - neovim
- open-source - open-source
--- ---
I enjoy writing and working with open-source software, starting back to when I started working with PHP and Drupal in 2007. I enjoy writing and working with open-source software, starting back to when I started working with PHP and Drupal in 2007.

View file

@ -3,9 +3,9 @@ permalink: daily/2022/08/18/talking-drupal-tailwind-css
pubDate: 2022-08-18 pubDate: 2022-08-18
title: "'Talking Drupal' and Tailwind CSS" title: "'Talking Drupal' and Tailwind CSS"
tags: tags:
- css - css
- tailwind-css - tailwind-css
- twig - twig
--- ---
In March, I was a guest again on the Talking Drupal podcast. This time I was talking about utility CSS and, in particular, the Tailwind CSS framework. In March, I was a guest again on the Talking Drupal podcast. This time I was talking about utility CSS and, in particular, the Tailwind CSS framework.

View file

@ -3,7 +3,7 @@ permalink: daily/2022/08/21/2022-08-21
pubDate: 2022-08-21 pubDate: 2022-08-21
title: "Why I use Docker and Docker Compose for my projects" title: "Why I use Docker and Docker Compose for my projects"
tags: tags:
- docker - docker
--- ---
For the last few years, I've used Docker and Docker Compose exclusively on all of my projects. When I start a new project or onboard a new client, usually one of the first things that I need to do is get an application running in Docker so that I can work on it. For the last few years, I've used Docker and Docker Compose exclusively on all of my projects. When I start a new project or onboard a new client, usually one of the first things that I need to do is get an application running in Docker so that I can work on it.

View file

@ -3,7 +3,7 @@ pubDate: 2022-08-23
title: "Git: GUI or command-line?" title: "Git: GUI or command-line?"
permalink: "archive/2022/08/23/git-gui-command-line" permalink: "archive/2022/08/23/git-gui-command-line"
tags: tags:
- "git" - "git"
--- ---
Ive been using Git for a long time. My first full-time Developer role in 2010 was working on an in-house team and that project used Git as its version control system. Ive been using Git for a long time. My first full-time Developer role in 2010 was working on an in-house team and that project used Git as its version control system.

View file

@ -3,7 +3,7 @@ permalink: daily/2022/08/24/2022-08-24
pubDate: 2022-08-24 pubDate: 2022-08-24
title: "How I've configured Git" title: "How I've configured Git"
tags: tags:
- "git" - "git"
--- ---
After yesterday's post on why I prefer using Git on the command line rather than using a GUI tool, today I thought that I'd post about how I've configured Git. After yesterday's post on why I prefer using Git on the command line rather than using a GUI tool, today I thought that I'd post about how I've configured Git.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Cherry picking commits is an anti-pattern Cherry picking commits is an anti-pattern
pubDate: 2022-10-20 pubDate: 2022-10-20
permalink: >- permalink: >-
archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern
tags: tags:
- git - git
--- ---
`git cherry-pick` is a command that allows you to re-apply changes from existing commits - typically moving commits from one branch to another. Whilst it's good for some use-cases, I believe that it's generally an anti-pattern. `git cherry-pick` is a command that allows you to re-apply changes from existing commits - typically moving commits from one branch to another. Whilst it's good for some use-cases, I believe that it's generally an anti-pattern.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Automated testing and test-driven development are not the same Automated testing and test-driven development are not the same
pubDate: 2022-10-21 pubDate: 2022-10-21
permalink: >- permalink: >-
archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same
tags: tags:
- testing - testing
--- ---
Automated testing is where you write tests to ensure that your code works as expected, which can be re-run as needed and executed automatically without user input. Automated testing is where you write tests to ensure that your code works as expected, which can be re-run as needed and executed automatically without user input.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Looking at LocalGov Drupal Looking at LocalGov Drupal
pubDate: 2022-10-24 pubDate: 2022-10-24
permalink: >- permalink: >-
archive/2022/10/24/looking-at-localgov-drupal archive/2022/10/24/looking-at-localgov-drupal
tags: tags:
- drupal - drupal
--- ---
Today, I've been looking at [LocalGov](https://localgovdrupal.org) - a Drupal distribution for building council websites, with a focus on code reuse and collaboration. Today, I've been looking at [LocalGov](https://localgovdrupal.org) - a Drupal distribution for building council websites, with a focus on code reuse and collaboration.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
What are Drupal distributions? What are Drupal distributions?
pubDate: 2022-10-25 pubDate: 2022-10-25
permalink: >- permalink: >-
archive/2022/10/25/what-are-drupal-distributions archive/2022/10/25/what-are-drupal-distributions
tags: tags:
- drupal - drupal
--- ---
Yesterday's email was about the LocalGov Drupal distribution that I've been looking at, but I glossed over what a Drupal distribution is. Yesterday's email was about the LocalGov Drupal distribution that I've been looking at, but I glossed over what a Drupal distribution is.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Neovim as a Personalised Development Environment Neovim as a Personalised Development Environment
pubDate: 2022-10-26 pubDate: 2022-10-26
permalink: >- permalink: >-
archive/2022/10/26/neovim-as-a-personalised-development-environment archive/2022/10/26/neovim-as-a-personalised-development-environment
tags: tags:
- neovim - neovim
--- ---
A few months ago, TJ DeVries (a Neovim core team member) coined the phrase "Personalised Development Environment" or PDE. A few months ago, TJ DeVries (a Neovim core team member) coined the phrase "Personalised Development Environment" or PDE.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Getting back into live streaming Getting back into live streaming
pubDate: 2022-10-27 pubDate: 2022-10-27
permalink: >- permalink: >-
archive/2022/10/27/getting-back-into-live-streaming archive/2022/10/27/getting-back-into-live-streaming
--- ---
Surprisingly, it's been two and a half years since I last did a live coding stream. Surprisingly, it's been two and a half years since I last did a live coding stream.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Why write framework agnostic packages? Why write framework agnostic packages?
pubDate: 2022-10-28 pubDate: 2022-10-28
permalink: >- permalink: >-
archive/2022/10/28/why-write-framework-agnostic-packages archive/2022/10/28/why-write-framework-agnostic-packages
tags: tags:
- php - php
--- ---
A couple of years ago, I wrote an integration for a client's Drupal Commerce website with an online eBook service as they wanted to sell eBook variations of their products. A couple of years ago, I wrote an integration for a client's Drupal Commerce website with an online eBook service as they wanted to sell eBook variations of their products.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
The open-source-first development workflow The open-source-first development workflow
pubDate: 2022-10-29 pubDate: 2022-10-29
permalink: >- permalink: >-
archive/2022/10/29/the-open-source-first-development-workflow archive/2022/10/29/the-open-source-first-development-workflow
tags: tags:
- open-source - open-source
--- ---
Yesterday's email talked about [writing reusable, framework-agnostic packages]({{site.url}}/archive/2022/10/28/why-write-framework-agnostic-packages) but didn't mention where those packages could be located. Yesterday's email talked about [writing reusable, framework-agnostic packages]({{site.url}}/archive/2022/10/28/why-write-framework-agnostic-packages) but didn't mention where those packages could be located.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Refactoring one large test into multiple smaller tests Refactoring one large test into multiple smaller tests
pubDate: 2022-10-30 pubDate: 2022-10-30
permalink: >- permalink: >-
archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests
tags: tags:
- php - php
- phpunit - phpunit
--- ---
Today I spent some time refactoring a large test within a client project, splitting it into several smaller tests. The commit removed 169 lines but added 233 lines. Today I spent some time refactoring a large test within a client project, splitting it into several smaller tests. The commit removed 169 lines but added 233 lines.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Are sprints incompatible with Continuous Deployment? Are sprints incompatible with Continuous Deployment?
pubDate: 2022-11-08 pubDate: 2022-11-08
permalink: >- permalink: >-
archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Your conference talk has been accepted Your conference talk has been accepted
pubDate: 2022-11-09 pubDate: 2022-11-09
permalink: >- permalink: >-
archive/2022/11/09/your-conference-talk-has-been-accepted archive/2022/11/09/your-conference-talk-has-been-accepted
--- ---
Im happy to have had a conference talk proposal accepted for what will be my first in-person conference since DrupalCamp London in February 2020. Im happy to have had a conference talk proposal accepted for what will be my first in-person conference since DrupalCamp London in February 2020.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Creating a small proof-of-concept application in an afternoon Creating a small proof-of-concept application in an afternoon
pubDate: 2022-11-11 pubDate: 2022-11-11
permalink: >- permalink: >-
archive/2022/11/12/creating-small-proof-of-concept-application-afternoon archive/2022/11/12/creating-small-proof-of-concept-application-afternoon
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Building a minimum viable product and managing technical debt Building a minimum viable product and managing technical debt
pubDate: 2022-11-12 pubDate: 2022-11-12
permalink: >- permalink: >-
archive/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt archive/2022/11/12/building-a-minimum-viable-product-and-managing-technical-debt
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
How I manage multiple Drupal websites using the same codebase How I manage multiple Drupal websites using the same codebase
pubDate: 2022-11-13 pubDate: 2022-11-13
permalink: >- permalink: >-
archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase
tags: tags:
- drupal - drupal
--- ---
In my last email, I mentioned that I maintain several Drupal websites for a client using the same codebase, but how do I do that? In my last email, I mentioned that I maintain several Drupal websites for a client using the same codebase, but how do I do that?

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Camel-case or snake-case for test methods? Camel-case or snake-case for test methods?
pubDate: 2022-11-14 pubDate: 2022-11-14
permalink: >- permalink: >-
archive/2022/11/14/camel-case-or-snake-case-for-test-methods archive/2022/11/14/camel-case-or-snake-case-for-test-methods
tags: tags:
- testing - testing
--- ---
When writing object-orientated code, particularly in PHP, you usually write method names using camel-case letters - such as: When writing object-orientated code, particularly in PHP, you usually write method names using camel-case letters - such as:

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Writing good automated test names Writing good automated test names
pubDate: 2022-11-15 pubDate: 2022-11-15
permalink: >- permalink: >-
archive/2022/11/15/writing-good-automated-test-names archive/2022/11/15/writing-good-automated-test-names
tags: tags:
- testing - testing
--- ---
Something that I often see in code examples or tutorials are test methods like `testGet` or `testAdd`, or `testSubtract`. Short method names that don't describe the scenario that they're testing in much detail. Something that I often see in code examples or tutorials are test methods like `testGet` or `testAdd`, or `testSubtract`. Short method names that don't describe the scenario that they're testing in much detail.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Why don't you write automated tests? Why don't you write automated tests?
pubDate: 2022-11-16 pubDate: 2022-11-16
permalink: >- permalink: >-
archive/2022/11/16/why-don't-you-write-automated-tests archive/2022/11/16/why-don't-you-write-automated-tests
tags: tags:
- testing - testing
--- ---
Many projects Ive worked on in the past havent had an automated test suite. Many projects Ive worked on in the past havent had an automated test suite.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Agnostic CI pipelines with run files Agnostic CI pipelines with run files
pubDate: 2022-11-17 pubDate: 2022-11-17
permalink: >- permalink: >-
archive/2022/11/17/agnostic-ci-pipelines-with-run-files archive/2022/11/17/agnostic-ci-pipelines-with-run-files
--- ---
As I work on various projects, I use several different CI tools, such as GitHub Actions, Bitbucket Pipelines, and GitLab CI, as well as hosting providers that have build and deploy steps. As I work on various projects, I use several different CI tools, such as GitHub Actions, Bitbucket Pipelines, and GitLab CI, as well as hosting providers that have build and deploy steps.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
One test a day keeps bugs away One test a day keeps bugs away
pubDate: 2022-11-18 pubDate: 2022-11-18
permalink: >- permalink: >-
archive/2022/11/18/one-test-a-day-keeps-bugs-away archive/2022/11/18/one-test-a-day-keeps-bugs-away
tags: tags:
- testing - testing
--- ---
This is a quote from a presentation by Diego Aguiar at SymfonyCon that I saw from [a tweet from SymfonyCasts](https://twitter.com/SymfonyCasts/status/1593551105471938560?t=A8wnRUa0tLbb2q5qLhcQnA). This is a quote from a presentation by Diego Aguiar at SymfonyCon that I saw from [a tweet from SymfonyCasts](https://twitter.com/SymfonyCasts/status/1593551105471938560?t=A8wnRUa0tLbb2q5qLhcQnA).

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Are missing tests a blocker to refactoring? Are missing tests a blocker to refactoring?
pubDate: 2022-11-19 pubDate: 2022-11-19
permalink: >- permalink: >-
archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring
--- ---
Is having automated tests a prerequisite for refactoring a piece of code? Is having automated tests a prerequisite for refactoring a piece of code?

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Version-controlled commented-out code Version-controlled commented-out code
pubDate: 2022-11-20 pubDate: 2022-11-20
permalink: >- permalink: >-
archive/2022/11/20/version-controlled-commented-out-code archive/2022/11/20/version-controlled-commented-out-code
tags: tags:
- git - git
--- ---
Today, whilst debugging some legacy code within an application, I found several blocks of commented-out code. Today, whilst debugging some legacy code within an application, I found several blocks of commented-out code.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Git tricks to avoid committing commented-out and other unneeded code Git tricks to avoid committing commented-out and other unneeded code
pubDate: 2022-11-21 pubDate: 2022-11-21
permalink: >- permalink: >-
archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code
tags: tags:
- git - git
--- ---
[Yesterday's email]({{site.url}}/archive/2022/11/20/version-controlled-commented-out-code) talked about whether commented-out code should be present if your code is version-controlled, but how do you avoid committing it in the first place? [Yesterday's email]({{site.url}}/archive/2022/11/20/version-controlled-commented-out-code) talked about whether commented-out code should be present if your code is version-controlled, but how do you avoid committing it in the first place?

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
tldr tldr
pubDate: 2022-11-22 pubDate: 2022-11-22
permalink: >- permalink: >-
archive/2022/11/22/tldr archive/2022/11/22/tldr
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Do you need to branch if you're the only one working on a project? Do you need to branch if you're the only one working on a project?
pubDate: 2022-11-23 pubDate: 2022-11-23
permalink: >- permalink: >-
archive/2022/11/23/do-you-need-to-branch archive/2022/11/23/do-you-need-to-branch
tags: tags:
- git - git
--- ---
Yesterday, I [saw a tweet](https://twitter.com/scottkeckwarren/status/1594752744165847040) where the writer said they were “falling into the branch, pull request, and merge after actions pass I use at work even though I'm the only one working on it”. Yesterday, I [saw a tweet](https://twitter.com/scottkeckwarren/status/1594752744165847040) where the writer said they were “falling into the branch, pull request, and merge after actions pass I use at work even though I'm the only one working on it”.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Doing the simplest possible thing Doing the simplest possible thing
pubDate: 2022-11-24 pubDate: 2022-11-24
permalink: >- permalink: >-
archive/2022/11/24/doing-the-simplest-possible-thing archive/2022/11/24/doing-the-simplest-possible-thing
--- ---
I spent most of today working on some code I wrote for the first phase of a client project a few months ago. I spent most of today working on some code I wrote for the first phase of a client project a few months ago.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Plan, then code Plan, then code
pubDate: 2022-11-25 pubDate: 2022-11-25
permalink: >- permalink: >-
archive/2022/11/25/plan-then-code archive/2022/11/25/plan-then-code
--- ---
Recently I [saw this tweet](https://twitter.com/OneJKMolina/status/1303047499238776832) in a screenshot on a LinkedIn post. Recently I [saw this tweet](https://twitter.com/OneJKMolina/status/1303047499238776832) in a screenshot on a LinkedIn post.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Ship, Show or Ask Ship, Show or Ask
pubDate: 2022-11-30 pubDate: 2022-11-30
permalink: >- permalink: >-
archive/2022/11/30/ship-show-or-ask archive/2022/11/30/ship-show-or-ask
tags: tags:
- git - git
--- ---
"Ship / Show / Ask" describes itself as a self-described modern branching strategy that combines the features of pull or merge requests with the ability to keep shipping changes. "Ship / Show / Ask" describes itself as a self-described modern branching strategy that combines the features of pull or merge requests with the ability to keep shipping changes.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Writing readable code Writing readable code
pubDate: 2022-12-01 pubDate: 2022-12-01
permalink: >- permalink: >-
archive/2022/12/01/writing-readable-code archive/2022/12/01/writing-readable-code
--- ---
This week, I needed to investigate and fix a bug within some existing code. This week, I needed to investigate and fix a bug within some existing code.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Commit and push something every day Commit and push something every day
pubDate: 2022-12-02 pubDate: 2022-12-02
permalink: >- permalink: >-
archive/2022/12/02/commit-and-push-something-every-day archive/2022/12/02/commit-and-push-something-every-day
--- ---
One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day. One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
What to do with TODO comments What to do with TODO comments
pubDate: 2022-12-03 pubDate: 2022-12-03
permalink: >- permalink: >-
archive/2022/12/03/what-to-do-with-todo-comments archive/2022/12/03/what-to-do-with-todo-comments
--- ---
[In a previous email]({{site.url}}/archive/2022/11/20/version-controlled-commented-out-code), I wrote about commented-out code and whether it should remain in a codebase - especially if it's version controlled and there's a commit log of all changes. [In a previous email]({{site.url}}/archive/2022/11/20/version-controlled-commented-out-code), I wrote about commented-out code and whether it should remain in a codebase - especially if it's version controlled and there's a commit log of all changes.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Writing "Why first" user stories Writing "Why first" user stories
pubDate: 2022-12-04 pubDate: 2022-12-04
permalink: >- permalink: >-
archive/2022/12/04/writing-why-first-user-stories archive/2022/12/04/writing-why-first-user-stories
--- ---
I've usually written user stories that follow this format: I've usually written user stories that follow this format:

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Outcomes or output Outcomes or output
pubDate: 2022-12-05 pubDate: 2022-12-05
permalink: >- permalink: >-
archive/2022/12/05/outcomes-or-output archive/2022/12/05/outcomes-or-output
--- ---
I was reading a Twitter thread recently that [started with this tweet](https://twitter.com/allenholub/status/1594786089994067969). I was reading a Twitter thread recently that [started with this tweet](https://twitter.com/allenholub/status/1594786089994067969).

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Should you comment your code? Should you comment your code?
pubDate: 2022-12-06 pubDate: 2022-12-06
permalink: >- permalink: >-
archive/2022/12/06/should-you-comment-your-code archive/2022/12/06/should-you-comment-your-code
--- ---
Something that I hear often is "self-documenting code", and that code should be easy to understand without comments. Something that I hear often is "self-documenting code", and that code should be easy to understand without comments.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Separating releases from deployments with feature flags Separating releases from deployments with feature flags
pubDate: 2022-12-07 pubDate: 2022-12-07
permalink: >- permalink: >-
archive/2022/12/07/separating-releases-from-deployments-with-feature-flags archive/2022/12/07/separating-releases-from-deployments-with-feature-flags
--- ---
In a typical feature release process, a feature is released when you merge the code and push it to production. In a typical feature release process, a feature is released when you merge the code and push it to production.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
The Decorator design pattern The Decorator design pattern
pubDate: 2022-12-08 pubDate: 2022-12-08
permalink: >- permalink: >-
archive/2022/12/08/the-decorator-design-pattern archive/2022/12/08/the-decorator-design-pattern
tags: tags:
- design-patterns - design-patterns
--- ---
Decorator is a structural design pattern that allows you to add extra functionality, such as if you want to add caching or logging to a service, without changing the original class. Decorator is a structural design pattern that allows you to add extra functionality, such as if you want to add caching or logging to a service, without changing the original class.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
How and why I started using PostCSS How and why I started using PostCSS
pubDate: 2022-12-09 pubDate: 2022-12-09
permalink: >- permalink: >-
archive/2022/12/09/how-and-why-i-started-using-postcss archive/2022/12/09/how-and-why-i-started-using-postcss
tags: tags:
- css - css
- front-end - front-end
--- ---
I assume that, like many other Developers, when I started learning front-end development, I wrote normal, plain CSS and later discovered and adopted pre-processors like Less and Sass that added features such as variables and nesting to my stylesheets. I assume that, like many other Developers, when I started learning front-end development, I wrote normal, plain CSS and later discovered and adopted pre-processors like Less and Sass that added features such as variables and nesting to my stylesheets.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Managing databases with Neovim and Docker Managing databases with Neovim and Docker
pubDate: 2022-12-10 pubDate: 2022-12-10
permalink: >- permalink: >-
archive/2022/12/10/managing-databases-with-neovim-and-docker archive/2022/12/10/managing-databases-with-neovim-and-docker
tags: tags:
- docker - docker
- neovim - neovim
--- ---
If you work on software projects that use a database, you need a convenient way to connect, inspect, and query them. If you work on software projects that use a database, you need a convenient way to connect, inspect, and query them.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Happy Drupal 10 release day! Happy Drupal 10 release day!
pubDate: 2022-12-15 pubDate: 2022-12-15
permalink: >- permalink: >-
archive/2022/12/15/happy-drupal-10-release-day archive/2022/12/15/happy-drupal-10-release-day
tags: tags:
- drupal - drupal
- php - php
--- ---
Today, Drupal 10 was released alongside Drupal 9.5. Today, Drupal 10 was released alongside Drupal 9.5.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Automating all the things, including infrastructure Automating all the things, including infrastructure
pubDate: 2022-12-20 pubDate: 2022-12-20
permalink: >- permalink: >-
archive/2022/12/20/automating-all-the-things,-including-infrastructure archive/2022/12/20/automating-all-the-things,-including-infrastructure
tags: tags:
- automation - automation
- devops - devops
--- ---
I'm a big advocate for automation, from having a reproducible Docker and Docker Compose environment, automated tests, static analysis, and code linting in my projects to running them automatically on every push to a remote repository using a CI pipeline. I'm a big advocate for automation, from having a reproducible Docker and Docker Compose environment, automated tests, static analysis, and code linting in my projects to running them automatically on every push to a remote repository using a CI pipeline.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Duck typing Duck typing
pubDate: 2022-12-21 pubDate: 2022-12-21
permalink: >- permalink: >-
archive/2022/12/21/duck-typing archive/2022/12/21/duck-typing
--- ---
If it looks like a duck, walks like a duck, and quacks like a duck, it must be a duck. If it looks like a duck, walks like a duck, and quacks like a duck, it must be a duck.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
The Boy Scout rule The Boy Scout rule
pubDate: 2022-12-22 pubDate: 2022-12-22
permalink: >- permalink: >-
archive/2022/12/22/the-boy-scout-rule archive/2022/12/22/the-boy-scout-rule
--- ---
The Boy Scout rule is "Always leave the campground cleaner than you found it". The Boy Scout rule is "Always leave the campground cleaner than you found it".

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Speaking at PHP Stoke and nor(DEV):con Speaking at PHP Stoke and nor(DEV):con
pubDate: 2022-12-23 pubDate: 2022-12-23
permalink: >- permalink: >-
archive/2022/12/23/speaking-at-php-stoke-and-nordevcon archive/2022/12/23/speaking-at-php-stoke-and-nordevcon
tags: tags:
- public-speaking - public-speaking
--- ---
I had some early presents this month and have been accepted to present talks at the new PHP Stoke meetup and the Norfolk Developers Conference. I had some early presents this month and have been accepted to present talks at the new PHP Stoke meetup and the Norfolk Developers Conference.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Debugging gitignore rules Debugging gitignore rules
pubDate: 2022-12-28 pubDate: 2022-12-28
permalink: >- permalink: >-
archive/2022/12/28/debugging-gitignore-rules archive/2022/12/28/debugging-gitignore-rules
tags: tags:
- git - git
--- ---
Have you wondered why a file or directory is being ignored in your Git repository and isn't appearing when you run `git status`? Have you wondered why a file or directory is being ignored in your Git repository and isn't appearing when you run `git status`?

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
What is the cost of a bug? What is the cost of a bug?
pubDate: 2022-12-29 pubDate: 2022-12-29
permalink: >- permalink: >-
archive/2022/12/29/what-is-the-cost-of-a-bug archive/2022/12/29/what-is-the-cost-of-a-bug
--- ---
All software has bugs, but each has a different cost depending on when and where it's found. All software has bugs, but each has a different cost depending on when and where it's found.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Tests are living documentation Tests are living documentation
pubDate: 2022-12-30 pubDate: 2022-12-30
permalink: >- permalink: >-
archive/2022/12/30/tests-are-living-documentation archive/2022/12/30/tests-are-living-documentation
tags: tags:
- testing - testing
--- ---
Today I was working on a project and made a one-line change that updated a single value within an API response. Today I was working on a project and made a one-line change that updated a single value within an API response.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Just start writing Just start writing
pubDate: 2022-12-31 pubDate: 2022-12-31
permalink: >- permalink: >-
archive/2022/12/31/just-start-writing archive/2022/12/31/just-start-writing
tags: tags:
- productivity - productivity
--- ---
Whether it's writing code or a technical design document, diagnosing an issue, or working on a blog post or a presentation deck, sometimes, the hardest part for me is getting started. Whether it's writing code or a technical design document, diagnosing an issue, or working on a blog post or a presentation deck, sometimes, the hardest part for me is getting started.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Types and static analysis saved me today Types and static analysis saved me today
pubDate: 2023-01-01 pubDate: 2023-01-01
permalink: >- permalink: >-
archive/2023/01/01/types-and-static-analysis-saved-me-today archive/2023/01/01/types-and-static-analysis-saved-me-today
tags: tags:
- static-analysis - static-analysis
- types - types
--- ---
Today I was writing Pulumi code in Typescript, and I although I have autocompletion, I mistyped the name of a property. Today I was writing Pulumi code in Typescript, and I although I have autocompletion, I mistyped the name of a property.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Don't use arbitrary values in Tailwind CSS Don't use arbitrary values in Tailwind CSS
pubDate: 2023-01-02 pubDate: 2023-01-02
permalink: >- permalink: >-
archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css
tags: tags:
- tailwind-css - tailwind-css
--- ---
It's been almost five years since I gave the first version of my "[Taking Flight with Tailwind CSS]({{site.url}}/talks/taking-flight-with-tailwind-css)" talk at the Drupal Bristol meetup in January 2018. It's been almost five years since I gave the first version of my "[Taking Flight with Tailwind CSS]({{site.url}}/talks/taking-flight-with-tailwind-css)" talk at the Drupal Bristol meetup in January 2018.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Tailwind CSS' extensibility is one of its best features Tailwind CSS' extensibility is one of its best features
pubDate: 2023-01-03 pubDate: 2023-01-03
permalink: >- permalink: >-
archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features
tags: tags:
- tailwind-css - tailwind-css
--- ---
As well as the library of utility CSS classes that Tailwind provides, the ability to easily add your own has been one of my main advantages of using it. As well as the library of utility CSS classes that Tailwind provides, the ability to easily add your own has been one of my main advantages of using it.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Testable Tailwind CSS plugins Testable Tailwind CSS plugins
pubDate: 2023-01-04 pubDate: 2023-01-04
permalink: >- permalink: >-
archive/2023/01/04/testable-tailwind-css-plugins archive/2023/01/04/testable-tailwind-css-plugins
tags: tags:
- tailwind-css - tailwind-css
--- ---
A great thing about [Tailwind CSS plugins]({{site.url}}/archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features) being written in JavaScript is that they can be tested using tools like Jest. A great thing about [Tailwind CSS plugins]({{site.url}}/archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features) being written in JavaScript is that they can be tested using tools like Jest.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Adding Tailwind CSS to an existing project Adding Tailwind CSS to an existing project
pubDate: 2023-01-05 pubDate: 2023-01-05
permalink: >- permalink: >-
archive/2023/01/05/adding-tailwind-to-an-existing-project archive/2023/01/05/adding-tailwind-to-an-existing-project
tags: tags:
- tailwind-css - tailwind-css
--- ---
Tailwind's configuration file also makes it easy to add it to an existing codebase, whether it uses custom CSS or another CSS framework. Tailwind's configuration file also makes it easy to add it to an existing codebase, whether it uses custom CSS or another CSS framework.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Utility-first or utility-last? Utility-first or utility-last?
pubDate: 2023-01-06 pubDate: 2023-01-06
permalink: >- permalink: >-
archive/2023/01/06/utility-first-or-utility-last archive/2023/01/06/utility-first-or-utility-last
tags: tags:
- tailwind-css - tailwind-css
--- ---
Tailwind CSS is based on the "utility-first" approach, where the majority of styling is done using utility CSS classes. You can still add additional custom styles if needed if there is something that can't be achieved with utilities or would be better placed in a custom CSS stylesheet. Tailwind CSS is based on the "utility-first" approach, where the majority of styling is done using utility CSS classes. You can still add additional custom styles if needed if there is something that can't be achieved with utilities or would be better placed in a custom CSS stylesheet.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Reducing utility class duplication Reducing utility class duplication
pubDate: 2023-01-07 pubDate: 2023-01-07
permalink: >- permalink: >-
archive/2023/01/07/reducing-utility-class-duplication archive/2023/01/07/reducing-utility-class-duplication
tags: tags:
- tailwind-css - tailwind-css
--- ---

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Back after PHP Stoke Back after PHP Stoke
pubDate: 2023-01-16 pubDate: 2023-01-16
permalink: >- permalink: >-
archive/2023/01/16/back-after-php-stoke archive/2023/01/16/back-after-php-stoke
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Things to know about PHP Things to know about PHP
pubDate: 2023-01-17 pubDate: 2023-01-17
permalink: >- permalink: >-
archive/2023/01/17/things-to-know-about-php archive/2023/01/17/things-to-know-about-php
tags: tags:
- php - php
--- ---
The talk that I gave last week at PHP Stoke was [Things to know about PHP]({{site.url}}/presentations/things-you-should-know-about-php) - a talk that I was originally asked to give at the Swansea Software Development Meetup (SSDC) in January 2019, and this was the second time that I've been asked to give this talk at a PHP meetup. The talk that I gave last week at PHP Stoke was [Things to know about PHP]({{site.url}}/presentations/things-you-should-know-about-php) - a talk that I was originally asked to give at the Swansea Software Development Meetup (SSDC) in January 2019, and this was the second time that I've been asked to give this talk at a PHP meetup.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Drupal turns 22! Drupal turns 22!
pubDate: 2023-01-18 pubDate: 2023-01-18
permalink: >- permalink: >-
archive/2023/01/18/drupal-turns-22 archive/2023/01/18/drupal-turns-22
tags: tags:
- php - php
--- ---
On Sunday, the Drupal project turned 22 years old. On Sunday, the Drupal project turned 22 years old.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Long-term maintainability with utility classes and Tailwind CSS Long-term maintainability with utility classes and Tailwind CSS
pubDate: 2023-01-19 pubDate: 2023-01-19
permalink: >- permalink: >-
archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css
tags: tags:
- css - css
- tailwind-css - tailwind-css
--- ---
One of the common initial concerns of utility classes and Tailwind CSS is its maintainability. One of the common initial concerns of utility classes and Tailwind CSS is its maintainability.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Tailwind's classes are your classes Tailwind's classes are your classes
pubDate: 2023-01-20 pubDate: 2023-01-20
permalink: >- permalink: >-
archive/2023/01/20/tailwinds-classes-are-your-classes archive/2023/01/20/tailwinds-classes-are-your-classes
tags: tags:
- css - css
- tailwind-css - tailwind-css
--- ---
In my [Taking Flight with Tailwind CSS talk]({{site.url}}/talks/taking-flight-with-tailwind-css), I've described Tailwind as a CSS utility class generator. You write a configuration file that Tailwind reads and generates the appropriate classes. In my [Taking Flight with Tailwind CSS talk]({{site.url}}/talks/taking-flight-with-tailwind-css), I've described Tailwind as a CSS utility class generator. You write a configuration file that Tailwind reads and generates the appropriate classes.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Tailwind: Not just translating CSS to utility classes Tailwind: Not just translating CSS to utility classes
pubDate: 2023-01-21 pubDate: 2023-01-21
permalink: >- permalink: >-
archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes
tags: tags:
- css - css
- tailwind-css - tailwind-css
--- ---
Whilst a number of classes that Tailwind CSS generates are single-value utility classes such as `.block { display: block; }` and `.relative { position: relative; }`, it also includes additional things such as [setting a default line height with a font size](https://tailwindcss.com/docs/font-size#setting-the-font-size), adding variants for [group-hover](https://tailwindcss.com/docs/hover-focus-and-other-states#styling-based-on-parent-state) and [focus-within](https://tailwindcss.com/docs/hover-focus-and-other-states#focus-within) (as well as various other pseudo states). Whilst a number of classes that Tailwind CSS generates are single-value utility classes such as `.block { display: block; }` and `.relative { position: relative; }`, it also includes additional things such as [setting a default line height with a font size](https://tailwindcss.com/docs/font-size#setting-the-font-size), adding variants for [group-hover](https://tailwindcss.com/docs/hover-focus-and-other-states#styling-based-on-parent-state) and [focus-within](https://tailwindcss.com/docs/hover-focus-and-other-states#focus-within) (as well as various other pseudo states).

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Building Bootstrap CSS examples with Tailwind Building Bootstrap CSS examples with Tailwind
pubDate: 2023-01-22 pubDate: 2023-01-22
permalink: >- permalink: >-
archive/2023/01/22/building-bootstrap-css-examples-with-tailwind archive/2023/01/22/building-bootstrap-css-examples-with-tailwind
tags: tags:
- css - css
- tailwind-css - tailwind-css
--- ---
Previously when I gave my [Taking Flight with Tailwind CSS]({{site.url}}/presentations/taking-flight-with-tailwind-css) talk, I created examples that relate to the event such as something related to that technology or event. Previously when I gave my [Taking Flight with Tailwind CSS]({{site.url}}/presentations/taking-flight-with-tailwind-css) talk, I created examples that relate to the event such as something related to that technology or event.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Debugging with git bisect Debugging with git bisect
pubDate: 2023-01-23 pubDate: 2023-01-23
permalink: >- permalink: >-
archive/2023/01/23/debugging-with-git-bisect archive/2023/01/23/debugging-with-git-bisect
tags: tags:
- git - git
--- ---
Last week, I had to debug a regression in a codebase. Last week, I had to debug a regression in a codebase.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Small commits and good commit messges Small commits and good commit messges
pubDate: 2023-01-24 pubDate: 2023-01-24
permalink: >- permalink: >-
archive/2023/01/24/small-commits-and-good-commit-messges archive/2023/01/24/small-commits-and-good-commit-messges
tags: tags:
- git - git
--- ---
An important thing when using a tool like [git bisect]({{site.url}}/archive/2023/01/23/debugging-with-git-bisect) as well as reviewing pull/merge requests and commits is to have small (aka "atomic") commits. An important thing when using a tool like [git bisect]({{site.url}}/archive/2023/01/23/debugging-with-git-bisect) as well as reviewing pull/merge requests and commits is to have small (aka "atomic") commits.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
To squash or not to squash To squash or not to squash
pubDate: 2023-01-25 pubDate: 2023-01-25
permalink: >- permalink: >-
archive/2023/01/25/to-squash-or-not-to-squash archive/2023/01/25/to-squash-or-not-to-squash
tags: tags:
- git - git
--- ---
When reviewing a pull or merge request, tools like GitHub and GitHub offer the option to squash the commits before merging. When reviewing a pull or merge request, tools like GitHub and GitHub offer the option to squash the commits before merging.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Astro as a static site generator Astro as a static site generator
pubDate: 2023-02-07 pubDate: 2023-02-07
permalink: >- permalink: >-
archive/2023/02/07/astro-as-a-static-site-generator archive/2023/02/07/astro-as-a-static-site-generator
tags: tags:
- astro - astro
--- ---
Since first setting it first during Simon Vrachliotis' workshops, I've started evaluating [Astro](https://astro.build) as an option for building static websites alongside PHP options like Sculpin and Jigsaw, and used it to rebuild [my personal website]({{site.url}}). Since first setting it first during Simon Vrachliotis' workshops, I've started evaluating [Astro](https://astro.build) as an option for building static websites alongside PHP options like Sculpin and Jigsaw, and used it to rebuild [my personal website]({{site.url}}).

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Fetching external API data with Astro Fetching external API data with Astro
pubDate: 2023-02-08 pubDate: 2023-02-08
permalink: >- permalink: >-
archive/2023/02/08/fetching-api-data-with-astro archive/2023/02/08/fetching-api-data-with-astro
tags: tags:
- astro - astro
--- ---
As well as using static data like Astro components and Markdown files, Astro allows you to pull in data from external APIs even if you're generating a static website. As well as using static data like Astro components and Markdown files, Astro allows you to pull in data from external APIs even if you're generating a static website.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Creating API endpoints with Astro Creating API endpoints with Astro
pubDate: 2023-02-09 pubDate: 2023-02-09
permalink: >- permalink: >-
archive/2023/02/09/creating-api-endpoints-with-astro archive/2023/02/09/creating-api-endpoints-with-astro
tags: tags:
- astro - astro
--- ---
As well as [fetching API data]({{site.url}}/archive/2023/02/08/fetching-api-data-with-astro), you can also use Astro to generate your own API endpoints. As well as [fetching API data]({{site.url}}/archive/2023/02/08/fetching-api-data-with-astro), you can also use Astro to generate your own API endpoints.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Tailwind CSS at the Bristol Software Development Meetup Tailwind CSS at the Bristol Software Development Meetup
pubDate: 2023-02-16 pubDate: 2023-02-16
permalink: >- permalink: >-
archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup
tags: tags:
- public-speaking - public-speaking
- tailwind-css - tailwind-css
--- ---
Tonight I was lucky to speak at the first [Bristol Software Development Meetup event](https://www.meetup.com/south-wales-tech/events/291092930), organised by South Wales Tech. Tonight I was lucky to speak at the first [Bristol Software Development Meetup event](https://www.meetup.com/south-wales-tech/events/291092930), organised by South Wales Tech.

View file

@ -1,13 +1,13 @@
--- ---
title: > title: >
Upgrading my Drupal example project to Drupal 10 Upgrading my Drupal example project to Drupal 10
pubDate: 2023-02-17 pubDate: 2023-02-17
permalink: >- permalink: >-
archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10
tags: tags:
- docker - docker
- drupal - drupal
- open-source - open-source
--- ---
Today I upgraded my [Drupal Docker example](https://github.com/opdavies/docker-examples/tree/main/drupal) to Drupal 10. Today I upgraded my [Drupal Docker example](https://github.com/opdavies/docker-examples/tree/main/drupal) to Drupal 10.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Creating a Drupal 10 compatible version of Override Node Options Creating a Drupal 10 compatible version of Override Node Options
pubDate: 2023-02-18 pubDate: 2023-02-18
permalink: >- permalink: >-
archive/2023/02/18/drupal-10-version-of-override-node-options archive/2023/02/18/drupal-10-version-of-override-node-options
tags: tags:
- drupal - drupal
- open-source - open-source
--- ---
Today, I reviewed [the issue and merge request](https://www.drupal.org/project/override_node_options/issues/3269901) to make the [Override Node Options](https://www.drupal.org/project/override_node_options) module compatible with Drupal 10. Today, I reviewed [the issue and merge request](https://www.drupal.org/project/override_node_options/issues/3269901) to make the [Override Node Options](https://www.drupal.org/project/override_node_options) module compatible with Drupal 10.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Clients dont care which design pattern you use Clients dont care which design pattern you use
pubDate: 2023-02-19 pubDate: 2023-02-19
permalink: >- permalink: >-
archive/2023/02/19/clients-dont-care-which-design-pattern-you-use archive/2023/02/19/clients-dont-care-which-design-pattern-you-use
--- ---
In most cases, clients don't care which CMS, framework, CSS library or design patterns you use. Clients are focused on the business value that those tools can provide, such as increasing traffic or conversion rate to increase revenue or awareness. In most cases, clients don't care which CMS, framework, CSS library or design patterns you use. Clients are focused on the business value that those tools can provide, such as increasing traffic or conversion rate to increase revenue or awareness.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Tailwind: why I prefer to extract HTML components Tailwind: why I prefer to extract HTML components
pubDate: 2023-02-20 pubDate: 2023-02-20
permalink: >- permalink: >-
archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components
tags: tags:
- tailwind-css - tailwind-css
--- ---
Tailwind offers the @apply directive that you can use to extract components in your CSS by applying the styles the classes would have added. Tailwind offers the @apply directive that you can use to extract components in your CSS by applying the styles the classes would have added.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Tailwind CSS at the Norfolk Developer Conference Tailwind CSS at the Norfolk Developer Conference
pubDate: 2023-03-01 pubDate: 2023-03-01
permalink: >- permalink: >-
archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference
tags: tags:
- speaking - speaking
- tailwind-css - tailwind-css
--- ---
Last week, I was at the Norfolk Developer's Conference, aka `nor(DEV):con` - my first in-person conference since DrupalCamp London in February 2020. Last week, I was at the Norfolk Developer's Conference, aka `nor(DEV):con` - my first in-person conference since DrupalCamp London in February 2020.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Busy working on client projects Busy working on client projects
pubDate: 2023-03-02 pubDate: 2023-03-02
permalink: >- permalink: >-
archive/2023/03/02/busy-working-on-client-projects archive/2023/03/02/busy-working-on-client-projects
tags: [] tags: []
--- ---

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
Adding a LocalGov Drupal example Adding a LocalGov Drupal example
pubDate: 2023-03-03 pubDate: 2023-03-03
permalink: >- permalink: >-
archive/2023/03/03/adding-a-localgov-drupal-example archive/2023/03/03/adding-a-localgov-drupal-example
tags: tags:
- drupal - drupal
- localgov-drupal - localgov-drupal
--- ---
After [previously looking at the LocalGov Drupal distribution]({{site.url}}/archive/2022/10/24/looking-at-localgov-drupal), today I added a LocalGov Drupal example to my [Docker Examples repository](https://github.com/opdavies/docker-examples/tree/main/drupal-localgov). After [previously looking at the LocalGov Drupal distribution]({{site.url}}/archive/2022/10/24/looking-at-localgov-drupal), today I added a LocalGov Drupal example to my [Docker Examples repository](https://github.com/opdavies/docker-examples/tree/main/drupal-localgov).

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Why I built a tool to generate configuration files Why I built a tool to generate configuration files
pubDate: 2023-03-04 pubDate: 2023-03-04
permalink: >- permalink: >-
archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files
--- ---
I'm always working on various personal and client projects, and they contain a lot of the same configuration files. I exclusively use Docker and Docker Compose on all projects, I use a `justfile` for running tasks, and for PHP projects, I need configuration files for tools like PHPStan, PHPCS and PHPUnit. I'm always working on various personal and client projects, and they contain a lot of the same configuration files. I exclusively use Docker and Docker Compose on all projects, I use a `justfile` for running tasks, and for PHP projects, I need configuration files for tools like PHPStan, PHPCS and PHPUnit.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Mentoring for School of Code Mentoring for School of Code
pubDate: 2023-03-05 pubDate: 2023-03-05
permalink: >- permalink: >-
archive/2023/03/05/mentoring-for-school-of-code archive/2023/03/05/mentoring-for-school-of-code
tags: [] tags: []
--- ---

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Automating infrastructure with IaC Automating infrastructure with IaC
pubDate: 2023-03-08 pubDate: 2023-03-08
permalink: >- permalink: >-
archive/2023/03/08/automating-infrastructure-with-iac archive/2023/03/08/automating-infrastructure-with-iac
tags: tags:
- devops - devops
--- ---
Are you responsible for creating and maintaining resources like GitHub repositories, DigitalOcean servers, Amazon S3 buckets and Cloudfront distributions or DNS records in Cloudflare? Are you responsible for creating and maintaining resources like GitHub repositories, DigitalOcean servers, Amazon S3 buckets and Cloudfront distributions or DNS records in Cloudflare?

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
In what language should I write my automation? In what language should I write my automation?
pubDate: 2023-03-09 pubDate: 2023-03-09
permalink: >- permalink: >-
archive/2023/03/09/in-what-language-should-i-write-my-automation archive/2023/03/09/in-what-language-should-i-write-my-automation
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
What problem are we trying to solve? What problem are we trying to solve?
pubDate: 2023-03-13 pubDate: 2023-03-13
permalink: >- permalink: >-
archive/2023/03/13/what-problem-am-i-trying-to-solve archive/2023/03/13/what-problem-am-i-trying-to-solve
tags: [] tags: []
--- ---

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Automating all the things Automating all the things
pubDate: 2023-03-14 pubDate: 2023-03-14
permalink: >- permalink: >-
archive/2023/03/14/automating-all-the-things archive/2023/03/14/automating-all-the-things
tags: tags:
- automation - automation
--- ---
As a solo Developer and Consultant, I rely a lot on automation to get my tasks done. As a solo Developer and Consultant, I rely a lot on automation to get my tasks done.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
The benefits of automation The benefits of automation
pubDate: 2023-03-15 pubDate: 2023-03-15
permalink: >- permalink: >-
archive/2023/03/15/the-benefits-of-automation archive/2023/03/15/the-benefits-of-automation
tags: tags:
- automation - automation
--- ---
I've been working on a project with a client, using [Fractal](https://fractal.build) for our component library. I've been working on it locally but yesterday I needed to make it public for the client to review the work I've done. I've been working on a project with a client, using [Fractal](https://fractal.build) for our component library. I've been working on it locally but yesterday I needed to make it public for the client to review the work I've done.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
There isn't a standard "Tailwind-looking" site There isn't a standard "Tailwind-looking" site
pubDate: 2023-03-21 pubDate: 2023-03-21
permalink: >- permalink: >-
archive/2023/03/21/there-isnt-a-tailwind-looking-site archive/2023/03/21/there-isnt-a-tailwind-looking-site
tags: tags:
- tailwind-css - tailwind-css
--- ---
When looking at some websites, you can tell that it was built using a certain CSS framework. When looking at some websites, you can tell that it was built using a certain CSS framework.

View file

@ -1,12 +1,12 @@
--- ---
title: > title: >
With utility styles, your CSS stops growing With utility styles, your CSS stops growing
pubDate: 2023-03-22 pubDate: 2023-03-22
permalink: >- permalink: >-
archive/2023/03/22/with-utility-styles-your-css-stops-growing archive/2023/03/22/with-utility-styles-your-css-stops-growing
tags: tags:
- css - css
- tailwind-css - tailwind-css
--- ---
When working with traditional CSS, the first thing you do when you need to style a new page or component is to open a stylesheet and start writing new CSS. When working with traditional CSS, the first thing you do when you need to style a new page or component is to open a stylesheet and start writing new CSS.

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Software development is about solving problems and adding value Software development is about solving problems and adding value
pubDate: 2023-03-27 pubDate: 2023-03-27
permalink: >- permalink: >-
archive/2023/03/27/software-development-solving-problems-and-adding-value archive/2023/03/27/software-development-solving-problems-and-adding-value
# tags: # tags:
# - a # - a
# - b # - b

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Speaking at PHP London Speaking at PHP London
pubDate: 2023-04-07 pubDate: 2023-04-07
permalink: >- permalink: >-
archive/2023/04/07/speaking-at-php-london archive/2023/04/07/speaking-at-php-london
tags: tags:
- speaking - speaking
--- ---
After a trip away with the family earlier this week, I was happy to speak at the PHP London meetup yesterday evening. After a trip away with the family earlier this week, I was happy to speak at the PHP London meetup yesterday evening.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Why I use tmux Why I use tmux
pubDate: 2023-04-08 pubDate: 2023-04-08
permalink: >- permalink: >-
archive/2023/04/08/why-i-use-tmux archive/2023/04/08/why-i-use-tmux
tags: tags:
- tmux - tmux
--- ---
tmux is a "terminal multiplexer" - a program that makes one terminal window into many. tmux is a "terminal multiplexer" - a program that makes one terminal window into many.

View file

@ -1,14 +1,14 @@
--- ---
title: > title: >
Nix, NixOS, Home Manager, and WSL2 Nix, NixOS, Home Manager, and WSL2
pubDate: 2023-04-09 pubDate: 2023-04-09
permalink: >- permalink: >-
archive/2023/04/09/nix-nixos-home-manager-and-wsl2 archive/2023/04/09/nix-nixos-home-manager-and-wsl2
tags: tags:
- linux - linux
- nix - nix
- nixos - nixos
- wsl2 - wsl2
--- ---
Although I've been using Linux for work computers for a lot longer, a few years ago, I switched from macOS and an Apple MacBook Pro to using Linux full-time on my personal computers. Although I've been using Linux for work computers for a lot longer, a few years ago, I switched from macOS and an Apple MacBook Pro to using Linux full-time on my personal computers.

View file

@ -1,13 +1,13 @@
--- ---
title: > title: >
How I use Neovim for writing PHP How I use Neovim for writing PHP
pubDate: 2023-04-10 pubDate: 2023-04-10
permalink: >- permalink: >-
archive/2023/04/10/how-i-use-neovim-for-writing-php archive/2023/04/10/how-i-use-neovim-for-writing-php
tags: tags:
- neovim - neovim
- php - php
- vim - vim
--- ---
Since [July 2021]({{site.url}}/blog/going-full-vim), I've used Neovim full-time for my development work and writing. Since [July 2021]({{site.url}}/blog/going-full-vim), I've used Neovim full-time for my development work and writing.

View file

@ -1,14 +1,14 @@
--- ---
title: > title: >
just vs make just vs make
pubDate: 2023-04-11 pubDate: 2023-04-11
permalink: >- permalink: >-
archive/2023/04/11/just-vs-make archive/2023/04/11/just-vs-make
tags: tags:
- devops - devops
- just - just
- make - make
- linux - linux
--- ---
`just` compared to `make` is something that was asked during my PHP London talk, and whilst they are similar, `just` has differences for me that explains why I use it: `just` compared to `make` is something that was asked during my PHP London talk, and whilst they are similar, `just` has differences for me that explains why I use it:

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Cleaner PHP code with promoted constructor properties Cleaner PHP code with promoted constructor properties
pubDate: 2023-04-12 pubDate: 2023-04-12
permalink: >- permalink: >-
archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties
tags: tags:
- php - php
--- ---
One of my favorite features that was introducted in PHP 8 was promoted constructor properties. One of my favorite features that was introducted in PHP 8 was promoted constructor properties.

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Immutable read-only properties in PHP 8.1 Immutable read-only properties in PHP 8.1
pubDate: 2023-04-13 pubDate: 2023-04-13
permalink: >- permalink: >-
archive/2023/04/13/immutable-read-only-properties-in-php-8-1 archive/2023/04/13/immutable-read-only-properties-in-php-8-1
tags: tags:
- php - php
--- ---
Continuing with yesterday's data transfer object (DTO) example, something that can be done since PHP 8.1 is to make properties read-only: Continuing with yesterday's data transfer object (DTO) example, something that can be done since PHP 8.1 is to make properties read-only:
@ -14,8 +14,8 @@ Continuing with yesterday's data transfer object (DTO) example, something that c
class AccountDetails { class AccountDetails {
public function __construct( public function __construct(
public readonly string $accountNumber, public readonly string $accountNumber,
public readonly string $sortCode, public readonly string $sortCode,
) {} ) {}
} }

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Data transfer objects and value objects Data transfer objects and value objects
pubDate: 2023-04-14 pubDate: 2023-04-14
permalink: >- permalink: >-
archive/2023/04/14/data-transfer-objects-and-value-objects archive/2023/04/14/data-transfer-objects-and-value-objects
tags: [] tags: []
--- ---

View file

@ -1,9 +1,9 @@
--- ---
title: > title: >
Automatically running commands with nodemon Automatically running commands with nodemon
pubDate: 2023-04-15 pubDate: 2023-04-15
permalink: >- permalink: >-
archive/2023/04/15/automatically-running-commands-with-nodemon archive/2023/04/15/automatically-running-commands-with-nodemon
tags: [] tags: []
--- ---

View file

@ -1,11 +1,11 @@
--- ---
title: > title: >
Refactoring with readonly classes in PHP 8.2 Refactoring with readonly classes in PHP 8.2
pubDate: 2023-04-16 pubDate: 2023-04-16
permalink: >- permalink: >-
archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2
tags: tags:
- php - php
--- ---
Marian Kostadinov ([stochnagara on Twitter](https://twitter.com/stochnagara)) replied to Friday's email about DTOs and value objects to tell me about `readonly` classes, which can be done in PHP 8.2. Marian Kostadinov ([stochnagara on Twitter](https://twitter.com/stochnagara)) replied to Friday's email about DTOs and value objects to tell me about `readonly` classes, which can be done in PHP 8.2.

Some files were not shown because too many files have changed in this diff Show more