Change to two spaces
This commit is contained in:
parent
2537fe2052
commit
ed60ab964c
|
@ -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
|
||||||
---
|
---
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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"
|
||||||
---
|
---
|
||||||
|
|
||||||
I’ve 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 it’s version control system.
|
I’ve 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 it’s version control system.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
---
|
---
|
||||||
|
|
||||||
I’m happy to have had a conference talk proposal accepted for what will be my first in-person conference since DrupalCamp London in February 2020.
|
I’m happy to have had a conference talk proposal accepted for what will be my first in-person conference since DrupalCamp London in February 2020.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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 I’ve worked on in the past haven’t had an automated test suite.
|
Many projects I’ve worked on in the past haven’t had an automated test suite.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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”.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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".
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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`?
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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}}).
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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: []
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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: []
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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: []
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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: []
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -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: []
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -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
Loading…
Reference in a new issue