Use four spaces in frontmatter blocks

This commit is contained in:
Oliver Davies 2024-02-07 20:01:19 +00:00
parent f3756a80a6
commit 11ae0f9fc7
422 changed files with 2980 additions and 2986 deletions

View file

@ -5,7 +5,7 @@ email: oliver+website@oliverdavies.uk
url: http://localhost:8000
imports:
- ../../data/assets.yml
- ../../data/meta.yml
- ../../data/menus.yml
- ../../data/testimonials.yml
- ../../data/assets.yml
- ../../data/meta.yml
- ../../data/menus.yml
- ../../data/testimonials.yml

View file

@ -1,4 +1,4 @@
imports:
- sculpin_site.yml
- sculpin_site.yml
url: https://www.oliverdavies.uk
assets_url: https://oliverdavies-uk.s3.eu-west-2.amazonaws.com

View file

@ -1,19 +1,19 @@
menu_links:
-
title: About
url: /
-
title: Press Info
url: /press
-
title: Services
url: /pricing
-
title: Talks and Workshops
url: /talks
-
title: Podcast
url: /podcast
-
title: Daily list
url: /daily
-
title: About
url: /
-
title: Press Info
url: /press
-
title: Services
url: /pricing
-
title: Talks and Workshops
url: /talks
-
title: Podcast
url: /podcast
-
title: Daily list
url: /daily

View file

@ -1,3 +1,3 @@
meta:
description: |-
Oliver is an Acquia-certified Triple Drupal expert, core contributor, Developer, Consultant and multiple-time DrupalCon speaker.
description: |-
Oliver is an Acquia-certified Triple Drupal expert, core contributor, Developer, Consultant and multiple-time DrupalCon speaker.

View file

