Use four spaces in frontmatter blocks
This commit is contained in:
parent
f3756a80a6
commit
11ae0f9fc7
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 I’d quickly built to validate an idea and explore some initial approaches.
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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”.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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".
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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`?
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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" },
|
||||
];
|
||||
---
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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: []
|
||||
---
|
||||
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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: []
|
||||
---
|
||||
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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: []
|
||||
---
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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: []
|
||||
---
|
||||
|
||||
|
|
|
@ -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: []
|
||||
---
|
||||
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue