Winter has been a great time for "for me" coding projects.
Holiday breaks, and having successfully managed myself out of many of my day-to-day responsibilities at my job have left a good deal of time for self-driven projects. Like this gemlog!
I did advent of code 2022. Well, most of it. I'm currently on part 2 of day 17, and finally acknowledging that I won't be finishing. Almost. Probably.
After doing a bunch of them in my usual langauges of Go and Python, I did one in zig[1] which I'd been hoping to get deeper into. It was far harder and slower because of the new-to-me and lower level language, but I was learning so much so fast that I committed to doing the rest of the project in only zig. I didn't switch away, but I didn't finish either.
There are some really interesting challenges in jumping to a manual memory management language like zig. This was a ton of fun, and I highly recommend taking advent of code as an opportunity to learn a new langauge really well, but there are a few things I would have done differently:
Just in the last few days I've written a server toolkit for gemini called "gus"[2] (after Virgil "Gus" Grissom, one of the Gemini pilots and commander of Gemini 3). It's intended to be the net/http of Gemini: a well designed, highly composable set of libraries for interacting with Gemini from Go.
There's a ton to do still before I'd make a release, but I'm happy enough with where it is now that the next order of business is to write up a release announcement and start pushing it on IRC, fediverse, mailing lists, and of course gemini.
The interesting part about my hobby hacking in 2023 is not the specific projects I'd like to work on, but the life change that will enable it. I'm stepping back from my full-time role at my company to more of an advisory position with a very small time commitment.
I'm in this incredibly blessed position of having a spouse whose salary can nearly keep up with our family expenses and a financial situation that will let me comfortably recuperate for a year or more from the burn out that started forming in my work. I can enable her to invest more in her career, I can spend more quality time with God, kids, dog, nature, hobbies, and generally doing things that actually grow and edify me. Part of that will definitely be stepping up on minor code projects I enjoy.
I definitely want to keep investing in gus, and I'm excited about the little communities I've found in gemini/small web, and here on ctrl-c.club as well.
I hope you may also find the time and mental and emotional energy to pursue things that fill you up in 2023!
~tjp
[1] zig language website (HTTPS)
[2] gus: The small web server toolkit (HTTPS)
---