It's the end of 2023! The end of the year is a special time. We can look at the calendar and say, "I can't believe the year is already over," and "This has only been one year?" I always do an end-of-year review of my notebooks to remind myself of the year's events, successes, or failures to grow from next year. A lot happened this year. Here are a few things I wanted to share.
The Drupal 10 Development Cookbook was released!
The Drupal 10 Development Cookbook came out at the beginning of the year. My goal for the audience was to pivot from Drupal 7 to a "just Drupal" narrative and target anyone working with Drupal from any background.
Thanks to Kevin Quillen for stepping in to help finish the book. Packt had reached out to provide a 3rd edition of the Drupal Development Cookbook for Drupal 10. The work started in late 2022, but about halfway through, I had severe burnout and other obligations and needed help to finish the book. It wasn't a smooth handoff, which is my fault. I'm grateful that Kevin could see the book through, and I hope it is a great resource for developers using Drupal.
It felt like a hard way to start the year. But I took it as a lesson in better understanding what I can and cannot commit to and setting boundaries for myself.
Getting back in shape and improving my physical and mental health
My main goal for the year was to get back in shape. I saw it as a foundation for fixing many of the problems that 2022 closed with. Things that had been stacking and building for a while.
During the summer of 2019, I was on track to reach my goal weight. However, things got derailed—a lot. It started in 2019 as we moved into a new house, and our third child was born. Then COVID-19 happened. I'm sure many of us can relate to 2020-2022 being off track and a time over recovery. In 2022, I tried to right the ship, but then I had a knee injury around July that prevented me from walking (torn meniscus coupled with arthritis on the knee.) It wasn't until around November that my knee had finally healed enough to get back into regular activities. My fitness and health status looked like a line falling off a cliff.
At the beginning of 2023, I weighed 273lbs. I'm ending the year at 253lbs. I was hoping for a stronger finish, as I had managed to get down to 247lbs. But the last few months of the year have had their struggles. My goal next year is to hit at least 240lbs, ideally 235lbs. My goal weight is 230lbs, better than I was in high school.
Reading more and more
On top of my physical health, I wanted to read more books. I saw it as improving my mental health by taking time away from the computer and not reading technical literature.
I was able to read 17 books this year. Over the past few years, I have done a lot of audiobooks and not so much physical reading. Personally, I don't count audiobooks as having read a book. This year, I caved in and bought a Kindle. I still love to visit my local bookstore, Blue House Books, to buy new books. Of my 17 books read, only four were bought through the Kindle store. I wish there were something like Bookshop or Libro.fm, which sold e-books and allowed supporting local bookstores.
Goal: A blog a week
I enjoy writing. It's my creative outlet. It's just that writing a book on a condensed timeline wasn't feasible. So, For 2023, I set out to publish a weekly blog every Tuesday. I wrote 42 blog posts this year. Last year, I only wrote 12! I'll take an 80% success rate for this year to have tripled my content output.
Based on my Fathom Analytics, here are the top five blog posts written this year:
- Upgrading my site from CKEditor 4 to CKEditor 5
- Dependency injection anti-patterns in Drupal
- Retrofit: Running legacy Drupal 7 code on your Drupal 10 site
- Simplifying the frontend developer experience in Drupal with a click of the button
- Debugging your render cacheable metadata in Drupal
One thing I'd like to aim for in 2024 is preparing content ahead of time. Most of my blog post ideas are ad-hoc and are written the day before or the morning of the publish date. Sometimes, the blogs were delayed because of major hurdles. My blog post diving into Fibers for concurrent rendering with Big Pipe consumed a week of experimenting.
Starting a newsletter
Everyone seems to have a newsletter, so why not join the crowd? So, around mid-May, I also created a newsletter I send out every Friday. Again, it has been a challenging streak, as it is usually tied to my blog post from earlier in the week. The newsletter has 62 subscribers. I consider that pretty successful, given the only promotion has been a "sign up" link below each blog post. Each week, I try to add a useful tip or trick, a link to my latest live stream (if one happened), and links to interesting reads.
I spent a lot of time researching different newsletter software services. I also thought about running it from my blog with the Simplenews module. But I didn't want to spend time building normal features and settled with Buttondown. It's simplistic and provides all the features I could ever need. They are very open, including the software they use to run the business to the open source software they leverage and which ones they sponsor.
Interested? You can sign up here: https://buttondown.email/mglaman.
Understanding Drupal: A Complete Guide to Caching Layers
One of my favorite parts about Drupal is its robust caching systems. Many of my blog posts were also about Drupal's caching system. So, I decided to try to self-publish a book about Drupal's caching systems to demystify cacheable metadata and the various caching layers. My goal was to publish by the end of 2023, but it's looking more like mid-2024. The book is about half-written. I have discovered that it takes me about 30 to 45 minutes to enter a flow state, and then I can write productively for about 3-4 hours before I taper off.
It can be very hard to find that kind of spare time when you have three kids 😅.
Based on feedback from interested readers, the book will be sold at a base price of $20. You can sign up at Leanpub to learn when it is published.
I tried diving back into streaming to keep building phpstan-drupal or other open-source projects. However, sometime mid-year, my OBS setup broke. I couldn't figure out why, but it had severe lag. It didn't matter if I was live streaming or recording locally; it was a hardware/software issue. After a few months, I sat down to dig in and discovered it was due to my webcam. Once I removed my webcam as a video source, OBS was fine. I need to see if any recent updates to OBS or the macOS Sonoma upgrade may fix it.
I enjoy live streaming. But it is also a lot of effort. Maybe I'll get back into it next year.
Retrofit for Drupal
I also kicked off Retrofit for Drupal this year. It's an idea I have had for a while, and at MidCamp this year, I gave a quick lightning talk on the idea. And then I turned it into a real project. I recommend reading Retrofit: Running legacy Drupal 7 code on your Drupal 10 site if you have yet to hear of the project.
Retrofit for Drupal covers many of the Drupal 7 APIs and is under active development, with a few organizations using it as a tool in their migration from Drupal 7 to Drupal 10.
Want more? Sign up for my weekly newsletter