The joys of holiday coding

MP 73: If you're writing code today, you're not alone.

My family is not religious, but we celebrate Christmas as an occasion to give gifts, recognize the transitions of mid-winter, and appreciate one another. It’s December 23 right now, and while I should put away my programming work to focus on holiday things, I keep going back to the project I’m working on. I don’t have a hard deadline for this project, and I don’t feel much pressure to get it done. I keep going back to it because interesting little problems keep coming up, and it’s hard to fully let go of it for a while.

This tension between wanting to let go of “work” and focus fully on holiday festivities has me thinking about all the projects I’ve done over the holidays in my life. Working on my own projects feels really good during the holidays, and brings up surprisingly strong feelings.

For most of my life, programming was not part of my daily work. I was a math and science teacher for a long time. Outside of a few school-related projects, I never got to write code during work hours. All my programming work had to be done in the early morning hours, late at night, or on weekends.

During those years, I did some of my best programming work over the holidays. A couple weeks of no school, the short days of winter, and fewer obligations meant I could curl up on the couch with a laptop and build out another side project. I remember one break when I wrote a C project to plot 3d functions, before plotting libraries were common. On another break I learned 3d modeling using OpenSCAD. I wrote a Python program that generated OpenSCAD code, and made a Koch snowflake. I had it printed in stainless steel, and now that ornament hangs on our tree every year.

I got my first mechanical keyboard as a Christmas gift one year. Everyone in our family gets to play with their gifts on Christmas, so I sat alone for a couple hours and loudly coded a new website.1 It was a tool for building math problems for my students based on what they were interested in, and I ended up using it throughout my last few years of teaching.

Website called Slice of Pi, showing a problem titled "Spirograph Predictions". The problem has tags "fractions" and "spirograph".
Slice of Pi, a project that lets you write math problems and then add tags based on the mathematical content and the context. It was great for finding problems that related to students’ interests, and matched their current level in math. I may revive this project in 2024.

These are sweet memories, and I sometimes justify this time by pointing out how much I learned during those work sessions. But I wasn’t just working; programming is really fun and satisfying when you get to work on whatever project you want to.

If you’re writing code over the holidays, please know that you’re not alone. There’s a lot of people out there writing code for the simple joy it brings. There’s also a lot of people writing code because they’re at a point in life where you grab every spare minute you can, to learn as much as you can and hopefully build a better life for yourself.

Whatever your reason for writing code today and in the days that follow, I hope it’s going well. And if you’re taking a break from coding over the holidays, I hope you find renewed joy in your work when you get back to it. :)

  1. I learned about silent switches a short while later, and have since moved on from keyboards that annoy other family members.