Skip to main content

Holidays and hobbies

·3 mins
Modified version of photo from Sid Mosell, CC-BY-2.0

Holiday breaks are often a time for hobbies - you have vacation from work, you may have some down time between gatherings, so why not work on a project?

It could be tweaking the recipe you’re using for a holiday dinner. It might be building something in your shop to give as a gift to someone. One of my kids is filling their spare time crocheting a blanket, just because.

Software isn’t any different. I never really got the appeal of Advent of Code - why would I spend the time tinkering on a problem that doesn’t affect me - but there’s no reason why you wouldn’t spend some free time at the holidays working on some computing project that made your life 10% better/more fun/sillier, just like any other spare time household project.

So that’s what I did.


I am, as I have discussed before, an Old. Having moved from tapes, to CDs, to MP3s (from ripped CDs), listening to music on the computer when I started generally consisted of “point a player at the entire collection, and hit shuffle”.

It is the year 2023, and I do use a streaming service. But I also just want to play stuff from my own collection. For a very long time, I would just run gst123 in shuffle mode pointed at the toplevel directory.

gst123, is rather old software. It saw only sporadic changes after 2014, and stopped development entirely in 2017, which led me to make a personal fork at one point for a couple of fixes. Earlier this year, the maintainer started maintaining it again, so I resurrected some of those old patches to send along. As I looked at updating them, I began to wonder: why am I doing this when the fixes (GTK updates) were for part of it I never used. Why not just do something that did what I wanted, and ignore the rest?


A couple of weeks of part-time & holiday poking, and I’d like to introduce… tuatara.

tuatara is a text mode music player. It is admittedly very silly in the year 2023, but it does what I want it to do, and hey, that’s what a hobby is for.

tuatara, playing some music

It plays local music. It shuffles it. It shows (an approximation of) cover art, or a visualization. It’s built on Python, GStreamer, and libcaca.

I realize I’m not the first to build a local media player for the heck of it, and I (probably) won’t be the last. But what is a hobby for if not for doing something that just does what you want?

If you’re interested, well first, I’m a little surprised. But if you are, you can find it on GitHub, including wheels and PEXes if you want to try it out.

And even if you’re not interested, I hope y’all find the time to chase your own hobbies down whatever roads they may take you.