@ -1,250 +1,250 @@
testimonials:
-
text: |
Following your "Automated tests" emails and they are great! Such a pleasant reading. I love how you start from the very beginning and keeping things simple, step by step.
-
text: |
Following your "Automated tests" emails and they are great! Such a pleasant reading. I love how you start from the very beginning and keeping things simple, step by step.
Looking forward to more content!
name: Matthieu Scarset
title: Drupal Expert
url: https://matthieuscarset.com
image:
url: '%site.assets_url%/assets/images/recommendations/matthieu-scarset.jpg'
tags: [testing]
-
text: |
Hi Oliver, we met briefly at the Tech Connect event in London last month. Been reading through a few of your latest posts and have found the messages valuable, especially as we spent the week learning about unit, integration and e2e testing. I have signed up to your mailing list to keep the good advice flowing!
name: Alexander Carr
title: Full Stack Software Engineer at School of Code
image:
url: '%site.assets_url%/assets/images/recommendations/alexander-carr.jpg'
tags: [daily]
-
text: |
These emails are superb and make for very interesting reading. Thank you!
name: Adam Nuttall
title: Drupal Engineer
image:
url: '%site.assets_url%/assets/images/recommendations/adam-nuttall.jpg'
tags: [daily]
-
text:
Oliver's approach to testing is a continual reminder of his commitment to delivering high-quality, bug-free, software.
name: Mike Karthauser
title: Senior Software Engineer
image:
url: '%site.assets_url%/assets/images/recommendations/mike-karthauser.jpg'
tags: [daily, testing, coaching]
-
text: |
I had the opportunity and good fortune to work with Oliver solving two problems that I was having on a Drupal Commerce site. I have done several Drupal sites using UberCart, but since it is deprecated, I chose to use Commerce. I had searched, posted to forums, and other normal means to find answers to my problems, to no response and to no avail.
Looking forward to more content!
name: Matthieu Scarset
title: Drupal Expert
url: https://matthieuscarset.com
image:
url: '%site.assets_url%/assets/images/recommendations/matthieu-scarset.jpg'
tags: [testing]
-
text: |
Hi Oliver, we met briefly at the Tech Connect event in London last month. Been reading through a few of your latest posts and have found the messages valuable, especially as we spent the week learning about unit, integration and e2e testing. I have signed up to your mailing list to keep the good advice flowing!
name: Alexander Carr
title: Full Stack Software Engineer at School of Code
image:
url: '%site.assets_url%/assets/images/recommendations/alexander-carr.jpg'
tags: [daily]
-
text: |
These emails are superb and make for very interesting reading. Thank you!
name: Adam Nuttall
title: Drupal Engineer
image:
url: '%site.assets_url%/assets/images/recommendations/adam-nuttall.jpg'
tags: [daily]
-
text:
Oliver's approach to testing is a continual reminder of his commitment to delivering high-quality, bug-free, software.
name: Mike Karthauser
title: Senior Software Engineer
image:
url: '%site.assets_url%/assets/images/recommendations/mike-karthauser.jpg'
tags: [daily, testing, coaching]
-
text: |
I had the opportunity and good fortune to work with Oliver solving two problems that I was having on a Drupal Commerce site. I have done several Drupal sites using UberCart, but since it is deprecated, I chose to use Commerce. I had searched, posted to forums, and other normal means to find answers to my problems, to no response and to no avail.
I got a referral to Oliver and scheduled an appointment to discuss the problems on a Zoom call. After showing him via screen share where I was stumped, he offered different approaches to what I was doing, which I was fine with as long as it worked.
I got a referral to Oliver and scheduled an appointment to discuss the problems on a Zoom call. After showing him via screen share where I was stumped, he offered different approaches to what I was doing, which I was fine with as long as it worked.
Once we solved the first problem, I was really elated and then focused on the second one, which was an easier fix. So in a short period of time, both problems were fixed and tested.
Once we solved the first problem, I was really elated and then focused on the second one, which was an easier fix. So in a short period of time, both problems were fixed and tested.
I found Oliver was affable and easy to work with. He has a strong work ethic and a desire to solve problems for his customers and can recommend working with him. I think one of his strengths is to find alternative solutions to problems.
name: Tom Evans
title: ~
image: ~
tags: [call]
-
text: |
I am a big fan of your git approaches. I especially remember pairing with you and watching how many commands you run to solve many problems and how fast you were. It's a skill I believe not many have, particularly those who are used to working with a GUI like me, and personally I think it is quite valuable.
name: Marcos Duran
title: Senior Software Engineer
image:
url: '%site.assets_url%/assets/images/recommendations/marcos-duran.jpg'
tags: [git, daily, coaching]
-
text: |
I like the "$ git log -S" and "$ git log --grep" commands, will definitely be using these, thanks!
name: Stephen Mulvihill
title: Solutions Architect
image:
url: '%site.assets_url%/assets/images/recommendations/stephen-mulvihill.jpg'
tags: [git, daily, coaching]
-
text: |
Just wanted to say that your blog is amazing <3 I absolutely love it and usually share it with colleagues and some of the kids at my Code Club.
I found Oliver was affable and easy to work with. He has a strong work ethic and a desire to solve problems for his customers and can recommend working with him. I think one of his strengths is to find alternative solutions to problems.
name: Tom Evans
title: ~
image: ~
tags: [call]
-
text: |
I am a big fan of your git approaches. I especially remember pairing with you and watching how many commands you run to solve many problems and how fast you were. It's a skill I believe not many have, particularly those who are used to working with a GUI like me, and personally I think it is quite valuable.
name: Marcos Duran
title: Senior Software Engineer
image:
url: '%site.assets_url%/assets/images/recommendations/marcos-duran.jpg'
tags: [git, daily, coaching]
-
text: |
I like the "$ git log -S" and "$ git log --grep" commands, will definitely be using these, thanks!
name: Stephen Mulvihill
title: Solutions Architect
image:
url: '%site.assets_url%/assets/images/recommendations/stephen-mulvihill.jpg'
tags: [git, daily, coaching]
-
text: |
Just wanted to say that your blog is amazing <3 I absolutely love it and usually share it with colleagues and some of the kids at my Code Club.
Thanks for contributing to the community with your amazing content!
name: Patty O'Callaghan
title: Tech Lead
image:
url: '%site.assets_url%/assets/images/recommendations/patty-ocallaghan.jpg'
tags: [daily]
-
text: |
I've wanted to explore testing for a while, but as a PHP developer with 10 years of Drupal experience who'd written next to no tests, I really needed guidance. Oliver's expertise in testing and TDD motivated me to seek his help.
Thanks for contributing to the community with your amazing content!
name: Patty O'Callaghan
title: Tech Lead
image:
url: '%site.assets_url%/assets/images/recommendations/patty-ocallaghan.jpg'
tags: [daily]
-
text: |
I've wanted to explore testing for a while, but as a PHP developer with 10 years of Drupal experience who'd written next to no tests, I really needed guidance. Oliver's expertise in testing and TDD motivated me to seek his help.
Before our call, I'd started writing tests for my modules but needed direction, understanding the code to a degree but needing help with approach. Oliver clarified both unit and integration testing, providing solutions for my challenges, and shared his code for inspiration and help. He also gave me ideas on how to utilise contrib code to help me further.
Before our call, I'd started writing tests for my modules but needed direction, understanding the code to a degree but needing help with approach. Oliver clarified both unit and integration testing, providing solutions for my challenges, and shared his code for inspiration and help. He also gave me ideas on how to utilise contrib code to help me further.
Consulting with an expert, I gained the clarity and confidence I needed in tackling testing with structured, maintainable practices. Oliver's adaptability and tailored services make him highly recommendable.
Consulting with an expert, I gained the clarity and confidence I needed in tackling testing with structured, maintainable practices. Oliver's adaptability and tailored services make him highly recommendable.
Thanks, Oliver - I feel empowered and know exactly what approach to take now!
name: Tawny Bartlett
title: Senior Drupal Developer
url: https://www.playingwithpixels.co.uk
image:
url: '%site.assets_url%/assets/images/recommendations/tawny.jpg'
tags: [testing, coaching, call]
-
text: |
I've worked with Oliver for a number of years on B2C and B2B web projects and he has always demonstrated himself to be an expert in his field.
Thanks, Oliver - I feel empowered and know exactly what approach to take now!
name: Tawny Bartlett
title: Senior Drupal Developer
url: https://www.playingwithpixels.co.uk
image:
url: '%site.assets_url%/assets/images/recommendations/tawny.jpg'
tags: [testing, coaching, call]
-
text: |
I've worked with Oliver for a number of years on B2C and B2B web projects and he has always demonstrated himself to be an expert in his field.
As an insurance provider, some of our products and services don't naturally fit within a traditional ecommerce journey - but Oliver has always been able to come up with innovative ways to leverage core Drupal functionality and develop custom modules to meet our needs.
As an insurance provider, some of our products and services don't naturally fit within a traditional ecommerce journey - but Oliver has always been able to come up with innovative ways to leverage core Drupal functionality and develop custom modules to meet our needs.
Friendly, flexible and diligent - I wouldn't hesitate to recommend Oliver to anyone looking for a Drupal developer to progress their next project.
name: Joe Howell
title: Director, Bastion Insurance
url: https://www.bastioninsurance.co.uk
image:
url: '%site.assets_url%/assets/images/recommendations/joe-howell.jpg'
tags: [subscription, coaching]
-
text: |
We use Oliver for maintaining a couple of Drupal sites for which we no longer have the skills ourselves. We became aware of Oliver through his work in the Drupal community, and about a year ago we approached him to help us with the deep dive aspects of maintaining and developing Drupal sites. He's been really helpful and very responsive. Much appreciated!
name: Jon Hallett
title: Senior Systems Administrator at the University of Bristol
url: https://bristol.ac.uk
image:
url: '%site.assets_url%/assets/images/recommendations/jon-hallett.jpeg'
tags: [subscription]
-
text: |
For over a decade we have worked with Oliver on a number of different projects. Initially our collaboration consisted of web maintenance and troubleshooting but we soon tapped Oliver to design, build and maintain a custom awards site which includes both submission and judging functionality. Oliver has deep and wide-ranging skills and I would certainly recommend his services!
name: Michael Itkoff
title: Cofounder
url: https://www.daylightbooks.org
image:
url: '%site.assets_url%/assets/images/recommendations/michael-itkoff.jpg'
tags: [subscription]
-
text: |
Working with Oliver on the Seren website has been easy and beneficial.
Friendly, flexible and diligent - I wouldn't hesitate to recommend Oliver to anyone looking for a Drupal developer to progress their next project.
name: Joe Howell
title: Director, Bastion Insurance
url: https://www.bastioninsurance.co.uk
image:
url: '%site.assets_url%/assets/images/recommendations/joe-howell.jpg'
tags: [subscription, coaching]
-
text: |
We use Oliver for maintaining a couple of Drupal sites for which we no longer have the skills ourselves. We became aware of Oliver through his work in the Drupal community, and about a year ago we approached him to help us with the deep dive aspects of maintaining and developing Drupal sites. He's been really helpful and very responsive. Much appreciated!
name: Jon Hallett
title: Senior Systems Administrator at the University of Bristol
url: https://bristol.ac.uk
image:
url: '%site.assets_url%/assets/images/recommendations/jon-hallett.jpeg'
tags: [subscription]
-
text: |
For over a decade we have worked with Oliver on a number of different projects. Initially our collaboration consisted of web maintenance and troubleshooting but we soon tapped Oliver to design, build and maintain a custom awards site which includes both submission and judging functionality. Oliver has deep and wide-ranging skills and I would certainly recommend his services!
name: Michael Itkoff
title: Cofounder
url: https://www.daylightbooks.org
image:
url: '%site.assets_url%/assets/images/recommendations/michael-itkoff.jpg'
tags: [subscription]
-
text: |
Working with Oliver on the Seren website has been easy and beneficial.
As well as providing general maintenance support, he built a new Drupal module which integrated with our partners Glassboxx so that we could sell ebooks directly from our website. Oliver worked closely with the team at Glassboxx to create the integration which needed to communicate with the Glassboxx app so that users could download their purchases. He was able to resolve issues which came up along the way in order to create a functioning module which we now use on our site.
As well as providing general maintenance support, he built a new Drupal module which integrated with our partners Glassboxx so that we could sell ebooks directly from our website. Oliver worked closely with the team at Glassboxx to create the integration which needed to communicate with the Glassboxx app so that users could download their purchases. He was able to resolve issues which came up along the way in order to create a functioning module which we now use on our site.
Oliver has extensive knowledge of Drupal and his familiarity with the Seren site meant he was able to fix problems quickly and efficiently as they arose.
Oliver has extensive knowledge of Drupal and his familiarity with the Seren site meant he was able to fix problems quickly and efficiently as they arose.
He is reliable and has always been willing to discuss new ideas for how the site could function.
He is reliable and has always been willing to discuss new ideas for how the site could function.
We would recommend working with him for his invaluable knowledge and ability to find solutions to problems at short notice. It has been a pleasure to work with him over the years.
name: Mick Felton
title: Publisher at Poetry Wales Press Ltd (Seren Books)
url: https://www.serenbooks.com
image:
url: '%site.assets_url%/assets/images/recommendations/mick-felton.jpg'
tags: [subscription, coaching]
-
text: |
Oliver is a pleasure to work with, and I would engage him again without hesitation. He communicates regularly, ensures that he meets requirements, and suggests improvements to the potential solutions to the brief.
name: Duncan Davidson
title: Director at Rohallion
url: https://rohallion.agency
image:
url: '%site.assets_url%/assets/images/recommendations/duncan.jpeg'
tags: [subscription, coaching]
-
text: |
We have only worked together for a short while but I can see Oliver is a Drupal expert.
We would recommend working with him for his invaluable knowledge and ability to find solutions to problems at short notice. It has been a pleasure to work with him over the years.
name: Mick Felton
title: Publisher at Poetry Wales Press Ltd (Seren Books)
url: https://www.serenbooks.com
image:
url: '%site.assets_url%/assets/images/recommendations/mick-felton.jpg'
tags: [subscription, coaching]
-
text: |
Oliver is a pleasure to work with, and I would engage him again without hesitation. He communicates regularly, ensures that he meets requirements, and suggests improvements to the potential solutions to the brief.
name: Duncan Davidson
title: Director at Rohallion
url: https://rohallion.agency
image:
url: '%site.assets_url%/assets/images/recommendations/duncan.jpeg'
tags: [subscription, coaching]
-
text: |
We have only worked together for a short while but I can see Oliver is a Drupal expert.
His technical knowledge means we have been able to make improvements to the sites we manage quickly and efficiently.
His technical knowledge means we have been able to make improvements to the sites we manage quickly and efficiently.
If we have complex issues to contend with in the future I feel confident he will be able to deal with them.
name: Anonymous
title: Marketing Strategist
tags: [subscription]
-
text: |
A fantastic and highly knowledgeable Drupal Developer. Oliver saved a struggling Drupal project with his wealth of Drupal experience.
name: Adam Cuddihy
title: Web Development Manager
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/adam.jpeg'
tags: [subscription]
-
text: |
I had the pleasure of working with Oliver whilst building the first version of our drupal based intranet. His knowledge of Drupal and the wider infrastructure required to run a site was really invaluable.
If we have complex issues to contend with in the future I feel confident he will be able to deal with them.
name: Anonymous
title: Marketing Strategist
tags: [subscription]
-
text: |
A fantastic and highly knowledgeable Drupal Developer. Oliver saved a struggling Drupal project with his wealth of Drupal experience.
name: Adam Cuddihy
title: Web Development Manager
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/adam.jpeg'
tags: [subscription]
-
text: |
I had the pleasure of working with Oliver whilst building the first version of our drupal based intranet. His knowledge of Drupal and the wider infrastructure required to run a site was really invaluable.
At the time, we were very new to Drupal, so it gave us a great platform to learn from and expand our own knowledge.
At the time, we were very new to Drupal, so it gave us a great platform to learn from and expand our own knowledge.
He's the only external contractor that we've kept in touch with over the years, which goes to show how much we valued his input.
name: Huw Davies
title: Web Dev Manager / DevOps / Team Manager at Admiral Group Plc
url: https://admiral.com
image:
url: '%site.assets_url%/assets/images/recommendations/huw.jpeg'
tags: [subscription]
-
text: |
Oliver really knows his stuff. Whether you are just starting out or looking to take your knowledge to the next level, his patient and clear way of explaining will help get you there.
name: Scott Euser
title: Head of Web Development
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/scott-euser.jpg'
tags: [testing, coaching]
-
text: |
I have had the pleasure of working with Oliver on several projects at Microserve. He is a natural innovator and a great mentor who inspires others to explore new technologies and approaches. He is a highly knowledgeable professional with a passion for all things Drupal and the tenacity required to get the job done well.
name: Alan Hatch
title: Senior Drupal Developer at Microserve
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/alan.jpeg'
tags: [coaching]
-
text: |
Oliver has been an outstanding contributor to the Drupal Association team. He is a talented developer who writes great code and applies his curiosity and love of learning to every project. He is also a fantastic team member, who gives to the team as much as he gets.
He's the only external contractor that we've kept in touch with over the years, which goes to show how much we valued his input.
name: Huw Davies
title: Web Dev Manager / DevOps / Team Manager at Admiral Group Plc
url: https://admiral.com
image:
url: '%site.assets_url%/assets/images/recommendations/huw.jpeg'
tags: [subscription]
-
text: |
Oliver really knows his stuff. Whether you are just starting out or looking to take your knowledge to the next level, his patient and clear way of explaining will help get you there.
name: Scott Euser
title: Head of Web Development
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/scott-euser.jpg'
tags: [testing, coaching]
-
text: |
I have had the pleasure of working with Oliver on several projects at Microserve. He is a natural innovator and a great mentor who inspires others to explore new technologies and approaches. He is a highly knowledgeable professional with a passion for all things Drupal and the tenacity required to get the job done well.
name: Alan Hatch
title: Senior Drupal Developer at Microserve
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/alan.jpeg'
tags: [coaching]
-
text: |
Oliver has been an outstanding contributor to the Drupal Association team. He is a talented developer who writes great code and applies his curiosity and love of learning to every project. He is also a fantastic team member, who gives to the team as much as he gets.
Oliver is the embodiment of everything good about the Drupal community.
name: Holly Ross
title: Executive Director at the Drupal Association
url: https://www.drupal.org/association
image:
url: '%site.assets_url%/assets/images/recommendations/holly-ross.png'
tags: [subscription]
-
text: |
Oliver is a skilled Drupal developer with a passion for the Drupal community. As his direct supervisor, I was able to watch Oliver grow with the Drupal Association and contribute an amazing amount of effort and integrity to all of his work.
Oliver is the embodiment of everything good about the Drupal community.
name: Holly Ross
title: Executive Director at the Drupal Association
url: https://www.drupal.org/association
image:
url: '%site.assets_url%/assets/images/recommendations/holly-ross.png'
tags: [subscription]
-
text: |
Oliver is a skilled Drupal developer with a passion for the Drupal community. As his direct supervisor, I was able to watch Oliver grow with the Drupal Association and contribute an amazing amount of effort and integrity to all of his work.
Everything we have thrown at Oliver, he has approached with an open and flexible mind that has allowed him to work on a wide range of projects and features for Drupal products.
name: Josh Mitchell
title: CTO at Drupal Association
url: https://joshuami.com
image:
url: '%site.assets_url%/assets/images/recommendations/josh-mitchell.png'
tags: [subscription]
-
text: |
Oliver was great to work with. He has expert knowledge with Drupal and delivered exactly what we were looking for on time. He's understanding, friendly and easy to get along with. I would enjoy working with him again in the future.
name: Brian Hartwell
title: Interactive Creative Director
url: ~
image: ~
tags: [subscription]
-
text: |
Oliver was fantastic to work with - pro-active and highly responsive, he worked well remotely and as part of a project team. His understanding of the project requirement(s) and ability to translate it into working code was essential and he delivered.
name: Brian Healy
title: Director of Business Development at Tincan
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/brian-healy.png'
tags: [subscription]
-
text: |
Oliver is an amazing colleague, he's professional, full of knowledge and I could not recommend him more.
name: Chris Jarvis
title: Developer at Microserve
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/chris-jarvis.jpg'
-
text: |
Oliver is seasoned Drupal and all round highly skilled and experienced web developer. I have worked with Oliver on an important project where he was reliable, prompt and ensured strict client deadline delivery and confidentiality at all times.
name: Daniel Easterbrook
title: Digital Strategy Consultant
tags: [subscription]
Everything we have thrown at Oliver, he has approached with an open and flexible mind that has allowed him to work on a wide range of projects and features for Drupal products.
name: Josh Mitchell
title: CTO at Drupal Association
url: https://joshuami.com
image:
url: '%site.assets_url%/assets/images/recommendations/josh-mitchell.png'
tags: [subscription]
-
text: |
Oliver was great to work with. He has expert knowledge with Drupal and delivered exactly what we were looking for on time. He's understanding, friendly and easy to get along with. I would enjoy working with him again in the future.
name: Brian Hartwell
title: Interactive Creative Director
url: ~
image: ~
tags: [subscription]
-
text: |
Oliver was fantastic to work with - pro-active and highly responsive, he worked well remotely and as part of a project team. His understanding of the project requirement(s) and ability to translate it into working code was essential and he delivered.
name: Brian Healy
title: Director of Business Development at Tincan
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/brian-healy.png'
tags: [subscription]
-
text: |
Oliver is an amazing colleague, he's professional, full of knowledge and I could not recommend him more.
name: Chris Jarvis
title: Developer at Microserve
url: ~
image:
url: '%site.assets_url%/assets/images/recommendations/chris-jarvis.jpg'
-
text: |
Oliver is seasoned Drupal and all round highly skilled and experienced web developer. I have worked with Oliver on an important project where he was reliable, prompt and ensured strict client deadline delivery and confidentiality at all times.
name: Daniel Easterbrook
title: Digital Strategy Consultant
tags: [subscription]

