diff --git a/resources/daily-email-stub.md b/resources/daily-email-stub.md index b9f58eae..534bf26e 100644 --- a/resources/daily-email-stub.md +++ b/resources/daily-email-stub.md @@ -3,11 +3,11 @@ title: {{ title }} date: {{ date }} permalink: {{ permalink }} tags: - - software-development - # - drupal - # - php - # - podcast + - software-development + # - drupal + # - php + # - podcast cta: ~ snippet: | - TODO + TODO --- diff --git a/source/_daily_emails/2022-08-13.md b/source/_daily_emails/2022-08-13.md index 6806883a..746f2f1e 100644 --- a/source/_daily_emails/2022-08-13.md +++ b/source/_daily_emails/2022-08-13.md @@ -3,8 +3,8 @@ permalink: daily/2022/08/13/i-wrote-a-neovim-plugin pubDate: 2022-08-13 title: I wrote a Neovim plugin tags: - - neovim - - open-source + - neovim + - open-source --- I enjoy writing and working with open-source software, starting back to when I started working with PHP and Drupal in 2007. diff --git a/source/_daily_emails/2022-08-18.md b/source/_daily_emails/2022-08-18.md index a93956bf..765aefee 100644 --- a/source/_daily_emails/2022-08-18.md +++ b/source/_daily_emails/2022-08-18.md @@ -3,9 +3,9 @@ permalink: daily/2022/08/18/talking-drupal-tailwind-css pubDate: 2022-08-18 title: "'Talking Drupal' and Tailwind CSS" tags: - - css - - tailwind-css - - twig + - css + - tailwind-css + - 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. diff --git a/source/_daily_emails/2022-08-21.md b/source/_daily_emails/2022-08-21.md index c3ca4c83..1002dece 100644 --- a/source/_daily_emails/2022-08-21.md +++ b/source/_daily_emails/2022-08-21.md @@ -3,7 +3,7 @@ permalink: daily/2022/08/21/2022-08-21 pubDate: 2022-08-21 title: "Why I use Docker and Docker Compose for my projects" 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. diff --git a/source/_daily_emails/2022-08-23.md b/source/_daily_emails/2022-08-23.md index 7b546f53..02e30bd4 100644 --- a/source/_daily_emails/2022-08-23.md +++ b/source/_daily_emails/2022-08-23.md @@ -3,7 +3,7 @@ pubDate: 2022-08-23 title: "Git: GUI or command-line?" permalink: "archive/2022/08/23/git-gui-command-line" 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. diff --git a/source/_daily_emails/2022-08-24.md b/source/_daily_emails/2022-08-24.md index 103a9201..84423de7 100644 --- a/source/_daily_emails/2022-08-24.md +++ b/source/_daily_emails/2022-08-24.md @@ -3,7 +3,7 @@ permalink: daily/2022/08/24/2022-08-24 pubDate: 2022-08-24 title: "How I've configured Git" 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. diff --git a/source/_daily_emails/2022-10-20.md b/source/_daily_emails/2022-10-20.md index 7ba9c596..3bd4a841 100644 --- a/source/_daily_emails/2022-10-20.md +++ b/source/_daily_emails/2022-10-20.md @@ -1,11 +1,11 @@ --- title: > - Cherry picking commits is an anti-pattern + Cherry picking commits is an anti-pattern pubDate: 2022-10-20 permalink: >- - archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern + archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern 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. diff --git a/source/_daily_emails/2022-10-21.md b/source/_daily_emails/2022-10-21.md index b523ff73..378ac054 100644 --- a/source/_daily_emails/2022-10-21.md +++ b/source/_daily_emails/2022-10-21.md @@ -1,11 +1,11 @@ --- 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 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: - - 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. diff --git a/source/_daily_emails/2022-10-24.md b/source/_daily_emails/2022-10-24.md index bb528887..7e1c2d26 100644 --- a/source/_daily_emails/2022-10-24.md +++ b/source/_daily_emails/2022-10-24.md @@ -1,11 +1,11 @@ --- title: > - Looking at LocalGov Drupal + Looking at LocalGov Drupal pubDate: 2022-10-24 permalink: >- - archive/2022/10/24/looking-at-localgov-drupal + archive/2022/10/24/looking-at-localgov-drupal 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. diff --git a/source/_daily_emails/2022-10-25.md b/source/_daily_emails/2022-10-25.md index ccd19175..738a677c 100644 --- a/source/_daily_emails/2022-10-25.md +++ b/source/_daily_emails/2022-10-25.md @@ -1,11 +1,11 @@ --- title: > - What are Drupal distributions? + What are Drupal distributions? pubDate: 2022-10-25 permalink: >- - archive/2022/10/25/what-are-drupal-distributions + archive/2022/10/25/what-are-drupal-distributions 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. diff --git a/source/_daily_emails/2022-10-26.md b/source/_daily_emails/2022-10-26.md index 4fe41016..ccbdbf5f 100644 --- a/source/_daily_emails/2022-10-26.md +++ b/source/_daily_emails/2022-10-26.md @@ -1,11 +1,11 @@ --- title: > - Neovim as a Personalised Development Environment + Neovim as a Personalised Development Environment pubDate: 2022-10-26 permalink: >- - archive/2022/10/26/neovim-as-a-personalised-development-environment + archive/2022/10/26/neovim-as-a-personalised-development-environment tags: - - neovim + - neovim --- A few months ago, TJ DeVries (a Neovim core team member) coined the phrase "Personalised Development Environment" or PDE. diff --git a/source/_daily_emails/2022-10-27.md b/source/_daily_emails/2022-10-27.md index ea785f9e..02878910 100644 --- a/source/_daily_emails/2022-10-27.md +++ b/source/_daily_emails/2022-10-27.md @@ -1,9 +1,9 @@ --- title: > - Getting back into live streaming + Getting back into live streaming pubDate: 2022-10-27 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. diff --git a/source/_daily_emails/2022-10-28.md b/source/_daily_emails/2022-10-28.md index caadfe4b..3879b65b 100644 --- a/source/_daily_emails/2022-10-28.md +++ b/source/_daily_emails/2022-10-28.md @@ -1,11 +1,11 @@ --- title: > - Why write framework agnostic packages? + Why write framework agnostic packages? pubDate: 2022-10-28 permalink: >- - archive/2022/10/28/why-write-framework-agnostic-packages + archive/2022/10/28/why-write-framework-agnostic-packages 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. diff --git a/source/_daily_emails/2022-10-29.md b/source/_daily_emails/2022-10-29.md index 092843dd..62a5550d 100644 --- a/source/_daily_emails/2022-10-29.md +++ b/source/_daily_emails/2022-10-29.md @@ -1,11 +1,11 @@ --- title: > - The open-source-first development workflow + The open-source-first development workflow pubDate: 2022-10-29 permalink: >- - archive/2022/10/29/the-open-source-first-development-workflow + archive/2022/10/29/the-open-source-first-development-workflow 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. diff --git a/source/_daily_emails/2022-10-30.md b/source/_daily_emails/2022-10-30.md index 2d65a4e2..658bdb67 100644 --- a/source/_daily_emails/2022-10-30.md +++ b/source/_daily_emails/2022-10-30.md @@ -1,12 +1,12 @@ --- title: > - Refactoring one large test into multiple smaller tests + Refactoring one large test into multiple smaller tests pubDate: 2022-10-30 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: - - php - - phpunit + - php + - 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. diff --git a/source/_daily_emails/2022-11-08.md b/source/_daily_emails/2022-11-08.md index 9622d46b..fb4162d7 100644 --- a/source/_daily_emails/2022-11-08.md +++ b/source/_daily_emails/2022-11-08.md @@ -1,9 +1,9 @@ --- title: > - Are sprints incompatible with Continuous Deployment? + Are sprints incompatible with Continuous Deployment? pubDate: 2022-11-08 permalink: >- - archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment + archive/2022/11/08/are-sprints-incompatible-with-continuous-deployment # tags: # - a # - b diff --git a/source/_daily_emails/2022-11-09.md b/source/_daily_emails/2022-11-09.md index 2e175c11..8ccd3bb9 100644 --- a/source/_daily_emails/2022-11-09.md +++ b/source/_daily_emails/2022-11-09.md @@ -1,9 +1,9 @@ --- title: > - Your conference talk has been accepted + Your conference talk has been accepted pubDate: 2022-11-09 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. diff --git a/source/_daily_emails/2022-11-11.md b/source/_daily_emails/2022-11-11.md index e3f3f7a8..6d4f683e 100644 --- a/source/_daily_emails/2022-11-11.md +++ b/source/_daily_emails/2022-11-11.md @@ -1,9 +1,9 @@ --- 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 permalink: >- - archive/2022/11/12/creating-small-proof-of-concept-application-afternoon + archive/2022/11/12/creating-small-proof-of-concept-application-afternoon # tags: # - a # - b diff --git a/source/_daily_emails/2022-11-12.md b/source/_daily_emails/2022-11-12.md index 509b8e26..2c559cb6 100644 --- a/source/_daily_emails/2022-11-12.md +++ b/source/_daily_emails/2022-11-12.md @@ -1,9 +1,9 @@ --- title: > - Building a minimum viable product and managing technical debt + Building a minimum viable product and managing technical debt pubDate: 2022-11-12 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: # - a # - b diff --git a/source/_daily_emails/2022-11-13.md b/source/_daily_emails/2022-11-13.md index a6a54001..2887c033 100644 --- a/source/_daily_emails/2022-11-13.md +++ b/source/_daily_emails/2022-11-13.md @@ -1,11 +1,11 @@ --- 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 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: - - 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? diff --git a/source/_daily_emails/2022-11-14.md b/source/_daily_emails/2022-11-14.md index 6fc0b0b7..8747f0d4 100644 --- a/source/_daily_emails/2022-11-14.md +++ b/source/_daily_emails/2022-11-14.md @@ -1,11 +1,11 @@ --- title: > - Camel-case or snake-case for test methods? + Camel-case or snake-case for test methods? pubDate: 2022-11-14 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: - - testing + - testing --- When writing object-orientated code, particularly in PHP, you usually write method names using camel-case letters - such as: diff --git a/source/_daily_emails/2022-11-15.md b/source/_daily_emails/2022-11-15.md index 8f5ced48..11bdc89d 100644 --- a/source/_daily_emails/2022-11-15.md +++ b/source/_daily_emails/2022-11-15.md @@ -1,11 +1,11 @@ --- title: > - Writing good automated test names + Writing good automated test names pubDate: 2022-11-15 permalink: >- - archive/2022/11/15/writing-good-automated-test-names + archive/2022/11/15/writing-good-automated-test-names 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. diff --git a/source/_daily_emails/2022-11-16.md b/source/_daily_emails/2022-11-16.md index a87d4965..ea3d988e 100644 --- a/source/_daily_emails/2022-11-16.md +++ b/source/_daily_emails/2022-11-16.md @@ -1,11 +1,11 @@ --- title: > - Why don't you write automated tests? + Why don't you write automated tests? pubDate: 2022-11-16 permalink: >- - archive/2022/11/16/why-don't-you-write-automated-tests + archive/2022/11/16/why-don't-you-write-automated-tests tags: - - testing + - testing --- Many projects I’ve worked on in the past haven’t had an automated test suite. diff --git a/source/_daily_emails/2022-11-17.md b/source/_daily_emails/2022-11-17.md index b6295df5..ee148c44 100644 --- a/source/_daily_emails/2022-11-17.md +++ b/source/_daily_emails/2022-11-17.md @@ -1,9 +1,9 @@ --- title: > - Agnostic CI pipelines with run files + Agnostic CI pipelines with run files pubDate: 2022-11-17 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. diff --git a/source/_daily_emails/2022-11-18.md b/source/_daily_emails/2022-11-18.md index 5fc60e49..f232c89b 100644 --- a/source/_daily_emails/2022-11-18.md +++ b/source/_daily_emails/2022-11-18.md @@ -1,11 +1,11 @@ --- title: > - One test a day keeps bugs away + One test a day keeps bugs away pubDate: 2022-11-18 permalink: >- - archive/2022/11/18/one-test-a-day-keeps-bugs-away + archive/2022/11/18/one-test-a-day-keeps-bugs-away 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). diff --git a/source/_daily_emails/2022-11-19.md b/source/_daily_emails/2022-11-19.md index 3df4dfec..d40cd030 100644 --- a/source/_daily_emails/2022-11-19.md +++ b/source/_daily_emails/2022-11-19.md @@ -1,9 +1,9 @@ --- title: > - Are missing tests a blocker to refactoring? + Are missing tests a blocker to refactoring? pubDate: 2022-11-19 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? diff --git a/source/_daily_emails/2022-11-20.md b/source/_daily_emails/2022-11-20.md index 9591038b..216485a8 100644 --- a/source/_daily_emails/2022-11-20.md +++ b/source/_daily_emails/2022-11-20.md @@ -1,11 +1,11 @@ --- title: > - Version-controlled commented-out code + Version-controlled commented-out code pubDate: 2022-11-20 permalink: >- - archive/2022/11/20/version-controlled-commented-out-code + archive/2022/11/20/version-controlled-commented-out-code tags: - - git + - git --- Today, whilst debugging some legacy code within an application, I found several blocks of commented-out code. diff --git a/source/_daily_emails/2022-11-21.md b/source/_daily_emails/2022-11-21.md index 81ac8b61..34939ddd 100644 --- a/source/_daily_emails/2022-11-21.md +++ b/source/_daily_emails/2022-11-21.md @@ -1,11 +1,11 @@ --- 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 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: - - 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? diff --git a/source/_daily_emails/2022-11-22.md b/source/_daily_emails/2022-11-22.md index a8396c73..19f1806e 100644 --- a/source/_daily_emails/2022-11-22.md +++ b/source/_daily_emails/2022-11-22.md @@ -1,9 +1,9 @@ --- title: > - tldr + tldr pubDate: 2022-11-22 permalink: >- - archive/2022/11/22/tldr + archive/2022/11/22/tldr # tags: # - a # - b diff --git a/source/_daily_emails/2022-11-23.md b/source/_daily_emails/2022-11-23.md index 4b42572e..ce548039 100644 --- a/source/_daily_emails/2022-11-23.md +++ b/source/_daily_emails/2022-11-23.md @@ -1,11 +1,11 @@ --- 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 permalink: >- - archive/2022/11/23/do-you-need-to-branch + archive/2022/11/23/do-you-need-to-branch 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”. diff --git a/source/_daily_emails/2022-11-24.md b/source/_daily_emails/2022-11-24.md index e4c6e2bb..425ddffe 100644 --- a/source/_daily_emails/2022-11-24.md +++ b/source/_daily_emails/2022-11-24.md @@ -1,9 +1,9 @@ --- title: > - Doing the simplest possible thing + Doing the simplest possible thing pubDate: 2022-11-24 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. diff --git a/source/_daily_emails/2022-11-25.md b/source/_daily_emails/2022-11-25.md index efbb988b..ade7cbe8 100644 --- a/source/_daily_emails/2022-11-25.md +++ b/source/_daily_emails/2022-11-25.md @@ -1,9 +1,9 @@ --- title: > - Plan, then code + Plan, then code pubDate: 2022-11-25 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. diff --git a/source/_daily_emails/2022-11-30.md b/source/_daily_emails/2022-11-30.md index c747e9c3..e7bd74f3 100644 --- a/source/_daily_emails/2022-11-30.md +++ b/source/_daily_emails/2022-11-30.md @@ -1,11 +1,11 @@ --- title: > - Ship, Show or Ask + Ship, Show or Ask pubDate: 2022-11-30 permalink: >- - archive/2022/11/30/ship-show-or-ask + archive/2022/11/30/ship-show-or-ask 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. diff --git a/source/_daily_emails/2022-12-01.md b/source/_daily_emails/2022-12-01.md index d051e2b9..49710417 100644 --- a/source/_daily_emails/2022-12-01.md +++ b/source/_daily_emails/2022-12-01.md @@ -1,9 +1,9 @@ --- title: > - Writing readable code + Writing readable code pubDate: 2022-12-01 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. diff --git a/source/_daily_emails/2022-12-02.md b/source/_daily_emails/2022-12-02.md index 2869e2eb..db9b7f24 100644 --- a/source/_daily_emails/2022-12-02.md +++ b/source/_daily_emails/2022-12-02.md @@ -1,9 +1,9 @@ --- title: > - Commit and push something every day + Commit and push something every day pubDate: 2022-12-02 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. diff --git a/source/_daily_emails/2022-12-03.md b/source/_daily_emails/2022-12-03.md index 576aafdc..cc4663bb 100644 --- a/source/_daily_emails/2022-12-03.md +++ b/source/_daily_emails/2022-12-03.md @@ -1,9 +1,9 @@ --- title: > - What to do with TODO comments + What to do with TODO comments pubDate: 2022-12-03 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. diff --git a/source/_daily_emails/2022-12-04.md b/source/_daily_emails/2022-12-04.md index 6ac36ec6..347bf8c0 100644 --- a/source/_daily_emails/2022-12-04.md +++ b/source/_daily_emails/2022-12-04.md @@ -1,9 +1,9 @@ --- title: > - Writing "Why first" user stories + Writing "Why first" user stories pubDate: 2022-12-04 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: diff --git a/source/_daily_emails/2022-12-05.md b/source/_daily_emails/2022-12-05.md index 3077f9c4..4d5e2626 100644 --- a/source/_daily_emails/2022-12-05.md +++ b/source/_daily_emails/2022-12-05.md @@ -1,9 +1,9 @@ --- title: > - Outcomes or output + Outcomes or output pubDate: 2022-12-05 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). diff --git a/source/_daily_emails/2022-12-06.md b/source/_daily_emails/2022-12-06.md index 9acf7daa..b10ece4b 100644 --- a/source/_daily_emails/2022-12-06.md +++ b/source/_daily_emails/2022-12-06.md @@ -1,9 +1,9 @@ --- title: > - Should you comment your code? + Should you comment your code? pubDate: 2022-12-06 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. diff --git a/source/_daily_emails/2022-12-07.md b/source/_daily_emails/2022-12-07.md index dc0c38cc..13cbf46d 100644 --- a/source/_daily_emails/2022-12-07.md +++ b/source/_daily_emails/2022-12-07.md @@ -1,9 +1,9 @@ --- title: > - Separating releases from deployments with feature flags + Separating releases from deployments with feature flags pubDate: 2022-12-07 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. diff --git a/source/_daily_emails/2022-12-08.md b/source/_daily_emails/2022-12-08.md index e0438e3e..8985ba03 100644 --- a/source/_daily_emails/2022-12-08.md +++ b/source/_daily_emails/2022-12-08.md @@ -1,11 +1,11 @@ --- title: > - The Decorator design pattern + The Decorator design pattern pubDate: 2022-12-08 permalink: >- - archive/2022/12/08/the-decorator-design-pattern + archive/2022/12/08/the-decorator-design-pattern 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. diff --git a/source/_daily_emails/2022-12-09.md b/source/_daily_emails/2022-12-09.md index e23537b3..937186a7 100644 --- a/source/_daily_emails/2022-12-09.md +++ b/source/_daily_emails/2022-12-09.md @@ -1,12 +1,12 @@ --- title: > - How and why I started using PostCSS + How and why I started using PostCSS pubDate: 2022-12-09 permalink: >- - archive/2022/12/09/how-and-why-i-started-using-postcss + archive/2022/12/09/how-and-why-i-started-using-postcss tags: - - css - - front-end + - css + - 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. diff --git a/source/_daily_emails/2022-12-10.md b/source/_daily_emails/2022-12-10.md index 59d39438..704a2508 100644 --- a/source/_daily_emails/2022-12-10.md +++ b/source/_daily_emails/2022-12-10.md @@ -1,12 +1,12 @@ --- title: > - Managing databases with Neovim and Docker + Managing databases with Neovim and Docker pubDate: 2022-12-10 permalink: >- - archive/2022/12/10/managing-databases-with-neovim-and-docker + archive/2022/12/10/managing-databases-with-neovim-and-docker tags: - - docker - - neovim + - docker + - neovim --- If you work on software projects that use a database, you need a convenient way to connect, inspect, and query them. diff --git a/source/_daily_emails/2022-12-15.md b/source/_daily_emails/2022-12-15.md index 6bd18bb7..d3b2b793 100644 --- a/source/_daily_emails/2022-12-15.md +++ b/source/_daily_emails/2022-12-15.md @@ -1,12 +1,12 @@ --- title: > - Happy Drupal 10 release day! + Happy Drupal 10 release day! pubDate: 2022-12-15 permalink: >- - archive/2022/12/15/happy-drupal-10-release-day + archive/2022/12/15/happy-drupal-10-release-day tags: - - drupal - - php + - drupal + - php --- Today, Drupal 10 was released alongside Drupal 9.5. diff --git a/source/_daily_emails/2022-12-20.md b/source/_daily_emails/2022-12-20.md index 40c0854a..19f73b3c 100644 --- a/source/_daily_emails/2022-12-20.md +++ b/source/_daily_emails/2022-12-20.md @@ -1,12 +1,12 @@ --- title: > - Automating all the things, including infrastructure + Automating all the things, including infrastructure pubDate: 2022-12-20 permalink: >- - archive/2022/12/20/automating-all-the-things,-including-infrastructure + archive/2022/12/20/automating-all-the-things,-including-infrastructure tags: - - automation - - devops + - automation + - 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. diff --git a/source/_daily_emails/2022-12-21.md b/source/_daily_emails/2022-12-21.md index 10d6959d..d0f77073 100644 --- a/source/_daily_emails/2022-12-21.md +++ b/source/_daily_emails/2022-12-21.md @@ -1,9 +1,9 @@ --- title: > - Duck typing + Duck typing pubDate: 2022-12-21 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. diff --git a/source/_daily_emails/2022-12-22.md b/source/_daily_emails/2022-12-22.md index d3cf8e2a..c5c854cb 100644 --- a/source/_daily_emails/2022-12-22.md +++ b/source/_daily_emails/2022-12-22.md @@ -1,9 +1,9 @@ --- title: > - The Boy Scout rule + The Boy Scout rule pubDate: 2022-12-22 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". diff --git a/source/_daily_emails/2022-12-23.md b/source/_daily_emails/2022-12-23.md index da0a4655..aadf7a45 100644 --- a/source/_daily_emails/2022-12-23.md +++ b/source/_daily_emails/2022-12-23.md @@ -1,11 +1,11 @@ --- title: > - Speaking at PHP Stoke and nor(DEV):con + Speaking at PHP Stoke and nor(DEV):con pubDate: 2022-12-23 permalink: >- - archive/2022/12/23/speaking-at-php-stoke-and-nordevcon + archive/2022/12/23/speaking-at-php-stoke-and-nordevcon 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. diff --git a/source/_daily_emails/2022-12-28.md b/source/_daily_emails/2022-12-28.md index cd5bc901..965ed3d7 100644 --- a/source/_daily_emails/2022-12-28.md +++ b/source/_daily_emails/2022-12-28.md @@ -1,11 +1,11 @@ --- title: > - Debugging gitignore rules + Debugging gitignore rules pubDate: 2022-12-28 permalink: >- - archive/2022/12/28/debugging-gitignore-rules + archive/2022/12/28/debugging-gitignore-rules 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`? diff --git a/source/_daily_emails/2022-12-29.md b/source/_daily_emails/2022-12-29.md index 0f5542fb..566e39e0 100644 --- a/source/_daily_emails/2022-12-29.md +++ b/source/_daily_emails/2022-12-29.md @@ -1,9 +1,9 @@ --- title: > - What is the cost of a bug? + What is the cost of a bug? pubDate: 2022-12-29 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. diff --git a/source/_daily_emails/2022-12-30.md b/source/_daily_emails/2022-12-30.md index 48a0bbc0..1156f1db 100644 --- a/source/_daily_emails/2022-12-30.md +++ b/source/_daily_emails/2022-12-30.md @@ -1,11 +1,11 @@ --- title: > - Tests are living documentation + Tests are living documentation pubDate: 2022-12-30 permalink: >- - archive/2022/12/30/tests-are-living-documentation + archive/2022/12/30/tests-are-living-documentation 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. diff --git a/source/_daily_emails/2022-12-31.md b/source/_daily_emails/2022-12-31.md index a925d280..dad74b5e 100644 --- a/source/_daily_emails/2022-12-31.md +++ b/source/_daily_emails/2022-12-31.md @@ -1,11 +1,11 @@ --- title: > - Just start writing + Just start writing pubDate: 2022-12-31 permalink: >- - archive/2022/12/31/just-start-writing + archive/2022/12/31/just-start-writing 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. diff --git a/source/_daily_emails/2023-01-01.md b/source/_daily_emails/2023-01-01.md index 2180730a..a58d5e27 100644 --- a/source/_daily_emails/2023-01-01.md +++ b/source/_daily_emails/2023-01-01.md @@ -1,12 +1,12 @@ --- title: > - Types and static analysis saved me today + Types and static analysis saved me today pubDate: 2023-01-01 permalink: >- - archive/2023/01/01/types-and-static-analysis-saved-me-today + archive/2023/01/01/types-and-static-analysis-saved-me-today tags: - - static-analysis - - types + - static-analysis + - types --- Today I was writing Pulumi code in Typescript, and I although I have autocompletion, I mistyped the name of a property. diff --git a/source/_daily_emails/2023-01-02.md b/source/_daily_emails/2023-01-02.md index 70131ef8..ef21b534 100644 --- a/source/_daily_emails/2023-01-02.md +++ b/source/_daily_emails/2023-01-02.md @@ -1,11 +1,11 @@ --- title: > - Don't use arbitrary values in Tailwind CSS + Don't use arbitrary values in Tailwind CSS pubDate: 2023-01-02 permalink: >- - archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css + archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css 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. diff --git a/source/_daily_emails/2023-01-03.md b/source/_daily_emails/2023-01-03.md index da8d7223..90d14178 100644 --- a/source/_daily_emails/2023-01-03.md +++ b/source/_daily_emails/2023-01-03.md @@ -1,11 +1,11 @@ --- title: > - Tailwind CSS' extensibility is one of its best features + Tailwind CSS' extensibility is one of its best features pubDate: 2023-01-03 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: - - 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. diff --git a/source/_daily_emails/2023-01-04.md b/source/_daily_emails/2023-01-04.md index 5133e222..63ab9906 100644 --- a/source/_daily_emails/2023-01-04.md +++ b/source/_daily_emails/2023-01-04.md @@ -1,11 +1,11 @@ --- title: > - Testable Tailwind CSS plugins + Testable Tailwind CSS plugins pubDate: 2023-01-04 permalink: >- - archive/2023/01/04/testable-tailwind-css-plugins + archive/2023/01/04/testable-tailwind-css-plugins 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. diff --git a/source/_daily_emails/2023-01-05.md b/source/_daily_emails/2023-01-05.md index 13e51ee8..f801ac02 100644 --- a/source/_daily_emails/2023-01-05.md +++ b/source/_daily_emails/2023-01-05.md @@ -1,11 +1,11 @@ --- title: > - Adding Tailwind CSS to an existing project + Adding Tailwind CSS to an existing project pubDate: 2023-01-05 permalink: >- - archive/2023/01/05/adding-tailwind-to-an-existing-project + archive/2023/01/05/adding-tailwind-to-an-existing-project 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. diff --git a/source/_daily_emails/2023-01-06.md b/source/_daily_emails/2023-01-06.md index 0266fde4..20383701 100644 --- a/source/_daily_emails/2023-01-06.md +++ b/source/_daily_emails/2023-01-06.md @@ -1,11 +1,11 @@ --- title: > - Utility-first or utility-last? + Utility-first or utility-last? pubDate: 2023-01-06 permalink: >- - archive/2023/01/06/utility-first-or-utility-last + archive/2023/01/06/utility-first-or-utility-last 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. diff --git a/source/_daily_emails/2023-01-07.md b/source/_daily_emails/2023-01-07.md index 3937c2a3..29966876 100644 --- a/source/_daily_emails/2023-01-07.md +++ b/source/_daily_emails/2023-01-07.md @@ -1,11 +1,11 @@ --- title: > - Reducing utility class duplication + Reducing utility class duplication pubDate: 2023-01-07 permalink: >- - archive/2023/01/07/reducing-utility-class-duplication + archive/2023/01/07/reducing-utility-class-duplication tags: - - tailwind-css + - tailwind-css --- diff --git a/source/_daily_emails/2023-01-16.md b/source/_daily_emails/2023-01-16.md index 02256975..7d48965c 100644 --- a/source/_daily_emails/2023-01-16.md +++ b/source/_daily_emails/2023-01-16.md @@ -1,9 +1,9 @@ --- title: > - Back after PHP Stoke + Back after PHP Stoke pubDate: 2023-01-16 permalink: >- - archive/2023/01/16/back-after-php-stoke + archive/2023/01/16/back-after-php-stoke # tags: # - a # - b diff --git a/source/_daily_emails/2023-01-17.md b/source/_daily_emails/2023-01-17.md index 43eb3bd0..fcffc7fa 100644 --- a/source/_daily_emails/2023-01-17.md +++ b/source/_daily_emails/2023-01-17.md @@ -1,11 +1,11 @@ --- title: > - Things to know about PHP + Things to know about PHP pubDate: 2023-01-17 permalink: >- - archive/2023/01/17/things-to-know-about-php + archive/2023/01/17/things-to-know-about-php 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. diff --git a/source/_daily_emails/2023-01-18.md b/source/_daily_emails/2023-01-18.md index 4a87467d..e716818a 100644 --- a/source/_daily_emails/2023-01-18.md +++ b/source/_daily_emails/2023-01-18.md @@ -1,11 +1,11 @@ --- title: > - Drupal turns 22! + Drupal turns 22! pubDate: 2023-01-18 permalink: >- - archive/2023/01/18/drupal-turns-22 + archive/2023/01/18/drupal-turns-22 tags: - - php + - php --- On Sunday, the Drupal project turned 22 years old. diff --git a/source/_daily_emails/2023-01-19.md b/source/_daily_emails/2023-01-19.md index c74e996a..52577fc2 100644 --- a/source/_daily_emails/2023-01-19.md +++ b/source/_daily_emails/2023-01-19.md @@ -1,12 +1,12 @@ --- title: > - Long-term maintainability with utility classes and Tailwind CSS + Long-term maintainability with utility classes and Tailwind CSS pubDate: 2023-01-19 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: - - css - - tailwind-css + - css + - tailwind-css --- One of the common initial concerns of utility classes and Tailwind CSS is its maintainability. diff --git a/source/_daily_emails/2023-01-20.md b/source/_daily_emails/2023-01-20.md index 7706e89b..4b81f17b 100644 --- a/source/_daily_emails/2023-01-20.md +++ b/source/_daily_emails/2023-01-20.md @@ -1,12 +1,12 @@ --- title: > - Tailwind's classes are your classes + Tailwind's classes are your classes pubDate: 2023-01-20 permalink: >- - archive/2023/01/20/tailwinds-classes-are-your-classes + archive/2023/01/20/tailwinds-classes-are-your-classes tags: - - css - - tailwind-css + - 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. diff --git a/source/_daily_emails/2023-01-21.md b/source/_daily_emails/2023-01-21.md index 51a8b462..bbc4c152 100644 --- a/source/_daily_emails/2023-01-21.md +++ b/source/_daily_emails/2023-01-21.md @@ -1,12 +1,12 @@ --- title: > - Tailwind: Not just translating CSS to utility classes + Tailwind: Not just translating CSS to utility classes pubDate: 2023-01-21 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: - - css - - tailwind-css + - 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). diff --git a/source/_daily_emails/2023-01-22.md b/source/_daily_emails/2023-01-22.md index fe471e8a..6a2e523e 100644 --- a/source/_daily_emails/2023-01-22.md +++ b/source/_daily_emails/2023-01-22.md @@ -1,12 +1,12 @@ --- title: > - Building Bootstrap CSS examples with Tailwind + Building Bootstrap CSS examples with Tailwind pubDate: 2023-01-22 permalink: >- - archive/2023/01/22/building-bootstrap-css-examples-with-tailwind + archive/2023/01/22/building-bootstrap-css-examples-with-tailwind tags: - - css - - tailwind-css + - 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. diff --git a/source/_daily_emails/2023-01-23.md b/source/_daily_emails/2023-01-23.md index 7c8acbe3..9d84be2d 100644 --- a/source/_daily_emails/2023-01-23.md +++ b/source/_daily_emails/2023-01-23.md @@ -1,11 +1,11 @@ --- title: > - Debugging with git bisect + Debugging with git bisect pubDate: 2023-01-23 permalink: >- - archive/2023/01/23/debugging-with-git-bisect + archive/2023/01/23/debugging-with-git-bisect tags: - - git + - git --- Last week, I had to debug a regression in a codebase. diff --git a/source/_daily_emails/2023-01-24.md b/source/_daily_emails/2023-01-24.md index e884ec32..67584be1 100644 --- a/source/_daily_emails/2023-01-24.md +++ b/source/_daily_emails/2023-01-24.md @@ -1,11 +1,11 @@ --- title: > - Small commits and good commit messges + Small commits and good commit messges pubDate: 2023-01-24 permalink: >- - archive/2023/01/24/small-commits-and-good-commit-messges + archive/2023/01/24/small-commits-and-good-commit-messges 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. diff --git a/source/_daily_emails/2023-01-25.md b/source/_daily_emails/2023-01-25.md index 48f2faea..e7ad03bb 100644 --- a/source/_daily_emails/2023-01-25.md +++ b/source/_daily_emails/2023-01-25.md @@ -1,11 +1,11 @@ --- title: > - To squash or not to squash + To squash or not to squash pubDate: 2023-01-25 permalink: >- - archive/2023/01/25/to-squash-or-not-to-squash + archive/2023/01/25/to-squash-or-not-to-squash tags: - - git + - git --- When reviewing a pull or merge request, tools like GitHub and GitHub offer the option to squash the commits before merging. diff --git a/source/_daily_emails/2023-02-07.md b/source/_daily_emails/2023-02-07.md index 46037961..35dff8df 100644 --- a/source/_daily_emails/2023-02-07.md +++ b/source/_daily_emails/2023-02-07.md @@ -1,11 +1,11 @@ --- title: > - Astro as a static site generator + Astro as a static site generator pubDate: 2023-02-07 permalink: >- - archive/2023/02/07/astro-as-a-static-site-generator + archive/2023/02/07/astro-as-a-static-site-generator 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}}). diff --git a/source/_daily_emails/2023-02-08.md b/source/_daily_emails/2023-02-08.md index 5dee1649..30ad51b8 100644 --- a/source/_daily_emails/2023-02-08.md +++ b/source/_daily_emails/2023-02-08.md @@ -1,11 +1,11 @@ --- title: > - Fetching external API data with Astro + Fetching external API data with Astro pubDate: 2023-02-08 permalink: >- - archive/2023/02/08/fetching-api-data-with-astro + archive/2023/02/08/fetching-api-data-with-astro 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. diff --git a/source/_daily_emails/2023-02-09.md b/source/_daily_emails/2023-02-09.md index 50582701..de8fcfe7 100644 --- a/source/_daily_emails/2023-02-09.md +++ b/source/_daily_emails/2023-02-09.md @@ -1,11 +1,11 @@ --- title: > - Creating API endpoints with Astro + Creating API endpoints with Astro pubDate: 2023-02-09 permalink: >- - archive/2023/02/09/creating-api-endpoints-with-astro + archive/2023/02/09/creating-api-endpoints-with-astro 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. diff --git a/source/_daily_emails/2023-02-16.md b/source/_daily_emails/2023-02-16.md index c030ef72..54cde52e 100644 --- a/source/_daily_emails/2023-02-16.md +++ b/source/_daily_emails/2023-02-16.md @@ -1,12 +1,12 @@ --- title: > - Tailwind CSS at the Bristol Software Development Meetup + Tailwind CSS at the Bristol Software Development Meetup pubDate: 2023-02-16 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: - - public-speaking - - tailwind-css + - public-speaking + - 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. diff --git a/source/_daily_emails/2023-02-17.md b/source/_daily_emails/2023-02-17.md index 7ad12333..abae15b7 100644 --- a/source/_daily_emails/2023-02-17.md +++ b/source/_daily_emails/2023-02-17.md @@ -1,13 +1,13 @@ --- title: > - Upgrading my Drupal example project to Drupal 10 + Upgrading my Drupal example project to Drupal 10 pubDate: 2023-02-17 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: - - docker - - drupal - - open-source + - docker + - drupal + - open-source --- Today I upgraded my [Drupal Docker example](https://github.com/opdavies/docker-examples/tree/main/drupal) to Drupal 10. diff --git a/source/_daily_emails/2023-02-18.md b/source/_daily_emails/2023-02-18.md index e9f58d9d..92957c2d 100644 --- a/source/_daily_emails/2023-02-18.md +++ b/source/_daily_emails/2023-02-18.md @@ -1,12 +1,12 @@ --- 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 permalink: >- - archive/2023/02/18/drupal-10-version-of-override-node-options + archive/2023/02/18/drupal-10-version-of-override-node-options tags: - - drupal - - open-source + - drupal + - 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. diff --git a/source/_daily_emails/2023-02-19.md b/source/_daily_emails/2023-02-19.md index 57bbfbe4..b6eb965d 100644 --- a/source/_daily_emails/2023-02-19.md +++ b/source/_daily_emails/2023-02-19.md @@ -1,9 +1,9 @@ --- title: > - Clients dont care which design pattern you use + Clients dont care which design pattern you use pubDate: 2023-02-19 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. diff --git a/source/_daily_emails/2023-02-20.md b/source/_daily_emails/2023-02-20.md index 222cb645..d98ed0d8 100644 --- a/source/_daily_emails/2023-02-20.md +++ b/source/_daily_emails/2023-02-20.md @@ -1,11 +1,11 @@ --- title: > - Tailwind: why I prefer to extract HTML components + Tailwind: why I prefer to extract HTML components pubDate: 2023-02-20 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: - - 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. diff --git a/source/_daily_emails/2023-03-01.md b/source/_daily_emails/2023-03-01.md index e4af342d..b1375f3f 100644 --- a/source/_daily_emails/2023-03-01.md +++ b/source/_daily_emails/2023-03-01.md @@ -1,12 +1,12 @@ --- title: > - Tailwind CSS at the Norfolk Developer Conference + Tailwind CSS at the Norfolk Developer Conference pubDate: 2023-03-01 permalink: >- - archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference + archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference tags: - - speaking - - tailwind-css + - speaking + - 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. diff --git a/source/_daily_emails/2023-03-02.md b/source/_daily_emails/2023-03-02.md index 05e2b9fc..09c70959 100644 --- a/source/_daily_emails/2023-03-02.md +++ b/source/_daily_emails/2023-03-02.md @@ -1,9 +1,9 @@ --- title: > - Busy working on client projects + Busy working on client projects pubDate: 2023-03-02 permalink: >- - archive/2023/03/02/busy-working-on-client-projects + archive/2023/03/02/busy-working-on-client-projects tags: [] --- diff --git a/source/_daily_emails/2023-03-03.md b/source/_daily_emails/2023-03-03.md index 6e848e4b..a22ccf29 100644 --- a/source/_daily_emails/2023-03-03.md +++ b/source/_daily_emails/2023-03-03.md @@ -1,12 +1,12 @@ --- title: > - Adding a LocalGov Drupal example + Adding a LocalGov Drupal example pubDate: 2023-03-03 permalink: >- - archive/2023/03/03/adding-a-localgov-drupal-example + archive/2023/03/03/adding-a-localgov-drupal-example tags: - - drupal - - localgov-drupal + - 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). diff --git a/source/_daily_emails/2023-03-04.md b/source/_daily_emails/2023-03-04.md index 511c6e3d..09aa70d4 100644 --- a/source/_daily_emails/2023-03-04.md +++ b/source/_daily_emails/2023-03-04.md @@ -1,9 +1,9 @@ --- title: > - Why I built a tool to generate configuration files + Why I built a tool to generate configuration files pubDate: 2023-03-04 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. diff --git a/source/_daily_emails/2023-03-05.md b/source/_daily_emails/2023-03-05.md index 1f37704a..de0091c4 100644 --- a/source/_daily_emails/2023-03-05.md +++ b/source/_daily_emails/2023-03-05.md @@ -1,9 +1,9 @@ --- title: > - Mentoring for School of Code + Mentoring for School of Code pubDate: 2023-03-05 permalink: >- - archive/2023/03/05/mentoring-for-school-of-code + archive/2023/03/05/mentoring-for-school-of-code tags: [] --- diff --git a/source/_daily_emails/2023-03-08.md b/source/_daily_emails/2023-03-08.md index 7cbed11d..d37a5860 100644 --- a/source/_daily_emails/2023-03-08.md +++ b/source/_daily_emails/2023-03-08.md @@ -1,11 +1,11 @@ --- title: > - Automating infrastructure with IaC + Automating infrastructure with IaC pubDate: 2023-03-08 permalink: >- - archive/2023/03/08/automating-infrastructure-with-iac + archive/2023/03/08/automating-infrastructure-with-iac 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? diff --git a/source/_daily_emails/2023-03-09.md b/source/_daily_emails/2023-03-09.md index ebcae124..fd1b9531 100644 --- a/source/_daily_emails/2023-03-09.md +++ b/source/_daily_emails/2023-03-09.md @@ -1,9 +1,9 @@ --- title: > - In what language should I write my automation? + In what language should I write my automation? pubDate: 2023-03-09 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: # - a # - b diff --git a/source/_daily_emails/2023-03-13.md b/source/_daily_emails/2023-03-13.md index 8765687c..12c2a375 100644 --- a/source/_daily_emails/2023-03-13.md +++ b/source/_daily_emails/2023-03-13.md @@ -1,9 +1,9 @@ --- title: > - What problem are we trying to solve? + What problem are we trying to solve? pubDate: 2023-03-13 permalink: >- - archive/2023/03/13/what-problem-am-i-trying-to-solve + archive/2023/03/13/what-problem-am-i-trying-to-solve tags: [] --- diff --git a/source/_daily_emails/2023-03-14.md b/source/_daily_emails/2023-03-14.md index 7da820d5..839fdae2 100644 --- a/source/_daily_emails/2023-03-14.md +++ b/source/_daily_emails/2023-03-14.md @@ -1,11 +1,11 @@ --- title: > - Automating all the things + Automating all the things pubDate: 2023-03-14 permalink: >- - archive/2023/03/14/automating-all-the-things + archive/2023/03/14/automating-all-the-things tags: - - automation + - automation --- As a solo Developer and Consultant, I rely a lot on automation to get my tasks done. diff --git a/source/_daily_emails/2023-03-15.md b/source/_daily_emails/2023-03-15.md index 4a30d592..a62761a4 100644 --- a/source/_daily_emails/2023-03-15.md +++ b/source/_daily_emails/2023-03-15.md @@ -1,11 +1,11 @@ --- title: > - The benefits of automation + The benefits of automation pubDate: 2023-03-15 permalink: >- - archive/2023/03/15/the-benefits-of-automation + archive/2023/03/15/the-benefits-of-automation 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. diff --git a/source/_daily_emails/2023-03-21.md b/source/_daily_emails/2023-03-21.md index 554ca07c..56ce3309 100644 --- a/source/_daily_emails/2023-03-21.md +++ b/source/_daily_emails/2023-03-21.md @@ -1,11 +1,11 @@ --- title: > - There isn't a standard "Tailwind-looking" site + There isn't a standard "Tailwind-looking" site pubDate: 2023-03-21 permalink: >- - archive/2023/03/21/there-isnt-a-tailwind-looking-site + archive/2023/03/21/there-isnt-a-tailwind-looking-site tags: - - tailwind-css + - tailwind-css --- When looking at some websites, you can tell that it was built using a certain CSS framework. diff --git a/source/_daily_emails/2023-03-22.md b/source/_daily_emails/2023-03-22.md index c581dd2b..9de7c6b5 100644 --- a/source/_daily_emails/2023-03-22.md +++ b/source/_daily_emails/2023-03-22.md @@ -1,12 +1,12 @@ --- title: > - With utility styles, your CSS stops growing + With utility styles, your CSS stops growing pubDate: 2023-03-22 permalink: >- - archive/2023/03/22/with-utility-styles-your-css-stops-growing + archive/2023/03/22/with-utility-styles-your-css-stops-growing tags: - - css - - tailwind-css + - 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. diff --git a/source/_daily_emails/2023-03-27.md b/source/_daily_emails/2023-03-27.md index 23b120b8..795c3125 100644 --- a/source/_daily_emails/2023-03-27.md +++ b/source/_daily_emails/2023-03-27.md @@ -1,9 +1,9 @@ --- title: > - Software development is about solving problems and adding value + Software development is about solving problems and adding value pubDate: 2023-03-27 permalink: >- - archive/2023/03/27/software-development-solving-problems-and-adding-value + archive/2023/03/27/software-development-solving-problems-and-adding-value # tags: # - a # - b diff --git a/source/_daily_emails/2023-04-07.md b/source/_daily_emails/2023-04-07.md index 28146135..0278e1e1 100644 --- a/source/_daily_emails/2023-04-07.md +++ b/source/_daily_emails/2023-04-07.md @@ -1,11 +1,11 @@ --- title: > - Speaking at PHP London + Speaking at PHP London pubDate: 2023-04-07 permalink: >- - archive/2023/04/07/speaking-at-php-london + archive/2023/04/07/speaking-at-php-london 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. diff --git a/source/_daily_emails/2023-04-08.md b/source/_daily_emails/2023-04-08.md index 652e95c2..e7e83e42 100644 --- a/source/_daily_emails/2023-04-08.md +++ b/source/_daily_emails/2023-04-08.md @@ -1,11 +1,11 @@ --- title: > - Why I use tmux + Why I use tmux pubDate: 2023-04-08 permalink: >- - archive/2023/04/08/why-i-use-tmux + archive/2023/04/08/why-i-use-tmux tags: - - tmux + - tmux --- tmux is a "terminal multiplexer" - a program that makes one terminal window into many. diff --git a/source/_daily_emails/2023-04-09.md b/source/_daily_emails/2023-04-09.md index 699f003a..b9e80ffa 100644 --- a/source/_daily_emails/2023-04-09.md +++ b/source/_daily_emails/2023-04-09.md @@ -1,14 +1,14 @@ --- title: > - Nix, NixOS, Home Manager, and WSL2 + Nix, NixOS, Home Manager, and WSL2 pubDate: 2023-04-09 permalink: >- - archive/2023/04/09/nix-nixos-home-manager-and-wsl2 + archive/2023/04/09/nix-nixos-home-manager-and-wsl2 tags: - - linux - - nix - - nixos - - wsl2 + - linux + - nix + - nixos + - 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. diff --git a/source/_daily_emails/2023-04-10.md b/source/_daily_emails/2023-04-10.md index b7f1c3b0..5b5af0bf 100644 --- a/source/_daily_emails/2023-04-10.md +++ b/source/_daily_emails/2023-04-10.md @@ -1,13 +1,13 @@ --- title: > - How I use Neovim for writing PHP + How I use Neovim for writing PHP pubDate: 2023-04-10 permalink: >- - archive/2023/04/10/how-i-use-neovim-for-writing-php + archive/2023/04/10/how-i-use-neovim-for-writing-php tags: - - neovim - - php - - vim + - neovim + - php + - vim --- Since [July 2021]({{site.url}}/blog/going-full-vim), I've used Neovim full-time for my development work and writing. diff --git a/source/_daily_emails/2023-04-11.md b/source/_daily_emails/2023-04-11.md index 4f70ae6d..2c43ae2f 100644 --- a/source/_daily_emails/2023-04-11.md +++ b/source/_daily_emails/2023-04-11.md @@ -1,14 +1,14 @@ --- title: > - just vs make + just vs make pubDate: 2023-04-11 permalink: >- - archive/2023/04/11/just-vs-make + archive/2023/04/11/just-vs-make tags: - - devops - - just - - make - - linux + - devops + - just + - make + - 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: diff --git a/source/_daily_emails/2023-04-12.md b/source/_daily_emails/2023-04-12.md index f0734105..32a0f8ff 100644 --- a/source/_daily_emails/2023-04-12.md +++ b/source/_daily_emails/2023-04-12.md @@ -1,11 +1,11 @@ --- title: > - Cleaner PHP code with promoted constructor properties + Cleaner PHP code with promoted constructor properties pubDate: 2023-04-12 permalink: >- - archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties + archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties tags: - - php + - php --- One of my favorite features that was introducted in PHP 8 was promoted constructor properties. diff --git a/source/_daily_emails/2023-04-13.md b/source/_daily_emails/2023-04-13.md index bb33c79f..720992a3 100644 --- a/source/_daily_emails/2023-04-13.md +++ b/source/_daily_emails/2023-04-13.md @@ -1,11 +1,11 @@ --- title: > - Immutable read-only properties in PHP 8.1 + Immutable read-only properties in PHP 8.1 pubDate: 2023-04-13 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: - - 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: @@ -14,8 +14,8 @@ Continuing with yesterday's data transfer object (DTO) example, something that c class AccountDetails { public function __construct( - public readonly string $accountNumber, - public readonly string $sortCode, + public readonly string $accountNumber, + public readonly string $sortCode, ) {} } diff --git a/source/_daily_emails/2023-04-14.md b/source/_daily_emails/2023-04-14.md index 9e177885..69b0da67 100644 --- a/source/_daily_emails/2023-04-14.md +++ b/source/_daily_emails/2023-04-14.md @@ -1,9 +1,9 @@ --- title: > - Data transfer objects and value objects + Data transfer objects and value objects pubDate: 2023-04-14 permalink: >- - archive/2023/04/14/data-transfer-objects-and-value-objects + archive/2023/04/14/data-transfer-objects-and-value-objects tags: [] --- diff --git a/source/_daily_emails/2023-04-15.md b/source/_daily_emails/2023-04-15.md index 40daa5de..b459898b 100644 --- a/source/_daily_emails/2023-04-15.md +++ b/source/_daily_emails/2023-04-15.md @@ -1,9 +1,9 @@ --- title: > - Automatically running commands with nodemon + Automatically running commands with nodemon pubDate: 2023-04-15 permalink: >- - archive/2023/04/15/automatically-running-commands-with-nodemon + archive/2023/04/15/automatically-running-commands-with-nodemon tags: [] --- diff --git a/source/_daily_emails/2023-04-16.md b/source/_daily_emails/2023-04-16.md index 2d3225fe..8594c1ba 100644 --- a/source/_daily_emails/2023-04-16.md +++ b/source/_daily_emails/2023-04-16.md @@ -1,11 +1,11 @@ --- title: > - Refactoring with readonly classes in PHP 8.2 + Refactoring with readonly classes in PHP 8.2 pubDate: 2023-04-16 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: - - 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. diff --git a/source/_daily_emails/2023-04-17.md b/source/_daily_emails/2023-04-17.md index 30e72af7..22f0f606 100644 --- a/source/_daily_emails/2023-04-17.md +++ b/source/_daily_emails/2023-04-17.md @@ -1,9 +1,9 @@ --- title: > - Introducing feature flags to "build-configs" + Introducing feature flags to "build-configs" pubDate: 2023-04-17 permalink: >- - archive/2023/04/17/introducing-feature-flags-to-build-configs + archive/2023/04/17/introducing-feature-flags-to-build-configs tags: [] --- diff --git a/source/_daily_emails/2023-04-18.md b/source/_daily_emails/2023-04-18.md index 0dcf91ba..286b3b5b 100644 --- a/source/_daily_emails/2023-04-18.md +++ b/source/_daily_emails/2023-04-18.md @@ -1,13 +1,13 @@ --- title: > - Consistency is key + Consistency is key pubDate: 2023-04-18 permalink: >- - archive/2023/04/18/consistency-is-key + archive/2023/04/18/consistency-is-key tags: - - automation - - devops - - docker + - automation + - devops + - docker --- A side effect of [using a tool to generate build configuration files]({{site.url}}/archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files) with templates is the consistency that it introduces. diff --git a/source/_daily_emails/2023-04-19.md b/source/_daily_emails/2023-04-19.md index 1345bebb..605dc4e3 100644 --- a/source/_daily_emails/2023-04-19.md +++ b/source/_daily_emails/2023-04-19.md @@ -1,12 +1,12 @@ --- title: > - Camel-case or snake-case for Drupal code? + Camel-case or snake-case for Drupal code? pubDate: 2023-04-19 permalink: >- - archive/2023/04/19/camel-case-or-snake-case-for-drupal-code + archive/2023/04/19/camel-case-or-snake-case-for-drupal-code tags: - - drupal - - php + - drupal + - php --- For some time, [Drupal's PHP coding standards](https://www.drupal.org/docs/develop/standards/php/php-coding-standards#s-functions-and-variables) allows for writing variables in either snake-case (e.g. `$my_variable`) or lower camel-case (`e.g. $myVariable`). diff --git a/source/_daily_emails/2023-04-20.md b/source/_daily_emails/2023-04-20.md index c4e7196e..883175b4 100644 --- a/source/_daily_emails/2023-04-20.md +++ b/source/_daily_emails/2023-04-20.md @@ -1,13 +1,13 @@ --- title: > - Micro-refactorings + Micro-refactorings pubDate: 2023-04-20 permalink: >- - archive/2023/04/20/micro-refactorings + archive/2023/04/20/micro-refactorings tags: - - refactoring - - technical-debt - - programming + - refactoring + - technical-debt + - programming --- Today, I saw a [LinkedIn post by Peter Morlion](https://www.linkedin.com/posts/petermorlion_refactoring-technicaldebt-softwaredevelopment-activity-7054378097051095040-I545), in which he describes micro-refactoring - very small and safe refactors like renaming a variable, moving a method in a file to a more logical place, or adding a comment. diff --git a/source/_daily_emails/2023-04-21.md b/source/_daily_emails/2023-04-21.md index 5f2ad564..d218f08a 100644 --- a/source/_daily_emails/2023-04-21.md +++ b/source/_daily_emails/2023-04-21.md @@ -1,12 +1,12 @@ --- title: > - Making my Drupal module template Drupal 10 compatible + Making my Drupal module template Drupal 10 compatible pubDate: 2023-04-21 permalink: >- - archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible + archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible tags: - - drupal - - php + - drupal + - php --- Today, I made my [Drupal module template](https://github.com/opdavies/drupal-module-template) compatible with Drupal 10. diff --git a/source/_daily_emails/2023-04-22.md b/source/_daily_emails/2023-04-22.md index 4c56e6b7..103b104b 100644 --- a/source/_daily_emails/2023-04-22.md +++ b/source/_daily_emails/2023-04-22.md @@ -1,14 +1,14 @@ --- title: > - Configuration files as a service + Configuration files as a service pubDate: 2023-04-22 permalink: >- - archive/2023/04/22/build-configs-as-a-service + archive/2023/04/22/build-configs-as-a-service tags: - - development - - devops - - drupal - - php + - development + - devops + - drupal + - php --- After using my "build-configs" tool to generate and manage configuration files for several personal and client Drupal projects for the past few months, I'm offering it as a product to purchase. diff --git a/source/_daily_emails/2023-04-23.md b/source/_daily_emails/2023-04-23.md index 3b115cef..e4848409 100644 --- a/source/_daily_emails/2023-04-23.md +++ b/source/_daily_emails/2023-04-23.md @@ -1,12 +1,12 @@ --- title: > - Laravel Pipelines + Laravel Pipelines pubDate: 2023-04-23 permalink: >- - archive/2023/04/23/laravel-pipelines + archive/2023/04/23/laravel-pipelines tags: - - php - - laravel + - php + - laravel --- I've seen a lot on social media and posts and videos recently about Laravel Pipelines - functionality that's been present in Laravel and used within the framework for some time - but there was only documentation added for it last month as part of the Laravel 10 release. diff --git a/source/_daily_emails/2023-04-24.md b/source/_daily_emails/2023-04-24.md index c35cb515..14eeb769 100644 --- a/source/_daily_emails/2023-04-24.md +++ b/source/_daily_emails/2023-04-24.md @@ -1,13 +1,13 @@ --- title: > - CI pipelines should start locally + CI pipelines should start locally pubDate: 2023-04-24 permalink: >- - archive/2023/04/24/ci-pipelines-should-start-locally + archive/2023/04/24/ci-pipelines-should-start-locally tags: - - development - - devops - - git + - development + - devops + - git --- This week, Solomon Hykes (@solomonstre on Twitter) said: diff --git a/source/_daily_emails/2023-04-25.md b/source/_daily_emails/2023-04-25.md index 6a0721a8..cecb1d07 100644 --- a/source/_daily_emails/2023-04-25.md +++ b/source/_daily_emails/2023-04-25.md @@ -1,13 +1,13 @@ --- title: > - Shortening the feedback loop even more + Shortening the feedback loop even more pubDate: 2023-04-25 permalink: >- - archive/2023/04/25/shortening-the-feedback-loop-even-more + archive/2023/04/25/shortening-the-feedback-loop-even-more tags: - - development - - devops - - neovim + - development + - devops + - neovim --- Yesterday's email was about shortening the feedback loop of a CI pipeline by running some of the checks like PHPCS and PHPStan locally and dealing with any errors before they get pushed to the code repository. diff --git a/source/_daily_emails/2023-04-26.md b/source/_daily_emails/2023-04-26.md index fa8c0d31..798c64c0 100644 --- a/source/_daily_emails/2023-04-26.md +++ b/source/_daily_emails/2023-04-26.md @@ -1,12 +1,12 @@ --- title: > - Structure a new test by writing comments first + Structure a new test by writing comments first pubDate: 2023-04-26 permalink: >- - archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first + archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Test cases are usually split into two or three sections - "Arrange, Act, Assert" or "Given, When, Then". diff --git a/source/_daily_emails/2023-04-27.md b/source/_daily_emails/2023-04-27.md index 3406bb7c..0b8bfafd 100644 --- a/source/_daily_emails/2023-04-27.md +++ b/source/_daily_emails/2023-04-27.md @@ -1,12 +1,12 @@ --- title: > - Write the test backwards + Write the test backwards pubDate: 2023-04-27 permalink: >- - archive/2023/04/27/tdd-write-the-test-backwards + archive/2023/04/27/tdd-write-the-test-backwards tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When writing a test, something that I like to do is start by writing the first assertion first, and then work backwards. diff --git a/source/_daily_emails/2023-04-30.md b/source/_daily_emails/2023-04-30.md index a37ae754..6696001e 100644 --- a/source/_daily_emails/2023-04-30.md +++ b/source/_daily_emails/2023-04-30.md @@ -1,11 +1,11 @@ --- title: > - Will we see Drupal 7.100? + Will we see Drupal 7.100? pubDate: 2023-04-30 permalink: >- - archive/2023/04/30/will-we-see-drupal-7-100 + archive/2023/04/30/will-we-see-drupal-7-100 tags: - - drupal + - drupal --- Drupal 7, first released in January 2011, is now on version 7.97. diff --git a/source/_daily_emails/2023-05-01.md b/source/_daily_emails/2023-05-01.md index 2f422c6e..3ec367a7 100644 --- a/source/_daily_emails/2023-05-01.md +++ b/source/_daily_emails/2023-05-01.md @@ -1,13 +1,13 @@ --- title: > - Should Drupal 7 support be extended again? + Should Drupal 7 support be extended again? pubDate: 2023-05-01 permalink: >- - archive/2023/05/01/should-drupal-7-support-be-extended-again + archive/2023/05/01/should-drupal-7-support-be-extended-again tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Drupal 7, which was released in 2011, was originally supposed to be end-of-life in November 2022. diff --git a/source/_daily_emails/2023-05-02.md b/source/_daily_emails/2023-05-02.md index b418cfe1..0959eb54 100644 --- a/source/_daily_emails/2023-05-02.md +++ b/source/_daily_emails/2023-05-02.md @@ -1,13 +1,13 @@ --- title: > - Does it depend on who you ask? + Does it depend on who you ask? pubDate: 2023-05-02 permalink: >- - archive/2023/05/02/does-it-depend-on-who-you-ask + archive/2023/05/02/does-it-depend-on-who-you-ask tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- The answer to "[Should Drupal 7 support be extended again?]({{site.url}}/archive/2023/05/01/should-drupal-7-support-be-extended-again)" might depend on who you ask. diff --git a/source/_daily_emails/2023-05-03.md b/source/_daily_emails/2023-05-03.md index 9300b185..9515f09d 100644 --- a/source/_daily_emails/2023-05-03.md +++ b/source/_daily_emails/2023-05-03.md @@ -1,13 +1,13 @@ --- title: > - Just because core is supported... + Just because core is supported... pubDate: 2023-05-03 permalink: >- - archive/2023/05/03/just-because-core-is-supported + archive/2023/05/03/just-because-core-is-supported tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Just because Drupal core is supported, it doesn't mean that all of the other modules your project uses are still also supported or actively worked on. diff --git a/source/_daily_emails/2023-05-04.md b/source/_daily_emails/2023-05-04.md index 9b334266..e2d39282 100644 --- a/source/_daily_emails/2023-05-04.md +++ b/source/_daily_emails/2023-05-04.md @@ -1,15 +1,15 @@ --- title: > - Speaking at the Symfony UK meetup in London + Speaking at the Symfony UK meetup in London pubDate: 2023-05-04 permalink: >- - archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london + archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london tags: - - speaking - - mob-programming - - php - - phpc - - symfony + - speaking + - mob-programming + - php + - phpc + - symfony --- After registering as an attendee, I've been upgraded to a speaker for next week's event and the first in-person Symfony UK meetup in two years. diff --git a/source/_daily_emails/2023-05-05.md b/source/_daily_emails/2023-05-05.md index 74d76a15..a062aaa3 100644 --- a/source/_daily_emails/2023-05-05.md +++ b/source/_daily_emails/2023-05-05.md @@ -1,13 +1,13 @@ --- title: > - Getting to green + Getting to green pubDate: 2023-05-05 permalink: >- - archive/2023/05/05/getting-to-green + archive/2023/05/05/getting-to-green tags: - - automated-testing - - testing - - test-driven development + - automated-testing + - testing + - test-driven development --- When doing test-driven development, once you've written a failing (a.k.a. red) test, the main objective is to get to a green (a.k.a. passing) test as quickly as possible via the simplest method. diff --git a/source/_daily_emails/2023-05-06.md b/source/_daily_emails/2023-05-06.md index 3bccccfa..613ff8ff 100644 --- a/source/_daily_emails/2023-05-06.md +++ b/source/_daily_emails/2023-05-06.md @@ -1,12 +1,12 @@ --- title: > - Why it's important to see the test fail + Why it's important to see the test fail pubDate: 2023-05-06 permalink: >- - archive/2023/05/06/why-its-important-to-see-the-test-fail + archive/2023/05/06/why-its-important-to-see-the-test-fail tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- With automated testing and test-driven development, it's important to see a test fail. diff --git a/source/_daily_emails/2023-05-07.md b/source/_daily_emails/2023-05-07.md index 4747cb86..d5eb4f17 100644 --- a/source/_daily_emails/2023-05-07.md +++ b/source/_daily_emails/2023-05-07.md @@ -1,12 +1,12 @@ --- title: > - You don't need to think about what to do next + You don't need to think about what to do next pubDate: 2023-05-07 permalink: >- - archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next + archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When practising test-driven development, you don't need to think about what to do next. diff --git a/source/_daily_emails/2023-05-08.md b/source/_daily_emails/2023-05-08.md index f185c6a6..c58e1945 100644 --- a/source/_daily_emails/2023-05-08.md +++ b/source/_daily_emails/2023-05-08.md @@ -1,12 +1,12 @@ --- title: > - Only write enough code to get a failing test + Only write enough code to get a failing test pubDate: 2023-05-08 permalink: >- - archive/2023/05/08/only-write-enough-code-to-get-a-failing-test + archive/2023/05/08/only-write-enough-code-to-get-a-failing-test tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Instead of writing a whole test and then attempting to make it pass, only write enough code to get the test to fail. diff --git a/source/_daily_emails/2023-05-09.md b/source/_daily_emails/2023-05-09.md index 90dc1c3b..3f3dcd1c 100644 --- a/source/_daily_emails/2023-05-09.md +++ b/source/_daily_emails/2023-05-09.md @@ -1,9 +1,9 @@ --- title: > - The single responsibility principle + The single responsibility principle pubDate: 2023-05-09 permalink: >- - archive/2023/05/09/the-single-responsibility-principle + archive/2023/05/09/the-single-responsibility-principle tags: [] --- diff --git a/source/_daily_emails/2023-05-10.md b/source/_daily_emails/2023-05-10.md index e2fd038b..3a201cc7 100644 --- a/source/_daily_emails/2023-05-10.md +++ b/source/_daily_emails/2023-05-10.md @@ -1,12 +1,12 @@ --- title: > - Tailwind CSS makes change easier + Tailwind CSS makes change easier pubDate: 2023-05-10 permalink: >- - archive/2023/05/10/tailwind-css-makes-change-easier + archive/2023/05/10/tailwind-css-makes-change-easier tags: - - css - - tailwind-css + - css + - tailwind-css --- CSS usually has a global scope which can make change risky. diff --git a/source/_daily_emails/2023-05-11.md b/source/_daily_emails/2023-05-11.md index 2a0381d4..1ce45d47 100644 --- a/source/_daily_emails/2023-05-11.md +++ b/source/_daily_emails/2023-05-11.md @@ -1,12 +1,12 @@ --- title: > - Why I like pair and mob programming + Why I like pair and mob programming pubDate: 2023-05-11 permalink: >- - archive/2023/05/11/why-i-like-pair-and-mob-programming + archive/2023/05/11/why-i-like-pair-and-mob-programming tags: - - pair-programming - - mob-programming + - pair-programming + - mob-programming --- When working as part of a team, I like to do pair or mob programming as much as possible. diff --git a/source/_daily_emails/2023-05-12.md b/source/_daily_emails/2023-05-12.md index b22399c8..a386d4dd 100644 --- a/source/_daily_emails/2023-05-12.md +++ b/source/_daily_emails/2023-05-12.md @@ -1,12 +1,12 @@ --- title: > - Always listen to the mob + Always listen to the mob pubDate: 2023-05-12 permalink: >- - archive/2023/05/12/always-listen-to-the-mob + archive/2023/05/12/always-listen-to-the-mob tags: - - pair-programming - - mob-programming + - pair-programming + - mob-programming --- Something I'm aware of when working in a pair or mob is to always listen to input from other team members. diff --git a/source/_daily_emails/2023-05-13.md b/source/_daily_emails/2023-05-13.md index 48f6163f..06d4bbb2 100644 --- a/source/_daily_emails/2023-05-13.md +++ b/source/_daily_emails/2023-05-13.md @@ -1,11 +1,11 @@ --- title: > - When You Do Things Right, People Won't Be Sure You've Done Anything at All + When You Do Things Right, People Won't Be Sure You've Done Anything at All pubDate: 2023-05-13 permalink: >- - archive/2023/05/13/when-you-do-things-right + archive/2023/05/13/when-you-do-things-right tags: - - software-development + - software-development --- I think this quote from Futurama also applies well to software development: diff --git a/source/_daily_emails/2023-05-14.md b/source/_daily_emails/2023-05-14.md index db5c953a..e4241823 100644 --- a/source/_daily_emails/2023-05-14.md +++ b/source/_daily_emails/2023-05-14.md @@ -1,11 +1,11 @@ --- title: > - Releasing small changes often is less risky + Releasing small changes often is less risky pubDate: 2023-05-14 permalink: >- - archive/2023/05/14/releasing-small-changes-often-is-less-risky + archive/2023/05/14/releasing-small-changes-often-is-less-risky tags: - - software-development + - software-development --- Contrary to what many think (at least to begin with), releasing small, incremental changes often - maybe daily or weekly - is less risky than larger releases containing weeks or months of changes. diff --git a/source/_daily_emails/2023-05-15.md b/source/_daily_emails/2023-05-15.md index 4c3391e2..bd008b20 100644 --- a/source/_daily_emails/2023-05-15.md +++ b/source/_daily_emails/2023-05-15.md @@ -1,13 +1,13 @@ --- title: > - Is the Drupal release cycle too fast? + Is the Drupal release cycle too fast? pubDate: 2023-05-15 permalink: >- - archive/2023/05/15/is-the-drupal-release-cycle-too-fast + archive/2023/05/15/is-the-drupal-release-cycle-too-fast tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Compared to Drupal 7, [which is almost at version 100](https://oliverdavies.dev/archive/2023/04/30/will-we-see-drupal-7-100), the release cycle from Drupal 9 onwards has been quite different. diff --git a/source/_daily_emails/2023-05-16.md b/source/_daily_emails/2023-05-16.md index 2fec9836..0746538d 100644 --- a/source/_daily_emails/2023-05-16.md +++ b/source/_daily_emails/2023-05-16.md @@ -1,11 +1,11 @@ --- title: > - Mastering your tools improves productivity + Mastering your tools improves productivity pubDate: 2023-05-16 permalink: >- - archive/2023/05/16/mastering-your-tools-improves-productivity + archive/2023/05/16/mastering-your-tools-improves-productivity tags: - - software-development + - software-development --- Spending time to learn and master your tools, whether it's your IDE or text editor, CMS or framework, or something else that you use regularly like Git, spending time to expand on the basics and learn it more thoroughly is an investment in your future. diff --git a/source/_daily_emails/2023-05-17.md b/source/_daily_emails/2023-05-17.md index 412859f6..b59165fb 100644 --- a/source/_daily_emails/2023-05-17.md +++ b/source/_daily_emails/2023-05-17.md @@ -1,13 +1,13 @@ --- title: > - What is deprecated code? + What is deprecated code? pubDate: 2023-05-17 permalink: >- - archive/2023/05/17/what-is-deprecated-code + archive/2023/05/17/what-is-deprecated-code tags: - - php - - drupal - - software-development + - php + - drupal + - software-development --- Deprecating code is a way of identifying code that will be removed in a future major version. diff --git a/source/_daily_emails/2023-05-18.md b/source/_daily_emails/2023-05-18.md index ffb40747..b322ad20 100644 --- a/source/_daily_emails/2023-05-18.md +++ b/source/_daily_emails/2023-05-18.md @@ -1,11 +1,11 @@ --- title: > - Why is backward compatibility important? + Why is backward compatibility important? pubDate: 2023-05-18 permalink: >- - archive/2023/05/18/why-is-backward-compatibility-important + archive/2023/05/18/why-is-backward-compatibility-important tags: - - software-development + - software-development --- In yesterday's email, I mentioned that deprecating code allows it to be backwards compatible - but what does that mean? diff --git a/source/_daily_emails/2023-05-19.md b/source/_daily_emails/2023-05-19.md index d92dfceb..1bdfebad 100644 --- a/source/_daily_emails/2023-05-19.md +++ b/source/_daily_emails/2023-05-19.md @@ -1,11 +1,11 @@ --- title: > - Semantic versioning + Semantic versioning pubDate: 2023-05-19 permalink: >- - archive/2023/05/19/semantic-versioning + archive/2023/05/19/semantic-versioning tags: - - software-development + - software-development --- The version number of a release is a key indicator of whether it’s compatible with existing code. diff --git a/source/_daily_emails/2023-05-20.md b/source/_daily_emails/2023-05-20.md index 2a5535b3..5d66338f 100644 --- a/source/_daily_emails/2023-05-20.md +++ b/source/_daily_emails/2023-05-20.md @@ -1,11 +1,11 @@ --- title: > - A minor breaking change + A minor breaking change pubDate: 2023-05-20 permalink: >- - archive/2023/05/20/a-minor-breaking-change + archive/2023/05/20/a-minor-breaking-change tags: - - software-development + - software-development --- Today, in the repository of an open-source project, I saw an issue comment saying, "This is a minor breaking change.". diff --git a/source/_daily_emails/2023-05-21.md b/source/_daily_emails/2023-05-21.md index d6eec22e..98bced6a 100644 --- a/source/_daily_emails/2023-05-21.md +++ b/source/_daily_emails/2023-05-21.md @@ -1,13 +1,13 @@ --- title: > - Drupal 9: almost end-of-life already + Drupal 9: almost end-of-life already pubDate: 2023-05-21 permalink: >- - archive/2023/05/21/drupal-9-almost-end-of-life-already + archive/2023/05/21/drupal-9-almost-end-of-life-already tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- With the focus being on Drupal 7's potential end-of-life this November, it's also worth being aware that Drupal 9 (released in June 2020) will also be unsupported as of November 2023. diff --git a/source/_daily_emails/2023-06-05.md b/source/_daily_emails/2023-06-05.md index 67e8a0ec..d319977f 100644 --- a/source/_daily_emails/2023-06-05.md +++ b/source/_daily_emails/2023-06-05.md @@ -1,13 +1,13 @@ --- title: > - How long should a feature flag live? + How long should a feature flag live? pubDate: 2023-06-05 permalink: >- - archive/2023/06/05/how-long-should-a-feature-flag-live + archive/2023/06/05/how-long-should-a-feature-flag-live tags: - - software-development - - software-engineering - - feature-flags + - software-development + - software-engineering + - feature-flags --- Instead of creating a branch that lives for as long as the code takes to write, if it's behind a feature flag, the code can be merged into the mainline branch without affecting the rest of the codebase. diff --git a/source/_daily_emails/2023-06-06.md b/source/_daily_emails/2023-06-06.md index e953cfd3..1658aea2 100644 --- a/source/_daily_emails/2023-06-06.md +++ b/source/_daily_emails/2023-06-06.md @@ -1,13 +1,13 @@ --- title: > - Drupal 7 end-of-life extended + Drupal 7 end-of-life extended pubDate: 2023-06-06 permalink: >- - archive/2023/06/06/drupal-7-end-of-life-extended + archive/2023/06/06/drupal-7-end-of-life-extended tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- It was announced this week at DrupalCon that the end-of-life date for Drupal 7 has been extended until the 5th of January 2025, giving another year for people to upgrade the 40,000+ Drupal 7 websites. diff --git a/source/_daily_emails/2023-06-07.md b/source/_daily_emails/2023-06-07.md index 4c46c93f..be143977 100644 --- a/source/_daily_emails/2023-06-07.md +++ b/source/_daily_emails/2023-06-07.md @@ -1,13 +1,13 @@ --- title: > - What does the Drupal 7 EOL extension mean to you? + What does the Drupal 7 EOL extension mean to you? pubDate: 2023-06-07 permalink: >- - archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you + archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you tags: - - drupal - - drupal-7 - - php + - drupal + - drupal-7 + - php --- Following the announcement at DrupalCon, the official announcement has been released regarding Drupal 7's end-of-life extension: diff --git a/source/_daily_emails/2023-06-08.md b/source/_daily_emails/2023-06-08.md index 3411016c..5eea8c47 100644 --- a/source/_daily_emails/2023-06-08.md +++ b/source/_daily_emails/2023-06-08.md @@ -1,12 +1,12 @@ --- title: > - Write less Drupal code + Write less Drupal code pubDate: 2023-06-08 permalink: >- - archive/2023/06/08/write-less-drupal-code + archive/2023/06/08/write-less-drupal-code tags: - - drupal - - php + - drupal + - php --- An approach I like to make my Drupal code more maintainable is to write less of it and move any generic PHP code into separate framework-agnostic libraries. diff --git a/source/_daily_emails/2023-06-09.md b/source/_daily_emails/2023-06-09.md index 1f74e020..8b5bc95c 100644 --- a/source/_daily_emails/2023-06-09.md +++ b/source/_daily_emails/2023-06-09.md @@ -1,12 +1,12 @@ --- title: > - Drupal is built by people + Drupal is built by people pubDate: 2023-06-09 permalink: >- - archive/2023/06/09/drupal-is-built-by-people + archive/2023/06/09/drupal-is-built-by-people tags: - - drupal - - php + - drupal + - php --- A quote I heard from DrupalCon, made by my former colleague Tim Lehnen - CTO at the Drupal Association - when talking about contribution: diff --git a/source/_daily_emails/2023-06-10.md b/source/_daily_emails/2023-06-10.md index 278b5c2d..c28ea50b 100644 --- a/source/_daily_emails/2023-06-10.md +++ b/source/_daily_emails/2023-06-10.md @@ -1,11 +1,11 @@ --- title: > - How do you know when to remove a feature flag? + How do you know when to remove a feature flag? pubDate: 2023-06-10 permalink: >- - archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag + archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag tags: - - feature-flags + - feature-flags --- But once a feature has been enabled, how do you know if you can remove its flag? diff --git a/source/_daily_emails/2023-06-11.md b/source/_daily_emails/2023-06-11.md index fe3f988f..10d492d0 100644 --- a/source/_daily_emails/2023-06-11.md +++ b/source/_daily_emails/2023-06-11.md @@ -1,9 +1,9 @@ --- title: > - Failing fast + Failing fast pubDate: 2023-06-11 permalink: >- - archive/2023/06/11/failing-fast + archive/2023/06/11/failing-fast tags: [] --- diff --git a/source/_daily_emails/2023-06-12.md b/source/_daily_emails/2023-06-12.md index c5a85344..aaea929b 100644 --- a/source/_daily_emails/2023-06-12.md +++ b/source/_daily_emails/2023-06-12.md @@ -1,11 +1,11 @@ --- title: > - Feature flags in a multi-tenancy application + Feature flags in a multi-tenancy application pubDate: 2023-06-12 permalink: >- - archive/2023/06/12/feature-flags-in-a-multi-tenancy-application + archive/2023/06/12/feature-flags-in-a-multi-tenancy-application tags: - - feature-flags + - feature-flags --- A scenario for having long-lived feature flags is in a multi-tenant application where the same codebase serves multiple projects - e.g. a multi-site Drupal application or a module reused on multiple websites. diff --git a/source/_daily_emails/2023-06-13.md b/source/_daily_emails/2023-06-13.md index 865f6f8e..24bb49bd 100644 --- a/source/_daily_emails/2023-06-13.md +++ b/source/_daily_emails/2023-06-13.md @@ -1,11 +1,11 @@ --- title: > - Should you feature flag everything? + Should you feature flag everything? pubDate: 2023-06-13 permalink: >- - archive/2023/06/13/should-you-feature-flag-everything + archive/2023/06/13/should-you-feature-flag-everything tags: - - feature-flags + - feature-flags --- Whilst it's probably impractical to feature flag every new feature or change to your application, considering it is something I do for each change. diff --git a/source/_daily_emails/2023-06-14.md b/source/_daily_emails/2023-06-14.md index 2bbee2f5..f4841f00 100644 --- a/source/_daily_emails/2023-06-14.md +++ b/source/_daily_emails/2023-06-14.md @@ -1,11 +1,11 @@ --- title: > - What if there was no open-source software + What if there was no open-source software pubDate: 2023-06-14 permalink: >- - archive/2023/06/14/what-if-there-was-no-open-source-software + archive/2023/06/14/what-if-there-was-no-open-source-software tags: - - open-source + - open-source --- I was listening to a podcast today, and the question was mentioned - "What if there was no open-source software?". diff --git a/source/_daily_emails/2023-06-15.md b/source/_daily_emails/2023-06-15.md index 9a2a3620..4ff00c6b 100644 --- a/source/_daily_emails/2023-06-15.md +++ b/source/_daily_emails/2023-06-15.md @@ -1,9 +1,9 @@ --- title: > - Done is better than perfect + Done is better than perfect pubDate: 2023-06-15 permalink: >- - archive/2023/06/15/done-is-better-than-perfect + archive/2023/06/15/done-is-better-than-perfect tags: [] --- diff --git a/source/_daily_emails/2023-06-16.md b/source/_daily_emails/2023-06-16.md index 84570541..e8dac80f 100644 --- a/source/_daily_emails/2023-06-16.md +++ b/source/_daily_emails/2023-06-16.md @@ -1,9 +1,9 @@ --- title: > - Make the change easy, then make the easy change + Make the change easy, then make the easy change pubDate: 2023-06-16 permalink: >- - archive/2023/06/16/make-the-easy-change + archive/2023/06/16/make-the-easy-change tags: [] --- diff --git a/source/_daily_emails/2023-06-17.md b/source/_daily_emails/2023-06-17.md index 53948f12..67b4277b 100644 --- a/source/_daily_emails/2023-06-17.md +++ b/source/_daily_emails/2023-06-17.md @@ -1,12 +1,12 @@ --- title: > - Avoid Git merge hell with trunk-based development + Avoid Git merge hell with trunk-based development pubDate: 2023-06-17 permalink: >- - archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development + archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development tags: - - git - - trunk-based-development + - git + - trunk-based-development --- Regardless of whether I was working as part of a team or individually, I used to create a new branch for every change. I'd do the work and merge the feature branch back into the mainline branch - usually either `main` or `develop`. diff --git a/source/_daily_emails/2023-06-18.md b/source/_daily_emails/2023-06-18.md index 3abd759a..a124a007 100644 --- a/source/_daily_emails/2023-06-18.md +++ b/source/_daily_emails/2023-06-18.md @@ -1,13 +1,13 @@ --- title: > - Are you really doing CI/CD? + Are you really doing CI/CD? pubDate: 2023-06-18 permalink: >- - archive/2023/06/18/are-you-doing-ci-cd + archive/2023/06/18/are-you-doing-ci-cd tags: - - continuous-integration - - continuous-delivery - - continuous-deployment + - continuous-integration + - continuous-delivery + - continuous-deployment --- Does your team really do CI/CD (continuous integration and delivery)? diff --git a/source/_daily_emails/2023-06-19.md b/source/_daily_emails/2023-06-19.md index a14b43cd..dd848d2e 100644 --- a/source/_daily_emails/2023-06-19.md +++ b/source/_daily_emails/2023-06-19.md @@ -1,12 +1,12 @@ --- title: > - Should you upgrade from Drupal 7 to Drupal 10? + Should you upgrade from Drupal 7 to Drupal 10? pubDate: 2023-06-19 permalink: >- - archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 + archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 tags: - - drupal - - drupal-7 + - drupal + - drupal-7 --- If you're stuck on Drupal 7, why should you upgrade to Drupal 10 instead of moving to another platform? diff --git a/source/_daily_emails/2023-06-20.md b/source/_daily_emails/2023-06-20.md index 41477699..0622562d 100644 --- a/source/_daily_emails/2023-06-20.md +++ b/source/_daily_emails/2023-06-20.md @@ -1,11 +1,11 @@ --- title: > - Should you deploy on a Friday? + Should you deploy on a Friday? pubDate: 2023-06-20 permalink: >- - archive/2023/06/20/should-you-deploy-on-a-friday + archive/2023/06/20/should-you-deploy-on-a-friday tags: - - deployments + - deployments --- There's a common saying about not deploying changes on a Friday to prevent outages or issues before the weekend. diff --git a/source/_daily_emails/2023-06-21.md b/source/_daily_emails/2023-06-21.md index 0e080e93..ae5e543d 100644 --- a/source/_daily_emails/2023-06-21.md +++ b/source/_daily_emails/2023-06-21.md @@ -1,12 +1,12 @@ --- title: > - Deployments or releases + Deployments or releases pubDate: 2023-06-21 permalink: >- - archive/2023/06/21/deployments-or-releases + archive/2023/06/21/deployments-or-releases tags: - - deployments - - releases + - deployments + - releases --- "Deployments" and "releases" are often used interchangeably but mean different things. diff --git a/source/_daily_emails/2023-06-22.md b/source/_daily_emails/2023-06-22.md index b57cf039..b90da02d 100644 --- a/source/_daily_emails/2023-06-22.md +++ b/source/_daily_emails/2023-06-22.md @@ -1,9 +1,9 @@ --- title: > - It's only a bad situation if you fail to learn from it + It's only a bad situation if you fail to learn from it pubDate: 2023-06-22 permalink: >- - archive/2023/06/22/fail-to-lear + archive/2023/06/22/fail-to-lear tags: [] --- diff --git a/source/_daily_emails/2023-06-23.md b/source/_daily_emails/2023-06-23.md index 100cfdaf..48993d1c 100644 --- a/source/_daily_emails/2023-06-23.md +++ b/source/_daily_emails/2023-06-23.md @@ -1,11 +1,11 @@ --- title: > - Why keep a Changelog? + Why keep a Changelog? pubDate: 2023-06-23 permalink: >- - archive/2023/06/23/why-keep-a-changelog + archive/2023/06/23/why-keep-a-changelog tags: - - changelog + - changelog --- diff --git a/source/_daily_emails/2023-06-24.md b/source/_daily_emails/2023-06-24.md index 8fa6d30b..43c00885 100644 --- a/source/_daily_emails/2023-06-24.md +++ b/source/_daily_emails/2023-06-24.md @@ -1,12 +1,12 @@ --- title: > - Credited on 200 fixed issues on Drupal.org + Credited on 200 fixed issues on Drupal.org pubDate: 2023-06-24 permalink: >- - archive/2023/06/24/credited-on-200-fixed-issues + archive/2023/06/24/credited-on-200-fixed-issues tags: - - drupal - - open-source + - drupal + - open-source --- While writing yesterday's email, I saw this on my Drupal.org profile (https://www.drupal.org/u/opdavies): diff --git a/source/_daily_emails/2023-06-25.md b/source/_daily_emails/2023-06-25.md index d85def69..9ca8d39d 100644 --- a/source/_daily_emails/2023-06-25.md +++ b/source/_daily_emails/2023-06-25.md @@ -1,12 +1,12 @@ --- title: > - Do you need permission to do Test-Driven Development? + Do you need permission to do Test-Driven Development? pubDate: 2023-06-25 permalink: >- - archive/2023/06/25/do-you-need-permission-test-driven-development + archive/2023/06/25/do-you-need-permission-test-driven-development tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Something I've been asked before is "Do you need permission to write automated tests or do Test-Driven Development?". diff --git a/source/_daily_emails/2023-06-26.md b/source/_daily_emails/2023-06-26.md index b6250b9d..b9e79f53 100644 --- a/source/_daily_emails/2023-06-26.md +++ b/source/_daily_emails/2023-06-26.md @@ -1,11 +1,11 @@ --- title: > - Is any code without tests legacy code? + Is any code without tests legacy code? pubDate: 2023-06-26 permalink: >- - archive/2023/06/26/is-any-code-without-tests-legacy + archive/2023/06/26/is-any-code-without-tests-legacy tags: - - automated-testing + - automated-testing --- While I can't find the original quote, I've heard numerous people describe any code without automated tests as legacy. diff --git a/source/_daily_emails/2023-06-27.md b/source/_daily_emails/2023-06-27.md index 1290581b..47d199e5 100644 --- a/source/_daily_emails/2023-06-27.md +++ b/source/_daily_emails/2023-06-27.md @@ -1,12 +1,12 @@ --- title: > - A CI pipeline is like an additional team member + A CI pipeline is like an additional team member pubDate: 2023-06-27 permalink: >- - archive/2023/06/27/ci-pipeline-additional-team-member + archive/2023/06/27/ci-pipeline-additional-team-member tags: - - continuous-integration - - pipelines + - continuous-integration + - pipelines --- Imagine having a team member who tests each feature before every deployment, reviews the code to ensure its style is consistent, runs quality checks like linting and static analysis, and checks for insecure dependencies. diff --git a/source/_daily_emails/2023-06-28.md b/source/_daily_emails/2023-06-28.md index cd9e3867..1458e696 100644 --- a/source/_daily_emails/2023-06-28.md +++ b/source/_daily_emails/2023-06-28.md @@ -1,12 +1,12 @@ --- title: > - There's no value in a broken CI pipeline + There's no value in a broken CI pipeline pubDate: 2023-06-28 permalink: >- - archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline + archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline tags: - - continuous-integration - - pipelines + - continuous-integration + - pipelines --- The value in a CI pipeline is when its commands and checks are running successfully, and the pipeline is passing. diff --git a/source/_daily_emails/2023-06-29.md b/source/_daily_emails/2023-06-29.md index 4ea4bfd4..bddf45c8 100644 --- a/source/_daily_emails/2023-06-29.md +++ b/source/_daily_emails/2023-06-29.md @@ -1,12 +1,12 @@ --- title: > - Tests won't tell you if your code works + Tests won't tell you if your code works pubDate: 2023-06-29 permalink: >- - archive/2023/06/29/tests-wont-tell-you-if-your-code-works + archive/2023/06/29/tests-wont-tell-you-if-your-code-works tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Having a passing test suite or CI pipeline doesn't tell you if your appliction works. diff --git a/source/_daily_emails/2023-06-30.md b/source/_daily_emails/2023-06-30.md index 60524131..1f35661e 100644 --- a/source/_daily_emails/2023-06-30.md +++ b/source/_daily_emails/2023-06-30.md @@ -1,12 +1,12 @@ --- title: > - How did you learn automated testing? + How did you learn automated testing? pubDate: 2023-06-30 permalink: >- - archive/2023/06/30/how-did-you-learn-automated-testing + archive/2023/06/30/how-did-you-learn-automated-testing tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- I started to learn about automated testing in 2012 when I took over maintainership of the Drupal module, Override Node Options. diff --git a/source/_daily_emails/2023-07-01.md b/source/_daily_emails/2023-07-01.md index 6c0b7b24..1f1f44f0 100644 --- a/source/_daily_emails/2023-07-01.md +++ b/source/_daily_emails/2023-07-01.md @@ -1,12 +1,12 @@ --- title: > - Once you start writing tests, you can't stop + Once you start writing tests, you can't stop pubDate: 2023-07-01 permalink: >- - archive/2023/07/01/once-you-start-writing-tests-you-cant-stop + archive/2023/07/01/once-you-start-writing-tests-you-cant-stop tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Once you start testing/TDD, you can't go back diff --git a/source/_daily_emails/2023-07-02.md b/source/_daily_emails/2023-07-02.md index 4ec57332..0b7cf020 100644 --- a/source/_daily_emails/2023-07-02.md +++ b/source/_daily_emails/2023-07-02.md @@ -1,12 +1,12 @@ --- title: > - Docker or Nix? + Docker or Nix? pubDate: 2023-07-02 permalink: >- - archive/2023/07/02/docker-or-nix + archive/2023/07/02/docker-or-nix tags: - - docker - - nix + - docker + - nix --- I've been a Nix user for about a year, starting with its package manager on my previously installed Linux distribution. diff --git a/source/_daily_emails/2023-07-03.md b/source/_daily_emails/2023-07-03.md index d0d1b13f..f128dc22 100644 --- a/source/_daily_emails/2023-07-03.md +++ b/source/_daily_emails/2023-07-03.md @@ -1,11 +1,11 @@ --- title: > - Why write custom assertions in your tests? + Why write custom assertions in your tests? pubDate: 2023-07-03 permalink: >- - archive/2023/07/03/why-write-custom-assertions-in-your-tests + archive/2023/07/03/why-write-custom-assertions-in-your-tests tags: - - automated-testing + - automated-testing --- I'm refactoring some code on a client project - creating a Repository class to centralise some logic before implementing the next feature. diff --git a/source/_daily_emails/2023-07-04.md b/source/_daily_emails/2023-07-04.md index 3938e424..2907808a 100644 --- a/source/_daily_emails/2023-07-04.md +++ b/source/_daily_emails/2023-07-04.md @@ -1,12 +1,12 @@ --- title: > - Think smaller with TDD + Think smaller with TDD pubDate: 2023-07-04 permalink: >- - archive/2023/07/04/think-smaller-with-tdd + archive/2023/07/04/think-smaller-with-tdd tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- I've recently added several custom search blocks and pages to a client project. diff --git a/source/_daily_emails/2023-07-05.md b/source/_daily_emails/2023-07-05.md index 14611a9e..cb4f94f3 100644 --- a/source/_daily_emails/2023-07-05.md +++ b/source/_daily_emails/2023-07-05.md @@ -1,12 +1,12 @@ --- title: > - Services vs Actions + Services vs Actions pubDate: 2023-07-05 permalink: >- - archive/2023/07/05/services-vs-actions + archive/2023/07/05/services-vs-actions tags: - - software-development - - software-architecture + - software-development + - software-architecture --- When creating a custom module, where do you put your business logic? diff --git a/source/_daily_emails/2023-07-06.md b/source/_daily_emails/2023-07-06.md index b64245ce..841dc30e 100644 --- a/source/_daily_emails/2023-07-06.md +++ b/source/_daily_emails/2023-07-06.md @@ -1,12 +1,12 @@ --- title: > - Automated testing is more than just unit testing + Automated testing is more than just unit testing pubDate: 2023-07-06 permalink: >- - archive/2023/07/06/automated-testing-is-more-than-just-unit-testing + archive/2023/07/06/automated-testing-is-more-than-just-unit-testing tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When I speak to people about automated testing or hear others speak about it, it's often confused with unit testing. diff --git a/source/_daily_emails/2023-07-15.md b/source/_daily_emails/2023-07-15.md index e47845ee..5ff711a7 100644 --- a/source/_daily_emails/2023-07-15.md +++ b/source/_daily_emails/2023-07-15.md @@ -1,12 +1,12 @@ --- title: > - Test-driven development makes you more productive + Test-driven development makes you more productive pubDate: 2023-07-15 permalink: >- - archive/2023/07/15/test-driven-development-makes-you-more-productive + archive/2023/07/15/test-driven-development-makes-you-more-productive tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- I think that test-driven development (TDD) makes you productive. diff --git a/source/_daily_emails/2023-07-16.md b/source/_daily_emails/2023-07-16.md index 1847acf7..480cbe78 100644 --- a/source/_daily_emails/2023-07-16.md +++ b/source/_daily_emails/2023-07-16.md @@ -1,12 +1,12 @@ --- title: > - When writing a failing test, you're designing your code + When writing a failing test, you're designing your code pubDate: 2023-07-16 permalink: >- - archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code + archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When doing test-driven development, you start by writing a failing test and then write the code to make it pass. diff --git a/source/_daily_emails/2023-07-17.md b/source/_daily_emails/2023-07-17.md index 4812afbb..16434e2c 100644 --- a/source/_daily_emails/2023-07-17.md +++ b/source/_daily_emails/2023-07-17.md @@ -1,12 +1,12 @@ --- title: > - Too many choices? + Too many choices? pubDate: 2023-07-17 permalink: >- - archive/2023/07/17/too-many-choices + archive/2023/07/17/too-many-choices tags: - - automation - - terraform + - automation + - terraform --- I've recently considered moving my infrastructure automation code from Pulumi to Terraform. diff --git a/source/_daily_emails/2023-07-18.md b/source/_daily_emails/2023-07-18.md index 60884f99..a3b67afd 100644 --- a/source/_daily_emails/2023-07-18.md +++ b/source/_daily_emails/2023-07-18.md @@ -1,12 +1,12 @@ --- title: > - TDD as a concept is simple, but TDD is difficult + TDD as a concept is simple, but TDD is difficult pubDate: 2023-07-18 permalink: >- - archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult + archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Test-driven development as a concept is easy. diff --git a/source/_daily_emails/2023-07-19.md b/source/_daily_emails/2023-07-19.md index 193cf5bf..274d98ac 100644 --- a/source/_daily_emails/2023-07-19.md +++ b/source/_daily_emails/2023-07-19.md @@ -1,12 +1,12 @@ --- title: > - TDD is like clicker training + TDD is like clicker training pubDate: 2023-07-19 permalink: >- - archive/2023/07/19/tdd-is-like-clicker-training + archive/2023/07/19/tdd-is-like-clicker-training tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- During a webinar I watched recently, someone described test-driven-development as clicker training for Developers. diff --git a/source/_daily_emails/2023-07-20.md b/source/_daily_emails/2023-07-20.md index 417d55fd..0be8a065 100644 --- a/source/_daily_emails/2023-07-20.md +++ b/source/_daily_emails/2023-07-20.md @@ -1,12 +1,12 @@ --- title: > - Tests as communication + Tests as communication pubDate: 2023-07-20 permalink: >- - archive/2023/07/20/tests-as-communication + archive/2023/07/20/tests-as-communication tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Automated tests aren't just checks to verify your software is working. diff --git a/source/_daily_emails/2023-07-21.md b/source/_daily_emails/2023-07-21.md index 4a93d98a..8b48265a 100644 --- a/source/_daily_emails/2023-07-21.md +++ b/source/_daily_emails/2023-07-21.md @@ -1,9 +1,9 @@ --- title: > - Comments as communication + Comments as communication pubDate: 2023-07-21 permalink: >- - archive/2023/07/21/comments-as-communication + archive/2023/07/21/comments-as-communication tags: [] --- diff --git a/source/_daily_emails/2023-07-22.md b/source/_daily_emails/2023-07-22.md index 082eacd6..1a415870 100644 --- a/source/_daily_emails/2023-07-22.md +++ b/source/_daily_emails/2023-07-22.md @@ -1,9 +1,9 @@ --- title: > - More code, more problems + More code, more problems pubDate: 2023-07-22 permalink: >- - archive/2023/07/22/more-code-more-problems + archive/2023/07/22/more-code-more-problems tags: [] --- diff --git a/source/_daily_emails/2023-07-23.md b/source/_daily_emails/2023-07-23.md index 3f28b46a..b3b66e2c 100644 --- a/source/_daily_emails/2023-07-23.md +++ b/source/_daily_emails/2023-07-23.md @@ -1,9 +1,9 @@ --- title: > - Tomorrow is easier if today's code is simpler + Tomorrow is easier if today's code is simpler pubDate: 2023-07-23 permalink: >- - archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler + archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler tags: [] --- diff --git a/source/_daily_emails/2023-07-24.md b/source/_daily_emails/2023-07-24.md index d73bdd05..5470204d 100644 --- a/source/_daily_emails/2023-07-24.md +++ b/source/_daily_emails/2023-07-24.md @@ -1,12 +1,12 @@ --- title: > - Testing is all about confidence + Testing is all about confidence pubDate: 2023-07-24 permalink: >- - archive/2023/07/24/testing-is-all-about-confidence + archive/2023/07/24/testing-is-all-about-confidence tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Testing - manual or automated - is about building confidence. diff --git a/source/_daily_emails/2023-07-25.md b/source/_daily_emails/2023-07-25.md index d4a746a3..f2fdf7cb 100644 --- a/source/_daily_emails/2023-07-25.md +++ b/source/_daily_emails/2023-07-25.md @@ -1,9 +1,9 @@ --- title: > - Working backwards + Working backwards pubDate: 2023-07-25 permalink: >- - archive/2023/07/25/working-backwards + archive/2023/07/25/working-backwards tags: [] --- diff --git a/source/_daily_emails/2023-07-26.md b/source/_daily_emails/2023-07-26.md index 420f9573..ac05bd15 100644 --- a/source/_daily_emails/2023-07-26.md +++ b/source/_daily_emails/2023-07-26.md @@ -1,11 +1,11 @@ --- title: > - Prove the concept + Prove the concept pubDate: 2023-07-26 permalink: >- - archive/2023/07/26/prove-the-concept + archive/2023/07/26/prove-the-concept tags: - - software-development + - software-development --- When starting a new task, find the simplest way to prove the concept. diff --git a/source/_daily_emails/2023-07-27.md b/source/_daily_emails/2023-07-27.md index e5db901d..6a0b1f83 100644 --- a/source/_daily_emails/2023-07-27.md +++ b/source/_daily_emails/2023-07-27.md @@ -1,11 +1,11 @@ --- title: > - Stick to conventions + Stick to conventions pubDate: 2023-07-27 permalink: >- - archive/2023/07/27/stick-to-conventions + archive/2023/07/27/stick-to-conventions tags: - - software-development + - software-development --- If you're performing a task as there's already a convention on how to do it, stick to it. diff --git a/source/_daily_emails/2023-07-28.md b/source/_daily_emails/2023-07-28.md index 1e0ee80a..49c22241 100644 --- a/source/_daily_emails/2023-07-28.md +++ b/source/_daily_emails/2023-07-28.md @@ -1,11 +1,11 @@ --- title: > - Don't write generic commit messages + Don't write generic commit messages pubDate: 2023-07-28 permalink: >- - archive/2023/07/28/generic-commit-messages + archive/2023/07/28/generic-commit-messages tags: - - git + - git --- This week, I reviewed a client's Drupal 9 website and investigated the steps needed to upgrade to Drupal 10. diff --git a/source/_daily_emails/2023-07-29.md b/source/_daily_emails/2023-07-29.md index 07b46126..23c89d90 100644 --- a/source/_daily_emails/2023-07-29.md +++ b/source/_daily_emails/2023-07-29.md @@ -1,13 +1,13 @@ --- title: > - Should I wait to upgrade from Drupal 7? + Should I wait to upgrade from Drupal 7? pubDate: 2023-07-29 permalink: >- - archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 + archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 tags: - - drupal - - drupal-7 - - php + - drupal + - drupal-7 + - php --- It was announced at DrupalCon that Drupal 7 support was being extended one final time until January 2025. diff --git a/source/_daily_emails/2023-07-30.md b/source/_daily_emails/2023-07-30.md index 126ff425..6fd0a24c 100644 --- a/source/_daily_emails/2023-07-30.md +++ b/source/_daily_emails/2023-07-30.md @@ -1,12 +1,12 @@ --- title: > - Commit often, deploy often + Commit often, deploy often pubDate: 2023-07-30 permalink: >- - archive/2023/07/30/commit-often-deploy-often + archive/2023/07/30/commit-often-deploy-often tags: - - git - - deployments + - git + - deployments --- This is a follow-up to Friday's email on generic commit messages. diff --git a/source/_daily_emails/2023-07-31.md b/source/_daily_emails/2023-07-31.md index 3247e105..b7b0e652 100644 --- a/source/_daily_emails/2023-07-31.md +++ b/source/_daily_emails/2023-07-31.md @@ -1,12 +1,12 @@ --- title: > - Upgrading from Drupal 9 is easier + Upgrading from Drupal 9 is easier pubDate: 2023-07-31 permalink: >- - archive/2023/07/31/upgrading-from-drupal-9-is-easier + archive/2023/07/31/upgrading-from-drupal-9-is-easier tags: - - drupal - - php + - drupal + - php --- Upgrading from Drupal 7 to 8, 9 or 10 is a large task. diff --git a/source/_daily_emails/2023-08-01.md b/source/_daily_emails/2023-08-01.md index 3a9970ae..5ca76b33 100644 --- a/source/_daily_emails/2023-08-01.md +++ b/source/_daily_emails/2023-08-01.md @@ -1,12 +1,12 @@ --- title: > - Maintaining a module used on 35,000 Drupal websites + Maintaining a module used on 35,000 Drupal websites pubDate: 2023-08-01 permalink: >- - archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites + archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites tags: - - drupal - - open-source + - drupal + - open-source --- Note: The numbers within this post are taken from my [Test-Driven Drupal talk]({{site.url}}/presentations/tdd-test-driven-drupal), in which I also talk about this. diff --git a/source/_daily_emails/2023-08-02.md b/source/_daily_emails/2023-08-02.md index 1082736f..0092e7c7 100644 --- a/source/_daily_emails/2023-08-02.md +++ b/source/_daily_emails/2023-08-02.md @@ -1,13 +1,13 @@ --- title: > - A crash course into automated testing with Drupal + A crash course into automated testing with Drupal pubDate: 2023-08-02 permalink: >- - archive/2023/08/02/a-crash-course-into-drupal-testing + archive/2023/08/02/a-crash-course-into-drupal-testing tags: - - drupal - - automated-testing - - test-driven-development + - drupal + - automated-testing + - test-driven-development --- Next week, I'll be presenting a lightning talk at the North West Drupal user group (NWDUG)'s August meetup. diff --git a/source/_daily_emails/2023-08-03.md b/source/_daily_emails/2023-08-03.md index 438989ee..50ee4147 100644 --- a/source/_daily_emails/2023-08-03.md +++ b/source/_daily_emails/2023-08-03.md @@ -1,11 +1,11 @@ --- title: > - What problem are we trying to solve? + What problem are we trying to solve? pubDate: 2023-08-03 permalink: >- - archive/2023/08/03/what-problem-are-we-trying-to-solve + archive/2023/08/03/what-problem-are-we-trying-to-solve tags: - - drupal + - drupal --- The Override Node Options module that I said yesterday is used on 35,000 websites isn't a complicated module. diff --git a/source/_daily_emails/2023-08-04.md b/source/_daily_emails/2023-08-04.md index 65ba2ae4..5fea20ab 100644 --- a/source/_daily_emails/2023-08-04.md +++ b/source/_daily_emails/2023-08-04.md @@ -1,13 +1,13 @@ --- title: > - Laravel Prompts and framework-agnostic tools + Laravel Prompts and framework-agnostic tools pubDate: 2023-08-04 permalink: >- - archive/2023/08/04/laravel-prompts + archive/2023/08/04/laravel-prompts tags: - - php - - laravel - - open-source + - php + - laravel + - open-source --- Although I wouldn't consider myself a "Laravel Developer", I enjoy watching the talks from the Laravel conferences, most recently Laracon US, that took place last week. diff --git a/source/_daily_emails/2023-08-05.md b/source/_daily_emails/2023-08-05.md index 2644e6bf..e4a4b94c 100644 --- a/source/_daily_emails/2023-08-05.md +++ b/source/_daily_emails/2023-08-05.md @@ -1,12 +1,12 @@ --- title: > - Use Drupal to own your content + Use Drupal to own your content pubDate: 2023-08-05 permalink: >- - archive/2023/08/05/use-drupal-to-own-your-content + archive/2023/08/05/use-drupal-to-own-your-content tags: - - drupal - - open-source + - drupal + - open-source --- I recently saw a social media website taking over users' handles - renaming them so they can have the original. diff --git a/source/_daily_emails/2023-08-06.md b/source/_daily_emails/2023-08-06.md index b7b8a4f5..3f439434 100644 --- a/source/_daily_emails/2023-08-06.md +++ b/source/_daily_emails/2023-08-06.md @@ -1,9 +1,9 @@ --- title: > - YAGNI + YAGNI pubDate: 2023-08-06 permalink: >- - archive/2023/08/06/yagni + archive/2023/08/06/yagni tags: [] --- diff --git a/source/_daily_emails/2023-08-07.md b/source/_daily_emails/2023-08-07.md index 37359b7b..2283a193 100644 --- a/source/_daily_emails/2023-08-07.md +++ b/source/_daily_emails/2023-08-07.md @@ -1,13 +1,13 @@ --- title: > - Tests make upgrades less risky + Tests make upgrades less risky pubDate: 2023-08-07 permalink: >- - archive/2023/08/07/tests-make-upgrades-less-risky + archive/2023/08/07/tests-make-upgrades-less-risky tags: - - automated-testing - - test-driven-development - - drupal + - automated-testing + - test-driven-development + - drupal --- I recently reviewed a client's Drupal 9 website to gather information about upgrading it to Drupal 10. diff --git a/source/_daily_emails/2023-08-08.md b/source/_daily_emails/2023-08-08.md index 08b25ef4..93148650 100644 --- a/source/_daily_emails/2023-08-08.md +++ b/source/_daily_emails/2023-08-08.md @@ -1,12 +1,12 @@ --- title: > - 8 years of dotfiles + 8 years of dotfiles pubDate: 2023-08-08 permalink: >- - archive/2023/08/08/8-years-of-dotfiles + archive/2023/08/08/8-years-of-dotfiles tags: - - dotfiles - - open-source + - dotfiles + - open-source --- Today, I was speaking with a colleague about configuring Git, which led to a conversation about dotfiles repositories - somewhere where you version the changes to your configuration files and, usually, create symlinks to their expected locations. diff --git a/source/_daily_emails/2023-08-09.md b/source/_daily_emails/2023-08-09.md index 3e0285d7..dd8c9668 100644 --- a/source/_daily_emails/2023-08-09.md +++ b/source/_daily_emails/2023-08-09.md @@ -1,11 +1,11 @@ --- title: > - Vim is my lightsaber + Vim is my lightsaber pubDate: 2023-08-09 permalink: >- - archive/2023/08/09/vim-is-my-lightsaber + archive/2023/08/09/vim-is-my-lightsaber tags: - - vim + - vim --- "Vim is my lightsaber" is the final chapter of Jess Archer's Neovim course on Laracasts. diff --git a/source/_daily_emails/2023-08-10.md b/source/_daily_emails/2023-08-10.md index c30c5fc0..79b09dfb 100644 --- a/source/_daily_emails/2023-08-10.md +++ b/source/_daily_emails/2023-08-10.md @@ -1,12 +1,12 @@ --- title: > - Testing, fixed prices and bug-free guarantees + Testing, fixed prices and bug-free guarantees pubDate: 2023-08-10 permalink: >- - archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees + archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- After my lightning talk for NWDUG on automated testing with Drupal, the question was asked how to find time for testing. diff --git a/source/_daily_emails/2023-08-11.md b/source/_daily_emails/2023-08-11.md index 03587b14..80534207 100644 --- a/source/_daily_emails/2023-08-11.md +++ b/source/_daily_emails/2023-08-11.md @@ -1,12 +1,12 @@ --- title: > - Everyone tests their code + Everyone tests their code pubDate: 2023-08-11 permalink: >- - archive/2023/08/11/everyone-tests-their-code + archive/2023/08/11/everyone-tests-their-code tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- No one writes code, commits it and pushes it to production without checking it works. diff --git a/source/_daily_emails/2023-08-12.md b/source/_daily_emails/2023-08-12.md index 151b6aff..fd49d067 100644 --- a/source/_daily_emails/2023-08-12.md +++ b/source/_daily_emails/2023-08-12.md @@ -1,12 +1,12 @@ --- title: > - Does not writing tests actually save time? + Does not writing tests actually save time? pubDate: 2023-08-12 permalink: >- - archive/2023/08/12/does-not-writing-tests-actually-save-time + archive/2023/08/12/does-not-writing-tests-actually-save-time tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- One of the most common responses to why people don't write tests is, "We don't have time". diff --git a/source/_daily_emails/2023-08-13.md b/source/_daily_emails/2023-08-13.md index 2c187372..0bf4b70d 100644 --- a/source/_daily_emails/2023-08-13.md +++ b/source/_daily_emails/2023-08-13.md @@ -1,12 +1,12 @@ --- title: > - Don't estimate separately for testing + Don't estimate separately for testing pubDate: 2023-08-13 permalink: >- - archive/2023/08/13/dont-estimate-separately-for-testing + archive/2023/08/13/dont-estimate-separately-for-testing tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- A common issue I see for people introducing automated testing is estimating the testing and implementation of a task separately. diff --git a/source/_daily_emails/2023-08-14.md b/source/_daily_emails/2023-08-14.md index 609c1ca5..87c71f1a 100644 --- a/source/_daily_emails/2023-08-14.md +++ b/source/_daily_emails/2023-08-14.md @@ -1,11 +1,11 @@ --- title: > - Why keep a dotfiles repository + Why keep a dotfiles repository pubDate: 2023-08-14 permalink: >- - archive/2023/08/14/why-keep-a-dotfiles-repository + archive/2023/08/14/why-keep-a-dotfiles-repository tags: - - dotfiles + - dotfiles --- A few days ago, I said it's been 8 years since I started my dotfiles repository and kept my configuration files in version control. diff --git a/source/_daily_emails/2023-08-15.md b/source/_daily_emails/2023-08-15.md index d7eb83e2..7a37d280 100644 --- a/source/_daily_emails/2023-08-15.md +++ b/source/_daily_emails/2023-08-15.md @@ -1,12 +1,12 @@ --- title: > - Writing test and implementation code are the same task + Writing test and implementation code are the same task pubDate: 2023-08-15 permalink: >- - archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task + archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- In Sunday's email, I said not to estimate separately for testing and implementation. diff --git a/source/_daily_emails/2023-08-16.md b/source/_daily_emails/2023-08-16.md index cd5b8298..16a72a47 100644 --- a/source/_daily_emails/2023-08-16.md +++ b/source/_daily_emails/2023-08-16.md @@ -1,12 +1,12 @@ --- title: > - Writing tests in your own time + Writing tests in your own time pubDate: 2023-08-16 permalink: >- - archive/2023/08/16/writing-tests-in-your-own-time + archive/2023/08/16/writing-tests-in-your-own-time tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- This is how I first started writing automated tests. diff --git a/source/_daily_emails/2023-08-17.md b/source/_daily_emails/2023-08-17.md index c5110578..e07fb232 100644 --- a/source/_daily_emails/2023-08-17.md +++ b/source/_daily_emails/2023-08-17.md @@ -1,12 +1,12 @@ --- title: > - Writing custom assertions in your tests + Writing custom assertions in your tests pubDate: 2023-08-17 permalink: >- - archive/2023/08/17/writing-custom-assertions-in-your-tests + archive/2023/08/17/writing-custom-assertions-in-your-tests tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Writing custom assertions is a great way to clean up your test code. diff --git a/source/_daily_emails/2023-08-18.md b/source/_daily_emails/2023-08-18.md index a6cdbfb8..f76f5041 100644 --- a/source/_daily_emails/2023-08-18.md +++ b/source/_daily_emails/2023-08-18.md @@ -1,13 +1,13 @@ --- title: > - Types vs tests + Types vs tests pubDate: 2023-08-18 permalink: >- - archive/2023/08/18/types-vs-tests + archive/2023/08/18/types-vs-tests tags: - - automated-testing - - test-driven-development - - static-analysis + - automated-testing + - test-driven-development + - static-analysis --- Today, I saw a Twitter poll - "Poll: Imagine your team has to build a project with either types or tests. You can't have both.". diff --git a/source/_daily_emails/2023-08-19.md b/source/_daily_emails/2023-08-19.md index c312fa1e..7c9d2911 100644 --- a/source/_daily_emails/2023-08-19.md +++ b/source/_daily_emails/2023-08-19.md @@ -1,11 +1,11 @@ --- title: > - Asserting all the things + Asserting all the things pubDate: 2023-08-19 permalink: >- - archive/2023/08/19/asserting-all-the-things + archive/2023/08/19/asserting-all-the-things tags: - - php + - php --- As well as assertions within tests, you can also check within implementation code that things are in an expected state or contain a certain value. diff --git a/source/_daily_emails/2023-08-20.md b/source/_daily_emails/2023-08-20.md index b68d8d43..bb841da6 100644 --- a/source/_daily_emails/2023-08-20.md +++ b/source/_daily_emails/2023-08-20.md @@ -1,11 +1,11 @@ --- title: > - PHP types and assertions + PHP types and assertions pubDate: 2023-08-20 permalink: >- - archive/2023/08/20/php-types-and-assertions + archive/2023/08/20/php-types-and-assertions tags: - - php + - php --- Following yesterday's email about input validation, guard clauses and assertion libraries, these can be used to compliment PHP's native types and checking. diff --git a/source/_daily_emails/2023-08-21.md b/source/_daily_emails/2023-08-21.md index 54bae64d..df5529a9 100644 --- a/source/_daily_emails/2023-08-21.md +++ b/source/_daily_emails/2023-08-21.md @@ -1,13 +1,13 @@ --- title: > - Which part of the CI pipeline has the most value? + Which part of the CI pipeline has the most value? pubDate: 2023-08-21 permalink: >- - archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value + archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value tags: - - continuous-integration - - automated-testing - - static-analysis + - continuous-integration + - automated-testing + - static-analysis --- The main part of my CI pipeline tasks are running the automated tests, coding standards checks and static analysis. diff --git a/source/_daily_emails/2023-08-22.md b/source/_daily_emails/2023-08-22.md index 86193588..4f1c5508 100644 --- a/source/_daily_emails/2023-08-22.md +++ b/source/_daily_emails/2023-08-22.md @@ -1,12 +1,12 @@ --- title: > - Deployments with your CI pipeline + Deployments with your CI pipeline pubDate: 2023-08-22 permalink: >- - archive/2023/08/22/deployments-with-your-ci-pipeline + archive/2023/08/22/deployments-with-your-ci-pipeline tags: - - continuous-integration - - pipelines + - continuous-integration + - pipelines --- You have a CI pipeline in your project. diff --git a/source/_daily_emails/2023-08-23.md b/source/_daily_emails/2023-08-23.md index a10cc725..45686ae2 100644 --- a/source/_daily_emails/2023-08-23.md +++ b/source/_daily_emails/2023-08-23.md @@ -1,11 +1,11 @@ --- title: > - Don't use third-party services directly + Don't use third-party services directly pubDate: 2023-08-23 permalink: >- - archive/2023/08/23/dont-use-third-party-services-directly + archive/2023/08/23/dont-use-third-party-services-directly tags: - - automated-testing + - automated-testing --- If you need to integrate your application with a third-party service, don't integrate it directly - even if it has an SDK. diff --git a/source/_daily_emails/2023-08-24.md b/source/_daily_emails/2023-08-24.md index 56fbd27a..9f2ad9f1 100644 --- a/source/_daily_emails/2023-08-24.md +++ b/source/_daily_emails/2023-08-24.md @@ -1,12 +1,12 @@ --- title: > - Testing multiple implementations with contract tests + Testing multiple implementations with contract tests pubDate: 2023-08-24 permalink: >- - archive/2023/08/24/testing-multiple-implementations-with-contract-tests + archive/2023/08/24/testing-multiple-implementations-with-contract-tests tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- If you have multiple implementations of a service, as I [mentioned in yesterday's email]({{site.url}}/archive/2023/08/23/dont-use-third-party-services-directly), you need to ensure they all provide the same functionality. diff --git a/source/_daily_emails/2023-08-25.md b/source/_daily_emails/2023-08-25.md index 9c922ce3..6423d061 100644 --- a/source/_daily_emails/2023-08-25.md +++ b/source/_daily_emails/2023-08-25.md @@ -1,12 +1,12 @@ --- title: > - Start with a vague test + Start with a vague test pubDate: 2023-08-25 permalink: >- - archive/2023/08/25/start-with-a-vague-test + archive/2023/08/25/start-with-a-vague-test tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- If you're unsure what your first test should be, start by writing a test with an intentionally vague name, just to get you started. diff --git a/source/_daily_emails/2023-08-26.md b/source/_daily_emails/2023-08-26.md index 66fec79c..7cd169d6 100644 --- a/source/_daily_emails/2023-08-26.md +++ b/source/_daily_emails/2023-08-26.md @@ -1,12 +1,12 @@ --- title: > - Work in small chunks + Work in small chunks pubDate: 2023-08-26 permalink: >- - archive/2023/08/26/work-in-small-chunks + archive/2023/08/26/work-in-small-chunks tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When working with teams who are starting with automated tests and test-driven development, a common issue is being stuck on a failing test and trying to do too much at once while getting it to pass. diff --git a/source/_daily_emails/2023-08-27.md b/source/_daily_emails/2023-08-27.md index 2a2f09a0..28544835 100644 --- a/source/_daily_emails/2023-08-27.md +++ b/source/_daily_emails/2023-08-27.md @@ -1,13 +1,13 @@ --- title: > - Pull requests are great for open-source, but not for teams + Pull requests are great for open-source, but not for teams pubDate: 2023-08-27 permalink: >- - archive/2023/08/27/pull-requests-are-great-for-open-source + archive/2023/08/27/pull-requests-are-great-for-open-source tags: - - code-review - - git - - trunk-based-development + - code-review + - git + - trunk-based-development --- Code review with pull and merge requests is great for open-source but not for development teams or soloists. diff --git a/source/_daily_emails/2023-08-28.md b/source/_daily_emails/2023-08-28.md index 9c91ee21..f502718d 100644 --- a/source/_daily_emails/2023-08-28.md +++ b/source/_daily_emails/2023-08-28.md @@ -1,13 +1,13 @@ --- title: > - Pair and mob programming are continuous code review + Pair and mob programming are continuous code review pubDate: 2023-08-28 permalink: >- - archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review + archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review tags: - - code-review - - pair-programming - - mob-programming + - code-review + - pair-programming + - mob-programming --- Instead of a single Developer working individually on a task and submitting it for a code review once complete, try pair or mob programming. diff --git a/source/_daily_emails/2023-08-29.md b/source/_daily_emails/2023-08-29.md index d8fc31dd..65afaee7 100644 --- a/source/_daily_emails/2023-08-29.md +++ b/source/_daily_emails/2023-08-29.md @@ -1,12 +1,12 @@ --- title: > - CI pipelines are an automated code review + CI pipelines are an automated code review pubDate: 2023-08-29 permalink: >- - archive/2023/08/29/ci-pipelines-are-an-automated-code-review + archive/2023/08/29/ci-pipelines-are-an-automated-code-review tags: - - code-review - - ci-pipelines + - code-review + - ci-pipelines --- I've worked on various teams over the last 13 years on which we've needed to do feature branches, pull requests and code reviews. diff --git a/source/_daily_emails/2023-08-30.md b/source/_daily_emails/2023-08-30.md index 9a236d05..e52357cf 100644 --- a/source/_daily_emails/2023-08-30.md +++ b/source/_daily_emails/2023-08-30.md @@ -1,12 +1,12 @@ --- title: > - TDD and "Unexpected errors" + TDD and "Unexpected errors" pubDate: 2023-08-30 permalink: >- - archive/2023/08/30/tdd-and-unexpected-errors + archive/2023/08/30/tdd-and-unexpected-errors tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When working on projects, it's common to see messages like "The website encountered an unexpected error. Please try again later.". diff --git a/source/_daily_emails/2023-08-31.md b/source/_daily_emails/2023-08-31.md index 51fa7697..12eb7ca7 100644 --- a/source/_daily_emails/2023-08-31.md +++ b/source/_daily_emails/2023-08-31.md @@ -1,12 +1,12 @@ --- title: > - Code review discourages small refactorings + Code review discourages small refactorings pubDate: 2023-08-31 permalink: >- - archive/2023/08/31/code-review-discourages-small-refactorings + archive/2023/08/31/code-review-discourages-small-refactorings tags: - - code-reviews - - trunk-based-development + - code-reviews + - trunk-based-development --- If, for every change to a codebase, you need to create a topic branch, create a pull or merge request, and wait for it to be reviewed and approved - which can take days, weeks or longer - does that discourage you from making small changes? diff --git a/source/_daily_emails/2023-09-01.md b/source/_daily_emails/2023-09-01.md index fb0d3dc5..85ce3be3 100644 --- a/source/_daily_emails/2023-09-01.md +++ b/source/_daily_emails/2023-09-01.md @@ -1,12 +1,12 @@ --- title: > - Non-blocking code reviews + Non-blocking code reviews pubDate: 2023-09-01 permalink: >- - archive/2023/09/01/non-blocking-code-reviews + archive/2023/09/01/non-blocking-code-reviews tags: - - ci-pipelines - - code-review + - ci-pipelines + - code-review --- If your team wants or needs to do code reviews, but you don't want it to slow down development, you could implement non-blocking code reviews. diff --git a/source/_daily_emails/2023-09-02.md b/source/_daily_emails/2023-09-02.md index d8fce915..4716cd95 100644 --- a/source/_daily_emails/2023-09-02.md +++ b/source/_daily_emails/2023-09-02.md @@ -1,13 +1,13 @@ --- title: > - Planning first or reviewing last? + Planning first or reviewing last? pubDate: 2023-09-02 permalink: >- - archive/2023/09/02/planning-first-or-reviewing-last + archive/2023/09/02/planning-first-or-reviewing-last tags: - - code-review - - pair-programming - - mob-programming + - code-review + - pair-programming + - mob-programming --- Code reviews are something that happens after the code has been written. diff --git a/source/_daily_emails/2023-09-03.md b/source/_daily_emails/2023-09-03.md index 8b5b4754..f9daee60 100644 --- a/source/_daily_emails/2023-09-03.md +++ b/source/_daily_emails/2023-09-03.md @@ -1,14 +1,14 @@ --- title: > - Including time for tests in estimates + Including time for tests in estimates pubDate: 2023-09-03 permalink: >- - archive/2023/09/03/including-time-for-tests-in-estimates + archive/2023/09/03/including-time-for-tests-in-estimates tags: - - automated-testing - - test-driven-development - - software-development - - estimation + - automated-testing + - test-driven-development + - software-development + - estimation --- If you need to provide estimates for your tasks and intend to write tests, include the time for the tests within the estimate. diff --git a/source/_daily_emails/2023-09-04.md b/source/_daily_emails/2023-09-04.md index 17440b2e..9fd4033d 100644 --- a/source/_daily_emails/2023-09-04.md +++ b/source/_daily_emails/2023-09-04.md @@ -1,12 +1,12 @@ --- title: > - Charging more _not_ to write tests + Charging more _not_ to write tests pubDate: 2023-09-04 permalink: >- - archive/2023/09/04/charging-more-not-to-write-tests + archive/2023/09/04/charging-more-not-to-write-tests tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Joel Clermont [replied to a previous email on Twitter](https://twitter.com/jclermont/status/1690872089878691840): diff --git a/source/_daily_emails/2023-09-05.md b/source/_daily_emails/2023-09-05.md index 35d7e4fa..b1964f48 100644 --- a/source/_daily_emails/2023-09-05.md +++ b/source/_daily_emails/2023-09-05.md @@ -1,12 +1,12 @@ --- title: > - Spring clean before upgrading + Spring clean before upgrading pubDate: 2023-09-05 permalink: >- - archive/2023/09/05/spring-clean-before-upgrading + archive/2023/09/05/spring-clean-before-upgrading tags: - - drupal - - software-upgrades + - drupal + - software-upgrades --- One of the first things I do when reviewing whether an application can be upgraded is to look for anything that can be removed. diff --git a/source/_daily_emails/2023-09-06.md b/source/_daily_emails/2023-09-06.md index 11d062a3..3a982612 100644 --- a/source/_daily_emails/2023-09-06.md +++ b/source/_daily_emails/2023-09-06.md @@ -1,11 +1,11 @@ --- title: > - Verbosity over abstraction + Verbosity over abstraction pubDate: 2023-09-06 permalink: >- - archive/2023/09/06/verbosity-over-abstraction + archive/2023/09/06/verbosity-over-abstraction tags: - - software-development + - software-development --- Recently, a steamer said they "prefer verbosity over abstraction/confusion". diff --git a/source/_daily_emails/2023-09-07.md b/source/_daily_emails/2023-09-07.md index d0cf64f6..51324ccc 100644 --- a/source/_daily_emails/2023-09-07.md +++ b/source/_daily_emails/2023-09-07.md @@ -1,15 +1,15 @@ --- title: > - What's the simplest test to begin with? + What's the simplest test to begin with? pubDate: 2023-09-07 permalink: >- - archive/2023/09/07/what-s-the-simplest-test-to-begin-with + archive/2023/09/07/what-s-the-simplest-test-to-begin-with tags: - - software-development - - automated-testing - - test-driven-development - - php - - drupal + - software-development + - automated-testing + - test-driven-development + - php + - drupal --- When giving talks and workshops or coaching on automated testing and test-driven development, some people may not have written tests before and aren't familiar with the structure or know where to begin. diff --git a/source/_daily_emails/2023-09-08.md b/source/_daily_emails/2023-09-08.md index f34824ad..a3a1dc81 100644 --- a/source/_daily_emails/2023-09-08.md +++ b/source/_daily_emails/2023-09-08.md @@ -1,12 +1,12 @@ --- title: > - Do you proactively refactor your code? + Do you proactively refactor your code? pubDate: 2023-09-08 permalink: >- - archive/2023/09/08/do-you-proactively-refactor-your-code + archive/2023/09/08/do-you-proactively-refactor-your-code tags: - - software-development - - refactoring + - software-development + - refactoring --- Do you go back and proactively refactor code you've previously written? diff --git a/source/_daily_emails/2023-09-09.md b/source/_daily_emails/2023-09-09.md index 34d947b5..8ffd7634 100644 --- a/source/_daily_emails/2023-09-09.md +++ b/source/_daily_emails/2023-09-09.md @@ -1,14 +1,14 @@ --- title: > - A lack of tests discourages refactoring + A lack of tests discourages refactoring pubDate: 2023-09-09 permalink: >- - archive/2023/09/09/a-lack-of-tests-discourages-refactoring + archive/2023/09/09/a-lack-of-tests-discourages-refactoring tags: - - automated-testing - - test-driven-development - - refactoring - - software-development + - automated-testing + - test-driven-development + - refactoring + - software-development --- A common cause of not refactoring code is a lack of test coverage. diff --git a/source/_daily_emails/2023-09-10.md b/source/_daily_emails/2023-09-10.md index ee05236d..da149055 100644 --- a/source/_daily_emails/2023-09-10.md +++ b/source/_daily_emails/2023-09-10.md @@ -1,11 +1,11 @@ --- title: > - Code is read more than it's written + Code is read more than it's written pubDate: 2023-09-10 permalink: >- - archive/2023/09/10/code-is-read-more-than-it-s-written + archive/2023/09/10/code-is-read-more-than-it-s-written tags: - - software-development + - software-development --- A lot of code is written once by one person and not changed again. diff --git a/source/_daily_emails/2023-09-11.md b/source/_daily_emails/2023-09-11.md index eb059f66..89ccf101 100644 --- a/source/_daily_emails/2023-09-11.md +++ b/source/_daily_emails/2023-09-11.md @@ -1,12 +1,12 @@ --- title: > - Don't use "else" + Don't use "else" pubDate: 2023-09-11 permalink: >- - archive/2023/09/11/dont-use-else + archive/2023/09/11/dont-use-else tags: - - software-development - - clean-code + - software-development + - clean-code --- diff --git a/source/_daily_emails/2023-09-12.md b/source/_daily_emails/2023-09-12.md index 7c5faf80..8a4731b7 100644 --- a/source/_daily_emails/2023-09-12.md +++ b/source/_daily_emails/2023-09-12.md @@ -1,12 +1,12 @@ --- title: > - Don't inject too many dependencies + Don't inject too many dependencies pubDate: 2023-09-12 permalink: >- - archive/2023/09/12/dont-inject-too-many-dependencies + archive/2023/09/12/dont-inject-too-many-dependencies tags: - - software-development - - clean-code + - software-development + - clean-code --- While dependency injection is a good practice - i.e., passing dependencies into a class, usually via a constructor method - you want to be aware of how many dependencies you inject into each class. diff --git a/source/_daily_emails/2023-09-13.md b/source/_daily_emails/2023-09-13.md index 6a975ff0..66321961 100644 --- a/source/_daily_emails/2023-09-13.md +++ b/source/_daily_emails/2023-09-13.md @@ -1,14 +1,14 @@ --- title: > - Which type of test should I use? + Which type of test should I use? pubDate: 2023-09-13 permalink: >- - archive/2023/09/13/which-type-of-test-should-i-use + archive/2023/09/13/which-type-of-test-should-i-use tags: - - drupal - - php - - automated-testing - - test-driven-development + - drupal + - php + - automated-testing + - test-driven-development --- Drupal offers a few different types of tests you can use, but how do you know which one to pick? diff --git a/source/_daily_emails/2023-09-14.md b/source/_daily_emails/2023-09-14.md index 82ad1387..83af6f90 100644 --- a/source/_daily_emails/2023-09-14.md +++ b/source/_daily_emails/2023-09-14.md @@ -1,13 +1,13 @@ --- title: > - Outside-in or inside-out? + Outside-in or inside-out? pubDate: 2023-09-14 permalink: >- - archive/2023/09/14/outside-in-or-inside-out + archive/2023/09/14/outside-in-or-inside-out tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- [In yesterday's email][yesterday], I described the different types of tests available in Drupal and how to determine which test I should use. diff --git a/source/_daily_emails/2023-09-15.md b/source/_daily_emails/2023-09-15.md index a7b9ef25..2a11d748 100644 --- a/source/_daily_emails/2023-09-15.md +++ b/source/_daily_emails/2023-09-15.md @@ -1,14 +1,14 @@ --- title: > - Types or no types + Types or no types pubDate: 2023-09-15 permalink: >- - archive/2023/09/15/types-or-no-types + archive/2023/09/15/types-or-no-types tags: - - software-development - - types - - JavaScript - - TypeScript + - software-development + - types + - JavaScript + - TypeScript --- Here are two versions of some example code I've recently been working on. diff --git a/source/_daily_emails/2023-09-16.md b/source/_daily_emails/2023-09-16.md index ebed60d8..67c1c19b 100644 --- a/source/_daily_emails/2023-09-16.md +++ b/source/_daily_emails/2023-09-16.md @@ -1,14 +1,14 @@ --- title: > - How not to break 36,000 websites + How not to break 36,000 websites pubDate: 2023-09-16 permalink: >- - archive/2023/09/16/how-not-to-break-36-000-websites + archive/2023/09/16/how-not-to-break-36-000-websites tags: - - drupal - - php - - automated-testing - - test-driven-development + - drupal + - php + - automated-testing + - test-driven-development --- I've maintained the Override Node Options module for Drupal since early 2012. diff --git a/source/_daily_emails/2023-09-17.md b/source/_daily_emails/2023-09-17.md index 7f6596fa..53a434ce 100644 --- a/source/_daily_emails/2023-09-17.md +++ b/source/_daily_emails/2023-09-17.md @@ -1,14 +1,14 @@ --- title: > - How much refactoring should I be doing? + How much refactoring should I be doing? pubDate: 2023-09-17 permalink: >- - archive/2023/09/17/how-much-refactoring-should-i-be-doing + archive/2023/09/17/how-much-refactoring-should-i-be-doing tags: - - software-development - - test-driven-development - - automated-testing - - refactoring + - software-development + - test-driven-development + - automated-testing + - refactoring --- I watched a webinar recently, and one of the panellists asked, "How much refactoring should I be doing?". diff --git a/source/_daily_emails/2023-09-18.md b/source/_daily_emails/2023-09-18.md index 402f8f9c..69cf54a5 100644 --- a/source/_daily_emails/2023-09-18.md +++ b/source/_daily_emails/2023-09-18.md @@ -1,13 +1,13 @@ --- title: > - Increasing test coverage with regression tests + Increasing test coverage with regression tests pubDate: 2023-09-18 permalink: >- - archive/2023/09/18/increasing-test-coverage-with-regression-tests + archive/2023/09/18/increasing-test-coverage-with-regression-tests tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Automated test suites don't tell you everything works - they tell you what you've tested isn't broken. diff --git a/source/_daily_emails/2023-09-19.md b/source/_daily_emails/2023-09-19.md index 9897afab..d35da4ad 100644 --- a/source/_daily_emails/2023-09-19.md +++ b/source/_daily_emails/2023-09-19.md @@ -1,13 +1,13 @@ --- title: > - Stop writing tests + Stop writing tests pubDate: 2023-09-19 permalink: >- - archive/2023/09/19/stop-writing-tests + archive/2023/09/19/stop-writing-tests tags: - - software-development - - test-driven-development - - automated-testing + - software-development + - test-driven-development + - automated-testing --- A few years ago, I worked at an agency on a client project. diff --git a/source/_daily_emails/2023-09-20.md b/source/_daily_emails/2023-09-20.md index 86dfe245..323708ef 100644 --- a/source/_daily_emails/2023-09-20.md +++ b/source/_daily_emails/2023-09-20.md @@ -1,14 +1,14 @@ --- title: > - Why I prefer types + Why I prefer types pubDate: 2023-09-20 permalink: >- - archive/2023/09/20/why-i-prefer-types + archive/2023/09/20/why-i-prefer-types tags: - - software-development - - types - - javascript - - typescript + - software-development + - types + - javascript + - typescript --- Whether it's PHP or JavaScript/TypeScript, I prefer type declarations in my code. diff --git a/source/_daily_emails/2023-09-21.md b/source/_daily_emails/2023-09-21.md index 7bea9233..64d5559c 100644 --- a/source/_daily_emails/2023-09-21.md +++ b/source/_daily_emails/2023-09-21.md @@ -1,15 +1,15 @@ --- title: > - Buggy software causes reputational damage + Buggy software causes reputational damage pubDate: 2023-09-21 permalink: >- - archive/2023/09/21/buggy-software-causes-reputational-damage + archive/2023/09/21/buggy-software-causes-reputational-damage tags: - - software-development - - automated-testing - - feature-flags - - continuous-integration - - continuous-delivery + - software-development + - automated-testing + - feature-flags + - continuous-integration + - continuous-delivery --- As well as taking longer to fix than locally or in a failed CI pipeline, shipping buggy software to production causes reputational damage. diff --git a/source/_daily_emails/2023-09-22.md b/source/_daily_emails/2023-09-22.md index a1c8985c..c21cdc36 100644 --- a/source/_daily_emails/2023-09-22.md +++ b/source/_daily_emails/2023-09-22.md @@ -1,13 +1,13 @@ --- title: > - Documentation and comments get stale. Tests don't. + Documentation and comments get stale. Tests don't. pubDate: 2023-09-22 permalink: >- - archive/2023/09/22/documentation-and-comments-get-stale + archive/2023/09/22/documentation-and-comments-get-stale tags: - - software-development - - automated-testing - - static-analysis + - software-development + - automated-testing + - static-analysis --- I'm sure you've seen code comments that say the code will do something when, in fact, it does something different. diff --git a/source/_daily_emails/2023-09-23.md b/source/_daily_emails/2023-09-23.md index 1a01903f..55118e52 100644 --- a/source/_daily_emails/2023-09-23.md +++ b/source/_daily_emails/2023-09-23.md @@ -1,13 +1,13 @@ --- title: > - Everyone tests their code, but not everyone writes automated tests + Everyone tests their code, but not everyone writes automated tests pubDate: 2023-09-23 permalink: >- - archive/2023/09/23/not-everyone-writes-automated-tests + archive/2023/09/23/not-everyone-writes-automated-tests tags: - - software-development - - test-driven-development - - automated-testing + - software-development + - test-driven-development + - automated-testing --- Everyone tests their code. diff --git a/source/_daily_emails/2023-09-24.md b/source/_daily_emails/2023-09-24.md index 91f14022..c9976d34 100644 --- a/source/_daily_emails/2023-09-24.md +++ b/source/_daily_emails/2023-09-24.md @@ -1,13 +1,13 @@ --- title: > - Test to save your job + Test to save your job pubDate: 2023-09-24 permalink: >- - archive/2023/09/24/test-to-save-your-job + archive/2023/09/24/test-to-save-your-job tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I've recently been going through my YouTube "Watch Later" list and watching (or rewatching) videos of conference and meetup talks that I saved to watch later. diff --git a/source/_daily_emails/2023-09-25.md b/source/_daily_emails/2023-09-25.md index 13bf3be5..c573d5cf 100644 --- a/source/_daily_emails/2023-09-25.md +++ b/source/_daily_emails/2023-09-25.md @@ -1,11 +1,11 @@ --- title: > - Should you use a staging environment? + Should you use a staging environment? pubDate: 2023-09-25 permalink: >- - archive/2023/09/25/should-you-use-a-staging-environment + archive/2023/09/25/should-you-use-a-staging-environment tags: - - software-development + - software-development --- The purpose of any pre-production version of your website or application (any version that isn't the public live one) is to mimic the production version and as a test run for deployments. diff --git a/source/_daily_emails/2023-09-26.md b/source/_daily_emails/2023-09-26.md index 630a0f59..9b86b120 100644 --- a/source/_daily_emails/2023-09-26.md +++ b/source/_daily_emails/2023-09-26.md @@ -1,14 +1,14 @@ --- title: > - Which branch should be in which environment? + Which branch should be in which environment? pubDate: 2023-09-26 permalink: >- - archive/2023/09/26/which-branch-should-be-in-which-environment + archive/2023/09/26/which-branch-should-be-in-which-environment tags: - - software-development - - git - - trunk-based-development - - feature-flags + - software-development + - git + - trunk-based-development + - feature-flags --- A common question is which [Git] branch should be on which environment. diff --git a/source/_daily_emails/2023-09-27.md b/source/_daily_emails/2023-09-27.md index 837c6949..61353ffb 100644 --- a/source/_daily_emails/2023-09-27.md +++ b/source/_daily_emails/2023-09-27.md @@ -1,12 +1,12 @@ --- title: > - Separating environments with feature flags + Separating environments with feature flags pubDate: 2023-09-27 permalink: >- - archive/2023/09/27/separating-environments-with-feature-flags + archive/2023/09/27/separating-environments-with-feature-flags tags: - - software-development - - feature-flags + - software-development + - feature-flags --- You have two or more environments and versions of your application, but you do trunk-based development, so you only have a single branch that you use on all environments. diff --git a/source/_daily_emails/2023-09-28.md b/source/_daily_emails/2023-09-28.md index 9ce78faf..0b314332 100644 --- a/source/_daily_emails/2023-09-28.md +++ b/source/_daily_emails/2023-09-28.md @@ -1,14 +1,14 @@ --- title: > - Feature flags enable continuous integration + Feature flags enable continuous integration pubDate: 2023-09-28 permalink: >- - archive/2023/09/28/feature-flags-enable-continuous-integration + archive/2023/09/28/feature-flags-enable-continuous-integration tags: - - software-development - - git - - continuous-integration - - feature-flags + - software-development + - git + - continuous-integration + - feature-flags --- I was recently working on a feature over a few mob programming sessions. diff --git a/source/_daily_emails/2023-09-29.md b/source/_daily_emails/2023-09-29.md index 76eb84bb..2095b65c 100644 --- a/source/_daily_emails/2023-09-29.md +++ b/source/_daily_emails/2023-09-29.md @@ -1,14 +1,14 @@ --- title: > - 92 changed files with 885 additions and 156 deletions + 92 changed files with 885 additions and 156 deletions pubDate: 2023-09-29 permalink: >- - archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions + archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions tags: - - software-development - - automated-testing - - test-driven-development - - refactoring + - software-development + - automated-testing + - test-driven-development + - refactoring --- Today, I refactored some code on a client's Drupal project I've been working on. diff --git a/source/_daily_emails/2023-09-30.md b/source/_daily_emails/2023-09-30.md index c05b157a..532c5df1 100644 --- a/source/_daily_emails/2023-09-30.md +++ b/source/_daily_emails/2023-09-30.md @@ -1,12 +1,12 @@ --- title: > - Automated testing offers repeatability + Automated testing offers repeatability pubDate: 2023-09-30 permalink: >- - archive/2023/09/30/automated-testing-offers-repeatability + archive/2023/09/30/automated-testing-offers-repeatability tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- You work on feature or bug fix. diff --git a/source/_daily_emails/2023-10-01.md b/source/_daily_emails/2023-10-01.md index d5616741..c444b9da 100644 --- a/source/_daily_emails/2023-10-01.md +++ b/source/_daily_emails/2023-10-01.md @@ -1,14 +1,14 @@ --- title: > - TDD: repeat and refactor + TDD: repeat and refactor pubDate: 2023-10-01 permalink: >- - archive/2023/10/01/tdd--repeat-and-refactor + archive/2023/10/01/tdd--repeat-and-refactor tags: - - automated-testing - - software-development - - test-driven-development - - refactoring + - automated-testing + - software-development + - test-driven-development + - refactoring --- With test-driven development, you start with a failing test and focus on getting it to pass. diff --git a/source/_daily_emails/2023-10-02.md b/source/_daily_emails/2023-10-02.md index 4da28fd9..58070788 100644 --- a/source/_daily_emails/2023-10-02.md +++ b/source/_daily_emails/2023-10-02.md @@ -1,12 +1,12 @@ --- title: > - Only comment what needs to be commented + Only comment what needs to be commented pubDate: 2023-10-02 permalink: >- - archive/2023/10/02/only-comment-what-needs-to-be-commented + archive/2023/10/02/only-comment-what-needs-to-be-commented tags: - - software-development - - clean-code + - software-development + - clean-code --- "If you comment everything, people won't read them." diff --git a/source/_daily_emails/2023-10-03.md b/source/_daily_emails/2023-10-03.md index eb78c201..ab7f4bc5 100644 --- a/source/_daily_emails/2023-10-03.md +++ b/source/_daily_emails/2023-10-03.md @@ -1,11 +1,11 @@ --- title: > - There is no perfect solution + There is no perfect solution pubDate: 2023-10-03 permalink: >- - archive/2023/10/03/there-is-no-perfect-solution + archive/2023/10/03/there-is-no-perfect-solution tags: - - software-development + - software-development --- Something I've said recently when mentoring bootcamp students and working with Junior Developers is that there isn't a perfect solution to each problem, and there are multiple ways to achieve the same result. diff --git a/source/_daily_emails/2023-10-04.md b/source/_daily_emails/2023-10-04.md index 8711419c..868d3187 100644 --- a/source/_daily_emails/2023-10-04.md +++ b/source/_daily_emails/2023-10-04.md @@ -1,13 +1,13 @@ --- title: > - The best solution is the one that gets the tests to pass + The best solution is the one that gets the tests to pass pubDate: 2023-10-04 permalink: >- - archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass + archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- As I said yesterday, there is no perfect solution or approach for every situation. diff --git a/source/_daily_emails/2023-10-05.md b/source/_daily_emails/2023-10-05.md index 096a9a9d..7b25a5d0 100644 --- a/source/_daily_emails/2023-10-05.md +++ b/source/_daily_emails/2023-10-05.md @@ -1,12 +1,12 @@ --- title: > - Some solutions are good enough + Some solutions are good enough pubDate: 2023-10-05 permalink: >- - archive/2023/10/05/some-solutions-are-good-enough + archive/2023/10/05/some-solutions-are-good-enough tags: - - software-development - - technical-debt + - software-development + - technical-debt --- Once you have a passing test and you're confident your code works as expected, what do you do next? diff --git a/source/_daily_emails/2023-10-06.md b/source/_daily_emails/2023-10-06.md index a502b9d3..e3656bb1 100644 --- a/source/_daily_emails/2023-10-06.md +++ b/source/_daily_emails/2023-10-06.md @@ -1,13 +1,13 @@ --- title: > - Software development is like going to the Dentist + Software development is like going to the Dentist pubDate: 2023-10-06 permalink: >- - archive/2023/10/06/software-development-is-like-going-to-the-dentist + archive/2023/10/06/software-development-is-like-going-to-the-dentist tags: - - software-development - - refactoring - - deployments + - software-development + - refactoring + - deployments --- Working on software development tasks is like going to the Dentist. diff --git a/source/_daily_emails/2023-10-07.md b/source/_daily_emails/2023-10-07.md index 273be1e9..fc4c75c1 100644 --- a/source/_daily_emails/2023-10-07.md +++ b/source/_daily_emails/2023-10-07.md @@ -1,13 +1,13 @@ --- title: > - A breakdown of tests from a current project + A breakdown of tests from a current project pubDate: 2023-10-07 permalink: >- - archive/2023/10/07/a-breakdown-of-tests-from-a-current-project + archive/2023/10/07/a-breakdown-of-tests-from-a-current-project tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I've just added the hundredth test to a client project I'm developing. diff --git a/source/_daily_emails/2023-10-08.md b/source/_daily_emails/2023-10-08.md index b7b8a718..0209b87b 100644 --- a/source/_daily_emails/2023-10-08.md +++ b/source/_daily_emails/2023-10-08.md @@ -1,15 +1,15 @@ --- title: > - Is test-driven development difficult? + Is test-driven development difficult? pubDate: 2023-10-08 permalink: >- - archive/2023/10/08/is-test-driven-development-difficult + archive/2023/10/08/is-test-driven-development-difficult tags: - - software-development - - automated-testing - - test-driven-development - - continuous-integration - - trunk-based-development + - software-development + - automated-testing + - test-driven-development + - continuous-integration + - trunk-based-development --- I recently read a post where the writer said automated testing, test-driven development, continuous integration, trunk-based development, etc, are difficult. diff --git a/source/_daily_emails/2023-10-09.md b/source/_daily_emails/2023-10-09.md index b8732840..0923427a 100644 --- a/source/_daily_emails/2023-10-09.md +++ b/source/_daily_emails/2023-10-09.md @@ -1,12 +1,12 @@ --- title: > - Spotting new things in Drupal 10.1 + Spotting new things in Drupal 10.1 pubDate: 2023-10-09 permalink: >- - archive/2023/10/09/spotting-new-things-in-drupal-10-1 + archive/2023/10/09/spotting-new-things-in-drupal-10-1 tags: - - php - - drupal + - php + - drupal --- I've recently updated my [Drupal Docker example project][project] to Drupal 10.1.5 and have been spotting new things. diff --git a/source/_daily_emails/2023-10-10.md b/source/_daily_emails/2023-10-10.md index c20c490f..400861c1 100644 --- a/source/_daily_emails/2023-10-10.md +++ b/source/_daily_emails/2023-10-10.md @@ -1,15 +1,15 @@ --- title: > - Why use Composer to manage Drupal dependencies? + Why use Composer to manage Drupal dependencies? pubDate: 2023-10-10 permalink: >- - archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies + archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies tags: - - software-development - - drupal - - php - - phpc - - composer + - software-development + - drupal + - php + - phpc + - composer --- One of the initial negatives when Drupal 8 launched was introducing Composer, PHP's dependency manager, and how it could affect non-technical users. diff --git a/source/_daily_emails/2023-10-11.md b/source/_daily_emails/2023-10-11.md index eb39049b..32c6de8d 100644 --- a/source/_daily_emails/2023-10-11.md +++ b/source/_daily_emails/2023-10-11.md @@ -1,13 +1,13 @@ --- title: > - Do you need that module? + Do you need that module? pubDate: 2023-10-11 permalink: >- - archive/2023/10/11/do-you-need-that-module + archive/2023/10/11/do-you-need-that-module tags: - - software-development - - drupal - - php + - software-development + - drupal + - php --- Drupal includes a lot of default functionality and additional core modules you can enable to extend it. diff --git a/source/_daily_emails/2023-10-12.md b/source/_daily_emails/2023-10-12.md index 8647d3c3..12a981f9 100644 --- a/source/_daily_emails/2023-10-12.md +++ b/source/_daily_emails/2023-10-12.md @@ -1,14 +1,14 @@ --- title: > - Business logic in template files? + Business logic in template files? pubDate: 2023-10-12 permalink: >- - archive/2023/10/12/business-logic-in-template-files + archive/2023/10/12/business-logic-in-template-files tags: - - software-development - - drupal - - twig - - automated-testing + - software-development + - drupal + - twig + - automated-testing --- I've often heard and advocated for not "putting logic" in template files and having a separation of concerns. diff --git a/source/_daily_emails/2023-10-13.md b/source/_daily_emails/2023-10-13.md index f8c73ee9..298540e4 100644 --- a/source/_daily_emails/2023-10-13.md +++ b/source/_daily_emails/2023-10-13.md @@ -1,13 +1,13 @@ --- title: > - Writing tests is an investment + Writing tests is an investment pubDate: 2023-10-13 permalink: >- - archive/2023/10/13/writing-tests-is-an-investment + archive/2023/10/13/writing-tests-is-an-investment tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- It can take time to write automated tests and do test-driven development, but it is an investment in a project's future stability. diff --git a/source/_daily_emails/2023-10-14.md b/source/_daily_emails/2023-10-14.md index 133a0c3f..8844b931 100644 --- a/source/_daily_emails/2023-10-14.md +++ b/source/_daily_emails/2023-10-14.md @@ -1,13 +1,13 @@ --- title: > - Do you need to write tests for small or short-lived projects? + Do you need to write tests for small or short-lived projects? pubDate: 2023-10-14 permalink: >- - archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects + archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- When does it make sense not to write automated tests? diff --git a/source/_daily_emails/2023-10-15.md b/source/_daily_emails/2023-10-15.md index a503a983..f1803fff 100644 --- a/source/_daily_emails/2023-10-15.md +++ b/source/_daily_emails/2023-10-15.md @@ -1,12 +1,12 @@ --- title: > - Off to DrupalCon + Off to DrupalCon pubDate: 2023-10-15 permalink: >- - archive/2023/10/15/off-to-drupalcon + archive/2023/10/15/off-to-drupalcon tags: - - drupal - - drupalcon + - drupal + - drupalcon --- This week, I'll be in Lille, France for DrupalCon Europe, where I'm presenting a session on automated testing and test-driven development in Drupal. diff --git a/source/_daily_emails/2023-10-23.md b/source/_daily_emails/2023-10-23.md index 5a691517..7546239e 100644 --- a/source/_daily_emails/2023-10-23.md +++ b/source/_daily_emails/2023-10-23.md @@ -1,13 +1,13 @@ --- title: > - When should you run your tests? + When should you run your tests? pubDate: 2023-10-23 permalink: >- - archive/2023/10/23/when-should-run-your-tests + archive/2023/10/23/when-should-run-your-tests tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- After my talk at DrupalCon, I was asked when you should run your tests. diff --git a/source/_daily_emails/2023-10-24.md b/source/_daily_emails/2023-10-24.md index 9874a061..7cf05a93 100644 --- a/source/_daily_emails/2023-10-24.md +++ b/source/_daily_emails/2023-10-24.md @@ -1,13 +1,13 @@ --- title: > - How to test code you didn't write + How to test code you didn't write pubDate: 2023-10-24 permalink: >- - archive/2023/10/24/how-to-test-code-you-didnt-write + archive/2023/10/24/how-to-test-code-you-didnt-write tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I was also asked at DrupalCon how you write tests for code you didn't write and how you cover all of the use cases and scenarios. diff --git a/source/_daily_emails/2023-10-25.md b/source/_daily_emails/2023-10-25.md index 8fc8b3e0..34457303 100644 --- a/source/_daily_emails/2023-10-25.md +++ b/source/_daily_emails/2023-10-25.md @@ -1,15 +1,15 @@ --- title: > - Automated tests prevent regressions when upgrading + Automated tests prevent regressions when upgrading pubDate: 2023-10-25 permalink: >- - archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading + archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading tags: - - software-development - - php - - drupal - - automated-testing - - test-driven-development + - software-development + - php + - drupal + - automated-testing + - test-driven-development --- With Drupal 9 almost being end-of-life and unsupported, I've recently been doing a lot of Drupal 9 to 10 upgrade work. diff --git a/source/_daily_emails/2023-10-26.md b/source/_daily_emails/2023-10-26.md index 286efe06..a37c4897 100644 --- a/source/_daily_emails/2023-10-26.md +++ b/source/_daily_emails/2023-10-26.md @@ -1,14 +1,14 @@ --- title: > - Is decoupled Drupal still a thing? + Is decoupled Drupal still a thing? pubDate: 2023-10-26 permalink: >- - archive/2023/10/26/is-decoupled-drupal-still-a-thing + archive/2023/10/26/is-decoupled-drupal-still-a-thing tags: - - software-development - - drupal - - decoupled-drupal - - vuejs + - software-development + - drupal + - decoupled-drupal + - vuejs --- A few years ago, decoupled or headless Drupal - where Drupal is used as an API with a separate front-end - was very popular with some large Drupal agencies and clients using it. diff --git a/source/_daily_emails/2023-10-27.md b/source/_daily_emails/2023-10-27.md index 3e7bb47b..797681fa 100644 --- a/source/_daily_emails/2023-10-27.md +++ b/source/_daily_emails/2023-10-27.md @@ -1,14 +1,14 @@ --- title: > - Work with me and support the Drupal Association + Work with me and support the Drupal Association pubDate: 2023-10-27 permalink: >- - archive/2023/10/27/work-with-me-and-support-the-drupal-association + archive/2023/10/27/work-with-me-and-support-the-drupal-association tags: - - drupal - - open-source - - php - - phpc + - drupal + - open-source + - php + - phpc --- I used to work for the [Drupal Association][association] - the non-profit organisation that supports the Drupal project, organises DrupalCon, and maintains Drupal.org. diff --git a/source/_daily_emails/2023-10-28.md b/source/_daily_emails/2023-10-28.md index a83066f7..4c79f784 100644 --- a/source/_daily_emails/2023-10-28.md +++ b/source/_daily_emails/2023-10-28.md @@ -1,13 +1,13 @@ --- title: > - Can you move faster without tests? + Can you move faster without tests? pubDate: 2023-10-28 permalink: >- - archive/2023/10/28/can-you-move-faster-without-tests + archive/2023/10/28/can-you-move-faster-without-tests tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- If you don't write automated tests or do test-driven development, you might move quickly to begin with - writing code and doing small amounts of manual testing. diff --git a/source/_daily_emails/2023-10-29.md b/source/_daily_emails/2023-10-29.md index 6d680e57..47fef5ec 100644 --- a/source/_daily_emails/2023-10-29.md +++ b/source/_daily_emails/2023-10-29.md @@ -1,13 +1,13 @@ --- title: > - I can drive my car blindfolded, but is it a good idea? + I can drive my car blindfolded, but is it a good idea? pubDate: 2023-10-29 permalink: >- - archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea + archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- After sending [yesterday's email][yesterday], Dave Hall replied [with a LinkedIn comment][comment] I liked and wanted to share (done with permission): diff --git a/source/_daily_emails/2023-10-30.md b/source/_daily_emails/2023-10-30.md index e64c9240..36135e1a 100644 --- a/source/_daily_emails/2023-10-30.md +++ b/source/_daily_emails/2023-10-30.md @@ -1,13 +1,13 @@ --- title: > - Is Drupal a CMS or a framework? + Is Drupal a CMS or a framework? pubDate: 2023-10-30 permalink: >- - archive/2023/10/30/is-drupal-a-cms-or-a-framework + archive/2023/10/30/is-drupal-a-cms-or-a-framework tags: - - php - - phpc - - drupal + - php + - phpc + - drupal --- Drupal is typically called a CMS (content management system) - somewhere you add and edit the content for your website. diff --git a/source/_daily_emails/2023-10-31.md b/source/_daily_emails/2023-10-31.md index 1278c763..7dfa78da 100644 --- a/source/_daily_emails/2023-10-31.md +++ b/source/_daily_emails/2023-10-31.md @@ -1,12 +1,12 @@ --- title: > - One official Drupal development environment? + One official Drupal development environment? pubDate: 2023-10-31 permalink: >- - archive/2023/10/31/one-official-drupal-development-environment + archive/2023/10/31/one-official-drupal-development-environment tags: - - drupal - - php + - drupal + - php --- Yesterday, I read [a post by Kevin Quillen][post] titled 'DDEV being considered as the "official" Drupal development environment'. diff --git a/source/_daily_emails/2023-11-01.md b/source/_daily_emails/2023-11-01.md index 7a641422..4462ef0d 100644 --- a/source/_daily_emails/2023-11-01.md +++ b/source/_daily_emails/2023-11-01.md @@ -1,12 +1,12 @@ --- title: > - Drupal 9 is now end of life + Drupal 9 is now end of life pubDate: 2023-11-01 permalink: >- - archive/2023/11/01/drupal-9-is-now-end-of-life + archive/2023/11/01/drupal-9-is-now-end-of-life tags: - - drupal - - php + - drupal + - php --- As of today, Drupal 9 is end-of-life and no longer supported. diff --git a/source/_daily_emails/2023-11-02.md b/source/_daily_emails/2023-11-02.md index 8302a673..82d29ccd 100644 --- a/source/_daily_emails/2023-11-02.md +++ b/source/_daily_emails/2023-11-02.md @@ -1,13 +1,13 @@ --- title: > - Is code coverage an objective or guideline? + Is code coverage an objective or guideline? pubDate: 2023-11-02 permalink: >- - archive/2023/11/02/is-code-coverage-an-objective-or-guideline + archive/2023/11/02/is-code-coverage-an-objective-or-guideline tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Many development teams and projects use code coverage - e.g. how many lines of code are covered by automated tests - as an objective, and saying it must be 100% or another percentage. diff --git a/source/_daily_emails/2023-11-03.md b/source/_daily_emails/2023-11-03.md index 5c4c2719..c2d05208 100644 --- a/source/_daily_emails/2023-11-03.md +++ b/source/_daily_emails/2023-11-03.md @@ -1,12 +1,12 @@ --- title: > - Why your company should contribute to open-source software + Why your company should contribute to open-source software pubDate: 2023-11-03 permalink: >- - archive/2023/11/03/why-your-company-should-contribute-to-open-source-software + archive/2023/11/03/why-your-company-should-contribute-to-open-source-software tags: - - software-development - - open-source + - software-development + - open-source --- I've always thought companies should contribute to open-source software. diff --git a/source/_daily_emails/2023-11-04.md b/source/_daily_emails/2023-11-04.md index 7e084164..72dff9ba 100644 --- a/source/_daily_emails/2023-11-04.md +++ b/source/_daily_emails/2023-11-04.md @@ -1,12 +1,12 @@ --- title: > - Why you should contribute to open-source software + Why you should contribute to open-source software pubDate: 2023-11-04 permalink: >- - archive/2023/11/04/why-you-should-contribute-to-open-source-software + archive/2023/11/04/why-you-should-contribute-to-open-source-software tags: - - software-development - - open-source + - software-development + - open-source --- [Yesterday's email][yesterday] explained why your company should contribute to open-source software, but why should you contribute as an individual? diff --git a/source/_daily_emails/2023-11-05.md b/source/_daily_emails/2023-11-05.md index fd24d4de..390574c3 100644 --- a/source/_daily_emails/2023-11-05.md +++ b/source/_daily_emails/2023-11-05.md @@ -1,12 +1,12 @@ --- title: > - I'm starting a podcast + I'm starting a podcast pubDate: 2023-11-05 permalink: >- - archive/2023/11/05/i-m-starting-a-podcast + archive/2023/11/05/i-m-starting-a-podcast tags: - - software-development - - podcast + - software-development + - podcast --- This week, I'm starting my own podcast - [Beyond Blocks][podcast]. diff --git a/source/_daily_emails/2023-11-06.md b/source/_daily_emails/2023-11-06.md index 7ddb6c53..16f760c5 100644 --- a/source/_daily_emails/2023-11-06.md +++ b/source/_daily_emails/2023-11-06.md @@ -1,14 +1,14 @@ --- title: > - The first Beyond Blocks podcast episode is recorded + The first Beyond Blocks podcast episode is recorded pubDate: 2023-11-06 permalink: >- - archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded + archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded tags: - - software-development - - podcast - - drupal - - php + - software-development + - podcast + - drupal + - php --- For my first time in the podcast host chair, I interviewed Matt Glaman - Principal Software Engineer at Acquia. diff --git a/source/_daily_emails/2023-11-07.md b/source/_daily_emails/2023-11-07.md index 3ff4cf4a..2e021662 100644 --- a/source/_daily_emails/2023-11-07.md +++ b/source/_daily_emails/2023-11-07.md @@ -1,11 +1,11 @@ --- title: > - It depends + It depends pubDate: 2023-11-07 permalink: >- - archive/2023/11/07/it-depends + archive/2023/11/07/it-depends tags: - - software-development + - software-development --- Usually, in software development, there isn't always a definitive black-and-white answer to a question or situation. diff --git a/source/_daily_emails/2023-11-08.md b/source/_daily_emails/2023-11-08.md index d9d4b50b..0c6a7b28 100644 --- a/source/_daily_emails/2023-11-08.md +++ b/source/_daily_emails/2023-11-08.md @@ -1,13 +1,13 @@ --- title: > - "Building Build Configs" at PHP South West + "Building Build Configs" at PHP South West pubDate: 2023-11-08 permalink: >- - archive/2023/11/08/building-build-configs + archive/2023/11/08/building-build-configs tags: - - software-development - - php - - public-speaking + - software-development + - php + - public-speaking --- This evening, I'm presenting a lightning talk at the PHP South West meetup in Bristol. diff --git a/source/_daily_emails/2023-11-09.md b/source/_daily_emails/2023-11-09.md index 0dff63e8..3927130d 100644 --- a/source/_daily_emails/2023-11-09.md +++ b/source/_daily_emails/2023-11-09.md @@ -1,12 +1,12 @@ --- title: > - README-driven development + README-driven development pubDate: 2023-11-09 permalink: >- - archive/2023/11/09/readme-driven-development + archive/2023/11/09/readme-driven-development tags: - - software-development - - documentation + - software-development + - documentation --- As well as test-driven development (TDD), I also like README-driven development - a.k.a. documentation-driven development. diff --git a/source/_daily_emails/2023-11-10.md b/source/_daily_emails/2023-11-10.md index 521faf45..891b8585 100644 --- a/source/_daily_emails/2023-11-10.md +++ b/source/_daily_emails/2023-11-10.md @@ -1,15 +1,15 @@ --- title: > - Retrofit with Matt Glaman + Retrofit with Matt Glaman pubDate: 2023-11-10 permalink: >- - archive/2023/11/10/retrofit-with-matt-glaman + archive/2023/11/10/retrofit-with-matt-glaman tags: - - drupal - - php - - drupal-upgrades - - podcast - - beyond-blocks + - drupal + - php + - drupal-upgrades + - podcast + - beyond-blocks --- Today, I released [the first episode of the "Beyond Blocks" podcast]({{site.url}}/podcast/1-retrofit). diff --git a/source/_daily_emails/2023-11-11.md b/source/_daily_emails/2023-11-11.md index 739c27a9..7d36712c 100644 --- a/source/_daily_emails/2023-11-11.md +++ b/source/_daily_emails/2023-11-11.md @@ -1,16 +1,16 @@ --- title: > - Work in small batches + Work in small batches pubDate: 2023-11-11 permalink: >- - archive/2023/11/11/work-in-small-batches + archive/2023/11/11/work-in-small-batches tags: - - software-development - - git - - continuous-integration - - continuous-delivery - - continuous-deployment - - trunk-based-development + - software-development + - git + - continuous-integration + - continuous-delivery + - continuous-deployment + - trunk-based-development --- Software should be designed, written, and deployed in small batches. diff --git a/source/_daily_emails/2023-11-12.md b/source/_daily_emails/2023-11-12.md index bc639868..cadd6fc4 100644 --- a/source/_daily_emails/2023-11-12.md +++ b/source/_daily_emails/2023-11-12.md @@ -1,12 +1,12 @@ --- title: > - Drupal gives you so much out-of-the-box + Drupal gives you so much out-of-the-box pubDate: 2023-11-12 permalink: >- - archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box + archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box tags: - - software-development - - drupal + - software-development + - drupal --- When you download and install Drupal, you get so much functionality available out-of-the-box. diff --git a/source/_daily_emails/2023-11-13.md b/source/_daily_emails/2023-11-13.md index 2e0a97f1..8a6822c7 100644 --- a/source/_daily_emails/2023-11-13.md +++ b/source/_daily_emails/2023-11-13.md @@ -1,18 +1,18 @@ --- title: > - PHPUnit does more than unit testing + PHPUnit does more than unit testing pubDate: 2023-11-13 permalink: >- - archive/2023/11/13/phpunit-does-more-than-unit-testing + archive/2023/11/13/phpunit-does-more-than-unit-testing tags: - - software-development - - automated-testing - - software-development - - test-driven-development - - phpunit - - php - - drupal - - symfony + - software-development + - automated-testing + - software-development + - test-driven-development + - phpunit + - php + - drupal + - symfony --- As the name suggests, [PHPUnit][] is a unit testing framework for PHP. diff --git a/source/_daily_emails/2023-11-14.md b/source/_daily_emails/2023-11-14.md index 1afafa13..a124f35a 100644 --- a/source/_daily_emails/2023-11-14.md +++ b/source/_daily_emails/2023-11-14.md @@ -1,14 +1,14 @@ --- title: > - Why I prefer integration tests to unit tests + Why I prefer integration tests to unit tests pubDate: 2023-11-14 permalink: >- - archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests + archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests tags: - - software-development - - automated-testing - - test-driven-development - - mocking + - software-development + - automated-testing + - test-driven-development + - mocking --- With unit tests, you need to mock __everything__. diff --git a/source/_daily_emails/2023-11-15.md b/source/_daily_emails/2023-11-15.md index 3e43a60a..0549dfc7 100644 --- a/source/_daily_emails/2023-11-15.md +++ b/source/_daily_emails/2023-11-15.md @@ -1,14 +1,14 @@ --- title: > - Don't pre-optimise and over-customise + Don't pre-optimise and over-customise pubDate: 2023-11-15 permalink: >- - archive/2023/11/15/dont-pre-optimise-and-over-customise + archive/2023/11/15/dont-pre-optimise-and-over-customise tags: - - software-development - - clean-code - - automated-testing - - test-driven-development + - software-development + - clean-code + - automated-testing + - test-driven-development --- I've been re-watching a livestream series from a few years ago, showing a SaaS product being built. diff --git a/source/_daily_emails/2023-11-16.md b/source/_daily_emails/2023-11-16.md index 65a9ed9e..4bba43fe 100644 --- a/source/_daily_emails/2023-11-16.md +++ b/source/_daily_emails/2023-11-16.md @@ -1,13 +1,13 @@ --- title: > - Avoiding over-mocking + Avoiding over-mocking pubDate: 2023-11-16 permalink: >- - archive/2023/11/16/avoiding-over-mocking + archive/2023/11/16/avoiding-over-mocking tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- In unit tests, and sometimes in kernel tests, you need to mock the dependencies you aren't testing, but you can over-mock and only be testing the mocks and not the code you want to test. diff --git a/source/_daily_emails/2023-11-17.md b/source/_daily_emails/2023-11-17.md index bf446a8c..520adce5 100644 --- a/source/_daily_emails/2023-11-17.md +++ b/source/_daily_emails/2023-11-17.md @@ -1,15 +1,15 @@ --- title: > - Drupal's Alternate Realities + Drupal's Alternate Realities pubDate: 2023-11-17 permalink: >- - archive/2023/11/17/drupal-s-alternate-realities + archive/2023/11/17/drupal-s-alternate-realities tags: - - drupal - - php - - phpc - - beyond-blocks - - podcast + - drupal + - php + - phpc + - beyond-blocks + - podcast --- [This week's episode][episode] of the Beyond Blocks podcast is live, where I speak with Panagiotis Moutsopoulos (vensires on Drupal.org) - Drupal Backend Developer at E-Sepia. diff --git a/source/_daily_emails/2023-11-18.md b/source/_daily_emails/2023-11-18.md index 59839dd2..8b0f740b 100644 --- a/source/_daily_emails/2023-11-18.md +++ b/source/_daily_emails/2023-11-18.md @@ -1,15 +1,15 @@ --- title: > - Writing good test names + Writing good test names pubDate: 2023-11-18 permalink: >- - archive/2023/11/18/writing-good-test-names + archive/2023/11/18/writing-good-test-names tags: - - software-development - - test-driven-development - - automated-testing - - php - - phpunit + - software-development + - test-driven-development + - automated-testing + - php + - phpunit --- In PHPUnit, there are different ways to write test methods. diff --git a/source/_daily_emails/2023-11-19.md b/source/_daily_emails/2023-11-19.md index 384da184..3a661d19 100644 --- a/source/_daily_emails/2023-11-19.md +++ b/source/_daily_emails/2023-11-19.md @@ -1,12 +1,12 @@ --- title: > - Why I've standardised on 'run' scripts + Why I've standardised on 'run' scripts pubDate: 2023-11-19 permalink: >- - archive/2023/11/19/why-ive-standardised-on-run-scripts + archive/2023/11/19/why-ive-standardised-on-run-scripts tags: - - software-development - - continuous-integration + - software-development + - continuous-integration --- In some of my first emails to this list, I wrote about `just` and `run` files. diff --git a/source/_daily_emails/2023-11-20.md b/source/_daily_emails/2023-11-20.md index 37baf8b5..b02b74f8 100644 --- a/source/_daily_emails/2023-11-20.md +++ b/source/_daily_emails/2023-11-20.md @@ -1,13 +1,13 @@ --- title: > - What'll be in Drupal 11? + What'll be in Drupal 11? pubDate: 2023-11-20 permalink: >- - archive/2023/11/20/whatll-be-in-drupal-11 + archive/2023/11/20/whatll-be-in-drupal-11 tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Drupal 9 is end-of-life and no longer supported. diff --git a/source/_daily_emails/2023-11-21.md b/source/_daily_emails/2023-11-21.md index 938ad560..9dca2ed0 100644 --- a/source/_daily_emails/2023-11-21.md +++ b/source/_daily_emails/2023-11-21.md @@ -1,16 +1,16 @@ --- title: > - Why I built "Build Configs" + Why I built "Build Configs" pubDate: 2023-11-21 permalink: >- - archive/2023/11/21/why-i-built-build-configs + archive/2023/11/21/why-i-built-build-configs tags: - - docker - - docker-compose - - php - - phpc - - drupal - - symfony + - docker + - docker-compose + - php + - phpc + - drupal + - symfony --- [Build Configs] is a tool I wrote and recently [gave a lightning talk about][talk] at the PHP South West meetup in Bristol, UK. diff --git a/source/_daily_emails/2023-11-22.md b/source/_daily_emails/2023-11-22.md index 78d37a0a..2c2c5199 100644 --- a/source/_daily_emails/2023-11-22.md +++ b/source/_daily_emails/2023-11-22.md @@ -1,15 +1,15 @@ --- title: > - Frequency reduces difficulty + Frequency reduces difficulty pubDate: 2023-11-22 permalink: >- - archive/2023/11/22/frequency-reduces-difficulty + archive/2023/11/22/frequency-reduces-difficulty tags: - - software-development - - agile - - continuous-delivery - - git - - trunk-based-development + - software-development + - agile + - continuous-delivery + - git + - trunk-based-development --- "Frequency reduces difficulty" is a phrase I heard on a podcast today, though I have heard it before. diff --git a/source/_daily_emails/2023-11-23.md b/source/_daily_emails/2023-11-23.md index 185290e3..ca64da90 100644 --- a/source/_daily_emails/2023-11-23.md +++ b/source/_daily_emails/2023-11-23.md @@ -1,16 +1,16 @@ --- title: > - Partial mocking + Partial mocking pubDate: 2023-11-23 permalink: >- - archive/2023/11/23/partial-mocking + archive/2023/11/23/partial-mocking tags: - - automated-testing - - test-driven-development - - drupal - - php - - phpunit - - phpc + - automated-testing + - test-driven-development + - drupal + - php + - phpunit + - phpc --- Today, I wrote a test whilst fixing a bug in some legacy custom Drupal code. diff --git a/source/_daily_emails/2023-11-24.md b/source/_daily_emails/2023-11-24.md index 261f792b..f17e9c70 100644 --- a/source/_daily_emails/2023-11-24.md +++ b/source/_daily_emails/2023-11-24.md @@ -1,12 +1,12 @@ --- title: > - Are conventional commits worth it? + Are conventional commits worth it? pubDate: 2023-11-24 permalink: >- - archive/2023/11/24/are-conventional-commits-worth-it + archive/2023/11/24/are-conventional-commits-worth-it tags: - - software-development - - git + - software-development + - git --- For some time, I've written commit messages following the Conventional Commits specification, where you start the subject with the type of commit - such as `feat`, `fix`, `chore`, `docs`, etc - and provide an optional scope before completing the subject line (the first line in the message). diff --git a/source/_daily_emails/2023-11-25.md b/source/_daily_emails/2023-11-25.md index 2f0ecadd..ffa6fd09 100644 --- a/source/_daily_emails/2023-11-25.md +++ b/source/_daily_emails/2023-11-25.md @@ -1,15 +1,15 @@ --- title: > - Community engagement for non-technical Drupal enthusiasts + Community engagement for non-technical Drupal enthusiasts pubDate: 2023-11-25 permalink: >- - archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts + archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts tags: - - drupal - - drupalcon - - open-source - - contribution - - podcast + - drupal + - drupalcon + - open-source + - contribution + - podcast --- This week's guest on the Beyond Blocks podcast is Niklas Franke - Digital Marketing Manager at Factorial. diff --git a/source/_daily_emails/2023-11-26.md b/source/_daily_emails/2023-11-26.md index 87aec28f..98563e79 100644 --- a/source/_daily_emails/2023-11-26.md +++ b/source/_daily_emails/2023-11-26.md @@ -1,14 +1,14 @@ --- title: > - To docblock or not to docblock + To docblock or not to docblock pubDate: 2023-11-26 permalink: >- - archive/2023/11/26/to-docblock-or-not-to-docblock + archive/2023/11/26/to-docblock-or-not-to-docblock tags: - - php - - phpstan - - static-analysis - - clean-code + - php + - phpstan + - static-analysis + - clean-code --- ## What are docblocks? diff --git a/source/_daily_emails/2023-11-27.md b/source/_daily_emails/2023-11-27.md index 28dc7748..7dbf81cd 100644 --- a/source/_daily_emails/2023-11-27.md +++ b/source/_daily_emails/2023-11-27.md @@ -1,15 +1,15 @@ --- title: > - Finding the best test base + Finding the best test base pubDate: 2023-11-27 permalink: >- - archive/2023/11/27/finding-the-best-test-base + archive/2023/11/27/finding-the-best-test-base tags: - - software-development - - automated-testing - - test-driven-development - - php - - drupal + - software-development + - automated-testing + - test-driven-development + - php + - drupal --- As well as different base classes for types of tests - i.e. functional, kernel and unit - there are other test base classes within those that can be used to simplify things. diff --git a/source/_daily_emails/2023-11-28.md b/source/_daily_emails/2023-11-28.md index 26aa8de5..344cfa87 100644 --- a/source/_daily_emails/2023-11-28.md +++ b/source/_daily_emails/2023-11-28.md @@ -1,14 +1,14 @@ --- title: > - Which PHPStan level should you use? + Which PHPStan level should you use? pubDate: 2023-11-28 permalink: >- - archive/2023/11/28/which-phpstan-level-should-you-use + archive/2023/11/28/which-phpstan-level-should-you-use tags: - - software-development - - clean-code - - static-analysis - - phpstan + - software-development + - clean-code + - static-analysis + - phpstan --- Which PHPStan level should you use? diff --git a/source/_daily_emails/2023-11-29.md b/source/_daily_emails/2023-11-29.md index 1bdb3bd5..79072963 100644 --- a/source/_daily_emails/2023-11-29.md +++ b/source/_daily_emails/2023-11-29.md @@ -1,15 +1,15 @@ --- title: > - The lowest level is better than no level + The lowest level is better than no level pubDate: 2023-11-29 permalink: >- - archive/2023/11/29/the-lowest-level-is-better-than-no-level + archive/2023/11/29/the-lowest-level-is-better-than-no-level tags: - - software-development - - clean-code - - static-analysis - - php - - phpstan + - software-development + - clean-code + - static-analysis + - php + - phpstan --- [Yesterday's email][yesterday] introduced the different levels that PHPStan offers and which you may want to use on your codebase. diff --git a/source/_daily_emails/2023-11-30.md b/source/_daily_emails/2023-11-30.md index 7990b3a7..ae3cb0b8 100644 --- a/source/_daily_emails/2023-11-30.md +++ b/source/_daily_emails/2023-11-30.md @@ -1,14 +1,14 @@ --- title: > - Are bugs good for users? + Are bugs good for users? pubDate: 2023-11-30 permalink: >- - archive/2023/11/30/are-bugs-good-for-users + archive/2023/11/30/are-bugs-good-for-users tags: - - software-development - - automated-testing - - test-driven-development - - static-analysis + - software-development + - automated-testing + - test-driven-development + - static-analysis --- I recently listened to a podcast episode that was discussing if bugs are good for users. diff --git a/source/_daily_emails/2023-12-01.md b/source/_daily_emails/2023-12-01.md index 818f5aab..0aa87dd5 100644 --- a/source/_daily_emails/2023-12-01.md +++ b/source/_daily_emails/2023-12-01.md @@ -1,12 +1,12 @@ --- title: > - The contribution-first workflow + The contribution-first workflow pubDate: 2023-12-01 permalink: >- - archive/2023/12/01/the-contribution-first-workflow + archive/2023/12/01/the-contribution-first-workflow tags: - - software-development - - open-source + - software-development + - open-source --- I've worked on many software projects with a lot of custom code. diff --git a/source/_daily_emails/2023-12-04.md b/source/_daily_emails/2023-12-04.md index 04ac6c76..09b0c3da 100644 --- a/source/_daily_emails/2023-12-04.md +++ b/source/_daily_emails/2023-12-04.md @@ -1,15 +1,15 @@ --- title: > - Writing contrib modules as glue between your custom code + Writing contrib modules as glue between your custom code pubDate: 2023-12-04 permalink: >- - archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code + archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code tags: - - software-development - - contribution - - open-source - - drupal - - php + - software-development + - contribution + - open-source + - drupal + - php --- diff --git a/source/_daily_emails/2023-12-05.md b/source/_daily_emails/2023-12-05.md index cb9e26cf..497072dc 100644 --- a/source/_daily_emails/2023-12-05.md +++ b/source/_daily_emails/2023-12-05.md @@ -1,15 +1,15 @@ --- title: > - Open-source encourages more open-source + Open-source encourages more open-source pubDate: 2023-12-05 permalink: >- - archive/2023/12/05/open-source-encourages-open-source + archive/2023/12/05/open-source-encourages-open-source tags: - - software-development - - contribution - - open-source - - drupal - - php + - software-development + - contribution + - open-source + - drupal + - php --- [In yesterday's email][yesterday], I mentioned the Private Message Queue module - a contributed Drupal module we wrote for a project as part of a contribution-first workflow. diff --git a/source/_daily_emails/2023-12-06.md b/source/_daily_emails/2023-12-06.md index 71ff5b9b..bc313f4d 100644 --- a/source/_daily_emails/2023-12-06.md +++ b/source/_daily_emails/2023-12-06.md @@ -1,13 +1,13 @@ --- title: > - Open-source first doesn't mean you need to cover every use case + Open-source first doesn't mean you need to cover every use case pubDate: 2023-12-06 permalink: >- - archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case + archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case tags: - - software-development - - open-source - - contribution + - software-development + - open-source + - contribution --- An argument against the [contribution-first and open-source-first approach]({{site.url}}/archive/2023/12/01/the-contribution-first-workflow) is that it takes longer than writing custom code. diff --git a/source/_daily_emails/2023-12-07.md b/source/_daily_emails/2023-12-07.md index 6fcf2dd2..9f7911ac 100644 --- a/source/_daily_emails/2023-12-07.md +++ b/source/_daily_emails/2023-12-07.md @@ -1,14 +1,14 @@ --- title: > - A Drupal case study from Oxfam + A Drupal case study from Oxfam pubDate: 2023-12-07 permalink: >- - archive/2023/12/07/a-drupal-case-study-from-oxfam + archive/2023/12/07/a-drupal-case-study-from-oxfam tags: - - software-development - - drupal - - php - - agile + - software-development + - drupal + - php + - agile --- In the latest episode of the Beyond Blocks podcast, Ed Crompton and I discuss his case study of upgrading 15 websites for Oxfam on how to build and test a multilingual, multisite Drupal migration. diff --git a/source/_daily_emails/2023-12-08.md b/source/_daily_emails/2023-12-08.md index 6528c259..d76f7924 100644 --- a/source/_daily_emails/2023-12-08.md +++ b/source/_daily_emails/2023-12-08.md @@ -1,12 +1,12 @@ --- title: > - Don't just rewrite. Re-invent. + Don't just rewrite. Re-invent. pubDate: 2023-12-08 permalink: >- - archive/2023/12/08/dont-just-rewrite + archive/2023/12/08/dont-just-rewrite tags: - - software-development - - neovimconf + - software-development + - neovimconf --- A quote that stuck out to me from today's Neovimconf conference was this by Björn Linse (aka bfredl): diff --git a/source/_daily_emails/2023-12-09.md b/source/_daily_emails/2023-12-09.md index acd86c82..2af1d764 100644 --- a/source/_daily_emails/2023-12-09.md +++ b/source/_daily_emails/2023-12-09.md @@ -1,12 +1,12 @@ --- title: > - Rebuild or iterate + Rebuild or iterate pubDate: 2023-12-09 permalink: >- - archive/2023/12/09/rebuild-or-iterate + archive/2023/12/09/rebuild-or-iterate tags: - - software-development - - drupal + - software-development + - drupal --- As I said in [yesterday's email][yesterday], I'm discussing with a team how to implement their new website design. diff --git a/source/_daily_emails/2023-12-10.md b/source/_daily_emails/2023-12-10.md index 074c7515..07423e2e 100644 --- a/source/_daily_emails/2023-12-10.md +++ b/source/_daily_emails/2023-12-10.md @@ -1,15 +1,15 @@ --- title: > - Suffixing names + Suffixing names pubDate: 2023-12-10 permalink: >- - archive/2023/12/10/suffixing-names + archive/2023/12/10/suffixing-names tags: - - software-development - - php - - drupal - - symfony - - clean-code + - software-development + - php + - drupal + - symfony + - clean-code --- When writing code, it's common to suffix the class name with the type of class it is. diff --git a/source/_daily_emails/2023-12-11.md b/source/_daily_emails/2023-12-11.md index 9cc86fdc..744f1f95 100644 --- a/source/_daily_emails/2023-12-11.md +++ b/source/_daily_emails/2023-12-11.md @@ -1,15 +1,15 @@ --- title: > - Custom coding standards and conventions + Custom coding standards and conventions pubDate: 2023-12-11 permalink: >- - archive/2023/12/11/custom-coding-standards-and-conventions + archive/2023/12/11/custom-coding-standards-and-conventions tags: - - software-development - - php - - drupal - - symfony - - clean-code + - software-development + - php + - drupal + - symfony + - clean-code --- Open-source projects like Drupal and Symfony have their own published coding standards and conventions. diff --git a/source/_daily_emails/2023-12-12.md b/source/_daily_emails/2023-12-12.md index d413b841..e38a870a 100644 --- a/source/_daily_emails/2023-12-12.md +++ b/source/_daily_emails/2023-12-12.md @@ -1,17 +1,17 @@ --- title: > - DrupalCon session survey results + DrupalCon session survey results pubDate: 2023-12-12 permalink: >- - archive/2023/12/12/drupalcon-session-survey-results + archive/2023/12/12/drupalcon-session-survey-results tags: - - software-development - - test-driven-development - - automated-testing - - php - - phpc - - drupal - - drupalcon + - software-development + - test-driven-development + - automated-testing + - php + - phpc + - drupal + - drupalcon --- The survey results from my automated testing and test-driven development session at DrupalCon Lille are in, and here they are: diff --git a/source/_daily_emails/2023-12-13.md b/source/_daily_emails/2023-12-13.md index 6ecc0a7d..ca17ab6e 100644 --- a/source/_daily_emails/2023-12-13.md +++ b/source/_daily_emails/2023-12-13.md @@ -1,13 +1,13 @@ --- title: > - Reviving an old PHP project + Reviving an old PHP project pubDate: 2023-12-13 permalink: >- - archive/2023/12/13/reviving-an-old-php-project + archive/2023/12/13/reviving-an-old-php-project tags: - - php - - phpc - - open-source + - php + - phpc + - open-source --- I use Gmail/Google Apps for my email address, and I used to use a LOT of filters. diff --git a/source/_daily_emails/2023-12-14.md b/source/_daily_emails/2023-12-14.md index 200b37a1..3fd576aa 100644 --- a/source/_daily_emails/2023-12-14.md +++ b/source/_daily_emails/2023-12-14.md @@ -1,14 +1,14 @@ --- title: > - Save time and effort with Drupal distributions + Save time and effort with Drupal distributions pubDate: 2023-12-14 permalink: >- - archive/2023/12/14/save-time-and-effort-with-drupal-distributions + archive/2023/12/14/save-time-and-effort-with-drupal-distributions tags: - - software-development - - drupal - - php - - phpc + - software-development + - drupal + - php + - phpc --- Drupal distributions are pre-built versions of Drupal for specific use cases. diff --git a/source/_daily_emails/2023-12-15.md b/source/_daily_emails/2023-12-15.md index 85999323..ed6ff6c7 100644 --- a/source/_daily_emails/2023-12-15.md +++ b/source/_daily_emails/2023-12-15.md @@ -1,13 +1,13 @@ --- title: > - Building your own in-house Drupal distribution + Building your own in-house Drupal distribution pubDate: 2023-12-15 permalink: >- - archive/2023/12/15/building-your-own-in-house-drupal-distribution + archive/2023/12/15/building-your-own-in-house-drupal-distribution tags: - - software-development - - php - - drupal + - software-development + - php + - drupal --- On several occasions, I've seen companies who build a lot of Drupal projects creating their own in-house [Drupal distribution] for new projects. diff --git a/source/_daily_emails/2023-12-16.md b/source/_daily_emails/2023-12-16.md index 87fed77f..f06e3bfe 100644 --- a/source/_daily_emails/2023-12-16.md +++ b/source/_daily_emails/2023-12-16.md @@ -1,16 +1,16 @@ --- title: > - Adding snapshot tests to Build Configs + Adding snapshot tests to Build Configs pubDate: 2023-12-16 permalink: >- - archive/2023/12/16/adding-snapshot-tests-to-build-configs + archive/2023/12/16/adding-snapshot-tests-to-build-configs tags: - - software-development - - php - - symfony - - build-configs - - automated-testing - - test-driven-development + - software-development + - php + - symfony + - build-configs + - automated-testing + - test-driven-development --- This week, I've started to add snapshot tests to the [Build Configs project][build configs]. diff --git a/source/_daily_emails/2023-12-17.md b/source/_daily_emails/2023-12-17.md index c96b1e27..ecd7f380 100644 --- a/source/_daily_emails/2023-12-17.md +++ b/source/_daily_emails/2023-12-17.md @@ -1,15 +1,15 @@ --- title: > - Fail fast, fix fast + Fail fast, fix fast pubDate: 2023-12-17 permalink: >- - archive/2023/12/17/fail-fast-fix-fast + archive/2023/12/17/fail-fast-fix-fast tags: - - software-development - - continuous-delivery - - continuous-deployment - - deployments - - feature-flags + - software-development + - continuous-delivery + - continuous-deployment + - deployments + - feature-flags --- I recently listened to a podcast that discussed Elon Musk and quoted something like, "If 20% of attempts aren't failing, you aren't taking enough risk". diff --git a/source/_daily_emails/2023-12-18.md b/source/_daily_emails/2023-12-18.md index 2f6607ca..ed97d1b4 100644 --- a/source/_daily_emails/2023-12-18.md +++ b/source/_daily_emails/2023-12-18.md @@ -1,15 +1,15 @@ --- title: > - Should you run static analysis on your tests? + Should you run static analysis on your tests? pubDate: 2023-12-18 permalink: >- - archive/2023/12/18/static-analysis-on-tests + archive/2023/12/18/static-analysis-on-tests tags: - - software-development - - php - - phpstan - - static-analysis - - automated-testing + - software-development + - php + - phpstan + - static-analysis + - automated-testing --- I'm an advocate of both automated testing and static analysis but have mostly kept the two separate. diff --git a/source/_daily_emails/2023-12-19.md b/source/_daily_emails/2023-12-19.md index e40e9f66..9d342c18 100644 --- a/source/_daily_emails/2023-12-19.md +++ b/source/_daily_emails/2023-12-19.md @@ -1,14 +1,14 @@ --- title: > - PHP TUIs, CLIs and open-source with Dan Leech + PHP TUIs, CLIs and open-source with Dan Leech pubDate: 2023-12-19 permalink: >- - archive/2023/12/19/php-tui-dan-leech + archive/2023/12/19/php-tui-dan-leech tags: - - php - - phpc - - open-source - - neovim + - php + - phpc + - open-source + - neovim --- This week on the [Beyond Blocks podcast][podcast], I'm joined by Dan Leech - a PHP Developer and open-source project creator. diff --git a/source/_daily_emails/2023-12-20.md b/source/_daily_emails/2023-12-20.md index d5435ea0..49898a85 100644 --- a/source/_daily_emails/2023-12-20.md +++ b/source/_daily_emails/2023-12-20.md @@ -1,14 +1,14 @@ --- title: > - hover + focus = hocus + hover + focus = hocus pubDate: 2023-12-20 permalink: >- - archive/2023/12/20/hover-focus-hocus + archive/2023/12/20/hover-focus-hocus tags: - - software-development - - accessibility - - css - - tailwind-css + - software-development + - accessibility + - css + - tailwind-css --- When creating accessible websites, as well as hover states for focusable elements, such as buttons, you also need to add focus styles that apply when users navigate the page using a keyboard and focusing on an element. diff --git a/source/_daily_emails/2023-12-21.md b/source/_daily_emails/2023-12-21.md index 879cbed0..acdcc596 100644 --- a/source/_daily_emails/2023-12-21.md +++ b/source/_daily_emails/2023-12-21.md @@ -1,12 +1,12 @@ --- title: > - New year coaching + New year coaching pubDate: 2023-12-21 permalink: >- - archive/2023/12/21/new-year-coaching + archive/2023/12/21/new-year-coaching tags: - - software-development - - coaching + - software-development + - coaching --- I have availability to work with a small number of software development teams in the new year and help them ship better software, faster, using tools and techniques like automated testing, test-driven development and static analysis. diff --git a/source/_daily_emails/2023-12-22.md b/source/_daily_emails/2023-12-22.md index 194bcf50..fab44718 100644 --- a/source/_daily_emails/2023-12-22.md +++ b/source/_daily_emails/2023-12-22.md @@ -1,13 +1,13 @@ --- title: > - Which is the best programming language, CMS or framework? + Which is the best programming language, CMS or framework? pubDate: 2023-12-22 permalink: >- - archive/2023/12/22/best-language-cms-or-framework + archive/2023/12/22/best-language-cms-or-framework tags: - - software-development - - php - - drupal + - software-development + - php + - drupal --- I started developing websites in HTML and CSS in 2007 before adopting PHP and Drupal in 2008. diff --git a/source/_daily_emails/2023-12-23.md b/source/_daily_emails/2023-12-23.md index b38e33b4..69e84c0a 100644 --- a/source/_daily_emails/2023-12-23.md +++ b/source/_daily_emails/2023-12-23.md @@ -1,16 +1,16 @@ --- title: > - Using a whole framework or part of it + Using a whole framework or part of it pubDate: 2023-12-23 permalink: >- - archive/2023/12/23/using-a-whole-framework-or-part-of-it + archive/2023/12/23/using-a-whole-framework-or-part-of-it tags: - - software-development - - php - - composer - - drupal - - symfony - - laravel + - software-development + - php + - composer + - drupal + - symfony + - laravel --- [In yesterday's email][yesterday], I mentioned using several programming languages and frameworks. diff --git a/source/_daily_emails/2023-12-24.md b/source/_daily_emails/2023-12-24.md index 552fe0a4..b6d378cc 100644 --- a/source/_daily_emails/2023-12-24.md +++ b/source/_daily_emails/2023-12-24.md @@ -1,12 +1,12 @@ --- title: > - This should never happen + This should never happen pubDate: 2023-12-24 permalink: >- - archive/2023/12/24/this-should-never-happen + archive/2023/12/24/this-should-never-happen tags: - - software-development - - clean-code + - software-development + - clean-code --- How often do you see comments like "This should never happen" in a software codebase? diff --git a/source/_daily_emails/2023-12-25.md b/source/_daily_emails/2023-12-25.md index 82d3f627..6de551e1 100644 --- a/source/_daily_emails/2023-12-25.md +++ b/source/_daily_emails/2023-12-25.md @@ -3,14 +3,14 @@ title: > A sneak peek of my Drupal automated testing course pubDate: 2023-12-25 permalink: >- - archive/2023/12/25/zero-to-test + archive/2023/12/25/zero-to-test tags: - - software-development - - drupal - - php - - phpunit - - automated-testing - - test-driven-development + - software-development + - drupal + - php + - phpunit + - automated-testing + - test-driven-development --- Happy Christmas! diff --git a/source/_daily_emails/2023-12-26.md b/source/_daily_emails/2023-12-26.md index 5c341be6..4729ca76 100644 --- a/source/_daily_emails/2023-12-26.md +++ b/source/_daily_emails/2023-12-26.md @@ -1,14 +1,14 @@ --- title: > - Good code is not about being easy to write + Good code is not about being easy to write snippet: >- - Good code is not about being easy to write. It's about how easy it is to change. + Good code is not about being easy to write. It's about how easy it is to change. pubDate: 2023-12-26 permalink: >- - archive/2023/12/26/good-code-is-not-about-being-easy-to-write + archive/2023/12/26/good-code-is-not-about-being-easy-to-write tags: - - software-development - - clean-code + - software-development + - clean-code --- Good code is not about being easy to write. It's about how easy it is to change. diff --git a/source/_daily_emails/2023-12-27.md b/source/_daily_emails/2023-12-27.md index facb00ea..5eb34b02 100644 --- a/source/_daily_emails/2023-12-27.md +++ b/source/_daily_emails/2023-12-27.md @@ -1,16 +1,16 @@ --- title: >- - Writing new code is quick, to begin with + Writing new code is quick, to begin with pubDate: 2023-12-27 permalink: >- - archive/2023/12/27/writing-new-code-is-quick-to-begin-with + archive/2023/12/27/writing-new-code-is-quick-to-begin-with snippet: >- - Why is it quick to write new code in a new application, but slower as the project progresses, - with tasks that would take hours to begin with later taking days, weeks or longer. + Why is it quick to write new code in a new application, but slower as the project progresses, + with tasks that would take hours to begin with later taking days, weeks or longer. tags: - - software-development - - technical-debt - - clean-code + - software-development + - technical-debt + - clean-code --- When you first start a new application, adding new features is quick and easy. diff --git a/source/_daily_emails/2023-12-28.md b/source/_daily_emails/2023-12-28.md index 63d5bb2d..4a5f583c 100644 --- a/source/_daily_emails/2023-12-28.md +++ b/source/_daily_emails/2023-12-28.md @@ -1,13 +1,13 @@ --- title: >- - Don't let pride get in the way of productivity + Don't let pride get in the way of productivity pubDate: 2023-12-28 permalink: >- - archive/2023/12/28/pride-and-productivity + archive/2023/12/28/pride-and-productivity snippet: >- - Have you over been too proud to ask a question, even if it affects your productivity? + Have you over been too proud to ask a question, even if it affects your productivity? tags: - - software-development + - software-development --- Today, I was reading a support request on a public forum. diff --git a/source/_daily_emails/2023-12-29.md b/source/_daily_emails/2023-12-29.md index 0a060f34..6aaaa14e 100644 --- a/source/_daily_emails/2023-12-29.md +++ b/source/_daily_emails/2023-12-29.md @@ -1,15 +1,15 @@ --- title: >- - Decide, automate, document + Decide, automate, document pubDate: 2023-12-29 permalink: >- - archive/2023/12/29/decide-automate-document + archive/2023/12/29/decide-automate-document snippet: > - How do you make and document decisions on your team? Here are three steps that have worked well for me. + How do you make and document decisions on your team? Here are three steps that have worked well for me. - Decide, automate, document. + Decide, automate, document. tags: - - software-development + - software-development --- Decide, automate, document diff --git a/source/_daily_emails/2023-12-30.md b/source/_daily_emails/2023-12-30.md index 5b21f5d4..9d18962e 100644 --- a/source/_daily_emails/2023-12-30.md +++ b/source/_daily_emails/2023-12-30.md @@ -1,17 +1,17 @@ --- title: >- - We've always done it this way + We've always done it this way pubDate: 2023-12-30 permalink: >- - archive/2023/12/30/weve-always-done-it-this-way + archive/2023/12/30/weve-always-done-it-this-way snippet: > - Has anyone told you "We've always done it this way." or "We've never needed to write tests before."? + Has anyone told you "We've always done it this way." or "We've never needed to write tests before."? - In my experience, these are two of the worst phases to hear from new development teams. + In my experience, these are two of the worst phases to hear from new development teams. tags: - - software-development - - agile - - continuous-improvement + - software-development + - agile + - continuous-improvement --- Two of the worst phrases I've heard when working with new development teams is "We've always done it this way" or "We've never needed to do this before". diff --git a/source/_daily_emails/2023-12-31.md b/source/_daily_emails/2023-12-31.md index 4af6b535..d02a30d0 100644 --- a/source/_daily_emails/2023-12-31.md +++ b/source/_daily_emails/2023-12-31.md @@ -2,11 +2,11 @@ title: Just... date: 2023-12-31 permalink: >- - archive/2023/12/31/just + archive/2023/12/31/just snippet: >- - Can you just... + Can you just... tags: - - software-development + - software-development --- If you have a request that starts with "Just", it's likely a red flag! diff --git a/source/_daily_emails/2024-01-01.md b/source/_daily_emails/2024-01-01.md index 48ee7635..1fdb387a 100644 --- a/source/_daily_emails/2024-01-01.md +++ b/source/_daily_emails/2024-01-01.md @@ -1,16 +1,16 @@ --- title: > - Continuous improvement + Continuous improvement date: 2024-01-01 permalink: daily/2024/01/01/continuous-improvement snippet: | - 1. Continuous delivery. - 2. Continuous deployment. - 3. Continuous improvement. + 1. Continuous delivery. + 2. Continuous deployment. + 3. Continuous improvement. tags: - - software-development - - agile - - continuous-improvement + - software-development + - agile + - continuous-improvement --- I've written emails before about continuous delivery and continuous deployment, but there's another "continuous" I like to follow. diff --git a/source/_daily_emails/2024-01-02.md b/source/_daily_emails/2024-01-02.md index 32b6ec83..3553eeb5 100644 --- a/source/_daily_emails/2024-01-02.md +++ b/source/_daily_emails/2024-01-02.md @@ -3,11 +3,11 @@ title: Flexible Mob and Pair Programming date: 2024-01-02 permalink: daily/2024/01/02/flexible-pair-programming snippet: | - Have you ever asked a colleague to review code you're writing or help you fix a bug? - That's pair programming. + Have you ever asked a colleague to review code you're writing or help you fix a bug? + That's pair programming. tags: - - software-development - - pair-programming + - software-development + - pair-programming --- Doing pair or programming doesn't mean you need to be working in groups continuously. diff --git a/source/_daily_emails/2024-01-03.md b/source/_daily_emails/2024-01-03.md index 93303eba..c5bfab9b 100644 --- a/source/_daily_emails/2024-01-03.md +++ b/source/_daily_emails/2024-01-03.md @@ -1,16 +1,16 @@ --- title: >- - Why you need to start upgrading from Drupal 7 now + Why you need to start upgrading from Drupal 7 now date: 2024-01-03 permalink: daily/2024/01/03/why-you-need-to-start-upgrading-from-drupal-7-now snippet: | - Are you still using Drupal 7? You need to start upgrading to Drupal 10 now instead of waiting until next year. + Are you still using Drupal 7? You need to start upgrading to Drupal 10 now instead of waiting until next year. tags: - - drupal - - drupal-upgrade - - drupal7 - - php - - phpc + - drupal + - drupal-upgrade + - drupal7 + - php + - phpc --- {% block content %} diff --git a/source/_daily_emails/2024-01-04.md b/source/_daily_emails/2024-01-04.md index 7445f602..6cf8197b 100644 --- a/source/_daily_emails/2024-01-04.md +++ b/source/_daily_emails/2024-01-04.md @@ -1,15 +1,15 @@ --- title: > - Reuse what you can. + Reuse what you can. date: 2024-01-04 permalink: daily/2024/01/04/reuse-what-you-can snippet: | - Do you need to upgrade your application to Drupal 10? Reduce cost and save time by reusing what you can instead of starting from scratch. + Do you need to upgrade your application to Drupal 10? Reduce cost and save time by reusing what you can instead of starting from scratch. tags: - - drupal - - drupal7 - - drupal10 - - drupal-upgrade + - drupal + - drupal7 + - drupal10 + - drupal-upgrade --- {% block content %} diff --git a/source/_daily_emails/2024-01-05.md b/source/_daily_emails/2024-01-05.md index b4aeb8b3..d3d16c5f 100644 --- a/source/_daily_emails/2024-01-05.md +++ b/source/_daily_emails/2024-01-05.md @@ -1,15 +1,15 @@ --- title: > - PHP in Neovim + PHP in Neovim date: 2024-01-05 permalink: daily/2024/01/05/php-in-neovim snippet: |- - Yesterday, I posted some screenshots on Twitter of my upcoming automated testing email course and my PHP code in Neovim. + Yesterday, I posted some screenshots on Twitter of my upcoming automated testing email course and my PHP code in Neovim. tags: - - software-development - - php - - vim - - neovim + - software-development + - php + - vim + - neovim --- Yesterday, I posted a screenshot from my [automated testing in Drupal email course][atdc] on Twitter as a sneak peek of what's included. diff --git a/source/_daily_emails/2024-01-06.md b/source/_daily_emails/2024-01-06.md index 48e07f5e..6ac1780e 100644 --- a/source/_daily_emails/2024-01-06.md +++ b/source/_daily_emails/2024-01-06.md @@ -1,12 +1,12 @@ --- title: >- - Sculpin - the PHP static site generator + Sculpin - the PHP static site generator date: 2024-01-06 permalink: daily/2024/01/06/sculpin-the-php-static-site-generator snippet: | - Do you use PHP? Sculpin is a static site generator written in PHP, and turns markdown files and Twig templates into static HTML + Do you use PHP? Sculpin is a static site generator written in PHP, and turns markdown files and Twig templates into static HTML - #php #phpc #sculpinphp @getsculpin + #php #phpc #sculpinphp @getsculpin tags: [] --- diff --git a/source/_daily_emails/2024-01-07.md b/source/_daily_emails/2024-01-07.md index 9aebad65..3b1bfd13 100644 --- a/source/_daily_emails/2024-01-07.md +++ b/source/_daily_emails/2024-01-07.md @@ -1,12 +1,12 @@ --- title: >- - Things take as long as they take + Things take as long as they take date: 2024-01-07 permalink: daily/2024/01/07/things-take-as-long-as-they-take snippet: | - How long _should_ a software development task take to complete? + How long _should_ a software development task take to complete? tags: - - software-development + - software-development --- Today, I saw a post that asked the question: diff --git a/source/_daily_emails/2024-01-08.md b/source/_daily_emails/2024-01-08.md index 2c9d7337..f524b5c3 100644 --- a/source/_daily_emails/2024-01-08.md +++ b/source/_daily_emails/2024-01-08.md @@ -3,11 +3,11 @@ title: Try it and see date: 2024-01-08 permalink: daily/2024/01/08/try-it-and-see snippet: | - Have you tried new technologies or approaches when writing software? Did you like it or go back? Either way, you know more about it than before. + Have you tried new technologies or approaches when writing software? Did you like it or go back? Either way, you know more about it than before. tags: - - tailwind-css - - automated-testing - - test-driven-development + - tailwind-css + - automated-testing + - test-driven-development --- I recently saw a post with a screenshot of some code they'd written using Tailwind CSS. diff --git a/source/_daily_emails/2024-01-09.md b/source/_daily_emails/2024-01-09.md index c3fefdc8..5ec157f1 100644 --- a/source/_daily_emails/2024-01-09.md +++ b/source/_daily_emails/2024-01-09.md @@ -1,11 +1,11 @@ --- title: >- - Using Tailwind CSS is a great way to learn CSS + Using Tailwind CSS is a great way to learn CSS date: 2024-01-09 permalink: daily/2024/01/09/using-tailwind-css-is-a-great-way-to-learn-css snippet: | - I think Tailwind CSS is not only a great CSS framework, but a great way to learn CSS itself. - #dev #SoftwareDevelopment #css #TailwindCSS + I think Tailwind CSS is not only a great CSS framework, but a great way to learn CSS itself. + #dev #SoftwareDevelopment #css #TailwindCSS tags: [] --- diff --git a/source/_daily_emails/2024-01-10.md b/source/_daily_emails/2024-01-10.md index c97ec5a9..bfba44bc 100644 --- a/source/_daily_emails/2024-01-10.md +++ b/source/_daily_emails/2024-01-10.md @@ -3,12 +3,12 @@ title: Don't put business logic in templates date: 2024-01-10 permalink: daily/2024/01/10/dont-put-business-logic-in-templates snippet: | - Don't do what I did. Don't put business logic in your template files. + Don't do what I did. Don't put business logic in your template files. tags: - - software-development - - clean-code - - twig - - automated-testing + - software-development + - clean-code + - twig + - automated-testing --- Here is some code from my website: diff --git a/source/_daily_emails/2024-01-11.md b/source/_daily_emails/2024-01-11.md index 0f3f111a..2c4de161 100644 --- a/source/_daily_emails/2024-01-11.md +++ b/source/_daily_emails/2024-01-11.md @@ -3,14 +3,14 @@ title: My Drupal testing email course is live date: 2024-01-11 permalink: daily/2024/01/11/my-drupal-testing-email-course-is-live snippet: | - Do you want to learn automated testing in Drupal? My free email course is live! Learn from a DrupalCon speaker, workshop trainer, and module maintainer how to write tests in Drupal. + Do you want to learn automated testing in Drupal? My free email course is live! Learn from a DrupalCon speaker, workshop trainer, and module maintainer how to write tests in Drupal. tags: - - softare-development - - drupal - - php - - phpc - - automated-testing - - test-driven-development + - softare-development + - drupal + - php + - phpc + - automated-testing + - test-driven-development --- {% block content %} diff --git a/source/_daily_emails/2024-01-12.md b/source/_daily_emails/2024-01-12.md index b5e1f22f..86a017be 100644 --- a/source/_daily_emails/2024-01-12.md +++ b/source/_daily_emails/2024-01-12.md @@ -1,14 +1,14 @@ --- title: >- - Utility classes make global scope local + Utility classes make global scope local date: 2024-01-12 permalink: daily/2024/01/12/utility-classes-make-global-scope-local snippet: | - Utility classes make global scope local, making things easier and quicker to work on - now and in the future. + Utility classes make global scope local, making things easier and quicker to work on - now and in the future. tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css --- In my [recent pair programming session]({{site.url}}/archive/2024/01/09/using-tailwind-css-is-a-great-way-to-learn-css), building components with Tailwind CSS, we experienced another benefit of styling with utility classes. diff --git a/source/_daily_emails/2024-01-13.md b/source/_daily_emails/2024-01-13.md index 4eb46e6f..bedb5ffb 100644 --- a/source/_daily_emails/2024-01-13.md +++ b/source/_daily_emails/2024-01-13.md @@ -1,16 +1,16 @@ --- title: >- - Testing Legacy with Mike Karthauser + Testing Legacy with Mike Karthauser date: 2024-01-13 permalink: daily/2024/01/13/testing-legacy-with-mike-karthauser snippet: | - Last week, Mike Karthauser - Senior Software Developer at Huboo - joined me on the Beyond Blocks podcast. + Last week, Mike Karthauser - Senior Software Developer at Huboo - joined me on the Beyond Blocks podcast. tags: - - software-development - - podcast - - beyond-blocks - - automated-testing - - refactoring + - software-development + - podcast + - beyond-blocks + - automated-testing + - refactoring --- {% block content %} diff --git a/source/_daily_emails/2024-01-14.md b/source/_daily_emails/2024-01-14.md index 79d7687a..43d6ad14 100644 --- a/source/_daily_emails/2024-01-14.md +++ b/source/_daily_emails/2024-01-14.md @@ -3,10 +3,10 @@ title: Code is a liability, not an asset date: 2024-01-14 permalink: daily/2024/01/14/code-is-a-liability-not-an-asset snippet: | - Is code a liability or an asset? The more you write, the more you need to maintain. + Is code a liability or an asset? The more you write, the more you need to maintain. tags: - - software-development - - drupal + - software-development + - drupal --- Something I mentioned during my [podcast episode with Mike Karthauser][episode] is a quote I saw recently: diff --git a/source/_daily_emails/2024-01-15.md b/source/_daily_emails/2024-01-15.md index e2765929..741bd07d 100644 --- a/source/_daily_emails/2024-01-15.md +++ b/source/_daily_emails/2024-01-15.md @@ -3,16 +3,16 @@ title: Don't be perfect, be useful date: 2024-01-15 permalink: daily/2024/01/15/don-t-be-perfect--be-useful snippet: | - Don't be perfect, be useful. - I heard this recently and wondered how I could apply it to software development. + Don't be perfect, be useful. + I heard this recently and wondered how I could apply it to software development. tags: - - software-development - - design-patterns - - automated-testing - - test-driven-development - - static-analysis - - pair-programming - - mob-programming + - software-development + - design-patterns + - automated-testing + - test-driven-development + - static-analysis + - pair-programming + - mob-programming --- In a recent private coaching session with [Jonathan Stark](https://jonathanstark.com), he said, "Don't be perfect, be useful". diff --git a/source/_daily_emails/2024-01-16.md b/source/_daily_emails/2024-01-16.md index a47c6eac..6619d096 100644 --- a/source/_daily_emails/2024-01-16.md +++ b/source/_daily_emails/2024-01-16.md @@ -3,9 +3,9 @@ title: Daily or quarterly? date: 2024-01-16 permalink: daily/2024/01/16/daily-or-quarterly snippet: | - What if you could only deploy changes daily or quarterly? Which would you pick? + What if you could only deploy changes daily or quarterly? Which would you pick? tags: - - software-development + - software-development --- Imagine this scenario. diff --git a/source/_daily_emails/2024-01-17.md b/source/_daily_emails/2024-01-17.md index d69d577a..9b18c3fb 100644 --- a/source/_daily_emails/2024-01-17.md +++ b/source/_daily_emails/2024-01-17.md @@ -3,10 +3,10 @@ title: Please don't use short variable names date: 2024-01-17 permalink: daily/2024/01/17/short-variable-names snippet: | - Why use variable names like $k, $v and $i instead of $key, $value and $index? What benefit does it add? + Why use variable names like $k, $v and $i instead of $key, $value and $index? What benefit does it add? tags: - - software-development - - clean-code + - software-development + - clean-code --- When learning to code, one of the most confusing things was using short variable names in documentation and other people's code. diff --git a/source/_daily_emails/2024-01-18.md b/source/_daily_emails/2024-01-18.md index 5286ffdd..35835eb0 100644 --- a/source/_daily_emails/2024-01-18.md +++ b/source/_daily_emails/2024-01-18.md @@ -3,10 +3,10 @@ title: Is zero unlimited? date: 2024-01-18 permalink: daily/2024/01/18/is-zero-unlimited snippet: | - If you set a limit to be zero, would you expect it to return all the results or none? + If you set a limit to be zero, would you expect it to return all the results or none? tags: - - software-development - - clean-code + - software-development + - clean-code --- Something I've seen in code is the unclear use of zero when adding limits, such as loading items from a database. diff --git a/source/_daily_emails/2024-01-19.md b/source/_daily_emails/2024-01-19.md index 3d5c64c6..d55dd917 100644 --- a/source/_daily_emails/2024-01-19.md +++ b/source/_daily_emails/2024-01-19.md @@ -3,11 +3,11 @@ title: Tests can assert multiple things date: 2024-01-19 permalink: daily/2024/01/19/tests-can-assert-multiple-things snippet: | - Should each automated test only have a single assertion? + Should each automated test only have a single assertion? tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Similar to "a method should only have one return statement", I've seen similar advice when working with tests: "Tests should only have a single assertion". diff --git a/source/_daily_emails/2024-01-20.md b/source/_daily_emails/2024-01-20.md index 82eebc17..566a706f 100644 --- a/source/_daily_emails/2024-01-20.md +++ b/source/_daily_emails/2024-01-20.md @@ -3,12 +3,12 @@ title: PHPUnit or Pest? date: 2024-01-20 permalink: daily/2024/01/20/phpunit-or-pest snippet: | - Which testing framework do you prefer? PHPUnit or Pest? + Which testing framework do you prefer? PHPUnit or Pest? tags: - - software-development - - automated-testing - - test-driven-development - - php + - software-development + - automated-testing + - test-driven-development + - php --- A recent discussion has started about which testing framework should be the default one used in Laravel. diff --git a/source/_daily_emails/2024-01-21.md b/source/_daily_emails/2024-01-21.md index d88cc61c..131252f9 100644 --- a/source/_daily_emails/2024-01-21.md +++ b/source/_daily_emails/2024-01-21.md @@ -3,9 +3,9 @@ title: Where is the value in your application? date: 2024-01-21 permalink: daily/2024/01/21/where-is-the-value-in-your-application snippet: | - Where is the value in your software application, and where should you start when starting a new project? + Where is the value in your software application, and where should you start when starting a new project? tags: - - software-development + - software-development --- Yesterday, I was in Birmingham for a hackathon event organised by the School of Code, who I've been a Bootcamp mentor for for the last few cohorts. diff --git a/source/_daily_emails/2024-01-22.md b/source/_daily_emails/2024-01-22.md index dc75a7ad..392f08b3 100644 --- a/source/_daily_emails/2024-01-22.md +++ b/source/_daily_emails/2024-01-22.md @@ -3,9 +3,9 @@ title: Tailwind CSS workshop recording date: 2024-01-22 permalink: daily/2024/01/22/tailwind-css-workshop-recording snippet: | - Want to learn Tailwind CSS? Here's a recording of my workshop from DrupalCamp Florida 2022. + Want to learn Tailwind CSS? Here's a recording of my workshop from DrupalCamp Florida 2022. - #SoftwareDevelopment #css #TailwindCSS + #SoftwareDevelopment #css #TailwindCSS tags: [] --- diff --git a/source/_daily_emails/2024-01-23.md b/source/_daily_emails/2024-01-23.md index 01561fe3..b3469aa8 100644 --- a/source/_daily_emails/2024-01-23.md +++ b/source/_daily_emails/2024-01-23.md @@ -3,12 +3,12 @@ title: Why use automation tools for dependency updates date: 2024-01-23 permalink: daily/2024/01/23/why-use-automation-tools-for-dependency-updates snippet: | - What are the benefits of using automation tools like violinist.io for dependency updates? + What are the benefits of using automation tools like violinist.io for dependency updates? tags: - - software-development - - php - - drupal - - composer + - software-development + - php + - drupal + - composer --- Last week, I recorded an episode of [Beyond Blocks][podcast] with Eirik Morland - the Developer of violinist.io, a tool for automating dependency updates in PHP projects. diff --git a/source/_daily_emails/2024-01-24.md b/source/_daily_emails/2024-01-24.md index f202a26d..308d246e 100644 --- a/source/_daily_emails/2024-01-24.md +++ b/source/_daily_emails/2024-01-24.md @@ -3,11 +3,11 @@ title: Defining Ubiquitous language date: 2024-01-24 permalink: daily/2024/01/24/defining-ubiquitous-language snippet: | - Why should you define the ubiquitous language for a software project? Rob Allen told us during a recent meetup talk. + Why should you define the ubiquitous language for a software project? Rob Allen told us during a recent meetup talk. tags: - - software-development - - php - - domain-driven-design + - software-development + - php + - domain-driven-design --- A key takeaway from Rob Allen's Domain-Driven Design talk was defining ubiquitous language and avoiding the phrase "That's not what I meant". diff --git a/source/_daily_emails/2024-01-25.md b/source/_daily_emails/2024-01-25.md index bbb87269..eaf6514c 100644 --- a/source/_daily_emails/2024-01-25.md +++ b/source/_daily_emails/2024-01-25.md @@ -3,11 +3,11 @@ title: Speaking at PHP Oxford date: 2024-01-25 permalink: daily/2024/01/25/speaking-at-php-oxford snippet: | - This evening, I was at PHP Oxford, speaking about my Build Configs tool. + This evening, I was at PHP Oxford, speaking about my Build Configs tool. tags: - - php - - phpc - - symfony + - php + - phpc + - symfony --- I attended the relaunched PHP Oxford user group meetup this evening, organised by Humand Talent. diff --git a/source/_daily_emails/2024-01-26.md b/source/_daily_emails/2024-01-26.md index 48b3898d..e5ac2183 100644 --- a/source/_daily_emails/2024-01-26.md +++ b/source/_daily_emails/2024-01-26.md @@ -3,10 +3,10 @@ title: Write once, manage forever date: 2024-01-26 permalink: daily/2024/01/26/write-once-manage-forever snippet: | - I wrote my Build Configs project so I only write a file once, but can re-use it as many times as needed. + I wrote my Build Configs project so I only write a file once, but can re-use it as many times as needed. tags: - - software-development - - automation + - software-development + - automation --- I built my [Build Configs] tool because I only wanted to write a file once and re-use it instead of writing it over again or copying and pasting between projects. diff --git a/source/_daily_emails/2024-01-27.md b/source/_daily_emails/2024-01-27.md index 3ba68af5..d670ce39 100644 --- a/source/_daily_emails/2024-01-27.md +++ b/source/_daily_emails/2024-01-27.md @@ -3,10 +3,10 @@ title: gitignore - inclusive or exclusive? date: 2024-01-27 permalink: daily/2024/01/27/gitignore-inclusive-or-exclusive snippet: | - How do you write your .gitignore files? + How do you write your .gitignore files? tags: - - software-development - - git + - software-development + - git --- Add everything and ignore what you don't want, or ignore everything and explicitly add what you need. diff --git a/source/_daily_emails/2024-01-28.md b/source/_daily_emails/2024-01-28.md index 7b49bbc1..9495c2dd 100644 --- a/source/_daily_emails/2024-01-28.md +++ b/source/_daily_emails/2024-01-28.md @@ -3,10 +3,10 @@ title: Ignoring things globally date: 2024-01-28 permalink: daily/2024/01/28/ignoring-things-globally snippet: | - Have you wanted to ignore things globally? Git has a setting for that. + Have you wanted to ignore things globally? Git has a setting for that. tags: - - software-development - - git + - software-development + - git --- Yesterday's email was about repository-specific .gitignore files and different ways to write them. diff --git a/source/_daily_emails/2024-01-29.md b/source/_daily_emails/2024-01-29.md index a4b25dbd..7835c47f 100644 --- a/source/_daily_emails/2024-01-29.md +++ b/source/_daily_emails/2024-01-29.md @@ -3,13 +3,13 @@ title: Violinist and automation with Eirik Morland date: 2024-01-29 permalink: daily/2024/01/29/violinist-and-automation-with-eirik-morland snippet: | - This week on Beyond Blocks, I'm joined by Eirik Morland to discuss Violinist - a tool for automating PHP dependency updates. + This week on Beyond Blocks, I'm joined by Eirik Morland to discuss Violinist - a tool for automating PHP dependency updates. tags: - - software-development - - podcast - - php - - phpc - - composer + - software-development + - podcast + - php + - phpc + - composer --- In [today's episode of the Beyond Blocks podcast][episode], I'm joined by Eirik Morland - the Developer of [Violinist]. diff --git a/source/_daily_emails/2024-01-30.md b/source/_daily_emails/2024-01-30.md index 13535cc7..baf0718b 100644 --- a/source/_daily_emails/2024-01-30.md +++ b/source/_daily_emails/2024-01-30.md @@ -3,11 +3,11 @@ title: TDD doesn't mean you know everything upfront date: 2024-01-30 permalink: daily/2024/01/30/tdd-doesnt-mean-you-know-everything-upfront snippet: | - Test-Driven Development doesn't mean you need to know everything upfront. + Test-Driven Development doesn't mean you need to know everything upfront. tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I'm in the final phase of a Drupal development project for a customer. diff --git a/source/_daily_emails/2024-01-31.md b/source/_daily_emails/2024-01-31.md index 2163153a..cba7d2e5 100644 --- a/source/_daily_emails/2024-01-31.md +++ b/source/_daily_emails/2024-01-31.md @@ -3,11 +3,11 @@ title: Automated tests mean you can make changes quicker date: 2024-01-31 permalink: daily/2024/01/31/automated-tests-mean-you-can-make-changes-quicker snippet: | - Automated tests mean you can make changes quicker and not worry about introducing regressions. + Automated tests mean you can make changes quicker and not worry about introducing regressions. tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Before fixing [yesterday's bug][yesterday], because I'd written automated tests, I ran them to ensure they were all passing. diff --git a/source/_daily_emails/2024-02-01.md b/source/_daily_emails/2024-02-01.md index 7943e082..f095562d 100644 --- a/source/_daily_emails/2024-02-01.md +++ b/source/_daily_emails/2024-02-01.md @@ -3,11 +3,11 @@ title: Start with a failing test date: 2024-02-01 permalink: daily/2024/02/01/start-with-a-failing-test snippet: | - Why should you start with a failing test? + Why should you start with a failing test? tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- When fixing a bug or adding a new feature using test-driven development, it's important to see the test fail first. diff --git a/source/_daily_emails/2024-02-02.md b/source/_daily_emails/2024-02-02.md index 8485e796..5b129287 100644 --- a/source/_daily_emails/2024-02-02.md +++ b/source/_daily_emails/2024-02-02.md @@ -3,11 +3,11 @@ title: Automated tests prevent you from adding regressions date: 2024-02-02 permalink: daily/2024/02/02/automated-tests-prevent-you-from-adding-regressions snippet: | - Having automated tests recently saved me from adding a regression to a project. + Having automated tests recently saved me from adding a regression to a project. tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Continuing from [my last few emails]({{site.url}}/archive/2024/01/30/tdd-doesnt-mean-you-know-everything-upfront), as well as adding the new use case more easily and quicker, having automated tests also saved me from adding a regression into the code I was changing. diff --git a/source/_daily_emails/2024-02-03.md b/source/_daily_emails/2024-02-03.md index 007f6556..c24f7a99 100644 --- a/source/_daily_emails/2024-02-03.md +++ b/source/_daily_emails/2024-02-03.md @@ -3,14 +3,14 @@ title: Reducing complexity makes contribution easier date: 2024-02-03 permalink: daily/2024/02/03/reducing-complexity-makes-contribution-easier snippet: | - Keeping things simple makes it easier for others to contribute. + Keeping things simple makes it easier for others to contribute. tags: - - software-development - - front-end - - beyond-blocks - - podcast - - drupal - - localgov-drupal + - software-development + - front-end + - beyond-blocks + - podcast + - drupal + - localgov-drupal --- This week, I spoke with [Mark Conroy][mark] for an upcoming episode of the [Beyond Blocks podcast][podcast]. diff --git a/source/_daily_emails/2024-02-04.md b/source/_daily_emails/2024-02-04.md index 8863237a..6b1830e4 100644 --- a/source/_daily_emails/2024-02-04.md +++ b/source/_daily_emails/2024-02-04.md @@ -3,11 +3,11 @@ title: Speaking about Sculpin at PHPSW date: 2024-02-04 permalink: daily/2024/02/04/speaking-about-sculpin-at-phpsw snippet: | - Next week, I'm giving my 98th talk or workshop when I speak about Sculpin at PHP South West. + Next week, I'm giving my 98th talk or workshop when I speak about Sculpin at PHP South West. tags: - - php - - phpc - - sculpin + - php + - phpc + - sculpin --- I'm happy to be speaking again at [PHP South West][event] next week for my 98th talk or workshop and eighth at PHPSW. diff --git a/source/_daily_emails/2024-02-05.md b/source/_daily_emails/2024-02-05.md index a09ac80c..21700dc4 100644 --- a/source/_daily_emails/2024-02-05.md +++ b/source/_daily_emails/2024-02-05.md @@ -3,10 +3,10 @@ title: .gitignore or .gitallow date: 2024-02-05 permalink: daily/2024/02/05/gitignore-or-gitallow snippet: | - Is it a .gitignore or .gitallow file? + Is it a .gitignore or .gitallow file? tags: - - software-development - - git + - software-development + - git --- {% block content %} diff --git a/source/_daily_emails/2024-02-06.md b/source/_daily_emails/2024-02-06.md index 4371b39b..4f55fc88 100644 --- a/source/_daily_emails/2024-02-06.md +++ b/source/_daily_emails/2024-02-06.md @@ -3,13 +3,13 @@ title: Tim Lehnen and the Drupal Association date: 2024-02-06 permalink: daily/2024/02/06/tim-lehnen-and-the-drupal-association snippet: | - Last week on the Beyond Blocks podcast, I spoke with Tim Lehnen - CTO at the Drupal Association. + Last week on the Beyond Blocks podcast, I spoke with Tim Lehnen - CTO at the Drupal Association. tags: - - drupal - - drupal-association - - podcast - - php - - phpc + - drupal + - drupal-association + - podcast + - php + - phpc --- {% block content %} diff --git a/source/_daily_emails/2024-02-07.md b/source/_daily_emails/2024-02-07.md index 853ceede..5f87f64a 100644 --- a/source/_daily_emails/2024-02-07.md +++ b/source/_daily_emails/2024-02-07.md @@ -3,12 +3,12 @@ title: Running tests in parallel with Paratest date: 2024-02-07 permalink: daily/2024/02/07/running-tests-in-parallel-with-paratest snippet: | - Run your tests quicker by executing them in parallel with Paratest. + Run your tests quicker by executing them in parallel with Paratest. tags: - - software-development - - automated-testing - - test-driven-development - - phpunit + - software-development + - automated-testing + - test-driven-development + - phpunit --- {% block content %} diff --git a/source/_daily_emails/2024-02-08.md b/source/_daily_emails/2024-02-08.md index 705ec199..8cdf36b4 100644 --- a/source/_daily_emails/2024-02-08.md +++ b/source/_daily_emails/2024-02-08.md @@ -3,13 +3,13 @@ title: Experimenting with Architectural Testing date: 2024-02-08 permalink: daily/2024/02/08/experimenting-with-architectural-testing snippet: | - Have you tried architectural testing with PHPat, Pest or a similar tool? I have been for the past few days. + Have you tried architectural testing with PHPat, Pest or a similar tool? I have been for the past few days. tags: - - software-development - - test-driven-development - - automated-testing - - architectural-testing - - php + - software-development + - test-driven-development + - automated-testing + - architectural-testing + - php --- {% block content %} @@ -27,25 +27,25 @@ Here's what I have so far for my [testing course codebase][atdc]: final class ArchitectureTest { public function test_classes_should_be_final(): Rule { - return PHPat::rule() - ->classes(Selector::inNamespace('Drupal\atdc')) - ->shouldBeFinal(); + return PHPat::rule() + ->classes(Selector::inNamespace('Drupal\atdc')) + ->shouldBeFinal(); } public function test_controllers_should_extend_ControllerBase(): Rule { - return PHPat::rule() - ->classes(Selector::inNamespace('Drupal\atdc\Controller')) - ->shouldExtend() - ->classes(Selector::classname(ControllerBase::class)); + return PHPat::rule() + ->classes(Selector::inNamespace('Drupal\atdc\Controller')) + ->shouldExtend() + ->classes(Selector::classname(ControllerBase::class)); } public function test_controllers_should_have_the_Controller_suffix(): Rule { - return PHPat::rule() - ->classes(Selector::inNamespace('Drupal\atdc\Controller')) - ->shouldBeNamed( - classname: '/Controller$/', - regex: TRUE, - ); + return PHPat::rule() + ->classes(Selector::inNamespace('Drupal\atdc\Controller')) + ->shouldBeNamed( + classname: '/Controller$/', + regex: TRUE, + ); } } diff --git a/source/_daily_emails/2024-02-09.md b/source/_daily_emails/2024-02-09.md index 4ef5977d..8df6a498 100644 --- a/source/_daily_emails/2024-02-09.md +++ b/source/_daily_emails/2024-02-09.md @@ -3,13 +3,13 @@ title: Defining boundaries between custom Drupal modules date: 2024-02-09 permalink: daily/2024/02/09/defining-boundaries-between-custom-drupal-modules snippet: | - TODO + TODO tags: - - software-development - - automated-testing - - architectural-testing - - php - - drupal + - software-development + - automated-testing + - architectural-testing + - php + - drupal --- {% block content %} diff --git a/source/_daily_emails/2024-02-10.md b/source/_daily_emails/2024-02-10.md index 4795bdd4..4a067125 100644 --- a/source/_daily_emails/2024-02-10.md +++ b/source/_daily_emails/2024-02-10.md @@ -3,9 +3,9 @@ title: Do you really need it? date: 2024-02-10 permalink: daily/2024/02/10/do-you-really-need-it snippet: | - Do you really need that new feature? What are the long-term implications of adding it? + Do you really need that new feature? What are the long-term implications of adding it? tags: - - software-development + - software-development --- {% block content %} diff --git a/source/_daily_emails/2024-02-11.md b/source/_daily_emails/2024-02-11.md index 784310cd..236a4c8d 100644 --- a/source/_daily_emails/2024-02-11.md +++ b/source/_daily_emails/2024-02-11.md @@ -3,14 +3,14 @@ title: Twig, Symfony and SymfonyCasts with Ryan Weaver date: 2024-02-11 permalink: daily/2024/02/11/ryan-weaver snippet: | - My guest on Beyond Blocks this week was Ryan Weaver from SymfonyCasts. + My guest on Beyond Blocks this week was Ryan Weaver from SymfonyCasts. tags: - - software-development - - php - - symfony - - drupal - - podcast - - beyond-blocks + - software-development + - php + - symfony + - drupal + - podcast + - beyond-blocks --- {% block content %} diff --git a/source/_daily_emails/2024-02-12.md b/source/_daily_emails/2024-02-12.md index 4ae623d7..fff221f8 100644 --- a/source/_daily_emails/2024-02-12.md +++ b/source/_daily_emails/2024-02-12.md @@ -3,12 +3,12 @@ title: Symfony conventions making their way to Drupal date: 2024-02-12 permalink: daily/2024/02/12/symfony-conventions-making-their-way-to-drupal snippet: | - Since Drupal 8's release as well as more recently, I've noticed Symfony conventions making their way into Drupal. + Since Drupal 8's release as well as more recently, I've noticed Symfony conventions making their way into Drupal. tags: - - software-development - - php - - drupal - - symfony + - software-development + - php + - drupal + - symfony --- {% block content %} diff --git a/source/_daily_emails/2024-02-13.md b/source/_daily_emails/2024-02-13.md index 35db71cd..3df7a371 100644 --- a/source/_daily_emails/2024-02-13.md +++ b/source/_daily_emails/2024-02-13.md @@ -3,10 +3,10 @@ title: It takes the drama out of open-source date: 2024-02-13 permalink: daily/2024/02/13/it-takes-the-drama-out-of-open-source snippet: | - A regular, fixed release cycle takes the drama out of open-source. + A regular, fixed release cycle takes the drama out of open-source. tags: - - software-development - - open-source + - software-development + - open-source --- As well as the code changes, such as adopting Symfony components and other third-party code, one of my favourite things about Drupal since D8 is the new release cycle. diff --git a/source/_daily_emails/2024-02-14.md b/source/_daily_emails/2024-02-14.md index 836ee256..c3bb0750 100644 --- a/source/_daily_emails/2024-02-14.md +++ b/source/_daily_emails/2024-02-14.md @@ -3,12 +3,12 @@ title: Major version updates are just removing deprecated code date: 2024-02-14 permalink: daily/2024/02/14/major-version-updates-are-just-removing-deprecated-code snippet: | - Because of their release cycles, Drupal and Symfony version updates can be as simple as just removing deprecated code... + Because of their release cycles, Drupal and Symfony version updates can be as simple as just removing deprecated code... tags: - - software-development - - php - - drupal - - symfony + - software-development + - php + - drupal + - symfony --- Today, I've been watching the new [Upgrading & What's in Symfony 7][video] video course on SymfonyCasts. diff --git a/source/_daily_emails/2024-02-15.md b/source/_daily_emails/2024-02-15.md index 291a5855..4ba400a7 100644 --- a/source/_daily_emails/2024-02-15.md +++ b/source/_daily_emails/2024-02-15.md @@ -3,10 +3,10 @@ title: gray or grey, and center or centre? date: 2024-02-15 permalink: daily/2024/02/15/gray-or-grey--and-center-or-centre snippet: | - I'm wondering whether I should still rename gray to gray when using Tailwind CSS... + I'm wondering whether I should still rename gray to gray when using Tailwind CSS... tags: - - css - - tailwind-css + - css + - tailwind-css --- [I previously wrote][0] about how to change `gray` to `grey` in Tailwind CSS. diff --git a/source/_daily_emails/2024-02-16.md b/source/_daily_emails/2024-02-16.md index d11f9816..fe57dd71 100644 --- a/source/_daily_emails/2024-02-16.md +++ b/source/_daily_emails/2024-02-16.md @@ -3,14 +3,14 @@ title: Keep logic within tests for as long as you can date: 2024-02-16 permalink: daily/2024/02/16/keep-logic-within-tests-for-as-long-as-you-can snippet: | - Making the easy change to get a test to pass might mean you write more logic in your tests than you expect, at least to begin with. + Making the easy change to get a test to pass might mean you write more logic in your tests than you expect, at least to begin with. tags: - - software-development - - automated-testing - - test-driven-development - - drupal - - php - - phpunit + - software-development + - automated-testing + - test-driven-development + - drupal + - php + - phpunit --- Inspired by some recent podcast guests, I've started writing the first code for a Drupal-based SaaS product that I've been thinking of creating. diff --git a/source/_daily_emails/2024-02-17.md b/source/_daily_emails/2024-02-17.md index 6ab903a8..1f0e4771 100644 --- a/source/_daily_emails/2024-02-17.md +++ b/source/_daily_emails/2024-02-17.md @@ -3,13 +3,13 @@ title: Another way to create test module configuration date: 2024-02-17 permalink: daily/2024/02/17/another-way-to-create-test-module-configuration snippet: | - There's another way to export configuration for Drupal test modules using Drush... + There's another way to export configuration for Drupal test modules using Drush... tags: - - software-development - - automated-testing - - test-driven-development - - drupal - - php + - software-development + - automated-testing + - test-driven-development + - drupal + - php --- {% block content %} diff --git a/source/_daily_emails/2024-02-18.md b/source/_daily_emails/2024-02-18.md index 076eabc2..1f440c04 100644 --- a/source/_daily_emails/2024-02-18.md +++ b/source/_daily_emails/2024-02-18.md @@ -3,13 +3,13 @@ title: Build something useful in one day with Mark Conroy date: 2024-02-18 permalink: daily/2024/02/18/build-something-useful-in-one-day-with-mark-conroy snippet: | - This week on Beyond Blocks, I'm joined by Mark Conroy to discuss all things front-end and building something useful in one day. + This week on Beyond Blocks, I'm joined by Mark Conroy to discuss all things front-end and building something useful in one day. tags: - - podcast - - drupal - - front-end - - software-development - - css + - podcast + - drupal + - front-end + - software-development + - css cta: d7eol --- diff --git a/source/_daily_emails/2024-02-19.md b/source/_daily_emails/2024-02-19.md index 8eac1c4c..23205bbe 100644 --- a/source/_daily_emails/2024-02-19.md +++ b/source/_daily_emails/2024-02-19.md @@ -5,10 +5,10 @@ permalink: daily/2024/02/19/introducing-versa snippet: | Introducing Versa - the versatile CLI tool tags: - - software-development - - php - - symfony - - open-source + - software-development + - php + - symfony + - open-source --- Today, I started to build a new open-source project - Versa, the versatile command-line tool that standardises common commands across projects. diff --git a/source/_daily_emails/2024-02-20.md b/source/_daily_emails/2024-02-20.md index 91273477..4ab16340 100644 --- a/source/_daily_emails/2024-02-20.md +++ b/source/_daily_emails/2024-02-20.md @@ -3,12 +3,12 @@ title: Which level is right for you? date: 2024-02-20 permalink: daily/2024/02/20/which-level-is-right-for-you snippet: | - TODO + TODO tags: - - software-development - - static-analysis - - php - - phpstan + - software-development + - static-analysis + - php + - phpstan --- Today, whilst working on [Versa], I was experimenting with different PHPStan levels. diff --git a/source/_daily_emails/2024-02-21.md b/source/_daily_emails/2024-02-21.md index af7e966b..0c4a7760 100644 --- a/source/_daily_emails/2024-02-21.md +++ b/source/_daily_emails/2024-02-21.md @@ -3,11 +3,11 @@ title: Coding defensively and considering the unhappy path date: 2024-02-21 permalink: daily/2024/02/21/coding-defensively-and-considering-the-unhappy-path snippet: | - Why you need to consider unhappy paths when writing software and writing defensive code. + Why you need to consider unhappy paths when writing software and writing defensive code. tags: - - software-development - - automated-testing - - php + - software-development + - automated-testing + - php cta: d7eol --- diff --git a/source/_daily_emails/2024-02-22.md b/source/_daily_emails/2024-02-22.md index cac29768..1f9d5919 100644 --- a/source/_daily_emails/2024-02-22.md +++ b/source/_daily_emails/2024-02-22.md @@ -3,10 +3,10 @@ title: Diffy and visual regression testing date: 2024-02-22 permalink: daily/2024/02/22/diffy-and-visual-regression-testing snippet: | - I recently recorded a podcast episode with Yuri Gerasymov, discussing visual regression testing. + I recently recorded a podcast episode with Yuri Gerasymov, discussing visual regression testing. tags: - - software-development - - automated-testing + - software-development + - automated-testing cta: subscription --- diff --git a/source/_daily_emails/2024-02-23.md b/source/_daily_emails/2024-02-23.md index 514da52a..daf10aa7 100644 --- a/source/_daily_emails/2024-02-23.md +++ b/source/_daily_emails/2024-02-23.md @@ -3,10 +3,10 @@ title: Slow down to go fast date: 2024-02-23 permalink: daily/2024/02/23/slow-down-to-go-fast snippet: | - Somtimes you need to slow down initially to go faster later. + Somtimes you need to slow down initially to go faster later. tags: - - software-development - - automated-testing + - software-development + - automated-testing cta: subscription --- diff --git a/source/_daily_emails/2024-02-24.md b/source/_daily_emails/2024-02-24.md index 1c74075d..2b39ded3 100644 --- a/source/_daily_emails/2024-02-24.md +++ b/source/_daily_emails/2024-02-24.md @@ -3,12 +3,12 @@ title: When should you start writing tests? date: 2024-02-24 permalink: daily/2024/02/24/when-should-you-start-writing-tests snippet: | - When in a project's lifecycle should you start writing tests and doing test-driven development? + When in a project's lifecycle should you start writing tests and doing test-driven development? tags: - - software-development - - php - - automated-testing - - test-driven-development + - software-development + - php + - automated-testing + - test-driven-development cta: subscription --- diff --git a/source/_daily_emails/2024-02-25.md b/source/_daily_emails/2024-02-25.md index 9a275269..3fa165e8 100644 --- a/source/_daily_emails/2024-02-25.md +++ b/source/_daily_emails/2024-02-25.md @@ -3,10 +3,10 @@ title: Why do people still use Git Flow? date: 2024-02-25 permalink: daily/2024/02/25/why-do-people-still-use-git-flow snippet: | - Why do people still use Git Flow in 2024? + Why do people still use Git Flow in 2024? tags: - - software-development - - git + - software-development + - git cta: d7eol --- diff --git a/source/_daily_emails/2024-02-26.md b/source/_daily_emails/2024-02-26.md index 609faa87..ca46cb5f 100644 --- a/source/_daily_emails/2024-02-26.md +++ b/source/_daily_emails/2024-02-26.md @@ -3,11 +3,11 @@ title: Docker and content creation with Nick Janetakis date: 2024-02-26 permalink: daily/2024/02/26/docker-and-content-creation-with-nick-janetakis tags: - - software-development - - docker - - podcast + - software-development + - docker + - podcast snippet: | - This week's guest on Beyond Blocks is Docker Captain, Nick Janetakis. + This week's guest on Beyond Blocks is Docker Captain, Nick Janetakis. --- This week's guest on the Beyond Blocks podcast is Nick Janetakis - a Software Developer, Docker Captain and Teacher who focuses on building and deploying web apps. diff --git a/source/_daily_emails/2024-02-27.md b/source/_daily_emails/2024-02-27.md index 2a6d0c15..37c4c1e5 100644 --- a/source/_daily_emails/2024-02-27.md +++ b/source/_daily_emails/2024-02-27.md @@ -3,13 +3,13 @@ title: Building a design system in a few hours with Symfony date: 2024-02-27 permalink: daily/2024/02/27/building-a-design-system-in-a-few-hours-with-symfony tags: - - softare-development - - symfony - - php - - podcast + - softare-development + - symfony + - php + - podcast cta: d7eol snippet: | - Today, I started a design system with Symfony in a few hours, based on recent podcast episodes with Mark Conroy and Ryan Weaver. + Today, I started a design system with Symfony in a few hours, based on recent podcast episodes with Mark Conroy and Ryan Weaver. --- [I recently spoke with Mark Conroy][mark], Director of Development at Annertech, on the Beyond Blocks podcast. diff --git a/source/_daily_emails/2024-02-28.md b/source/_daily_emails/2024-02-28.md index 7a5315a7..2cc2e2c7 100644 --- a/source/_daily_emails/2024-02-28.md +++ b/source/_daily_emails/2024-02-28.md @@ -3,11 +3,11 @@ title: Why I don't branch date: 2024-02-28 permalink: daily/2024/02/28/why-i-dont-branch tags: - - softare-development - - git + - softare-development + - git cta: d7eol snippet: | - Why I no longer create different Git branches for every change, and why I switched to trunk-based development. + Why I no longer create different Git branches for every change, and why I switched to trunk-based development. --- A few days ago, I asked [why people are still using Git Flow in 2024][previous]. diff --git a/source/_daily_emails/2024-02-29.md b/source/_daily_emails/2024-02-29.md index eaaa0dff..a4a0d9d1 100644 --- a/source/_daily_emails/2024-02-29.md +++ b/source/_daily_emails/2024-02-29.md @@ -3,12 +3,12 @@ title: Experimenting with web components date: 2024-02-29 permalink: daily/2024/02/29/experimenting-with-web-components tags: - - softare-development - - web-components - - front-end + - softare-development + - web-components + - front-end cta: subscription snippet: | - After speaking with Mark Conroy, I've been experimenting with web components. + After speaking with Mark Conroy, I've been experimenting with web components. --- After my Beyond Blocks episode with Mark Conroy, I've spent some time this week experimenting with web components. diff --git a/source/_daily_emails/2024-03-01.md b/source/_daily_emails/2024-03-01.md index 3d60dc41..a6bdda7f 100644 --- a/source/_daily_emails/2024-03-01.md +++ b/source/_daily_emails/2024-03-01.md @@ -3,13 +3,13 @@ title: Back to live streaming date: 2024-03-01 permalink: daily/2024/03/01/back-to-live-streaming tags: - - software-development - - live-streaming - - symfony - - php + - software-development + - live-streaming + - symfony + - php cta: subscription snippet: | - This week, I did my first coding live stream in around two years - working on my Symfony-based Build Configs tool. + This week, I did my first coding live stream in around two years - working on my Symfony-based Build Configs tool. --- Today, after saying I wanted to get back into it, I did my first live coding stream in over two years. diff --git a/source/_daily_emails/2024-03-02.md b/source/_daily_emails/2024-03-02.md index 8838ce4a..9edab2e3 100644 --- a/source/_daily_emails/2024-03-02.md +++ b/source/_daily_emails/2024-03-02.md @@ -3,12 +3,12 @@ title: Are your tests good enough? date: 2024-03-02 permalink: daily/2024/03/02/are-your-tests-good-enough tags: - - software-development - - automated-testing - - test-driven-drupal + - software-development + - automated-testing + - test-driven-drupal cta: testing_course snippet: | - You're about to refactor or add to some existing application code. How confident are you it will work afterwards? + You're about to refactor or add to some existing application code. How confident are you it will work afterwards? --- You've been asked to add a new feature to or refactor some existing code. diff --git a/source/_daily_emails/2024-03-03.md b/source/_daily_emails/2024-03-03.md index 476f44a7..90add4b1 100644 --- a/source/_daily_emails/2024-03-03.md +++ b/source/_daily_emails/2024-03-03.md @@ -3,13 +3,13 @@ title: Centarro and Drupal Commerce with Ryan Szrama date: 2024-03-03 permalink: /archive/2024/03/03/centarro-and-drupal-commerce-with-ryan-szrama tags: - - software-development - - drupal - - drupal-commerce - - podcast + - software-development + - drupal + - drupal-commerce + - podcast cta: d7eol snippet: | - This week on Beyond Blocks, Oliver is joined by Ryan Szrama, CEO of Centarro. + This week on Beyond Blocks, Oliver is joined by Ryan Szrama, CEO of Centarro. --- This week on Beyond Blocks, I'mj oined by Ryan Szrama, CEO of Centarro, to discuss Drupal Commerce, Commerce Kickstart, Mario Kart and the dreaded `cache_form` table. diff --git a/source/_daily_emails/2024-03-04.md b/source/_daily_emails/2024-03-04.md index c7508d08..efd2428a 100644 --- a/source/_daily_emails/2024-03-04.md +++ b/source/_daily_emails/2024-03-04.md @@ -3,12 +3,12 @@ title: Why you need layers in your application code date: 2024-03-04 permalink: daily/2024/03/04/why-you-need-layers-in-your-application-code tags: - - software-development - - software-architecture - - clean-code + - software-development + - software-architecture + - clean-code cta: ~ snippet: | - Why should you make your code more robust and flexible by introducing layers into your code? + Why should you make your code more robust and flexible by introducing layers into your code? --- You need to add an integration with a new service or supplier to your application code. diff --git a/source/_daily_emails/2024-03-05.md b/source/_daily_emails/2024-03-05.md index 5c8210f5..204190e1 100644 --- a/source/_daily_emails/2024-03-05.md +++ b/source/_daily_emails/2024-03-05.md @@ -3,12 +3,12 @@ title: Why write framework-agnostic code date: 2024-03-05 permalink: daily/2024/03/05/why-write-framework-agnostic-code tags: - - software-development - - php - - clean-code + - software-development + - php + - clean-code cta: testing_course snippet: | - Why you should consider separating your business logic from your framework code. What benefits does it offer? + Why you should consider separating your business logic from your framework code. What benefits does it offer? --- [Yesterday], I wrote about writing layers in your application code and the benefits of loosely coupled code. diff --git a/source/_daily_emails/2024-03-06.md b/source/_daily_emails/2024-03-06.md index 654227a2..4d05d2b2 100644 --- a/source/_daily_emails/2024-03-06.md +++ b/source/_daily_emails/2024-03-06.md @@ -3,11 +3,11 @@ title: Types are optional date: 2024-03-06 permalink: daily/2024/03/06/types-are-optional tags: - - software-development - - php + - software-development + - php cta: subscription snippet: | - Types are optional in the programming languages I write most in. I like them, but I also like people can decide whether to use types or not. + Types are optional in the programming languages I write most in. I like them, but I also like people can decide whether to use types or not. --- The main programming languages I write are PHP and JavaScript. diff --git a/source/_daily_emails/2024-03-07.md b/source/_daily_emails/2024-03-07.md index 3686bf10..aac0cede 100644 --- a/source/_daily_emails/2024-03-07.md +++ b/source/_daily_emails/2024-03-07.md @@ -3,10 +3,10 @@ title: Why write software for this? date: 2024-03-07 permalink: daily/2024/03/07/why-write-software-for-this tags: - - software-development + - software-development cta: ~ snippet: | - What questions do you ask when speaking to prospective clients? + What questions do you ask when speaking to prospective clients? --- Recently, when speaking with prospective clients, instead of focusing on the features they want, I like to ask questions like: diff --git a/source/_daily_emails/2024-03-08.md b/source/_daily_emails/2024-03-08.md index 851eecf0..122857b4 100644 --- a/source/_daily_emails/2024-03-08.md +++ b/source/_daily_emails/2024-03-08.md @@ -3,13 +3,13 @@ title: Conventions over readability? date: 2024-03-08 permalink: daily/2024/03/08/conventions-over-readability tags: - - software-development - - clean-code - # - php - # - podcast + - software-development + - clean-code + # - php + # - podcast cta: ~ snippet: | - Which is more important? To write readable code or following existing conventions? + Which is more important? To write readable code or following existing conventions? --- I previously wrote about why you shouldn't use variable names like `$x` and `$y` in your code and why you should use more descriptive names. diff --git a/source/_daily_emails/2024-03-09.md b/source/_daily_emails/2024-03-09.md index 6b9771cc..134c6acd 100644 --- a/source/_daily_emails/2024-03-09.md +++ b/source/_daily_emails/2024-03-09.md @@ -3,12 +3,12 @@ title: Override Node Options is used on 40,624 Drupal websites date: 2024-03-09 permalink: daily/2024/03/09/override-node-options-40624-drupal-websites tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: testing_course snippet: | - As of the 3rd of March, the Override Node Options module is used on 40,624 Drupal websites. + As of the 3rd of March, the Override Node Options module is used on 40,624 Drupal websites. --- In my [Test-Driven Drupal talk slides][talk], I show a screenshot of a tweet from February 2012 by Tim Millwood asking if anyone wanted to maintain the Override Node Options module. diff --git a/source/_daily_emails/2024-03-10.md b/source/_daily_emails/2024-03-10.md index 2df3a231..db9a0420 100644 --- a/source/_daily_emails/2024-03-10.md +++ b/source/_daily_emails/2024-03-10.md @@ -3,13 +3,13 @@ title: Visual testing and Diffy with Yuri Gerasymov date: 2024-03-10 permalink: daily/2024/03/10/visual-testing-and-diffy-with-yuri-gerasymov tags: - - software-development - - drupal - - podcast - - automated-testing + - software-development + - drupal + - podcast + - automated-testing cta: subscription snippet: | - This week on Beyond Blocks, I'm joined by Yuri Gerasymov to discuss Diffy visual regression testing. + This week on Beyond Blocks, I'm joined by Yuri Gerasymov to discuss Diffy visual regression testing. --- This week on the Beyond Blocks podcast, I'm joined by Yuri Gerasymov to discuss Diffy visual regression testing. diff --git a/source/_daily_emails/2024-03-11.md b/source/_daily_emails/2024-03-11.md index 18c3bb6d..dab28db6 100644 --- a/source/_daily_emails/2024-03-11.md +++ b/source/_daily_emails/2024-03-11.md @@ -3,11 +3,11 @@ title: Feature flags should be short-lived date: 2024-03-11 permalink: daily/2024/03/11/feature-flags-should-be-short-lived tags: - - software-development - - feature-flags + - software-development + - feature-flags cta: subscription snippet: | - Feature flags should be short-lived. Once the change has been released, the flags should be removed. + Feature flags should be short-lived. Once the change has been released, the flags should be removed. --- Today, I [posted a tweet][tweet] with a screenshot of some code. diff --git a/source/_daily_emails/2024-03-12.md b/source/_daily_emails/2024-03-12.md index d6e9581b..4b14059d 100644 --- a/source/_daily_emails/2024-03-12.md +++ b/source/_daily_emails/2024-03-12.md @@ -3,11 +3,11 @@ title: You should know when to remove a feature flag date: 2024-03-12 permalink: daily/2024/03/12/you-should-know-when-to-remove-a-feature-flag tags: - - software-development - - feature-flags + - software-development + - feature-flags cta: subscription snippet: | - Yesterday, I said feature flags should be short-lived. But how do you know when a flag can be removed? + Yesterday, I said feature flags should be short-lived. But how do you know when a flag can be removed? --- [In yesterday's email][yesterday], I mentioned my recent ["minimum viable feature flag" tweet][tweet] and that I think feature flags should be short-lived. diff --git a/source/_daily_emails/2024-03-13.md b/source/_daily_emails/2024-03-13.md index c259b68f..0319abd5 100644 --- a/source/_daily_emails/2024-03-13.md +++ b/source/_daily_emails/2024-03-13.md @@ -3,10 +3,10 @@ title: 80% of PHP? date: 2024-03-13 permalink: daily/2024/03/13/80--of-php tags: - - software-development + - software-development cta: ~ snippet: | - Why do people put things like "I know 80% of PHP on their CVs and websites? Is that what matters to prospective clients or employers? + Why do people put things like "I know 80% of PHP on their CVs and websites? Is that what matters to prospective clients or employers? --- Something I see on many Developers' websites and CVs is percentages or levels of how well they know certain tools and frameworks. diff --git a/source/_daily_emails/2024-03-14.md b/source/_daily_emails/2024-03-14.md index a35ad518..3f03e74e 100644 --- a/source/_daily_emails/2024-03-14.md +++ b/source/_daily_emails/2024-03-14.md @@ -3,12 +3,12 @@ title: Just say Drupal date: 2024-03-14 permalink: daily/2024/03/14/just-say-drupal tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: subscription snippet: | - Should we remove the version number from Drupal's marketing materials and standardise how we refer to legacy and modern versions of Drupal? + Should we remove the version number from Drupal's marketing materials and standardise how we refer to legacy and modern versions of Drupal? --- Today, I've been following a conversation on Twitter and reading a blog post about Drupal naming and removing the version number from promotional materials. diff --git a/source/_daily_emails/2024-03-15.md b/source/_daily_emails/2024-03-15.md index 861a793d..6a2af635 100644 --- a/source/_daily_emails/2024-03-15.md +++ b/source/_daily_emails/2024-03-15.md @@ -3,10 +3,10 @@ title: Everything is a trade-off date: 2024-03-15 permalink: daily/2024/03/15/everything-is-a-trade-off tags: - - software-development + - software-development cta: d7eol snippet: | - All solutions have advantages and disadvantages. Which works best for you? + All solutions have advantages and disadvantages. Which works best for you? --- I recently added a custom `wrapper` class within a Tailwind CSS project. diff --git a/source/_daily_emails/2024-03-16.md b/source/_daily_emails/2024-03-16.md index 0dfdce47..0e9d36f1 100644 --- a/source/_daily_emails/2024-03-16.md +++ b/source/_daily_emails/2024-03-16.md @@ -3,13 +3,13 @@ title: Adding tests to the Content Access by Path module date: 2024-03-16 permalink: daily/2024/03/16/adding-tests-to-the-content-access-by-path-module tags: - - software-development - - drupal - - php - - automated-testing + - software-development + - drupal + - php + - automated-testing cta: subscription snippet: | - As promised, I've added some tests to the Content Access by Path module. + As promised, I've added some tests to the Content Access by Path module. --- Last month, I released the [Beyond Blocks podcast episode][episode] where I spoke with Mark Conroy. diff --git a/source/_daily_emails/2024-03-17.md b/source/_daily_emails/2024-03-17.md index 640a69bd..9c9456f1 100644 --- a/source/_daily_emails/2024-03-17.md +++ b/source/_daily_emails/2024-03-17.md @@ -3,13 +3,13 @@ title: Patches vs Merge Requests date: 2024-03-17 permalink: daily/2024/03/17/patches-vs-merge-requests tags: - - software-development - - drupal - - php - - open-source + - software-development + - drupal + - php + - open-source cta: d7eol snippet: | - Which do you prefer? Patches or merge requests? + Which do you prefer? Patches or merge requests? --- I'm aware of the ongoing changes to the issue queues on Drupal.org, I haven't contributed or committed as much recently, so I haven't had to use the new approaches, such as issue forks and GitLab merge requests. diff --git a/source/_daily_emails/2024-03-18.md b/source/_daily_emails/2024-03-18.md index 7ebcbc53..dbef52ce 100644 --- a/source/_daily_emails/2024-03-18.md +++ b/source/_daily_emails/2024-03-18.md @@ -3,12 +3,12 @@ title: Automated Drupal 11 compatibility fixes date: 2024-03-18 permalink: daily/2024/03/18/automated-drupal-11-compatibility-fixes tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - First "Automated Drupal 11 compatibility fixes" email spotted... + First "Automated Drupal 11 compatibility fixes" email spotted... --- Yesterday, I received the first "Automated Drupal 11 compatibility fixes" email from the Rector-powered Project Update Bot. diff --git a/source/_daily_emails/2024-03-19.md b/source/_daily_emails/2024-03-19.md index 99e3c1eb..7c234c78 100644 --- a/source/_daily_emails/2024-03-19.md +++ b/source/_daily_emails/2024-03-19.md @@ -3,13 +3,13 @@ title: 'Drupal Commerce: not just for selling t-shirts and hats' date: 2024-03-19 permalink: daily/2024/03/19/drupal-commerce-not-just-for-selling-t-shirts-and-hats tags: - - software-development - - drupal - - drupal-commerce - - php + - software-development + - drupal + - drupal-commerce + - php cta: subscription snippet: | - Drupal Commerce can do so much more than just selling t-shirts, hats and furniture. + Drupal Commerce can do so much more than just selling t-shirts, hats and furniture. --- I recently had Ryan Szrama as a guest on the [Beyond Blocks podcast][podcast]. diff --git a/source/_daily_emails/2024-03-20.md b/source/_daily_emails/2024-03-20.md index f3179ff5..b9669521 100644 --- a/source/_daily_emails/2024-03-20.md +++ b/source/_daily_emails/2024-03-20.md @@ -3,11 +3,11 @@ title: What is legacy code? date: 2024-03-20 permalink: daily/2024/03/20/what-is-legacy-code tags: - - software-development - - clean-code + - software-development + - clean-code cta: ~ snippet: | - How do _you_ define legacy code? I can think of several potential definitions. + How do _you_ define legacy code? I can think of several potential definitions. --- How do you define legacy code? diff --git a/source/_daily_emails/2024-03-21.md b/source/_daily_emails/2024-03-21.md index 9b9ee931..2fd92acf 100644 --- a/source/_daily_emails/2024-03-21.md +++ b/source/_daily_emails/2024-03-21.md @@ -3,11 +3,11 @@ title: Git hooks - yay or nay? date: 2024-03-21 permalink: daily/2024/03/21/git-hooks---yay-or-nay tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Are you in favour of Git hooks or not? + Are you in favour of Git hooks or not? --- Many people are very for or against Git hooks - scripts that run automatically on events such as pre-commit and pre-push. diff --git a/source/_daily_emails/2024-03-22.md b/source/_daily_emails/2024-03-22.md index 45303d90..1129d028 100644 --- a/source/_daily_emails/2024-03-22.md +++ b/source/_daily_emails/2024-03-22.md @@ -3,11 +3,11 @@ title: Watching all the things date: 2024-03-22 permalink: daily/2024/03/22/watching-all-the-things tags: - - software-development - - php + - software-development + - php cta: ~ snippet: | - For some things, I use watch commands. For others, I have integrations in ny text editor. + For some things, I use watch commands. For others, I have integrations in ny text editor. --- [In yesterday's email][yesterday], I mentioned that I use watch commands such as `nodemon`, `watchexec` and `entr` whilst developing to run commands automatically when I change code. diff --git a/source/_daily_emails/2024-03-23.md b/source/_daily_emails/2024-03-23.md index cfe8ff5a..cb833ca2 100644 --- a/source/_daily_emails/2024-03-23.md +++ b/source/_daily_emails/2024-03-23.md @@ -3,12 +3,12 @@ title: Write programs that do one thing and do it well date: 2024-03-23 permalink: daily/2024/03/23/write-programs-that-do-one-thing-and-do-it-well tags: - - software-development - - unix - - linux + - software-development + - unix + - linux cta: ~ snippet: | - Write programs that do one thing and do it well. + Write programs that do one thing and do it well. --- Over the last few days, I've written about watchers and running commands such as automated tests when files are changed. diff --git a/source/_daily_emails/2024-03-24.md b/source/_daily_emails/2024-03-24.md index c650a951..6bb4a2f1 100644 --- a/source/_daily_emails/2024-03-24.md +++ b/source/_daily_emails/2024-03-24.md @@ -3,11 +3,11 @@ title: Why I don't use a GUI for Git date: 2024-03-24 permalink: daily/2024/03/24/why-i-dont-use-a-gui-for-git tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Do you use a GUI when working with Git? This is why I don't. + Do you use a GUI when working with Git? This is why I don't. --- I've been a Git user since my first full-time Developer position in 2010. diff --git a/source/_daily_emails/2024-03-25.md b/source/_daily_emails/2024-03-25.md index 3d1c1c3d..37dd07a3 100644 --- a/source/_daily_emails/2024-03-25.md +++ b/source/_daily_emails/2024-03-25.md @@ -3,13 +3,13 @@ title: Newport City Council running LocalGov Drupal date: 2024-03-25 permalink: daily/2024/03/25/newport-city-council-running-localgov-drupal tags: - - software-development - - drupal - - php - - localgov + - software-development + - drupal + - php + - localgov cta: subscription snippet: | - Newport City Council is now the first Welsh council to use LocalGov Drupal. + Newport City Council is now the first Welsh council to use LocalGov Drupal. --- Last week, it was announced that Newport City Council's (my local council) website is now running on LocalGov Drupal - a distribution for council websites. diff --git a/source/_daily_emails/2024-03-26.md b/source/_daily_emails/2024-03-26.md index 14e3c7c2..33ec81e4 100644 --- a/source/_daily_emails/2024-03-26.md +++ b/source/_daily_emails/2024-03-26.md @@ -3,13 +3,13 @@ title: Let someone else do the work date: 2024-03-26 permalink: daily/2024/03/26/let-someone-else-do-the-work tags: - - software-development - - drupal - - php - - open-source + - software-development + - drupal + - php + - open-source cta: ~ snippet: | - Why would I write something myself if there's already code available that solves my problem? + Why would I write something myself if there's already code available that solves my problem? --- Yesterday, I was investigating a CSS issue. diff --git a/source/_daily_emails/2024-03-27.md b/source/_daily_emails/2024-03-27.md index 35a32f7f..b6fdaf31 100644 --- a/source/_daily_emails/2024-03-27.md +++ b/source/_daily_emails/2024-03-27.md @@ -3,11 +3,11 @@ title: Hotfixing without branches date: 2024-03-27 permalink: daily/2024/03/27/hotfixing-without-branches tags: - - software-development - - git + - software-development + - git cta: subscription snippet: | - How do I deal with hotfixes if I don't branch? + How do I deal with hotfixes if I don't branch? --- {% block content %} diff --git a/source/_daily_emails/2024-03-28.md b/source/_daily_emails/2024-03-28.md index f4e8fd0c..252855d4 100644 --- a/source/_daily_emails/2024-03-28.md +++ b/source/_daily_emails/2024-03-28.md @@ -3,12 +3,12 @@ title: Starting to sprinkle JavaScript with Simulus date: 2024-03-28 permalink: daily/2024/03/28/starting-to-sprinkle-javascript-with-simulus tags: - - software-development - - symfony - - stimulus + - software-development + - symfony + - stimulus cta: ~ snippet: | - Have you used Stimulus? I took it for a test drivet this week. + Have you used Stimulus? I took it for a test drivet this week. --- I've been watching the new "Cosmic Coding with Symfony 7" series on SymfonyCasts, and today's video was about Stimulus - a "modest JavaScript framework for the HTML you already have". diff --git a/source/_daily_emails/2024-03-29.md b/source/_daily_emails/2024-03-29.md index 6b2be637..59b6108b 100644 --- a/source/_daily_emails/2024-03-29.md +++ b/source/_daily_emails/2024-03-29.md @@ -3,11 +3,11 @@ title: How I Git date: 2024-03-29 permalink: daily/2024/03/29/how-i-git tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Here's more about how I use Git. + Here's more about how I use Git. --- diff --git a/source/_daily_emails/2024-03-30.md b/source/_daily_emails/2024-03-30.md index 2fb17061..064b0d63 100644 --- a/source/_daily_emails/2024-03-30.md +++ b/source/_daily_emails/2024-03-30.md @@ -3,11 +3,11 @@ title: Leaving a trail of breadcrumbs date: 2024-03-30 permalink: daily/2024/03/30/leaving-a-trail-of-breadcrumbs tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - A commit log is like leaving a trail of breadcrumbs for yourself as you work on a task. + A commit log is like leaving a trail of breadcrumbs for yourself as you work on a task. --- A great thing about committing often is that you leave a trail of breadcrumbs for yourself, and you can easily find your way back. diff --git a/source/_daily_emails/2024-03-31.md b/source/_daily_emails/2024-03-31.md index ac7f2f5e..43a91115 100644 --- a/source/_daily_emails/2024-03-31.md +++ b/source/_daily_emails/2024-03-31.md @@ -3,11 +3,11 @@ title: Making Git work the way you want date: 2024-03-31 permalink: daily/2024/03/31/making-git-work-the-way-you-want tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Merge or rebase - which do you use? + Merge or rebase - which do you use? --- Another question that followed my recent Git emails was, " I assume you use rebase over merge?" diff --git a/source/_daily_emails/2024-04-01.md b/source/_daily_emails/2024-04-01.md index 2776e740..86031cb8 100644 --- a/source/_daily_emails/2024-04-01.md +++ b/source/_daily_emails/2024-04-01.md @@ -3,13 +3,13 @@ title: I'm attending LocalGov Drupal Camp date: 2024-04-01 permalink: daily/2024/04/01/i-m-attending-localgov-drupal-camp tags: - - software-development - - drupal - - localgov-drupal - - drupalcamp + - software-development + - drupal + - localgov-drupal + - drupalcamp cta: ~ snippet: | - In a few weeks, I'll be attending a LocalGov Drupal Camp in Birmingham, UK. + In a few weeks, I'll be attending a LocalGov Drupal Camp in Birmingham, UK. --- On the 24th of April, I'll be attending a LocalGov Drupal Camp in Birmingham, UK. diff --git a/source/_daily_emails/2024-04-02.md b/source/_daily_emails/2024-04-02.md index 39d98240..77fac1d6 100644 --- a/source/_daily_emails/2024-04-02.md +++ b/source/_daily_emails/2024-04-02.md @@ -3,11 +3,11 @@ title: Releasing a new project one page at a time date: 2024-04-02 permalink: daily/2024/04/02/releasing-a-new-project-one-page-at-a-time tags: - - software-development - - drupal + - software-development + - drupal cta: ~ snippet: | - How do you release a new website? One page at a time. + How do you release a new website? One page at a time. --- How do you release a new project? diff --git a/source/_daily_emails/2024-04-03.md b/source/_daily_emails/2024-04-03.md index 5a22874a..87a948d0 100644 --- a/source/_daily_emails/2024-04-03.md +++ b/source/_daily_emails/2024-04-03.md @@ -3,11 +3,11 @@ title: Switching web servers using Build Configs date: 2024-04-03 permalink: daily/2024/04/03/switching-web-servers-using-build-configs tags: - - software-development - - build-configs + - software-development + - build-configs cta: ~ snippet: | - Today, I used my Build Configs tool to easily switch a project from one web server to another. + Today, I used my Build Configs tool to easily switch a project from one web server to another. --- Have you been in a situation where you needed to switch something in a project, like the type of database or a payment provider? diff --git a/source/_daily_emails/2024-04-04.md b/source/_daily_emails/2024-04-04.md index af38e321..a16da46d 100644 --- a/source/_daily_emails/2024-04-04.md +++ b/source/_daily_emails/2024-04-04.md @@ -3,12 +3,12 @@ title: "PHP attributes: coming soon to a Drupal version near you" date: 2024-04-04 permalink: daily/2024/04/04/php-attributes--coming-soon-to-a-drupal-version-near-you tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: ~ snippet: | - Have you used PHP attributes in Drupal yet? They've started to be available for some plugin types since version 10.2. + Have you used PHP attributes in Drupal yet? They've started to be available for some plugin types since version 10.2. --- Since Drupal 10.2, the framework has started to adopt PHP attributes - a new feature since PHP 8 - as an alternative to annotations when defining plugins, such as blocks and queues. diff --git a/source/_daily_emails/2024-04-05.md b/source/_daily_emails/2024-04-05.md index 5c9ee650..5b30017e 100644 --- a/source/_daily_emails/2024-04-05.md +++ b/source/_daily_emails/2024-04-05.md @@ -3,12 +3,12 @@ title: One Drupal fits all date: 2024-04-05 permalink: daily/2024/04/05/one-drupal-fits-all tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - Drupal works well for small and simple applications, as well large and compex applications. + Drupal works well for small and simple applications, as well large and compex applications. --- Two of the main things I like about Drupal are its flexibility and scalability. diff --git a/source/_daily_emails/2024-04-06.md b/source/_daily_emails/2024-04-06.md index e8f9f359..fe1da155 100644 --- a/source/_daily_emails/2024-04-06.md +++ b/source/_daily_emails/2024-04-06.md @@ -3,12 +3,12 @@ title: Drupal is a content management framework date: 2024-04-06 permalink: daily/2024/04/06/drupal-is-a-content-management-framework tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - Drupal isn't just a content management system. It's a content management framework. + Drupal isn't just a content management system. It's a content management framework. --- There used to be a saying: diff --git a/source/_daily_emails/2024-04-07.md b/source/_daily_emails/2024-04-07.md index 40f211cc..a11dd2be 100644 --- a/source/_daily_emails/2024-04-07.md +++ b/source/_daily_emails/2024-04-07.md @@ -3,11 +3,11 @@ title: Avoiding nesting date: 2024-04-07 permalink: daily/2024/04/07/avoiding-nesting tags: - - software-development - - clean-code + - software-development + - clean-code cta: ~ snippet: | - How many levels of nesting do you have in your code? It's something I try to keep to a minimum. + How many levels of nesting do you have in your code? It's something I try to keep to a minimum. --- One of my goals when coding is to reduce the amount of nesting in the code I write. diff --git a/source/_daily_emails/2024-04-08.md b/source/_daily_emails/2024-04-08.md index bea64ac1..922ff5ff 100644 --- a/source/_daily_emails/2024-04-08.md +++ b/source/_daily_emails/2024-04-08.md @@ -3,9 +3,9 @@ title: Come for the software, stay for the community date: 2024-04-08 permalink: daily/2024/04/08/come-for-the-software--stay-for-the-community tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: ~ snippet: Come for the software, stay for the community --- diff --git a/source/_daily_emails/2024-04-09.md b/source/_daily_emails/2024-04-09.md index 61b1fc5c..61ca757b 100644 --- a/source/_daily_emails/2024-04-09.md +++ b/source/_daily_emails/2024-04-09.md @@ -3,12 +3,12 @@ title: Paying it forward date: 2024-04-09 permalink: daily/2024/04/09/paying-it-forward tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: ~ snippet: | - Now, it's my turn to pay it forward. + Now, it's my turn to pay it forward. --- As well as building applications with PHP and Drupal, I spend a lot of time helping others and "paying it forward". diff --git a/source/_daily_emails/2024-04-10.md b/source/_daily_emails/2024-04-10.md index 40efc65f..607be896 100644 --- a/source/_daily_emails/2024-04-10.md +++ b/source/_daily_emails/2024-04-10.md @@ -3,13 +3,13 @@ title: Resurrecting the Speakerdeck Field module date: 2024-04-10 permalink: daily/2024/04/10/resurrecting-the-speakerdeck-field-module tags: - - software-development - - drupal - - php - - open-source + - software-development + - drupal + - php + - open-source cta: ~ snippet: | - Resurrecting the Speakerdeck Field Drupal module + Resurrecting the Speakerdeck Field Drupal module --- This week, I've resurrected the [Speakerdeck field Drupal module][module]. diff --git a/source/_daily_emails/2024-04-11.md b/source/_daily_emails/2024-04-11.md index 9ef6b89f..1b0ff064 100644 --- a/source/_daily_emails/2024-04-11.md +++ b/source/_daily_emails/2024-04-11.md @@ -3,14 +3,14 @@ title: Over 100 ATDC subscribers date: 2024-04-11 permalink: daily/2024/04/11/over-100-atdc-subscribers tags: - - software-development - - drupal - - php - - automated-testing - - test-driven-development + - software-development + - drupal + - php + - automated-testing + - test-driven-development cta: ~ snippet: | - Over 100 people have taken my automated testing in Drupal email course! + Over 100 people have taken my automated testing in Drupal email course! --- Since launching my Automated Testing in Drupal email course, over 100 people have subscribed and received the free ten daily lessons where I explain how to start from scratch to build a Drupal module with automated tests and test-driven development. diff --git a/source/_daily_emails/2024-04-12.md b/source/_daily_emails/2024-04-12.md index e5cecb8a..592a5c81 100644 --- a/source/_daily_emails/2024-04-12.md +++ b/source/_daily_emails/2024-04-12.md @@ -3,12 +3,12 @@ title: Drupal Rector and the Project Update Bot date: 2024-04-12 permalink: daily/2024/04/12/drupal-rector-and-the-project-update-bot tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - How do I know the SpeakerDeck Field module still works on Drupal 10 and 11? + How do I know the SpeakerDeck Field module still works on Drupal 10 and 11? --- [In Wednesday's email][wednesday], I said I was resurrecting the Speakerdeck Field module, and the same version works on Drupal 8, 9, 10 and 11. diff --git a/source/_daily_emails/2024-04-13.md b/source/_daily_emails/2024-04-13.md index da6ff426..38a7b726 100644 --- a/source/_daily_emails/2024-04-13.md +++ b/source/_daily_emails/2024-04-13.md @@ -3,12 +3,12 @@ title: Rector is not just for Drupal date: 2024-04-13 permalink: daily/2024/04/13/rector-is-not-just-for-drupal tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: ~ snippet: | - Why spend time doing manual tasks that can be automated? Instead, save time by using tools like Rector. + Why spend time doing manual tasks that can be automated? Instead, save time by using tools like Rector. --- I like framework-agnostic tools. diff --git a/source/_daily_emails/2024-04-14.md b/source/_daily_emails/2024-04-14.md index d9c4f702..9f72e351 100644 --- a/source/_daily_emails/2024-04-14.md +++ b/source/_daily_emails/2024-04-14.md @@ -3,12 +3,12 @@ title: What about updating custom modules and themes? date: 2024-04-14 permalink: daily/2024/04/14/what-about-updating-custom-modules-and-themes tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - But, how do you update custom modules and themes between major modern versions of Drupal? + But, how do you update custom modules and themes between major modern versions of Drupal? --- [Yesterday's email][yesterday] was about using Drupal Rector and the Automated Project Update bot to update contributed modules. diff --git a/source/_daily_emails/2024-04-15.md b/source/_daily_emails/2024-04-15.md index 9d143016..fbf58daa 100644 --- a/source/_daily_emails/2024-04-15.md +++ b/source/_daily_emails/2024-04-15.md @@ -3,13 +3,13 @@ title: A note to open-source software maintainers date: 2024-04-15 permalink: daily/2024/04/15/a-note-to-open-source-software-maintainers tags: - - software-development - - drupal - - php - - open-source + - software-development + - drupal + - php + - open-source cta: ~ snippet: | - If you want people to use your open-source software, make it easy to use and update. + If you want people to use your open-source software, make it easy to use and update. --- I recently updated a website to the latest version of Drupal. diff --git a/source/_daily_emails/2024-04-16.md b/source/_daily_emails/2024-04-16.md index 0b73a833..124ba964 100644 --- a/source/_daily_emails/2024-04-16.md +++ b/source/_daily_emails/2024-04-16.md @@ -3,11 +3,11 @@ title: Regularly releasing open-source software date: 2024-04-16 permalink: daily/2024/04/16/regularly-releasing-open-source-software tags: - - software-development - - open-source + - software-development + - open-source cta: ~ snippet: | - As with client applications, I recommend releasing new versions of open-source software as often as possible. + As with client applications, I recommend releasing new versions of open-source software as often as possible. --- As with client applications, I recommend releasing new versions of open-source software as often as possible. diff --git a/source/_daily_emails/2024-04-17.md b/source/_daily_emails/2024-04-17.md index 1e6eef87..539c1c16 100644 --- a/source/_daily_emails/2024-04-17.md +++ b/source/_daily_emails/2024-04-17.md @@ -3,11 +3,11 @@ title: Regular releases encourage contribution date: 2024-04-17 permalink: daily/2024/04/17/regular-releases-encourage-contribution tags: - - software-development - - open-source + - software-development + - open-source cta: d7eol snippet: | - Regular open-source releases encourage contribution to your project. + Regular open-source releases encourage contribution to your project. --- As well as writing and maintaining my open-source software projects, I regularly contribute to other people's - including PHP libraries, Drupal modules and Tailwind CSS plugins. diff --git a/source/_daily_emails/2024-04-18.md b/source/_daily_emails/2024-04-18.md index 463763ab..2eaf461a 100644 --- a/source/_daily_emails/2024-04-18.md +++ b/source/_daily_emails/2024-04-18.md @@ -3,13 +3,13 @@ title: I made my first commit to LocalGov Drupal Microsites date: 2024-04-18 permalink: daily/2024/04/18/first-commit-localgov-drupal-microsites tags: - - software-development - - drupal - - localgov-drupal - - open-source + - software-development + - drupal + - localgov-drupal + - open-source cta: subscription snippet: | - This week, I submitted my first change to the LocalGov Microsites distribution. + This week, I submitted my first change to the LocalGov Microsites distribution. --- This week, I submitted [my first change][pr] to the LocalGov Microsites project. diff --git a/source/_daily_emails/2024-04-19.md b/source/_daily_emails/2024-04-19.md index 363892b0..cb69cfa7 100644 --- a/source/_daily_emails/2024-04-19.md +++ b/source/_daily_emails/2024-04-19.md @@ -3,11 +3,11 @@ title: When should you tag 1.0? date: 2024-04-19 permalink: daily/2024/04/19/when-should-you-tag-1-0 tags: - - software-development - - open-source + - software-development + - open-source cta: ~ snippet: | - When should you tag version 1.0 of your project? + When should you tag version 1.0 of your project? --- Something I've seen, both with contributed Drupal modules and other open-source projects, over the past few years is they spend a lot of time in the 0.x versions or releasing alpha and beta versions rather than releasing a 1.0 or stable version. diff --git a/source/_daily_emails/2024-04-20.md b/source/_daily_emails/2024-04-20.md index 57b3bd2a..de620a97 100644 --- a/source/_daily_emails/2024-04-20.md +++ b/source/_daily_emails/2024-04-20.md @@ -3,12 +3,12 @@ title: Speaking at DrupalCamp Belgium date: 2024-04-20 permalink: daily/2024/04/20/speaking-at-drupalcamp-belgium tags: - - drupal - - drupalcamp - - public-speaking + - drupal + - drupalcamp + - public-speaking cta: ~ snippet: | - I'm happy to be speaking at DrupalCamp Belgium next month. + I'm happy to be speaking at DrupalCamp Belgium next month. --- I'm happy to be speaking at DrupalCamp Belgium next month, on the 10th and 11th of May in Ghent. diff --git a/source/_daily_emails/2024-04-21.md b/source/_daily_emails/2024-04-21.md index 92258f57..929e23a4 100644 --- a/source/_daily_emails/2024-04-21.md +++ b/source/_daily_emails/2024-04-21.md @@ -3,14 +3,14 @@ title: Almost at 100 talks and workshops date: 2024-04-21 permalink: daily/2024/04/21/almost-at-100-talks-and-workshops tags: - - software-development - - drupal - - drupalcamp - - php - - public-speaking + - software-development + - drupal + - drupalcamp + - php + - public-speaking cta: ~ snippet: | - I'm almost at 100 talks and presentations given! + I'm almost at 100 talks and presentations given! --- [My talks page][talks] on my website says I've presented 98 talks and workshops at different events since September 2012. diff --git a/source/_daily_emails/2024-04-22.md b/source/_daily_emails/2024-04-22.md index a7682a6f..02e25e4e 100644 --- a/source/_daily_emails/2024-04-22.md +++ b/source/_daily_emails/2024-04-22.md @@ -3,12 +3,12 @@ title: Building websites with PHP and Sculpin date: 2024-04-22 permalink: daily/2024/04/22/building-websites-with-php-and-sculpin tags: - - software-development - - php - - public-speaking + - software-development + - php + - public-speaking cta: ~ snippet: | - The video of my most recent talk at PHPSW has been released. + The video of my most recent talk at PHPSW has been released. --- diff --git a/source/_daily_emails/2024-04-23.md b/source/_daily_emails/2024-04-23.md index a236a71b..4c62fde9 100644 --- a/source/_daily_emails/2024-04-23.md +++ b/source/_daily_emails/2024-04-23.md @@ -3,12 +3,12 @@ title: Why use a static site generator date: 2024-04-23 permalink: daily/2024/04/23/why-use-a-static-site-generator tags: - - software-development - - php - - sculpin + - software-development + - php + - sculpin cta: ~ snippet: | - Why use a static site generator instead of a CMS? + Why use a static site generator instead of a CMS? --- [In February][yesterday], I spoke at the PHP South West meetup about Sculpin - a static site generator written in PHP. diff --git a/source/_daily_emails/2024-04-24.md b/source/_daily_emails/2024-04-24.md index 5ca0d850..2ce560b6 100644 --- a/source/_daily_emails/2024-04-24.md +++ b/source/_daily_emails/2024-04-24.md @@ -3,11 +3,11 @@ title: Testing topic branches in isolation date: 2024-04-24 permalink: daily/2024/04/26/testing-topic-branches-in-isolation tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Do you test topic branches in isolation? + Do you test topic branches in isolation? --- I was recently asked about setting up different testing environments based on topic (a.k.a. feature) branches. diff --git a/source/_daily_emails/2024-04-25.md b/source/_daily_emails/2024-04-25.md index 01ce9d75..79a05745 100644 --- a/source/_daily_emails/2024-04-25.md +++ b/source/_daily_emails/2024-04-25.md @@ -3,11 +3,11 @@ title: If everyone branches, no-one gets the updates date: 2024-04-25 permalink: daily/2024/04/25/if-everyone-branches-no-one-gets-updates tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - If everyone works on their own branch, no-one gets any changes. + If everyone works on their own branch, no-one gets any changes. --- A common response I get when debating topic branches is "I regularly pull `develop` or `main` and get the latest changes. diff --git a/source/_daily_emails/2024-04-26.md b/source/_daily_emails/2024-04-26.md index 702271e9..ed5aa945 100644 --- a/source/_daily_emails/2024-04-26.md +++ b/source/_daily_emails/2024-04-26.md @@ -3,11 +3,11 @@ title: Don't cherry-pick features from a branch to deploy date: 2024-04-26 permalink: daily/2024/04/26/don-t-cherry-pick-features-from-a-branch-to-deploy tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Don't cherry-pick features from a branch to deploy + Don't cherry-pick features from a branch to deploy --- I previously worked on a project where, after a code change had been reviewed and merged, it was pushed to a UAT environment for the client to test. diff --git a/source/_daily_emails/2024-04-27.md b/source/_daily_emails/2024-04-27.md index 6f160e46..4ff2051c 100644 --- a/source/_daily_emails/2024-04-27.md +++ b/source/_daily_emails/2024-04-27.md @@ -3,11 +3,11 @@ title: Can you make a test fail? date: 2024-04-27 permalink: daily/2024/04/27/can-you-make-a-test-fail tags: - - software-development - - automated-testing + - software-development + - automated-testing cta: ~ snippet: | - Can you make an automated test fail when you want? + Can you make an automated test fail when you want? --- Can you make an automated test fail when you want it to? diff --git a/source/_daily_emails/2024-04-28.md b/source/_daily_emails/2024-04-28.md index cb60b132..f6feb0f9 100644 --- a/source/_daily_emails/2024-04-28.md +++ b/source/_daily_emails/2024-04-28.md @@ -3,11 +3,11 @@ title: Replicating a bug with a test date: 2024-04-28 permalink: daily/2024/04/28/replicating-a-bug-with-a-test tags: - - software-development - - automated-testing + - software-development + - automated-testing cta: ~ snippet: | - When fixing a bug, do you try to replicate it with a test? + When fixing a bug, do you try to replicate it with a test? --- When fixing a bug, can you write a new failing test to replicate the bug? diff --git a/source/_daily_emails/2024-04-29.md b/source/_daily_emails/2024-04-29.md index cb54d705..d0657dfe 100644 --- a/source/_daily_emails/2024-04-29.md +++ b/source/_daily_emails/2024-04-29.md @@ -3,13 +3,13 @@ title: Some kind words date: 2024-04-29 permalink: daily/2024/04/29/some-kind-words tags: - - software-development - - drupal - - automated-testing - - test-driven-development + - software-development + - drupal + - automated-testing + - test-driven-development cta: atdc snippet: | - I recently received these kind words someone who recently completed my Drupal automated testing email course. + I recently received these kind words someone who recently completed my Drupal automated testing email course. --- I recently received these kind words from Frank Landry, who recently completed my [Drupal automated testing email course][course]: diff --git a/source/_daily_emails/2024-04-30.md b/source/_daily_emails/2024-04-30.md index 236dde08..9a521880 100644 --- a/source/_daily_emails/2024-04-30.md +++ b/source/_daily_emails/2024-04-30.md @@ -3,11 +3,11 @@ title: Stepping back into debugging date: 2024-04-30 permalink: daily/2024/04/30/stepping-back-into-debugging tags: - - software-development - - php + - software-development + - php cta: ~ snippet: | - This week, I've set up Xdebug on a new project to help with some complicated debugging. + This week, I've set up Xdebug on a new project to help with some complicated debugging. --- In PHP, we have functions like `var_dump()`, `dump()` and `dd()` that are used to debug code and print output to the screen. diff --git a/source/_daily_emails/2024-05-01.md b/source/_daily_emails/2024-05-01.md index 4718a274..1484931d 100644 --- a/source/_daily_emails/2024-05-01.md +++ b/source/_daily_emails/2024-05-01.md @@ -3,12 +3,12 @@ title: Broken pipeline? Fix or revert it. date: 2024-05-01 permalink: daily/2024/05/01/broken-pipeline-fix-or-revert-it tags: - - software-development - - continuous-integration - - trunk-based-development + - software-development + - continuous-integration + - trunk-based-development cta: ~ snippet: | - What do you do if someone's pushed a failing commit and broken the CI pipeline? + What do you do if someone's pushed a failing commit and broken the CI pipeline? --- If you're doing trunk-based development where multiple people are committing and pushing work to the same branch, what do you do if you've pushed a commit that fails the checks and breaks the pipeline? diff --git a/source/_daily_emails/2024-05-02.md b/source/_daily_emails/2024-05-02.md index bfd54363..d01a208a 100644 --- a/source/_daily_emails/2024-05-02.md +++ b/source/_daily_emails/2024-05-02.md @@ -3,12 +3,12 @@ title: Re-evaluating old tools date: 2024-05-02 permalink: daily/2024/05/02/re-evaluating-old-tools tags: - - software-development - - devops - - ansible + - software-development + - devops + - ansible cta: ~ snippet: | - Today, I gave Ansible a spin again after not using it for a while. + Today, I gave Ansible a spin again after not using it for a while. --- It's been a while since I used Ansible. diff --git a/source/_daily_emails/2024-05-03.md b/source/_daily_emails/2024-05-03.md index 21e25821..8614e3b8 100644 --- a/source/_daily_emails/2024-05-03.md +++ b/source/_daily_emails/2024-05-03.md @@ -3,12 +3,12 @@ title: Don't add boolean arguments date: 2024-05-03 permalink: daily/2024/05/03/dont-add-boolean-arguments tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: ~ snippet: | - Don't add boolean arguments to your methods. + Don't add boolean arguments to your methods. --- A convention I like from the Laravel framework is to avoid adding boolean arguments to methods. diff --git a/source/_daily_emails/2024-05-04.md b/source/_daily_emails/2024-05-04.md index 81fc8eea..678e3b38 100644 --- a/source/_daily_emails/2024-05-04.md +++ b/source/_daily_emails/2024-05-04.md @@ -3,11 +3,11 @@ title: Strict typing in PHP date: 2024-05-04 permalink: daily/2024/05/04/strict-typing-in-php tags: - - software-development - - php + - software-development + - php cta: ~ snippet: | - Do you enable strict types in your PHP code? + Do you enable strict types in your PHP code? --- I prefer writing and working with strictly typed code. diff --git a/source/_daily_emails/2024-05-05.md b/source/_daily_emails/2024-05-05.md index 5775dc57..8a273da9 100644 --- a/source/_daily_emails/2024-05-05.md +++ b/source/_daily_emails/2024-05-05.md @@ -3,12 +3,12 @@ title: Making PHPStan stricter date: 2024-05-05 permalink: daily/2024/05/05/making-phpstan-stricter tags: - - software-development - - php - - phpstan + - software-development + - php + - phpstan cta: ~ snippet: | - As well as PHP, you can make PHPStan stricter. + As well as PHP, you can make PHPStan stricter. --- Continuing yesterday's thought on [strictness in PHP][yesterday], today I want to talk about adding more strictness to PHPStan. diff --git a/source/_daily_emails/2024-05-06.md b/source/_daily_emails/2024-05-06.md index beeeb0a7..33ae26ed 100644 --- a/source/_daily_emails/2024-05-06.md +++ b/source/_daily_emails/2024-05-06.md @@ -3,11 +3,11 @@ title: Interactive staging date: 2024-05-06 permalink: daily/2024/05/06/interactive-staging tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - TODO + TODO --- A major addition to my Git workflow has been the ability to interactively add hunks of code to be committed. @@ -26,14 +26,14 @@ index 42fe48f..ef36a2b 100644 @@ -4,10 +4,12 @@ date: 2024-05-06 permalink: daily/2024/05/06/interactive-staging tags: - - software-development + - software-development - # - drupal - # - php - # - podcast + - git cta: ~ snippet: | - TODO + TODO --- + +A major addition to my Git workflow has been the ability to interactively add hunks of code to be committed. diff --git a/source/_daily_emails/2024-05-07.md b/source/_daily_emails/2024-05-07.md index 97a615c4..4c03201c 100644 --- a/source/_daily_emails/2024-05-07.md +++ b/source/_daily_emails/2024-05-07.md @@ -3,12 +3,12 @@ title: Drupal 7.100.2 date: 2024-05-07 permalink: daily/2024/05/07/drupal-7-100-2 tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - We made it to Drupal 7.100! + We made it to Drupal 7.100! --- In [April 2023][post], I wondered if we'd see a 7.100 release of Drupal. diff --git a/source/_daily_emails/2024-05-08.md b/source/_daily_emails/2024-05-08.md index 385d8f36..785bd0fa 100644 --- a/source/_daily_emails/2024-05-08.md +++ b/source/_daily_emails/2024-05-08.md @@ -3,13 +3,13 @@ title: Assertions aren't just for tests date: 2024-05-08 permalink: daily/2024/05/08/assertions-arent-just-for-tests tags: - - software-development - - drupal - - php - - automated-testing + - software-development + - drupal + - php + - automated-testing cta: ~ snippet: | - `assert()` isn't just for automated tests. + `assert()` isn't just for automated tests. --- If you've written or seen automated tests in PHP, you'll have seen lines like this: diff --git a/source/_daily_emails/2024-05-09.md b/source/_daily_emails/2024-05-09.md index 7a9cbc0d..4a6911d7 100644 --- a/source/_daily_emails/2024-05-09.md +++ b/source/_daily_emails/2024-05-09.md @@ -3,10 +3,10 @@ title: Do you have a deadline? date: 2024-05-09 permalink: daily/2024/05/09/do-you-have-a-deadline tags: - - software-development + - software-development cta: ~ snippet: | - Do you have a deadline or a goal? + Do you have a deadline or a goal? --- Does your task or project have a deadline for completion? diff --git a/source/_daily_emails/2024-05-10.md b/source/_daily_emails/2024-05-10.md index ede06b28..69c18593 100644 --- a/source/_daily_emails/2024-05-10.md +++ b/source/_daily_emails/2024-05-10.md @@ -3,11 +3,11 @@ title: Optimise for revertability date: 2024-05-10 permalink: daily/2024/05/10/optimise-for-revertability tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - If you needed to revert a commit in a codebase, could you do so easily? + If you needed to revert a commit in a codebase, could you do so easily? --- There are two things I avoid when merging changes in Git. diff --git a/source/_daily_emails/2024-05-11.md b/source/_daily_emails/2024-05-11.md index c7027947..d90e0f34 100644 --- a/source/_daily_emails/2024-05-11.md +++ b/source/_daily_emails/2024-05-11.md @@ -3,11 +3,11 @@ title: Don't delete my commit messages date: 2024-05-11 permalink: daily/2024/05/11/don-t-delete-my-commit-messages tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Please don't squash my commits and delete my commit messages. + Please don't squash my commits and delete my commit messages. --- Another reason I don't like squashing commits within pull/merge request is losing detail within the commit messages. diff --git a/source/_daily_emails/2024-05-12.md b/source/_daily_emails/2024-05-12.md index b8530783..29384488 100644 --- a/source/_daily_emails/2024-05-12.md +++ b/source/_daily_emails/2024-05-12.md @@ -3,11 +3,11 @@ title: Merging without merge commits date: 2024-05-12 permalink: daily/2024/05/12/merging-without-merge-commits tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - How to do Git merges without merge commits. + How to do Git merges without merge commits. --- Since I posted about [optimising for revertability][1], I've received a few questions about how I avoid merge commits when working with Git. diff --git a/source/_daily_emails/2024-05-13.md b/source/_daily_emails/2024-05-13.md index 068fd837..69469c0c 100644 --- a/source/_daily_emails/2024-05-13.md +++ b/source/_daily_emails/2024-05-13.md @@ -3,13 +3,13 @@ title: DrupalCamp Ghent date: 2024-05-13 permalink: daily/2024/05/13/drupalcamp-ghent tags: - - software-development - - drupal - - php - - drupalcamp + - software-development + - drupal + - php + - drupalcamp cta: ~ snippet: | - Last week, I attended and spoke at DrupalCamp Ghent in Belgium. + Last week, I attended and spoke at DrupalCamp Ghent in Belgium. --- Last Friday and Saturday, I was happy to attend and present two sessions at DrupalCamp Ghent in Belgium. diff --git a/source/_daily_emails/2024-05-14.md b/source/_daily_emails/2024-05-14.md index 63c8a500..201b16a2 100644 --- a/source/_daily_emails/2024-05-14.md +++ b/source/_daily_emails/2024-05-14.md @@ -3,11 +3,11 @@ title: Free code reviews date: 2024-05-14 permalink: daily/2024/05/14/free-code-reviews tags: - - software-development - - open-source + - software-development + - open-source cta: ~ snippet: | - Do you want free code reviews? What about contributing to open-source? + Do you want free code reviews? What about contributing to open-source? --- Do you want to contribute to open-source software, such as Drupal core or one of the thousands of modules or themes? diff --git a/source/_daily_emails/2024-05-15.md b/source/_daily_emails/2024-05-15.md index f3526564..045e1ac6 100644 --- a/source/_daily_emails/2024-05-15.md +++ b/source/_daily_emails/2024-05-15.md @@ -3,11 +3,11 @@ title: Should you include issue IDs in your commit messages? date: 2024-05-15 permalink: daily/2024/05/15/should-you-include-issue-ids-in-your-commit-messages tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Do you include issue or ticket IDs in your commit messages? + Do you include issue or ticket IDs in your commit messages? --- It's shown in the examples of the [conventional commits specification][1] as part of the optional footer data. diff --git a/source/_daily_emails/2024-05-16.md b/source/_daily_emails/2024-05-16.md index 3379e287..9ae60385 100644 --- a/source/_daily_emails/2024-05-16.md +++ b/source/_daily_emails/2024-05-16.md @@ -3,14 +3,14 @@ title: The first test is the hardest date: 2024-05-16 permalink: daily/2024/05/16/the-first-test-is-the-hardest tags: - - software-development - - drupal - - php - - automated-testing - - test-driven-development + - software-development + - drupal + - php + - automated-testing + - test-driven-development cta: ~ snippet: | - Getting the first automated test working is the hardest part. + Getting the first automated test working is the hardest part. --- Whether you're writing tests before the implementation code or not, the first test is always the hardest to write. diff --git a/source/_daily_emails/2024-05-17.md b/source/_daily_emails/2024-05-17.md index d64afec2..2642111a 100644 --- a/source/_daily_emails/2024-05-17.md +++ b/source/_daily_emails/2024-05-17.md @@ -3,11 +3,11 @@ title: Why I don't commit with -m date: 2024-05-17 permalink: daily/2024/05/17/why-i-dont-commit-with--m tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Why I don't use `git commit -m` when committing changes. + Why I don't use `git commit -m` when committing changes. --- A lot of tutorials show using `git commit -m` to create commits using an inline message. diff --git a/source/_daily_emails/2024-05-18.md b/source/_daily_emails/2024-05-18.md index 97b4ed38..b1f79c11 100644 --- a/source/_daily_emails/2024-05-18.md +++ b/source/_daily_emails/2024-05-18.md @@ -3,11 +3,11 @@ title: Should you strictly enforce the 50/72 rule? date: 2024-05-18 permalink: daily/2024/05/18/should-you-strictly-enforce-the-5072-rule tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Should you strictly enforce the 50/72 rule in your commit messages? + Should you strictly enforce the 50/72 rule in your commit messages? --- [Yesterday], I mentioned the 50/72 rule when writing Git commit messages. diff --git a/source/_daily_emails/2024-05-19.md b/source/_daily_emails/2024-05-19.md index d7d93004..196ede39 100644 --- a/source/_daily_emails/2024-05-19.md +++ b/source/_daily_emails/2024-05-19.md @@ -3,11 +3,11 @@ title: Better commit messages means better pull requests date: 2024-05-19 permalink: daily/2024/05/19/better-commit-messages-better-pull-requests tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - If you write better commit messages, you'll get better pull requests. + If you write better commit messages, you'll get better pull requests. --- If you're working on a team or project that uses pull or merge requests, then [writing commit messages with detailed descriptions][0] using the message body and not just the subject line, will result in better pull requests. diff --git a/source/_daily_emails/2024-05-20.md b/source/_daily_emails/2024-05-20.md index 69ac9113..7bedd666 100644 --- a/source/_daily_emails/2024-05-20.md +++ b/source/_daily_emails/2024-05-20.md @@ -3,11 +3,11 @@ title: Referencing other commits in commit messages date: 2024-05-20 permalink: daily/2024/05/20/referencing-other-commits-in-commit-messages tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Have you tried referencing other commits when writing a commit message? + Have you tried referencing other commits when writing a commit message? --- Last week, I asked [whether you should include issue IDs in commit messages][0]. diff --git a/source/_daily_emails/2024-05-21.md b/source/_daily_emails/2024-05-21.md index 8557dd56..57c52242 100644 --- a/source/_daily_emails/2024-05-21.md +++ b/source/_daily_emails/2024-05-21.md @@ -3,11 +3,11 @@ title: Which commit has the largest message? date: 2024-05-21 permalink: daily/2024/05/21/which-commit-has-the-largest-message tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Which commit in your Git repository has the largest commit message? + Which commit in your Git repository has the largest commit message? --- [I write and advocate for others to write][0] detailed Git commit messages within the subject body to provide context and information about why the commit was needed, what other options were considered, any consequences or knock-on effects there could be, or even code snippets or pseudo code. diff --git a/source/_daily_emails/2024-05-22.md b/source/_daily_emails/2024-05-22.md index 380dd4b2..d12a5147 100644 --- a/source/_daily_emails/2024-05-22.md +++ b/source/_daily_emails/2024-05-22.md @@ -3,11 +3,11 @@ title: '`git revert` is your friend' date: 2024-05-22 permalink: daily/2024/05/22/git-revert-is-your-friend tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - `git revert` is your friend. + `git revert` is your friend. --- Imagine you've made a commit and want to undo it, or a particular commit is causing issues in production and you want to roll it back. diff --git a/source/_daily_emails/2024-05-23.md b/source/_daily_emails/2024-05-23.md index b64ccbaa..1843708b 100644 --- a/source/_daily_emails/2024-05-23.md +++ b/source/_daily_emails/2024-05-23.md @@ -3,13 +3,13 @@ title: Why I use long parameter names in scripts date: 2024-05-23 permalink: daily/2024/05/23/why-i-use-long-parameter-names-in-scripts tags: - - software-development - - bash - - zsh - - linux + - software-development + - bash + - zsh + - linux cta: ~ snippet: | - Why I use long parameter names in scripts, such as `--force` instead of `-f`. + Why I use long parameter names in scripts, such as `--force` instead of `-f`. --- The other day, [I posted about a script I'd written][0] that found the longest commit message in a repository. diff --git a/source/_daily_emails/2024-05-24.md b/source/_daily_emails/2024-05-24.md index 0646043c..a2581cdb 100644 --- a/source/_daily_emails/2024-05-24.md +++ b/source/_daily_emails/2024-05-24.md @@ -3,11 +3,11 @@ title: Don't put HTML in your body field date: 2024-05-24 permalink: daily/2024/05/24/dont-put-html-in-your-body-field tags: - - software-development - - drupal + - software-development + - drupal cta: d7eol snippet: | - Do you put raw HTML code in your rich-text fields? + Do you put raw HTML code in your rich-text fields? --- I often see Drupal projects where people have put raw HTML code into their body or other rich-text fields. diff --git a/source/_daily_emails/2024-05-25.md b/source/_daily_emails/2024-05-25.md index f80e73d0..f2723d22 100644 --- a/source/_daily_emails/2024-05-25.md +++ b/source/_daily_emails/2024-05-25.md @@ -3,12 +3,12 @@ title: Testing is a reusable skill date: 2024-05-25 permalink: daily/2024/05/25/testing-is-a-reusable-skill tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development cta: testing_course snippet: | - Writing automated tests is a reusable skill. + Writing automated tests is a reusable skill. --- I like skills and technologies that I can re-use. diff --git a/source/_daily_emails/2024-05-26.md b/source/_daily_emails/2024-05-26.md index 643da7ec..b24eeaed 100644 --- a/source/_daily_emails/2024-05-26.md +++ b/source/_daily_emails/2024-05-26.md @@ -3,11 +3,11 @@ title: Is it time to stop writing Sass? date: 2024-05-26 permalink: daily/2024/05/26/is-it-time-to-stop-writing-sass tags: - - software-development - - css + - software-development + - css cta: ~ snippet: | - Is it time to stop writing stylesheets is Sass? + Is it time to stop writing stylesheets is Sass? --- I've seen a lot of recent posts that ask questions like "Is it time to stop writing Sass?". diff --git a/source/_daily_emails/2024-05-27.md b/source/_daily_emails/2024-05-27.md index 971095f7..b03c7d2c 100644 --- a/source/_daily_emails/2024-05-27.md +++ b/source/_daily_emails/2024-05-27.md @@ -3,11 +3,11 @@ title: Why do you still write Sass? date: 2024-05-27 permalink: daily/2024/05/27/why-do-you-still-write-sass tags: - - software-development - - css + - software-development + - css cta: ~ snippet: | - If you still write Sass, why do you do it? + If you still write Sass, why do you do it? --- Yesterday, I asked [if it's time to stop writing Sass][0]. diff --git a/source/_daily_emails/2024-05-28.md b/source/_daily_emails/2024-05-28.md index d372d6ca..023154dd 100644 --- a/source/_daily_emails/2024-05-28.md +++ b/source/_daily_emails/2024-05-28.md @@ -3,10 +3,10 @@ title: Why is everyone moving to SQLite? date: 2024-05-28 permalink: daily/2024/05/28/why-is-everyone-moving-to-sqlite tags: - - software-development + - software-development cta: d7eol snippet: | - Why is everyone moving to SQLite? + Why is everyone moving to SQLite? --- I've noticed a lot of Developers recently adopting SQLite for their database and I wonder why this is. diff --git a/source/_daily_emails/2024-05-29.md b/source/_daily_emails/2024-05-29.md index c5e075d7..16e10af2 100644 --- a/source/_daily_emails/2024-05-29.md +++ b/source/_daily_emails/2024-05-29.md @@ -3,10 +3,10 @@ title: Make it easy date: 2024-05-29 permalink: daily/2024/05/29/make-it-easy tags: - - software-development + - software-development cta: d7eol snippet: | - What can you do to make your current task easier to achieve? + What can you do to make your current task easier to achieve? --- What can you do to make your current task easier to achieve? diff --git a/source/_daily_emails/2024-05-30.md b/source/_daily_emails/2024-05-30.md index c86f74e1..3d48e4e5 100644 --- a/source/_daily_emails/2024-05-30.md +++ b/source/_daily_emails/2024-05-30.md @@ -3,10 +3,10 @@ title: Ask questions date: 2024-05-30 permalink: daily/2024/05/30/ask-questions tags: - - software-development + - software-development cta: ~ snippet: | - Don't ask only technical questions. + Don't ask only technical questions. --- As a Software Developer, it's common to hear that you need to ask questions to progress or work efficiently. diff --git a/source/_daily_emails/2024-05-31.md b/source/_daily_emails/2024-05-31.md index a00f9d59..dcd68e3e 100644 --- a/source/_daily_emails/2024-05-31.md +++ b/source/_daily_emails/2024-05-31.md @@ -3,10 +3,10 @@ title: Putting glue on pizza date: 2024-05-31 permalink: daily/2024/05/31/putting-glue-on-pizza tags: - - software-development + - software-development cta: ~ snippet: | - Do you use AI-based tools in your development workflow? + Do you use AI-based tools in your development workflow? --- I recently saw articles and videos about an AI service telling people to put glue on pizza and gave a recommended number of rocks to eat every day. diff --git a/source/_daily_emails/2024-06-01.md b/source/_daily_emails/2024-06-01.md index ba1d094a..fbf22ccc 100644 --- a/source/_daily_emails/2024-06-01.md +++ b/source/_daily_emails/2024-06-01.md @@ -3,11 +3,11 @@ title: Don't use AI to write your automated tests date: 2024-06-01 permalink: daily/2024/06/01/dont-use-ai-to-write-your-automated-tests tags: - - software-development - - automated-testing + - software-development + - automated-testing cta: testing_course snippet: | - Do you rely on AI tools to write your automated tests? + Do you rely on AI tools to write your automated tests? --- In [yesterday's email][0], I mentioned some of the recent issues I've seen from AI tools. diff --git a/source/_daily_emails/2024-06-02.md b/source/_daily_emails/2024-06-02.md index 39a5b9a4..5bcbcebf 100644 --- a/source/_daily_emails/2024-06-02.md +++ b/source/_daily_emails/2024-06-02.md @@ -3,12 +3,12 @@ title: Only seven months left of Drupal 7 support date: 2024-06-02 permalink: daily/2024/06/02/only-seven-months-left-of-drupal-7-support tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - Are you still on Drupal 7? There are only seven months left of support and updates remaining! + Are you still on Drupal 7? There are only seven months left of support and updates remaining! --- It's June, so there's only seven months left of security updates for Drupal 7. diff --git a/source/_daily_emails/2024-06-03.md b/source/_daily_emails/2024-06-03.md index 498878c5..a67905f2 100644 --- a/source/_daily_emails/2024-06-03.md +++ b/source/_daily_emails/2024-06-03.md @@ -3,10 +3,10 @@ title: Writing comments first date: 2024-06-03 permalink: daily/2024/06/03/writing-comments-first tags: - - software-development + - software-development cta: d7eol snippet: | - Why I usually start by writing my code comments before my code. + Why I usually start by writing my code comments before my code. --- Something I often do before writing new code is to write out what it needs to do, either in a README file or as code comments. diff --git a/source/_daily_emails/2024-06-04.md b/source/_daily_emails/2024-06-04.md index 39303887..c3de89f1 100644 --- a/source/_daily_emails/2024-06-04.md +++ b/source/_daily_emails/2024-06-04.md @@ -3,10 +3,10 @@ title: Is the abstraction worth it? date: 2024-06-04 permalink: daily/2024/06/04/is-the-abstraction-worth-it tags: - - software-development + - software-development cta: ~ snippet: | - Is adding an abstraction within your code beneficial? + Is adding an abstraction within your code beneficial? --- I'm currently working on a project, building the initial components and pages in Fractal - a component library tool. diff --git a/source/_daily_emails/2024-06-05.md b/source/_daily_emails/2024-06-05.md index f707306b..1b27ff01 100644 --- a/source/_daily_emails/2024-06-05.md +++ b/source/_daily_emails/2024-06-05.md @@ -3,12 +3,12 @@ title: Writing assertions first date: 2024-06-05 permalink: daily/2024/06/05/writing-assertions-first tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development cta: testing_course snippet: | - Sometimes, I write my test assertions first. + Sometimes, I write my test assertions first. --- As well as [writing comments first][0], when writing tests, I sometimes like to write my tests backwards and start by writing the assertions first. diff --git a/source/_daily_emails/2024-06-06.md b/source/_daily_emails/2024-06-06.md index d8dcbc53..cb8a1caf 100644 --- a/source/_daily_emails/2024-06-06.md +++ b/source/_daily_emails/2024-06-06.md @@ -3,12 +3,12 @@ title: End the day with a failing test date: 2024-06-06 permalink: daily/2024/06/06/end-the-day-with-a-failing-test tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development cta: testing_course snippet: | - Do you know what to start working on tomorrow? Finish the day with a failing test. + Do you know what to start working on tomorrow? Finish the day with a failing test. --- Are you unsure what task to start with tomorrow? diff --git a/source/_daily_emails/2024-06-07.md b/source/_daily_emails/2024-06-07.md index 6c9c865f..4ffd01be 100644 --- a/source/_daily_emails/2024-06-07.md +++ b/source/_daily_emails/2024-06-07.md @@ -3,11 +3,11 @@ title: Not invented here date: 2024-06-07 permalink: daily/2024/06/07/not-invented-here tags: - - software-development - - drupal + - software-development + - drupal cta: d7eol snippet: | - Drupal used to suffer from a case of "not invented here". + Drupal used to suffer from a case of "not invented here". --- Drupal used to suffer from a case of "not invented here" syndrome. diff --git a/source/_daily_emails/2024-06-08.md b/source/_daily_emails/2024-06-08.md index a378be22..45c8c3ff 100644 --- a/source/_daily_emails/2024-06-08.md +++ b/source/_daily_emails/2024-06-08.md @@ -3,11 +3,11 @@ title: Drupal is older than... date: 2024-06-08 permalink: daily/2024/06/08/drupal-is-older-than tags: - - software-development - - drupal + - software-development + - drupal cta: d7eol snippet: | - Drupal is older than... + Drupal is older than... --- Whilst writing [yesterday's email][yesterday] about "not invented here", I started thinking about how Drupal's timeline (which was created 23 years ago) compares to some of the other similar or related projects. diff --git a/source/_daily_emails/2024-06-09.md b/source/_daily_emails/2024-06-09.md index 7b334bc3..591495fe 100644 --- a/source/_daily_emails/2024-06-09.md +++ b/source/_daily_emails/2024-06-09.md @@ -3,11 +3,11 @@ title: Proudly found elsewhere date: 2024-06-09 permalink: daily/2024/06/09/proudly-found-elsewhere tags: - - software-development - - drupal + - software-development + - drupal cta: ~ snippet: | - Drupal got off the island. + Drupal got off the island. --- A few days ago, I wrote about [where Drupal used to be][0], and some of the things that Drupal predates - such as Git, GitHub and Composer. diff --git a/source/_daily_emails/2024-06-10.md b/source/_daily_emails/2024-06-10.md index bfea3ee4..9394afcf 100644 --- a/source/_daily_emails/2024-06-10.md +++ b/source/_daily_emails/2024-06-10.md @@ -3,13 +3,13 @@ title: Online Drupal mob contribution sessions date: 2024-06-10 permalink: daily/2024/06/10/online-drupal-mob-contribution-sessions tags: - - software-development - - drupal - - php - - open-source + - software-development + - drupal + - php + - open-source cta: ~ snippet: | - Would you join an online group Drupal contribution session? + Would you join an online group Drupal contribution session? --- I enjoy and advocate for pair and mob programming, and the benefits they offer when working in a team - sharing knowledge whilst onboarding and upskilling the team members, whilst also getting continuous real-time feedback and review of the code that's being written. diff --git a/source/_daily_emails/2024-06-11.md b/source/_daily_emails/2024-06-11.md index 3792f766..382437e3 100644 --- a/source/_daily_emails/2024-06-11.md +++ b/source/_daily_emails/2024-06-11.md @@ -3,11 +3,11 @@ title: Do you separate your logic? date: 2024-06-11 permalink: daily/2024/06/11/do-you-separate-your-logic tags: - - software-development - - clean-code + - software-development + - clean-code cta: ~ snippet: | - Do you separate your logic into different categories? + Do you separate your logic into different categories? --- I recently watched [a video about separating logic][0] into different categories within your custom code. diff --git a/source/_daily_emails/2024-06-12.md b/source/_daily_emails/2024-06-12.md index 73059ba3..36e2e292 100644 --- a/source/_daily_emails/2024-06-12.md +++ b/source/_daily_emails/2024-06-12.md @@ -3,10 +3,10 @@ title: Recording architectural decisions date: 2024-06-12 permalink: daily/2024/06/12/recording-architectural-decisions tags: - - software-development + - software-development cta: ~ snippet: | - Do you record architectural and technological decisions made on your projects? + Do you record architectural and technological decisions made on your projects? --- I recently [saw this post on X][0], talking about an open-source project. diff --git a/source/_daily_emails/2024-06-13.md b/source/_daily_emails/2024-06-13.md index 12693b98..709b5ac9 100644 --- a/source/_daily_emails/2024-06-13.md +++ b/source/_daily_emails/2024-06-13.md @@ -3,12 +3,12 @@ title: Vetting third-party open-source software date: 2024-06-13 permalink: daily/2024/06/13/vetting-third-party-open-source-software tags: - - software-development - - drupal - - open-source + - software-development + - drupal + - open-source cta: ~ snippet: | - How do you vet open-source software you're thinking of adding to your project? + How do you vet open-source software you're thinking of adding to your project? --- Open-source software, such as Drupal modules and themes, PHP libraries and Tailwind CSS plugins, is great. diff --git a/source/_daily_emails/2024-06-14.md b/source/_daily_emails/2024-06-14.md index 407e24a7..bcad49db 100644 --- a/source/_daily_emails/2024-06-14.md +++ b/source/_daily_emails/2024-06-14.md @@ -3,11 +3,11 @@ title: Dead or done date: 2024-06-14 permalink: daily/2024/06/14/dead-or-done tags: - - software-development - - open-source + - software-development + - open-source cta: ~ snippet: | - How do you know if a project is dead or feature complete? + How do you know if a project is dead or feature complete? --- Yesterday, I wrote about [some things I look for when evaluating open-source projects][0]. diff --git a/source/_daily_emails/2024-06-15.md b/source/_daily_emails/2024-06-15.md index 00059c67..0af025df 100644 --- a/source/_daily_emails/2024-06-15.md +++ b/source/_daily_emails/2024-06-15.md @@ -3,13 +3,13 @@ title: Is the code extensible? date: 2024-06-15 permalink: daily/2024/06/15/is-the-code-extensible tags: - - software-development - # - drupal - # - php - # - podcast + - software-development + # - drupal + # - php + # - podcast cta: ~ snippet: | - How easy it is to configure or extend the code? + How easy it is to configure or extend the code? --- Rarely you're going to find a module that does exactly what you need out of the box. diff --git a/source/_daily_emails/2024-06-16.md b/source/_daily_emails/2024-06-16.md index 233b446f..efe2e3f3 100644 --- a/source/_daily_emails/2024-06-16.md +++ b/source/_daily_emails/2024-06-16.md @@ -3,10 +3,10 @@ title: Bug free guarantee date: 2024-06-16 permalink: daily/2024/06/16/bug-free-guarantee tags: - - software-development + - software-development cta: ~ snippet: | - What is a bug-free guarantee? + What is a bug-free guarantee? --- [All of my software development proposals and services][0] include a bug-free guarantee. diff --git a/source/_daily_emails/2024-06-17.md b/source/_daily_emails/2024-06-17.md index 72e08dda..e683dd34 100644 --- a/source/_daily_emails/2024-06-17.md +++ b/source/_daily_emails/2024-06-17.md @@ -3,12 +3,12 @@ title: Do you still need TypeScript? date: 2024-06-17 permalink: daily/2024/06/17/do-you-still-need-typescript tags: - - software-development - - typescript - - javascript + - software-development + - typescript + - javascript cta: ~ snippet: | - Do you still need TypeScript? + Do you still need TypeScript? --- There have been many discussions and videos recently asking if people still need to use TypeScript. diff --git a/source/_daily_emails/2024-06-18.md b/source/_daily_emails/2024-06-18.md index 8db3c60c..56cad4b1 100644 --- a/source/_daily_emails/2024-06-18.md +++ b/source/_daily_emails/2024-06-18.md @@ -3,15 +3,15 @@ title: Re-learning Behat date: 2024-06-18 permalink: daily/2024/06/18/re-learning-behat tags: - - software-development - - drupal - - php - - automated-testing - - test-driven-development - - behat + - software-development + - drupal + - php + - automated-testing + - test-driven-development + - behat cta: ~ snippet: | - A few months ago, I started re-learning Behat whilst live streaming. + A few months ago, I started re-learning Behat whilst live streaming. --- A few months ago, I started doing some [live coding sessions on YouTube][0] again. diff --git a/source/_daily_emails/2024-06-19.md b/source/_daily_emails/2024-06-19.md index 6d185651..84fa1b53 100644 --- a/source/_daily_emails/2024-06-19.md +++ b/source/_daily_emails/2024-06-19.md @@ -3,11 +3,11 @@ title: Today I learned date: 2024-06-19 permalink: daily/2024/06/19/today-i-learned tags: - - software-development - - drupal + - software-development + - drupal cta: ~ snippet: | - TIL + TIL --- As a continuous learner, I always try to learn and incorporate new things into my development workflow. diff --git a/source/_daily_emails/2024-06-20.md b/source/_daily_emails/2024-06-20.md index cb405e07..5229128e 100644 --- a/source/_daily_emails/2024-06-20.md +++ b/source/_daily_emails/2024-06-20.md @@ -3,10 +3,10 @@ title: Proof of concept date: 2024-06-20 permalink: daily/2024/06/20/proof-of-concept tags: - - software-development + - software-development cta: ~ snippet: | - How can you prove a concept? + How can you prove a concept? --- How do you validate an idea from a client or stakeholder? diff --git a/source/_daily_emails/2024-06-21.md b/source/_daily_emails/2024-06-21.md index 12bfa64e..79d49e6b 100644 --- a/source/_daily_emails/2024-06-21.md +++ b/source/_daily_emails/2024-06-21.md @@ -3,12 +3,12 @@ title: Don't use aliases date: 2024-06-21 permalink: daily/2024/06/21/dont-use-aliases tags: - - software-development - - git - - zsh + - software-development + - git + - zsh cta: ~ snippet: | - If you're giving a presentation or mob programming, avoid using custom aliases. + If you're giving a presentation or mob programming, avoid using custom aliases. --- Shell aliases are a good way to increase productivity by shortening long commands, adding additional options to existing ones or creating new ones that even combine multiple commands. diff --git a/source/_daily_emails/2024-06-22.md b/source/_daily_emails/2024-06-22.md index 76ab041d..e7897b66 100644 --- a/source/_daily_emails/2024-06-22.md +++ b/source/_daily_emails/2024-06-22.md @@ -3,11 +3,11 @@ title: Aliases and abbreviations date: 2024-06-22 permalink: daily/2024/06/22/aliases-and-abbreviations tags: - - software-development - - zsh + - software-development + - zsh cta: ~ snippet: | - Aliases and abbreviations + Aliases and abbreviations --- Yesterday, I said [not to use custom shell aliases and functions][0] during presentations and group programming sessions to avoid confusion. diff --git a/source/_daily_emails/2024-06-23.md b/source/_daily_emails/2024-06-23.md index d63de05f..859ad42e 100644 --- a/source/_daily_emails/2024-06-23.md +++ b/source/_daily_emails/2024-06-23.md @@ -3,13 +3,13 @@ title: Drupal 10.3 released date: 2024-06-23 permalink: daily/2024/06/23/drupal-10-3-released tags: - - software-development - - drupal - - php - # - podcast + - software-development + - drupal + - php + # - podcast cta: ~ snippet: | - Drupal 10.3 released + Drupal 10.3 released --- Last week, Drupal 10.3 was released. diff --git a/source/_daily_emails/2024-06-29.md b/source/_daily_emails/2024-06-29.md index eacf5590..d8b9d6f1 100644 --- a/source/_daily_emails/2024-06-29.md +++ b/source/_daily_emails/2024-06-29.md @@ -3,11 +3,11 @@ title: Countdown to Drupal 11 date: 2024-06-29 permalink: daily/2024/06/29/countdown-to-drupal-11 tags: - - software-development - - drupal + - software-development + - drupal cta: ~ snippet: | - Drupal 10.3 has been released, and Drupal 11 isn't far behind. + Drupal 10.3 has been released, and Drupal 11 isn't far behind. --- [With Drupal 10.3 released][0], Drupal 11 will be the next major version. diff --git a/source/_daily_emails/2024-06-30.md b/source/_daily_emails/2024-06-30.md index 5bb99c54..60fdb287 100644 --- a/source/_daily_emails/2024-06-30.md +++ b/source/_daily_emails/2024-06-30.md @@ -3,10 +3,10 @@ title: Bootcamps, communities and first Developer jobs date: 2024-06-30 permalink: daily/2024/06/30/bootcamps--communities-and-first-developer-jobs tags: - - software-development + - software-development cta: ~ snippet: | - This week is a new School of Code cohort, and I'm excited to be mentoring again. + This week is a new School of Code cohort, and I'm excited to be mentoring again. --- Tomorrow is the first day of cohort 17 of School of Code - a free 16-week software development bootcamp - and I'm happy to be mentoring a student again for my third time. diff --git a/source/_daily_emails/2024-07-01.md b/source/_daily_emails/2024-07-01.md index 9dbfc031..03ab9ef2 100644 --- a/source/_daily_emails/2024-07-01.md +++ b/source/_daily_emails/2024-07-01.md @@ -3,13 +3,13 @@ title: A new version of Drupal is only a command away date: 2024-07-01 permalink: daily/2024/07/01/a-new-version-of-drupal-is-only-a-command-away tags: - - software-development - - drupal - - php - - composer + - software-development + - drupal + - php + - composer cta: ~ snippet: | - A new version of Drupal is only a single command away. + A new version of Drupal is only a single command away. --- Now [Drupal 10.3 has been released][0], and [websites need to be updated to 10.3 before Drupal 11][1], it's time to start updating your Drupal 10 websites. diff --git a/source/_daily_emails/2024-07-02.md b/source/_daily_emails/2024-07-02.md index 6e44d5b2..3f45ba91 100644 --- a/source/_daily_emails/2024-07-02.md +++ b/source/_daily_emails/2024-07-02.md @@ -3,11 +3,11 @@ title: CI !== CI Pipeline date: 2024-07-02 permalink: daily/2024/07/02/ci-not-ci-pipeline tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Continuous integration is not the same as a CI pipeline. + Continuous integration is not the same as a CI pipeline. --- Yesterday I replied to [a post on X](https://x.com/ianmiell/status/1304103008242991111): diff --git a/source/_daily_emails/2024-07-03.md b/source/_daily_emails/2024-07-03.md index 42a4f453..a38994d3 100644 --- a/source/_daily_emails/2024-07-03.md +++ b/source/_daily_emails/2024-07-03.md @@ -3,11 +3,11 @@ title: Committing CI artifacts date: 2024-07-03 permalink: daily/2024/07/03/committing-ci-artifacts tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Do you commit artifacts from your CI pipeline? + Do you commit artifacts from your CI pipeline? --- One of the main uses for [a CI pipeline][0] is to build artifacts for your application, such as installing your dependencies using Composer or npm, or using build tools to perform tasks such as building your CSS and JavaScript assets. diff --git a/source/_daily_emails/2024-07-07.md b/source/_daily_emails/2024-07-07.md index 6de8ad3e..e014a853 100644 --- a/source/_daily_emails/2024-07-07.md +++ b/source/_daily_emails/2024-07-07.md @@ -3,11 +3,11 @@ title: Running automated checks in a CI pipeline date: 2024-07-07 permalink: daily/2024/07/07/running-automated-checks-in-a-ci-pipeline tags: - - software-development - - automated-testing + - software-development + - automated-testing cta: ~ snippet: | - What checks do you run in your CI pipeline? + What checks do you run in your CI pipeline? --- As well as [committing build artifacts][0], another common use for CI pipelines is for running automated checks. diff --git a/source/_daily_emails/2024-07-08.md b/source/_daily_emails/2024-07-08.md index 4a264cac..851af57f 100644 --- a/source/_daily_emails/2024-07-08.md +++ b/source/_daily_emails/2024-07-08.md @@ -3,12 +3,12 @@ title: Back to Sass and traditional CSS date: 2024-07-08 permalink: daily/2024/07/08/back-to-sass-and-traditional-css tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css cta: ~ snippet: | - I'm currently working on a project without atomic CSS styles. + I'm currently working on a project without atomic CSS styles. --- I'm currently working on a project that doesn't use any atomic or utility-first CSS. diff --git a/source/_daily_emails/2024-07-09.md b/source/_daily_emails/2024-07-09.md index 417f708c..38504ea9 100644 --- a/source/_daily_emails/2024-07-09.md +++ b/source/_daily_emails/2024-07-09.md @@ -3,13 +3,13 @@ title: You can do utility-first CSS with Sass date: 2024-07-09 permalink: daily/2024/07/09/you-can-do-utility-first-css-with-sass tags: - - software-development - - css - - tailwind-css - - sass + - software-development + - css + - tailwind-css + - sass cta: ~ snippet: | - You can do utility-first CSS with Sass, if you want. + You can do utility-first CSS with Sass, if you want. --- Yesterday, I said that [I'm working on a Sass project with no utility or atomic styles][0]. diff --git a/source/_daily_emails/2024-07-10.md b/source/_daily_emails/2024-07-10.md index d9d2490a..f890a3d0 100644 --- a/source/_daily_emails/2024-07-10.md +++ b/source/_daily_emails/2024-07-10.md @@ -3,12 +3,12 @@ title: Applying all the things date: 2024-07-10 permalink: daily/2024/07/10/applying-all-the-things tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css cta: ~ snippet: | - Getting started with Tailwind CSS using `@apply`. + Getting started with Tailwind CSS using `@apply`. --- If you're adding Tailwind CSS to your existing project or can't use atomic/utility classes straight away, the `@apply` directive might be an option. diff --git a/source/_daily_emails/2024-07-11.md b/source/_daily_emails/2024-07-11.md index d45faba2..c2224c9d 100644 --- a/source/_daily_emails/2024-07-11.md +++ b/source/_daily_emails/2024-07-11.md @@ -3,12 +3,12 @@ title: How I started using utility-first CSS date: 2024-07-11 permalink: daily/2024/07/11/how-i-started-using-utility-first-css tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css cta: ~ snippet: | - How did I start using atomic classes and utility-first CSS? + How did I start using atomic classes and utility-first CSS? --- Before I started using atomic CSS classes, I used to use a popular component-based CSS framework. diff --git a/source/_daily_emails/2024-07-15.md b/source/_daily_emails/2024-07-15.md index e603f335..a5335eb8 100644 --- a/source/_daily_emails/2024-07-15.md +++ b/source/_daily_emails/2024-07-15.md @@ -3,12 +3,12 @@ title: The power of arbitrary classes date: 2024-07-15 permalink: daily/2024/07/15/the-power-of-arbitrary-classes tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css cta: ~ snippet: | - I don't often use them, but arbitrary classes in Tailwind can be powerful. + I don't often use them, but arbitrary classes in Tailwind can be powerful. --- [I generally don't use aritrary classes with Tailwind CSS][0]. diff --git a/source/_daily_emails/2024-07-16.md b/source/_daily_emails/2024-07-16.md index 7334b57f..dcc3a55f 100644 --- a/source/_daily_emails/2024-07-16.md +++ b/source/_daily_emails/2024-07-16.md @@ -3,12 +3,12 @@ title: Tailwind CSS v4, with even more CSS date: 2024-07-16 permalink: daily/2024/07/16/tailwind-css-v4--with-even-more-css tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css cta: ~ snippet: | - Tailwind CSS v4 is coming soon, with even more CSS. + Tailwind CSS v4 is coming soon, with even more CSS. --- As someone [who has been using Tailwind CSS][0] since before 1.0, I'm looking forward to the next major version - Tailwind CSS v4. diff --git a/source/_daily_emails/2024-07-17.md b/source/_daily_emails/2024-07-17.md index 51fb28c1..1c2b10f9 100644 --- a/source/_daily_emails/2024-07-17.md +++ b/source/_daily_emails/2024-07-17.md @@ -3,11 +3,11 @@ title: Queuing long-running tasks date: 2024-07-17 permalink: daily/2024/07/17/queuing-long-running-tasks tags: - - software-development - - drupal + - software-development + - drupal cta: ~ snippet: | - Do you have long-running tasks in your application? Have you tried using queues? + Do you have long-running tasks in your application? Have you tried using queues? --- Do you have long-running or performance-heavy tasks in your application? diff --git a/source/_daily_emails/2024-07-18.md b/source/_daily_emails/2024-07-18.md index d9a3b54f..f7a1b140 100644 --- a/source/_daily_emails/2024-07-18.md +++ b/source/_daily_emails/2024-07-18.md @@ -3,12 +3,12 @@ title: What's the smallest number of dependencies you can have? date: 2024-07-18 permalink: daily/2024/07/18/smallest-number-of-dependencies tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: ~ snippet: | - What's the smallest number of dependencies you can have in a project? + What's the smallest number of dependencies you can have in a project? --- Whether it's Drupal modules, PHP libraries, npm packages or Tailwind CSS plugins, what's the smallest number you can have in a project? diff --git a/source/_daily_emails/2024-07-19.md b/source/_daily_emails/2024-07-19.md index df182b93..38243cf2 100644 --- a/source/_daily_emails/2024-07-19.md +++ b/source/_daily_emails/2024-07-19.md @@ -3,11 +3,11 @@ title: Automation, Linux training and mechanical keyboards with Jochen Lillich date: 2024-07-19 permalink: daily/2024/07/19/automation-linux-training-and-mechanical-keyboards tags: - - software-development - - podcast + - software-development + - podcast cta: ~ snippet: | - Discussing automation, Linux training and mechanical keyboards with Jochen Lillich. + Discussing automation, Linux training and mechanical keyboards with Jochen Lillich. --- This week, I released the most recent episode of the [Beyond Blocks podcast][0]. diff --git a/source/_daily_emails/2024-07-22.md b/source/_daily_emails/2024-07-22.md index eca6fa71..6acb1183 100644 --- a/source/_daily_emails/2024-07-22.md +++ b/source/_daily_emails/2024-07-22.md @@ -3,12 +3,12 @@ title: There isn't just one way to do something date: 2024-07-22 permalink: daily/2024/07/22/there-isnt-just-one-way-to-do-something tags: - - software-development - - pair-programming - - mob-programming + - software-development + - pair-programming + - mob-programming cta: pair snippet: | - There isn't just one way to do something in software development. + There isn't just one way to do something in software development. --- In software development, there are usually multiple ways to achieve the same result. diff --git a/source/_daily_emails/2024-07-24.md b/source/_daily_emails/2024-07-24.md index 5cb8d19f..b08717d8 100644 --- a/source/_daily_emails/2024-07-24.md +++ b/source/_daily_emails/2024-07-24.md @@ -3,10 +3,10 @@ title: Things aren't perfect date: 2024-07-24 permalink: daily/2024/07/24/things-aren-t-perfect tags: - - software-development + - software-development cta: ~ snippet: | - When developing software, things aren't always perfect. + When developing software, things aren't always perfect. --- As well as [there not being one right answer][0] when developing software, things aren't always perfect. diff --git a/source/_daily_emails/2024-07-25.md b/source/_daily_emails/2024-07-25.md index af8cf16a..d2fe40fb 100644 --- a/source/_daily_emails/2024-07-25.md +++ b/source/_daily_emails/2024-07-25.md @@ -3,11 +3,11 @@ title: Only have one URL per Git remote date: 2024-07-25 permalink: daily/2024/07/25/only-have-one-url-per-git-remote tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Did you know Git remotes can have multiple URLs, but this can cause issues. + Did you know Git remotes can have multiple URLs, but this can cause issues. --- Did you know Git remotes can have multiple URLs, so when you run a command like `git push origin main`, it can update more than one Git repository? diff --git a/source/_daily_emails/2024-07-26.md b/source/_daily_emails/2024-07-26.md index 4e638fbc..eef0ef40 100644 --- a/source/_daily_emails/2024-07-26.md +++ b/source/_daily_emails/2024-07-26.md @@ -3,11 +3,11 @@ title: Using a run file in your CI pipeline date: 2024-07-26 permalink: daily/2024/07/26/using-a-run-file-in-your-ci-pipeline tags: - - software-development - - continuous-integration + - software-development + - continuous-integration cta: ~ snippet: | - How I use a `run` file within my CI pipelines. + How I use a `run` file within my CI pipelines. --- [One of my earliest daily emails was about `run` files][0] - files that contain Bash functions that combine or simplify project-specific tasks. diff --git a/source/_daily_emails/2024-07-29.md b/source/_daily_emails/2024-07-29.md index 53692518..b44115c4 100644 --- a/source/_daily_emails/2024-07-29.md +++ b/source/_daily_emails/2024-07-29.md @@ -3,13 +3,13 @@ title: Don't run code formatting in your CI pipeline date: 2024-07-29 permalink: daily/2024/07/29/dont-run-code-formatting-in-your-ci-pipeline tags: - - software-development - - continuous-integration - - pipelines - - git + - software-development + - continuous-integration + - pipelines + - git cta: ~ snippet: | - Why I don't run code formatting tools in my CI pipelines. + Why I don't run code formatting tools in my CI pipelines. --- Something I commonly used to see, and did myself, was running code formatting tools, such as PHP CS Fixer or prettier, automatically their CI pipeline. diff --git a/source/_daily_emails/2024-07-30.md b/source/_daily_emails/2024-07-30.md index 2364f956..f8305c13 100644 --- a/source/_daily_emails/2024-07-30.md +++ b/source/_daily_emails/2024-07-30.md @@ -3,14 +3,14 @@ title: Maintaining backward compatibility date: 2024-07-30 permalink: daily/2024/07/30/maintaining-backward-compatibility tags: - - software-development - - php - - symfony - - drupal - - open-source + - software-development + - php + - symfony + - drupal + - open-source cta: ~ snippet: | - How I approach maintaining backward compatibility in projects. + How I approach maintaining backward compatibility in projects. --- I've recently decided I'm going to open source [Build Configs tool][0] that I use to generate build configuration files for Drupal, Sculpin and Fractal projects. diff --git a/source/_daily_emails/2024-07-31.md b/source/_daily_emails/2024-07-31.md index 00f5345a..91e3da58 100644 --- a/source/_daily_emails/2024-07-31.md +++ b/source/_daily_emails/2024-07-31.md @@ -3,12 +3,12 @@ title: Why I use Linux for my operating system date: 2024-07-31 permalink: daily/2024/07/31/why-i-use-linux tags: - - software-development - - linux - - open-source + - software-development + - linux + - open-source cta: ~ snippet: | - Why I use Linux for my operating system. + Why I use Linux for my operating system. --- A common reason when speaking with Developers who use Linux as their operating system is that their software will run on Linux in production, so it's best to run it on Linux locally. diff --git a/source/_daily_emails/2024-08-01.md b/source/_daily_emails/2024-08-01.md index 1cd44b84..864e8f26 100644 --- a/source/_daily_emails/2024-08-01.md +++ b/source/_daily_emails/2024-08-01.md @@ -3,14 +3,14 @@ title: Adding automated tests to Content Access by Path date: 2024-08-01 permalink: daily/2024/08/01/adding-automated-tests-to-content-access-by-path tags: - - software-development - - drupal - - php - - automated-testing - - test-driven-development + - software-development + - drupal + - php + - automated-testing + - test-driven-development cta: ~ snippet: | - I contributed automated tests to the Content Access by Path Drupal module. + I contributed automated tests to the Content Access by Path Drupal module. --- Back in [episode 11 of the Beyond Blocks podcast][0], my guest was Mark Conroy and we discussed various things including his [Running Plan Generator][1] and the [Content Access By Path Drupal module][2]. diff --git a/source/_daily_emails/2024-08-02.md b/source/_daily_emails/2024-08-02.md index 14479f80..79fb40ce 100644 --- a/source/_daily_emails/2024-08-02.md +++ b/source/_daily_emails/2024-08-02.md @@ -3,11 +3,11 @@ title: Merging unrelated histories date: 2024-08-02 permalink: daily/2024/08/02/merging-unrelated-histories tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Yesterday, I merged three Git repositories and their histories together. + Yesterday, I merged three Git repositories and their histories together. --- My website is built with Sculpin - a static site generator written in PHP. diff --git a/source/_daily_emails/2024-08-03.md b/source/_daily_emails/2024-08-03.md index 4f8159ce..f3b16593 100644 --- a/source/_daily_emails/2024-08-03.md +++ b/source/_daily_emails/2024-08-03.md @@ -3,12 +3,12 @@ title: Drupal 11 is here! date: 2024-08-03 permalink: daily/2024/08/03/drupal-11-is-here tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - Drupal 11 is here! + Drupal 11 is here! --- Yesterday, the 2nd of August 2024, Drupal 11 was released. diff --git a/source/_daily_emails/2024-08-04.md b/source/_daily_emails/2024-08-04.md index e2cf4cc1..5f64033b 100644 --- a/source/_daily_emails/2024-08-04.md +++ b/source/_daily_emails/2024-08-04.md @@ -3,12 +3,12 @@ title: Drupal 7 security support changes date: 2024-08-04 permalink: daily/2024/08/04/drupal-7-security-support-changes tags: - - software-development - - drupal - - php + - software-development + - drupal + - php cta: d7eol snippet: | - Drupal 7 is supported for a few more months, but changes to its security policy came into effect on Thursday. + Drupal 7 is supported for a few more months, but changes to its security policy came into effect on Thursday. --- As announced in the Drupal 7 end-of-life announcement, changes have been made to the Drupal 7 security support policies - effective the 1st of August. diff --git a/source/_daily_emails/2024-08-05.md b/source/_daily_emails/2024-08-05.md index 40c01fcf..32a15520 100644 --- a/source/_daily_emails/2024-08-05.md +++ b/source/_daily_emails/2024-08-05.md @@ -3,12 +3,12 @@ title: Application code is only part of the puzzle date: 2024-08-05 permalink: daily/2024/08/05/application-code-is-only-part-of-the-puzzle tags: - - software-development - - docker - - nix + - software-development + - docker + - nix cta: ~ snippet: | - Your application code is only part of the puzzle. + Your application code is only part of the puzzle. --- Of course, your application code is important. diff --git a/source/_daily_emails/2024-08-06.md b/source/_daily_emails/2024-08-06.md index 9e3fbcf6..69bb5625 100644 --- a/source/_daily_emails/2024-08-06.md +++ b/source/_daily_emails/2024-08-06.md @@ -3,10 +3,10 @@ title: Computers don't care date: 2024-08-06 permalink: daily/2024/08/06/computers-dont-care tags: - - software-development + - software-development cta: ~ snippet: | - Computers don't care how your code is written. + Computers don't care how your code is written. --- Computers don't care how code is written or formatted, but humans do. diff --git a/source/_daily_emails/2024-08-07.md b/source/_daily_emails/2024-08-07.md index df8698ad..62e3cd80 100644 --- a/source/_daily_emails/2024-08-07.md +++ b/source/_daily_emails/2024-08-07.md @@ -3,10 +3,10 @@ title: People read more code than they write date: 2024-08-07 permalink: daily/2024/08/07/people-read-more-code-than-they-write tags: - - software-development - - clean-code + - software-development + - clean-code snippet: | - People read more code than they write. + People read more code than they write. --- Which do you do more? diff --git a/source/_daily_emails/2024-08-08.md b/source/_daily_emails/2024-08-08.md index 6245db63..505ed563 100644 --- a/source/_daily_emails/2024-08-08.md +++ b/source/_daily_emails/2024-08-08.md @@ -3,12 +3,12 @@ title: To configure or not to configure date: 2024-08-08 permalink: daily/2024/08/08/to-configure-or-not-to-configure tags: - - software-development - - linux - - vim + - software-development + - linux + - vim cta: ~ snippet: | - How much should you configure your tools? + How much should you configure your tools? --- It's been [more than nine years][0] since I started [my dotfiles repository][1], which is a collection of configuration files for tools I use. diff --git a/source/_daily_emails/2024-08-11.md b/source/_daily_emails/2024-08-11.md index 06df271a..d5e980f9 100644 --- a/source/_daily_emails/2024-08-11.md +++ b/source/_daily_emails/2024-08-11.md @@ -3,11 +3,11 @@ title: Commits are cheap date: 2024-08-11 permalink: daily/2024/08/11/commits-are-cheap tags: - - software-development - - git + - software-development + - git cta: ~ snippet: | - Commits are cheap. Debugging without a commit isn't. + Commits are cheap. Debugging without a commit isn't. --- When using a version control system, such as Git, commits are quick and cheap. diff --git a/source/_daily_emails/2024-08-12.md b/source/_daily_emails/2024-08-12.md index 3eaef2e5..eb225cdf 100644 --- a/source/_daily_emails/2024-08-12.md +++ b/source/_daily_emails/2024-08-12.md @@ -3,10 +3,10 @@ title: Always write your code as if... date: 2024-08-12 permalink: daily/2024/08/12/always-write-your-code-as-if tags: - - software-development + - software-development cta: d7eol snippet: | - Always write your code as if... + Always write your code as if... --- There's a famous programming quote (and variations of it): diff --git a/source/_daily_emails/2024-08-13.md b/source/_daily_emails/2024-08-13.md index 2d138d82..ffa2b658 100644 --- a/source/_daily_emails/2024-08-13.md +++ b/source/_daily_emails/2024-08-13.md @@ -3,12 +3,12 @@ title: LEGO, robotics and open-source software date: 2024-08-13 permalink: daily/2024/08/13/lego-robotics-and-open-source tags: - - software-development - - open-source - - podcast + - software-development + - open-source + - podcast cta: ~ snippet: | - LEGO, robotics and open- source software. + LEGO, robotics and open- source software. --- In the most recent episode of Beyond Blocks, I discuss LEGO, robotics, teaching kids to code and open-source software with Andy Hoang, who runs a company called "Beyond Blocks". diff --git a/source/_daily_emails/2024-08-14.md b/source/_daily_emails/2024-08-14.md index 62df1f64..06074a12 100644 --- a/source/_daily_emails/2024-08-14.md +++ b/source/_daily_emails/2024-08-14.md @@ -3,10 +3,10 @@ title: Makings things frictionless date: 2024-08-14 permalink: daily/2024/08/14/makings-things-frictionless tags: - - software-development + - software-development cta: ~ snippet: | - If you want people to do things, you need to make them as simple as possible. + If you want people to do things, you need to make them as simple as possible. --- If you want people to do things, you need to make them as simple as possible. diff --git a/source/_daily_emails/2024-08-15.md b/source/_daily_emails/2024-08-15.md index af52d6c0..20bdaca4 100644 --- a/source/_daily_emails/2024-08-15.md +++ b/source/_daily_emails/2024-08-15.md @@ -3,12 +3,12 @@ title: Docblocks or attributes? date: 2024-08-15 permalink: daily/2024/08/15/docblocks-or-attributes tags: - - software-development - - php - - automated-testing + - software-development + - php + - automated-testing cta: ~ snippet: | - Docblocks or attributes. Which do you prefer? + Docblocks or attributes. Which do you prefer? --- As Drupal 11 uses PHPUnit 10, we can now use the `#[Test]` attribute instead of the `/** @test */` annotation for our test methods. diff --git a/source/_daily_emails/2024-08-16.md b/source/_daily_emails/2024-08-16.md index be0b65f4..7d8a637a 100644 --- a/source/_daily_emails/2024-08-16.md +++ b/source/_daily_emails/2024-08-16.md @@ -3,11 +3,11 @@ title: What are err, req and res? date: 2024-08-16 permalink: daily/2024/08/16/what-are-err--req-and-res tags: - - software-development - - clean-code + - software-development + - clean-code cta: ~ snippet: | - What are err, req and res? + What are err, req and res? --- Today, I was at another School of Code hackathon event, mentoring a team of three Developers as they planned and built an application within a day. diff --git a/source/_daily_emails/2024-08-17.md b/source/_daily_emails/2024-08-17.md index 76cdc7b0..28123beb 100644 --- a/source/_daily_emails/2024-08-17.md +++ b/source/_daily_emails/2024-08-17.md @@ -3,11 +3,11 @@ title: Types add context date: 2024-08-17 permalink: daily/2024/08/17/types-add-context tags: - - software-development - - clean-code + - software-development + - clean-code cta: ~ snippet: | - Types add helpful context to code, making it easier to read and understand. + Types add helpful context to code, making it easier to read and understand. --- In yesterday's email, I wrote about why [readable variable names are important][0] and why I use descriptive variable names in my code. diff --git a/source/_daily_emails/2024-08-18.md b/source/_daily_emails/2024-08-18.md index 3e8e7f2e..8519b8a0 100644 --- a/source/_daily_emails/2024-08-18.md +++ b/source/_daily_emails/2024-08-18.md @@ -3,11 +3,11 @@ title: Mermaid - markdown for charts date: 2024-08-18 permalink: daily/2024/08/18/mermaid-markdown-for-charts tags: - - software-development - - documentation + - software-development + - documentation cta: ~ snippet: | - Mermaid is a nice way to generate and store diagrams within your projects. + Mermaid is a nice way to generate and store diagrams within your projects. --- [Whilst mentoring at the School of Code Hackathon][0], something the team and I discussed was documentation and documenting any decisions we made about the approaches they were taking, the techologies to use, etc. diff --git a/source/_daily_emails/2024-08-19.md b/source/_daily_emails/2024-08-19.md index c7d999de..71c8d854 100644 --- a/source/_daily_emails/2024-08-19.md +++ b/source/_daily_emails/2024-08-19.md @@ -3,11 +3,11 @@ title: Bash scripting for fun (and profit?) date: 2024-08-19 permalink: daily/2024/08/19/bash-scripting-for-fun-and-profit tags: - - software-development - - linux + - software-development + - linux cta: ~ snippet: | - Solving problems with Bash scripts. + Solving problems with Bash scripts. --- As well as PHP, JavaScript, HTML, CSS, etc, I write a lot of Bash scripts. diff --git a/source/_daily_emails/2024-08-20.md b/source/_daily_emails/2024-08-20.md index 43251279..6284d30c 100644 --- a/source/_daily_emails/2024-08-20.md +++ b/source/_daily_emails/2024-08-20.md @@ -3,12 +3,12 @@ title: Writing bash scripts with Nix date: 2024-08-20 permalink: daily/2024/08/20/writing-bash-scripts-with-nix tags: - - software-development - - linux - - nix + - software-development + - linux + - nix cta: ~ snippet: | - Dependency injection in bash scripts? (Nix mentioned) + Dependency injection in bash scripts? (Nix mentioned) --- Yesterday, I wrote about [a bash script I've written][0] to export a list of videos on my external hard drive. diff --git a/source/_daily_emails/2024-08-21.md b/source/_daily_emails/2024-08-21.md index 8698a112..23756262 100644 --- a/source/_daily_emails/2024-08-21.md +++ b/source/_daily_emails/2024-08-21.md @@ -3,10 +3,10 @@ title: Publishing a Zettelkasten date: 2024-08-21 permalink: daily/2024/08/21/publishing-a-zettelkasten tags: - - software-development + - software-development cta: ~ snippet: | - I'm started writing a Zettelkasten and I'll be publishing it online. + I'm started writing a Zettelkasten and I'll be publishing it online. --- Inspired by others like rwxrob and Mischa van den Burg, I've started experimenting with the Zettelkasten method of atomic note-taking alongside my current methods. diff --git a/source/_daily_emails/2024-08-22.md b/source/_daily_emails/2024-08-22.md index 05fef8e6..8ddba9db 100644 --- a/source/_daily_emails/2024-08-22.md +++ b/source/_daily_emails/2024-08-22.md @@ -3,13 +3,13 @@ title: Drush is using Laravel Prompts date: 2024-08-22 permalink: daily/2024/08/22/drush-is-using-laravel-prompts tags: - - software-development - - drupal - - php - - laravel - - laravel-prompts + - software-development + - drupal + - php + - laravel + - laravel-prompts cta: ~ - The new version of Drush is using Laravel Prompts. + The new version of Drush is using Laravel Prompts. --- Whilst starting to upgrade my [automated testing email course][0] to Drupal 11, I needed to update Drush and [noticed the output was different][1]. diff --git a/source/_daily_emails/2024-08-23.md b/source/_daily_emails/2024-08-23.md index 2c3c06cc..b2916c8c 100644 --- a/source/_daily_emails/2024-08-23.md +++ b/source/_daily_emails/2024-08-23.md @@ -3,13 +3,13 @@ title: Speaking at PHP Berkshire date: 2024-08-23 permalink: daily/2024/08/23/speaking-at-php-berkshire tags: - - software-development - - php - - sculpin - - public-speaking + - software-development + - php + - sculpin + - public-speaking cta: ~ snippet: | - This week, I'm speaking at the PHP Berkshire meetup. + This week, I'm speaking at the PHP Berkshire meetup. --- This week, I'm speaking at the newly-restarted PHP Berkshire meetup. diff --git a/source/_daily_emails/2024-08-24.md b/source/_daily_emails/2024-08-24.md index 1d65305d..ee9e3b62 100644 --- a/source/_daily_emails/2024-08-24.md +++ b/source/_daily_emails/2024-08-24.md @@ -3,13 +3,13 @@ title: Abbreviations are better than aliases date: 2024-08-24 permalink: daily/2024/08/24/abbreviations-are-better-than-aliases tags: - - software-development - - shell - - zsh - - linux + - software-development + - shell + - zsh + - linux cta: ~ snippet: | - Why I prefer abbreviations over aliases in my zsh configuration. + Why I prefer abbreviations over aliases in my zsh configuration. --- Shell aliases are a useful way to shorten long or complicated commands or to easily add additional arguments when running commands. diff --git a/source/_daily_emails/2024-08-25.md b/source/_daily_emails/2024-08-25.md index 08af417b..ab086e96 100644 --- a/source/_daily_emails/2024-08-25.md +++ b/source/_daily_emails/2024-08-25.md @@ -3,14 +3,14 @@ title: CSS, data attributes and feature flags date: 2024-08-25 permalink: daily/2024/08/25/css--data-attributes-and-feature-flags tags: - - software-development - - drupal - - php - - feature-flags - - css + - software-development + - drupal + - php + - feature-flags + - css cta: ~ snippet: | - How I combined a feature flag and a data attribute to release some new CSS styles to a project. + How I combined a feature flag and a data attribute to release some new CSS styles to a project. --- I recently used [Drupal's Feature Toggle module](https://www.drupal.org/project/feature_toggle) to set a data attribute which enabled some new styling for buttons. diff --git a/source/_daily_emails/2024-08-26.md b/source/_daily_emails/2024-08-26.md index 93fc0d24..6c42f2bc 100644 --- a/source/_daily_emails/2024-08-26.md +++ b/source/_daily_emails/2024-08-26.md @@ -3,13 +3,13 @@ title: Named arguments add context date: 2024-08-26 permalink: daily/2024/08/26/named-arguments-add-context tags: - - software-development - - drupal - - php - - automated-testing + - software-development + - drupal + - php + - automated-testing cta: ~ snippet: | - As well as types, PHP's named arguments also add context - particularly within tests. + As well as types, PHP's named arguments also add context - particularly within tests. --- A couple of weeks ago, I wrote that [using types adds context to code][0], making it easier to read and understand. diff --git a/source/_daily_emails/2024-08-27.md b/source/_daily_emails/2024-08-27.md index 7b3ee84a..4b9fc6fa 100644 --- a/source/_daily_emails/2024-08-27.md +++ b/source/_daily_emails/2024-08-27.md @@ -3,13 +3,13 @@ title: Build Configs is now public and open-source date: 2024-08-27 permalink: daily/2024/08/27/build-configs-is-open-source tags: - - software-development - - open-source - - php - - symfony + - software-development + - open-source + - php + - symfony cta: ~ snippet: | - Build Configs is now released as open-source software on GitHub. + Build Configs is now released as open-source software on GitHub. --- Build Configs - the tool I wrote to generate build configuration files for projects - is [now released as open-source software on GitHub][0]. diff --git a/source/_daily_emails/2024-08-28.md b/source/_daily_emails/2024-08-28.md index 18a6f05a..5b7c38e7 100644 --- a/source/_daily_emails/2024-08-28.md +++ b/source/_daily_emails/2024-08-28.md @@ -3,13 +3,13 @@ title: Single File Components in Drupal with Sam Mortenson date: 2024-08-28 permalink: daily/2024/08/28/single-file-components-in-drupal-with-sam-mortenson tags: - - software-development - - drupal - - php - - podcast + - software-development + - drupal + - php + - podcast cta: ~ snippet: | - I recently discussed Single File Components in Drupal with Sam Mortenson. + I recently discussed Single File Components in Drupal with Sam Mortenson. --- In the most recent episode of the [Beyond Blocks podcast][0], I spoke with [Sam Mortenson][1] about Single File Components in Drupal as well as building static Drupal websites with Tome. diff --git a/source/_daily_emails/2024-08-29.md b/source/_daily_emails/2024-08-29.md index ee007197..a03a0ec3 100644 --- a/source/_daily_emails/2024-08-29.md +++ b/source/_daily_emails/2024-08-29.md @@ -5,7 +5,7 @@ permalink: daily/2024/08/29/600-daily-emails tags: [] cta: ~ snippet: | - This is my 600th daily email! + This is my 600th daily email! --- This is the 600th daily email I've sent to this list, containing my software developments thoughts, tips and updates. diff --git a/source/_daily_emails/2024-08-30.md b/source/_daily_emails/2024-08-30.md index 34d311b1..16b911a1 100644 --- a/source/_daily_emails/2024-08-30.md +++ b/source/_daily_emails/2024-08-30.md @@ -3,15 +3,15 @@ title: Revisiting the Null Object pattern in Drupal date: 2024-08-30 permalink: daily/2024/08/30/revisiting-the-null-object-pattern-in-drupal tags: - - software-development - - drupal - - drupal-module - - open-source - - php - - design-patterns + - software-development + - drupal + - drupal-module + - open-source + - php + - design-patterns cta: ~ snippet: | - Whilst working on my secret side project, today I decided to revisit the Null User Drupal module. + Whilst working on my secret side project, today I decided to revisit the Null User Drupal module. --- The Null Object pattern is one of my favourite ways to DRY up code and reduce duplication. diff --git a/source/_daily_emails/2024-08-31.md b/source/_daily_emails/2024-08-31.md index 03c24082..80287b93 100644 --- a/source/_daily_emails/2024-08-31.md +++ b/source/_daily_emails/2024-08-31.md @@ -3,13 +3,13 @@ title: Make it work, then make it good date: 2024-08-31 permalink: daily/2024/08/31/make-it-work-then-make-it-good tags: - - software-development - - automated-testing - - test-driven-development - - clean-code + - software-development + - automated-testing + - test-driven-development + - clean-code cta: d7eol snippet: | - The main objective when writing software is to make it work. + The main objective when writing software is to make it work. --- Your first objective when writing software is to make it work by - any means necessary. diff --git a/source/_daily_emails/2024-09-01.md b/source/_daily_emails/2024-09-01.md index 6cf7ef5e..55c7245d 100644 --- a/source/_daily_emails/2024-09-01.md +++ b/source/_daily_emails/2024-09-01.md @@ -3,13 +3,13 @@ title: You need tests to refactor safely date: 2024-09-01 permalink: daily/2024/09/01/you-need-tests-to-refactor-safely tags: - - software-development - - refactoring - - automated-testing - - test-driven-development + - software-development + - refactoring + - automated-testing + - test-driven-development cta: call snippet: | - When refactoring, you should have automated tests to ensure it's done safely. + When refactoring, you should have automated tests to ensure it's done safely. --- [Once you have working code][0], you can refactor it to make it better. diff --git a/source/_daily_emails/2024-09-02.md b/source/_daily_emails/2024-09-02.md index 9bac297e..07bf6d99 100644 --- a/source/_daily_emails/2024-09-02.md +++ b/source/_daily_emails/2024-09-02.md @@ -3,14 +3,14 @@ title: No-one sees your clean-up commits date: 2024-09-02 permalink: daily/2024/09/02/no-one-sees-your-clean-up-commits tags: - - software-development - - refactoring - - git - - automated-testing - - test-driven-development + - software-development + - refactoring + - git + - automated-testing + - test-driven-development cta: d7eol snippet: | - No-one sees your clean-up commits. + No-one sees your clean-up commits. --- When you're working on a task - [whether you're making it work or making it good][0], you can commit your code changes as often as you like. diff --git a/source/_daily_emails/2024-09-03.md b/source/_daily_emails/2024-09-03.md index e313e2df..f9416c3b 100644 --- a/source/_daily_emails/2024-09-03.md +++ b/source/_daily_emails/2024-09-03.md @@ -3,11 +3,11 @@ title: Do your commit messages still make sense? date: 2024-09-03 permalink: daily/2024/09/03/do-your-commit-messages-still-make-sense tags: - - software-development - - git + - software-development + - git cta: d7eol snippet: | - Do your commit messages still make sense? + Do your commit messages still make sense? --- Once you've [cleaned up and tided your commits][1], re-ordered them and squashed any commits together to combine them into logical changes, before you push them, you should also check if your commit messages still make sense. diff --git a/source/_daily_emails/2024-09-05.md b/source/_daily_emails/2024-09-05.md index aa482e1c..72ba4a98 100644 --- a/source/_daily_emails/2024-09-05.md +++ b/source/_daily_emails/2024-09-05.md @@ -3,12 +3,12 @@ title: find vs. get date: 2024-09-05 permalink: daily/2024/09/05/find-vs-get tags: - - software-development - - static-analysis - - podcast + - software-development + - static-analysis + - podcast cta: ~ snippet: | - find vs. get + find vs. get --- This week, I spoke with [Dave Liddament][2] to record an upcoming episode of [the Beyond Blocks podcast][1].