diff --git a/app/config/sculpin_site.yml b/app/config/sculpin_site.yml index dbf7aad8..f686c601 100644 --- a/app/config/sculpin_site.yml +++ b/app/config/sculpin_site.yml @@ -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 diff --git a/app/config/sculpin_site_prod.yml b/app/config/sculpin_site_prod.yml index 0bbbc874..ef9b43d9 100644 --- a/app/config/sculpin_site_prod.yml +++ b/app/config/sculpin_site_prod.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 diff --git a/data/menus.yml b/data/menus.yml index 76d703fc..6874fca5 100644 --- a/data/menus.yml +++ b/data/menus.yml @@ -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 diff --git a/data/meta.yml b/data/meta.yml index 6d9eb25b..1e697f9a 100644 --- a/data/meta.yml +++ b/data/meta.yml @@ -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. diff --git a/data/testimonials.yml b/data/testimonials.yml index cad2c8f5..5f80c4e4 100644 --- a/data/testimonials.yml +++ b/data/testimonials.yml @@ -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] diff --git a/source/_daily_emails/2022-10-19.md b/source/_daily_emails/2022-10-19.md index 785a3b42..9e70fea7 100644 --- a/source/_daily_emails/2022-10-19.md +++ b/source/_daily_emails/2022-10-19.md @@ -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. diff --git a/source/_daily_emails/2022-10-20.md b/source/_daily_emails/2022-10-20.md index 3bd4a841..7ba9c596 100644 --- a/source/_daily_emails/2022-10-20.md +++ b/source/_daily_emails/2022-10-20.md @@ -1,11 +1,11 @@ --- title: > - Cherry picking commits is an anti-pattern + Cherry picking commits is an anti-pattern pubDate: 2022-10-20 permalink: >- - archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern + archive/2022/10/20/cherry-picking-commits-is-an-anti-pattern tags: - - git + - git --- `git cherry-pick` is a command that allows you to re-apply changes from existing commits - typically moving commits from one branch to another. Whilst it's good for some use-cases, I believe that it's generally an anti-pattern. diff --git a/source/_daily_emails/2022-10-21.md b/source/_daily_emails/2022-10-21.md index 378ac054..b523ff73 100644 --- a/source/_daily_emails/2022-10-21.md +++ b/source/_daily_emails/2022-10-21.md @@ -1,11 +1,11 @@ --- title: > - Automated testing and test-driven development are not the same + Automated testing and test-driven development are not the same pubDate: 2022-10-21 permalink: >- - archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same + archive/2022/10/21/automated-testing-and-test-driven-development-are-not-the-same tags: - - testing + - testing --- Automated testing is where you write tests to ensure that your code works as expected, which can be re-run as needed and executed automatically without user input. diff --git a/source/_daily_emails/2022-10-24.md b/source/_daily_emails/2022-10-24.md index 7e1c2d26..bb528887 100644 --- a/source/_daily_emails/2022-10-24.md +++ b/source/_daily_emails/2022-10-24.md @@ -1,11 +1,11 @@ --- title: > - Looking at LocalGov Drupal + Looking at LocalGov Drupal pubDate: 2022-10-24 permalink: >- - archive/2022/10/24/looking-at-localgov-drupal + archive/2022/10/24/looking-at-localgov-drupal tags: - - drupal + - drupal --- Today, I've been looking at [LocalGov](https://localgovdrupal.org) - a Drupal distribution for building council websites, with a focus on code reuse and collaboration. diff --git a/source/_daily_emails/2022-10-25.md b/source/_daily_emails/2022-10-25.md index 738a677c..ccd19175 100644 --- a/source/_daily_emails/2022-10-25.md +++ b/source/_daily_emails/2022-10-25.md @@ -1,11 +1,11 @@ --- title: > - What are Drupal distributions? + What are Drupal distributions? pubDate: 2022-10-25 permalink: >- - archive/2022/10/25/what-are-drupal-distributions + archive/2022/10/25/what-are-drupal-distributions tags: - - drupal + - drupal --- Yesterday's email was about the LocalGov Drupal distribution that I've been looking at, but I glossed over what a Drupal distribution is. diff --git a/source/_daily_emails/2022-10-26.md b/source/_daily_emails/2022-10-26.md index c4314cd9..4ee9593c 100644 --- a/source/_daily_emails/2022-10-26.md +++ b/source/_daily_emails/2022-10-26.md @@ -1,11 +1,11 @@ --- title: > - Neovim as a Personalised Development Environment + Neovim as a Personalised Development Environment pubDate: 2022-10-26 permalink: >- - archive/2022/10/26/neovim-as-a-personalised-development-environment + archive/2022/10/26/neovim-as-a-personalised-development-environment tags: - - neovim + - neovim --- A few months ago, TJ DeVries (a Neovim core team member) coined the phrase "Personalised Development Environment" or PDE. diff --git a/source/_daily_emails/2022-10-27.md b/source/_daily_emails/2022-10-27.md index 02878910..ea785f9e 100644 --- a/source/_daily_emails/2022-10-27.md +++ b/source/_daily_emails/2022-10-27.md @@ -1,9 +1,9 @@ --- title: > - Getting back into live streaming + Getting back into live streaming pubDate: 2022-10-27 permalink: >- - archive/2022/10/27/getting-back-into-live-streaming + archive/2022/10/27/getting-back-into-live-streaming --- Surprisingly, it's been two and a half years since I last did a live coding stream. diff --git a/source/_daily_emails/2022-10-28.md b/source/_daily_emails/2022-10-28.md index 3879b65b..caadfe4b 100644 --- a/source/_daily_emails/2022-10-28.md +++ b/source/_daily_emails/2022-10-28.md @@ -1,11 +1,11 @@ --- title: > - Why write framework agnostic packages? + Why write framework agnostic packages? pubDate: 2022-10-28 permalink: >- - archive/2022/10/28/why-write-framework-agnostic-packages + archive/2022/10/28/why-write-framework-agnostic-packages tags: - - php + - php --- A couple of years ago, I wrote an integration for a client's Drupal Commerce website with an online eBook service as they wanted to sell eBook variations of their products. diff --git a/source/_daily_emails/2022-10-29.md b/source/_daily_emails/2022-10-29.md index 8141ed2e..dd0312b4 100644 --- a/source/_daily_emails/2022-10-29.md +++ b/source/_daily_emails/2022-10-29.md @@ -1,11 +1,11 @@ --- title: > - The open-source-first development workflow + The open-source-first development workflow pubDate: 2022-10-29 permalink: >- - archive/2022/10/29/the-open-source-first-development-workflow + archive/2022/10/29/the-open-source-first-development-workflow tags: - - open-source + - open-source --- Yesterday's email talked about [writing reusable, framework-agnostic packages](https://www.oliverdavies.uk/archive/2022/10/28/why-write-framework-agnostic-packages) but didn't mention where those packages could be located. diff --git a/source/_daily_emails/2022-10-30.md b/source/_daily_emails/2022-10-30.md index 658bdb67..2d65a4e2 100644 --- a/source/_daily_emails/2022-10-30.md +++ b/source/_daily_emails/2022-10-30.md @@ -1,12 +1,12 @@ --- title: > - Refactoring one large test into multiple smaller tests + Refactoring one large test into multiple smaller tests pubDate: 2022-10-30 permalink: >- - archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests + archive/2022/10/30/refactoring-one-large-test-into-multiple-smaller-tests tags: - - php - - phpunit + - php + - phpunit --- Today I spent some time refactoring a large test within a client project, splitting it into several smaller tests. The commit removed 169 lines but added 233 lines. diff --git a/source/_daily_emails/2022-11-08.md b/source/_daily_emails/2022-11-08.md index 58fe6863..9622d46b 100644 --- a/source/_daily_emails/2022-11-08.md +++ b/source/_daily_emails/2022-11-08.md @@ -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. diff --git a/source/_daily_emails/2022-11-09.md b/source/_daily_emails/2022-11-09.md index 7338a311..dd5bbf53 100644 --- a/source/_daily_emails/2022-11-09.md +++ b/source/_daily_emails/2022-11-09.md @@ -1,9 +1,9 @@ --- title: > - Your conference talk has been accepted + Your conference talk has been accepted pubDate: 2022-11-09 permalink: >- - archive/2022/11/09/your-conference-talk-has-been-accepted + archive/2022/11/09/your-conference-talk-has-been-accepted --- I’m happy to have had a conference talk proposal accepted for what will be my first in-person conference since DrupalCamp London in February 2020. diff --git a/source/_daily_emails/2022-11-11.md b/source/_daily_emails/2022-11-11.md index f13a3663..e3f3f7a8 100644 --- a/source/_daily_emails/2022-11-11.md +++ b/source/_daily_emails/2022-11-11.md @@ -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. diff --git a/source/_daily_emails/2022-11-12.md b/source/_daily_emails/2022-11-12.md index 4a49796c..509b8e26 100644 --- a/source/_daily_emails/2022-11-12.md +++ b/source/_daily_emails/2022-11-12.md @@ -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. diff --git a/source/_daily_emails/2022-11-13.md b/source/_daily_emails/2022-11-13.md index 2887c033..a6a54001 100644 --- a/source/_daily_emails/2022-11-13.md +++ b/source/_daily_emails/2022-11-13.md @@ -1,11 +1,11 @@ --- title: > - How I manage multiple Drupal websites using the same codebase + How I manage multiple Drupal websites using the same codebase pubDate: 2022-11-13 permalink: >- - archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase + archive/2022/11/13/how-i-manage-multiple-drupal-websites-using-the-same-codebase tags: - - drupal + - drupal --- In my last email, I mentioned that I maintain several Drupal websites for a client using the same codebase, but how do I do that? diff --git a/source/_daily_emails/2022-11-14.md b/source/_daily_emails/2022-11-14.md index 9fb162f3..ceb21c10 100644 --- a/source/_daily_emails/2022-11-14.md +++ b/source/_daily_emails/2022-11-14.md @@ -1,11 +1,11 @@ --- title: > - Camel-case or snake-case for test methods? + Camel-case or snake-case for test methods? pubDate: 2022-11-14 permalink: >- - archive/2022/11/14/camel-case-or-snake-case-for-test-methods + archive/2022/11/14/camel-case-or-snake-case-for-test-methods tags: - - testing + - testing --- When writing object-orientated code, particularly in PHP, you usually write method names using camel-case letters - such as: diff --git a/source/_daily_emails/2022-11-15.md b/source/_daily_emails/2022-11-15.md index 11bdc89d..8f5ced48 100644 --- a/source/_daily_emails/2022-11-15.md +++ b/source/_daily_emails/2022-11-15.md @@ -1,11 +1,11 @@ --- title: > - Writing good automated test names + Writing good automated test names pubDate: 2022-11-15 permalink: >- - archive/2022/11/15/writing-good-automated-test-names + archive/2022/11/15/writing-good-automated-test-names tags: - - testing + - testing --- Something that I often see in code examples or tutorials are test methods like `testGet` or `testAdd`, or `testSubtract`. Short method names that don't describe the scenario that they're testing in much detail. diff --git a/source/_daily_emails/2022-11-16.md b/source/_daily_emails/2022-11-16.md index ea3d988e..a87d4965 100644 --- a/source/_daily_emails/2022-11-16.md +++ b/source/_daily_emails/2022-11-16.md @@ -1,11 +1,11 @@ --- title: > - Why don't you write automated tests? + Why don't you write automated tests? pubDate: 2022-11-16 permalink: >- - archive/2022/11/16/why-don't-you-write-automated-tests + archive/2022/11/16/why-don't-you-write-automated-tests tags: - - testing + - testing --- Many projects I’ve worked on in the past haven’t had an automated test suite. diff --git a/source/_daily_emails/2022-11-17.md b/source/_daily_emails/2022-11-17.md index 9c03c195..5f23e828 100644 --- a/source/_daily_emails/2022-11-17.md +++ b/source/_daily_emails/2022-11-17.md @@ -1,9 +1,9 @@ --- title: > - Agnostic CI pipelines with run files + Agnostic CI pipelines with run files pubDate: 2022-11-17 permalink: >- - archive/2022/11/17/agnostic-ci-pipelines-with-run-files + archive/2022/11/17/agnostic-ci-pipelines-with-run-files --- As I work on various projects, I use several different CI tools, such as GitHub Actions, Bitbucket Pipelines, and GitLab CI, as well as hosting providers that have build and deploy steps. diff --git a/source/_daily_emails/2022-11-18.md b/source/_daily_emails/2022-11-18.md index f232c89b..5fc60e49 100644 --- a/source/_daily_emails/2022-11-18.md +++ b/source/_daily_emails/2022-11-18.md @@ -1,11 +1,11 @@ --- title: > - One test a day keeps bugs away + One test a day keeps bugs away pubDate: 2022-11-18 permalink: >- - archive/2022/11/18/one-test-a-day-keeps-bugs-away + archive/2022/11/18/one-test-a-day-keeps-bugs-away tags: - - testing + - testing --- This is a quote from a presentation by Diego Aguiar at SymfonyCon that I saw from [a tweet from SymfonyCasts](https://twitter.com/SymfonyCasts/status/1593551105471938560?t=A8wnRUa0tLbb2q5qLhcQnA). diff --git a/source/_daily_emails/2022-11-19.md b/source/_daily_emails/2022-11-19.md index d40cd030..3df4dfec 100644 --- a/source/_daily_emails/2022-11-19.md +++ b/source/_daily_emails/2022-11-19.md @@ -1,9 +1,9 @@ --- title: > - Are missing tests a blocker to refactoring? + Are missing tests a blocker to refactoring? pubDate: 2022-11-19 permalink: >- - archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring + archive/2022/11/19/are-missing-tests-a-blocker-to-refactoring --- Is having automated tests a prerequisite for refactoring a piece of code? diff --git a/source/_daily_emails/2022-11-20.md b/source/_daily_emails/2022-11-20.md index 216485a8..9591038b 100644 --- a/source/_daily_emails/2022-11-20.md +++ b/source/_daily_emails/2022-11-20.md @@ -1,11 +1,11 @@ --- title: > - Version-controlled commented-out code + Version-controlled commented-out code pubDate: 2022-11-20 permalink: >- - archive/2022/11/20/version-controlled-commented-out-code + archive/2022/11/20/version-controlled-commented-out-code tags: - - git + - git --- Today, whilst debugging some legacy code within an application, I found several blocks of commented-out code. diff --git a/source/_daily_emails/2022-11-21.md b/source/_daily_emails/2022-11-21.md index 730c1c8c..dfb1d6c4 100644 --- a/source/_daily_emails/2022-11-21.md +++ b/source/_daily_emails/2022-11-21.md @@ -1,11 +1,11 @@ --- title: > - Git tricks to avoid committing commented-out and other unneeded code + Git tricks to avoid committing commented-out and other unneeded code pubDate: 2022-11-21 permalink: >- - archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code + archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code tags: - - git + - git --- [Yesterday's email](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? diff --git a/source/_daily_emails/2022-11-22.md b/source/_daily_emails/2022-11-22.md index d43abe15..a8396c73 100644 --- a/source/_daily_emails/2022-11-22.md +++ b/source/_daily_emails/2022-11-22.md @@ -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. diff --git a/source/_daily_emails/2022-11-23.md b/source/_daily_emails/2022-11-23.md index 8d95b4de..999185cc 100644 --- a/source/_daily_emails/2022-11-23.md +++ b/source/_daily_emails/2022-11-23.md @@ -1,11 +1,11 @@ --- title: > - Do you need to branch if you're the only one working on a project? + Do you need to branch if you're the only one working on a project? pubDate: 2022-11-23 permalink: >- - archive/2022/11/23/do-you-need-to-branch + archive/2022/11/23/do-you-need-to-branch tags: - - git + - git --- Yesterday, I [saw a tweet](https://twitter.com/scottkeckwarren/status/1594752744165847040) where the writer said they were “falling into the branch, pull request, and merge after actions pass I use at work even though I'm the only one working on it”. diff --git a/source/_daily_emails/2022-11-24.md b/source/_daily_emails/2022-11-24.md index 425ddffe..e4c6e2bb 100644 --- a/source/_daily_emails/2022-11-24.md +++ b/source/_daily_emails/2022-11-24.md @@ -1,9 +1,9 @@ --- title: > - Doing the simplest possible thing + Doing the simplest possible thing pubDate: 2022-11-24 permalink: >- - archive/2022/11/24/doing-the-simplest-possible-thing + archive/2022/11/24/doing-the-simplest-possible-thing --- I spent most of today working on some code I wrote for the first phase of a client project a few months ago. diff --git a/source/_daily_emails/2022-11-25.md b/source/_daily_emails/2022-11-25.md index ade7cbe8..efbb988b 100644 --- a/source/_daily_emails/2022-11-25.md +++ b/source/_daily_emails/2022-11-25.md @@ -1,9 +1,9 @@ --- title: > - Plan, then code + Plan, then code pubDate: 2022-11-25 permalink: >- - archive/2022/11/25/plan-then-code + archive/2022/11/25/plan-then-code --- Recently I [saw this tweet](https://twitter.com/OneJKMolina/status/1303047499238776832) in a screenshot on a LinkedIn post. diff --git a/source/_daily_emails/2022-11-30.md b/source/_daily_emails/2022-11-30.md index e7bd74f3..c747e9c3 100644 --- a/source/_daily_emails/2022-11-30.md +++ b/source/_daily_emails/2022-11-30.md @@ -1,11 +1,11 @@ --- title: > - Ship, Show or Ask + Ship, Show or Ask pubDate: 2022-11-30 permalink: >- - archive/2022/11/30/ship-show-or-ask + archive/2022/11/30/ship-show-or-ask tags: - - git + - git --- "Ship / Show / Ask" describes itself as a self-described modern branching strategy that combines the features of pull or merge requests with the ability to keep shipping changes. diff --git a/source/_daily_emails/2022-12-01.md b/source/_daily_emails/2022-12-01.md index 49710417..d051e2b9 100644 --- a/source/_daily_emails/2022-12-01.md +++ b/source/_daily_emails/2022-12-01.md @@ -1,9 +1,9 @@ --- title: > - Writing readable code + Writing readable code pubDate: 2022-12-01 permalink: >- - archive/2022/12/01/writing-readable-code + archive/2022/12/01/writing-readable-code --- This week, I needed to investigate and fix a bug within some existing code. diff --git a/source/_daily_emails/2022-12-02.md b/source/_daily_emails/2022-12-02.md index 4224cc61..aef90b19 100644 --- a/source/_daily_emails/2022-12-02.md +++ b/source/_daily_emails/2022-12-02.md @@ -1,9 +1,9 @@ --- title: > - Commit and push something every day + Commit and push something every day pubDate: 2022-12-02 permalink: >- - archive/2022/12/02/commit-and-push-something-every-day + archive/2022/12/02/commit-and-push-something-every-day --- One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day. diff --git a/source/_daily_emails/2022-12-03.md b/source/_daily_emails/2022-12-03.md index cf58f876..b6e14421 100644 --- a/source/_daily_emails/2022-12-03.md +++ b/source/_daily_emails/2022-12-03.md @@ -1,9 +1,9 @@ --- title: > - What to do with TODO comments + What to do with TODO comments pubDate: 2022-12-03 permalink: >- - archive/2022/12/03/what-to-do-with-todo-comments + archive/2022/12/03/what-to-do-with-todo-comments --- [In a previous email](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. diff --git a/source/_daily_emails/2022-12-04.md b/source/_daily_emails/2022-12-04.md index 347bf8c0..6ac36ec6 100644 --- a/source/_daily_emails/2022-12-04.md +++ b/source/_daily_emails/2022-12-04.md @@ -1,9 +1,9 @@ --- title: > - Writing "Why first" user stories + Writing "Why first" user stories pubDate: 2022-12-04 permalink: >- - archive/2022/12/04/writing-why-first-user-stories + archive/2022/12/04/writing-why-first-user-stories --- I've usually written user stories that follow this format: diff --git a/source/_daily_emails/2022-12-05.md b/source/_daily_emails/2022-12-05.md index 4d5e2626..3077f9c4 100644 --- a/source/_daily_emails/2022-12-05.md +++ b/source/_daily_emails/2022-12-05.md @@ -1,9 +1,9 @@ --- title: > - Outcomes or output + Outcomes or output pubDate: 2022-12-05 permalink: >- - archive/2022/12/05/outcomes-or-output + archive/2022/12/05/outcomes-or-output --- I was reading a Twitter thread recently that [started with this tweet](https://twitter.com/allenholub/status/1594786089994067969). diff --git a/source/_daily_emails/2022-12-06.md b/source/_daily_emails/2022-12-06.md index b10ece4b..9acf7daa 100644 --- a/source/_daily_emails/2022-12-06.md +++ b/source/_daily_emails/2022-12-06.md @@ -1,9 +1,9 @@ --- title: > - Should you comment your code? + Should you comment your code? pubDate: 2022-12-06 permalink: >- - archive/2022/12/06/should-you-comment-your-code + archive/2022/12/06/should-you-comment-your-code --- Something that I hear often is "self-documenting code", and that code should be easy to understand without comments. diff --git a/source/_daily_emails/2022-12-07.md b/source/_daily_emails/2022-12-07.md index 592e4157..21b395b7 100644 --- a/source/_daily_emails/2022-12-07.md +++ b/source/_daily_emails/2022-12-07.md @@ -1,9 +1,9 @@ --- title: > - Separating releases from deployments with feature flags + Separating releases from deployments with feature flags pubDate: 2022-12-07 permalink: >- - archive/2022/12/07/separating-releases-from-deployments-with-feature-flags + archive/2022/12/07/separating-releases-from-deployments-with-feature-flags --- In a typical feature release process, a feature is released when you merge the code and push it to production. diff --git a/source/_daily_emails/2022-12-08.md b/source/_daily_emails/2022-12-08.md index d09fe2fb..38182ae5 100644 --- a/source/_daily_emails/2022-12-08.md +++ b/source/_daily_emails/2022-12-08.md @@ -1,11 +1,11 @@ --- title: > - The Decorator design pattern + The Decorator design pattern pubDate: 2022-12-08 permalink: >- - archive/2022/12/08/the-decorator-design-pattern + archive/2022/12/08/the-decorator-design-pattern tags: - - design-patterns + - design-patterns --- Decorator is a structural design pattern that allows you to add extra functionality, such as if you want to add caching or logging to a service, without changing the original class. diff --git a/source/_daily_emails/2022-12-09.md b/source/_daily_emails/2022-12-09.md index 937186a7..e23537b3 100644 --- a/source/_daily_emails/2022-12-09.md +++ b/source/_daily_emails/2022-12-09.md @@ -1,12 +1,12 @@ --- title: > - How and why I started using PostCSS + How and why I started using PostCSS pubDate: 2022-12-09 permalink: >- - archive/2022/12/09/how-and-why-i-started-using-postcss + archive/2022/12/09/how-and-why-i-started-using-postcss tags: - - css - - front-end + - css + - front-end --- I assume that, like many other Developers, when I started learning front-end development, I wrote normal, plain CSS and later discovered and adopted pre-processors like Less and Sass that added features such as variables and nesting to my stylesheets. diff --git a/source/_daily_emails/2022-12-10.md b/source/_daily_emails/2022-12-10.md index 6fd0ad1a..13f74b37 100644 --- a/source/_daily_emails/2022-12-10.md +++ b/source/_daily_emails/2022-12-10.md @@ -1,12 +1,12 @@ --- title: > - Managing databases with Neovim and Docker + Managing databases with Neovim and Docker pubDate: 2022-12-10 permalink: >- - archive/2022/12/10/managing-databases-with-neovim-and-docker + archive/2022/12/10/managing-databases-with-neovim-and-docker tags: - - docker - - neovim + - docker + - neovim --- If you work on software projects that use a database, you need a convenient way to connect, inspect, and query them. diff --git a/source/_daily_emails/2022-12-15.md b/source/_daily_emails/2022-12-15.md index d3b2b793..6bd18bb7 100644 --- a/source/_daily_emails/2022-12-15.md +++ b/source/_daily_emails/2022-12-15.md @@ -1,12 +1,12 @@ --- title: > - Happy Drupal 10 release day! + Happy Drupal 10 release day! pubDate: 2022-12-15 permalink: >- - archive/2022/12/15/happy-drupal-10-release-day + archive/2022/12/15/happy-drupal-10-release-day tags: - - drupal - - php + - drupal + - php --- Today, Drupal 10 was released alongside Drupal 9.5. diff --git a/source/_daily_emails/2022-12-20.md b/source/_daily_emails/2022-12-20.md index 2f8c877a..163758a9 100644 --- a/source/_daily_emails/2022-12-20.md +++ b/source/_daily_emails/2022-12-20.md @@ -1,12 +1,12 @@ --- title: > - Automating all the things, including infrastructure + Automating all the things, including infrastructure pubDate: 2022-12-20 permalink: >- - archive/2022/12/20/automating-all-the-things,-including-infrastructure + archive/2022/12/20/automating-all-the-things,-including-infrastructure tags: - - automation - - devops + - automation + - devops --- I'm a big advocate for automation, from having a reproducible Docker and Docker Compose environment, automated tests, static analysis, and code linting in my projects to running them automatically on every push to a remote repository using a CI pipeline. diff --git a/source/_daily_emails/2022-12-21.md b/source/_daily_emails/2022-12-21.md index d0f77073..10d6959d 100644 --- a/source/_daily_emails/2022-12-21.md +++ b/source/_daily_emails/2022-12-21.md @@ -1,9 +1,9 @@ --- title: > - Duck typing + Duck typing pubDate: 2022-12-21 permalink: >- - archive/2022/12/21/duck-typing + archive/2022/12/21/duck-typing --- If it looks like a duck, walks like a duck, and quacks like a duck, it must be a duck. diff --git a/source/_daily_emails/2022-12-22.md b/source/_daily_emails/2022-12-22.md index c5c854cb..d3cf8e2a 100644 --- a/source/_daily_emails/2022-12-22.md +++ b/source/_daily_emails/2022-12-22.md @@ -1,9 +1,9 @@ --- title: > - The Boy Scout rule + The Boy Scout rule pubDate: 2022-12-22 permalink: >- - archive/2022/12/22/the-boy-scout-rule + archive/2022/12/22/the-boy-scout-rule --- The Boy Scout rule is "Always leave the campground cleaner than you found it". diff --git a/source/_daily_emails/2022-12-23.md b/source/_daily_emails/2022-12-23.md index c295fd9e..6f1d84b7 100644 --- a/source/_daily_emails/2022-12-23.md +++ b/source/_daily_emails/2022-12-23.md @@ -1,11 +1,11 @@ --- title: > - Speaking at PHP Stoke and nor(DEV):con + Speaking at PHP Stoke and nor(DEV):con pubDate: 2022-12-23 permalink: >- - archive/2022/12/23/speaking-at-php-stoke-and-nordevcon + archive/2022/12/23/speaking-at-php-stoke-and-nordevcon tags: - - public-speaking + - public-speaking --- I had some early presents this month and have been accepted to present talks at the new PHP Stoke meetup and the Norfolk Developers Conference. diff --git a/source/_daily_emails/2022-12-28.md b/source/_daily_emails/2022-12-28.md index 965ed3d7..cd5bc901 100644 --- a/source/_daily_emails/2022-12-28.md +++ b/source/_daily_emails/2022-12-28.md @@ -1,11 +1,11 @@ --- title: > - Debugging gitignore rules + Debugging gitignore rules pubDate: 2022-12-28 permalink: >- - archive/2022/12/28/debugging-gitignore-rules + archive/2022/12/28/debugging-gitignore-rules tags: - - git + - git --- Have you wondered why a file or directory is being ignored in your Git repository and isn't appearing when you run `git status`? diff --git a/source/_daily_emails/2022-12-29.md b/source/_daily_emails/2022-12-29.md index 566e39e0..0f5542fb 100644 --- a/source/_daily_emails/2022-12-29.md +++ b/source/_daily_emails/2022-12-29.md @@ -1,9 +1,9 @@ --- title: > - What is the cost of a bug? + What is the cost of a bug? pubDate: 2022-12-29 permalink: >- - archive/2022/12/29/what-is-the-cost-of-a-bug + archive/2022/12/29/what-is-the-cost-of-a-bug --- All software has bugs, but each has a different cost depending on when and where it's found. diff --git a/source/_daily_emails/2022-12-30.md b/source/_daily_emails/2022-12-30.md index 1156f1db..48a0bbc0 100644 --- a/source/_daily_emails/2022-12-30.md +++ b/source/_daily_emails/2022-12-30.md @@ -1,11 +1,11 @@ --- title: > - Tests are living documentation + Tests are living documentation pubDate: 2022-12-30 permalink: >- - archive/2022/12/30/tests-are-living-documentation + archive/2022/12/30/tests-are-living-documentation tags: - - testing + - testing --- Today I was working on a project and made a one-line change that updated a single value within an API response. diff --git a/source/_daily_emails/2022-12-31.md b/source/_daily_emails/2022-12-31.md index dad74b5e..a925d280 100644 --- a/source/_daily_emails/2022-12-31.md +++ b/source/_daily_emails/2022-12-31.md @@ -1,11 +1,11 @@ --- title: > - Just start writing + Just start writing pubDate: 2022-12-31 permalink: >- - archive/2022/12/31/just-start-writing + archive/2022/12/31/just-start-writing tags: - - productivity + - productivity --- Whether it's writing code or a technical design document, diagnosing an issue, or working on a blog post or a presentation deck, sometimes, the hardest part for me is getting started. diff --git a/source/_daily_emails/2023-01-01.md b/source/_daily_emails/2023-01-01.md index a58d5e27..2180730a 100644 --- a/source/_daily_emails/2023-01-01.md +++ b/source/_daily_emails/2023-01-01.md @@ -1,12 +1,12 @@ --- title: > - Types and static analysis saved me today + Types and static analysis saved me today pubDate: 2023-01-01 permalink: >- - archive/2023/01/01/types-and-static-analysis-saved-me-today + archive/2023/01/01/types-and-static-analysis-saved-me-today tags: - - static-analysis - - types + - static-analysis + - types --- Today I was writing Pulumi code in Typescript, and I although I have autocompletion, I mistyped the name of a property. diff --git a/source/_daily_emails/2023-01-02.md b/source/_daily_emails/2023-01-02.md index 26df9ffd..8c6cdec2 100644 --- a/source/_daily_emails/2023-01-02.md +++ b/source/_daily_emails/2023-01-02.md @@ -1,11 +1,11 @@ --- title: > - Don't use arbitrary values in Tailwind CSS + Don't use arbitrary values in Tailwind CSS pubDate: 2023-01-02 permalink: >- - archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css + archive/2023/01/02/dont-use-arbitrary-values-in-tailwind-css tags: - - tailwind-css + - tailwind-css --- It's been almost five years since I gave the first version of my "[Taking Flight with Tailwind CSS](https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css)" talk at the Drupal Bristol meetup in January 2018. diff --git a/source/_daily_emails/2023-01-03.md b/source/_daily_emails/2023-01-03.md index 90d14178..da8d7223 100644 --- a/source/_daily_emails/2023-01-03.md +++ b/source/_daily_emails/2023-01-03.md @@ -1,11 +1,11 @@ --- title: > - Tailwind CSS' extensibility is one of its best features + Tailwind CSS' extensibility is one of its best features pubDate: 2023-01-03 permalink: >- - archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features + archive/2023/01/03/tailwind-css-extensibility-is-one-of-its-best-features tags: - - tailwind-css + - tailwind-css --- As well as the library of utility CSS classes that Tailwind provides, the ability to easily add your own has been one of my main advantages of using it. diff --git a/source/_daily_emails/2023-01-04.md b/source/_daily_emails/2023-01-04.md index 0fc5481b..db6b40e5 100644 --- a/source/_daily_emails/2023-01-04.md +++ b/source/_daily_emails/2023-01-04.md @@ -1,11 +1,11 @@ --- title: > - Testable Tailwind CSS plugins + Testable Tailwind CSS plugins pubDate: 2023-01-04 permalink: >- - archive/2023/01/04/testable-tailwind-css-plugins + archive/2023/01/04/testable-tailwind-css-plugins tags: - - tailwind-css + - tailwind-css --- A great thing about [Tailwind CSS plugins](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. diff --git a/source/_daily_emails/2023-01-05.md b/source/_daily_emails/2023-01-05.md index f801ac02..13e51ee8 100644 --- a/source/_daily_emails/2023-01-05.md +++ b/source/_daily_emails/2023-01-05.md @@ -1,11 +1,11 @@ --- title: > - Adding Tailwind CSS to an existing project + Adding Tailwind CSS to an existing project pubDate: 2023-01-05 permalink: >- - archive/2023/01/05/adding-tailwind-to-an-existing-project + archive/2023/01/05/adding-tailwind-to-an-existing-project tags: - - tailwind-css + - tailwind-css --- Tailwind's configuration file also makes it easy to add it to an existing codebase, whether it uses custom CSS or another CSS framework. diff --git a/source/_daily_emails/2023-01-06.md b/source/_daily_emails/2023-01-06.md index 6837e838..65575849 100644 --- a/source/_daily_emails/2023-01-06.md +++ b/source/_daily_emails/2023-01-06.md @@ -1,11 +1,11 @@ --- title: > - Utility-first or utility-last? + Utility-first or utility-last? pubDate: 2023-01-06 permalink: >- - archive/2023/01/06/utility-first-or-utility-last + archive/2023/01/06/utility-first-or-utility-last tags: - - tailwind-css + - tailwind-css --- Tailwind CSS is based on the "utility-first" approach, where the majority of styling is done using utility CSS classes. You can still add additional custom styles if needed if there is something that can't be achieved with utilities or would be better placed in a custom CSS stylesheet. diff --git a/source/_daily_emails/2023-01-07.md b/source/_daily_emails/2023-01-07.md index 6540cc85..3937c2a3 100644 --- a/source/_daily_emails/2023-01-07.md +++ b/source/_daily_emails/2023-01-07.md @@ -1,11 +1,11 @@ --- title: > - Reducing utility class duplication + Reducing utility class duplication pubDate: 2023-01-07 permalink: >- - archive/2023/01/07/reducing-utility-class-duplication + archive/2023/01/07/reducing-utility-class-duplication tags: - - tailwind-css + - tailwind-css --- @@ -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"; ---
  • About
  • @@ -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" }, ]; --- diff --git a/source/_daily_emails/2023-01-16.md b/source/_daily_emails/2023-01-16.md index a1bdf4b7..174cfea0 100644 --- a/source/_daily_emails/2023-01-16.md +++ b/source/_daily_emails/2023-01-16.md @@ -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. diff --git a/source/_daily_emails/2023-01-17.md b/source/_daily_emails/2023-01-17.md index 673a2a57..df1e08f8 100644 --- a/source/_daily_emails/2023-01-17.md +++ b/source/_daily_emails/2023-01-17.md @@ -1,11 +1,11 @@ --- title: > - Things to know about PHP + Things to know about PHP pubDate: 2023-01-17 permalink: >- - archive/2023/01/17/things-to-know-about-php + archive/2023/01/17/things-to-know-about-php tags: - - php + - php --- The talk that I gave last week at PHP Stoke was [Things to know about PHP](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. diff --git a/source/_daily_emails/2023-01-18.md b/source/_daily_emails/2023-01-18.md index ee7da016..2ab12913 100644 --- a/source/_daily_emails/2023-01-18.md +++ b/source/_daily_emails/2023-01-18.md @@ -1,11 +1,11 @@ --- title: > - Drupal turns 22! + Drupal turns 22! pubDate: 2023-01-18 permalink: >- - archive/2023/01/18/drupal-turns-22 + archive/2023/01/18/drupal-turns-22 tags: - - php + - php --- On Sunday, the Drupal project turned 22 years old. diff --git a/source/_daily_emails/2023-01-19.md b/source/_daily_emails/2023-01-19.md index 52577fc2..c74e996a 100644 --- a/source/_daily_emails/2023-01-19.md +++ b/source/_daily_emails/2023-01-19.md @@ -1,12 +1,12 @@ --- title: > - Long-term maintainability with utility classes and Tailwind CSS + Long-term maintainability with utility classes and Tailwind CSS pubDate: 2023-01-19 permalink: >- - archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css + archive/2023/01/19/long-term-maintainability-with-utility-classes-and-tailwind-css tags: - - css - - tailwind-css + - css + - tailwind-css --- One of the common initial concerns of utility classes and Tailwind CSS is its maintainability. diff --git a/source/_daily_emails/2023-01-20.md b/source/_daily_emails/2023-01-20.md index 03cb45df..b88ba0d6 100644 --- a/source/_daily_emails/2023-01-20.md +++ b/source/_daily_emails/2023-01-20.md @@ -1,12 +1,12 @@ --- title: > - Tailwind's classes are your classes + Tailwind's classes are your classes pubDate: 2023-01-20 permalink: >- - archive/2023/01/20/tailwinds-classes-are-your-classes + archive/2023/01/20/tailwinds-classes-are-your-classes tags: - - css - - tailwind-css + - css + - tailwind-css --- In my [Taking Flight with Tailwind CSS talk](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. diff --git a/source/_daily_emails/2023-01-21.md b/source/_daily_emails/2023-01-21.md index bbc4c152..51a8b462 100644 --- a/source/_daily_emails/2023-01-21.md +++ b/source/_daily_emails/2023-01-21.md @@ -1,12 +1,12 @@ --- title: > - Tailwind: Not just translating CSS to utility classes + Tailwind: Not just translating CSS to utility classes pubDate: 2023-01-21 permalink: >- - archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes + archive/2023/01/21/tailwind-not-just-translating-css-to-utility-classes tags: - - css - - tailwind-css + - css + - tailwind-css --- Whilst a number of classes that Tailwind CSS generates are single-value utility classes such as `.block { display: block; }` and `.relative { position: relative; }`, it also includes additional things such as [setting a default line height with a font size](https://tailwindcss.com/docs/font-size#setting-the-font-size), adding variants for [group-hover](https://tailwindcss.com/docs/hover-focus-and-other-states#styling-based-on-parent-state) and [focus-within](https://tailwindcss.com/docs/hover-focus-and-other-states#focus-within) (as well as various other pseudo states). diff --git a/source/_daily_emails/2023-01-22.md b/source/_daily_emails/2023-01-22.md index c9e91a98..05ac8421 100644 --- a/source/_daily_emails/2023-01-22.md +++ b/source/_daily_emails/2023-01-22.md @@ -1,12 +1,12 @@ --- title: > - Building Bootstrap CSS examples with Tailwind + Building Bootstrap CSS examples with Tailwind pubDate: 2023-01-22 permalink: >- - archive/2023/01/22/building-bootstrap-css-examples-with-tailwind + archive/2023/01/22/building-bootstrap-css-examples-with-tailwind tags: - - css - - tailwind-css + - css + - tailwind-css --- Previously when I gave my [Taking Flight with Tailwind CSS](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. diff --git a/source/_daily_emails/2023-01-23.md b/source/_daily_emails/2023-01-23.md index 9d84be2d..7c8acbe3 100644 --- a/source/_daily_emails/2023-01-23.md +++ b/source/_daily_emails/2023-01-23.md @@ -1,11 +1,11 @@ --- title: > - Debugging with git bisect + Debugging with git bisect pubDate: 2023-01-23 permalink: >- - archive/2023/01/23/debugging-with-git-bisect + archive/2023/01/23/debugging-with-git-bisect tags: - - git + - git --- Last week, I had to debug a regression in a codebase. diff --git a/source/_daily_emails/2023-01-24.md b/source/_daily_emails/2023-01-24.md index 84fda75a..7ab42ce2 100644 --- a/source/_daily_emails/2023-01-24.md +++ b/source/_daily_emails/2023-01-24.md @@ -1,11 +1,11 @@ --- title: > - Small commits and good commit messges + Small commits and good commit messges pubDate: 2023-01-24 permalink: >- - archive/2023/01/24/small-commits-and-good-commit-messges + archive/2023/01/24/small-commits-and-good-commit-messges tags: - - git + - git --- An important thing when using a tool like [git bisect](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. diff --git a/source/_daily_emails/2023-01-25.md b/source/_daily_emails/2023-01-25.md index b5222884..aa943c6b 100644 --- a/source/_daily_emails/2023-01-25.md +++ b/source/_daily_emails/2023-01-25.md @@ -1,11 +1,11 @@ --- title: > - To squash or not to squash + To squash or not to squash pubDate: 2023-01-25 permalink: >- - archive/2023/01/25/to-squash-or-not-to-squash + archive/2023/01/25/to-squash-or-not-to-squash tags: - - git + - git --- When reviewing a pull or merge request, tools like GitHub and GitHub offer the option to squash the commits before merging. diff --git a/source/_daily_emails/2023-02-07.md b/source/_daily_emails/2023-02-07.md index 43772624..d101a34a 100644 --- a/source/_daily_emails/2023-02-07.md +++ b/source/_daily_emails/2023-02-07.md @@ -1,11 +1,11 @@ --- title: > - Astro as a static site generator + Astro as a static site generator pubDate: 2023-02-07 permalink: >- - archive/2023/02/07/astro-as-a-static-site-generator + archive/2023/02/07/astro-as-a-static-site-generator tags: - - astro + - astro --- Since first setting it first during Simon Vrachliotis' workshops, I've started evaluating [Astro](https://astro.build) as an option for building static websites alongside PHP options like Sculpin and Jigsaw, and used it to rebuild [my personal website](https://www.oliverdavies.uk). diff --git a/source/_daily_emails/2023-02-08.md b/source/_daily_emails/2023-02-08.md index 30ad51b8..5dee1649 100644 --- a/source/_daily_emails/2023-02-08.md +++ b/source/_daily_emails/2023-02-08.md @@ -1,11 +1,11 @@ --- title: > - Fetching external API data with Astro + Fetching external API data with Astro pubDate: 2023-02-08 permalink: >- - archive/2023/02/08/fetching-api-data-with-astro + archive/2023/02/08/fetching-api-data-with-astro tags: - - astro + - astro --- As well as using static data like Astro components and Markdown files, Astro allows you to pull in data from external APIs even if you're generating a static website. diff --git a/source/_daily_emails/2023-02-09.md b/source/_daily_emails/2023-02-09.md index 37ef8af5..cfdbb415 100644 --- a/source/_daily_emails/2023-02-09.md +++ b/source/_daily_emails/2023-02-09.md @@ -1,11 +1,11 @@ --- title: > - Creating API endpoints with Astro + Creating API endpoints with Astro pubDate: 2023-02-09 permalink: >- - archive/2023/02/09/creating-api-endpoints-with-astro + archive/2023/02/09/creating-api-endpoints-with-astro tags: - - astro + - astro --- As well as [fetching API data](https://www.oliverdavies.uk/archive/2023/02/08/fetching-api-data-with-astro), you can also use Astro to generate your own API endpoints. diff --git a/source/_daily_emails/2023-02-16.md b/source/_daily_emails/2023-02-16.md index c3bda7c5..99cf9885 100644 --- a/source/_daily_emails/2023-02-16.md +++ b/source/_daily_emails/2023-02-16.md @@ -1,12 +1,12 @@ --- title: > - Tailwind CSS at the Bristol Software Development Meetup + Tailwind CSS at the Bristol Software Development Meetup pubDate: 2023-02-16 permalink: >- - archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup + archive/2023/02/16/tailwind-css-at-the-bristol-software-development-meetup tags: - - public-speaking - - tailwind-css + - public-speaking + - tailwind-css --- Tonight I was lucky to speak at the first [Bristol Software Development Meetup event](https://www.meetup.com/south-wales-tech/events/291092930), organised by South Wales Tech. diff --git a/source/_daily_emails/2023-02-17.md b/source/_daily_emails/2023-02-17.md index abae15b7..7ad12333 100644 --- a/source/_daily_emails/2023-02-17.md +++ b/source/_daily_emails/2023-02-17.md @@ -1,13 +1,13 @@ --- title: > - Upgrading my Drupal example project to Drupal 10 + Upgrading my Drupal example project to Drupal 10 pubDate: 2023-02-17 permalink: >- - archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 + archive/2023/02/17/upgrading-my-drupal-example-project-to-drupal-10 tags: - - docker - - drupal - - open-source + - docker + - drupal + - open-source --- Today I upgraded my [Drupal Docker example](https://github.com/opdavies/docker-examples/tree/main/drupal) to Drupal 10. diff --git a/source/_daily_emails/2023-02-18.md b/source/_daily_emails/2023-02-18.md index 92957c2d..e9f58d9d 100644 --- a/source/_daily_emails/2023-02-18.md +++ b/source/_daily_emails/2023-02-18.md @@ -1,12 +1,12 @@ --- title: > - Creating a Drupal 10 compatible version of Override Node Options + Creating a Drupal 10 compatible version of Override Node Options pubDate: 2023-02-18 permalink: >- - archive/2023/02/18/drupal-10-version-of-override-node-options + archive/2023/02/18/drupal-10-version-of-override-node-options tags: - - drupal - - open-source + - drupal + - open-source --- Today, I reviewed [the issue and merge request](https://www.drupal.org/project/override_node_options/issues/3269901) to make the [Override Node Options](https://www.drupal.org/project/override_node_options) module compatible with Drupal 10. diff --git a/source/_daily_emails/2023-02-19.md b/source/_daily_emails/2023-02-19.md index b6eb965d..57bbfbe4 100644 --- a/source/_daily_emails/2023-02-19.md +++ b/source/_daily_emails/2023-02-19.md @@ -1,9 +1,9 @@ --- title: > - Clients dont care which design pattern you use + Clients dont care which design pattern you use pubDate: 2023-02-19 permalink: >- - archive/2023/02/19/clients-dont-care-which-design-pattern-you-use + archive/2023/02/19/clients-dont-care-which-design-pattern-you-use --- In most cases, clients don't care which CMS, framework, CSS library or design patterns you use. Clients are focused on the business value that those tools can provide, such as increasing traffic or conversion rate to increase revenue or awareness. diff --git a/source/_daily_emails/2023-02-20.md b/source/_daily_emails/2023-02-20.md index d98ed0d8..222cb645 100644 --- a/source/_daily_emails/2023-02-20.md +++ b/source/_daily_emails/2023-02-20.md @@ -1,11 +1,11 @@ --- title: > - Tailwind: why I prefer to extract HTML components + Tailwind: why I prefer to extract HTML components pubDate: 2023-02-20 permalink: >- - archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components + archive/2023/02/20/tailwind-why-i-prefer-to-extract-html-components tags: - - tailwind-css + - tailwind-css --- Tailwind offers the @apply directive that you can use to extract components in your CSS by applying the styles the classes would have added. diff --git a/source/_daily_emails/2023-03-01.md b/source/_daily_emails/2023-03-01.md index 1103d288..0f0b1d5b 100644 --- a/source/_daily_emails/2023-03-01.md +++ b/source/_daily_emails/2023-03-01.md @@ -1,12 +1,12 @@ --- title: > - Tailwind CSS at the Norfolk Developer Conference + Tailwind CSS at the Norfolk Developer Conference pubDate: 2023-03-01 permalink: >- - archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference + archive/2023/03/01/tailwind-css-at-the-norfolk-developer-conference tags: - - speaking - - tailwind-css + - speaking + - tailwind-css --- Last week, I was at the Norfolk Developer's Conference, aka `nor(DEV):con` - my first in-person conference since DrupalCamp London in February 2020. diff --git a/source/_daily_emails/2023-03-02.md b/source/_daily_emails/2023-03-02.md index 09c70959..05e2b9fc 100644 --- a/source/_daily_emails/2023-03-02.md +++ b/source/_daily_emails/2023-03-02.md @@ -1,9 +1,9 @@ --- title: > - Busy working on client projects + Busy working on client projects pubDate: 2023-03-02 permalink: >- - archive/2023/03/02/busy-working-on-client-projects + archive/2023/03/02/busy-working-on-client-projects tags: [] --- diff --git a/source/_daily_emails/2023-03-03.md b/source/_daily_emails/2023-03-03.md index 75fe290f..37009bf2 100644 --- a/source/_daily_emails/2023-03-03.md +++ b/source/_daily_emails/2023-03-03.md @@ -1,12 +1,12 @@ --- title: > - Adding a LocalGov Drupal example + Adding a LocalGov Drupal example pubDate: 2023-03-03 permalink: >- - archive/2023/03/03/adding-a-localgov-drupal-example + archive/2023/03/03/adding-a-localgov-drupal-example tags: - - drupal - - localgov-drupal + - drupal + - localgov-drupal --- After [previously looking at the LocalGov Drupal distribution](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). diff --git a/source/_daily_emails/2023-03-04.md b/source/_daily_emails/2023-03-04.md index 3cda53fc..a2b16b0d 100644 --- a/source/_daily_emails/2023-03-04.md +++ b/source/_daily_emails/2023-03-04.md @@ -1,9 +1,9 @@ --- title: > - Why I built a tool to generate configuration files + Why I built a tool to generate configuration files pubDate: 2023-03-04 permalink: >- - archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files + archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files --- I'm always working on various personal and client projects, and they contain a lot of the same configuration files. I exclusively use Docker and Docker Compose on all projects, I use a `justfile` for running tasks, and for PHP projects, I need configuration files for tools like PHPStan, PHPCS and PHPUnit. diff --git a/source/_daily_emails/2023-03-05.md b/source/_daily_emails/2023-03-05.md index de0091c4..1f37704a 100644 --- a/source/_daily_emails/2023-03-05.md +++ b/source/_daily_emails/2023-03-05.md @@ -1,9 +1,9 @@ --- title: > - Mentoring for School of Code + Mentoring for School of Code pubDate: 2023-03-05 permalink: >- - archive/2023/03/05/mentoring-for-school-of-code + archive/2023/03/05/mentoring-for-school-of-code tags: [] --- diff --git a/source/_daily_emails/2023-03-08.md b/source/_daily_emails/2023-03-08.md index d37a5860..7cbed11d 100644 --- a/source/_daily_emails/2023-03-08.md +++ b/source/_daily_emails/2023-03-08.md @@ -1,11 +1,11 @@ --- title: > - Automating infrastructure with IaC + Automating infrastructure with IaC pubDate: 2023-03-08 permalink: >- - archive/2023/03/08/automating-infrastructure-with-iac + archive/2023/03/08/automating-infrastructure-with-iac tags: - - devops + - devops --- Are you responsible for creating and maintaining resources like GitHub repositories, DigitalOcean servers, Amazon S3 buckets and Cloudfront distributions or DNS records in Cloudflare? diff --git a/source/_daily_emails/2023-03-09.md b/source/_daily_emails/2023-03-09.md index 109d9e3f..ebcae124 100644 --- a/source/_daily_emails/2023-03-09.md +++ b/source/_daily_emails/2023-03-09.md @@ -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. diff --git a/source/_daily_emails/2023-03-13.md b/source/_daily_emails/2023-03-13.md index 12c2a375..8765687c 100644 --- a/source/_daily_emails/2023-03-13.md +++ b/source/_daily_emails/2023-03-13.md @@ -1,9 +1,9 @@ --- title: > - What problem are we trying to solve? + What problem are we trying to solve? pubDate: 2023-03-13 permalink: >- - archive/2023/03/13/what-problem-am-i-trying-to-solve + archive/2023/03/13/what-problem-am-i-trying-to-solve tags: [] --- diff --git a/source/_daily_emails/2023-03-14.md b/source/_daily_emails/2023-03-14.md index 71195c5e..80ca31f0 100644 --- a/source/_daily_emails/2023-03-14.md +++ b/source/_daily_emails/2023-03-14.md @@ -1,11 +1,11 @@ --- title: > - Automating all the things + Automating all the things pubDate: 2023-03-14 permalink: >- - archive/2023/03/14/automating-all-the-things + archive/2023/03/14/automating-all-the-things tags: - - automation + - automation --- As a solo Developer and Consultant, I rely a lot on automation to get my tasks done. diff --git a/source/_daily_emails/2023-03-15.md b/source/_daily_emails/2023-03-15.md index 8a024aba..65ef2605 100644 --- a/source/_daily_emails/2023-03-15.md +++ b/source/_daily_emails/2023-03-15.md @@ -1,11 +1,11 @@ --- title: > - The benefits of automation + The benefits of automation pubDate: 2023-03-15 permalink: >- - archive/2023/03/15/the-benefits-of-automation + archive/2023/03/15/the-benefits-of-automation tags: - - automation + - automation --- I've been working on a project with a client, using [Fractal](https://fractal.build) for our component library. I've been working on it locally but yesterday I needed to make it public for the client to review the work I've done. diff --git a/source/_daily_emails/2023-03-21.md b/source/_daily_emails/2023-03-21.md index f5e180f2..22024a2a 100644 --- a/source/_daily_emails/2023-03-21.md +++ b/source/_daily_emails/2023-03-21.md @@ -1,11 +1,11 @@ --- title: > - There isn't a standard "Tailwind-looking" site + There isn't a standard "Tailwind-looking" site pubDate: 2023-03-21 permalink: >- - archive/2023/03/21/there-isnt-a-tailwind-looking-site + archive/2023/03/21/there-isnt-a-tailwind-looking-site tags: - - tailwind-css + - tailwind-css --- When looking at some websites, you can tell that it was built using a certain CSS framework. diff --git a/source/_daily_emails/2023-03-22.md b/source/_daily_emails/2023-03-22.md index 9de7c6b5..c581dd2b 100644 --- a/source/_daily_emails/2023-03-22.md +++ b/source/_daily_emails/2023-03-22.md @@ -1,12 +1,12 @@ --- title: > - With utility styles, your CSS stops growing + With utility styles, your CSS stops growing pubDate: 2023-03-22 permalink: >- - archive/2023/03/22/with-utility-styles-your-css-stops-growing + archive/2023/03/22/with-utility-styles-your-css-stops-growing tags: - - css - - tailwind-css + - css + - tailwind-css --- When working with traditional CSS, the first thing you do when you need to style a new page or component is to open a stylesheet and start writing new CSS. diff --git a/source/_daily_emails/2023-03-27.md b/source/_daily_emails/2023-03-27.md index f791d51d..23b120b8 100644 --- a/source/_daily_emails/2023-03-27.md +++ b/source/_daily_emails/2023-03-27.md @@ -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. diff --git a/source/_daily_emails/2023-04-07.md b/source/_daily_emails/2023-04-07.md index 0278e1e1..28146135 100644 --- a/source/_daily_emails/2023-04-07.md +++ b/source/_daily_emails/2023-04-07.md @@ -1,11 +1,11 @@ --- title: > - Speaking at PHP London + Speaking at PHP London pubDate: 2023-04-07 permalink: >- - archive/2023/04/07/speaking-at-php-london + archive/2023/04/07/speaking-at-php-london tags: - - speaking + - speaking --- After a trip away with the family earlier this week, I was happy to speak at the PHP London meetup yesterday evening. diff --git a/source/_daily_emails/2023-04-08.md b/source/_daily_emails/2023-04-08.md index e7e83e42..652e95c2 100644 --- a/source/_daily_emails/2023-04-08.md +++ b/source/_daily_emails/2023-04-08.md @@ -1,11 +1,11 @@ --- title: > - Why I use tmux + Why I use tmux pubDate: 2023-04-08 permalink: >- - archive/2023/04/08/why-i-use-tmux + archive/2023/04/08/why-i-use-tmux tags: - - tmux + - tmux --- tmux is a "terminal multiplexer" - a program that makes one terminal window into many. diff --git a/source/_daily_emails/2023-04-09.md b/source/_daily_emails/2023-04-09.md index b9e80ffa..699f003a 100644 --- a/source/_daily_emails/2023-04-09.md +++ b/source/_daily_emails/2023-04-09.md @@ -1,14 +1,14 @@ --- title: > - Nix, NixOS, Home Manager, and WSL2 + Nix, NixOS, Home Manager, and WSL2 pubDate: 2023-04-09 permalink: >- - archive/2023/04/09/nix-nixos-home-manager-and-wsl2 + archive/2023/04/09/nix-nixos-home-manager-and-wsl2 tags: - - linux - - nix - - nixos - - wsl2 + - linux + - nix + - nixos + - wsl2 --- Although I've been using Linux for work computers for a lot longer, a few years ago, I switched from macOS and an Apple MacBook Pro to using Linux full-time on my personal computers. diff --git a/source/_daily_emails/2023-04-10.md b/source/_daily_emails/2023-04-10.md index bc08612e..a0283c0d 100644 --- a/source/_daily_emails/2023-04-10.md +++ b/source/_daily_emails/2023-04-10.md @@ -1,13 +1,13 @@ --- title: > - How I use Neovim for writing PHP + How I use Neovim for writing PHP pubDate: 2023-04-10 permalink: >- - archive/2023/04/10/how-i-use-neovim-for-writing-php + archive/2023/04/10/how-i-use-neovim-for-writing-php tags: - - neovim - - php - - vim + - neovim + - php + - vim --- Since [July 2021](https://www.oliverdavies.uk/blog/going-full-vim), I've used Neovim full-time for my development work and writing. diff --git a/source/_daily_emails/2023-04-11.md b/source/_daily_emails/2023-04-11.md index d6cbe14a..1a891ba8 100644 --- a/source/_daily_emails/2023-04-11.md +++ b/source/_daily_emails/2023-04-11.md @@ -1,14 +1,14 @@ --- title: > - just vs make + just vs make pubDate: 2023-04-11 permalink: >- - archive/2023/04/11/just-vs-make + archive/2023/04/11/just-vs-make tags: - - devops - - just - - make - - linux + - devops + - just + - make + - linux --- `just` compared to `make` is something that was asked during my PHP London talk, and whilst they are similar, `just` has differences for me that explains why I use it: diff --git a/source/_daily_emails/2023-04-12.md b/source/_daily_emails/2023-04-12.md index 7c717dd6..97e94c78 100644 --- a/source/_daily_emails/2023-04-12.md +++ b/source/_daily_emails/2023-04-12.md @@ -1,11 +1,11 @@ --- title: > - Cleaner PHP code with promoted constructor properties + Cleaner PHP code with promoted constructor properties pubDate: 2023-04-12 permalink: >- - archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties + archive/2023/04/12/cleaner-php-code-with-promoted-constructor-properties tags: - - php + - php --- One of my favorite features that was introducted in PHP 8 was promoted constructor properties. diff --git a/source/_daily_emails/2023-04-13.md b/source/_daily_emails/2023-04-13.md index 35034e35..8b30337d 100644 --- a/source/_daily_emails/2023-04-13.md +++ b/source/_daily_emails/2023-04-13.md @@ -1,11 +1,11 @@ --- title: > - Immutable read-only properties in PHP 8.1 + Immutable read-only properties in PHP 8.1 pubDate: 2023-04-13 permalink: >- - archive/2023/04/13/immutable-read-only-properties-in-php-8-1 + archive/2023/04/13/immutable-read-only-properties-in-php-8-1 tags: - - php + - php --- Continuing with yesterday's data transfer object (DTO) example, something that can be done since PHP 8.1 is to make properties read-only: diff --git a/source/_daily_emails/2023-04-14.md b/source/_daily_emails/2023-04-14.md index 17ec544a..11097ea9 100644 --- a/source/_daily_emails/2023-04-14.md +++ b/source/_daily_emails/2023-04-14.md @@ -1,9 +1,9 @@ --- title: > - Data transfer objects and value objects + Data transfer objects and value objects pubDate: 2023-04-14 permalink: >- - archive/2023/04/14/data-transfer-objects-and-value-objects + archive/2023/04/14/data-transfer-objects-and-value-objects tags: [] --- diff --git a/source/_daily_emails/2023-04-15.md b/source/_daily_emails/2023-04-15.md index b459898b..40daa5de 100644 --- a/source/_daily_emails/2023-04-15.md +++ b/source/_daily_emails/2023-04-15.md @@ -1,9 +1,9 @@ --- title: > - Automatically running commands with nodemon + Automatically running commands with nodemon pubDate: 2023-04-15 permalink: >- - archive/2023/04/15/automatically-running-commands-with-nodemon + archive/2023/04/15/automatically-running-commands-with-nodemon tags: [] --- diff --git a/source/_daily_emails/2023-04-16.md b/source/_daily_emails/2023-04-16.md index 6399192d..deebce36 100644 --- a/source/_daily_emails/2023-04-16.md +++ b/source/_daily_emails/2023-04-16.md @@ -1,11 +1,11 @@ --- title: > - Refactoring with readonly classes in PHP 8.2 + Refactoring with readonly classes in PHP 8.2 pubDate: 2023-04-16 permalink: >- - archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 + archive/2023/04/16/refactoring-with-readonly-classes-in-php-8-2 tags: - - php + - php --- Marian Kostadinov ([stochnagara on Twitter](https://twitter.com/stochnagara)) replied to Friday's email about DTOs and value objects to tell me about `readonly` classes, which can be done in PHP 8.2. diff --git a/source/_daily_emails/2023-04-17.md b/source/_daily_emails/2023-04-17.md index 20a3d9a3..a1140763 100644 --- a/source/_daily_emails/2023-04-17.md +++ b/source/_daily_emails/2023-04-17.md @@ -1,9 +1,9 @@ --- title: > - Introducing feature flags to "build-configs" + Introducing feature flags to "build-configs" pubDate: 2023-04-17 permalink: >- - archive/2023/04/17/introducing-feature-flags-to-build-configs + archive/2023/04/17/introducing-feature-flags-to-build-configs tags: [] --- diff --git a/source/_daily_emails/2023-04-18.md b/source/_daily_emails/2023-04-18.md index 26292af6..66965209 100644 --- a/source/_daily_emails/2023-04-18.md +++ b/source/_daily_emails/2023-04-18.md @@ -1,13 +1,13 @@ --- title: > - Consistency is key + Consistency is key pubDate: 2023-04-18 permalink: >- - archive/2023/04/18/consistency-is-key + archive/2023/04/18/consistency-is-key tags: - - automation - - devops - - docker + - automation + - devops + - docker --- A side effect of [using a tool to generate build configuration files](https://www.oliverdavies.uk/archive/2023/03/04/why-i-built-a-tool-to-generate-configuration-files) with templates is the consistency that it introduces. diff --git a/source/_daily_emails/2023-04-19.md b/source/_daily_emails/2023-04-19.md index e43592ec..e8c05047 100644 --- a/source/_daily_emails/2023-04-19.md +++ b/source/_daily_emails/2023-04-19.md @@ -1,12 +1,12 @@ --- title: > - Camel-case or snake-case for Drupal code? + Camel-case or snake-case for Drupal code? pubDate: 2023-04-19 permalink: >- - archive/2023/04/19/camel-case-or-snake-case-for-drupal-code + archive/2023/04/19/camel-case-or-snake-case-for-drupal-code tags: - - drupal - - php + - drupal + - php --- For some time, [Drupal's PHP coding standards](https://www.drupal.org/docs/develop/standards/php/php-coding-standards#s-functions-and-variables) allows for writing variables in either snake-case (e.g. `$my_variable`) or lower camel-case (`e.g. $myVariable`). diff --git a/source/_daily_emails/2023-04-20.md b/source/_daily_emails/2023-04-20.md index b0e3a23f..5defa44e 100644 --- a/source/_daily_emails/2023-04-20.md +++ b/source/_daily_emails/2023-04-20.md @@ -1,13 +1,13 @@ --- title: > - Micro-refactorings + Micro-refactorings pubDate: 2023-04-20 permalink: >- - archive/2023/04/20/micro-refactorings + archive/2023/04/20/micro-refactorings tags: - - refactoring - - technical-debt - - programming + - refactoring + - technical-debt + - programming --- Today, I saw a [LinkedIn post by Peter Morlion](https://www.linkedin.com/posts/petermorlion_refactoring-technicaldebt-softwaredevelopment-activity-7054378097051095040-I545), in which he describes micro-refactoring - very small and safe refactors like renaming a variable, moving a method in a file to a more logical place, or adding a comment. diff --git a/source/_daily_emails/2023-04-21.md b/source/_daily_emails/2023-04-21.md index d218f08a..5f2ad564 100644 --- a/source/_daily_emails/2023-04-21.md +++ b/source/_daily_emails/2023-04-21.md @@ -1,12 +1,12 @@ --- title: > - Making my Drupal module template Drupal 10 compatible + Making my Drupal module template Drupal 10 compatible pubDate: 2023-04-21 permalink: >- - archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible + archive/2023/04/21/making-my-drupal-module-template-drupal-10-compatible tags: - - drupal - - php + - drupal + - php --- Today, I made my [Drupal module template](https://github.com/opdavies/drupal-module-template) compatible with Drupal 10. diff --git a/source/_daily_emails/2023-04-22.md b/source/_daily_emails/2023-04-22.md index ba59e6df..5aa8428c 100644 --- a/source/_daily_emails/2023-04-22.md +++ b/source/_daily_emails/2023-04-22.md @@ -1,14 +1,14 @@ --- title: > - Configuration files as a service + Configuration files as a service pubDate: 2023-04-22 permalink: >- - archive/2023/04/22/build-configs-as-a-service + archive/2023/04/22/build-configs-as-a-service tags: - - development - - devops - - drupal - - php + - development + - devops + - drupal + - php --- After using my "build-configs" tool to generate and manage configuration files for several personal and client Drupal projects for the past few months, I'm offering it as a product to purchase. diff --git a/source/_daily_emails/2023-04-23.md b/source/_daily_emails/2023-04-23.md index 7c2698db..86614a85 100644 --- a/source/_daily_emails/2023-04-23.md +++ b/source/_daily_emails/2023-04-23.md @@ -1,12 +1,12 @@ --- title: > - Laravel Pipelines + Laravel Pipelines pubDate: 2023-04-23 permalink: >- - archive/2023/04/23/laravel-pipelines + archive/2023/04/23/laravel-pipelines tags: - - php - - laravel + - php + - laravel --- I've seen a lot on social media and posts and videos recently about Laravel Pipelines - functionality that's been present in Laravel and used within the framework for some time - but there was only documentation added for it last month as part of the Laravel 10 release. diff --git a/source/_daily_emails/2023-04-24.md b/source/_daily_emails/2023-04-24.md index 14eeb769..c35cb515 100644 --- a/source/_daily_emails/2023-04-24.md +++ b/source/_daily_emails/2023-04-24.md @@ -1,13 +1,13 @@ --- title: > - CI pipelines should start locally + CI pipelines should start locally pubDate: 2023-04-24 permalink: >- - archive/2023/04/24/ci-pipelines-should-start-locally + archive/2023/04/24/ci-pipelines-should-start-locally tags: - - development - - devops - - git + - development + - devops + - git --- This week, Solomon Hykes (@solomonstre on Twitter) said: diff --git a/source/_daily_emails/2023-04-25.md b/source/_daily_emails/2023-04-25.md index cecb1d07..6a0721a8 100644 --- a/source/_daily_emails/2023-04-25.md +++ b/source/_daily_emails/2023-04-25.md @@ -1,13 +1,13 @@ --- title: > - Shortening the feedback loop even more + Shortening the feedback loop even more pubDate: 2023-04-25 permalink: >- - archive/2023/04/25/shortening-the-feedback-loop-even-more + archive/2023/04/25/shortening-the-feedback-loop-even-more tags: - - development - - devops - - neovim + - development + - devops + - neovim --- Yesterday's email was about shortening the feedback loop of a CI pipeline by running some of the checks like PHPCS and PHPStan locally and dealing with any errors before they get pushed to the code repository. diff --git a/source/_daily_emails/2023-04-26.md b/source/_daily_emails/2023-04-26.md index 45e9d18a..738134e8 100644 --- a/source/_daily_emails/2023-04-26.md +++ b/source/_daily_emails/2023-04-26.md @@ -1,12 +1,12 @@ --- title: > - Structure a new test by writing comments first + Structure a new test by writing comments first pubDate: 2023-04-26 permalink: >- - archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first + archive/2023/04/26/tdd-structure-a-new-test-by-writing-comments-first tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Test cases are usually split into two or three sections - "Arrange, Act, Assert" or "Given, When, Then". diff --git a/source/_daily_emails/2023-04-27.md b/source/_daily_emails/2023-04-27.md index 0b8bfafd..3406bb7c 100644 --- a/source/_daily_emails/2023-04-27.md +++ b/source/_daily_emails/2023-04-27.md @@ -1,12 +1,12 @@ --- title: > - Write the test backwards + Write the test backwards pubDate: 2023-04-27 permalink: >- - archive/2023/04/27/tdd-write-the-test-backwards + archive/2023/04/27/tdd-write-the-test-backwards tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When writing a test, something that I like to do is start by writing the first assertion first, and then work backwards. diff --git a/source/_daily_emails/2023-04-30.md b/source/_daily_emails/2023-04-30.md index 6696001e..a37ae754 100644 --- a/source/_daily_emails/2023-04-30.md +++ b/source/_daily_emails/2023-04-30.md @@ -1,11 +1,11 @@ --- title: > - Will we see Drupal 7.100? + Will we see Drupal 7.100? pubDate: 2023-04-30 permalink: >- - archive/2023/04/30/will-we-see-drupal-7-100 + archive/2023/04/30/will-we-see-drupal-7-100 tags: - - drupal + - drupal --- Drupal 7, first released in January 2011, is now on version 7.97. diff --git a/source/_daily_emails/2023-05-01.md b/source/_daily_emails/2023-05-01.md index 96f723c1..6bdef78e 100644 --- a/source/_daily_emails/2023-05-01.md +++ b/source/_daily_emails/2023-05-01.md @@ -1,13 +1,13 @@ --- title: > - Should Drupal 7 support be extended again? + Should Drupal 7 support be extended again? pubDate: 2023-05-01 permalink: >- - archive/2023/05/01/should-drupal-7-support-be-extended-again + archive/2023/05/01/should-drupal-7-support-be-extended-again tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Drupal 7, which was released in 2011, was originally supposed to be end-of-life in November 2022. diff --git a/source/_daily_emails/2023-05-02.md b/source/_daily_emails/2023-05-02.md index 1c6f7e5e..3bd7bede 100644 --- a/source/_daily_emails/2023-05-02.md +++ b/source/_daily_emails/2023-05-02.md @@ -1,13 +1,13 @@ --- title: > - Does it depend on who you ask? + Does it depend on who you ask? pubDate: 2023-05-02 permalink: >- - archive/2023/05/02/does-it-depend-on-who-you-ask + archive/2023/05/02/does-it-depend-on-who-you-ask tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- The answer to "[Should Drupal 7 support be extended again?](https://www.oliverdavies.uk/archive/2023/05/01/should-drupal-7-support-be-extended-again)" might depend on who you ask. diff --git a/source/_daily_emails/2023-05-03.md b/source/_daily_emails/2023-05-03.md index 9515f09d..9300b185 100644 --- a/source/_daily_emails/2023-05-03.md +++ b/source/_daily_emails/2023-05-03.md @@ -1,13 +1,13 @@ --- title: > - Just because core is supported... + Just because core is supported... pubDate: 2023-05-03 permalink: >- - archive/2023/05/03/just-because-core-is-supported + archive/2023/05/03/just-because-core-is-supported tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Just because Drupal core is supported, it doesn't mean that all of the other modules your project uses are still also supported or actively worked on. diff --git a/source/_daily_emails/2023-05-04.md b/source/_daily_emails/2023-05-04.md index e2d39282..9b334266 100644 --- a/source/_daily_emails/2023-05-04.md +++ b/source/_daily_emails/2023-05-04.md @@ -1,15 +1,15 @@ --- title: > - Speaking at the Symfony UK meetup in London + Speaking at the Symfony UK meetup in London pubDate: 2023-05-04 permalink: >- - archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london + archive/2023/05/04/speaking-at-the-symfony-uk-meetup-london tags: - - speaking - - mob-programming - - php - - phpc - - symfony + - speaking + - mob-programming + - php + - phpc + - symfony --- After registering as an attendee, I've been upgraded to a speaker for next week's event and the first in-person Symfony UK meetup in two years. diff --git a/source/_daily_emails/2023-05-05.md b/source/_daily_emails/2023-05-05.md index a062aaa3..74d76a15 100644 --- a/source/_daily_emails/2023-05-05.md +++ b/source/_daily_emails/2023-05-05.md @@ -1,13 +1,13 @@ --- title: > - Getting to green + Getting to green pubDate: 2023-05-05 permalink: >- - archive/2023/05/05/getting-to-green + archive/2023/05/05/getting-to-green tags: - - automated-testing - - testing - - test-driven development + - automated-testing + - testing + - test-driven development --- When doing test-driven development, once you've written a failing (a.k.a. red) test, the main objective is to get to a green (a.k.a. passing) test as quickly as possible via the simplest method. diff --git a/source/_daily_emails/2023-05-06.md b/source/_daily_emails/2023-05-06.md index 613ff8ff..3bccccfa 100644 --- a/source/_daily_emails/2023-05-06.md +++ b/source/_daily_emails/2023-05-06.md @@ -1,12 +1,12 @@ --- title: > - Why it's important to see the test fail + Why it's important to see the test fail pubDate: 2023-05-06 permalink: >- - archive/2023/05/06/why-its-important-to-see-the-test-fail + archive/2023/05/06/why-its-important-to-see-the-test-fail tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- With automated testing and test-driven development, it's important to see a test fail. diff --git a/source/_daily_emails/2023-05-07.md b/source/_daily_emails/2023-05-07.md index d5eb4f17..4747cb86 100644 --- a/source/_daily_emails/2023-05-07.md +++ b/source/_daily_emails/2023-05-07.md @@ -1,12 +1,12 @@ --- title: > - You don't need to think about what to do next + You don't need to think about what to do next pubDate: 2023-05-07 permalink: >- - archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next + archive/2023/05/07/you-dont-need-to-think-about-what-to-do-next tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When practising test-driven development, you don't need to think about what to do next. diff --git a/source/_daily_emails/2023-05-08.md b/source/_daily_emails/2023-05-08.md index c58e1945..f185c6a6 100644 --- a/source/_daily_emails/2023-05-08.md +++ b/source/_daily_emails/2023-05-08.md @@ -1,12 +1,12 @@ --- title: > - Only write enough code to get a failing test + Only write enough code to get a failing test pubDate: 2023-05-08 permalink: >- - archive/2023/05/08/only-write-enough-code-to-get-a-failing-test + archive/2023/05/08/only-write-enough-code-to-get-a-failing-test tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Instead of writing a whole test and then attempting to make it pass, only write enough code to get the test to fail. diff --git a/source/_daily_emails/2023-05-09.md b/source/_daily_emails/2023-05-09.md index 3f3dcd1c..90dc1c3b 100644 --- a/source/_daily_emails/2023-05-09.md +++ b/source/_daily_emails/2023-05-09.md @@ -1,9 +1,9 @@ --- title: > - The single responsibility principle + The single responsibility principle pubDate: 2023-05-09 permalink: >- - archive/2023/05/09/the-single-responsibility-principle + archive/2023/05/09/the-single-responsibility-principle tags: [] --- diff --git a/source/_daily_emails/2023-05-10.md b/source/_daily_emails/2023-05-10.md index 3a201cc7..e2fd038b 100644 --- a/source/_daily_emails/2023-05-10.md +++ b/source/_daily_emails/2023-05-10.md @@ -1,12 +1,12 @@ --- title: > - Tailwind CSS makes change easier + Tailwind CSS makes change easier pubDate: 2023-05-10 permalink: >- - archive/2023/05/10/tailwind-css-makes-change-easier + archive/2023/05/10/tailwind-css-makes-change-easier tags: - - css - - tailwind-css + - css + - tailwind-css --- CSS usually has a global scope which can make change risky. diff --git a/source/_daily_emails/2023-05-11.md b/source/_daily_emails/2023-05-11.md index 1ce45d47..2a0381d4 100644 --- a/source/_daily_emails/2023-05-11.md +++ b/source/_daily_emails/2023-05-11.md @@ -1,12 +1,12 @@ --- title: > - Why I like pair and mob programming + Why I like pair and mob programming pubDate: 2023-05-11 permalink: >- - archive/2023/05/11/why-i-like-pair-and-mob-programming + archive/2023/05/11/why-i-like-pair-and-mob-programming tags: - - pair-programming - - mob-programming + - pair-programming + - mob-programming --- When working as part of a team, I like to do pair or mob programming as much as possible. diff --git a/source/_daily_emails/2023-05-12.md b/source/_daily_emails/2023-05-12.md index a386d4dd..b22399c8 100644 --- a/source/_daily_emails/2023-05-12.md +++ b/source/_daily_emails/2023-05-12.md @@ -1,12 +1,12 @@ --- title: > - Always listen to the mob + Always listen to the mob pubDate: 2023-05-12 permalink: >- - archive/2023/05/12/always-listen-to-the-mob + archive/2023/05/12/always-listen-to-the-mob tags: - - pair-programming - - mob-programming + - pair-programming + - mob-programming --- Something I'm aware of when working in a pair or mob is to always listen to input from other team members. diff --git a/source/_daily_emails/2023-05-13.md b/source/_daily_emails/2023-05-13.md index 06d4bbb2..48f6163f 100644 --- a/source/_daily_emails/2023-05-13.md +++ b/source/_daily_emails/2023-05-13.md @@ -1,11 +1,11 @@ --- title: > - When You Do Things Right, People Won't Be Sure You've Done Anything at All + When You Do Things Right, People Won't Be Sure You've Done Anything at All pubDate: 2023-05-13 permalink: >- - archive/2023/05/13/when-you-do-things-right + archive/2023/05/13/when-you-do-things-right tags: - - software-development + - software-development --- I think this quote from Futurama also applies well to software development: diff --git a/source/_daily_emails/2023-05-14.md b/source/_daily_emails/2023-05-14.md index e4241823..db5c953a 100644 --- a/source/_daily_emails/2023-05-14.md +++ b/source/_daily_emails/2023-05-14.md @@ -1,11 +1,11 @@ --- title: > - Releasing small changes often is less risky + Releasing small changes often is less risky pubDate: 2023-05-14 permalink: >- - archive/2023/05/14/releasing-small-changes-often-is-less-risky + archive/2023/05/14/releasing-small-changes-often-is-less-risky tags: - - software-development + - software-development --- Contrary to what many think (at least to begin with), releasing small, incremental changes often - maybe daily or weekly - is less risky than larger releases containing weeks or months of changes. diff --git a/source/_daily_emails/2023-05-15.md b/source/_daily_emails/2023-05-15.md index bd008b20..4c3391e2 100644 --- a/source/_daily_emails/2023-05-15.md +++ b/source/_daily_emails/2023-05-15.md @@ -1,13 +1,13 @@ --- title: > - Is the Drupal release cycle too fast? + Is the Drupal release cycle too fast? pubDate: 2023-05-15 permalink: >- - archive/2023/05/15/is-the-drupal-release-cycle-too-fast + archive/2023/05/15/is-the-drupal-release-cycle-too-fast tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Compared to Drupal 7, [which is almost at version 100](https://oliverdavies.dev/archive/2023/04/30/will-we-see-drupal-7-100), the release cycle from Drupal 9 onwards has been quite different. diff --git a/source/_daily_emails/2023-05-16.md b/source/_daily_emails/2023-05-16.md index 0746538d..2fec9836 100644 --- a/source/_daily_emails/2023-05-16.md +++ b/source/_daily_emails/2023-05-16.md @@ -1,11 +1,11 @@ --- title: > - Mastering your tools improves productivity + Mastering your tools improves productivity pubDate: 2023-05-16 permalink: >- - archive/2023/05/16/mastering-your-tools-improves-productivity + archive/2023/05/16/mastering-your-tools-improves-productivity tags: - - software-development + - software-development --- Spending time to learn and master your tools, whether it's your IDE or text editor, CMS or framework, or something else that you use regularly like Git, spending time to expand on the basics and learn it more thoroughly is an investment in your future. diff --git a/source/_daily_emails/2023-05-17.md b/source/_daily_emails/2023-05-17.md index 74a76755..4845b09d 100644 --- a/source/_daily_emails/2023-05-17.md +++ b/source/_daily_emails/2023-05-17.md @@ -1,13 +1,13 @@ --- title: > - What is deprecated code? + What is deprecated code? pubDate: 2023-05-17 permalink: >- - archive/2023/05/17/what-is-deprecated-code + archive/2023/05/17/what-is-deprecated-code tags: - - php - - drupal - - software-development + - php + - drupal + - software-development --- Deprecating code is a way of identifying code that will be removed in a future major version. diff --git a/source/_daily_emails/2023-05-18.md b/source/_daily_emails/2023-05-18.md index b322ad20..ffb40747 100644 --- a/source/_daily_emails/2023-05-18.md +++ b/source/_daily_emails/2023-05-18.md @@ -1,11 +1,11 @@ --- title: > - Why is backward compatibility important? + Why is backward compatibility important? pubDate: 2023-05-18 permalink: >- - archive/2023/05/18/why-is-backward-compatibility-important + archive/2023/05/18/why-is-backward-compatibility-important tags: - - software-development + - software-development --- In yesterday's email, I mentioned that deprecating code allows it to be backwards compatible - but what does that mean? diff --git a/source/_daily_emails/2023-05-19.md b/source/_daily_emails/2023-05-19.md index 1bdfebad..d92dfceb 100644 --- a/source/_daily_emails/2023-05-19.md +++ b/source/_daily_emails/2023-05-19.md @@ -1,11 +1,11 @@ --- title: > - Semantic versioning + Semantic versioning pubDate: 2023-05-19 permalink: >- - archive/2023/05/19/semantic-versioning + archive/2023/05/19/semantic-versioning tags: - - software-development + - software-development --- The version number of a release is a key indicator of whether it’s compatible with existing code. diff --git a/source/_daily_emails/2023-05-20.md b/source/_daily_emails/2023-05-20.md index 5d66338f..2a5535b3 100644 --- a/source/_daily_emails/2023-05-20.md +++ b/source/_daily_emails/2023-05-20.md @@ -1,11 +1,11 @@ --- title: > - A minor breaking change + A minor breaking change pubDate: 2023-05-20 permalink: >- - archive/2023/05/20/a-minor-breaking-change + archive/2023/05/20/a-minor-breaking-change tags: - - software-development + - software-development --- Today, in the repository of an open-source project, I saw an issue comment saying, "This is a minor breaking change.". diff --git a/source/_daily_emails/2023-05-21.md b/source/_daily_emails/2023-05-21.md index 98bced6a..d6eec22e 100644 --- a/source/_daily_emails/2023-05-21.md +++ b/source/_daily_emails/2023-05-21.md @@ -1,13 +1,13 @@ --- title: > - Drupal 9: almost end-of-life already + Drupal 9: almost end-of-life already pubDate: 2023-05-21 permalink: >- - archive/2023/05/21/drupal-9-almost-end-of-life-already + archive/2023/05/21/drupal-9-almost-end-of-life-already tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- With the focus being on Drupal 7's potential end-of-life this November, it's also worth being aware that Drupal 9 (released in June 2020) will also be unsupported as of November 2023. diff --git a/source/_daily_emails/2023-06-05.md b/source/_daily_emails/2023-06-05.md index d319977f..67e8a0ec 100644 --- a/source/_daily_emails/2023-06-05.md +++ b/source/_daily_emails/2023-06-05.md @@ -1,13 +1,13 @@ --- title: > - How long should a feature flag live? + How long should a feature flag live? pubDate: 2023-06-05 permalink: >- - archive/2023/06/05/how-long-should-a-feature-flag-live + archive/2023/06/05/how-long-should-a-feature-flag-live tags: - - software-development - - software-engineering - - feature-flags + - software-development + - software-engineering + - feature-flags --- Instead of creating a branch that lives for as long as the code takes to write, if it's behind a feature flag, the code can be merged into the mainline branch without affecting the rest of the codebase. diff --git a/source/_daily_emails/2023-06-06.md b/source/_daily_emails/2023-06-06.md index 5b07f60f..39c91719 100644 --- a/source/_daily_emails/2023-06-06.md +++ b/source/_daily_emails/2023-06-06.md @@ -1,13 +1,13 @@ --- title: > - Drupal 7 end-of-life extended + Drupal 7 end-of-life extended pubDate: 2023-06-06 permalink: >- - archive/2023/06/06/drupal-7-end-of-life-extended + archive/2023/06/06/drupal-7-end-of-life-extended tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- It was announced this week at DrupalCon that the end-of-life date for Drupal 7 has been extended until the 5th of January 2025, giving another year for people to upgrade the 40,000+ Drupal 7 websites. diff --git a/source/_daily_emails/2023-06-07.md b/source/_daily_emails/2023-06-07.md index be143977..4c46c93f 100644 --- a/source/_daily_emails/2023-06-07.md +++ b/source/_daily_emails/2023-06-07.md @@ -1,13 +1,13 @@ --- title: > - What does the Drupal 7 EOL extension mean to you? + What does the Drupal 7 EOL extension mean to you? pubDate: 2023-06-07 permalink: >- - archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you + archive/2023/06/07/what-does-the-drupal-7-eol-extension-mean-to-you tags: - - drupal - - drupal-7 - - php + - drupal + - drupal-7 + - php --- Following the announcement at DrupalCon, the official announcement has been released regarding Drupal 7's end-of-life extension: diff --git a/source/_daily_emails/2023-06-08.md b/source/_daily_emails/2023-06-08.md index 5eea8c47..3411016c 100644 --- a/source/_daily_emails/2023-06-08.md +++ b/source/_daily_emails/2023-06-08.md @@ -1,12 +1,12 @@ --- title: > - Write less Drupal code + Write less Drupal code pubDate: 2023-06-08 permalink: >- - archive/2023/06/08/write-less-drupal-code + archive/2023/06/08/write-less-drupal-code tags: - - drupal - - php + - drupal + - php --- An approach I like to make my Drupal code more maintainable is to write less of it and move any generic PHP code into separate framework-agnostic libraries. diff --git a/source/_daily_emails/2023-06-09.md b/source/_daily_emails/2023-06-09.md index 8b5bc95c..1f74e020 100644 --- a/source/_daily_emails/2023-06-09.md +++ b/source/_daily_emails/2023-06-09.md @@ -1,12 +1,12 @@ --- title: > - Drupal is built by people + Drupal is built by people pubDate: 2023-06-09 permalink: >- - archive/2023/06/09/drupal-is-built-by-people + archive/2023/06/09/drupal-is-built-by-people tags: - - drupal - - php + - drupal + - php --- A quote I heard from DrupalCon, made by my former colleague Tim Lehnen - CTO at the Drupal Association - when talking about contribution: diff --git a/source/_daily_emails/2023-06-10.md b/source/_daily_emails/2023-06-10.md index c28ea50b..278b5c2d 100644 --- a/source/_daily_emails/2023-06-10.md +++ b/source/_daily_emails/2023-06-10.md @@ -1,11 +1,11 @@ --- title: > - How do you know when to remove a feature flag? + How do you know when to remove a feature flag? pubDate: 2023-06-10 permalink: >- - archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag + archive/2023/06/10/how-do-you-know-when-to-remove-a-feature-flag tags: - - feature-flags + - feature-flags --- But once a feature has been enabled, how do you know if you can remove its flag? diff --git a/source/_daily_emails/2023-06-11.md b/source/_daily_emails/2023-06-11.md index 10d492d0..fe3f988f 100644 --- a/source/_daily_emails/2023-06-11.md +++ b/source/_daily_emails/2023-06-11.md @@ -1,9 +1,9 @@ --- title: > - Failing fast + Failing fast pubDate: 2023-06-11 permalink: >- - archive/2023/06/11/failing-fast + archive/2023/06/11/failing-fast tags: [] --- diff --git a/source/_daily_emails/2023-06-12.md b/source/_daily_emails/2023-06-12.md index aaea929b..c5a85344 100644 --- a/source/_daily_emails/2023-06-12.md +++ b/source/_daily_emails/2023-06-12.md @@ -1,11 +1,11 @@ --- title: > - Feature flags in a multi-tenancy application + Feature flags in a multi-tenancy application pubDate: 2023-06-12 permalink: >- - archive/2023/06/12/feature-flags-in-a-multi-tenancy-application + archive/2023/06/12/feature-flags-in-a-multi-tenancy-application tags: - - feature-flags + - feature-flags --- A scenario for having long-lived feature flags is in a multi-tenant application where the same codebase serves multiple projects - e.g. a multi-site Drupal application or a module reused on multiple websites. diff --git a/source/_daily_emails/2023-06-13.md b/source/_daily_emails/2023-06-13.md index 24bb49bd..865f6f8e 100644 --- a/source/_daily_emails/2023-06-13.md +++ b/source/_daily_emails/2023-06-13.md @@ -1,11 +1,11 @@ --- title: > - Should you feature flag everything? + Should you feature flag everything? pubDate: 2023-06-13 permalink: >- - archive/2023/06/13/should-you-feature-flag-everything + archive/2023/06/13/should-you-feature-flag-everything tags: - - feature-flags + - feature-flags --- Whilst it's probably impractical to feature flag every new feature or change to your application, considering it is something I do for each change. diff --git a/source/_daily_emails/2023-06-14.md b/source/_daily_emails/2023-06-14.md index f4841f00..2bbee2f5 100644 --- a/source/_daily_emails/2023-06-14.md +++ b/source/_daily_emails/2023-06-14.md @@ -1,11 +1,11 @@ --- title: > - What if there was no open-source software + What if there was no open-source software pubDate: 2023-06-14 permalink: >- - archive/2023/06/14/what-if-there-was-no-open-source-software + archive/2023/06/14/what-if-there-was-no-open-source-software tags: - - open-source + - open-source --- I was listening to a podcast today, and the question was mentioned - "What if there was no open-source software?". diff --git a/source/_daily_emails/2023-06-15.md b/source/_daily_emails/2023-06-15.md index 4ff00c6b..9a2a3620 100644 --- a/source/_daily_emails/2023-06-15.md +++ b/source/_daily_emails/2023-06-15.md @@ -1,9 +1,9 @@ --- title: > - Done is better than perfect + Done is better than perfect pubDate: 2023-06-15 permalink: >- - archive/2023/06/15/done-is-better-than-perfect + archive/2023/06/15/done-is-better-than-perfect tags: [] --- diff --git a/source/_daily_emails/2023-06-16.md b/source/_daily_emails/2023-06-16.md index e8dac80f..84570541 100644 --- a/source/_daily_emails/2023-06-16.md +++ b/source/_daily_emails/2023-06-16.md @@ -1,9 +1,9 @@ --- title: > - Make the change easy, then make the easy change + Make the change easy, then make the easy change pubDate: 2023-06-16 permalink: >- - archive/2023/06/16/make-the-easy-change + archive/2023/06/16/make-the-easy-change tags: [] --- diff --git a/source/_daily_emails/2023-06-17.md b/source/_daily_emails/2023-06-17.md index 67b4277b..53948f12 100644 --- a/source/_daily_emails/2023-06-17.md +++ b/source/_daily_emails/2023-06-17.md @@ -1,12 +1,12 @@ --- title: > - Avoid Git merge hell with trunk-based development + Avoid Git merge hell with trunk-based development pubDate: 2023-06-17 permalink: >- - archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development + archive/2023/06/17/avoid-git-merge-hell-with-trunk-based-development tags: - - git - - trunk-based-development + - git + - trunk-based-development --- Regardless of whether I was working as part of a team or individually, I used to create a new branch for every change. I'd do the work and merge the feature branch back into the mainline branch - usually either `main` or `develop`. diff --git a/source/_daily_emails/2023-06-18.md b/source/_daily_emails/2023-06-18.md index a124a007..3abd759a 100644 --- a/source/_daily_emails/2023-06-18.md +++ b/source/_daily_emails/2023-06-18.md @@ -1,13 +1,13 @@ --- title: > - Are you really doing CI/CD? + Are you really doing CI/CD? pubDate: 2023-06-18 permalink: >- - archive/2023/06/18/are-you-doing-ci-cd + archive/2023/06/18/are-you-doing-ci-cd tags: - - continuous-integration - - continuous-delivery - - continuous-deployment + - continuous-integration + - continuous-delivery + - continuous-deployment --- Does your team really do CI/CD (continuous integration and delivery)? diff --git a/source/_daily_emails/2023-06-19.md b/source/_daily_emails/2023-06-19.md index dd848d2e..a14b43cd 100644 --- a/source/_daily_emails/2023-06-19.md +++ b/source/_daily_emails/2023-06-19.md @@ -1,12 +1,12 @@ --- title: > - Should you upgrade from Drupal 7 to Drupal 10? + Should you upgrade from Drupal 7 to Drupal 10? pubDate: 2023-06-19 permalink: >- - archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 + archive/2023/06/19/should-you-upgrade-from-drupal-7-to-drupal-10 tags: - - drupal - - drupal-7 + - drupal + - drupal-7 --- If you're stuck on Drupal 7, why should you upgrade to Drupal 10 instead of moving to another platform? diff --git a/source/_daily_emails/2023-06-20.md b/source/_daily_emails/2023-06-20.md index 0622562d..41477699 100644 --- a/source/_daily_emails/2023-06-20.md +++ b/source/_daily_emails/2023-06-20.md @@ -1,11 +1,11 @@ --- title: > - Should you deploy on a Friday? + Should you deploy on a Friday? pubDate: 2023-06-20 permalink: >- - archive/2023/06/20/should-you-deploy-on-a-friday + archive/2023/06/20/should-you-deploy-on-a-friday tags: - - deployments + - deployments --- There's a common saying about not deploying changes on a Friday to prevent outages or issues before the weekend. diff --git a/source/_daily_emails/2023-06-21.md b/source/_daily_emails/2023-06-21.md index ae5e543d..0e080e93 100644 --- a/source/_daily_emails/2023-06-21.md +++ b/source/_daily_emails/2023-06-21.md @@ -1,12 +1,12 @@ --- title: > - Deployments or releases + Deployments or releases pubDate: 2023-06-21 permalink: >- - archive/2023/06/21/deployments-or-releases + archive/2023/06/21/deployments-or-releases tags: - - deployments - - releases + - deployments + - releases --- "Deployments" and "releases" are often used interchangeably but mean different things. diff --git a/source/_daily_emails/2023-06-22.md b/source/_daily_emails/2023-06-22.md index b90da02d..b57cf039 100644 --- a/source/_daily_emails/2023-06-22.md +++ b/source/_daily_emails/2023-06-22.md @@ -1,9 +1,9 @@ --- title: > - It's only a bad situation if you fail to learn from it + It's only a bad situation if you fail to learn from it pubDate: 2023-06-22 permalink: >- - archive/2023/06/22/fail-to-lear + archive/2023/06/22/fail-to-lear tags: [] --- diff --git a/source/_daily_emails/2023-06-23.md b/source/_daily_emails/2023-06-23.md index 48993d1c..100cfdaf 100644 --- a/source/_daily_emails/2023-06-23.md +++ b/source/_daily_emails/2023-06-23.md @@ -1,11 +1,11 @@ --- title: > - Why keep a Changelog? + Why keep a Changelog? pubDate: 2023-06-23 permalink: >- - archive/2023/06/23/why-keep-a-changelog + archive/2023/06/23/why-keep-a-changelog tags: - - changelog + - changelog --- diff --git a/source/_daily_emails/2023-06-24.md b/source/_daily_emails/2023-06-24.md index 43c00885..8fa6d30b 100644 --- a/source/_daily_emails/2023-06-24.md +++ b/source/_daily_emails/2023-06-24.md @@ -1,12 +1,12 @@ --- title: > - Credited on 200 fixed issues on Drupal.org + Credited on 200 fixed issues on Drupal.org pubDate: 2023-06-24 permalink: >- - archive/2023/06/24/credited-on-200-fixed-issues + archive/2023/06/24/credited-on-200-fixed-issues tags: - - drupal - - open-source + - drupal + - open-source --- While writing yesterday's email, I saw this on my Drupal.org profile (https://www.drupal.org/u/opdavies): diff --git a/source/_daily_emails/2023-06-25.md b/source/_daily_emails/2023-06-25.md index 9ca8d39d..d85def69 100644 --- a/source/_daily_emails/2023-06-25.md +++ b/source/_daily_emails/2023-06-25.md @@ -1,12 +1,12 @@ --- title: > - Do you need permission to do Test-Driven Development? + Do you need permission to do Test-Driven Development? pubDate: 2023-06-25 permalink: >- - archive/2023/06/25/do-you-need-permission-test-driven-development + archive/2023/06/25/do-you-need-permission-test-driven-development tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Something I've been asked before is "Do you need permission to write automated tests or do Test-Driven Development?". diff --git a/source/_daily_emails/2023-06-26.md b/source/_daily_emails/2023-06-26.md index b9e79f53..b6250b9d 100644 --- a/source/_daily_emails/2023-06-26.md +++ b/source/_daily_emails/2023-06-26.md @@ -1,11 +1,11 @@ --- title: > - Is any code without tests legacy code? + Is any code without tests legacy code? pubDate: 2023-06-26 permalink: >- - archive/2023/06/26/is-any-code-without-tests-legacy + archive/2023/06/26/is-any-code-without-tests-legacy tags: - - automated-testing + - automated-testing --- While I can't find the original quote, I've heard numerous people describe any code without automated tests as legacy. diff --git a/source/_daily_emails/2023-06-27.md b/source/_daily_emails/2023-06-27.md index 47d199e5..1290581b 100644 --- a/source/_daily_emails/2023-06-27.md +++ b/source/_daily_emails/2023-06-27.md @@ -1,12 +1,12 @@ --- title: > - A CI pipeline is like an additional team member + A CI pipeline is like an additional team member pubDate: 2023-06-27 permalink: >- - archive/2023/06/27/ci-pipeline-additional-team-member + archive/2023/06/27/ci-pipeline-additional-team-member tags: - - continuous-integration - - pipelines + - continuous-integration + - pipelines --- Imagine having a team member who tests each feature before every deployment, reviews the code to ensure its style is consistent, runs quality checks like linting and static analysis, and checks for insecure dependencies. diff --git a/source/_daily_emails/2023-06-28.md b/source/_daily_emails/2023-06-28.md index 1458e696..cd9e3867 100644 --- a/source/_daily_emails/2023-06-28.md +++ b/source/_daily_emails/2023-06-28.md @@ -1,12 +1,12 @@ --- title: > - There's no value in a broken CI pipeline + There's no value in a broken CI pipeline pubDate: 2023-06-28 permalink: >- - archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline + archive/2023/06/28/theres-no-value-in-a-broken-ci-pipeline tags: - - continuous-integration - - pipelines + - continuous-integration + - pipelines --- The value in a CI pipeline is when its commands and checks are running successfully, and the pipeline is passing. diff --git a/source/_daily_emails/2023-06-29.md b/source/_daily_emails/2023-06-29.md index bddf45c8..4ea4bfd4 100644 --- a/source/_daily_emails/2023-06-29.md +++ b/source/_daily_emails/2023-06-29.md @@ -1,12 +1,12 @@ --- title: > - Tests won't tell you if your code works + Tests won't tell you if your code works pubDate: 2023-06-29 permalink: >- - archive/2023/06/29/tests-wont-tell-you-if-your-code-works + archive/2023/06/29/tests-wont-tell-you-if-your-code-works tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Having a passing test suite or CI pipeline doesn't tell you if your appliction works. diff --git a/source/_daily_emails/2023-06-30.md b/source/_daily_emails/2023-06-30.md index 1f35661e..60524131 100644 --- a/source/_daily_emails/2023-06-30.md +++ b/source/_daily_emails/2023-06-30.md @@ -1,12 +1,12 @@ --- title: > - How did you learn automated testing? + How did you learn automated testing? pubDate: 2023-06-30 permalink: >- - archive/2023/06/30/how-did-you-learn-automated-testing + archive/2023/06/30/how-did-you-learn-automated-testing tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- I started to learn about automated testing in 2012 when I took over maintainership of the Drupal module, Override Node Options. diff --git a/source/_daily_emails/2023-07-01.md b/source/_daily_emails/2023-07-01.md index 1f1f44f0..6c0b7b24 100644 --- a/source/_daily_emails/2023-07-01.md +++ b/source/_daily_emails/2023-07-01.md @@ -1,12 +1,12 @@ --- title: > - Once you start writing tests, you can't stop + Once you start writing tests, you can't stop pubDate: 2023-07-01 permalink: >- - archive/2023/07/01/once-you-start-writing-tests-you-cant-stop + archive/2023/07/01/once-you-start-writing-tests-you-cant-stop tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Once you start testing/TDD, you can't go back diff --git a/source/_daily_emails/2023-07-02.md b/source/_daily_emails/2023-07-02.md index 0b7cf020..4ec57332 100644 --- a/source/_daily_emails/2023-07-02.md +++ b/source/_daily_emails/2023-07-02.md @@ -1,12 +1,12 @@ --- title: > - Docker or Nix? + Docker or Nix? pubDate: 2023-07-02 permalink: >- - archive/2023/07/02/docker-or-nix + archive/2023/07/02/docker-or-nix tags: - - docker - - nix + - docker + - nix --- I've been a Nix user for about a year, starting with its package manager on my previously installed Linux distribution. diff --git a/source/_daily_emails/2023-07-03.md b/source/_daily_emails/2023-07-03.md index df404630..a8fb239c 100644 --- a/source/_daily_emails/2023-07-03.md +++ b/source/_daily_emails/2023-07-03.md @@ -1,11 +1,11 @@ --- title: > - Why write custom assertions in your tests? + Why write custom assertions in your tests? pubDate: 2023-07-03 permalink: >- - archive/2023/07/03/why-write-custom-assertions-in-your-tests + archive/2023/07/03/why-write-custom-assertions-in-your-tests tags: - - automated-testing + - automated-testing --- I'm refactoring some code on a client project - creating a Repository class to centralise some logic before implementing the next feature. diff --git a/source/_daily_emails/2023-07-04.md b/source/_daily_emails/2023-07-04.md index 2907808a..3938e424 100644 --- a/source/_daily_emails/2023-07-04.md +++ b/source/_daily_emails/2023-07-04.md @@ -1,12 +1,12 @@ --- title: > - Think smaller with TDD + Think smaller with TDD pubDate: 2023-07-04 permalink: >- - archive/2023/07/04/think-smaller-with-tdd + archive/2023/07/04/think-smaller-with-tdd tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- I've recently added several custom search blocks and pages to a client project. diff --git a/source/_daily_emails/2023-07-05.md b/source/_daily_emails/2023-07-05.md index cb4f94f3..14611a9e 100644 --- a/source/_daily_emails/2023-07-05.md +++ b/source/_daily_emails/2023-07-05.md @@ -1,12 +1,12 @@ --- title: > - Services vs Actions + Services vs Actions pubDate: 2023-07-05 permalink: >- - archive/2023/07/05/services-vs-actions + archive/2023/07/05/services-vs-actions tags: - - software-development - - software-architecture + - software-development + - software-architecture --- When creating a custom module, where do you put your business logic? diff --git a/source/_daily_emails/2023-07-06.md b/source/_daily_emails/2023-07-06.md index 0c6e1f57..970b58b6 100644 --- a/source/_daily_emails/2023-07-06.md +++ b/source/_daily_emails/2023-07-06.md @@ -1,12 +1,12 @@ --- title: > - Automated testing is more than just unit testing + Automated testing is more than just unit testing pubDate: 2023-07-06 permalink: >- - archive/2023/07/06/automated-testing-is-more-than-just-unit-testing + archive/2023/07/06/automated-testing-is-more-than-just-unit-testing tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When I speak to people about automated testing or hear others speak about it, it's often confused with unit testing. diff --git a/source/_daily_emails/2023-07-15.md b/source/_daily_emails/2023-07-15.md index 5ff711a7..e47845ee 100644 --- a/source/_daily_emails/2023-07-15.md +++ b/source/_daily_emails/2023-07-15.md @@ -1,12 +1,12 @@ --- title: > - Test-driven development makes you more productive + Test-driven development makes you more productive pubDate: 2023-07-15 permalink: >- - archive/2023/07/15/test-driven-development-makes-you-more-productive + archive/2023/07/15/test-driven-development-makes-you-more-productive tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- I think that test-driven development (TDD) makes you productive. diff --git a/source/_daily_emails/2023-07-16.md b/source/_daily_emails/2023-07-16.md index 480cbe78..1847acf7 100644 --- a/source/_daily_emails/2023-07-16.md +++ b/source/_daily_emails/2023-07-16.md @@ -1,12 +1,12 @@ --- title: > - When writing a failing test, you're designing your code + When writing a failing test, you're designing your code pubDate: 2023-07-16 permalink: >- - archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code + archive/2023/07/16/when-writing-a-failing-test-youre-designing-your-code tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When doing test-driven development, you start by writing a failing test and then write the code to make it pass. diff --git a/source/_daily_emails/2023-07-17.md b/source/_daily_emails/2023-07-17.md index 16434e2c..4812afbb 100644 --- a/source/_daily_emails/2023-07-17.md +++ b/source/_daily_emails/2023-07-17.md @@ -1,12 +1,12 @@ --- title: > - Too many choices? + Too many choices? pubDate: 2023-07-17 permalink: >- - archive/2023/07/17/too-many-choices + archive/2023/07/17/too-many-choices tags: - - automation - - terraform + - automation + - terraform --- I've recently considered moving my infrastructure automation code from Pulumi to Terraform. diff --git a/source/_daily_emails/2023-07-18.md b/source/_daily_emails/2023-07-18.md index a3b67afd..60884f99 100644 --- a/source/_daily_emails/2023-07-18.md +++ b/source/_daily_emails/2023-07-18.md @@ -1,12 +1,12 @@ --- title: > - TDD as a concept is simple, but TDD is difficult + TDD as a concept is simple, but TDD is difficult pubDate: 2023-07-18 permalink: >- - archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult + archive/2023/07/18/tdd-as-a-concept-is-simple-but-tdd-is-difficult tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Test-driven development as a concept is easy. diff --git a/source/_daily_emails/2023-07-19.md b/source/_daily_emails/2023-07-19.md index 274d98ac..193cf5bf 100644 --- a/source/_daily_emails/2023-07-19.md +++ b/source/_daily_emails/2023-07-19.md @@ -1,12 +1,12 @@ --- title: > - TDD is like clicker training + TDD is like clicker training pubDate: 2023-07-19 permalink: >- - archive/2023/07/19/tdd-is-like-clicker-training + archive/2023/07/19/tdd-is-like-clicker-training tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- During a webinar I watched recently, someone described test-driven-development as clicker training for Developers. diff --git a/source/_daily_emails/2023-07-20.md b/source/_daily_emails/2023-07-20.md index 0be8a065..417d55fd 100644 --- a/source/_daily_emails/2023-07-20.md +++ b/source/_daily_emails/2023-07-20.md @@ -1,12 +1,12 @@ --- title: > - Tests as communication + Tests as communication pubDate: 2023-07-20 permalink: >- - archive/2023/07/20/tests-as-communication + archive/2023/07/20/tests-as-communication tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Automated tests aren't just checks to verify your software is working. diff --git a/source/_daily_emails/2023-07-21.md b/source/_daily_emails/2023-07-21.md index 8b48265a..4a93d98a 100644 --- a/source/_daily_emails/2023-07-21.md +++ b/source/_daily_emails/2023-07-21.md @@ -1,9 +1,9 @@ --- title: > - Comments as communication + Comments as communication pubDate: 2023-07-21 permalink: >- - archive/2023/07/21/comments-as-communication + archive/2023/07/21/comments-as-communication tags: [] --- diff --git a/source/_daily_emails/2023-07-22.md b/source/_daily_emails/2023-07-22.md index 1a415870..082eacd6 100644 --- a/source/_daily_emails/2023-07-22.md +++ b/source/_daily_emails/2023-07-22.md @@ -1,9 +1,9 @@ --- title: > - More code, more problems + More code, more problems pubDate: 2023-07-22 permalink: >- - archive/2023/07/22/more-code-more-problems + archive/2023/07/22/more-code-more-problems tags: [] --- diff --git a/source/_daily_emails/2023-07-23.md b/source/_daily_emails/2023-07-23.md index b3b66e2c..3f28b46a 100644 --- a/source/_daily_emails/2023-07-23.md +++ b/source/_daily_emails/2023-07-23.md @@ -1,9 +1,9 @@ --- title: > - Tomorrow is easier if today's code is simpler + Tomorrow is easier if today's code is simpler pubDate: 2023-07-23 permalink: >- - archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler + archive/2023/07/23/tomorrow-is-easier-if-todays-code-is-simpler tags: [] --- diff --git a/source/_daily_emails/2023-07-24.md b/source/_daily_emails/2023-07-24.md index 5470204d..d73bdd05 100644 --- a/source/_daily_emails/2023-07-24.md +++ b/source/_daily_emails/2023-07-24.md @@ -1,12 +1,12 @@ --- title: > - Testing is all about confidence + Testing is all about confidence pubDate: 2023-07-24 permalink: >- - archive/2023/07/24/testing-is-all-about-confidence + archive/2023/07/24/testing-is-all-about-confidence tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Testing - manual or automated - is about building confidence. diff --git a/source/_daily_emails/2023-07-25.md b/source/_daily_emails/2023-07-25.md index f2fdf7cb..d4a746a3 100644 --- a/source/_daily_emails/2023-07-25.md +++ b/source/_daily_emails/2023-07-25.md @@ -1,9 +1,9 @@ --- title: > - Working backwards + Working backwards pubDate: 2023-07-25 permalink: >- - archive/2023/07/25/working-backwards + archive/2023/07/25/working-backwards tags: [] --- diff --git a/source/_daily_emails/2023-07-26.md b/source/_daily_emails/2023-07-26.md index ac05bd15..420f9573 100644 --- a/source/_daily_emails/2023-07-26.md +++ b/source/_daily_emails/2023-07-26.md @@ -1,11 +1,11 @@ --- title: > - Prove the concept + Prove the concept pubDate: 2023-07-26 permalink: >- - archive/2023/07/26/prove-the-concept + archive/2023/07/26/prove-the-concept tags: - - software-development + - software-development --- When starting a new task, find the simplest way to prove the concept. diff --git a/source/_daily_emails/2023-07-27.md b/source/_daily_emails/2023-07-27.md index 6a0b1f83..e5db901d 100644 --- a/source/_daily_emails/2023-07-27.md +++ b/source/_daily_emails/2023-07-27.md @@ -1,11 +1,11 @@ --- title: > - Stick to conventions + Stick to conventions pubDate: 2023-07-27 permalink: >- - archive/2023/07/27/stick-to-conventions + archive/2023/07/27/stick-to-conventions tags: - - software-development + - software-development --- If you're performing a task as there's already a convention on how to do it, stick to it. diff --git a/source/_daily_emails/2023-07-28.md b/source/_daily_emails/2023-07-28.md index 49c22241..1e0ee80a 100644 --- a/source/_daily_emails/2023-07-28.md +++ b/source/_daily_emails/2023-07-28.md @@ -1,11 +1,11 @@ --- title: > - Don't write generic commit messages + Don't write generic commit messages pubDate: 2023-07-28 permalink: >- - archive/2023/07/28/generic-commit-messages + archive/2023/07/28/generic-commit-messages tags: - - git + - git --- This week, I reviewed a client's Drupal 9 website and investigated the steps needed to upgrade to Drupal 10. diff --git a/source/_daily_emails/2023-07-29.md b/source/_daily_emails/2023-07-29.md index 45c86581..b243f734 100644 --- a/source/_daily_emails/2023-07-29.md +++ b/source/_daily_emails/2023-07-29.md @@ -1,13 +1,13 @@ --- title: > - Should I wait to upgrade from Drupal 7? + Should I wait to upgrade from Drupal 7? pubDate: 2023-07-29 permalink: >- - archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 + archive/2023/07/29/should-i-wait-to-upgrade-from-drupal-7 tags: - - drupal - - drupal-7 - - php + - drupal + - drupal-7 + - php --- It was announced at DrupalCon that Drupal 7 support was being extended one final time until January 2025. diff --git a/source/_daily_emails/2023-07-30.md b/source/_daily_emails/2023-07-30.md index 6fd0a24c..126ff425 100644 --- a/source/_daily_emails/2023-07-30.md +++ b/source/_daily_emails/2023-07-30.md @@ -1,12 +1,12 @@ --- title: > - Commit often, deploy often + Commit often, deploy often pubDate: 2023-07-30 permalink: >- - archive/2023/07/30/commit-often-deploy-often + archive/2023/07/30/commit-often-deploy-often tags: - - git - - deployments + - git + - deployments --- This is a follow-up to Friday's email on generic commit messages. diff --git a/source/_daily_emails/2023-07-31.md b/source/_daily_emails/2023-07-31.md index b7b0e652..3247e105 100644 --- a/source/_daily_emails/2023-07-31.md +++ b/source/_daily_emails/2023-07-31.md @@ -1,12 +1,12 @@ --- title: > - Upgrading from Drupal 9 is easier + Upgrading from Drupal 9 is easier pubDate: 2023-07-31 permalink: >- - archive/2023/07/31/upgrading-from-drupal-9-is-easier + archive/2023/07/31/upgrading-from-drupal-9-is-easier tags: - - drupal - - php + - drupal + - php --- Upgrading from Drupal 7 to 8, 9 or 10 is a large task. diff --git a/source/_daily_emails/2023-08-01.md b/source/_daily_emails/2023-08-01.md index b7f5ba76..f8593a8b 100644 --- a/source/_daily_emails/2023-08-01.md +++ b/source/_daily_emails/2023-08-01.md @@ -1,12 +1,12 @@ --- title: > - Maintaining a module used on 35,000 Drupal websites + Maintaining a module used on 35,000 Drupal websites pubDate: 2023-08-01 permalink: >- - archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites + archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites tags: - - drupal - - open-source + - drupal + - open-source --- Note: The numbers within this post are taken from my [Test-Driven Drupal talk](https://www.oliverdavies.uk/talks/tdd-test-driven-drupal), in which I also talk about this. diff --git a/source/_daily_emails/2023-08-02.md b/source/_daily_emails/2023-08-02.md index 0092e7c7..1082736f 100644 --- a/source/_daily_emails/2023-08-02.md +++ b/source/_daily_emails/2023-08-02.md @@ -1,13 +1,13 @@ --- title: > - A crash course into automated testing with Drupal + A crash course into automated testing with Drupal pubDate: 2023-08-02 permalink: >- - archive/2023/08/02/a-crash-course-into-drupal-testing + archive/2023/08/02/a-crash-course-into-drupal-testing tags: - - drupal - - automated-testing - - test-driven-development + - drupal + - automated-testing + - test-driven-development --- Next week, I'll be presenting a lightning talk at the North West Drupal user group (NWDUG)'s August meetup. diff --git a/source/_daily_emails/2023-08-03.md b/source/_daily_emails/2023-08-03.md index 50ee4147..438989ee 100644 --- a/source/_daily_emails/2023-08-03.md +++ b/source/_daily_emails/2023-08-03.md @@ -1,11 +1,11 @@ --- title: > - What problem are we trying to solve? + What problem are we trying to solve? pubDate: 2023-08-03 permalink: >- - archive/2023/08/03/what-problem-are-we-trying-to-solve + archive/2023/08/03/what-problem-are-we-trying-to-solve tags: - - drupal + - drupal --- The Override Node Options module that I said yesterday is used on 35,000 websites isn't a complicated module. diff --git a/source/_daily_emails/2023-08-04.md b/source/_daily_emails/2023-08-04.md index 5fea20ab..65ba2ae4 100644 --- a/source/_daily_emails/2023-08-04.md +++ b/source/_daily_emails/2023-08-04.md @@ -1,13 +1,13 @@ --- title: > - Laravel Prompts and framework-agnostic tools + Laravel Prompts and framework-agnostic tools pubDate: 2023-08-04 permalink: >- - archive/2023/08/04/laravel-prompts + archive/2023/08/04/laravel-prompts tags: - - php - - laravel - - open-source + - php + - laravel + - open-source --- Although I wouldn't consider myself a "Laravel Developer", I enjoy watching the talks from the Laravel conferences, most recently Laracon US, that took place last week. diff --git a/source/_daily_emails/2023-08-05.md b/source/_daily_emails/2023-08-05.md index e4a4b94c..2644e6bf 100644 --- a/source/_daily_emails/2023-08-05.md +++ b/source/_daily_emails/2023-08-05.md @@ -1,12 +1,12 @@ --- title: > - Use Drupal to own your content + Use Drupal to own your content pubDate: 2023-08-05 permalink: >- - archive/2023/08/05/use-drupal-to-own-your-content + archive/2023/08/05/use-drupal-to-own-your-content tags: - - drupal - - open-source + - drupal + - open-source --- I recently saw a social media website taking over users' handles - renaming them so they can have the original. diff --git a/source/_daily_emails/2023-08-06.md b/source/_daily_emails/2023-08-06.md index 3f439434..b7b8a4f5 100644 --- a/source/_daily_emails/2023-08-06.md +++ b/source/_daily_emails/2023-08-06.md @@ -1,9 +1,9 @@ --- title: > - YAGNI + YAGNI pubDate: 2023-08-06 permalink: >- - archive/2023/08/06/yagni + archive/2023/08/06/yagni tags: [] --- diff --git a/source/_daily_emails/2023-08-07.md b/source/_daily_emails/2023-08-07.md index 2283a193..37359b7b 100644 --- a/source/_daily_emails/2023-08-07.md +++ b/source/_daily_emails/2023-08-07.md @@ -1,13 +1,13 @@ --- title: > - Tests make upgrades less risky + Tests make upgrades less risky pubDate: 2023-08-07 permalink: >- - archive/2023/08/07/tests-make-upgrades-less-risky + archive/2023/08/07/tests-make-upgrades-less-risky tags: - - automated-testing - - test-driven-development - - drupal + - automated-testing + - test-driven-development + - drupal --- I recently reviewed a client's Drupal 9 website to gather information about upgrading it to Drupal 10. diff --git a/source/_daily_emails/2023-08-08.md b/source/_daily_emails/2023-08-08.md index 93148650..08b25ef4 100644 --- a/source/_daily_emails/2023-08-08.md +++ b/source/_daily_emails/2023-08-08.md @@ -1,12 +1,12 @@ --- title: > - 8 years of dotfiles + 8 years of dotfiles pubDate: 2023-08-08 permalink: >- - archive/2023/08/08/8-years-of-dotfiles + archive/2023/08/08/8-years-of-dotfiles tags: - - dotfiles - - open-source + - dotfiles + - open-source --- Today, I was speaking with a colleague about configuring Git, which led to a conversation about dotfiles repositories - somewhere where you version the changes to your configuration files and, usually, create symlinks to their expected locations. diff --git a/source/_daily_emails/2023-08-09.md b/source/_daily_emails/2023-08-09.md index dd8c9668..3e0285d7 100644 --- a/source/_daily_emails/2023-08-09.md +++ b/source/_daily_emails/2023-08-09.md @@ -1,11 +1,11 @@ --- title: > - Vim is my lightsaber + Vim is my lightsaber pubDate: 2023-08-09 permalink: >- - archive/2023/08/09/vim-is-my-lightsaber + archive/2023/08/09/vim-is-my-lightsaber tags: - - vim + - vim --- "Vim is my lightsaber" is the final chapter of Jess Archer's Neovim course on Laracasts. diff --git a/source/_daily_emails/2023-08-10.md b/source/_daily_emails/2023-08-10.md index 79b09dfb..c30c5fc0 100644 --- a/source/_daily_emails/2023-08-10.md +++ b/source/_daily_emails/2023-08-10.md @@ -1,12 +1,12 @@ --- title: > - Testing, fixed prices and bug-free guarantees + Testing, fixed prices and bug-free guarantees pubDate: 2023-08-10 permalink: >- - archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees + archive/2023/08/10/testing-fixed-prices-and-bug-free-guarantees tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- After my lightning talk for NWDUG on automated testing with Drupal, the question was asked how to find time for testing. diff --git a/source/_daily_emails/2023-08-11.md b/source/_daily_emails/2023-08-11.md index 80534207..03587b14 100644 --- a/source/_daily_emails/2023-08-11.md +++ b/source/_daily_emails/2023-08-11.md @@ -1,12 +1,12 @@ --- title: > - Everyone tests their code + Everyone tests their code pubDate: 2023-08-11 permalink: >- - archive/2023/08/11/everyone-tests-their-code + archive/2023/08/11/everyone-tests-their-code tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- No one writes code, commits it and pushes it to production without checking it works. diff --git a/source/_daily_emails/2023-08-12.md b/source/_daily_emails/2023-08-12.md index fd49d067..151b6aff 100644 --- a/source/_daily_emails/2023-08-12.md +++ b/source/_daily_emails/2023-08-12.md @@ -1,12 +1,12 @@ --- title: > - Does not writing tests actually save time? + Does not writing tests actually save time? pubDate: 2023-08-12 permalink: >- - archive/2023/08/12/does-not-writing-tests-actually-save-time + archive/2023/08/12/does-not-writing-tests-actually-save-time tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- One of the most common responses to why people don't write tests is, "We don't have time". diff --git a/source/_daily_emails/2023-08-13.md b/source/_daily_emails/2023-08-13.md index 0bf4b70d..2c187372 100644 --- a/source/_daily_emails/2023-08-13.md +++ b/source/_daily_emails/2023-08-13.md @@ -1,12 +1,12 @@ --- title: > - Don't estimate separately for testing + Don't estimate separately for testing pubDate: 2023-08-13 permalink: >- - archive/2023/08/13/dont-estimate-separately-for-testing + archive/2023/08/13/dont-estimate-separately-for-testing tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- A common issue I see for people introducing automated testing is estimating the testing and implementation of a task separately. diff --git a/source/_daily_emails/2023-08-14.md b/source/_daily_emails/2023-08-14.md index 87c71f1a..609c1ca5 100644 --- a/source/_daily_emails/2023-08-14.md +++ b/source/_daily_emails/2023-08-14.md @@ -1,11 +1,11 @@ --- title: > - Why keep a dotfiles repository + Why keep a dotfiles repository pubDate: 2023-08-14 permalink: >- - archive/2023/08/14/why-keep-a-dotfiles-repository + archive/2023/08/14/why-keep-a-dotfiles-repository tags: - - dotfiles + - dotfiles --- A few days ago, I said it's been 8 years since I started my dotfiles repository and kept my configuration files in version control. diff --git a/source/_daily_emails/2023-08-15.md b/source/_daily_emails/2023-08-15.md index 7a37d280..d7eb83e2 100644 --- a/source/_daily_emails/2023-08-15.md +++ b/source/_daily_emails/2023-08-15.md @@ -1,12 +1,12 @@ --- title: > - Writing test and implementation code are the same task + Writing test and implementation code are the same task pubDate: 2023-08-15 permalink: >- - archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task + archive/2023/08/15/writing-test-and-implementation-code-are-the-same-task tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- In Sunday's email, I said not to estimate separately for testing and implementation. diff --git a/source/_daily_emails/2023-08-16.md b/source/_daily_emails/2023-08-16.md index 16a72a47..cd5b8298 100644 --- a/source/_daily_emails/2023-08-16.md +++ b/source/_daily_emails/2023-08-16.md @@ -1,12 +1,12 @@ --- title: > - Writing tests in your own time + Writing tests in your own time pubDate: 2023-08-16 permalink: >- - archive/2023/08/16/writing-tests-in-your-own-time + archive/2023/08/16/writing-tests-in-your-own-time tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- This is how I first started writing automated tests. diff --git a/source/_daily_emails/2023-08-17.md b/source/_daily_emails/2023-08-17.md index 06782ecd..32437e41 100644 --- a/source/_daily_emails/2023-08-17.md +++ b/source/_daily_emails/2023-08-17.md @@ -1,12 +1,12 @@ --- title: > - Writing custom assertions in your tests + Writing custom assertions in your tests pubDate: 2023-08-17 permalink: >- - archive/2023/08/17/writing-custom-assertions-in-your-tests + archive/2023/08/17/writing-custom-assertions-in-your-tests tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Writing custom assertions is a great way to clean up your test code. diff --git a/source/_daily_emails/2023-08-18.md b/source/_daily_emails/2023-08-18.md index f76f5041..a6cdbfb8 100644 --- a/source/_daily_emails/2023-08-18.md +++ b/source/_daily_emails/2023-08-18.md @@ -1,13 +1,13 @@ --- title: > - Types vs tests + Types vs tests pubDate: 2023-08-18 permalink: >- - archive/2023/08/18/types-vs-tests + archive/2023/08/18/types-vs-tests tags: - - automated-testing - - test-driven-development - - static-analysis + - automated-testing + - test-driven-development + - static-analysis --- Today, I saw a Twitter poll - "Poll: Imagine your team has to build a project with either types or tests. You can't have both.". diff --git a/source/_daily_emails/2023-08-19.md b/source/_daily_emails/2023-08-19.md index 43ef1a77..3668c5c6 100644 --- a/source/_daily_emails/2023-08-19.md +++ b/source/_daily_emails/2023-08-19.md @@ -1,11 +1,11 @@ --- title: > - Asserting all the things + Asserting all the things pubDate: 2023-08-19 permalink: >- - archive/2023/08/19/asserting-all-the-things + archive/2023/08/19/asserting-all-the-things tags: - - php + - php --- As well as assertions within tests, you can also check within implementation code that things are in an expected state or contain a certain value. diff --git a/source/_daily_emails/2023-08-20.md b/source/_daily_emails/2023-08-20.md index 071edf41..10ec3b12 100644 --- a/source/_daily_emails/2023-08-20.md +++ b/source/_daily_emails/2023-08-20.md @@ -1,11 +1,11 @@ --- title: > - PHP types and assertions + PHP types and assertions pubDate: 2023-08-20 permalink: >- - archive/2023/08/20/php-types-and-assertions + archive/2023/08/20/php-types-and-assertions tags: - - php + - php --- Following yesterday's email about input validation, guard clauses and assertion libraries, these can be used to compliment PHP's native types and checking. diff --git a/source/_daily_emails/2023-08-21.md b/source/_daily_emails/2023-08-21.md index df5529a9..54bae64d 100644 --- a/source/_daily_emails/2023-08-21.md +++ b/source/_daily_emails/2023-08-21.md @@ -1,13 +1,13 @@ --- title: > - Which part of the CI pipeline has the most value? + Which part of the CI pipeline has the most value? pubDate: 2023-08-21 permalink: >- - archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value + archive/2023/08/21/which-part-of-the-ci-pipeline-has-the-most-value tags: - - continuous-integration - - automated-testing - - static-analysis + - continuous-integration + - automated-testing + - static-analysis --- The main part of my CI pipeline tasks are running the automated tests, coding standards checks and static analysis. diff --git a/source/_daily_emails/2023-08-22.md b/source/_daily_emails/2023-08-22.md index 4f1c5508..86193588 100644 --- a/source/_daily_emails/2023-08-22.md +++ b/source/_daily_emails/2023-08-22.md @@ -1,12 +1,12 @@ --- title: > - Deployments with your CI pipeline + Deployments with your CI pipeline pubDate: 2023-08-22 permalink: >- - archive/2023/08/22/deployments-with-your-ci-pipeline + archive/2023/08/22/deployments-with-your-ci-pipeline tags: - - continuous-integration - - pipelines + - continuous-integration + - pipelines --- You have a CI pipeline in your project. diff --git a/source/_daily_emails/2023-08-23.md b/source/_daily_emails/2023-08-23.md index 45686ae2..a10cc725 100644 --- a/source/_daily_emails/2023-08-23.md +++ b/source/_daily_emails/2023-08-23.md @@ -1,11 +1,11 @@ --- title: > - Don't use third-party services directly + Don't use third-party services directly pubDate: 2023-08-23 permalink: >- - archive/2023/08/23/dont-use-third-party-services-directly + archive/2023/08/23/dont-use-third-party-services-directly tags: - - automated-testing + - automated-testing --- If you need to integrate your application with a third-party service, don't integrate it directly - even if it has an SDK. diff --git a/source/_daily_emails/2023-08-24.md b/source/_daily_emails/2023-08-24.md index 437ffe2c..241addac 100644 --- a/source/_daily_emails/2023-08-24.md +++ b/source/_daily_emails/2023-08-24.md @@ -1,12 +1,12 @@ --- title: > - Testing multiple implementations with contract tests + Testing multiple implementations with contract tests pubDate: 2023-08-24 permalink: >- - archive/2023/08/24/testing-multiple-implementations-with-contract-tests + archive/2023/08/24/testing-multiple-implementations-with-contract-tests tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- If you have multiple implementations of a service, as I [mentioned in yesterday's email](https://www.oliverdavies.uk/archive/2023/08/23/dont-use-third-party-services-directly), you need to ensure they all provide the same functionality. diff --git a/source/_daily_emails/2023-08-25.md b/source/_daily_emails/2023-08-25.md index 6423d061..9c922ce3 100644 --- a/source/_daily_emails/2023-08-25.md +++ b/source/_daily_emails/2023-08-25.md @@ -1,12 +1,12 @@ --- title: > - Start with a vague test + Start with a vague test pubDate: 2023-08-25 permalink: >- - archive/2023/08/25/start-with-a-vague-test + archive/2023/08/25/start-with-a-vague-test tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- If you're unsure what your first test should be, start by writing a test with an intentionally vague name, just to get you started. diff --git a/source/_daily_emails/2023-08-26.md b/source/_daily_emails/2023-08-26.md index 7cd169d6..66fec79c 100644 --- a/source/_daily_emails/2023-08-26.md +++ b/source/_daily_emails/2023-08-26.md @@ -1,12 +1,12 @@ --- title: > - Work in small chunks + Work in small chunks pubDate: 2023-08-26 permalink: >- - archive/2023/08/26/work-in-small-chunks + archive/2023/08/26/work-in-small-chunks tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When working with teams who are starting with automated tests and test-driven development, a common issue is being stuck on a failing test and trying to do too much at once while getting it to pass. diff --git a/source/_daily_emails/2023-08-27.md b/source/_daily_emails/2023-08-27.md index 28544835..2a2f09a0 100644 --- a/source/_daily_emails/2023-08-27.md +++ b/source/_daily_emails/2023-08-27.md @@ -1,13 +1,13 @@ --- title: > - Pull requests are great for open-source, but not for teams + Pull requests are great for open-source, but not for teams pubDate: 2023-08-27 permalink: >- - archive/2023/08/27/pull-requests-are-great-for-open-source + archive/2023/08/27/pull-requests-are-great-for-open-source tags: - - code-review - - git - - trunk-based-development + - code-review + - git + - trunk-based-development --- Code review with pull and merge requests is great for open-source but not for development teams or soloists. diff --git a/source/_daily_emails/2023-08-28.md b/source/_daily_emails/2023-08-28.md index f502718d..9c91ee21 100644 --- a/source/_daily_emails/2023-08-28.md +++ b/source/_daily_emails/2023-08-28.md @@ -1,13 +1,13 @@ --- title: > - Pair and mob programming are continuous code review + Pair and mob programming are continuous code review pubDate: 2023-08-28 permalink: >- - archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review + archive/2023/08/28/pair-and-mob-programming-are-continuous-code-review tags: - - code-review - - pair-programming - - mob-programming + - code-review + - pair-programming + - mob-programming --- Instead of a single Developer working individually on a task and submitting it for a code review once complete, try pair or mob programming. diff --git a/source/_daily_emails/2023-08-29.md b/source/_daily_emails/2023-08-29.md index 65afaee7..d8fc31dd 100644 --- a/source/_daily_emails/2023-08-29.md +++ b/source/_daily_emails/2023-08-29.md @@ -1,12 +1,12 @@ --- title: > - CI pipelines are an automated code review + CI pipelines are an automated code review pubDate: 2023-08-29 permalink: >- - archive/2023/08/29/ci-pipelines-are-an-automated-code-review + archive/2023/08/29/ci-pipelines-are-an-automated-code-review tags: - - code-review - - ci-pipelines + - code-review + - ci-pipelines --- I've worked on various teams over the last 13 years on which we've needed to do feature branches, pull requests and code reviews. diff --git a/source/_daily_emails/2023-08-30.md b/source/_daily_emails/2023-08-30.md index e52357cf..9a236d05 100644 --- a/source/_daily_emails/2023-08-30.md +++ b/source/_daily_emails/2023-08-30.md @@ -1,12 +1,12 @@ --- title: > - TDD and "Unexpected errors" + TDD and "Unexpected errors" pubDate: 2023-08-30 permalink: >- - archive/2023/08/30/tdd-and-unexpected-errors + archive/2023/08/30/tdd-and-unexpected-errors tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- When working on projects, it's common to see messages like "The website encountered an unexpected error. Please try again later.". diff --git a/source/_daily_emails/2023-08-31.md b/source/_daily_emails/2023-08-31.md index 12eb7ca7..51fa7697 100644 --- a/source/_daily_emails/2023-08-31.md +++ b/source/_daily_emails/2023-08-31.md @@ -1,12 +1,12 @@ --- title: > - Code review discourages small refactorings + Code review discourages small refactorings pubDate: 2023-08-31 permalink: >- - archive/2023/08/31/code-review-discourages-small-refactorings + archive/2023/08/31/code-review-discourages-small-refactorings tags: - - code-reviews - - trunk-based-development + - code-reviews + - trunk-based-development --- If, for every change to a codebase, you need to create a topic branch, create a pull or merge request, and wait for it to be reviewed and approved - which can take days, weeks or longer - does that discourage you from making small changes? diff --git a/source/_daily_emails/2023-09-01.md b/source/_daily_emails/2023-09-01.md index 85ce3be3..fb0d3dc5 100644 --- a/source/_daily_emails/2023-09-01.md +++ b/source/_daily_emails/2023-09-01.md @@ -1,12 +1,12 @@ --- title: > - Non-blocking code reviews + Non-blocking code reviews pubDate: 2023-09-01 permalink: >- - archive/2023/09/01/non-blocking-code-reviews + archive/2023/09/01/non-blocking-code-reviews tags: - - ci-pipelines - - code-review + - ci-pipelines + - code-review --- If your team wants or needs to do code reviews, but you don't want it to slow down development, you could implement non-blocking code reviews. diff --git a/source/_daily_emails/2023-09-02.md b/source/_daily_emails/2023-09-02.md index 4716cd95..d8fce915 100644 --- a/source/_daily_emails/2023-09-02.md +++ b/source/_daily_emails/2023-09-02.md @@ -1,13 +1,13 @@ --- title: > - Planning first or reviewing last? + Planning first or reviewing last? pubDate: 2023-09-02 permalink: >- - archive/2023/09/02/planning-first-or-reviewing-last + archive/2023/09/02/planning-first-or-reviewing-last tags: - - code-review - - pair-programming - - mob-programming + - code-review + - pair-programming + - mob-programming --- Code reviews are something that happens after the code has been written. diff --git a/source/_daily_emails/2023-09-03.md b/source/_daily_emails/2023-09-03.md index f9daee60..8b5b4754 100644 --- a/source/_daily_emails/2023-09-03.md +++ b/source/_daily_emails/2023-09-03.md @@ -1,14 +1,14 @@ --- title: > - Including time for tests in estimates + Including time for tests in estimates pubDate: 2023-09-03 permalink: >- - archive/2023/09/03/including-time-for-tests-in-estimates + archive/2023/09/03/including-time-for-tests-in-estimates tags: - - automated-testing - - test-driven-development - - software-development - - estimation + - automated-testing + - test-driven-development + - software-development + - estimation --- If you need to provide estimates for your tasks and intend to write tests, include the time for the tests within the estimate. diff --git a/source/_daily_emails/2023-09-04.md b/source/_daily_emails/2023-09-04.md index 9fd4033d..17440b2e 100644 --- a/source/_daily_emails/2023-09-04.md +++ b/source/_daily_emails/2023-09-04.md @@ -1,12 +1,12 @@ --- title: > - Charging more _not_ to write tests + Charging more _not_ to write tests pubDate: 2023-09-04 permalink: >- - archive/2023/09/04/charging-more-not-to-write-tests + archive/2023/09/04/charging-more-not-to-write-tests tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- Joel Clermont [replied to a previous email on Twitter](https://twitter.com/jclermont/status/1690872089878691840): diff --git a/source/_daily_emails/2023-09-05.md b/source/_daily_emails/2023-09-05.md index b1964f48..35d7e4fa 100644 --- a/source/_daily_emails/2023-09-05.md +++ b/source/_daily_emails/2023-09-05.md @@ -1,12 +1,12 @@ --- title: > - Spring clean before upgrading + Spring clean before upgrading pubDate: 2023-09-05 permalink: >- - archive/2023/09/05/spring-clean-before-upgrading + archive/2023/09/05/spring-clean-before-upgrading tags: - - drupal - - software-upgrades + - drupal + - software-upgrades --- One of the first things I do when reviewing whether an application can be upgraded is to look for anything that can be removed. diff --git a/source/_daily_emails/2023-09-06.md b/source/_daily_emails/2023-09-06.md index 3a982612..11d062a3 100644 --- a/source/_daily_emails/2023-09-06.md +++ b/source/_daily_emails/2023-09-06.md @@ -1,11 +1,11 @@ --- title: > - Verbosity over abstraction + Verbosity over abstraction pubDate: 2023-09-06 permalink: >- - archive/2023/09/06/verbosity-over-abstraction + archive/2023/09/06/verbosity-over-abstraction tags: - - software-development + - software-development --- Recently, a steamer said they "prefer verbosity over abstraction/confusion". diff --git a/source/_daily_emails/2023-09-07.md b/source/_daily_emails/2023-09-07.md index 046ed1d3..abf90930 100644 --- a/source/_daily_emails/2023-09-07.md +++ b/source/_daily_emails/2023-09-07.md @@ -1,15 +1,15 @@ --- title: > - What's the simplest test to begin with? + What's the simplest test to begin with? pubDate: 2023-09-07 permalink: >- - archive/2023/09/07/what-s-the-simplest-test-to-begin-with + archive/2023/09/07/what-s-the-simplest-test-to-begin-with tags: - - software-development - - automated-testing - - test-driven-development - - php - - drupal + - software-development + - automated-testing + - test-driven-development + - php + - drupal --- When giving talks and workshops or coaching on automated testing and test-driven development, some people may not have written tests before and aren't familiar with the structure or know where to begin. diff --git a/source/_daily_emails/2023-09-08.md b/source/_daily_emails/2023-09-08.md index a3a1dc81..f34824ad 100644 --- a/source/_daily_emails/2023-09-08.md +++ b/source/_daily_emails/2023-09-08.md @@ -1,12 +1,12 @@ --- title: > - Do you proactively refactor your code? + Do you proactively refactor your code? pubDate: 2023-09-08 permalink: >- - archive/2023/09/08/do-you-proactively-refactor-your-code + archive/2023/09/08/do-you-proactively-refactor-your-code tags: - - software-development - - refactoring + - software-development + - refactoring --- Do you go back and proactively refactor code you've previously written? diff --git a/source/_daily_emails/2023-09-09.md b/source/_daily_emails/2023-09-09.md index 8ffd7634..34d947b5 100644 --- a/source/_daily_emails/2023-09-09.md +++ b/source/_daily_emails/2023-09-09.md @@ -1,14 +1,14 @@ --- title: > - A lack of tests discourages refactoring + A lack of tests discourages refactoring pubDate: 2023-09-09 permalink: >- - archive/2023/09/09/a-lack-of-tests-discourages-refactoring + archive/2023/09/09/a-lack-of-tests-discourages-refactoring tags: - - automated-testing - - test-driven-development - - refactoring - - software-development + - automated-testing + - test-driven-development + - refactoring + - software-development --- A common cause of not refactoring code is a lack of test coverage. diff --git a/source/_daily_emails/2023-09-10.md b/source/_daily_emails/2023-09-10.md index da149055..ee05236d 100644 --- a/source/_daily_emails/2023-09-10.md +++ b/source/_daily_emails/2023-09-10.md @@ -1,11 +1,11 @@ --- title: > - Code is read more than it's written + Code is read more than it's written pubDate: 2023-09-10 permalink: >- - archive/2023/09/10/code-is-read-more-than-it-s-written + archive/2023/09/10/code-is-read-more-than-it-s-written tags: - - software-development + - software-development --- A lot of code is written once by one person and not changed again. diff --git a/source/_daily_emails/2023-09-11.md b/source/_daily_emails/2023-09-11.md index f75b4cc4..f6c078bb 100644 --- a/source/_daily_emails/2023-09-11.md +++ b/source/_daily_emails/2023-09-11.md @@ -1,12 +1,12 @@ --- title: > - Don't use "else" + Don't use "else" pubDate: 2023-09-11 permalink: >- - archive/2023/09/11/dont-use-else + archive/2023/09/11/dont-use-else tags: - - software-development - - clean-code + - software-development + - clean-code --- diff --git a/source/_daily_emails/2023-09-12.md b/source/_daily_emails/2023-09-12.md index 8a4731b7..7c5faf80 100644 --- a/source/_daily_emails/2023-09-12.md +++ b/source/_daily_emails/2023-09-12.md @@ -1,12 +1,12 @@ --- title: > - Don't inject too many dependencies + Don't inject too many dependencies pubDate: 2023-09-12 permalink: >- - archive/2023/09/12/dont-inject-too-many-dependencies + archive/2023/09/12/dont-inject-too-many-dependencies tags: - - software-development - - clean-code + - software-development + - clean-code --- While dependency injection is a good practice - i.e., passing dependencies into a class, usually via a constructor method - you want to be aware of how many dependencies you inject into each class. diff --git a/source/_daily_emails/2023-09-13.md b/source/_daily_emails/2023-09-13.md index 66321961..6a975ff0 100644 --- a/source/_daily_emails/2023-09-13.md +++ b/source/_daily_emails/2023-09-13.md @@ -1,14 +1,14 @@ --- title: > - Which type of test should I use? + Which type of test should I use? pubDate: 2023-09-13 permalink: >- - archive/2023/09/13/which-type-of-test-should-i-use + archive/2023/09/13/which-type-of-test-should-i-use tags: - - drupal - - php - - automated-testing - - test-driven-development + - drupal + - php + - automated-testing + - test-driven-development --- Drupal offers a few different types of tests you can use, but how do you know which one to pick? diff --git a/source/_daily_emails/2023-09-14.md b/source/_daily_emails/2023-09-14.md index 2d4a1548..ec1ef72e 100644 --- a/source/_daily_emails/2023-09-14.md +++ b/source/_daily_emails/2023-09-14.md @@ -1,13 +1,13 @@ --- title: > - Outside-in or inside-out? + Outside-in or inside-out? pubDate: 2023-09-14 permalink: >- - archive/2023/09/14/outside-in-or-inside-out + archive/2023/09/14/outside-in-or-inside-out tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- [In yesterday's email][yesterday], I described the different types of tests available in Drupal and how to determine which test I should use. diff --git a/source/_daily_emails/2023-09-15.md b/source/_daily_emails/2023-09-15.md index 2a11d748..a7b9ef25 100644 --- a/source/_daily_emails/2023-09-15.md +++ b/source/_daily_emails/2023-09-15.md @@ -1,14 +1,14 @@ --- title: > - Types or no types + Types or no types pubDate: 2023-09-15 permalink: >- - archive/2023/09/15/types-or-no-types + archive/2023/09/15/types-or-no-types tags: - - software-development - - types - - JavaScript - - TypeScript + - software-development + - types + - JavaScript + - TypeScript --- Here are two versions of some example code I've recently been working on. diff --git a/source/_daily_emails/2023-09-16.md b/source/_daily_emails/2023-09-16.md index 67c1c19b..ebed60d8 100644 --- a/source/_daily_emails/2023-09-16.md +++ b/source/_daily_emails/2023-09-16.md @@ -1,14 +1,14 @@ --- title: > - How not to break 36,000 websites + How not to break 36,000 websites pubDate: 2023-09-16 permalink: >- - archive/2023/09/16/how-not-to-break-36-000-websites + archive/2023/09/16/how-not-to-break-36-000-websites tags: - - drupal - - php - - automated-testing - - test-driven-development + - drupal + - php + - automated-testing + - test-driven-development --- I've maintained the Override Node Options module for Drupal since early 2012. diff --git a/source/_daily_emails/2023-09-17.md b/source/_daily_emails/2023-09-17.md index 53a434ce..7f6596fa 100644 --- a/source/_daily_emails/2023-09-17.md +++ b/source/_daily_emails/2023-09-17.md @@ -1,14 +1,14 @@ --- title: > - How much refactoring should I be doing? + How much refactoring should I be doing? pubDate: 2023-09-17 permalink: >- - archive/2023/09/17/how-much-refactoring-should-i-be-doing + archive/2023/09/17/how-much-refactoring-should-i-be-doing tags: - - software-development - - test-driven-development - - automated-testing - - refactoring + - software-development + - test-driven-development + - automated-testing + - refactoring --- I watched a webinar recently, and one of the panellists asked, "How much refactoring should I be doing?". diff --git a/source/_daily_emails/2023-09-18.md b/source/_daily_emails/2023-09-18.md index 69cf54a5..402f8f9c 100644 --- a/source/_daily_emails/2023-09-18.md +++ b/source/_daily_emails/2023-09-18.md @@ -1,13 +1,13 @@ --- title: > - Increasing test coverage with regression tests + Increasing test coverage with regression tests pubDate: 2023-09-18 permalink: >- - archive/2023/09/18/increasing-test-coverage-with-regression-tests + archive/2023/09/18/increasing-test-coverage-with-regression-tests tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Automated test suites don't tell you everything works - they tell you what you've tested isn't broken. diff --git a/source/_daily_emails/2023-09-19.md b/source/_daily_emails/2023-09-19.md index d35da4ad..9897afab 100644 --- a/source/_daily_emails/2023-09-19.md +++ b/source/_daily_emails/2023-09-19.md @@ -1,13 +1,13 @@ --- title: > - Stop writing tests + Stop writing tests pubDate: 2023-09-19 permalink: >- - archive/2023/09/19/stop-writing-tests + archive/2023/09/19/stop-writing-tests tags: - - software-development - - test-driven-development - - automated-testing + - software-development + - test-driven-development + - automated-testing --- A few years ago, I worked at an agency on a client project. diff --git a/source/_daily_emails/2023-09-20.md b/source/_daily_emails/2023-09-20.md index 323708ef..86dfe245 100644 --- a/source/_daily_emails/2023-09-20.md +++ b/source/_daily_emails/2023-09-20.md @@ -1,14 +1,14 @@ --- title: > - Why I prefer types + Why I prefer types pubDate: 2023-09-20 permalink: >- - archive/2023/09/20/why-i-prefer-types + archive/2023/09/20/why-i-prefer-types tags: - - software-development - - types - - javascript - - typescript + - software-development + - types + - javascript + - typescript --- Whether it's PHP or JavaScript/TypeScript, I prefer type declarations in my code. diff --git a/source/_daily_emails/2023-09-21.md b/source/_daily_emails/2023-09-21.md index 64d5559c..7bea9233 100644 --- a/source/_daily_emails/2023-09-21.md +++ b/source/_daily_emails/2023-09-21.md @@ -1,15 +1,15 @@ --- title: > - Buggy software causes reputational damage + Buggy software causes reputational damage pubDate: 2023-09-21 permalink: >- - archive/2023/09/21/buggy-software-causes-reputational-damage + archive/2023/09/21/buggy-software-causes-reputational-damage tags: - - software-development - - automated-testing - - feature-flags - - continuous-integration - - continuous-delivery + - software-development + - automated-testing + - feature-flags + - continuous-integration + - continuous-delivery --- As well as taking longer to fix than locally or in a failed CI pipeline, shipping buggy software to production causes reputational damage. diff --git a/source/_daily_emails/2023-09-22.md b/source/_daily_emails/2023-09-22.md index c21cdc36..a1c8985c 100644 --- a/source/_daily_emails/2023-09-22.md +++ b/source/_daily_emails/2023-09-22.md @@ -1,13 +1,13 @@ --- title: > - Documentation and comments get stale. Tests don't. + Documentation and comments get stale. Tests don't. pubDate: 2023-09-22 permalink: >- - archive/2023/09/22/documentation-and-comments-get-stale + archive/2023/09/22/documentation-and-comments-get-stale tags: - - software-development - - automated-testing - - static-analysis + - software-development + - automated-testing + - static-analysis --- I'm sure you've seen code comments that say the code will do something when, in fact, it does something different. diff --git a/source/_daily_emails/2023-09-23.md b/source/_daily_emails/2023-09-23.md index 55118e52..1a01903f 100644 --- a/source/_daily_emails/2023-09-23.md +++ b/source/_daily_emails/2023-09-23.md @@ -1,13 +1,13 @@ --- title: > - Everyone tests their code, but not everyone writes automated tests + Everyone tests their code, but not everyone writes automated tests pubDate: 2023-09-23 permalink: >- - archive/2023/09/23/not-everyone-writes-automated-tests + archive/2023/09/23/not-everyone-writes-automated-tests tags: - - software-development - - test-driven-development - - automated-testing + - software-development + - test-driven-development + - automated-testing --- Everyone tests their code. diff --git a/source/_daily_emails/2023-09-24.md b/source/_daily_emails/2023-09-24.md index c9976d34..91f14022 100644 --- a/source/_daily_emails/2023-09-24.md +++ b/source/_daily_emails/2023-09-24.md @@ -1,13 +1,13 @@ --- title: > - Test to save your job + Test to save your job pubDate: 2023-09-24 permalink: >- - archive/2023/09/24/test-to-save-your-job + archive/2023/09/24/test-to-save-your-job tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I've recently been going through my YouTube "Watch Later" list and watching (or rewatching) videos of conference and meetup talks that I saved to watch later. diff --git a/source/_daily_emails/2023-09-25.md b/source/_daily_emails/2023-09-25.md index c573d5cf..13bf3be5 100644 --- a/source/_daily_emails/2023-09-25.md +++ b/source/_daily_emails/2023-09-25.md @@ -1,11 +1,11 @@ --- title: > - Should you use a staging environment? + Should you use a staging environment? pubDate: 2023-09-25 permalink: >- - archive/2023/09/25/should-you-use-a-staging-environment + archive/2023/09/25/should-you-use-a-staging-environment tags: - - software-development + - software-development --- The purpose of any pre-production version of your website or application (any version that isn't the public live one) is to mimic the production version and as a test run for deployments. diff --git a/source/_daily_emails/2023-09-26.md b/source/_daily_emails/2023-09-26.md index 9b86b120..630a0f59 100644 --- a/source/_daily_emails/2023-09-26.md +++ b/source/_daily_emails/2023-09-26.md @@ -1,14 +1,14 @@ --- title: > - Which branch should be in which environment? + Which branch should be in which environment? pubDate: 2023-09-26 permalink: >- - archive/2023/09/26/which-branch-should-be-in-which-environment + archive/2023/09/26/which-branch-should-be-in-which-environment tags: - - software-development - - git - - trunk-based-development - - feature-flags + - software-development + - git + - trunk-based-development + - feature-flags --- A common question is which [Git] branch should be on which environment. diff --git a/source/_daily_emails/2023-09-27.md b/source/_daily_emails/2023-09-27.md index 61353ffb..837c6949 100644 --- a/source/_daily_emails/2023-09-27.md +++ b/source/_daily_emails/2023-09-27.md @@ -1,12 +1,12 @@ --- title: > - Separating environments with feature flags + Separating environments with feature flags pubDate: 2023-09-27 permalink: >- - archive/2023/09/27/separating-environments-with-feature-flags + archive/2023/09/27/separating-environments-with-feature-flags tags: - - software-development - - feature-flags + - software-development + - feature-flags --- You have two or more environments and versions of your application, but you do trunk-based development, so you only have a single branch that you use on all environments. diff --git a/source/_daily_emails/2023-09-28.md b/source/_daily_emails/2023-09-28.md index 0b314332..9ce78faf 100644 --- a/source/_daily_emails/2023-09-28.md +++ b/source/_daily_emails/2023-09-28.md @@ -1,14 +1,14 @@ --- title: > - Feature flags enable continuous integration + Feature flags enable continuous integration pubDate: 2023-09-28 permalink: >- - archive/2023/09/28/feature-flags-enable-continuous-integration + archive/2023/09/28/feature-flags-enable-continuous-integration tags: - - software-development - - git - - continuous-integration - - feature-flags + - software-development + - git + - continuous-integration + - feature-flags --- I was recently working on a feature over a few mob programming sessions. diff --git a/source/_daily_emails/2023-09-29.md b/source/_daily_emails/2023-09-29.md index 2095b65c..76eb84bb 100644 --- a/source/_daily_emails/2023-09-29.md +++ b/source/_daily_emails/2023-09-29.md @@ -1,14 +1,14 @@ --- title: > - 92 changed files with 885 additions and 156 deletions + 92 changed files with 885 additions and 156 deletions pubDate: 2023-09-29 permalink: >- - archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions + archive/2023/09/29/92-changed-files-with-885-additions-and-156-deletions tags: - - software-development - - automated-testing - - test-driven-development - - refactoring + - software-development + - automated-testing + - test-driven-development + - refactoring --- Today, I refactored some code on a client's Drupal project I've been working on. diff --git a/source/_daily_emails/2023-09-30.md b/source/_daily_emails/2023-09-30.md index 532c5df1..c05b157a 100644 --- a/source/_daily_emails/2023-09-30.md +++ b/source/_daily_emails/2023-09-30.md @@ -1,12 +1,12 @@ --- title: > - Automated testing offers repeatability + Automated testing offers repeatability pubDate: 2023-09-30 permalink: >- - archive/2023/09/30/automated-testing-offers-repeatability + archive/2023/09/30/automated-testing-offers-repeatability tags: - - automated-testing - - test-driven-development + - automated-testing + - test-driven-development --- You work on feature or bug fix. diff --git a/source/_daily_emails/2023-10-01.md b/source/_daily_emails/2023-10-01.md index c444b9da..d5616741 100644 --- a/source/_daily_emails/2023-10-01.md +++ b/source/_daily_emails/2023-10-01.md @@ -1,14 +1,14 @@ --- title: > - TDD: repeat and refactor + TDD: repeat and refactor pubDate: 2023-10-01 permalink: >- - archive/2023/10/01/tdd--repeat-and-refactor + archive/2023/10/01/tdd--repeat-and-refactor tags: - - automated-testing - - software-development - - test-driven-development - - refactoring + - automated-testing + - software-development + - test-driven-development + - refactoring --- With test-driven development, you start with a failing test and focus on getting it to pass. diff --git a/source/_daily_emails/2023-10-02.md b/source/_daily_emails/2023-10-02.md index 188b2017..86c1ba43 100644 --- a/source/_daily_emails/2023-10-02.md +++ b/source/_daily_emails/2023-10-02.md @@ -1,12 +1,12 @@ --- title: > - Only comment what needs to be commented + Only comment what needs to be commented pubDate: 2023-10-02 permalink: >- - archive/2023/10/02/only-comment-what-needs-to-be-commented + archive/2023/10/02/only-comment-what-needs-to-be-commented tags: - - software-development - - clean-code + - software-development + - clean-code --- "If you comment everything, people won't read them." diff --git a/source/_daily_emails/2023-10-03.md b/source/_daily_emails/2023-10-03.md index ab7f4bc5..eb78c201 100644 --- a/source/_daily_emails/2023-10-03.md +++ b/source/_daily_emails/2023-10-03.md @@ -1,11 +1,11 @@ --- title: > - There is no perfect solution + There is no perfect solution pubDate: 2023-10-03 permalink: >- - archive/2023/10/03/there-is-no-perfect-solution + archive/2023/10/03/there-is-no-perfect-solution tags: - - software-development + - software-development --- Something I've said recently when mentoring bootcamp students and working with Junior Developers is that there isn't a perfect solution to each problem, and there are multiple ways to achieve the same result. diff --git a/source/_daily_emails/2023-10-04.md b/source/_daily_emails/2023-10-04.md index 868d3187..8711419c 100644 --- a/source/_daily_emails/2023-10-04.md +++ b/source/_daily_emails/2023-10-04.md @@ -1,13 +1,13 @@ --- title: > - The best solution is the one that gets the tests to pass + The best solution is the one that gets the tests to pass pubDate: 2023-10-04 permalink: >- - archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass + archive/2023/10/04/the-best-solution-is-the-one-that-gets-the-tests-to-pass tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- As I said yesterday, there is no perfect solution or approach for every situation. diff --git a/source/_daily_emails/2023-10-05.md b/source/_daily_emails/2023-10-05.md index 7b25a5d0..096a9a9d 100644 --- a/source/_daily_emails/2023-10-05.md +++ b/source/_daily_emails/2023-10-05.md @@ -1,12 +1,12 @@ --- title: > - Some solutions are good enough + Some solutions are good enough pubDate: 2023-10-05 permalink: >- - archive/2023/10/05/some-solutions-are-good-enough + archive/2023/10/05/some-solutions-are-good-enough tags: - - software-development - - technical-debt + - software-development + - technical-debt --- Once you have a passing test and you're confident your code works as expected, what do you do next? diff --git a/source/_daily_emails/2023-10-06.md b/source/_daily_emails/2023-10-06.md index e3656bb1..a502b9d3 100644 --- a/source/_daily_emails/2023-10-06.md +++ b/source/_daily_emails/2023-10-06.md @@ -1,13 +1,13 @@ --- title: > - Software development is like going to the Dentist + Software development is like going to the Dentist pubDate: 2023-10-06 permalink: >- - archive/2023/10/06/software-development-is-like-going-to-the-dentist + archive/2023/10/06/software-development-is-like-going-to-the-dentist tags: - - software-development - - refactoring - - deployments + - software-development + - refactoring + - deployments --- Working on software development tasks is like going to the Dentist. diff --git a/source/_daily_emails/2023-10-07.md b/source/_daily_emails/2023-10-07.md index 06a131e9..7915a8be 100644 --- a/source/_daily_emails/2023-10-07.md +++ b/source/_daily_emails/2023-10-07.md @@ -1,13 +1,13 @@ --- title: > - A breakdown of tests from a current project + A breakdown of tests from a current project pubDate: 2023-10-07 permalink: >- - archive/2023/10/07/a-breakdown-of-tests-from-a-current-project + archive/2023/10/07/a-breakdown-of-tests-from-a-current-project tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I've just added the hundredth test to a client project I'm developing. diff --git a/source/_daily_emails/2023-10-08.md b/source/_daily_emails/2023-10-08.md index 0209b87b..b7b8a718 100644 --- a/source/_daily_emails/2023-10-08.md +++ b/source/_daily_emails/2023-10-08.md @@ -1,15 +1,15 @@ --- title: > - Is test-driven development difficult? + Is test-driven development difficult? pubDate: 2023-10-08 permalink: >- - archive/2023/10/08/is-test-driven-development-difficult + archive/2023/10/08/is-test-driven-development-difficult tags: - - software-development - - automated-testing - - test-driven-development - - continuous-integration - - trunk-based-development + - software-development + - automated-testing + - test-driven-development + - continuous-integration + - trunk-based-development --- I recently read a post where the writer said automated testing, test-driven development, continuous integration, trunk-based development, etc, are difficult. diff --git a/source/_daily_emails/2023-10-09.md b/source/_daily_emails/2023-10-09.md index 0923427a..b8732840 100644 --- a/source/_daily_emails/2023-10-09.md +++ b/source/_daily_emails/2023-10-09.md @@ -1,12 +1,12 @@ --- title: > - Spotting new things in Drupal 10.1 + Spotting new things in Drupal 10.1 pubDate: 2023-10-09 permalink: >- - archive/2023/10/09/spotting-new-things-in-drupal-10-1 + archive/2023/10/09/spotting-new-things-in-drupal-10-1 tags: - - php - - drupal + - php + - drupal --- I've recently updated my [Drupal Docker example project][project] to Drupal 10.1.5 and have been spotting new things. diff --git a/source/_daily_emails/2023-10-10.md b/source/_daily_emails/2023-10-10.md index a22f3238..81f49346 100644 --- a/source/_daily_emails/2023-10-10.md +++ b/source/_daily_emails/2023-10-10.md @@ -1,15 +1,15 @@ --- title: > - Why use Composer to manage Drupal dependencies? + Why use Composer to manage Drupal dependencies? pubDate: 2023-10-10 permalink: >- - archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies + archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies tags: - - software-development - - drupal - - php - - phpc - - composer + - software-development + - drupal + - php + - phpc + - composer --- One of the initial negatives when Drupal 8 launched was introducing Composer, PHP's dependency manager, and how it could affect non-technical users. diff --git a/source/_daily_emails/2023-10-11.md b/source/_daily_emails/2023-10-11.md index 32c6de8d..eb39049b 100644 --- a/source/_daily_emails/2023-10-11.md +++ b/source/_daily_emails/2023-10-11.md @@ -1,13 +1,13 @@ --- title: > - Do you need that module? + Do you need that module? pubDate: 2023-10-11 permalink: >- - archive/2023/10/11/do-you-need-that-module + archive/2023/10/11/do-you-need-that-module tags: - - software-development - - drupal - - php + - software-development + - drupal + - php --- Drupal includes a lot of default functionality and additional core modules you can enable to extend it. diff --git a/source/_daily_emails/2023-10-12.md b/source/_daily_emails/2023-10-12.md index 12a981f9..8647d3c3 100644 --- a/source/_daily_emails/2023-10-12.md +++ b/source/_daily_emails/2023-10-12.md @@ -1,14 +1,14 @@ --- title: > - Business logic in template files? + Business logic in template files? pubDate: 2023-10-12 permalink: >- - archive/2023/10/12/business-logic-in-template-files + archive/2023/10/12/business-logic-in-template-files tags: - - software-development - - drupal - - twig - - automated-testing + - software-development + - drupal + - twig + - automated-testing --- I've often heard and advocated for not "putting logic" in template files and having a separation of concerns. diff --git a/source/_daily_emails/2023-10-13.md b/source/_daily_emails/2023-10-13.md index 298540e4..f8c73ee9 100644 --- a/source/_daily_emails/2023-10-13.md +++ b/source/_daily_emails/2023-10-13.md @@ -1,13 +1,13 @@ --- title: > - Writing tests is an investment + Writing tests is an investment pubDate: 2023-10-13 permalink: >- - archive/2023/10/13/writing-tests-is-an-investment + archive/2023/10/13/writing-tests-is-an-investment tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- It can take time to write automated tests and do test-driven development, but it is an investment in a project's future stability. diff --git a/source/_daily_emails/2023-10-14.md b/source/_daily_emails/2023-10-14.md index 8844b931..133a0c3f 100644 --- a/source/_daily_emails/2023-10-14.md +++ b/source/_daily_emails/2023-10-14.md @@ -1,13 +1,13 @@ --- title: > - Do you need to write tests for small or short-lived projects? + Do you need to write tests for small or short-lived projects? pubDate: 2023-10-14 permalink: >- - archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects + archive/2023/10/14/do-you-need-to-write-tests-for-small-or-short-lived-projects tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- When does it make sense not to write automated tests? diff --git a/source/_daily_emails/2023-10-15.md b/source/_daily_emails/2023-10-15.md index ca017586..58c87cab 100644 --- a/source/_daily_emails/2023-10-15.md +++ b/source/_daily_emails/2023-10-15.md @@ -1,12 +1,12 @@ --- title: > - Off to DrupalCon + Off to DrupalCon pubDate: 2023-10-15 permalink: >- - archive/2023/10/15/off-to-drupalcon + archive/2023/10/15/off-to-drupalcon tags: - - drupal - - drupalcon + - drupal + - drupalcon --- This week, I'll be in Lille, France for DrupalCon Europe, where I'm presenting a session on automated testing and test-driven development in Drupal. diff --git a/source/_daily_emails/2023-10-23.md b/source/_daily_emails/2023-10-23.md index 7546239e..5a691517 100644 --- a/source/_daily_emails/2023-10-23.md +++ b/source/_daily_emails/2023-10-23.md @@ -1,13 +1,13 @@ --- title: > - When should you run your tests? + When should you run your tests? pubDate: 2023-10-23 permalink: >- - archive/2023/10/23/when-should-run-your-tests + archive/2023/10/23/when-should-run-your-tests tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- After my talk at DrupalCon, I was asked when you should run your tests. diff --git a/source/_daily_emails/2023-10-24.md b/source/_daily_emails/2023-10-24.md index 7cf05a93..9874a061 100644 --- a/source/_daily_emails/2023-10-24.md +++ b/source/_daily_emails/2023-10-24.md @@ -1,13 +1,13 @@ --- title: > - How to test code you didn't write + How to test code you didn't write pubDate: 2023-10-24 permalink: >- - archive/2023/10/24/how-to-test-code-you-didnt-write + archive/2023/10/24/how-to-test-code-you-didnt-write tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I was also asked at DrupalCon how you write tests for code you didn't write and how you cover all of the use cases and scenarios. diff --git a/source/_daily_emails/2023-10-25.md b/source/_daily_emails/2023-10-25.md index 34457303..8fc8b3e0 100644 --- a/source/_daily_emails/2023-10-25.md +++ b/source/_daily_emails/2023-10-25.md @@ -1,15 +1,15 @@ --- title: > - Automated tests prevent regressions when upgrading + Automated tests prevent regressions when upgrading pubDate: 2023-10-25 permalink: >- - archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading + archive/2023/10/25/automated-tests-prevent-regressions-when-upgrading tags: - - software-development - - php - - drupal - - automated-testing - - test-driven-development + - software-development + - php + - drupal + - automated-testing + - test-driven-development --- With Drupal 9 almost being end-of-life and unsupported, I've recently been doing a lot of Drupal 9 to 10 upgrade work. diff --git a/source/_daily_emails/2023-10-26.md b/source/_daily_emails/2023-10-26.md index 497a0a66..2648b875 100644 --- a/source/_daily_emails/2023-10-26.md +++ b/source/_daily_emails/2023-10-26.md @@ -1,14 +1,14 @@ --- title: > - Is decoupled Drupal still a thing? + Is decoupled Drupal still a thing? pubDate: 2023-10-26 permalink: >- - archive/2023/10/26/is-decoupled-drupal-still-a-thing + archive/2023/10/26/is-decoupled-drupal-still-a-thing tags: - - software-development - - drupal - - decoupled-drupal - - vuejs + - software-development + - drupal + - decoupled-drupal + - vuejs --- A few years ago, decoupled or headless Drupal - where Drupal is used as an API with a separate front-end - was very popular with some large Drupal agencies and clients using it. diff --git a/source/_daily_emails/2023-10-27.md b/source/_daily_emails/2023-10-27.md index 4735fe6d..0573942f 100644 --- a/source/_daily_emails/2023-10-27.md +++ b/source/_daily_emails/2023-10-27.md @@ -1,14 +1,14 @@ --- title: > - Work with me and support the Drupal Association + Work with me and support the Drupal Association pubDate: 2023-10-27 permalink: >- - archive/2023/10/27/work-with-me-and-support-the-drupal-association + archive/2023/10/27/work-with-me-and-support-the-drupal-association tags: - - drupal - - open-source - - php - - phpc + - drupal + - open-source + - php + - phpc --- I used to work for the [Drupal Association][association] - the non-profit organisation that supports the Drupal project, organises DrupalCon, and maintains Drupal.org. diff --git a/source/_daily_emails/2023-10-28.md b/source/_daily_emails/2023-10-28.md index 4c79f784..a83066f7 100644 --- a/source/_daily_emails/2023-10-28.md +++ b/source/_daily_emails/2023-10-28.md @@ -1,13 +1,13 @@ --- title: > - Can you move faster without tests? + Can you move faster without tests? pubDate: 2023-10-28 permalink: >- - archive/2023/10/28/can-you-move-faster-without-tests + archive/2023/10/28/can-you-move-faster-without-tests tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- If you don't write automated tests or do test-driven development, you might move quickly to begin with - writing code and doing small amounts of manual testing. diff --git a/source/_daily_emails/2023-10-29.md b/source/_daily_emails/2023-10-29.md index ef3028ac..aa951075 100644 --- a/source/_daily_emails/2023-10-29.md +++ b/source/_daily_emails/2023-10-29.md @@ -1,13 +1,13 @@ --- title: > - I can drive my car blindfolded, but is it a good idea? + I can drive my car blindfolded, but is it a good idea? pubDate: 2023-10-29 permalink: >- - archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea + archive/2023/10/29/i-can-drive-my-car-blindfolded-but-is-it-a-good-idea tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- After sending [yesterday's email][yesterday], Dave Hall replied [with a LinkedIn comment][comment] I liked and wanted to share (done with permission): diff --git a/source/_daily_emails/2023-10-30.md b/source/_daily_emails/2023-10-30.md index 36135e1a..e64c9240 100644 --- a/source/_daily_emails/2023-10-30.md +++ b/source/_daily_emails/2023-10-30.md @@ -1,13 +1,13 @@ --- title: > - Is Drupal a CMS or a framework? + Is Drupal a CMS or a framework? pubDate: 2023-10-30 permalink: >- - archive/2023/10/30/is-drupal-a-cms-or-a-framework + archive/2023/10/30/is-drupal-a-cms-or-a-framework tags: - - php - - phpc - - drupal + - php + - phpc + - drupal --- Drupal is typically called a CMS (content management system) - somewhere you add and edit the content for your website. diff --git a/source/_daily_emails/2023-10-31.md b/source/_daily_emails/2023-10-31.md index ba622125..4b793ebc 100644 --- a/source/_daily_emails/2023-10-31.md +++ b/source/_daily_emails/2023-10-31.md @@ -1,12 +1,12 @@ --- title: > - One official Drupal development environment? + One official Drupal development environment? pubDate: 2023-10-31 permalink: >- - archive/2023/10/31/one-official-drupal-development-environment + archive/2023/10/31/one-official-drupal-development-environment tags: - - drupal - - php + - drupal + - php --- Yesterday, I read [a post by Kevin Quillen][post] titled 'DDEV being considered as the "official" Drupal development environment'. diff --git a/source/_daily_emails/2023-11-01.md b/source/_daily_emails/2023-11-01.md index d45ea432..db8679cc 100644 --- a/source/_daily_emails/2023-11-01.md +++ b/source/_daily_emails/2023-11-01.md @@ -1,12 +1,12 @@ --- title: > - Drupal 9 is now end of life + Drupal 9 is now end of life pubDate: 2023-11-01 permalink: >- - archive/2023/11/01/drupal-9-is-now-end-of-life + archive/2023/11/01/drupal-9-is-now-end-of-life tags: - - drupal - - php + - drupal + - php --- As of today, Drupal 9 is end-of-life and no longer supported. diff --git a/source/_daily_emails/2023-11-02.md b/source/_daily_emails/2023-11-02.md index 82d29ccd..8302a673 100644 --- a/source/_daily_emails/2023-11-02.md +++ b/source/_daily_emails/2023-11-02.md @@ -1,13 +1,13 @@ --- title: > - Is code coverage an objective or guideline? + Is code coverage an objective or guideline? pubDate: 2023-11-02 permalink: >- - archive/2023/11/02/is-code-coverage-an-objective-or-guideline + archive/2023/11/02/is-code-coverage-an-objective-or-guideline tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Many development teams and projects use code coverage - e.g. how many lines of code are covered by automated tests - as an objective, and saying it must be 100% or another percentage. diff --git a/source/_daily_emails/2023-11-03.md b/source/_daily_emails/2023-11-03.md index c2d05208..5c4c2719 100644 --- a/source/_daily_emails/2023-11-03.md +++ b/source/_daily_emails/2023-11-03.md @@ -1,12 +1,12 @@ --- title: > - Why your company should contribute to open-source software + Why your company should contribute to open-source software pubDate: 2023-11-03 permalink: >- - archive/2023/11/03/why-your-company-should-contribute-to-open-source-software + archive/2023/11/03/why-your-company-should-contribute-to-open-source-software tags: - - software-development - - open-source + - software-development + - open-source --- I've always thought companies should contribute to open-source software. diff --git a/source/_daily_emails/2023-11-04.md b/source/_daily_emails/2023-11-04.md index 16eb0021..d486b083 100644 --- a/source/_daily_emails/2023-11-04.md +++ b/source/_daily_emails/2023-11-04.md @@ -1,12 +1,12 @@ --- title: > - Why you should contribute to open-source software + Why you should contribute to open-source software pubDate: 2023-11-04 permalink: >- - archive/2023/11/04/why-you-should-contribute-to-open-source-software + archive/2023/11/04/why-you-should-contribute-to-open-source-software tags: - - software-development - - open-source + - software-development + - open-source --- [Yesterday's email][yesterday] explained why your company should contribute to open-source software, but why should you contribute as an individual? diff --git a/source/_daily_emails/2023-11-05.md b/source/_daily_emails/2023-11-05.md index 8c4f9e52..11bf6241 100644 --- a/source/_daily_emails/2023-11-05.md +++ b/source/_daily_emails/2023-11-05.md @@ -1,12 +1,12 @@ --- title: > - I'm starting a podcast + I'm starting a podcast pubDate: 2023-11-05 permalink: >- - archive/2023/11/05/i-m-starting-a-podcast + archive/2023/11/05/i-m-starting-a-podcast tags: - - software-development - - podcast + - software-development + - podcast --- This week, I'm starting my own podcast - [Beyond Blocks][podcast]. diff --git a/source/_daily_emails/2023-11-06.md b/source/_daily_emails/2023-11-06.md index 436e7e3a..2039565e 100644 --- a/source/_daily_emails/2023-11-06.md +++ b/source/_daily_emails/2023-11-06.md @@ -1,14 +1,14 @@ --- title: > - The first Beyond Blocks podcast episode is recorded + The first Beyond Blocks podcast episode is recorded pubDate: 2023-11-06 permalink: >- - archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded + archive/2023/11/06/the-first-beyond-blocks-podcast-episode-is-recorded tags: - - software-development - - podcast - - drupal - - php + - software-development + - podcast + - drupal + - php --- For my first time in the podcast host chair, I interviewed Matt Glaman - Principal Software Engineer at Acquia. diff --git a/source/_daily_emails/2023-11-07.md b/source/_daily_emails/2023-11-07.md index 2e021662..3ff4cf4a 100644 --- a/source/_daily_emails/2023-11-07.md +++ b/source/_daily_emails/2023-11-07.md @@ -1,11 +1,11 @@ --- title: > - It depends + It depends pubDate: 2023-11-07 permalink: >- - archive/2023/11/07/it-depends + archive/2023/11/07/it-depends tags: - - software-development + - software-development --- Usually, in software development, there isn't always a definitive black-and-white answer to a question or situation. diff --git a/source/_daily_emails/2023-11-08.md b/source/_daily_emails/2023-11-08.md index efe9aba6..8ef075f5 100644 --- a/source/_daily_emails/2023-11-08.md +++ b/source/_daily_emails/2023-11-08.md @@ -1,13 +1,13 @@ --- title: > - "Building Build Configs" at PHP South West + "Building Build Configs" at PHP South West pubDate: 2023-11-08 permalink: >- - archive/2023/11/08/building-build-configs + archive/2023/11/08/building-build-configs tags: - - software-development - - php - - public-speaking + - software-development + - php + - public-speaking --- This evening, I'm presenting a lightning talk at the PHP South West meetup in Bristol. diff --git a/source/_daily_emails/2023-11-09.md b/source/_daily_emails/2023-11-09.md index 3927130d..0dff63e8 100644 --- a/source/_daily_emails/2023-11-09.md +++ b/source/_daily_emails/2023-11-09.md @@ -1,12 +1,12 @@ --- title: > - README-driven development + README-driven development pubDate: 2023-11-09 permalink: >- - archive/2023/11/09/readme-driven-development + archive/2023/11/09/readme-driven-development tags: - - software-development - - documentation + - software-development + - documentation --- As well as test-driven development (TDD), I also like README-driven development - a.k.a. documentation-driven development. diff --git a/source/_daily_emails/2023-11-10.md b/source/_daily_emails/2023-11-10.md index 0ae37084..162e91d4 100644 --- a/source/_daily_emails/2023-11-10.md +++ b/source/_daily_emails/2023-11-10.md @@ -1,15 +1,15 @@ --- title: > - Retrofit with Matt Glaman + Retrofit with Matt Glaman pubDate: 2023-11-10 permalink: >- - archive/2023/11/10/retrofit-with-matt-glaman + archive/2023/11/10/retrofit-with-matt-glaman tags: - - drupal - - php - - drupal-upgrades - - podcast - - beyond-blocks + - drupal + - php + - drupal-upgrades + - podcast + - beyond-blocks --- Today, I released [the first episode of the "Beyond Blocks" podcast](https://www.oliverdavies.uk/podcast/1-retrofit). diff --git a/source/_daily_emails/2023-11-11.md b/source/_daily_emails/2023-11-11.md index 7d36712c..739c27a9 100644 --- a/source/_daily_emails/2023-11-11.md +++ b/source/_daily_emails/2023-11-11.md @@ -1,16 +1,16 @@ --- title: > - Work in small batches + Work in small batches pubDate: 2023-11-11 permalink: >- - archive/2023/11/11/work-in-small-batches + archive/2023/11/11/work-in-small-batches tags: - - software-development - - git - - continuous-integration - - continuous-delivery - - continuous-deployment - - trunk-based-development + - software-development + - git + - continuous-integration + - continuous-delivery + - continuous-deployment + - trunk-based-development --- Software should be designed, written, and deployed in small batches. diff --git a/source/_daily_emails/2023-11-12.md b/source/_daily_emails/2023-11-12.md index cadd6fc4..bc639868 100644 --- a/source/_daily_emails/2023-11-12.md +++ b/source/_daily_emails/2023-11-12.md @@ -1,12 +1,12 @@ --- title: > - Drupal gives you so much out-of-the-box + Drupal gives you so much out-of-the-box pubDate: 2023-11-12 permalink: >- - archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box + archive/2023/11/12/drupal-gives-you-so-much-out-of-the-box tags: - - software-development - - drupal + - software-development + - drupal --- When you download and install Drupal, you get so much functionality available out-of-the-box. diff --git a/source/_daily_emails/2023-11-13.md b/source/_daily_emails/2023-11-13.md index 8a6822c7..2e0a97f1 100644 --- a/source/_daily_emails/2023-11-13.md +++ b/source/_daily_emails/2023-11-13.md @@ -1,18 +1,18 @@ --- title: > - PHPUnit does more than unit testing + PHPUnit does more than unit testing pubDate: 2023-11-13 permalink: >- - archive/2023/11/13/phpunit-does-more-than-unit-testing + archive/2023/11/13/phpunit-does-more-than-unit-testing tags: - - software-development - - automated-testing - - software-development - - test-driven-development - - phpunit - - php - - drupal - - symfony + - software-development + - automated-testing + - software-development + - test-driven-development + - phpunit + - php + - drupal + - symfony --- As the name suggests, [PHPUnit][] is a unit testing framework for PHP. diff --git a/source/_daily_emails/2023-11-14.md b/source/_daily_emails/2023-11-14.md index a124f35a..1afafa13 100644 --- a/source/_daily_emails/2023-11-14.md +++ b/source/_daily_emails/2023-11-14.md @@ -1,14 +1,14 @@ --- title: > - Why I prefer integration tests to unit tests + Why I prefer integration tests to unit tests pubDate: 2023-11-14 permalink: >- - archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests + archive/2023/11/14/why-i-prefer-integration-tests-to-unit-tests tags: - - software-development - - automated-testing - - test-driven-development - - mocking + - software-development + - automated-testing + - test-driven-development + - mocking --- With unit tests, you need to mock __everything__. diff --git a/source/_daily_emails/2023-11-15.md b/source/_daily_emails/2023-11-15.md index 0549dfc7..3e43a60a 100644 --- a/source/_daily_emails/2023-11-15.md +++ b/source/_daily_emails/2023-11-15.md @@ -1,14 +1,14 @@ --- title: > - Don't pre-optimise and over-customise + Don't pre-optimise and over-customise pubDate: 2023-11-15 permalink: >- - archive/2023/11/15/dont-pre-optimise-and-over-customise + archive/2023/11/15/dont-pre-optimise-and-over-customise tags: - - software-development - - clean-code - - automated-testing - - test-driven-development + - software-development + - clean-code + - automated-testing + - test-driven-development --- I've been re-watching a livestream series from a few years ago, showing a SaaS product being built. diff --git a/source/_daily_emails/2023-11-16.md b/source/_daily_emails/2023-11-16.md index e6d5bc73..94ddeb08 100644 --- a/source/_daily_emails/2023-11-16.md +++ b/source/_daily_emails/2023-11-16.md @@ -1,13 +1,13 @@ --- title: > - Avoiding over-mocking + Avoiding over-mocking pubDate: 2023-11-16 permalink: >- - archive/2023/11/16/avoiding-over-mocking + archive/2023/11/16/avoiding-over-mocking tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- In unit tests, and sometimes in kernel tests, you need to mock the dependencies you aren't testing, but you can over-mock and only be testing the mocks and not the code you want to test. diff --git a/source/_daily_emails/2023-11-17.md b/source/_daily_emails/2023-11-17.md index 8d59b7cb..716a79f9 100644 --- a/source/_daily_emails/2023-11-17.md +++ b/source/_daily_emails/2023-11-17.md @@ -1,15 +1,15 @@ --- title: > - Drupal's Alternate Realities + Drupal's Alternate Realities pubDate: 2023-11-17 permalink: >- - archive/2023/11/17/drupal-s-alternate-realities + archive/2023/11/17/drupal-s-alternate-realities tags: - - drupal - - php - - phpc - - beyond-blocks - - podcast + - drupal + - php + - phpc + - beyond-blocks + - podcast --- [This week's episode][episode] of the Beyond Blocks podcast is live, where I speak with Panagiotis Moutsopoulos (vensires on Drupal.org) - Drupal Backend Developer at E-Sepia. diff --git a/source/_daily_emails/2023-11-18.md b/source/_daily_emails/2023-11-18.md index 7aaa83dc..a424ba0f 100644 --- a/source/_daily_emails/2023-11-18.md +++ b/source/_daily_emails/2023-11-18.md @@ -1,15 +1,15 @@ --- title: > - Writing good test names + Writing good test names pubDate: 2023-11-18 permalink: >- - archive/2023/11/18/writing-good-test-names + archive/2023/11/18/writing-good-test-names tags: - - software-development - - test-driven-development - - automated-testing - - php - - phpunit + - software-development + - test-driven-development + - automated-testing + - php + - phpunit --- In PHPUnit, there are different ways to write test methods. diff --git a/source/_daily_emails/2023-11-19.md b/source/_daily_emails/2023-11-19.md index 3a661d19..384da184 100644 --- a/source/_daily_emails/2023-11-19.md +++ b/source/_daily_emails/2023-11-19.md @@ -1,12 +1,12 @@ --- title: > - Why I've standardised on 'run' scripts + Why I've standardised on 'run' scripts pubDate: 2023-11-19 permalink: >- - archive/2023/11/19/why-ive-standardised-on-run-scripts + archive/2023/11/19/why-ive-standardised-on-run-scripts tags: - - software-development - - continuous-integration + - software-development + - continuous-integration --- In some of my first emails to this list, I wrote about `just` and `run` files. diff --git a/source/_daily_emails/2023-11-20.md b/source/_daily_emails/2023-11-20.md index b02b74f8..37baf8b5 100644 --- a/source/_daily_emails/2023-11-20.md +++ b/source/_daily_emails/2023-11-20.md @@ -1,13 +1,13 @@ --- title: > - What'll be in Drupal 11? + What'll be in Drupal 11? pubDate: 2023-11-20 permalink: >- - archive/2023/11/20/whatll-be-in-drupal-11 + archive/2023/11/20/whatll-be-in-drupal-11 tags: - - drupal - - php - - phpc + - drupal + - php + - phpc --- Drupal 9 is end-of-life and no longer supported. diff --git a/source/_daily_emails/2023-11-21.md b/source/_daily_emails/2023-11-21.md index 71c40890..6b3f49a8 100644 --- a/source/_daily_emails/2023-11-21.md +++ b/source/_daily_emails/2023-11-21.md @@ -1,16 +1,16 @@ --- title: > - Why I built "Build Configs" + Why I built "Build Configs" pubDate: 2023-11-21 permalink: >- - archive/2023/11/21/why-i-built-build-configs + archive/2023/11/21/why-i-built-build-configs tags: - - docker - - docker-compose - - php - - phpc - - drupal - - symfony + - docker + - docker-compose + - php + - phpc + - drupal + - symfony --- [Build Configs] is a tool I wrote and recently [gave a lightning talk about][talk] at the PHP South West meetup in Bristol, UK. diff --git a/source/_daily_emails/2023-11-22.md b/source/_daily_emails/2023-11-22.md index 2c2c5199..78d37a0a 100644 --- a/source/_daily_emails/2023-11-22.md +++ b/source/_daily_emails/2023-11-22.md @@ -1,15 +1,15 @@ --- title: > - Frequency reduces difficulty + Frequency reduces difficulty pubDate: 2023-11-22 permalink: >- - archive/2023/11/22/frequency-reduces-difficulty + archive/2023/11/22/frequency-reduces-difficulty tags: - - software-development - - agile - - continuous-delivery - - git - - trunk-based-development + - software-development + - agile + - continuous-delivery + - git + - trunk-based-development --- "Frequency reduces difficulty" is a phrase I heard on a podcast today, though I have heard it before. diff --git a/source/_daily_emails/2023-11-23.md b/source/_daily_emails/2023-11-23.md index ca64da90..185290e3 100644 --- a/source/_daily_emails/2023-11-23.md +++ b/source/_daily_emails/2023-11-23.md @@ -1,16 +1,16 @@ --- title: > - Partial mocking + Partial mocking pubDate: 2023-11-23 permalink: >- - archive/2023/11/23/partial-mocking + archive/2023/11/23/partial-mocking tags: - - automated-testing - - test-driven-development - - drupal - - php - - phpunit - - phpc + - automated-testing + - test-driven-development + - drupal + - php + - phpunit + - phpc --- Today, I wrote a test whilst fixing a bug in some legacy custom Drupal code. diff --git a/source/_daily_emails/2023-11-24.md b/source/_daily_emails/2023-11-24.md index f17e9c70..261f792b 100644 --- a/source/_daily_emails/2023-11-24.md +++ b/source/_daily_emails/2023-11-24.md @@ -1,12 +1,12 @@ --- title: > - Are conventional commits worth it? + Are conventional commits worth it? pubDate: 2023-11-24 permalink: >- - archive/2023/11/24/are-conventional-commits-worth-it + archive/2023/11/24/are-conventional-commits-worth-it tags: - - software-development - - git + - software-development + - git --- For some time, I've written commit messages following the Conventional Commits specification, where you start the subject with the type of commit - such as `feat`, `fix`, `chore`, `docs`, etc - and provide an optional scope before completing the subject line (the first line in the message). diff --git a/source/_daily_emails/2023-11-25.md b/source/_daily_emails/2023-11-25.md index 70ca6921..85bb363c 100644 --- a/source/_daily_emails/2023-11-25.md +++ b/source/_daily_emails/2023-11-25.md @@ -1,15 +1,15 @@ --- title: > - Community engagement for non-technical Drupal enthusiasts + Community engagement for non-technical Drupal enthusiasts pubDate: 2023-11-25 permalink: >- - archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts + archive/2023/11/25/community-engagement-for-non-technical-drupal-enthusiasts tags: - - drupal - - drupalcon - - open-source - - contribution - - podcast + - drupal + - drupalcon + - open-source + - contribution + - podcast --- This week's guest on the Beyond Blocks podcast is Niklas Franke - Digital Marketing Manager at Factorial. diff --git a/source/_daily_emails/2023-11-26.md b/source/_daily_emails/2023-11-26.md index 002a2454..c5722fe2 100644 --- a/source/_daily_emails/2023-11-26.md +++ b/source/_daily_emails/2023-11-26.md @@ -1,14 +1,14 @@ --- title: > - To docblock or not to docblock + To docblock or not to docblock pubDate: 2023-11-26 permalink: >- - archive/2023/11/26/to-docblock-or-not-to-docblock + archive/2023/11/26/to-docblock-or-not-to-docblock tags: - - php - - phpstan - - static-analysis - - clean-code + - php + - phpstan + - static-analysis + - clean-code --- ## What are docblocks? diff --git a/source/_daily_emails/2023-11-27.md b/source/_daily_emails/2023-11-27.md index f4314166..500aa63f 100644 --- a/source/_daily_emails/2023-11-27.md +++ b/source/_daily_emails/2023-11-27.md @@ -1,15 +1,15 @@ --- title: > - Finding the best test base + Finding the best test base pubDate: 2023-11-27 permalink: >- - archive/2023/11/27/finding-the-best-test-base + archive/2023/11/27/finding-the-best-test-base tags: - - software-development - - automated-testing - - test-driven-development - - php - - drupal + - software-development + - automated-testing + - test-driven-development + - php + - drupal --- As well as different base classes for types of tests - i.e. functional, kernel and unit - there are other test base classes within those that can be used to simplify things. diff --git a/source/_daily_emails/2023-11-28.md b/source/_daily_emails/2023-11-28.md index efd52645..50852ea9 100644 --- a/source/_daily_emails/2023-11-28.md +++ b/source/_daily_emails/2023-11-28.md @@ -1,14 +1,14 @@ --- title: > - Which PHPStan level should you use? + Which PHPStan level should you use? pubDate: 2023-11-28 permalink: >- - archive/2023/11/28/which-phpstan-level-should-you-use + archive/2023/11/28/which-phpstan-level-should-you-use tags: - - software-development - - clean-code - - static-analysis - - phpstan + - software-development + - clean-code + - static-analysis + - phpstan --- Which PHPStan level should you use? diff --git a/source/_daily_emails/2023-11-29.md b/source/_daily_emails/2023-11-29.md index 24ed99d7..0d76b413 100644 --- a/source/_daily_emails/2023-11-29.md +++ b/source/_daily_emails/2023-11-29.md @@ -1,15 +1,15 @@ --- title: > - The lowest level is better than no level + The lowest level is better than no level pubDate: 2023-11-29 permalink: >- - archive/2023/11/29/the-lowest-level-is-better-than-no-level + archive/2023/11/29/the-lowest-level-is-better-than-no-level tags: - - software-development - - clean-code - - static-analysis - - php - - phpstan + - software-development + - clean-code + - static-analysis + - php + - phpstan --- [Yesterday's email][yesterday] introduced the different levels that PHPStan offers and which you may want to use on your codebase. diff --git a/source/_daily_emails/2023-11-30.md b/source/_daily_emails/2023-11-30.md index ae3cb0b8..7990b3a7 100644 --- a/source/_daily_emails/2023-11-30.md +++ b/source/_daily_emails/2023-11-30.md @@ -1,14 +1,14 @@ --- title: > - Are bugs good for users? + Are bugs good for users? pubDate: 2023-11-30 permalink: >- - archive/2023/11/30/are-bugs-good-for-users + archive/2023/11/30/are-bugs-good-for-users tags: - - software-development - - automated-testing - - test-driven-development - - static-analysis + - software-development + - automated-testing + - test-driven-development + - static-analysis --- I recently listened to a podcast episode that was discussing if bugs are good for users. diff --git a/source/_daily_emails/2023-12-01.md b/source/_daily_emails/2023-12-01.md index 0aa87dd5..818f5aab 100644 --- a/source/_daily_emails/2023-12-01.md +++ b/source/_daily_emails/2023-12-01.md @@ -1,12 +1,12 @@ --- title: > - The contribution-first workflow + The contribution-first workflow pubDate: 2023-12-01 permalink: >- - archive/2023/12/01/the-contribution-first-workflow + archive/2023/12/01/the-contribution-first-workflow tags: - - software-development - - open-source + - software-development + - open-source --- I've worked on many software projects with a lot of custom code. diff --git a/source/_daily_emails/2023-12-04.md b/source/_daily_emails/2023-12-04.md index 09b0c3da..04ac6c76 100644 --- a/source/_daily_emails/2023-12-04.md +++ b/source/_daily_emails/2023-12-04.md @@ -1,15 +1,15 @@ --- title: > - Writing contrib modules as glue between your custom code + Writing contrib modules as glue between your custom code pubDate: 2023-12-04 permalink: >- - archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code + archive/2023/12/04/writing-contrib-modules-as-glue-between-your-custom-code tags: - - software-development - - contribution - - open-source - - drupal - - php + - software-development + - contribution + - open-source + - drupal + - php --- diff --git a/source/_daily_emails/2023-12-05.md b/source/_daily_emails/2023-12-05.md index 8a0e199f..7bcf1867 100644 --- a/source/_daily_emails/2023-12-05.md +++ b/source/_daily_emails/2023-12-05.md @@ -1,15 +1,15 @@ --- title: > - Open-source encourages more open-source + Open-source encourages more open-source pubDate: 2023-12-05 permalink: >- - archive/2023/12/05/open-source-encourages-open-source + archive/2023/12/05/open-source-encourages-open-source tags: - - software-development - - contribution - - open-source - - drupal - - php + - software-development + - contribution + - open-source + - drupal + - php --- [In yesterday's email][yesterday], I mentioned the Private Message Queue module - a contributed Drupal module we wrote for a project as part of a contribution-first workflow. diff --git a/source/_daily_emails/2023-12-06.md b/source/_daily_emails/2023-12-06.md index c31d3105..a337afb2 100644 --- a/source/_daily_emails/2023-12-06.md +++ b/source/_daily_emails/2023-12-06.md @@ -1,13 +1,13 @@ --- title: > - Open-source first doesn't mean you need to cover every use case + Open-source first doesn't mean you need to cover every use case pubDate: 2023-12-06 permalink: >- - archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case + archive/2023/12/06/open-source-first-doesnt-mean-you-need-to-cover-every-use-case tags: - - software-development - - open-source - - contribution + - software-development + - open-source + - contribution --- An argument against the [contribution-first and open-source-first approach](https://www.oliverdavies.uk/archive/2023/12/01/the-contribution-first-workflow) is that it takes longer than writing custom code. diff --git a/source/_daily_emails/2023-12-07.md b/source/_daily_emails/2023-12-07.md index 564adacf..835a7400 100644 --- a/source/_daily_emails/2023-12-07.md +++ b/source/_daily_emails/2023-12-07.md @@ -1,14 +1,14 @@ --- title: > - A Drupal case study from Oxfam + A Drupal case study from Oxfam pubDate: 2023-12-07 permalink: >- - archive/2023/12/07/a-drupal-case-study-from-oxfam + archive/2023/12/07/a-drupal-case-study-from-oxfam tags: - - software-development - - drupal - - php - - agile + - software-development + - drupal + - php + - agile --- In the latest episode of the Beyond Blocks podcast, Ed Crompton and I discuss his case study of upgrading 15 websites for Oxfam on how to build and test a multilingual, multisite Drupal migration. diff --git a/source/_daily_emails/2023-12-08.md b/source/_daily_emails/2023-12-08.md index d76f7924..6528c259 100644 --- a/source/_daily_emails/2023-12-08.md +++ b/source/_daily_emails/2023-12-08.md @@ -1,12 +1,12 @@ --- title: > - Don't just rewrite. Re-invent. + Don't just rewrite. Re-invent. pubDate: 2023-12-08 permalink: >- - archive/2023/12/08/dont-just-rewrite + archive/2023/12/08/dont-just-rewrite tags: - - software-development - - neovimconf + - software-development + - neovimconf --- A quote that stuck out to me from today's Neovimconf conference was this by Björn Linse (aka bfredl): diff --git a/source/_daily_emails/2023-12-09.md b/source/_daily_emails/2023-12-09.md index 74996f7c..1981eed4 100644 --- a/source/_daily_emails/2023-12-09.md +++ b/source/_daily_emails/2023-12-09.md @@ -1,12 +1,12 @@ --- title: > - Rebuild or iterate + Rebuild or iterate pubDate: 2023-12-09 permalink: >- - archive/2023/12/09/rebuild-or-iterate + archive/2023/12/09/rebuild-or-iterate tags: - - software-development - - drupal + - software-development + - drupal --- As I said in [yesterday's email][yesterday], I'm discussing with a team how to implement their new website design. diff --git a/source/_daily_emails/2023-12-10.md b/source/_daily_emails/2023-12-10.md index 07423e2e..074c7515 100644 --- a/source/_daily_emails/2023-12-10.md +++ b/source/_daily_emails/2023-12-10.md @@ -1,15 +1,15 @@ --- title: > - Suffixing names + Suffixing names pubDate: 2023-12-10 permalink: >- - archive/2023/12/10/suffixing-names + archive/2023/12/10/suffixing-names tags: - - software-development - - php - - drupal - - symfony - - clean-code + - software-development + - php + - drupal + - symfony + - clean-code --- When writing code, it's common to suffix the class name with the type of class it is. diff --git a/source/_daily_emails/2023-12-11.md b/source/_daily_emails/2023-12-11.md index 744f1f95..9cc86fdc 100644 --- a/source/_daily_emails/2023-12-11.md +++ b/source/_daily_emails/2023-12-11.md @@ -1,15 +1,15 @@ --- title: > - Custom coding standards and conventions + Custom coding standards and conventions pubDate: 2023-12-11 permalink: >- - archive/2023/12/11/custom-coding-standards-and-conventions + archive/2023/12/11/custom-coding-standards-and-conventions tags: - - software-development - - php - - drupal - - symfony - - clean-code + - software-development + - php + - drupal + - symfony + - clean-code --- Open-source projects like Drupal and Symfony have their own published coding standards and conventions. diff --git a/source/_daily_emails/2023-12-12.md b/source/_daily_emails/2023-12-12.md index 07bb826c..3b4ee5c8 100644 --- a/source/_daily_emails/2023-12-12.md +++ b/source/_daily_emails/2023-12-12.md @@ -1,17 +1,17 @@ --- title: > - DrupalCon session survey results + DrupalCon session survey results pubDate: 2023-12-12 permalink: >- - archive/2023/12/12/drupalcon-session-survey-results + archive/2023/12/12/drupalcon-session-survey-results tags: - - software-development - - test-driven-development - - automated-testing - - php - - phpc - - drupal - - drupalcon + - software-development + - test-driven-development + - automated-testing + - php + - phpc + - drupal + - drupalcon --- The survey results from my automated testing and test-driven development session at DrupalCon Lille are in, and here they are: diff --git a/source/_daily_emails/2023-12-13.md b/source/_daily_emails/2023-12-13.md index ca17ab6e..6ecc0a7d 100644 --- a/source/_daily_emails/2023-12-13.md +++ b/source/_daily_emails/2023-12-13.md @@ -1,13 +1,13 @@ --- title: > - Reviving an old PHP project + Reviving an old PHP project pubDate: 2023-12-13 permalink: >- - archive/2023/12/13/reviving-an-old-php-project + archive/2023/12/13/reviving-an-old-php-project tags: - - php - - phpc - - open-source + - php + - phpc + - open-source --- I use Gmail/Google Apps for my email address, and I used to use a LOT of filters. diff --git a/source/_daily_emails/2023-12-14.md b/source/_daily_emails/2023-12-14.md index ae81cde7..126b2f33 100644 --- a/source/_daily_emails/2023-12-14.md +++ b/source/_daily_emails/2023-12-14.md @@ -1,14 +1,14 @@ --- title: > - Save time and effort with Drupal distributions + Save time and effort with Drupal distributions pubDate: 2023-12-14 permalink: >- - archive/2023/12/14/save-time-and-effort-with-drupal-distributions + archive/2023/12/14/save-time-and-effort-with-drupal-distributions tags: - - software-development - - drupal - - php - - phpc + - software-development + - drupal + - php + - phpc --- Drupal distributions are pre-built versions of Drupal for specific use cases. diff --git a/source/_daily_emails/2023-12-15.md b/source/_daily_emails/2023-12-15.md index b8e62cc3..5c86646d 100644 --- a/source/_daily_emails/2023-12-15.md +++ b/source/_daily_emails/2023-12-15.md @@ -1,13 +1,13 @@ --- title: > - Building your own in-house Drupal distribution + Building your own in-house Drupal distribution pubDate: 2023-12-15 permalink: >- - archive/2023/12/15/building-your-own-in-house-drupal-distribution + archive/2023/12/15/building-your-own-in-house-drupal-distribution tags: - - software-development - - php - - drupal + - software-development + - php + - drupal --- On several occasions, I've seen companies who build a lot of Drupal projects creating their own in-house [Drupal distribution] for new projects. diff --git a/source/_daily_emails/2023-12-16.md b/source/_daily_emails/2023-12-16.md index f06e3bfe..87fed77f 100644 --- a/source/_daily_emails/2023-12-16.md +++ b/source/_daily_emails/2023-12-16.md @@ -1,16 +1,16 @@ --- title: > - Adding snapshot tests to Build Configs + Adding snapshot tests to Build Configs pubDate: 2023-12-16 permalink: >- - archive/2023/12/16/adding-snapshot-tests-to-build-configs + archive/2023/12/16/adding-snapshot-tests-to-build-configs tags: - - software-development - - php - - symfony - - build-configs - - automated-testing - - test-driven-development + - software-development + - php + - symfony + - build-configs + - automated-testing + - test-driven-development --- This week, I've started to add snapshot tests to the [Build Configs project][build configs]. diff --git a/source/_daily_emails/2023-12-17.md b/source/_daily_emails/2023-12-17.md index ecd7f380..c96b1e27 100644 --- a/source/_daily_emails/2023-12-17.md +++ b/source/_daily_emails/2023-12-17.md @@ -1,15 +1,15 @@ --- title: > - Fail fast, fix fast + Fail fast, fix fast pubDate: 2023-12-17 permalink: >- - archive/2023/12/17/fail-fast-fix-fast + archive/2023/12/17/fail-fast-fix-fast tags: - - software-development - - continuous-delivery - - continuous-deployment - - deployments - - feature-flags + - software-development + - continuous-delivery + - continuous-deployment + - deployments + - feature-flags --- I recently listened to a podcast that discussed Elon Musk and quoted something like, "If 20% of attempts aren't failing, you aren't taking enough risk". diff --git a/source/_daily_emails/2023-12-18.md b/source/_daily_emails/2023-12-18.md index ed97d1b4..2f6607ca 100644 --- a/source/_daily_emails/2023-12-18.md +++ b/source/_daily_emails/2023-12-18.md @@ -1,15 +1,15 @@ --- title: > - Should you run static analysis on your tests? + Should you run static analysis on your tests? pubDate: 2023-12-18 permalink: >- - archive/2023/12/18/static-analysis-on-tests + archive/2023/12/18/static-analysis-on-tests tags: - - software-development - - php - - phpstan - - static-analysis - - automated-testing + - software-development + - php + - phpstan + - static-analysis + - automated-testing --- I'm an advocate of both automated testing and static analysis but have mostly kept the two separate. diff --git a/source/_daily_emails/2023-12-19.md b/source/_daily_emails/2023-12-19.md index d8544fdd..d6ad8f9c 100644 --- a/source/_daily_emails/2023-12-19.md +++ b/source/_daily_emails/2023-12-19.md @@ -1,14 +1,14 @@ --- title: > - PHP TUIs, CLIs and open-source with Dan Leech + PHP TUIs, CLIs and open-source with Dan Leech pubDate: 2023-12-19 permalink: >- - archive/2023/12/19/php-tui-dan-leech + archive/2023/12/19/php-tui-dan-leech tags: - - php - - phpc - - open-source - - neovim + - php + - phpc + - open-source + - neovim --- This week on the [Beyond Blocks podcast][podcast], I'm joined by Dan Leech - a PHP Developer and open-source project creator. diff --git a/source/_daily_emails/2023-12-20.md b/source/_daily_emails/2023-12-20.md index 49898a85..d5435ea0 100644 --- a/source/_daily_emails/2023-12-20.md +++ b/source/_daily_emails/2023-12-20.md @@ -1,14 +1,14 @@ --- title: > - hover + focus = hocus + hover + focus = hocus pubDate: 2023-12-20 permalink: >- - archive/2023/12/20/hover-focus-hocus + archive/2023/12/20/hover-focus-hocus tags: - - software-development - - accessibility - - css - - tailwind-css + - software-development + - accessibility + - css + - tailwind-css --- When creating accessible websites, as well as hover states for focusable elements, such as buttons, you also need to add focus styles that apply when users navigate the page using a keyboard and focusing on an element. diff --git a/source/_daily_emails/2023-12-21.md b/source/_daily_emails/2023-12-21.md index acdcc596..879cbed0 100644 --- a/source/_daily_emails/2023-12-21.md +++ b/source/_daily_emails/2023-12-21.md @@ -1,12 +1,12 @@ --- title: > - New year coaching + New year coaching pubDate: 2023-12-21 permalink: >- - archive/2023/12/21/new-year-coaching + archive/2023/12/21/new-year-coaching tags: - - software-development - - coaching + - software-development + - coaching --- I have availability to work with a small number of software development teams in the new year and help them ship better software, faster, using tools and techniques like automated testing, test-driven development and static analysis. diff --git a/source/_daily_emails/2023-12-22.md b/source/_daily_emails/2023-12-22.md index fab44718..194bcf50 100644 --- a/source/_daily_emails/2023-12-22.md +++ b/source/_daily_emails/2023-12-22.md @@ -1,13 +1,13 @@ --- title: > - Which is the best programming language, CMS or framework? + Which is the best programming language, CMS or framework? pubDate: 2023-12-22 permalink: >- - archive/2023/12/22/best-language-cms-or-framework + archive/2023/12/22/best-language-cms-or-framework tags: - - software-development - - php - - drupal + - software-development + - php + - drupal --- I started developing websites in HTML and CSS in 2007 before adopting PHP and Drupal in 2008. diff --git a/source/_daily_emails/2023-12-23.md b/source/_daily_emails/2023-12-23.md index aad30a5d..b6fc4321 100644 --- a/source/_daily_emails/2023-12-23.md +++ b/source/_daily_emails/2023-12-23.md @@ -1,16 +1,16 @@ --- title: > - Using a whole framework or part of it + Using a whole framework or part of it pubDate: 2023-12-23 permalink: >- - archive/2023/12/23/using-a-whole-framework-or-part-of-it + archive/2023/12/23/using-a-whole-framework-or-part-of-it tags: - - software-development - - php - - composer - - drupal - - symfony - - laravel + - software-development + - php + - composer + - drupal + - symfony + - laravel --- [In yesterday's email][yesterday], I mentioned using several programming languages and frameworks. diff --git a/source/_daily_emails/2023-12-24.md b/source/_daily_emails/2023-12-24.md index b6d378cc..552fe0a4 100644 --- a/source/_daily_emails/2023-12-24.md +++ b/source/_daily_emails/2023-12-24.md @@ -1,12 +1,12 @@ --- title: > - This should never happen + This should never happen pubDate: 2023-12-24 permalink: >- - archive/2023/12/24/this-should-never-happen + archive/2023/12/24/this-should-never-happen tags: - - software-development - - clean-code + - software-development + - clean-code --- How often do you see comments like "This should never happen" in a software codebase? diff --git a/source/_daily_emails/2023-12-25.md b/source/_daily_emails/2023-12-25.md index 29e54347..010a5f0e 100644 --- a/source/_daily_emails/2023-12-25.md +++ b/source/_daily_emails/2023-12-25.md @@ -3,14 +3,14 @@ title: > A sneak peek of my Drupal automated testing course pubDate: 2023-12-25 permalink: >- - archive/2023/12/25/zero-to-test + archive/2023/12/25/zero-to-test tags: - - software-development - - drupal - - php - - phpunit - - automated-testing - - test-driven-development + - software-development + - drupal + - php + - phpunit + - automated-testing + - test-driven-development --- Happy Christmas! diff --git a/source/_daily_emails/2023-12-26.md b/source/_daily_emails/2023-12-26.md index 4729ca76..5c341be6 100644 --- a/source/_daily_emails/2023-12-26.md +++ b/source/_daily_emails/2023-12-26.md @@ -1,14 +1,14 @@ --- title: > - Good code is not about being easy to write + Good code is not about being easy to write snippet: >- - Good code is not about being easy to write. It's about how easy it is to change. + Good code is not about being easy to write. It's about how easy it is to change. pubDate: 2023-12-26 permalink: >- - archive/2023/12/26/good-code-is-not-about-being-easy-to-write + archive/2023/12/26/good-code-is-not-about-being-easy-to-write tags: - - software-development - - clean-code + - software-development + - clean-code --- Good code is not about being easy to write. It's about how easy it is to change. diff --git a/source/_daily_emails/2023-12-27.md b/source/_daily_emails/2023-12-27.md index 9ceb25c0..31018079 100644 --- a/source/_daily_emails/2023-12-27.md +++ b/source/_daily_emails/2023-12-27.md @@ -1,16 +1,16 @@ --- title: >- - Writing new code is quick, to begin with + Writing new code is quick, to begin with pubDate: 2023-12-27 permalink: >- - archive/2023/12/27/writing-new-code-is-quick-to-begin-with + archive/2023/12/27/writing-new-code-is-quick-to-begin-with snippet: >- - Why is it quick to write new code in a new application, but slower as the project progresses, - with tasks that would take hours to begin with later taking days, weeks or longer. + Why is it quick to write new code in a new application, but slower as the project progresses, + with tasks that would take hours to begin with later taking days, weeks or longer. tags: - - software-development - - technical-debt - - clean-code + - software-development + - technical-debt + - clean-code --- When you first start a new application, adding new features is quick and easy. diff --git a/source/_daily_emails/2023-12-28.md b/source/_daily_emails/2023-12-28.md index 4a5f583c..63d5bb2d 100644 --- a/source/_daily_emails/2023-12-28.md +++ b/source/_daily_emails/2023-12-28.md @@ -1,13 +1,13 @@ --- title: >- - Don't let pride get in the way of productivity + Don't let pride get in the way of productivity pubDate: 2023-12-28 permalink: >- - archive/2023/12/28/pride-and-productivity + archive/2023/12/28/pride-and-productivity snippet: >- - Have you over been too proud to ask a question, even if it affects your productivity? + Have you over been too proud to ask a question, even if it affects your productivity? tags: - - software-development + - software-development --- Today, I was reading a support request on a public forum. diff --git a/source/_daily_emails/2023-12-29.md b/source/_daily_emails/2023-12-29.md index 6aaaa14e..0a060f34 100644 --- a/source/_daily_emails/2023-12-29.md +++ b/source/_daily_emails/2023-12-29.md @@ -1,15 +1,15 @@ --- title: >- - Decide, automate, document + Decide, automate, document pubDate: 2023-12-29 permalink: >- - archive/2023/12/29/decide-automate-document + archive/2023/12/29/decide-automate-document snippet: > - How do you make and document decisions on your team? Here are three steps that have worked well for me. + How do you make and document decisions on your team? Here are three steps that have worked well for me. - Decide, automate, document. + Decide, automate, document. tags: - - software-development + - software-development --- Decide, automate, document diff --git a/source/_daily_emails/2023-12-30.md b/source/_daily_emails/2023-12-30.md index 9d18962e..5b21f5d4 100644 --- a/source/_daily_emails/2023-12-30.md +++ b/source/_daily_emails/2023-12-30.md @@ -1,17 +1,17 @@ --- title: >- - We've always done it this way + We've always done it this way pubDate: 2023-12-30 permalink: >- - archive/2023/12/30/weve-always-done-it-this-way + archive/2023/12/30/weve-always-done-it-this-way snippet: > - Has anyone told you "We've always done it this way." or "We've never needed to write tests before."? + Has anyone told you "We've always done it this way." or "We've never needed to write tests before."? - In my experience, these are two of the worst phases to hear from new development teams. + In my experience, these are two of the worst phases to hear from new development teams. tags: - - software-development - - agile - - continuous-improvement + - software-development + - agile + - continuous-improvement --- Two of the worst phrases I've heard when working with new development teams is "We've always done it this way" or "We've never needed to do this before". diff --git a/source/_daily_emails/2023-12-31.md b/source/_daily_emails/2023-12-31.md index d02a30d0..4af6b535 100644 --- a/source/_daily_emails/2023-12-31.md +++ b/source/_daily_emails/2023-12-31.md @@ -2,11 +2,11 @@ title: Just... date: 2023-12-31 permalink: >- - archive/2023/12/31/just + archive/2023/12/31/just snippet: >- - Can you just... + Can you just... tags: - - software-development + - software-development --- If you have a request that starts with "Just", it's likely a red flag! diff --git a/source/_daily_emails/2024-01-01.md b/source/_daily_emails/2024-01-01.md index 770e67c8..318e8624 100644 --- a/source/_daily_emails/2024-01-01.md +++ b/source/_daily_emails/2024-01-01.md @@ -1,16 +1,16 @@ --- title: > - Continuous improvement + Continuous improvement date: 2024-01-01 permalink: archive/2024/01/01/continuous-improvement snippet: | - 1. Continuous delivery. - 2. Continuous deployment. - 3. Continuous improvement. + 1. Continuous delivery. + 2. Continuous deployment. + 3. Continuous improvement. tags: - - software-development - - agile - - continuous-improvement + - software-development + - agile + - continuous-improvement --- I've written emails before about continuous delivery and continuous deployment, but there's another "continuous" I like to follow. diff --git a/source/_daily_emails/2024-01-02.md b/source/_daily_emails/2024-01-02.md index 977a41d7..9097ac2f 100644 --- a/source/_daily_emails/2024-01-02.md +++ b/source/_daily_emails/2024-01-02.md @@ -3,11 +3,11 @@ title: Flexible Mob and Pair Programming date: 2024-01-02 permalink: archive/2024/01/02/flexible-pair-programming snippet: | - Have you ever asked a colleague to review code you're writing or help you fix a bug? - That's pair programming. + Have you ever asked a colleague to review code you're writing or help you fix a bug? + That's pair programming. tags: - - software-development - - pair-programming + - software-development + - pair-programming --- Doing pair or programming doesn't mean you need to be working in groups continuously. diff --git a/source/_daily_emails/2024-01-03.md b/source/_daily_emails/2024-01-03.md index 09b3e122..5913ea8f 100644 --- a/source/_daily_emails/2024-01-03.md +++ b/source/_daily_emails/2024-01-03.md @@ -1,16 +1,16 @@ --- title: >- - Why you need to start upgrading from Drupal 7 now + Why you need to start upgrading from Drupal 7 now date: 2024-01-03 permalink: archive/2024/01/03/why-you-need-to-start-upgrading-from-drupal-7-now snippet: | - Are you still using Drupal 7? You need to start upgrading to Drupal 10 now instead of waiting until next year. + Are you still using Drupal 7? You need to start upgrading to Drupal 10 now instead of waiting until next year. tags: - - drupal - - drupal-upgrade - - drupal7 - - php - - phpc + - drupal + - drupal-upgrade + - drupal7 + - php + - phpc --- {% block content %} diff --git a/source/_daily_emails/2024-01-04.md b/source/_daily_emails/2024-01-04.md index d719c194..d7aa22a4 100644 --- a/source/_daily_emails/2024-01-04.md +++ b/source/_daily_emails/2024-01-04.md @@ -1,15 +1,15 @@ --- title: > - Reuse what you can. + Reuse what you can. date: 2024-01-04 permalink: archive/2024/01/04/reuse-what-you-can snippet: | - Do you need to upgrade your application to Drupal 10? Reduce cost and save time by reusing what you can instead of starting from scratch. + Do you need to upgrade your application to Drupal 10? Reduce cost and save time by reusing what you can instead of starting from scratch. tags: - - drupal - - drupal7 - - drupal10 - - drupal-upgrade + - drupal + - drupal7 + - drupal10 + - drupal-upgrade --- {% block content %} diff --git a/source/_daily_emails/2024-01-05.md b/source/_daily_emails/2024-01-05.md index 344e4c88..a555acd3 100644 --- a/source/_daily_emails/2024-01-05.md +++ b/source/_daily_emails/2024-01-05.md @@ -1,15 +1,15 @@ --- title: > - PHP in Neovim + PHP in Neovim date: 2024-01-05 permalink: archive/2024/01/05/php-in-neovim snippet: |- - Yesterday, I posted some screenshots on Twitter of my upcoming automated testing email course and my PHP code in Neovim. + Yesterday, I posted some screenshots on Twitter of my upcoming automated testing email course and my PHP code in Neovim. tags: - - software-development - - php - - vim - - neovim + - software-development + - php + - vim + - neovim --- Yesterday, I posted a screenshot from my [automated testing in Drupal email course][atdc] on Twitter as a sneak peek of what's included. diff --git a/source/_daily_emails/2024-01-06.md b/source/_daily_emails/2024-01-06.md index 504f1ebb..5a5f30fd 100644 --- a/source/_daily_emails/2024-01-06.md +++ b/source/_daily_emails/2024-01-06.md @@ -1,12 +1,12 @@ --- title: >- - Sculpin - the PHP static site generator + Sculpin - the PHP static site generator date: 2024-01-06 permalink: archive/2024/01/06/sculpin-the-php-static-site-generator snippet: | - Do you use PHP? Sculpin is a static site generator written in PHP, and turns markdown files and Twig templates into static HTML + Do you use PHP? Sculpin is a static site generator written in PHP, and turns markdown files and Twig templates into static HTML - #php #phpc #sculpinphp @getsculpin + #php #phpc #sculpinphp @getsculpin tags: [] --- diff --git a/source/_daily_emails/2024-01-07.md b/source/_daily_emails/2024-01-07.md index f8a31630..bb832ef5 100644 --- a/source/_daily_emails/2024-01-07.md +++ b/source/_daily_emails/2024-01-07.md @@ -1,12 +1,12 @@ --- title: >- - Things take as long as they take + Things take as long as they take date: 2024-01-07 permalink: archive/2024/01/07/things-take-as-long-as-they-take snippet: | - How long _should_ a software development task take to complete? + How long _should_ a software development task take to complete? tags: - - software-development + - software-development --- Today, I saw a post that asked the question: diff --git a/source/_daily_emails/2024-01-08.md b/source/_daily_emails/2024-01-08.md index 91022920..a867b094 100644 --- a/source/_daily_emails/2024-01-08.md +++ b/source/_daily_emails/2024-01-08.md @@ -3,11 +3,11 @@ title: Try it and see date: 2024-01-08 permalink: archive/2024/01/08/try-it-and-see snippet: | - Have you tried new technologies or approaches when writing software? Did you like it or go back? Either way, you know more about it than before. + Have you tried new technologies or approaches when writing software? Did you like it or go back? Either way, you know more about it than before. tags: - - tailwind-css - - automated-testing - - test-driven-development + - tailwind-css + - automated-testing + - test-driven-development --- I recently saw a post with a screenshot of some code they'd written using Tailwind CSS. diff --git a/source/_daily_emails/2024-01-09.md b/source/_daily_emails/2024-01-09.md index 8ee3fff7..7faa6294 100644 --- a/source/_daily_emails/2024-01-09.md +++ b/source/_daily_emails/2024-01-09.md @@ -1,11 +1,11 @@ --- title: >- - Using Tailwind CSS is a great way to learn CSS + Using Tailwind CSS is a great way to learn CSS date: 2024-01-09 permalink: archive/2024/01/09/using-tailwind-css-is-a-great-way-to-learn-css snippet: | - I think Tailwind CSS is not only a great CSS framework, but a great way to learn CSS itself. - #dev #SoftwareDevelopment #css #TailwindCSS + I think Tailwind CSS is not only a great CSS framework, but a great way to learn CSS itself. + #dev #SoftwareDevelopment #css #TailwindCSS tags: [] --- diff --git a/source/_daily_emails/2024-01-10.md b/source/_daily_emails/2024-01-10.md index ac1fdb8f..ccb18e72 100644 --- a/source/_daily_emails/2024-01-10.md +++ b/source/_daily_emails/2024-01-10.md @@ -3,12 +3,12 @@ title: Don't put business logic in templates date: 2024-01-10 permalink: archive/2024/01/10/dont-put-business-logic-in-templates snippet: | - Don't do what I did. Don't put business logic in your template files. + Don't do what I did. Don't put business logic in your template files. tags: - - software-development - - clean-code - - twig - - automated-testing + - software-development + - clean-code + - twig + - automated-testing --- Here is some code from my website: diff --git a/source/_daily_emails/2024-01-11.md b/source/_daily_emails/2024-01-11.md index 65f75682..c61f34fe 100644 --- a/source/_daily_emails/2024-01-11.md +++ b/source/_daily_emails/2024-01-11.md @@ -3,14 +3,14 @@ title: My Drupal testing email course is live date: 2024-01-11 permalink: archive/2024/01/11/my-drupal-testing-email-course-is-live snippet: | - Do you want to learn automated testing in Drupal? My free email course is live! Learn from a DrupalCon speaker, workshop trainer, and module maintainer how to write tests in Drupal. + Do you want to learn automated testing in Drupal? My free email course is live! Learn from a DrupalCon speaker, workshop trainer, and module maintainer how to write tests in Drupal. tags: - - softare-development - - drupal - - php - - phpc - - automated-testing - - test-driven-development + - softare-development + - drupal + - php + - phpc + - automated-testing + - test-driven-development --- {% block content %} diff --git a/source/_daily_emails/2024-01-12.md b/source/_daily_emails/2024-01-12.md index dfcb2dab..a954571d 100644 --- a/source/_daily_emails/2024-01-12.md +++ b/source/_daily_emails/2024-01-12.md @@ -1,14 +1,14 @@ --- title: >- - Utility classes make global scope local + Utility classes make global scope local date: 2024-01-12 permalink: archive/2024/01/12/utility-classes-make-global-scope-local snippet: | - Utility classes make global scope local, making things easier and quicker to work on - now and in the future. + Utility classes make global scope local, making things easier and quicker to work on - now and in the future. tags: - - software-development - - css - - tailwind-css + - software-development + - css + - tailwind-css --- In my [recent pair programming session]({{site.url}}/archive/2024/01/09/using-tailwind-css-is-a-great-way-to-learn-css), building components with Tailwind CSS, we experienced another benefit of styling with utility classes. diff --git a/source/_daily_emails/2024-01-13.md b/source/_daily_emails/2024-01-13.md index b2eb734a..1980459d 100644 --- a/source/_daily_emails/2024-01-13.md +++ b/source/_daily_emails/2024-01-13.md @@ -1,16 +1,16 @@ --- title: >- - Testing Legacy with Mike Karthauser + Testing Legacy with Mike Karthauser date: 2024-01-13 permalink: archive/2024/01/13/testing-legacy-with-mike-karthauser snippet: | - Last week, Mike Karthauser - Senior Software Developer at Huboo - joined me on the Beyond Blocks podcast. + Last week, Mike Karthauser - Senior Software Developer at Huboo - joined me on the Beyond Blocks podcast. tags: - - software-development - - podcast - - beyond-blocks - - automated-testing - - refactoring + - software-development + - podcast + - beyond-blocks + - automated-testing + - refactoring --- {% block content %} diff --git a/source/_daily_emails/2024-01-14.md b/source/_daily_emails/2024-01-14.md index e373d97a..cc5c6b18 100644 --- a/source/_daily_emails/2024-01-14.md +++ b/source/_daily_emails/2024-01-14.md @@ -3,10 +3,10 @@ title: Code is a liability, not an asset date: 2024-01-14 permalink: archive/2024/01/14/code-is-a-liability-not-an-asset snippet: | - Is code a liability or an asset? The more you write, the more you need to maintain. + Is code a liability or an asset? The more you write, the more you need to maintain. tags: - - software-development - - drupal + - software-development + - drupal --- Something I mentioned during my [podcast episode with Mike Karthauser][episode] is a quote I saw recently: diff --git a/source/_daily_emails/2024-01-15.md b/source/_daily_emails/2024-01-15.md index ac16ce13..0218c02e 100644 --- a/source/_daily_emails/2024-01-15.md +++ b/source/_daily_emails/2024-01-15.md @@ -3,16 +3,16 @@ title: Don't be perfect, be useful date: 2024-01-15 permalink: archive/2024/01/15/don-t-be-perfect--be-useful snippet: | - Don't be perfect, be useful. - I heard this recently and wondered how I could apply it to software development. + Don't be perfect, be useful. + I heard this recently and wondered how I could apply it to software development. tags: - - software-development - - design-patterns - - automated-testing - - test-driven-development - - static-analysis - - pair-programming - - mob-programming + - software-development + - design-patterns + - automated-testing + - test-driven-development + - static-analysis + - pair-programming + - mob-programming --- In a recent private coaching session with [Jonathan Stark](https://jonathanstark.com), he said, "Don't be perfect, be useful". diff --git a/source/_daily_emails/2024-01-16.md b/source/_daily_emails/2024-01-16.md index b1214e41..51fd1124 100644 --- a/source/_daily_emails/2024-01-16.md +++ b/source/_daily_emails/2024-01-16.md @@ -3,9 +3,9 @@ title: Daily or quarterly? date: 2024-01-16 permalink: archive/2024/01/16/daily-or-quarterly snippet: | - What if you could only deploy changes daily or quarterly? Which would you pick? + What if you could only deploy changes daily or quarterly? Which would you pick? tags: - - software-development + - software-development --- Imagine this scenario. diff --git a/source/_daily_emails/2024-01-17.md b/source/_daily_emails/2024-01-17.md index a8ce658d..d0dfa722 100644 --- a/source/_daily_emails/2024-01-17.md +++ b/source/_daily_emails/2024-01-17.md @@ -3,10 +3,10 @@ title: Please don't use short variable names date: 2024-01-17 permalink: archive/2024/01/17/short-variable-names snippet: | - Why use variable names like $k, $v and $i instead of $key, $value and $index? What benefit does it add? + Why use variable names like $k, $v and $i instead of $key, $value and $index? What benefit does it add? tags: - - software-development - - clean-code + - software-development + - clean-code --- When learning to code, one of the most confusing things was using short variable names in documentation and other people's code. diff --git a/source/_daily_emails/2024-01-18.md b/source/_daily_emails/2024-01-18.md index 41911c98..ea8c9345 100644 --- a/source/_daily_emails/2024-01-18.md +++ b/source/_daily_emails/2024-01-18.md @@ -3,10 +3,10 @@ title: Is zero unlimited? date: 2024-01-18 permalink: archive/2024/01/18/is-zero-unlimited snippet: | - If you set a limit to be zero, would you expect it to return all the results or none? + If you set a limit to be zero, would you expect it to return all the results or none? tags: - - software-development - - clean-code + - software-development + - clean-code --- Something I've seen in code is the unclear use of zero when adding limits, such as loading items from a database. diff --git a/source/_daily_emails/2024-01-19.md b/source/_daily_emails/2024-01-19.md index 15e2e3e9..a788d175 100644 --- a/source/_daily_emails/2024-01-19.md +++ b/source/_daily_emails/2024-01-19.md @@ -3,11 +3,11 @@ title: Tests can assert multiple things date: 2024-01-19 permalink: archive/2024/01/19/tests-can-assert-multiple-things snippet: | - Should each automated test only have a single assertion? + Should each automated test only have a single assertion? tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Similar to "a method should only have one return statement", I've seen similar advice when working with tests: "Tests should only have a single assertion". diff --git a/source/_daily_emails/2024-01-20.md b/source/_daily_emails/2024-01-20.md index f7af33ef..a3abb80e 100644 --- a/source/_daily_emails/2024-01-20.md +++ b/source/_daily_emails/2024-01-20.md @@ -3,12 +3,12 @@ title: PHPUnit or Pest? date: 2024-01-20 permalink: archive/2024/01/20/phpunit-or-pest snippet: | - Which testing framework do you prefer? PHPUnit or Pest? + Which testing framework do you prefer? PHPUnit or Pest? tags: - - software-development - - automated-testing - - test-driven-development - - php + - software-development + - automated-testing + - test-driven-development + - php --- A recent discussion has started about which testing framework should be the default one used in Laravel. diff --git a/source/_daily_emails/2024-01-21.md b/source/_daily_emails/2024-01-21.md index efc0dec7..7fff56e8 100644 --- a/source/_daily_emails/2024-01-21.md +++ b/source/_daily_emails/2024-01-21.md @@ -3,9 +3,9 @@ title: Where is the value in your application? date: 2024-01-21 permalink: archive/2024/01/21/where-is-the-value-in-your-application snippet: | - Where is the value in your software application, and where should you start when starting a new project? + Where is the value in your software application, and where should you start when starting a new project? tags: - - software-development + - software-development --- Yesterday, I was in Birmingham for a hackathon event organised by the School of Code, who I've been a Bootcamp mentor for for the last few cohorts. diff --git a/source/_daily_emails/2024-01-22.md b/source/_daily_emails/2024-01-22.md index e772b43b..28d8a73a 100644 --- a/source/_daily_emails/2024-01-22.md +++ b/source/_daily_emails/2024-01-22.md @@ -3,9 +3,9 @@ title: Tailwind CSS workshop recording date: 2024-01-22 permalink: archive/2024/01/22/tailwind-css-workshop-recording snippet: | - Want to learn Tailwind CSS? Here's a recording of my workshop from DrupalCamp Florida 2022. + Want to learn Tailwind CSS? Here's a recording of my workshop from DrupalCamp Florida 2022. - #SoftwareDevelopment #css #TailwindCSS + #SoftwareDevelopment #css #TailwindCSS tags: [] --- diff --git a/source/_daily_emails/2024-01-23.md b/source/_daily_emails/2024-01-23.md index 0c3cfe34..e347746c 100644 --- a/source/_daily_emails/2024-01-23.md +++ b/source/_daily_emails/2024-01-23.md @@ -3,12 +3,12 @@ title: Why use automation tools for dependency updates date: 2024-01-23 permalink: archive/2024/01/23/why-use-automation-tools-for-dependency-updates snippet: | - What are the benefits of using automation tools like violinist.io for dependency updates? + What are the benefits of using automation tools like violinist.io for dependency updates? tags: - - software-development - - php - - drupal - - composer + - software-development + - php + - drupal + - composer --- Last week, I recorded an episode of [Beyond Blocks][podcast] with Eirik Morland - the Developer of violinist.io, a tool for automating dependency updates in PHP projects. diff --git a/source/_daily_emails/2024-01-24.md b/source/_daily_emails/2024-01-24.md index 3b02e9e9..af9ef694 100644 --- a/source/_daily_emails/2024-01-24.md +++ b/source/_daily_emails/2024-01-24.md @@ -3,11 +3,11 @@ title: Defining Ubiquitous language date: 2024-01-24 permalink: archive/2024/01/24/defining-ubiquitous-language snippet: | - Why should you define the ubiquitous language for a software project? Rob Allen told us during a recent meetup talk. + Why should you define the ubiquitous language for a software project? Rob Allen told us during a recent meetup talk. tags: - - software-development - - php - - domain-driven-design + - software-development + - php + - domain-driven-design --- A key takeaway from Rob Allen's Domain-Driven Design talk was defining ubiquitous language and avoiding the phrase "That's not what I meant". diff --git a/source/_daily_emails/2024-01-25.md b/source/_daily_emails/2024-01-25.md index cf95daed..7cf58f7c 100644 --- a/source/_daily_emails/2024-01-25.md +++ b/source/_daily_emails/2024-01-25.md @@ -3,11 +3,11 @@ title: Speaking at PHP Oxford date: 2024-01-25 permalink: archive/2024/01/25/speaking-at-php-oxford snippet: | - This evening, I was at PHP Oxford, speaking about my Build Configs tool. + This evening, I was at PHP Oxford, speaking about my Build Configs tool. tags: - - php - - phpc - - symfony + - php + - phpc + - symfony --- I attended the relaunched PHP Oxford user group meetup this evening, organised by Humand Talent. diff --git a/source/_daily_emails/2024-01-26.md b/source/_daily_emails/2024-01-26.md index ee853fc5..a4d68ba5 100644 --- a/source/_daily_emails/2024-01-26.md +++ b/source/_daily_emails/2024-01-26.md @@ -3,10 +3,10 @@ title: Write once, manage forever date: 2024-01-26 permalink: archive/2024/01/26/write-once-manage-forever snippet: | - I wrote my Build Configs project so I only write a file once, but can re-use it as many times as needed. + I wrote my Build Configs project so I only write a file once, but can re-use it as many times as needed. tags: - - software-development - - automation + - software-development + - automation --- I built my [Build Configs] tool because I only wanted to write a file once and re-use it instead of writing it over again or copying and pasting between projects. diff --git a/source/_daily_emails/2024-01-27.md b/source/_daily_emails/2024-01-27.md index 3aa010e4..7372c151 100644 --- a/source/_daily_emails/2024-01-27.md +++ b/source/_daily_emails/2024-01-27.md @@ -3,10 +3,10 @@ title: gitignore - inclusive or exclusive? date: 2024-01-27 permalink: archive/2024/01/27/gitignore-inclusive-or-exclusive snippet: | - How do you write your .gitignore files? + How do you write your .gitignore files? tags: - - software-development - - git + - software-development + - git --- Add everything and ignore what you don't want, or ignore everything and explicitly add what you need. diff --git a/source/_daily_emails/2024-01-28.md b/source/_daily_emails/2024-01-28.md index 91b89bfb..69e1325d 100644 --- a/source/_daily_emails/2024-01-28.md +++ b/source/_daily_emails/2024-01-28.md @@ -3,10 +3,10 @@ title: Ignoring things globally date: 2024-01-28 permalink: archive/2024/01/28/ignoring-things-globally snippet: | - Have you wanted to ignore things globally? Git has a setting for that. + Have you wanted to ignore things globally? Git has a setting for that. tags: - - software-development - - git + - software-development + - git --- Yesterday's email was about repository-specific .gitignore files and different ways to write them. diff --git a/source/_daily_emails/2024-01-29.md b/source/_daily_emails/2024-01-29.md index d4b636b9..140ce6e2 100644 --- a/source/_daily_emails/2024-01-29.md +++ b/source/_daily_emails/2024-01-29.md @@ -3,13 +3,13 @@ title: Violinist and automation with Eirik Morland date: 2024-01-29 permalink: archive/2024/01/29/violinist-and-automation-with-eirik-morland snippet: | - This week on Beyond Blocks, I'm joined by Eirik Morland to discuss Violinist - a tool for automating PHP dependency updates. + This week on Beyond Blocks, I'm joined by Eirik Morland to discuss Violinist - a tool for automating PHP dependency updates. tags: - - software-development - - podcast - - php - - phpc - - composer + - software-development + - podcast + - php + - phpc + - composer --- In [today's episode of the Beyond Blocks podcast][episode], I'm joined by Eirik Morland - the Developer of [Violinist]. diff --git a/source/_daily_emails/2024-01-30.md b/source/_daily_emails/2024-01-30.md index 1d480427..5e6800cb 100644 --- a/source/_daily_emails/2024-01-30.md +++ b/source/_daily_emails/2024-01-30.md @@ -3,11 +3,11 @@ title: TDD doesn't mean you know everything upfront date: 2024-01-30 permalink: archive/2024/01/30/tdd-doesnt-mean-you-know-everything-upfront snippet: | - Test-Driven Development doesn't mean you need to know everything upfront. + Test-Driven Development doesn't mean you need to know everything upfront. tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- I'm in the final phase of a Drupal development project for a customer. diff --git a/source/_daily_emails/2024-01-31.md b/source/_daily_emails/2024-01-31.md index 0dc2fa31..c839b90c 100644 --- a/source/_daily_emails/2024-01-31.md +++ b/source/_daily_emails/2024-01-31.md @@ -3,11 +3,11 @@ title: Automated tests mean you can make changes quicker date: 2024-01-31 permalink: archive/2024/01/31/automated-tests-mean-you-can-make-changes-quicker snippet: | - Automated tests mean you can make changes quicker and not worry about introducing regressions. + Automated tests mean you can make changes quicker and not worry about introducing regressions. tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Before fixing [yesterday's bug][yesterday], because I'd written automated tests, I ran them to ensure they were all passing. diff --git a/source/_daily_emails/2024-02-01.md b/source/_daily_emails/2024-02-01.md index c3465293..fffca5b8 100644 --- a/source/_daily_emails/2024-02-01.md +++ b/source/_daily_emails/2024-02-01.md @@ -3,11 +3,11 @@ title: Start with a failing test date: 2024-02-01 permalink: archive/2024/02/01/start-with-a-failing-test snippet: | - Why should you start with a failing test? + Why should you start with a failing test? tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- When fixing a bug or adding a new feature using test-driven development, it's important to see the test fail first. diff --git a/source/_daily_emails/2024-02-02.md b/source/_daily_emails/2024-02-02.md index f4fb2731..8f0f3be9 100644 --- a/source/_daily_emails/2024-02-02.md +++ b/source/_daily_emails/2024-02-02.md @@ -3,11 +3,11 @@ title: Automated tests prevent you from adding regressions date: 2024-02-02 permalink: archive/2024/02/02/automated-tests-prevent-you-from-adding-regressions snippet: | - Having automated tests recently saved me from adding a regression to a project. + Having automated tests recently saved me from adding a regression to a project. tags: - - software-development - - automated-testing - - test-driven-development + - software-development + - automated-testing + - test-driven-development --- Continuing from [my last few emails]({{site.url}}/archive/2024/01/30/tdd-doesnt-mean-you-know-everything-upfront), as well as adding the new use case more easily and quicker, having automated tests also saved me from adding a regression into the code I was changing. diff --git a/source/_daily_emails/2024-02-03.md b/source/_daily_emails/2024-02-03.md index 35d9336f..0f60ab4a 100644 --- a/source/_daily_emails/2024-02-03.md +++ b/source/_daily_emails/2024-02-03.md @@ -3,14 +3,14 @@ title: Reducing complexity makes contribution easier date: 2024-02-03 permalink: archive/2024/02/03/reducing-complexity-makes-contribution-easier snippet: | - Keeping things simple makes it easier for others to contribute. + Keeping things simple makes it easier for others to contribute. tags: - - software-development - - front-end - - beyond-blocks - - podcast - - drupal - - localgov-drupal + - software-development + - front-end + - beyond-blocks + - podcast + - drupal + - localgov-drupal --- This week, I spoke with [Mark Conroy][mark] for an upcoming episode of the [Beyond Blocks podcast][podcast]. diff --git a/source/_daily_emails/2024-02-04.md b/source/_daily_emails/2024-02-04.md index 25790184..8b214802 100644 --- a/source/_daily_emails/2024-02-04.md +++ b/source/_daily_emails/2024-02-04.md @@ -3,11 +3,11 @@ title: Speaking about Sculpin at PHPSW date: 2024-02-04 permalink: archive/2024/02/04/speaking-about-sculpin-at-phpsw snippet: | - Next week, I'm giving my 98th talk or workshop when I speak about Sculpin at PHP South West. + Next week, I'm giving my 98th talk or workshop when I speak about Sculpin at PHP South West. tags: - - php - - phpc - - sculpin + - php + - phpc + - sculpin --- I'm happy to be speaking again at [PHP South West][event] next week for my 98th talk or workshop and eighth at PHPSW. diff --git a/source/_daily_emails/2024-02-05.md b/source/_daily_emails/2024-02-05.md index 7eb234a2..fcde5b37 100644 --- a/source/_daily_emails/2024-02-05.md +++ b/source/_daily_emails/2024-02-05.md @@ -3,10 +3,10 @@ title: .gitignore or .gitallow date: 2024-02-05 permalink: archive/2024/02/05/gitignore-or-gitallow snippet: | - Is it a .gitignore or .gitallow file? + Is it a .gitignore or .gitallow file? tags: - - software-development - - git + - software-development + - git --- {% block content %} diff --git a/source/_pages/atdc-welcome.md b/source/_pages/atdc-welcome.md index 83b2af10..2775c316 100644 --- a/source/_pages/atdc-welcome.md +++ b/source/_pages/atdc-welcome.md @@ -1,7 +1,7 @@ --- title: Welcome to the Test-Driven Drupal email course meta: - title: Welcome to the Test-Driven Drupal email course | %site.name% + title: Welcome to the Test-Driven Drupal email course | %site.name% --- {% block head_meta %} diff --git a/source/_pages/build-configs.md b/source/_pages/build-configs.md index 48940967..d7281b5c 100644 --- a/source/_pages/build-configs.md +++ b/source/_pages/build-configs.md @@ -1,14 +1,14 @@ --- title: "Build Configs - configuration files as a service" products: - - - price: 2500 - link: https://buy.stripe.com/14kbJs98K1fc0p29AC - buttonText: Get started - - - price: 1000 - link: https://buy.stripe.com/7sIdRAbgS8HEfjWfZ1 - buttonText: Sign up + - + price: 2500 + link: https://buy.stripe.com/14kbJs98K1fc0p29AC + buttonText: Get started + - + price: 1000 + link: https://buy.stripe.com/7sIdRAbgS8HEfjWfZ1 + buttonText: Sign up --- **Sprint zero in a box.** diff --git a/source/_pages/drupal-upgrade.md b/source/_pages/drupal-upgrade.md index 5d543827..7f4f2bb4 100644 --- a/source/_pages/drupal-upgrade.md +++ b/source/_pages/drupal-upgrade.md @@ -1,8 +1,8 @@ --- title: Are you stuck on Drupal 7, 8 or 9? button: - text: Book your roadmap now - url: https://buy.stripe.com/aEU4h0gBc4ro0p27sz + text: Book your roadmap now + url: https://buy.stripe.com/aEU4h0gBc4ro0p27sz --- {% import 'macros' as macros %} diff --git a/source/_pages/drupalgive.md b/source/_pages/drupalgive.md index 29a81014..986a69b7 100644 --- a/source/_pages/drupalgive.md +++ b/source/_pages/drupalgive.md @@ -1,43 +1,43 @@ --- title: My Drupal Contributions modules: - - - name: Block ARIA Landmark Roles - machine_name: block_aria_landmark_roles - type: module - usage: 1346 - stars: 16 - - - name: Copyright Block - machine_name: copyright_block - type: module - usage: 2514 - stars: 10 - - - name: Feature Toggle Twig - machine_name: feature_toggle_twig - type: module - - - name: Layout Builder Extra Templates - machine_name: override_node_options - type: module - usage: 325 - stars: 11 - - - name: Null User - machine_name: null_user - type: module - usage: 5 - stars: 4 - - - name: System User - machine_name: system_user - type: module - - - name: Tailwind CSS Starter Kit - machine_name: tailwindcss - type: theme - usage: 260 + - + name: Block ARIA Landmark Roles + machine_name: block_aria_landmark_roles + type: module + usage: 1346 + stars: 16 + - + name: Copyright Block + machine_name: copyright_block + type: module + usage: 2514 + stars: 10 + - + name: Feature Toggle Twig + machine_name: feature_toggle_twig + type: module + - + name: Layout Builder Extra Templates + machine_name: override_node_options + type: module + usage: 325 + stars: 11 + - + name: Null User + machine_name: null_user + type: module + usage: 5 + stars: 4 + - + name: System User + machine_name: system_user + type: module + - + name: Tailwind CSS Starter Kit + machine_name: tailwindcss + type: theme + usage: 260 --- [This is my profile page on Drupal.org](https://www.drupal.org/u/opdavies) and these are some of the projects I maintain: diff --git a/source/_pages/dto.md b/source/_pages/dto.md index a01ead1a..2be6cb48 100644 --- a/source/_pages/dto.md +++ b/source/_pages/dto.md @@ -2,8 +2,8 @@ title: Introduction to Automated Testing and Test-Driven Development with Drupal drupal_version: 10 prices: - early: 299 - full: 499 + early: 299 + full: 499 is_early_bird: true next_date: 2024-02-23 --- diff --git a/source/_pages/index.md b/source/_pages/index.md index 4e46734b..d623c983 100644 --- a/source/_pages/index.md +++ b/source/_pages/index.md @@ -2,7 +2,7 @@ title: Do you need a certified Drupal expert, core contributor and module maintainer? permalink: / meta: - title: '%site.slogan% | %site.name%' + title: '%site.slogan% | %site.name%' --- {% block meta_title %}Certified Drupal expert, Developer and Consultant | {{ site.name }}{% endblock %} diff --git a/source/_pages/podcast.md b/source/_pages/podcast.md index f9e9ec6c..4c32a535 100644 --- a/source/_pages/podcast.md +++ b/source/_pages/podcast.md @@ -1,7 +1,7 @@ --- title: The Beyond Blocks podcast use: - - podcast_episodes + - podcast_episodes --- {% block content_bottom %}{% endblock %} diff --git a/source/_pages/pricing.md b/source/_pages/pricing.md index cbcc2c48..50ae1f4f 100644 --- a/source/_pages/pricing.md +++ b/source/_pages/pricing.md @@ -1,82 +1,82 @@ --- title: Products and Services products: - - - title: Development team coaching - description: | - Do you want to upskill your in-house team or have someone provide oversight and guidance as they deliver a project? Does your company want to learn to contribute to open-source software? Get unlimited 1-on-1 private Slack access to me and regular check-in calls to ensure things are on track. - perMonth: true - isLimited: true - price: 10000 - remainingPlaces: 1 - link: - text: Apply now - url: /team-coaching - - - title: Drupal development subscription - description: | - In less time than it takes to post on a job board, and for a fraction of the cost, get unlimited access to a certified Drupal development expert, core contributor and multiple-time DrupalCon speaker for a fixed monthly fee. No surprises. Cancel anytime. - perMonth: true - price: 5000 - isFrom: true - link: - text: Register now - url: /subscription - - - title: Drupal upgrade roadmap - description: | - Are you stuck on an already or soon-to-be unsupported version of Drupal? Get a personalised roadmap of your Drupal website, including details and actionable steps to upgrade it. - price: 5000 - link: - text: Book your roadmap now - url: /drupal-upgrade - - - title: Diagnosis - description: | - An in-depth investigation into a single issue where I'll provide a report with my findings and advice on the next steps. Once you've purchased, you can book a Zoom call with me to discuss what you want me to investigate. - price: 2500 - link: - text: Book now - url: https://buy.stripe.com/00gbJs84G2jg8Vy9AJ - - - title: Private talk or workshop - description: | - If you found one of my public speaking presentations or workshops useful, I'm available for private speaking engagements on a variety of topics to help your team succeed. - price: 2000 - isFrom: true - link: - text: Schedule a talk - url: https://buy.stripe.com/eVa4h0bgSaPM6NqcMU - - - title: 1-on-1 consulting call - description: | - Book a 1-on-1 video call, and I can help you by answering questions about software development, architecture and automation, helping you write your first automated test, or reviewing some of your code and giving advice and suggestions. - price: 350 - link: - text: Book your call now - url: /call - - - title: Pair program with me - description: | - Would you like another pair of eyes on your code, providing real-time suggestions and feedback rather than waiting for a code review? Book a 2-hour pair programming call and we can work on your code together. - price: 499 - link: - text: Book your session now - url: /pair - - - title: Introduction to Automated Testing in Drupal - 10-day email course - description: | - Register for my free email course on automated testing in Drupal. - link: - text: Register now - url: /atdc - - - title: Drupal module template - description: | - If you're creating a new Drupal module, try starting with my free module template for Drupal 9 and 10. - link: - text: Download - url: https://github.com/opdavies/drupal-module-template + - + title: Development team coaching + description: | + Do you want to upskill your in-house team or have someone provide oversight and guidance as they deliver a project? Does your company want to learn to contribute to open-source software? Get unlimited 1-on-1 private Slack access to me and regular check-in calls to ensure things are on track. + perMonth: true + isLimited: true + price: 10000 + remainingPlaces: 1 + link: + text: Apply now + url: /team-coaching + - + title: Drupal development subscription + description: | + In less time than it takes to post on a job board, and for a fraction of the cost, get unlimited access to a certified Drupal development expert, core contributor and multiple-time DrupalCon speaker for a fixed monthly fee. No surprises. Cancel anytime. + perMonth: true + price: 5000 + isFrom: true + link: + text: Register now + url: /subscription + - + title: Drupal upgrade roadmap + description: | + Are you stuck on an already or soon-to-be unsupported version of Drupal? Get a personalised roadmap of your Drupal website, including details and actionable steps to upgrade it. + price: 5000 + link: + text: Book your roadmap now + url: /drupal-upgrade + - + title: Diagnosis + description: | + An in-depth investigation into a single issue where I'll provide a report with my findings and advice on the next steps. Once you've purchased, you can book a Zoom call with me to discuss what you want me to investigate. + price: 2500 + link: + text: Book now + url: https://buy.stripe.com/00gbJs84G2jg8Vy9AJ + - + title: Private talk or workshop + description: | + If you found one of my public speaking presentations or workshops useful, I'm available for private speaking engagements on a variety of topics to help your team succeed. + price: 2000 + isFrom: true + link: + text: Schedule a talk + url: https://buy.stripe.com/eVa4h0bgSaPM6NqcMU + - + title: 1-on-1 consulting call + description: | + Book a 1-on-1 video call, and I can help you by answering questions about software development, architecture and automation, helping you write your first automated test, or reviewing some of your code and giving advice and suggestions. + price: 350 + link: + text: Book your call now + url: /call + - + title: Pair program with me + description: | + Would you like another pair of eyes on your code, providing real-time suggestions and feedback rather than waiting for a code review? Book a 2-hour pair programming call and we can work on your code together. + price: 499 + link: + text: Book your session now + url: /pair + - + title: Introduction to Automated Testing in Drupal - 10-day email course + description: | + Register for my free email course on automated testing in Drupal. + link: + text: Register now + url: /atdc + - + title: Drupal module template + description: | + If you're creating a new Drupal module, try starting with my free module template for Drupal 9 and 10. + link: + text: Download + url: https://github.com/opdavies/drupal-module-template --- {% block content %} diff --git a/source/_pages/subscription.md b/source/_pages/subscription.md index 314883fa..83d04792 100644 --- a/source/_pages/subscription.md +++ b/source/_pages/subscription.md @@ -2,82 +2,82 @@ title: Drupal Development Subscription supported_version: 10 plans: - - - name: Standard - price: 5000 - tagline: One concurrent request. Cancel anytime. - features: - - One request at a time. - url: https://buy.stripe.com/8wM14OgBc2jg8Vy3cn - - - name: Pro - price: 9000 - tagline: Two concurrent requests. Cancel anytime. - features: - - Two requests at a time. - url: https://buy.stripe.com/9AQaFo0CeaPM3BecMY + - + name: Standard + price: 5000 + tagline: One concurrent request. Cancel anytime. + features: + - One request at a time. + url: https://buy.stripe.com/8wM14OgBc2jg8Vy3cn + - + name: Pro + price: 9000 + tagline: Two concurrent requests. Cancel anytime. + features: + - Two requests at a time. + url: https://buy.stripe.com/9AQaFo0CeaPM3BecMY features: - - Bug-free guarantee. - - Delivery in days, not weeks. - - Easy credit card or BACS payments. - - Cancel at any time. + - Bug-free guarantee. + - Delivery in days, not weeks. + - Easy credit card or BACS payments. + - Cancel at any time. faqs: - - - - Which versions of Drupal do you work on? - - |- - I only work on the latest supported version of Drupal core, which is currently Drupal %supported_version%. + - + - Which versions of Drupal do you work on? + - |- + I only work on the latest supported version of Drupal core, which is currently Drupal %supported_version%. - If you have an application that uses an older version, I'm happy to give you a custom fixed-price proposal to upgrade to Drupal %supported_version%. - - - - Does this include maintenance tasks, such as updating Drupal core and contrib modules and themes? - - |- - Yes, updates are included and will need to be prioritised along with other requests. + If you have an application that uses an older version, I'm happy to give you a custom fixed-price proposal to upgrade to Drupal %supported_version%. + - + - Does this include maintenance tasks, such as updating Drupal core and contrib modules and themes? + - |- + Yes, updates are included and will need to be prioritised along with other requests. - My suggestion is to do them regularly to reduce the risk of an update breaking your application. - - - - Is there a limit to how many requests I can have? - - |- - No. Once you're subscribed, you can add as many tasks to your queue as you'd like, and they'll be delivered one-by-one. + My suggestion is to do them regularly to reduce the risk of an update breaking your application. + - + - Is there a limit to how many requests I can have? + - |- + No. Once you're subscribed, you can add as many tasks to your queue as you'd like, and they'll be delivered one-by-one. - You can move requests around and set your own project priority to ensure your most important tasks are finished first. - - - - How fast will I receive my completed requests? - - |- - Of course no two user stories or requests are the same, and some take longer than others. + You can move requests around and set your own project priority to ensure your most important tasks are finished first. + - + - How fast will I receive my completed requests? + - |- + Of course no two user stories or requests are the same, and some take longer than others. - However, you'll typically start getting code back from me within days of submitting an active request. + However, you'll typically start getting code back from me within days of submitting an active request. - Software development is an iterative process, so I will break big projects into smaller tasks and start sending work-in-progress for review, feedback, and iteration. - - - - Who are the Developers? - - |- - I am! I won't pass your work to Junior Developers or offshore teams. You work directly with me. Always. - - - - How do I request tasks? - - |- - After subscribing, you'll need to give me access to your GitLab or GitHub repository and issues board. From there, assign as many tasks to me as you like, in priority order. - - - - What if I don't like how something turned out? - - |- - Development is an iterative process. Unlike an agency that will charge you extra for change orders, you get unlimited revisions until you’re happy with the work. - - - - What if I only have a single request? - - |- - Your subscription renews on a monthly basis. If you only have a single request, you are free to cancel your subscription after the first month. + Software development is an iterative process, so I will break big projects into smaller tasks and start sending work-in-progress for review, feedback, and iteration. + - + - Who are the Developers? + - |- + I am! I won't pass your work to Junior Developers or offshore teams. You work directly with me. Always. + - + - How do I request tasks? + - |- + After subscribing, you'll need to give me access to your GitLab or GitHub repository and issues board. From there, assign as many tasks to me as you like, in priority order. + - + - What if I don't like how something turned out? + - |- + Development is an iterative process. Unlike an agency that will charge you extra for change orders, you get unlimited revisions until you’re happy with the work. + - + - What if I only have a single request? + - |- + Your subscription renews on a monthly basis. If you only have a single request, you are free to cancel your subscription after the first month. - You can always renew again in the future, if you have a new request! - - - - How does the bug free guarantee work? - - |- - If you discover a bug in any code I delivered, for up to 6 months after the end of your subscription, I will fix it for free. - - - - Will you attend our daily stand-ups, or other recurring meetings? - - |- - No. To guard your time and mine, and to make your subscription as effective as possible, all communication is handled asynchronously via task requests, email, and/or Slack. If an occasional task requires some synchronous planning, we can schedule such calls on an as-needed basis. - - - - Do you have a refund policy? - - |- - Yes, of course. If you're unhappy with my work for any reason during your first month of service, just say the word, and I'll give you a full refund. No questions asked. + You can always renew again in the future, if you have a new request! + - + - How does the bug free guarantee work? + - |- + If you discover a bug in any code I delivered, for up to 6 months after the end of your subscription, I will fix it for free. + - + - Will you attend our daily stand-ups, or other recurring meetings? + - |- + No. To guard your time and mine, and to make your subscription as effective as possible, all communication is handled asynchronously via task requests, email, and/or Slack. If an occasional task requires some synchronous planning, we can schedule such calls on an as-needed basis. + - + - Do you have a refund policy? + - |- + Yes, of course. If you're unhappy with my work for any reason during your first month of service, just say the word, and I'll give you a full refund. No questions asked. --- {% block content %} @@ -165,9 +165,9 @@ High quality code that just works. Or I fix it, for free! And we'll figure out what's best for you. {% include 'button' with { - text: 'Get in touch →', - type: 'secondary', - url: 'https://savvycal.com/opdavies/subscription', + text: 'Get in touch →', + type: 'secondary', + url: 'https://savvycal.com/opdavies/subscription', } %} --- @@ -183,9 +183,9 @@ And we'll figure out what's best for you. ## Frequently asked questions {% for faq in page.faqs %} -

    {{ faq.0 }}

    +

    {{ faq.0 }}

    - {{ faq.1|markdown }} + {{ faq.1|markdown }} {% endfor %} --- diff --git a/source/_pages/talks.md b/source/_pages/talks.md index 7ee2acaf..1b1f9795 100644 --- a/source/_pages/talks.md +++ b/source/_pages/talks.md @@ -1,7 +1,6 @@ --- title: Talks and Workshops -use: - - talks +use: [talks] --- {% set talkCount = 0 %} diff --git a/source/_pages/welcome.md b/source/_pages/welcome.md index 46b0142c..2bf4978e 100644 --- a/source/_pages/welcome.md +++ b/source/_pages/welcome.md @@ -1,7 +1,7 @@ --- title: Welcome! meta: - title: Welcome to my Daily Email list | %site.name% + title: Welcome to my Daily Email list | %site.name% --- {% block head_meta %} diff --git a/source/_podcast_episodes/1-retrofit.md b/source/_podcast_episodes/1-retrofit.md index c59fa895..c77e5bc9 100644 --- a/source/_podcast_episodes/1-retrofit.md +++ b/source/_podcast_episodes/1-retrofit.md @@ -2,42 +2,43 @@ date: 2023-11-10 topic: Retrofit guests: - - Matt Glaman + - Matt Glaman links: - - - Retrofit - - https://retrofit-drupal.com - - - - Retrofit on GitHub - - https://github.com/retrofit-drupal/retrofit - - - - Running legacy Drupal 7 code on your Drupal 10 site - - https://mglaman.dev/blog/retrofit-running-legacy-drupal-7-code-your-drupal-10-site - - - - PHPStan - - https://phpstan.org - - - - phpstan-drupal - - https://github.com/mglaman/phpstan-drupal - - - - Centarro - - https://www.centarro.io - - - - Drupal Commerce - - https://drupalcommerce.org - - - - Matt on GitHub - - https://github.com/mglaman - - - - Matt on Drupal.org - - https://www.drupal.org/u/mglaman - - - - Matt on YouTube - - https://www.youtube.com/@nmdmatt - - - - Matt on Twitch - - https://www.twitch.tv/mglaman + - + - Retrofit + - https://retrofit-drupal.com + - + - Retrofit on GitHub + - https://github.com/retrofit-drupal/retrofit + - + - Running legacy Drupal 7 code on your Drupal 10 site + - https://mglaman.dev/blog/retrofit-running-legacy-drupal-7-code-your-drupal-10-site + - + - PHPStan + - https://phpstan.org + - + - phpstan-drupal + - https://github.com/mglaman/phpstan-drupal + - + - Centarro + - https://www.centarro.io + - + - Drupal Commerce + - https://drupalcommerce.org + - + - Matt on GitHub + - https://github.com/mglaman + - + - Matt on Drupal.org + - https://www.drupal.org/u/mglaman + - + - Matt on YouTube + - https://www.youtube.com/@nmdmatt + - + - Matt on Twitch + - https://www.twitch.tv/mglaman transistor: - id: 7d728873 + id: 7d728873 --- In this episode, Oliver is joined by Matt Glaman to discuss Retrofit. A tool that makes it easier to upgrade Drupal websites by allowing legacy Drupal code to run on any version of Drupal. diff --git a/source/_podcast_episodes/2-alternate-realities.md b/source/_podcast_episodes/2-alternate-realities.md index 34d63fbf..c77f85d3 100644 --- a/source/_podcast_episodes/2-alternate-realities.md +++ b/source/_podcast_episodes/2-alternate-realities.md @@ -2,30 +2,31 @@ date: 2023-11-17 topic: Drupal's Alternate Realities guests: - - Panagiotis Moutsopoulos + - Panagiotis Moutsopoulos links: -- - DrupalCon Lille - - https://events.drupal.org/lille2023 - -- - Panagiotis' BoF session - - https://events.drupal.org/lille2023/session/drupals-alternate-realities - -- - Panagiotis on Drupal.org (vensires) - - https://www.drupal.org/u/vensires - -- - E-Sepia - - https://www.e-sepia.gr - -- - Panagiotis on LinkedIn - - https://www.linkedin.com/in/panagiotis-moutsopoulos/ - -- - https://drupal.org.gr - - https://drupal.org.gr - -- - Frontend United - - https://www.frontendunited.com + - + - DrupalCon Lille + - https://events.drupal.org/lille2023 + - + - Panagiotis' BoF session + - https://events.drupal.org/lille2023/session/drupals-alternate-realities + - + - Panagiotis on Drupal.org (vensires) + - https://www.drupal.org/u/vensires + - + - E-Sepia + - https://www.e-sepia.gr + - + - Panagiotis on LinkedIn + - https://www.linkedin.com/in/panagiotis-moutsopoulos/ + - + - https://drupal.org.gr + - https://drupal.org.gr + - + - Frontend United + - https://www.frontendunited.com transistor: - id: 5f7e3397 + id: 5f7e3397 --- In this episode, Oliver is joined by Panagiotis Moutsopoulos to discuss about the whole first-time DrupalCon experience of Lille (France) and more specifically, his session Drupal’s Alternate Realities A BoF session presenting some history but mainly the different ways to tackle a problem in Drupal using different methodologies. diff --git a/source/_podcast_episodes/3-non-technical-contribution.md b/source/_podcast_episodes/3-non-technical-contribution.md index 77edae05..dc6ca2dc 100644 --- a/source/_podcast_episodes/3-non-technical-contribution.md +++ b/source/_podcast_episodes/3-non-technical-contribution.md @@ -2,42 +2,36 @@ date: 2023-11-24 topic: Community engagement for non-technical Drupal enthusiasts guests: - - Niklas Franke + - Niklas Franke links: - - - DrupalCon Lille - - https://events.drupal.org/lille2023 - - - - 'Beyond the code: Community engagement for non-technical Drupal enthusiasts' - - https://events.drupal.org/lille2023/session/beyond-code-community-engagement-non-technical-drupal-enthusiasts - - - - 'How to organise your own Splash Awards' - - https://events.drupal.org/lille2023/session/how-organise-your-own-splash-awards - - - - 'DrupalCon sponsored talk: What developers really want: Uncovering the essential work benefits for software developers (sponsored by Factorial)' - - https://events.drupal.org/lille2023/session/what-developers-really-want-uncovering-essential-work-benefits-software - - - - 'Splash Awards' - - https://www.drupal.org/community/splash-awards - - - - 'Splash Awards - Germany & Austria' - - https://splashawards.de - - - - 'Group module' - - https://www.drupal.org/project/group - - - - 'Niklas Franke on Drupal.org' - - https://www.drupal.org/u/heroicnick - - - - 'Factorial GmbH' - - https://www.factorial.io/en/drupal-agency - - - - 'Factorial GmbH on Drupal.org' - - https://www.drupal.org/factorial-gmbh - - - - 'Factorial on YouTube' - - https://www.youtube.com/channel/UCJslkuiIJLTRmYEvN2y-jzA + - + - DrupalCon Lille + - https://events.drupal.org/lille2023 + - + - 'Beyond the code: Community engagement for non-technical Drupal enthusiasts' + - https://events.drupal.org/lille2023/session/beyond-code-community-engagement-non-technical-drupal-enthusiasts + - + - 'How to organise your own Splash Awards' + - https://events.drupal.org/lille2023/session/how-organise-your-own-splash-awards + - + - 'DrupalCon sponsored talk: What developers really want: Uncovering the essential work benefits for software developers (sponsored by Factorial)' + - https://events.drupal.org/lille2023/session/what-developers-really-want-uncovering-essential-work-benefits-software + - + - 'Splash Awards' + - https://www.drupal.org/community/splash-awards + - 'Niklas Franke on Drupal.org' + - https://www.drupal.org/u/heroicnick + - + - 'Factorial GmbH' + - https://www.factorial.io/en/drupal-agency + - + - 'Factorial GmbH on Drupal.org' + - https://www.drupal.org/factorial-gmbh + - + - 'Factorial on YouTube' + - https://www.youtube.com/channel/UCJslkuiIJLTRmYEvN2y-jzA transistor: - id: 85bdc4c7 + id: 85bdc4c7 --- This week, Oliver is joined by Niklas Franke to discuss DrupalCon Lille, contributing to Drupal as a non-technical enthusiast, the Splash Awards and the Drupal community in Germany. diff --git a/source/_podcast_episodes/4-ed-crompton-oxfam-case-study.md b/source/_podcast_episodes/4-ed-crompton-oxfam-case-study.md index 2e2ebc13..d3e4408d 100644 --- a/source/_podcast_episodes/4-ed-crompton-oxfam-case-study.md +++ b/source/_podcast_episodes/4-ed-crompton-oxfam-case-study.md @@ -2,47 +2,47 @@ date: 2023-12-01 topic: A case study from Oxfam guests: - - Ed Crompton + - Ed Crompton transistor: - id: 0ff9802a + id: 0ff9802a links: - - - - Ed Crompton on Drupal.org - - https://www.drupal.org/u/eddie_c - - - - 'Oxfam country sites: From big bang to small batch delivery' - - https://www.linkedin.com/pulse/oxfam-country-sites-from-big-bang-small-batch-edward-crompton - - - - Oxfam.org - - https://www.oxfam.org/en - - - - https://cambodia.oxfam.org - - https://cambodia.oxfam.org - - - - Pattern Lab - - https://patternlab.io - - - - Fractal - - https://fractal.build - - - - Twig - - https://twig.symfony.com - - - - Working in small batches - - http://www.startuplessonslearned.com/2009/02/work-in-small-batches.html - - - - Behat - - http://www.behat.org - - - - Behat integration with Drupal - - https://www.drupal.org/project/behat - - - - phenaproxima on Drupal.org - - https://www.drupal.org/u/phenaproxima - - - - I've been using Behat wrong this whole time - - https://phenaproxima.net/2018/08/07/behat-insanity.html - - - - Drupal Test Traits - - https://gitlab.com/weitzman/drupal-test-traits + - + - Ed Crompton on Drupal.org + - https://www.drupal.org/u/eddie_c + - + - 'Oxfam country sites: From big bang to small batch delivery' + - https://www.linkedin.com/pulse/oxfam-country-sites-from-big-bang-small-batch-edward-crompton + - + - Oxfam.org + - https://www.oxfam.org/en + - + - https://cambodia.oxfam.org + - https://cambodia.oxfam.org + - + - Pattern Lab + - https://patternlab.io + - + - Fractal + - https://fractal.build + - + - Twig + - https://twig.symfony.com + - + - Working in small batches + - http://www.startuplessonslearned.com/2009/02/work-in-small-batches.html + - + - Behat + - http://www.behat.org + - + - Behat integration with Drupal + - https://www.drupal.org/project/behat + - + - phenaproxima on Drupal.org + - https://www.drupal.org/u/phenaproxima + - + - I've been using Behat wrong this whole time + - https://phenaproxima.net/2018/08/07/behat-insanity.html + - + - Drupal Test Traits + - https://gitlab.com/weitzman/drupal-test-traits --- diff --git a/source/_podcast_episodes/5-dieter-blomme-technical-debt.md b/source/_podcast_episodes/5-dieter-blomme-technical-debt.md index c03bbafe..61cafb2f 100644 --- a/source/_podcast_episodes/5-dieter-blomme-technical-debt.md +++ b/source/_podcast_episodes/5-dieter-blomme-technical-debt.md @@ -2,37 +2,38 @@ date: 2023-12-09 topic: Managing technical debt guests: - - Dieter Blomme + - Dieter Blomme transistor: - id: 40066a7f + id: 40066a7f links: - - - DrupalCon Lille - - https://events.drupal.org/lille2023 - - - - 'Managing technical debt: lessons learned and how modern Drupal helps you' - - https://events.drupal.org/lille2023/session/managing-technical-debt-lessons-learned-and-how-modern-drupal-helps-you - - - - Understanding Technical Debt in the Drupal ecosystem - - https://www.youtube.com/watch?v=1YSL4Be7jDY - - - - Dieter Blomme on Drupal.org - - https://www.drupal.org/u/daften - - - - Dropsolid website - - https://dropsolid.com/ - - - - Dropsolid on Drupal.org - - https://www.drupal.org/dropsolid - - - - Dropsolid on YouTube - - https://www.youtube.com/@dropsolid.experiencecompany - - - - DrupalCon session video - - https://youtu.be/S-B7_YiskVM - - - - Concerns vs objectives - - https://blog.holacracy.org/holacracy-basics-understanding-objections-d87b579d00d1 - - - - Decision by traffic light - - https://www.linkedin.com/pulse/decision-making-101-traffic-lights-puppy-case-study-valerio-magliulo + - + - DrupalCon Lille + - https://events.drupal.org/lille2023 + - + - 'Managing technical debt: lessons learned and how modern Drupal helps you' + - https://events.drupal.org/lille2023/session/managing-technical-debt-lessons-learned-and-how-modern-drupal-helps-you + - + - Understanding Technical Debt in the Drupal ecosystem + - https://www.youtube.com/watch?v=1YSL4Be7jDY + - + - Dieter Blomme on Drupal.org + - https://www.drupal.org/u/daften + - + - Dropsolid website + - https://dropsolid.com/ + - + - Dropsolid on Drupal.org + - https://www.drupal.org/dropsolid + - + - Dropsolid on YouTube + - https://www.youtube.com/@dropsolid.experiencecompany + - + - DrupalCon session video + - https://youtu.be/S-B7_YiskVM + - + - Concerns vs objectives + - https://blog.holacracy.org/holacracy-basics-understanding-objections-d87b579d00d1 + - + - Decision by traffic light + - https://www.linkedin.com/pulse/decision-making-101-traffic-lights-puppy-case-study-valerio-magliulo --- diff --git a/source/_podcast_episodes/6-dan-leech-php-tui.md b/source/_podcast_episodes/6-dan-leech-php-tui.md index 8fbfc226..e73e5f3d 100644 --- a/source/_podcast_episodes/6-dan-leech-php-tui.md +++ b/source/_podcast_episodes/6-dan-leech-php-tui.md @@ -2,48 +2,49 @@ date: 2023-12-19 topic: 'TUIs, CLIs and open-source' guests: - - Dan Leech + - Dan Leech transistor: - id: 45d57d43 + id: 45d57d43 links: - - - PHP TUI on GitHub - - https://github.com/php-tui - - - - Phpactor on GitHub - - https://github.com/phpactor - - - - PHPbench on GitHub - - https://github.com/phpbench - - - - Phpactor documentation - - https://phpactor.readthedocs.io - - - - PHPBench documentation - - https://phpbench.readthedocs.io - - - - Testing code performance with PHPBench - - https://youtu.be/-qxu6n9Q-3k?si=2N8Ee9GIgCul7_e1 - - - - PHP-TUI Progress - - https://www.dantleech.com/blog/2023/11/03/php-tui-progress - - - - PHP Term - - https://www.dantleech.com/blog/2023/11/27/php-term - - - - PHP Architecture Tester (phpat) - - https://github.com/carlosas/phpat - - - - Jess Archer - - https://jessarcher.com - - - - Neovim as a PHP and JavaScript IDE (Laracasts) - - https://laracasts.com/series/neovim-as-a-php-ide - - - - Laravel Prompts - - https://github.com/laravel/prompts - - - - Symfony Terminal component - - https://speakerdeck.com/fabpot/the-symfony-terminal-component + - + - PHP TUI on GitHub + - https://github.com/php-tui + - + - Phpactor on GitHub + - https://github.com/phpactor + - + - PHPbench on GitHub + - https://github.com/phpbench + - + - Phpactor documentation + - https://phpactor.readthedocs.io + - + - PHPBench documentation + - https://phpbench.readthedocs.io + - + - Testing code performance with PHPBench + - https://youtu.be/-qxu6n9Q-3k?si=2N8Ee9GIgCul7_e1 + - + - PHP-TUI Progress + - https://www.dantleech.com/blog/2023/11/03/php-tui-progress + - + - PHP Term + - https://www.dantleech.com/blog/2023/11/27/php-term + - + - PHP Architecture Tester (phpat) + - https://github.com/carlosas/phpat + - + - Jess Archer + - https://jessarcher.com + - + - Neovim as a PHP and JavaScript IDE (Laracasts) + - https://laracasts.com/series/neovim-as-a-php-ide + - + - Laravel Prompts + - https://github.com/laravel/prompts + - + - Symfony Terminal component + - https://speakerdeck.com/fabpot/the-symfony-terminal-component --- In this week's episode, Oliver is joined by Dan Leech to discuss building command-line applications and TUIs with PHP based on Dan's open-source projects - Phpactor, PHPBench and, most recently, PHP-TUI. diff --git a/source/_podcast_episodes/7-mike-karthauser-testing-legacy.md b/source/_podcast_episodes/7-mike-karthauser-testing-legacy.md index 838fce07..5173bae3 100644 --- a/source/_podcast_episodes/7-mike-karthauser-testing-legacy.md +++ b/source/_podcast_episodes/7-mike-karthauser-testing-legacy.md @@ -2,46 +2,46 @@ date: 2024-01-10 topic: Testing Legacy guests: - - Mike Karthauser + - Mike Karthauser transistor: - id: c264ca69 + id: c264ca69 links: -- - - Huboo - - https://huboo.com -- - - PHPUnit - - https://phpunit.de -- - - Laravel - - https://laravel.com -- - - Expression Engine - - https://expressionengine.com -- - - PHPBench - - https://phpbench.com -- - - Working in small batches - - http://www.startuplessonslearned.com/2009/02/work-in-small-batches.html -- - - Cyclomatic complexity - - https://en.wikipedia.org/wiki/Cyclomatic_complexity -- - - Shopify - - https://www.shopify.com -- - - Drupal Commerce - - https://drupalcommerce.org -- - - PHP South West - - https://phpsw.uk -- - - Automica labs - - https://automica.io -- - - Mike on LinkedIn - - https://www.linkedin.com/in/mikekarthauser + - + - Huboo + - https://huboo.com + - + - PHPUnit + - https://phpunit.de + - + - Laravel + - https://laravel.com + - + - Expression Engine + - https://expressionengine.com + - + - PHPBench + - https://phpbench.com + - + - Working in small batches + - http://www.startuplessonslearned.com/2009/02/work-in-small-batches.html + - + - Cyclomatic complexity + - https://en.wikipedia.org/wiki/Cyclomatic_complexity + - + - Shopify + - https://www.shopify.com + - + - Drupal Commerce + - https://drupalcommerce.org + - + - PHP South West + - https://phpsw.uk + - + - Automica labs + - https://automica.io + - + - Mike on LinkedIn + - https://www.linkedin.com/in/mikekarthauser --- Oliver and Mike discuss e-commerce, legacy code, technical debt, automated testing, test-driven development, refactoring, code vs. no-code solutions, and Mike's recent talk at PHP South West in Bristol. diff --git a/source/_podcast_episodes/8-eirik-morland-violinist.md b/source/_podcast_episodes/8-eirik-morland-violinist.md index 6b807404..249349d3 100644 --- a/source/_podcast_episodes/8-eirik-morland-violinist.md +++ b/source/_podcast_episodes/8-eirik-morland-violinist.md @@ -2,34 +2,34 @@ date: 2024-01-29 topic: Violinist and automation guests: - - Eirik Morland + - Eirik Morland transistor: - id: ba4405e5 + id: ba4405e5 links: - - - - violinist.io - - https://violinist.io - - - - Violinist on Drupal.org - - https://www.drupal.org/violinist - - - - Eirik on Drupal.org - - https://www.drupal.org/u/eiriksm - - - - Composer - - https://getcomposer.org - - - - Packagist - - https://packagist.org - - - - Private Packagist - - https://packagist.com - - - - Automatic Updates initiative - - https://www.drupal.org/about/core/strategic-initiatives/automatic-updates - - - - Logo is a conductor, not a composer - - https://github.com/composer/getcomposer.org/issues/36 + - + - violinist.io + - https://violinist.io + - + - Violinist on Drupal.org + - https://www.drupal.org/violinist + - + - Eirik on Drupal.org + - https://www.drupal.org/u/eiriksm + - + - Composer + - https://getcomposer.org + - + - Packagist + - https://packagist.org + - + - Private Packagist + - https://packagist.com + - + - Automatic Updates initiative + - https://www.drupal.org/about/core/strategic-initiatives/automatic-updates + - + - Logo is a conductor, not a composer + - https://github.com/composer/getcomposer.org/issues/36 --- Oliver and Eirik Morland discuss automated dependency updates with Violinist, PHP and Composer, why automation is good, and focusing on providing value for clients and customers. diff --git a/source/_podcast_episodes/9-tim-lehnen.md b/source/_podcast_episodes/9-tim-lehnen.md index 2b68acdb..72ae23f5 100644 --- a/source/_podcast_episodes/9-tim-lehnen.md +++ b/source/_podcast_episodes/9-tim-lehnen.md @@ -2,43 +2,43 @@ date: 2024-02-05 topic: The Drupal Association guests: - - Tim Lehnen + - Tim Lehnen links: - - - - Drupal Association - - https://www.drupal.org/association - - - - Drupal recognized as a Digital Public Good - - https://dri.es/drupal-recognized-as-a-digital-public-good - - - - Drupal Association elections - - https://www.drupal.org/association/board/elections - - - - Find a Drupal 7 migration partner - - https://www.drupal.org/about/drupal-7/d7eol/partners - - - - Join partner programs - - https://www.drupal.org/association/programs - - - - Drupal Events - - https://events.drupal.org - - - - Drupal Jobs - - https://jobs.drupal.org - - - - GitLab - - https://www.gitlab.com - - - - GitLab CI on Drupal.org - - https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-drupal/gitlab-ci - - - - Tim on Drupal.org - - https://www.drupal.org/u/hestenet - - - - Tim on Twitter - - https://twitter.com/TimLehnen + - + - Drupal Association + - https://www.drupal.org/association + - + - Drupal recognized as a Digital Public Good + - https://dri.es/drupal-recognized-as-a-digital-public-good + - + - Drupal Association elections + - https://www.drupal.org/association/board/elections + - + - Find a Drupal 7 migration partner + - https://www.drupal.org/about/drupal-7/d7eol/partners + - + - Join partner programs + - https://www.drupal.org/association/programs + - + - Drupal Events + - https://events.drupal.org + - + - Drupal Jobs + - https://jobs.drupal.org + - + - GitLab + - https://www.gitlab.com + - + - GitLab CI on Drupal.org + - https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-drupal/gitlab-ci + - + - Tim on Drupal.org + - https://www.drupal.org/u/hestenet + - + - Tim on Twitter + - https://twitter.com/TimLehnen transistor: - id: e5d5ba38 + id: e5d5ba38 --- This week, Oliver is joined by Tim Lehnen - the CTO of the Drupal Association. diff --git a/source/_talks/about-drupal-association.md b/source/_talks/about-drupal-association.md index 7ae33806..14ad8361 100644 --- a/source/_talks/about-drupal-association.md +++ b/source/_talks/about-drupal-association.md @@ -2,10 +2,10 @@ title: About the Drupal Association description: An impromptu talk about what the Drupal Association is, and what work I’ve been doing since I joined the Association staff. events: - - - name: South Wales Drupal user group (SWDUG) - location: Cardiff, UK - date: 2014-08-19 + - + name: South Wales Drupal user group (SWDUG) + location: Cardiff, UK + date: 2014-08-19 --- An impromptu talk about what the Drupal Association is, and what work I’ve been doing since I joined the Association staff. diff --git a/source/_talks/automated-testing-lightning-talk.md b/source/_talks/automated-testing-lightning-talk.md index 8ed50370..343be4bb 100644 --- a/source/_talks/automated-testing-lightning-talk.md +++ b/source/_talks/automated-testing-lightning-talk.md @@ -2,12 +2,12 @@ title: Automated testing crash course description: A crash course in automated testing with Drupal and test-driven development (lightning talk). events: - - - name: NWDUG - location: Manchester, UK - date: 2023-08-08 - url: https://www.meetup.com/nwdrupal/events/293429104 - online: true + - + name: NWDUG + location: Manchester, UK + date: 2023-08-08 + url: https://www.meetup.com/nwdrupal/events/293429104 + online: true --- A short talk introducing automated testing with Drupal and test-driven development. diff --git a/source/_talks/automated-testing-test-driven-development-drupal-8.md b/source/_talks/automated-testing-test-driven-development-drupal-8.md index 17c1d261..1ecd4cfc 100644 --- a/source/_talks/automated-testing-test-driven-development-drupal-8.md +++ b/source/_talks/automated-testing-test-driven-development-drupal-8.md @@ -2,19 +2,19 @@ title: Automated testing and Test-Driven Development in Drupal 8 description: A workshop that I gave about automated testing and test driven development in Drupal 8. events: - - - name: DrupalCamp NYC - location: New York, USA - url: https://2020.drupalcamp.nyc/training/automated-testing-and-test-driven-development-drupal-8 - date: 2020-11-14 - online: true - - - name: DrupalCamp London 2020 - location: London, UK - url: https://drupalcamp.london/training/Automated-Testing-and-Test-Driven-Development-in-Drupal-8 - date: 2020-03-13 - - - name: Drupal Bristol - location: Bristol, UK - date: 2018-06-27 + - + name: DrupalCamp NYC + location: New York, USA + url: https://2020.drupalcamp.nyc/training/automated-testing-and-test-driven-development-drupal-8 + date: 2020-11-14 + online: true + - + name: DrupalCamp London 2020 + location: London, UK + url: https://drupalcamp.london/training/Automated-Testing-and-Test-Driven-Development-in-Drupal-8 + date: 2020-03-13 + - + name: Drupal Bristol + location: Bristol, UK + date: 2018-06-27 --- diff --git a/source/_talks/building-build-configs.md b/source/_talks/building-build-configs.md index c4e9fc87..d4c5770a 100644 --- a/source/_talks/building-build-configs.md +++ b/source/_talks/building-build-configs.md @@ -2,27 +2,27 @@ title: Building "Build Configs" description: In this lightning talk, I discuss the "Build Configs" tool I've built to create configuration files. speakerdeck: - id: e1403f0dfd8245e5a71df9761dc6bc7b - ratio: "1.78343949044586" - url: https://speakerdeck.com/opdavies/building-build-configs + id: e1403f0dfd8245e5a71df9761dc6bc7b + ratio: "1.78343949044586" + url: https://speakerdeck.com/opdavies/building-build-configs video: ~ image: ~ events: - - - name: PHP Oxford - location: Oxford, UK - date: 2024-01-25 - url: https://www.meetup.com/php-oxford/events/297556113 - - - name: PHP UserGroup Munich - date: 2024-01-23 - url: https://www.meetup.com/phpugmunich/events/298411540 - online: true - - - name: PHP South West (PHPSW) - location: Bristol, UK - date: 2023-11-08 - url: https://www.meetup.com/php-sw/events/296917370 + - + name: PHP Oxford + location: Oxford, UK + date: 2024-01-25 + url: https://www.meetup.com/php-oxford/events/297556113 + - + name: PHP UserGroup Munich + date: 2024-01-23 + url: https://www.meetup.com/phpugmunich/events/298411540 + online: true + - + name: PHP South West (PHPSW) + location: Bristol, UK + date: 2023-11-08 + url: https://www.meetup.com/php-sw/events/296917370 --- [Build Configs](/build-configs) is a tool I've created for creating and managing customised per-project configuration files, such as Docker, Docker Compose, Nix Flakes, and PHPUnit and PHPStan configuration. diff --git a/source/_talks/building-presenting-slide-decks-rst2pdf.md b/source/_talks/building-presenting-slide-decks-rst2pdf.md index ce65ce0a..5bdef558 100644 --- a/source/_talks/building-presenting-slide-decks-rst2pdf.md +++ b/source/_talks/building-presenting-slide-decks-rst2pdf.md @@ -2,19 +2,19 @@ title: Building and presenting slide decks with rst2pdf description: A short talk on using reStructuredText and rst2pdf to build presentation slides, built with rst2pdf. speakerdeck: - id: 80498c7b5e7448f194091461cb14f1c1 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/building-and-presenting-slide-decks-with-rst2pdf + id: 80498c7b5e7448f194091461cb14f1c1 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/building-and-presenting-slide-decks-with-rst2pdf video: - id: KZ89tGG-p6M - type: youtube + id: KZ89tGG-p6M + type: youtube events: - - - name: PHP South Wales - location: Cardiff, UK - url: https://www.meetup.com/PHP-South-Wales/events/275625320 - date: 2021-01-28 - online: true + - + name: PHP South Wales + location: Cardiff, UK + url: https://www.meetup.com/PHP-South-Wales/events/275625320 + date: 2021-01-28 + online: true --- I've recently used [rst2pdf](https://rst2pdf.org) for building presentation slides. This short talk will show some examples of how I built and presented a slide deck using reStructuredText and rst2pdf. diff --git a/source/_talks/building-static-websites-sculpin.md b/source/_talks/building-static-websites-sculpin.md index 34cec172..3323773a 100644 --- a/source/_talks/building-static-websites-sculpin.md +++ b/source/_talks/building-static-websites-sculpin.md @@ -2,45 +2,45 @@ title: Building Static Websites with Sculpin description: How to use Sculpin to generate static HTML websites. speakerdeck: - id: 6c9c4be1a1344f1291ff13a391674a66 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/building-static-websites-with-sculpin + id: 6c9c4be1a1344f1291ff13a391674a66 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/building-static-websites-with-sculpin code: https://github.com/opdavies/sculpin-demo tags: [meetups, phpsw, sculpin] tweets: yes video: - type: youtube - id: xRTiWR9nBSA + type: youtube + id: xRTiWR9nBSA events: - - - name: PHP South West - date: 2024-02-14 - location: Bristol, UK - url: https://www.meetup.com/php-sw/events/298880313 - - - name: GroningenPHP - date: 2021-12-09 - location: Groningen, Netherlands - url: https://www.meetup.com/GroningenPHP/events/281648855 - online: true - - - name: PHP North West (PHPNW) - date: 2021-09-07 - location: Manchester, UK - url: https://www.phpnw.org.uk - online: true - - - name: Drupal Yorkshire - date: 2021-08-19 - location: Leeds, UK - url: https://www.meetup.com/DrupalYorkshire/events/280100968 - online: true - - - name: PHP South West - location: Bristol, UK - date: 2015-10-14 - url: https://phpsw.uk/events/2015-10-lightning-talks - joindin: https://joind.in/talk/view/15486 + - + name: PHP South West + date: 2024-02-14 + location: Bristol, UK + url: https://www.meetup.com/php-sw/events/298880313 + - + name: GroningenPHP + date: 2021-12-09 + location: Groningen, Netherlands + url: https://www.meetup.com/GroningenPHP/events/281648855 + online: true + - + name: PHP North West (PHPNW) + date: 2021-09-07 + location: Manchester, UK + url: https://www.phpnw.org.uk + online: true + - + name: Drupal Yorkshire + date: 2021-08-19 + location: Leeds, UK + url: https://www.meetup.com/DrupalYorkshire/events/280100968 + online: true + - + name: PHP South West + location: Bristol, UK + date: 2015-10-14 + url: https://phpsw.uk/events/2015-10-lightning-talks + joindin: https://joind.in/talk/view/15486 --- [Sculpin][0] is a static site generator written in PHP. It converts Markdown diff --git a/source/_talks/communities-contribution.md b/source/_talks/communities-contribution.md index 28926b4a..5ff42a93 100644 --- a/source/_talks/communities-contribution.md +++ b/source/_talks/communities-contribution.md @@ -2,15 +2,15 @@ title: Communities and contribution description: Why I mentor, why I've organised meetups and conferences, why I give talks, and why I maintain and contribute to open-source software. speakerdeck: - id: 63c2fcc2294641688f433d062282a968 - ratio: "1.78343949044586" - url: https://speakerdeck.com/opdavies/building-and-presenting-slide-decks-with-rst2pdf + id: 63c2fcc2294641688f433d062282a968 + ratio: "1.78343949044586" + url: https://speakerdeck.com/opdavies/building-and-presenting-slide-decks-with-rst2pdf events: - - - name: TechConnect London - location: London, UK - date: 2023-09-28 - url: https://www.eventbrite.co.uk/e/techconnect-london-tickets-698416712187 + - + name: TechConnect London + location: London, UK + date: 2023-09-28 + url: https://www.eventbrite.co.uk/e/techconnect-london-tickets-698416712187 --- I'm a self-taught Developer who's been writing code since 2007, working with and contributing to open-source technologies. I've been a mentor at events like DrupalCon and for bootcamps, including School of Code. diff --git a/source/_talks/configuring-all-the-things-drupal-8.md b/source/_talks/configuring-all-the-things-drupal-8.md index 49308e8f..70c198d5 100644 --- a/source/_talks/configuring-all-the-things-drupal-8.md +++ b/source/_talks/configuring-all-the-things-drupal-8.md @@ -2,16 +2,16 @@ title: "Configuring all the Things (in Drupal 8)" description: A short notice talk on configuration management in Drupal 8, and things I’ve learned working on my current Drupal 8 project. speakerdeck: - id: 6de3fe8947a34727b79eb9d9dcc66bf2 - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/configuring-all-the-things-in-drupal-8 + id: 6de3fe8947a34727b79eb9d9dcc66bf2 + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/configuring-all-the-things-in-drupal-8 video: ~ events: - - - name: Drupal Bristol - location: Bristol, UK - url: https://www.drupalbristol.org.uk - date: 2018-07-25 + - + name: Drupal Bristol + location: Bristol, UK + url: https://www.drupalbristol.org.uk + date: 2018-07-25 --- A short notice talk on configuration management in Drupal 8, and things I’ve learned working on my current Drupal 8 project. diff --git a/source/_talks/dancing-for-drupal.md b/source/_talks/dancing-for-drupal.md index a3222e46..40469b8f 100644 --- a/source/_talks/dancing-for-drupal.md +++ b/source/_talks/dancing-for-drupal.md @@ -4,15 +4,15 @@ description: A talk on Drupal, presented alongside others representing Umbraco, tags: [meetup, umbristol, drupal] tweets: yes speakerdeck: - id: ffa9b6dea6dc4a8eb207b9982ed6e1bd - ratio: "1.33333333333333" - url: https://speakerdeck.com/opdavies/umbristol-dancing-for-drupal + id: ffa9b6dea6dc4a8eb207b9982ed6e1bd + ratio: "1.33333333333333" + url: https://speakerdeck.com/opdavies/umbristol-dancing-for-drupal events: - - - name: umBristol - location: Bristol, UK - url: http://umbristol.co.uk - date: 2015-08-25 + - + name: umBristol + location: Bristol, UK + url: http://umbristol.co.uk + date: 2015-08-25 --- As part of their [CMS Dance-Off][1], I was selected to speak about Drupal alongside other speakers representing Umbraco, Sitecore and Episerver. diff --git a/source/_talks/decoupling-drupal-vuejs.md b/source/_talks/decoupling-drupal-vuejs.md index 16eb0a0a..cdc5d8ee 100644 --- a/source/_talks/decoupling-drupal-vuejs.md +++ b/source/_talks/decoupling-drupal-vuejs.md @@ -4,16 +4,16 @@ description: Decoupling Drupal with Vue.js. code: https://github.com/opdavies/blue-conf-2019 speakerdeck: - id: 60c8b7abdf194946b7a78a1bb74a0982 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/decoupling-drupal-with-vue-dot-js + id: 60c8b7abdf194946b7a78a1bb74a0982 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/decoupling-drupal-with-vue-dot-js events: - - - name: Blue Conf 2019 - location: Cardiff, UK - url: https://blueconf.co.uk - date: 2019-06-07 + - + name: Blue Conf 2019 + location: Cardiff, UK + url: https://blueconf.co.uk + date: 2019-06-07 --- Decoupled or headless Drupal has been a trend for a number of years, with modules like RESTful Web Services available for Drupal 7 to expose data, and Drupal 8 becoming more API-first with JSON:API module now included as part of core. This makes it easier for third party systems or alternative front-end applications to consume and work with the data provided by Drupal. diff --git a/source/_talks/deploying-drupal-fabric.md b/source/_talks/deploying-drupal-fabric.md index 8ecced35..d7500986 100644 --- a/source/_talks/deploying-drupal-fabric.md +++ b/source/_talks/deploying-drupal-fabric.md @@ -2,26 +2,26 @@ title: "Deploying Drupal with Fabric" description: How to use Fabric, a Python command line based library, to deploy your Drupal applications. meta: - og: - title: Deploying Drupal with Fabric - description: "You've built your Drupal site, now learn how to deploy it with Fabric." - type: website + og: + title: Deploying Drupal with Fabric + description: "You've built your Drupal site, now learn how to deploy it with Fabric." + type: website speakerdeck: - id: 40d1eca4bd484afc86295924fff5dd41 - ratio: "1.77777777777778" - url: "https://speakerdeck.com/opdavies/deploying-drupal-and-anything-else-with-fabric" - embed: '' + id: 40d1eca4bd484afc86295924fff5dd41 + ratio: "1.77777777777778" + url: "https://speakerdeck.com/opdavies/deploying-drupal-and-anything-else-with-fabric" + embed: '' events: - - - name: Drupal Somerset - location: Glastonbury, UK - date: 2017-10-26 - - - name: DrupalCamp Dublin 2017 - location: Dublin, Ireland - url: http://2017.drupal.ie - date: 2017-10-20 - time: "15:00 - 15:40" + - + name: Drupal Somerset + location: Glastonbury, UK + date: 2017-10-26 + - + name: DrupalCamp Dublin 2017 + location: Dublin, Ireland + url: http://2017.drupal.ie + date: 2017-10-20 + time: "15:00 - 15:40" --- You’ve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like “git pull” and “composer install” directly on the server (not recommended). diff --git a/source/_talks/deploying-php-ansible-ansistrano.md b/source/_talks/deploying-php-ansible-ansistrano.md index a61c4eb0..a8d2bcde 100644 --- a/source/_talks/deploying-php-ansible-ansistrano.md +++ b/source/_talks/deploying-php-ansible-ansistrano.md @@ -1,94 +1,95 @@ --- title: Deploying PHP applications with Ansible, Ansible Vault and Ansistrano description: | - How to use Ansible and Ansistrano to perform robust, secure deployments of - your PHP applications. + How to use Ansible and Ansistrano to perform robust, secure deployments of + your PHP applications. speakerdeck: - id: c11fe635ed8f4741b35bf3ebe53e8323 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/deploying-php-applications-with-ansible-ansible-vault-and-ansistrano + id: c11fe635ed8f4741b35bf3ebe53e8323 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/deploying-php-applications-with-ansible-ansible-vault-and-ansistrano video: - type: youtube - id: dQL-gOnxXCM + type: youtube + id: dQL-gOnxXCM events: - - - name: DrupalNYC - date: 2021-06-15 - location: New York, USA - url: https://ti.to/drupalnyc/lunch-learn-2021-06-15 - online: true - - - name: Ansible London - date: 2021-05-25 - location: London, UK - url: https://www.meetup.com/Ansible-London/events/278093392 - online: true - - - name: PHP Oxford - date: 2021-04-28 - location: Oxford, UK - url: https://www.meetup.com/PHP-Oxford/events/qmbkfsyccgblc - online: true - - - name: Midwest PHP - date: 2021-04-23 - url: https://midwestphp.org/talks/1q5XUF2tTdXXLYOoujMkpF/Deploying_PHP_applications_with_Ansible_Ansible_Vault_and_Ansistrano - online: true - - - name: PHP Sussex - date: 2020-07-01 - location: Brighton, UK - url: https://www.meetup.com/PHP-Sussex/events/271472628 - online: true - - - name: PHP North East - date: 2020-06-16 - location: Newcastle Upon Tyne, UK - url: https://www.meetup.com/phpnortheast - online: true - - - name: PHP London - date: 2020-06-04 - location: London, UK - url: https://www.meetup.com/phplondon/events/270930524 - online: true - - - name: Drupal Yorkshire - date: 2020-05-21 - location: Leeds, UK - url: https://www.meetup.com/DrupalYorkshire/events/zwzsfpybchbcc - online: true - - - name: CMS Philly - date: 2020-05-01 - location: Philadelphia, USA - url: https://cmsphilly.org - online: true - - - name: Drupal Edinburgh - date: 2020-03-12 - location: Edinburgh, UK - url: https://www.meetup.com/Drupal-Edinburgh/events/267905594 - online: true - - - name: Bristol Cloud Native & DevOps - date: 2020-01-30 - location: Bristol, UK - url: https://www.meetup.com/Bristol-Cloud-Native-DevOps/events/266609627 - - - name: DrupalCon Europe 2019 - date: 2019-10-30 - location: Amsterdam, NL - url: https://events.drupal.org/amsterdam2019 - - name: PHP South Wales - date: 2019-07-23 - location: Cardiff, UK - url: https://www.phpsouthwales.uk - - - name: Drupal Bristol - date: 2019-01-23 - location: Bristol, UK - url: https://www.drupalbristol.org.uk + - + name: DrupalNYC + date: 2021-06-15 + location: New York, USA + url: https://ti.to/drupalnyc/lunch-learn-2021-06-15 + online: true + - + name: Ansible London + date: 2021-05-25 + location: London, UK + url: https://www.meetup.com/Ansible-London/events/278093392 + online: true + - + name: PHP Oxford + date: 2021-04-28 + location: Oxford, UK + url: https://www.meetup.com/PHP-Oxford/events/qmbkfsyccgblc + online: true + - + name: Midwest PHP + date: 2021-04-23 + url: https://midwestphp.org/talks/1q5XUF2tTdXXLYOoujMkpF/Deploying_PHP_applications_with_Ansible_Ansible_Vault_and_Ansistrano + online: true + - + name: PHP Sussex + date: 2020-07-01 + location: Brighton, UK + url: https://www.meetup.com/PHP-Sussex/events/271472628 + online: true + - + name: PHP North East + date: 2020-06-16 + location: Newcastle Upon Tyne, UK + url: https://www.meetup.com/phpnortheast + online: true + - + name: PHP London + date: 2020-06-04 + location: London, UK + url: https://www.meetup.com/phplondon/events/270930524 + online: true + - + name: Drupal Yorkshire + date: 2020-05-21 + location: Leeds, UK + url: https://www.meetup.com/DrupalYorkshire/events/zwzsfpybchbcc + online: true + - + name: CMS Philly + date: 2020-05-01 + location: Philadelphia, USA + url: https://cmsphilly.org + online: true + - + name: Drupal Edinburgh + date: 2020-03-12 + location: Edinburgh, UK + url: https://www.meetup.com/Drupal-Edinburgh/events/267905594 + online: true + - + name: Bristol Cloud Native & DevOps + date: 2020-01-30 + location: Bristol, UK + url: https://www.meetup.com/Bristol-Cloud-Native-DevOps/events/266609627 + - + name: DrupalCon Europe 2019 + date: 2019-10-30 + location: Amsterdam, NL + url: https://events.drupal.org/amsterdam2019 + - + name: PHP South Wales + date: 2019-07-23 + location: Cardiff, UK + url: https://www.phpsouthwales.uk + - + name: Drupal Bristol + date: 2019-01-23 + location: Bristol, UK + url: https://www.drupalbristol.org.uk --- Great! You’ve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like `git pull` and `composer install` directly on the server which is not ideal. diff --git a/source/_talks/deploying-php-fabric.md b/source/_talks/deploying-php-fabric.md index 8d90e391..a39252cd 100644 --- a/source/_talks/deploying-php-fabric.md +++ b/source/_talks/deploying-php-fabric.md @@ -2,40 +2,40 @@ title: Deploying PHP Applications with Fabric description: How to use Fabric, a Python command line based library, to deploy your PHP applications. speakerdeck: - id: c147618ce07546ca92f92983c52d6a41 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/deploying-php-applications-with-fabric + id: c147618ce07546ca92f92983c52d6a41 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/deploying-php-applications-with-fabric tags: [meetup, conference, php, fabric] meta: - og: - title: Deploying PHP Applcations with Fabric - description: "You've built your PHP application, now learn how to deploy it with Fabric." - type: website - image: - url: '%site.assets_url%/assets/images/talks/deploying-php-fabric.png' - width: 2560 - height: 1440 - type: image/png + og: + title: Deploying PHP Applcations with Fabric + description: "You've built your PHP application, now learn how to deploy it with Fabric." + type: website + image: + url: '%site.assets_url%/assets/images/talks/deploying-php-fabric.png' + width: 2560 + height: 1440 + type: image/png events: - - - name: PHP North West 2017 - location: Manchester, UK - date: 2017-10-01 - time: "09:00 - 09:45" - url: http://conference.phpnw.org.uk/phpnw17 - joindin: https://joind.in/talk/4e35d - - - name: PHP South West - location: Bristol, UK - url: https://phpsw.uk - date: 2017-09-13 - joindin: https://joind.in/talk/a5ff3 - - - name: Nomad PHP - date: 2017-04-20 - time: "19:00 (CET)" - url: https://nomadphp.com - online: true + - + name: PHP North West 2017 + location: Manchester, UK + date: 2017-10-01 + time: "09:00 - 09:45" + url: http://conference.phpnw.org.uk/phpnw17 + joindin: https://joind.in/talk/4e35d + - + name: PHP South West + location: Bristol, UK + url: https://phpsw.uk + date: 2017-09-13 + joindin: https://joind.in/talk/a5ff3 + - + name: Nomad PHP + date: 2017-04-20 + time: "19:00 (CET)" + url: https://nomadphp.com + online: true --- You’ve built your application, and now you just need to deploy it. There are various ways that this could be done – from (S)FTP, to SCP and rsync, to running commands like “git pull” and “composer install” directly on the server (not recommended). diff --git a/source/_talks/drupal-8-module-development.md b/source/_talks/drupal-8-module-development.md index 7a6b5e31..78d6cb1f 100644 --- a/source/_talks/drupal-8-module-development.md +++ b/source/_talks/drupal-8-module-development.md @@ -5,25 +5,25 @@ tags: [conference, php, drupal, drupalcamp, drupal-8] tweets: yes code: https://github.com/opdavies/dclondon16-d8-module speakerdeck: - id: 0041804e52664d12a8e31cd118264813 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/getting-started-with-drupal-8-module-development + id: 0041804e52664d12a8e31cd118264813 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/getting-started-with-drupal-8-module-development video: - type: youtube - id: qO_Wh5WE3VA + type: youtube + id: qO_Wh5WE3VA meta: - og: - title: Getting Started with Drupal 8 Module Development - image: - url: '%site.assets_url%/assets/images/talks/dclondon16.png' - type: "image/png" - height: 540 - width: 960 + og: + title: Getting Started with Drupal 8 Module Development + image: + url: '%site.assets_url%/assets/images/talks/dclondon16.png' + type: "image/png" + height: 540 + width: 960 events: - - - name: DrupalCamp London 2016 - location: London, UK - date: 2016-03-05 + - + name: DrupalCamp London 2016 + location: London, UK + date: 2016-03-05 --- New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you! diff --git a/source/_talks/drupal-8-php-libraries-drupalorg-api.md b/source/_talks/drupal-8-php-libraries-drupalorg-api.md index a16404fd..dd240905 100644 --- a/source/_talks/drupal-8-php-libraries-drupalorg-api.md +++ b/source/_talks/drupal-8-php-libraries-drupalorg-api.md @@ -2,30 +2,30 @@ title: Having Fun with Drupal 8, PHP libraries and the Drupal.org API description: A crash course in developing PHP packages and Drupal 8 modules, based on the Drupal.org API. speakerdeck: - id: 6e42ae9620bb4e91b3955f8c30d66934 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/having-fun-with-drupal-8-php-libraries-and-the-drupal-dot-org-api + id: 6e42ae9620bb4e91b3955f8c30d66934 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/having-fun-with-drupal-8-php-libraries-and-the-drupal-dot-org-api image: - url: '%site.assets_url%/assets/images/talks/having-fun-drupalorg-api.png' - width: 2000 - height: 1125 - type: image/png + url: '%site.assets_url%/assets/images/talks/having-fun-drupalorg-api.png' + width: 2000 + height: 1125 + type: image/png video: - type: youtube - id: JyDjC7gGDpU + type: youtube + id: JyDjC7gGDpU events: - - - name: DrupalCamp London 2019 - location: London, UK - url: http://drupalcamp.london - date: 2019-03-03 - time: "12:05 - 12:50" - - - name: Drupal Bristol - location: Bristol, UK - url: https://www.drupalbristol.org.uk - date: 2018-04-18 - joindin: https://joind.in/talk/14851 + - + name: DrupalCamp London 2019 + location: London, UK + url: http://drupalcamp.london + date: 2019-03-03 + time: "12:05 - 12:50" + - + name: Drupal Bristol + location: Bristol, UK + url: https://www.drupalbristol.org.uk + date: 2018-04-18 + joindin: https://joind.in/talk/14851 --- A overview and demo of some of the open source projects that I’ve been working on lately that are based on information from the Drupal.org API, including a PHP library for the API itself as well as some Drupal 8 modules that use it. diff --git a/source/_talks/drupal-8-rejoining-the-herd.md b/source/_talks/drupal-8-rejoining-the-herd.md index c61e9176..3299245d 100644 --- a/source/_talks/drupal-8-rejoining-the-herd.md +++ b/source/_talks/drupal-8-rejoining-the-herd.md @@ -3,16 +3,16 @@ title: "Drupal 8: Rejoining the Herd" description: A talk highlighting some of the recent technical and non-technical changes in Drupal 8. tags: [conference, php, drupal, drupal-8] speakerdeck: - id: 440fd6592f474741bc606c96bc32c104 - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd + id: 440fd6592f474741bc606c96bc32c104 + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd events: - - - name: PHP South Coast 2016 - location: Portsmouth, UK - url: http://2016.phpsouthcoast.co.uk - date: 2016-06-11 - joindin: https://joind.in/talk/41d0f + - + name: PHP South Coast 2016 + location: Portsmouth, UK + url: http://2016.phpsouthcoast.co.uk + date: 2016-06-11 + joindin: https://joind.in/talk/41d0f --- [Drupal 8][0] was (finally) released on November 19th 2015, after almost 4 years of work and code commits by over 3,200 different contributors. Whilst it’s pretty much the same as the Drupal that we know and, hopefully, love, a lot has changed behind the scenes and under the hood! diff --git a/source/_talks/drupal-8.md b/source/_talks/drupal-8.md index 3238e1b6..3853f8e9 100644 --- a/source/_talks/drupal-8.md +++ b/source/_talks/drupal-8.md @@ -1,22 +1,22 @@ --- title: Drupal 8 description: - A lightning talk presented to the PHPSW user group, highlighting some of the - relevant changes in Drupal 8. + A lightning talk presented to the PHPSW user group, highlighting some of the + relevant changes in Drupal 8. speakerdeck: - url: https://speakerdeck.com/opdavies/drupal-8 - id: 46ba4ba577d94a32b7abdade610ceb69 - ratio: "1.29456384323641" + url: https://speakerdeck.com/opdavies/drupal-8 + id: 46ba4ba577d94a32b7abdade610ceb69 + ratio: "1.29456384323641" video: - type: youtube - id: 36zCxPrOOzM + type: youtube + id: 36zCxPrOOzM tweets: yes events: - - - name: PHP South West - location: Bristol, UK - url: https://phpsw.uk - date: 2015-04-08 + - + name: PHP South West + location: Bristol, UK + url: https://phpsw.uk + date: 2015-04-08 --- This was a ten minute lightning talk, designed to highlight the major changes diff --git a/source/_talks/drupal-ldap-module.md b/source/_talks/drupal-ldap-module.md index 3f272fbc..90c915d9 100644 --- a/source/_talks/drupal-ldap-module.md +++ b/source/_talks/drupal-ldap-module.md @@ -2,10 +2,10 @@ title: Drupal and the LDAP module description: A review and demonstration of some of the recent single sign-on work that I did using Drupal’s LDAP module. events: - - - name: South Wales Drupal user group (SWDUG) - location: Cardiff, UK - date: 2013-07-10 + - + name: South Wales Drupal user group (SWDUG) + location: Cardiff, UK + date: 2013-07-10 --- A review and demonstration of some of the recent single sign-on work that I did using Drupal’s LDAP module. diff --git a/source/_talks/drupal-vm-generator.md b/source/_talks/drupal-vm-generator.md index f26e38b4..3fd6f39a 100644 --- a/source/_talks/drupal-vm-generator.md +++ b/source/_talks/drupal-vm-generator.md @@ -5,23 +5,23 @@ type: Lightning talk code: https://github.com/opdavies/drupal-vm-generator tags: [drupal-vm, drupal-vm-generator, meetup, symfony] speakerdeck: - id: a27ee1d2bfed4a209dc395fa455acb41 - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/bristol-dug-drupal-vm-generator + id: a27ee1d2bfed4a209dc395fa455acb41 + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/bristol-dug-drupal-vm-generator video: - type: youtube - id: U1pbKAAO2Wo + type: youtube + id: U1pbKAAO2Wo events: - - - name: Drupal Bristol - location: Bristol, UK - url: https://www.drupalbristol.org.uk - date: 2016-04-02 - - - name: NWDUG - url: http://nwdrupal.org.uk - location: Manchester, UK - date: 2016-03-08 + - + name: Drupal Bristol + location: Bristol, UK + url: https://www.drupalbristol.org.uk + date: 2016-04-02 + - + name: NWDUG + url: http://nwdrupal.org.uk + location: Manchester, UK + date: 2016-03-08 --- An short talk about the [Drupal VM Generator][1] project. diff --git a/source/_talks/drupal-vm-meet-symfony-console.md b/source/_talks/drupal-vm-meet-symfony-console.md index a95451ad..7b5e9da6 100644 --- a/source/_talks/drupal-vm-meet-symfony-console.md +++ b/source/_talks/drupal-vm-meet-symfony-console.md @@ -2,15 +2,15 @@ title: Drupal VM, Meet Symfony Console description: How to develop command line applications using Symfony Console, using the Drupal VM CLI as an example. speakerdeck: - id: 56c79770f73f4e47a542a30243437c49 - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/drupal-vm-meet-symfony-console + id: 56c79770f73f4e47a542a30243437c49 + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/drupal-vm-meet-symfony-console image: drupal-vm-meet-symfony-console.png events: - - - name: DrupalCamp Bristol 2016 - location: Bristol, UK - date: 2016-07-23 + - + name: DrupalCamp Bristol 2016 + location: Bristol, UK + date: 2016-07-23 --- _TL;DR - Come and learn about Symfony Console, with examples from a real-world diff --git a/source/_talks/drupalorg-2015.md b/source/_talks/drupalorg-2015.md index 2bc6868c..a7c3144f 100644 --- a/source/_talks/drupalorg-2015.md +++ b/source/_talks/drupalorg-2015.md @@ -3,18 +3,18 @@ title: "Drupal.org in 2015: What's Coming Next" description: A retrospective of the Drupal Association’s work in 2014 and a look forward to what we’ll be working on in 2015. tags: [conference, drupalcamp, drupalcamp-london, drupal-association] speakerdeck: - id: 0cf8d7b647c94ae289e9db2b46a9e8f2 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/drupal-dot-org-in-14 + id: 0cf8d7b647c94ae289e9db2b46a9e8f2 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/drupal-dot-org-in-14 events: - - - name: DrupalCamp London 2015 - location: London, UK - date: 2015-02-28 - - - name: DrupalCamp Brighton - location: Brighton, UK - date: 2015-01-18 + - + name: DrupalCamp London 2015 + location: London, UK + date: 2015-02-28 + - + name: DrupalCamp Brighton + location: Brighton, UK + date: 2015-01-18 --- A retrospective of the Drupal Association’s work in 2014 and a look forward to what we’ll be working on in 2015. diff --git a/source/_talks/drush-make-drupalbristol.md b/source/_talks/drush-make-drupalbristol.md index 2f24ee65..40b7cac3 100644 --- a/source/_talks/drush-make-drupalbristol.md +++ b/source/_talks/drush-make-drupalbristol.md @@ -2,15 +2,15 @@ title: drush make drupalbristol description: How to Drush Make to build your Drupal websites. speakerdeck: - id: 42605700f102013198de5a5f6f23ab67 - ratio: "1.29456384323641" - url: https://speakerdeck.com/opdavies/drush-make-drupalbristol + id: 42605700f102013198de5a5f6f23ab67 + ratio: "1.29456384323641" + url: https://speakerdeck.com/opdavies/drush-make-drupalbristol events: - - - name: Drupal Bristol - location: Bristol, UK - url: https://www.drupalbristol.org.uk - date: 2014-08-19 + - + name: Drupal Bristol + location: Bristol, UK + url: https://www.drupalbristol.org.uk + date: 2014-08-19 --- An introduction to Drush Make and how to use it to build reusable custom installation profiles or entire websites. diff --git a/source/_talks/getting-your-data-into-drupal-8.md b/source/_talks/getting-your-data-into-drupal-8.md index 59e0a32a..eee4fbf0 100644 --- a/source/_talks/getting-your-data-into-drupal-8.md +++ b/source/_talks/getting-your-data-into-drupal-8.md @@ -2,34 +2,34 @@ title: Getting (Your Data) Into Drupal 8 description: An overview of Drupal’s Migrate functionality, and a look at how to write your own migrations. speakerdeck: - id: 63e5dfce996e46699e304d50e896477b - ratio: "1.77777777777778" - url: "https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal_bristol" + id: 63e5dfce996e46699e304d50e896477b + ratio: "1.77777777777778" + url: "https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal_bristol" video: - type: youtube - id: jtmARTuYhp8 + type: youtube + id: jtmARTuYhp8 tags: [drupalcamp, migration, drupal-8] meta: - og: - title: Getting (Your Data) into Drupal 8 - description: "How I migrated the Drupal Bristol website onto Drupal 8." - type: website - image: - url: '%site.assets_url%/assets/images/talks/getting-your-data-into-drupal-8.png' - width: 2560 - height: 1440 - type: image/png + og: + title: Getting (Your Data) into Drupal 8 + description: "How I migrated the Drupal Bristol website onto Drupal 8." + type: website + image: + url: '%site.assets_url%/assets/images/talks/getting-your-data-into-drupal-8.png' + width: 2560 + height: 1440 + type: image/png events: - - - name: DrupalCamp London 2017 - date: 2017-03-04 - time: "12:05 - 12:50" - location: London, UK - - - name: Drupal Bristol - date: 2017-01-18 - location: Bristol, UK - url: https://www.drupalbristol.org.uk + - + name: DrupalCamp London 2017 + date: 2017-03-04 + time: "12:05 - 12:50" + location: London, UK + - + name: Drupal Bristol + date: 2017-01-18 + location: Bristol, UK + url: https://www.drupalbristol.org.uk --- If you’ve moved a site from Drupal 6 to 7, the chances are that you’ve either used the upgrade path to update your old site in-place, or you built a new site from scratch and used the Migrate module from contrib to migrate your data from the old database. diff --git a/source/_talks/git-flow.md b/source/_talks/git-flow.md index 6a3b1a19..c41a6667 100644 --- a/source/_talks/git-flow.md +++ b/source/_talks/git-flow.md @@ -2,18 +2,18 @@ title: Never Commit to Master - An Introduction to Git Flow description: An introduction to and demonstration of the Git Flow branching model. speakerdeck: - id: 201559e0f103013198dd5a5f6f23ab67 - ratio: "1.29456384323641" - url: https://speakerdeck.com/opdavies/never-commit-to-master-an-introduction-to-git-flow + id: 201559e0f103013198dd5a5f6f23ab67 + ratio: "1.29456384323641" + url: https://speakerdeck.com/opdavies/never-commit-to-master-an-introduction-to-git-flow video: - type: youtube - id: T-miCpHxfds + type: youtube + id: T-miCpHxfds tweets: yes events: - - - name: DrupalCamp London 2014 - location: London, UK - date: 2014-03-01 + - + name: DrupalCamp London 2014 + location: London, UK + date: 2014-03-01 --- An introduction to the Git Flow branching model and the git-flow plugin, and how I’ve used them to manage a Drupal development project. diff --git a/source/_talks/goodbye-drush-make-hello-composer.md b/source/_talks/goodbye-drush-make-hello-composer.md index b90ab39e..5db4e21e 100644 --- a/source/_talks/goodbye-drush-make-hello-composer.md +++ b/source/_talks/goodbye-drush-make-hello-composer.md @@ -3,25 +3,25 @@ title: Goodbye Drush Make. Hello Composer! description: How to use Composer to manage your Drupal applications. tags: ["meetup", "drupal", "composer"] speakerdeck: - id: 1c1e0e129ab34816bd4c4edb5f6642c2 - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/goodbye-drush-make-hello-composer + id: 1c1e0e129ab34816bd4c4edb5f6642c2 + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/goodbye-drush-make-hello-composer video: - type: youtube - id: ZL2FtRTX9Y8 + type: youtube + id: ZL2FtRTX9Y8 events: - - - name: PHP UK Conference 2018 - location: London, UK - date: 2018-02-16 - time: "14:40 - 15:40" - url: https://www.phpconference.co.uk - joindin: https://joind.in/talk/650ab - - - name: Drupal Bristol - location: Bristol, UK - url: https://www.drupalbristol.org.uk - date: 2016-11-17 + - + name: PHP UK Conference 2018 + location: London, UK + date: 2018-02-16 + time: "14:40 - 15:40" + url: https://www.phpconference.co.uk + joindin: https://joind.in/talk/650ab + - + name: Drupal Bristol + location: Bristol, UK + url: https://www.drupalbristol.org.uk + date: 2016-11-17 --- One of the main outcomes of Drupal 8 was “getting off the island” with third-party code included in core and adopting modern best practices from the wider PHP ecosystem - including [Composer][1], PHP’s dependency manager. diff --git a/source/_talks/introduction-to-mob-programming.md b/source/_talks/introduction-to-mob-programming.md index 9a49e7b1..96c6535b 100644 --- a/source/_talks/introduction-to-mob-programming.md +++ b/source/_talks/introduction-to-mob-programming.md @@ -1,17 +1,17 @@ --- title: An introduction to mob programming description: | - What is mob programming, how does it work, and why should we do it? + What is mob programming, how does it work, and why should we do it? speakerdeck: - id: f37b16f915d64bc0b4a20f9f965e5353 - ratio: '1.77725118483412' - url: https://speakerdeck.com/opdavies/an-introduction-to-mob-programming + id: f37b16f915d64bc0b4a20f9f965e5353 + ratio: '1.77725118483412' + url: https://speakerdeck.com/opdavies/an-introduction-to-mob-programming events: - - - name: PHP South Wales - location: Cardiff, Wales - date: '2022-09-28' - url: https://www.meetup.com/php-south-wales/events/288359737 + - + name: PHP South Wales + location: Cardiff, Wales + date: '2022-09-28' + url: https://www.meetup.com/php-south-wales/events/288359737 --- Pair and mob programming are collaborative approaches to software development where tasks are completed in small groups instead of by individuals. diff --git a/source/_talks/it-all-started-with-a-patch.md b/source/_talks/it-all-started-with-a-patch.md index 335d6c6b..80afc915 100644 --- a/source/_talks/it-all-started-with-a-patch.md +++ b/source/_talks/it-all-started-with-a-patch.md @@ -2,18 +2,18 @@ title: It All Started With A Patch description: A lightning talk on how and why to get involved with open source. speakerdeck: - id: 5862bdecb7a24cfaa5fc844696fafa0c - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/it-all-started-with-a-patch-phpsw + id: 5862bdecb7a24cfaa5fc844696fafa0c + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/it-all-started-with-a-patch-phpsw video: - type: youtube - id: 5FYMRR61sdo + type: youtube + id: 5FYMRR61sdo events: - - - name: PHP South West - location: Bristol, UK - url: https://phpsw.uk - date: 2017-02-08 + - + name: PHP South West + location: Bristol, UK + url: https://phpsw.uk + date: 2017-02-08 --- A crash course of why and how to get involved with open source. diff --git a/source/_talks/modern-drupal-development-with-composer.md b/source/_talks/modern-drupal-development-with-composer.md index 0fb503b8..ce4a7163 100644 --- a/source/_talks/modern-drupal-development-with-composer.md +++ b/source/_talks/modern-drupal-development-with-composer.md @@ -4,18 +4,18 @@ description: A lightning talk on how to use Composer to manage your Drupal proje type: Lightning talk tags: ["meetups", "phpsw", "drupal", "composer"] speakerdeck: - id: 7a1358502526425a9cfd288f85fb32f3 - ratio: "1.37081659973226" - url: https://speakerdeck.com/opdavies/modern-drupal-development-with-composer + id: 7a1358502526425a9cfd288f85fb32f3 + ratio: "1.37081659973226" + url: https://speakerdeck.com/opdavies/modern-drupal-development-with-composer video: - type: youtube - id: Yi_FPI3xHwc + type: youtube + id: Yi_FPI3xHwc events: - - - name: PHP South West - location: Bristol, UK - url: https://phpsw.uk - date: 2016-11-09 + - + name: PHP South West + location: Bristol, UK + url: https://phpsw.uk + date: 2016-11-09 --- Building a Drupal application? You no longer need to download archives to add new modules or update core, or deal with Drupal specific tools to manage your codebase. diff --git a/source/_talks/out-of-the-box-initiative-update.md b/source/_talks/out-of-the-box-initiative-update.md index 5a365d6a..be50a807 100644 --- a/source/_talks/out-of-the-box-initiative-update.md +++ b/source/_talks/out-of-the-box-initiative-update.md @@ -2,16 +2,16 @@ title: Out of the Box Initiative Update description: An update on Drupal’s "out of the box" initiative, and core’s new Umami installation profile. speakerdeck: - id: 3f66c48653f44ed4867fc3cc05c1db06 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/out-of-the-box-initiative-update + id: 3f66c48653f44ed4867fc3cc05c1db06 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/out-of-the-box-initiative-update video: ~ events: - - - name: Drupal Bristol - location: Bristol, UK - url: https://www.drupalbristol.org.uk - date: 2019-03-27 + - + name: Drupal Bristol + location: Bristol, UK + url: https://www.drupalbristol.org.uk + date: 2019-03-27 --- From the [DrupalCamp London website](https://drupalcamp.london/session/out-box-initiative-update): diff --git a/source/_talks/so-what-is-this-drupal-thing.md b/source/_talks/so-what-is-this-drupal-thing.md index fdcb41af..e8b0b89d 100644 --- a/source/_talks/so-what-is-this-drupal-thing.md +++ b/source/_talks/so-what-is-this-drupal-thing.md @@ -2,14 +2,14 @@ title: So, what is this Drupal thing? description: My first talk, where I talk about Drupal, what it is and what it can do. video: - type: vimeo - id: '49827006' + type: vimeo + id: '49827006' events: - - - name: unified.diff - location: Cardiff, UK - url: http://unifieddiff.co.uk - date: 2012-09-05 + - + name: unified.diff + location: Cardiff, UK + url: http://unifieddiff.co.uk + date: 2012-09-05 --- My very first talk, where I talk about Drupal, what it is and what it can do. diff --git a/source/_talks/soar-with-tailwind-css.md b/source/_talks/soar-with-tailwind-css.md index 0afd858f..672bc1d9 100644 --- a/source/_talks/soar-with-tailwind-css.md +++ b/source/_talks/soar-with-tailwind-css.md @@ -2,11 +2,11 @@ title: Soaring with Tailwind CSS type: workshop description: | - A workshop about Tailwind CSS and utility-first styles. + A workshop about Tailwind CSS and utility-first styles. events: - - - name: DrupalCamp Florida - url: https://www.fldrupal.camp/training/soaring-utility-css-and-tailwind - date: 2021-02-18 - online: true + - + name: DrupalCamp Florida + url: https://www.fldrupal.camp/training/soaring-utility-css-and-tailwind + date: 2021-02-18 + online: true --- diff --git a/source/_talks/taking-flight-with-tailwind-css.md b/source/_talks/taking-flight-with-tailwind-css.md index 8c028132..8f715bbf 100644 --- a/source/_talks/taking-flight-with-tailwind-css.md +++ b/source/_talks/taking-flight-with-tailwind-css.md @@ -1,113 +1,109 @@ --- title: Taking Flight with Tailwind CSS description: - An introduction to the utility-first approach to writing CSS with a focus on the Tailwind CSS framework. + An introduction to the utility-first approach to writing CSS with a focus on the Tailwind CSS framework. speakerdeck: - id: 10ca51f23560443d83b898a92929b4b3 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/taking-flight-with-tailwind-css + id: 10ca51f23560443d83b898a92929b4b3 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/taking-flight-with-tailwind-css video: - id: C20QZbGlmZ8 - type: youtube + id: C20QZbGlmZ8 + type: youtube tags: [css, tailwind, meetup] events: - - - name: Norfolk Developers Conference - location: Norwich, UK - date: 2023-02-23 - url: https://nordevcon.com - - - name: Bristol Software Development Meetup - location: Bristol, UK - date: 2023-02-16 - url: https://www.meetup.com/south-wales-tech/events/291092930 - - - name: Nashville PHP - location: Nashville, TN, USA - date: 2021-02-09 - url: https://www.meetup.com/nashvillephp/events/kzkdwryccdbmb - online: true - - - name: PHP Cambridge - location: Cambridge, UK - date: 2021-01-19 - url: https://www.meetup.com/phpcambridge - online: true - - - name: "Drupal Virtual Cafe #3" - location: Kyiv, Ukraine - date: 2020-10-15 - url: https://groups.drupal.org/ukraine - online: true - - - name: Bristol JS - location: Bristol, UK - date: 2020-09-30 - url: https://techtalks.io/events/f8e26038-2561-484e-8a74-7a1e3a0369b8 - online: true - - - name: DigitalCamp Atlanta 2020 - location: Atlanta, GA - date: 2020-09-11 - url: https://www.drupalcampatlanta.com/2020/sessions/taking-flight-tailwind-css - online: true - - - name: Drupal Yorkshire - location: Leeds, UK - date: 2020-08-20 - url: https://www.meetup.com/DrupalYorkshire/events/zwzsfpybclbbc - online: true - - - name: PHP Hampshire - location: Portsmouth, UK - date: 2020-07-08 - url: https://www.meetup.com/meetup-group-yzpbvTYv/events/271430269 - online: true - - - name: CMS Philly - location: Philadelphia, USA - date: 2020-05-01 - url: https://cmsphilly.org - online: true - - - name: Blue Conf 2019 - location: Cardiff, UK - date: 2019-06-07 - url: https://blueconf.co.uk - - - name: WordCamp Bristol 2019 - location: Bristol, UK - date: 2019-05-18 - url: https://2019.bristol.wordcamp.org - - - name: Cheltenham WordPress Meetup - location: Cheltenham, UK - date: 2019-04-17 - url: https://www.meetup.com/Cheltenham-WordPress-Meetup - - - name: PHP South Wales - location: Cardiff, UK - date: 2018-07-31 - url: https://www.phpsouthwales.uk - - - name: Drupal Bristol - location: Bristol, UK - date: 2018-01-17 - url: https://www.drupalbristol.org.uk - - name: Drupal Bristol - location: Bristol, UK - date: 2018-01-17 - url: https://www.drupalbristol.org.uk + - + name: Norfolk Developers Conference + location: Norwich, UK + date: 2023-02-23 + url: https://nordevcon.com + - + name: Bristol Software Development Meetup + location: Bristol, UK + date: 2023-02-16 + url: https://www.meetup.com/south-wales-tech/events/291092930 + - + name: Nashville PHP + location: Nashville, TN, USA + date: 2021-02-09 + url: https://www.meetup.com/nashvillephp/events/kzkdwryccdbmb + online: true + - + name: PHP Cambridge + location: Cambridge, UK + date: 2021-01-19 + url: https://www.meetup.com/phpcambridge + online: true + - + name: "Drupal Virtual Cafe #3" + location: Kyiv, Ukraine + date: 2020-10-15 + url: https://groups.drupal.org/ukraine + online: true + - + name: Bristol JS + location: Bristol, UK + date: 2020-09-30 + url: https://techtalks.io/events/f8e26038-2561-484e-8a74-7a1e3a0369b8 + online: true + - + name: DigitalCamp Atlanta 2020 + location: Atlanta, GA + date: 2020-09-11 + url: https://www.drupalcampatlanta.com/2020/sessions/taking-flight-tailwind-css + online: true + - + name: Drupal Yorkshire + location: Leeds, UK + date: 2020-08-20 + url: https://www.meetup.com/DrupalYorkshire/events/zwzsfpybclbbc + online: true + - + name: PHP Hampshire + location: Portsmouth, UK + date: 2020-07-08 + url: https://www.meetup.com/meetup-group-yzpbvTYv/events/271430269 + online: true + - + name: CMS Philly + location: Philadelphia, USA + date: 2020-05-01 + url: https://cmsphilly.org + online: true + - + name: Blue Conf 2019 + location: Cardiff, UK + date: 2019-06-07 + url: https://blueconf.co.uk + - + name: WordCamp Bristol 2019 + location: Bristol, UK + date: 2019-05-18 + url: https://2019.bristol.wordcamp.org + - + name: Cheltenham WordPress Meetup + location: Cheltenham, UK + date: 2019-04-17 + url: https://www.meetup.com/Cheltenham-WordPress-Meetup + - + name: PHP South Wales + location: Cardiff, UK + date: 2018-07-31 + url: https://www.phpsouthwales.uk + - + name: Drupal Bristol + location: Bristol, UK + date: 2018-01-17 + url: https://www.drupalbristol.org.uk meta: - og: - title: Taking Flight with Tailwind CSS - description: An introduction to utility CSS and Tailwind. - type: website - image: - url: '%site.assets_url%/assets/images/talks/taking-flight-tailwind.jpg' - width: 2560 - height: 1440 - type: "image/png" + og: + title: Taking Flight with Tailwind CSS + description: An introduction to utility CSS and Tailwind. + type: website + image: + url: '%site.assets_url%/assets/images/talks/taking-flight-tailwind.jpg' + width: 2560 + height: 1440 + type: "image/png" --- An introduction to utility class and component-based styling, and how to soar with [Tailwind CSS][1]. diff --git a/source/_talks/tdd-test-driven-drupal.md b/source/_talks/tdd-test-driven-drupal.md index c293a254..d14a0587 100644 --- a/source/_talks/tdd-test-driven-drupal.md +++ b/source/_talks/tdd-test-driven-drupal.md @@ -2,73 +2,73 @@ title: TDD - Test-Driven Drupal description: How to write automated tests for Drupal, and how to create a new Drupal module using test driven development. speakerdeck: - id: 088cb18033064f5cb18d1079795294a1 - ratio: "1.77777777777778" - url: "https://speakerdeck.com/opdavies/tdd-test-driven-drupal" + id: 088cb18033064f5cb18d1079795294a1 + ratio: "1.77777777777778" + url: "https://speakerdeck.com/opdavies/tdd-test-driven-drupal" video: - type: youtube - id: 81J0dPvqG-g + type: youtube + id: 81J0dPvqG-g image: - url: '%site.assets_url%/assets/images/talks/test-driven-drupal-development.png' - width: 2560 - height: 1440 - type: image/png + url: '%site.assets_url%/assets/images/talks/test-driven-drupal-development.png' + width: 2560 + height: 1440 + type: image/png use: [talks] events: - - - name: DrupalCon Lille 2023 - location: Lille, France - date: 2023-10-17 - time: "15:00 - 15:45" - url: https://events.drupal.org/lille2023/session/tdd-test-driven-drupal-introduction-automated-testing-and-test-driven-development - - - name: DrupalCon Europe 2020 - date: 2020-12-08 - url: https://events.drupal.org/europe2020/sessions/tdd-test-driven-drupal - online: true - - - name: Bay Area Drupal Camp (BADCamp) - date: 2020-10-14 - url: https://2020.badcamp.org/session/tdd-test-driven-drupal - online: true - - - name: NWDUG - date: 2020-05-12 - location: Manchester, UK - url: http://nwdrupal.org.uk - online: true - - - name: DrupalCamp London 2019 - date: 2019-03-02 - time: "14:00 - 14:45" - location: London, UK - url: http://drupalcamp.london - - - name: Drupal Developer Days 2018 - date: 2018-07-05 - time: "12:15 - 13:00" - location: Lisbon, Portugal - url: http://lisbon2018.drupaldays.org - - - name: Drupal Somerset - date: 2018-06-14 - location: Glastonbury, UK - - - name: Drupal Bristol - date: 2017-11-22 - location: Bristol, UK - url: https://www.drupalbristol.org.uk - - - name: DrupalCamp Dublin 2017 - location: Dublin, Ireland - date: 2017-10-21 - time: "12:00 - 12:40" - url: http://2017.drupal.ie - - - name: DrupalCamp London 2017 - location: London, UK - date: 2017-03-04 - time: "16:15 - 17:00" + - + name: DrupalCon Lille 2023 + location: Lille, France + date: 2023-10-17 + time: "15:00 - 15:45" + url: https://events.drupal.org/lille2023/session/tdd-test-driven-drupal-introduction-automated-testing-and-test-driven-development + - + name: DrupalCon Europe 2020 + date: 2020-12-08 + url: https://events.drupal.org/europe2020/sessions/tdd-test-driven-drupal + online: true + - + name: Bay Area Drupal Camp (BADCamp) + date: 2020-10-14 + url: https://2020.badcamp.org/session/tdd-test-driven-drupal + online: true + - + name: NWDUG + date: 2020-05-12 + location: Manchester, UK + url: http://nwdrupal.org.uk + online: true + - + name: DrupalCamp London 2019 + date: 2019-03-02 + time: "14:00 - 14:45" + location: London, UK + url: http://drupalcamp.london + - + name: Drupal Developer Days 2018 + date: 2018-07-05 + time: "12:15 - 13:00" + location: Lisbon, Portugal + url: http://lisbon2018.drupaldays.org + - + name: Drupal Somerset + date: 2018-06-14 + location: Glastonbury, UK + - + name: Drupal Bristol + date: 2017-11-22 + location: Bristol, UK + url: https://www.drupalbristol.org.uk + - + name: DrupalCamp Dublin 2017 + location: Dublin, Ireland + date: 2017-10-21 + time: "12:00 - 12:40" + url: http://2017.drupal.ie + - + name: DrupalCamp London 2017 + location: London, UK + date: 2017-03-04 + time: "16:15 - 17:00" --- Testing is important. diff --git a/source/_talks/test-drive-twig-with-sculpin.md b/source/_talks/test-drive-twig-with-sculpin.md index cffb588b..5bbdf9e4 100644 --- a/source/_talks/test-drive-twig-with-sculpin.md +++ b/source/_talks/test-drive-twig-with-sculpin.md @@ -2,17 +2,17 @@ title: Test Drive Twig with Sculpin description: With Drupal 8 just around the corner, see how you can develop your Twig skills with Sculpin - a static site generator based on Symfony components and Twig. speakerdeck: - id: 54589d2e50a3476a9a75aed809e9edf1 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/test-drive-twig-with-sculpin + id: 54589d2e50a3476a9a75aed809e9edf1 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/test-drive-twig-with-sculpin code: https://github.com/opdavies/sculpin-demo tweets: yes events: - - - name: DrupalCamp North 2015 - location: Sunderland, UK - url: http://drupalcampnorth.org - date: 2015-07-25 + - + name: DrupalCamp North 2015 + location: Sunderland, UK + url: http://drupalcampnorth.org + date: 2015-07-25 --- [Sculpin][1] is a static site generator written in PHP, and based on [Symfony components][2]. It uses [YAML][3] and [Twig][4], which makes it very appealing to Drupal people wanting to learn these in preparation for Drupal 8. diff --git a/source/_talks/things-you-should-know-about-php.md b/source/_talks/things-you-should-know-about-php.md index b875dc66..f1ae0568 100644 --- a/source/_talks/things-you-should-know-about-php.md +++ b/source/_talks/things-you-should-know-about-php.md @@ -2,32 +2,32 @@ title: Things you should know about PHP description: An introduction to PHP, presented to the Swansea Software Development Community (SSDC) meetup and PHPSW. speakerdeck: - id: fe360f1030f34bdb9eb14cdab907bb3c - ratio: "1.78343949044586" - url: https://speakerdeck.com/opdavies/things-you-should-know-about-php-a58cd83b-e10c-40df-9ab4-3ed5d55827e7 + id: fe360f1030f34bdb9eb14cdab907bb3c + ratio: "1.78343949044586" + url: https://speakerdeck.com/opdavies/things-you-should-know-about-php-a58cd83b-e10c-40df-9ab4-3ed5d55827e7 video: - id: NH1mVSwCzWs - type: youtube + id: NH1mVSwCzWs + type: youtube meta: - og: - image: - url: '%site.assets_url%/assets/images/talks/things-you-should-know-about-php.png' + og: + image: + url: '%site.assets_url%/assets/images/talks/things-you-should-know-about-php.png' events: - - - name: PHP Stoke - location: Stoke-on-Trent, UK - url: https://www.eventbrite.com/e/php-stoke-tickets-429043128547 - date: 2023-01-12 - - - name: PHP South West - location: Bristol, UK - url: https://www.meetup.com/php-sw/events/284341510 - date: 2022-03-09 - - - name: Swansea Software Development Meetup (SSDC) - location: Swansea, UK - url: https://www.meetup.com/Swansea-Software-Development-Meetup - date: 2019-01-28 + - + name: PHP Stoke + location: Stoke-on-Trent, UK + url: https://www.eventbrite.com/e/php-stoke-tickets-429043128547 + date: 2023-01-12 + - + name: PHP South West + location: Bristol, UK + url: https://www.meetup.com/php-sw/events/284341510 + date: 2022-03-09 + - + name: Swansea Software Development Meetup (SSDC) + location: Swansea, UK + url: https://www.meetup.com/Swansea-Software-Development-Meetup + date: 2019-01-28 --- An introduction to PHP, presented to the Swansea Software Development Community (SSDC) meetup and PHP South West. diff --git a/source/_talks/upgrading-your-site-drupal-9.md b/source/_talks/upgrading-your-site-drupal-9.md index 68ab9ca7..344eeab0 100644 --- a/source/_talks/upgrading-your-site-drupal-9.md +++ b/source/_talks/upgrading-your-site-drupal-9.md @@ -1,27 +1,27 @@ --- title: Upgrading your site to Drupal 9 description: - How to update your site to Drupal 9, and why it's much different to any - major Drupal version upgrade before! + How to update your site to Drupal 9, and why it's much different to any + major Drupal version upgrade before! speakerdeck: - id: 19f439b7a9a4450baa79bb73ec3dd117 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/deploying-php-applications-with-ansible-ansible-vault-and-ansistrano + id: 19f439b7a9a4450baa79bb73ec3dd117 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/deploying-php-applications-with-ansible-ansible-vault-and-ansistrano video: - type: youtube - id: AcYMXiom0o8 + type: youtube + id: AcYMXiom0o8 events: - - - name: Midwest PHP - url: https://midwestphp.org/talks/7C0m4I87vq72cDoXvsHFRp/Upgrading_your_site_to_Drupal_9 - date: 2021-04-22 - online: true - - - name: Leeds PHP - location: Leeds, UK - url: https://www.meetup.com/leedsphp/events/272504993 - date: 2020-09-23 - online: true + - + name: Midwest PHP + url: https://midwestphp.org/talks/7C0m4I87vq72cDoXvsHFRp/Upgrading_your_site_to_Drupal_9 + date: 2021-04-22 + online: true + - + name: Leeds PHP + location: Leeds, UK + url: https://www.meetup.com/leedsphp/events/272504993 + date: 2020-09-23 + online: true --- For most Drupal Developers and users, the idea of moving a project from one diff --git a/source/_talks/using-illuminate-collections-outside-laravel.md b/source/_talks/using-illuminate-collections-outside-laravel.md index ee84c055..e8bc01cf 100644 --- a/source/_talks/using-illuminate-collections-outside-laravel.md +++ b/source/_talks/using-illuminate-collections-outside-laravel.md @@ -2,26 +2,26 @@ title: Using Illuminate Collections... Outside Laravel description: How to include and use Laravel’s Illuminate Collections in your non-Laravel PHP projects. speakerdeck: - id: 76f1718a75a74940b0b028aac8b9f78b - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/using-laravel-collections-dot-dot-dot-outside-laravel-php-south-wales-august-2018 + id: 76f1718a75a74940b0b028aac8b9f78b + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/using-laravel-collections-dot-dot-dot-outside-laravel-php-south-wales-august-2018 video: - type: youtube - id: 1l0kO-iaN_o + type: youtube + id: 1l0kO-iaN_o tags: [nomad-php, lightning-talk, laravel, collections] type: Lightning talk events: - - - name: PHP South Wales - location: Cardiff, UK - url: https://www.phpsouthwales.uk - date: 2018-08-28 - - - name: Nomad PHP - url: https://nomadphp.com - online: true - date: 2017-12-21 - time: 19:00 CET + - + name: PHP South Wales + location: Cardiff, UK + url: https://www.phpsouthwales.uk + date: 2018-08-28 + - + name: Nomad PHP + url: https://nomadphp.com + online: true + date: 2017-12-21 + time: 19:00 CET --- Laravel's Illuminate Collections are a powerful object-orientated way of interacting with PHP arrays, but did you know that they can be used outside of Laravel, in any PHP project? diff --git a/source/_talks/working-with-workspace.md b/source/_talks/working-with-workspace.md index 96a003ac..6c49b889 100644 --- a/source/_talks/working-with-workspace.md +++ b/source/_talks/working-with-workspace.md @@ -2,30 +2,30 @@ title: Working with Workspace description: Workspace is an open-source local development tool from Inviqa. This talk covers what it is, what it does, and how to use it in your PHP project. speakerdeck: - id: e87103bd5f8b4f16bbed73a9d4d2a592 - ratio: "1.77777777777778" - url: https://speakerdeck.com/opdavies/taking-flight-with-tailwind-css + id: e87103bd5f8b4f16bbed73a9d4d2a592 + ratio: "1.77777777777778" + url: https://speakerdeck.com/opdavies/taking-flight-with-tailwind-css video: - type: youtube - id: oO0-E_FBS-U + type: youtube + id: oO0-E_FBS-U events: - - - name: PHP North West - url: https://www.phpnw.org.uk - date: 2021-02-02 - online: true - - - name: PHP South West - location: Bristol, UK - url: https://www.meetup.com/php-sw/events/272787346 - date: 2020-09-09 - online: true - - - name: NWDUG - location: Manchester, UK - url: https://www.meetup.com/nwdrupal/events/272098270 - date: 2020-08-11 - online: true + - + name: PHP North West + url: https://www.phpnw.org.uk + date: 2021-02-02 + online: true + - + name: PHP South West + location: Bristol, UK + url: https://www.meetup.com/php-sw/events/272787346 + date: 2020-09-09 + online: true + - + name: NWDUG + location: Manchester, UK + url: https://www.meetup.com/nwdrupal/events/272098270 + date: 2020-08-11 + online: true --- [Workspace](https://github.com/my127/workspace) is an open source tool developed by [Inviqa](https://inviqa.com), as a way to create custom commands for your project environments, and an alternative to a bash script or a Makefile. diff --git a/source/_talks/working-without-workspace.md b/source/_talks/working-without-workspace.md index 366ca07a..768aec34 100644 --- a/source/_talks/working-without-workspace.md +++ b/source/_talks/working-without-workspace.md @@ -1,16 +1,16 @@ --- title: Working without Workspace description: | - A look at how I configure my development environments and the tools I use with PHP, such as Nix, Home Manager, Docker, Neovim and tmux. + A look at how I configure my development environments and the tools I use with PHP, such as Nix, Home Manager, Docker, Neovim and tmux. speakerdeck: - id: dd406a45f04047fda765346b75efa3c3 - ratio: "1.77798682972719" - url: https://speakerdeck.com/opdavies/working-without-workspace + id: dd406a45f04047fda765346b75efa3c3 + ratio: "1.77798682972719" + url: https://speakerdeck.com/opdavies/working-without-workspace video: ~ events: - - - name: PHP London - location: London, UK - url: https://www.meetup.com/phplondon/events/292657869 - date: 2023-04-06 + - + name: PHP London + location: London, UK + url: https://www.meetup.com/phplondon/events/292657869 + date: 2023-04-06 --- diff --git a/stub.md b/stub.md index 09edbd79..e94b1f7a 100644 --- a/stub.md +++ b/stub.md @@ -3,8 +3,8 @@ title: {{ title }} date: {{ date }} permalink: {{ permalink }} snippet: | - TODO + TODO # tags: -# - a -# - b +# - a +# - b ---