View file

@ -3,7 +3,7 @@ title: run file vs task runners
pubDate: 2022-10-19
permalink: archive/2022/10/19/run-vs-task-runners
# tags:
# -
# -
---
[I've written a few earlier emails](https://www.oliverdavies.uk/archive/2022/08/15/using-run-file-simplify-project-tasks) about `run` files - a simple bash file that I add to my projects to simplify or combine common commands that I need to run often.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/archive/2022/10/28/why-write-framework-agnostic-packages) but didn't mention where those packages could be located.

View file

@ -1,12 +1,12 @@
---
title: >
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.

View file

@ -1,12 +1,12 @@
---
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
# - a
# - b
---
It's been common for me whilst working on software projects to have work organised into sprints or cycles - a period, usually between 1 and 3 weeks, where the team is working on stories and tasks for that project.

View file

@ -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
---
Im happy to have had a conference talk proposal accepted for what will be my first in-person conference since DrupalCamp London in February 2020.

View file

@ -1,12 +1,12 @@
---
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
# - a
# - b
---
This morning, I was asked a “Could you build…” question.

View file

@ -1,12 +1,12 @@
---
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
# - a
# - b
---
Yesterday's email was about a proof-of-concept application that Id quickly built to validate an idea and explore some initial approaches.

View file

@ -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?

View file

@ -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:

View file

@ -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.

View file

@ -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 Ive worked on in the past havent had an automated test suite.

View file

@ -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.

View file

@ -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).

View file

@ -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?

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/archive/2022/11/20/version-controlled-commented-out-code) talked about whether commented-out code should be present if your code is version-controlled, but how do you avoid committing it in the first place?

View file

@ -1,12 +1,12 @@
---
title: >
tldr
tldr
pubDate: 2022-11-22
permalink: >-
archive/2022/11/22/tldr
archive/2022/11/22/tldr
# tags:
# - a
# - b
# - a
# - b
---
`tldr` is a command-line tool that I've been using a lot recently.

View file

@ -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”.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/archive/2022/11/20/version-controlled-commented-out-code), I wrote about commented-out code and whether it should remain in a codebase - especially if it's version controlled and there's a commit log of all changes.

View file

@ -1,9 +1,9 @@
---
title: >
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:

View file

@ -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).

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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".

View file

@ -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.

View file

@ -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`?

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css)" talk at the Drupal Bristol meetup in January 2018.

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features) being written in JavaScript is that they can be tested using tools like Jest.

View file

@ -1,11 +1,11 @@
---
title: >
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.

View file

@ -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.

View file

@ -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
---
@ -28,7 +28,7 @@ The simplest way to remove the duplication is to create a variable that holds th
```astro
---
const linkClasses = "py-2 block border-b-2 border-transparent hover:border-blue-500 hover:text-blue-500 focus:outline-none focus:bg-yellow-400 focus:border-current";
const linkClasses = "py-2 block border-b-2 border-transparent hover:border-blue-500 hover:text-blue-500 focus:outline-none focus:bg-yellow-400 focus:border-current";
---
<li><a class={linkClasses} href="#0">About</a></li>
@ -69,11 +69,11 @@ For example, in Astro:
```astro
---
const links = [
{ name: "About" },
{ name: "Blog" },
{ name: "Talks" },
{ name: "Daily list" },
{ name: "Search" },
{ name: "About" },
{ name: "Blog" },
{ name: "Talks" },
{ name: "Daily list" },
{ name: "Search" },
];
---

View file

@ -1,12 +1,12 @@
---
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
# - a
# - b
---
I took a bit of time off from these emails whilst I was preparing for the first PHP Stoke event which happened last week in Stoke-on-Trent.

View file

@ -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](https://www.oliverdavies.uk/talks/things-you-should-know-about-php) - a talk that I was originally asked to give at the Swansea Software Development Meetup (SSDC) in January 2019, and this was the second time that I've been asked to give this talk at a PHP meetup.

View file

@ -1,11 +1,11 @@
---
title: >
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.

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css), I've described Tailwind as a CSS utility class generator. You write a configuration file that Tailwind reads and generates the appropriate classes.

View file

@ -1,12 +1,12 @@
---
title: >
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).

View file

@ -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](https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css) talk, I created examples that relate to the event such as something related to that technology or event.

View file

@ -1,11 +1,11 @@
---
title: >
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.

View file

@ -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](https://www.oliverdavies.uk/archive/2023/01/23/debugging-with-git-bisect) as well as reviewing pull/merge requests and commits is to have small (aka "atomic") commits.

View file

@ -1,11 +1,11 @@
---
title: >
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.

View file

@ -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](https://www.oliverdavies.uk).

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/archive/2023/02/08/fetching-api-data-with-astro), you can also use Astro to generate your own API endpoints.

View file

@ -1,12 +1,12 @@
---
title: >
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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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: []
---

View file

@ -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](https://www.oliverdavies.uk/archive/2022/10/24/looking-at-localgov-drupal), today I added a LocalGov Drupal example to my [Docker Examples repository](https://github.com/opdavies/docker-examples/tree/main/drupal-localgov).

View file

@ -1,9 +1,9 @@
---
title: >
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.

View file

@ -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: []
---

View file

@ -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?

View file

@ -1,12 +1,12 @@
---
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
# - a
# - b
---
Of the three tools I mentioned in yesterday's email - Ansible, Terraform and Pulumi - I mostly use Pulumi these days for writing automation code.

View file

@ -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: []
---

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -1,12 +1,12 @@
---
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
# - a
# - b
---
I've recently started as a Mentor for the School of Code, working with a student on their cohort that started last week. Whilst the Bootcamp is focussed on JavaScript and node, and is currently looking at front-end development and using APIs, we've already started talking about different back-end technologies and frameworks.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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](https://www.oliverdavies.uk/blog/going-full-vim), I've used Neovim full-time for my development work and writing.

View file

@ -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:

View file

@ -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.

View file

@ -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:

View file

@ -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: []
---

View file

@ -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: []
---

View file

@ -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.

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