As my kids get a little older, and I start to have a few hours to myself most evenings again, I’m now trying to figure out where I should spend my spare time.
I used to be a heavy gamer, but games don’t have the allure they used to. Sometimes I’ll induldge, but most of the time they seem like a waste of time. (Although from an existential perspective, you could say that about anything if you really want to – so is it really so bad to “waste” time with games?)
I also sometimes watch Netflix, but generally try to avoid so because of how much time that can tend to sink.
So, what to do?
There’s many things I could do with my spare time which may be more rewarding than gaming or TV. Here’s but a few:
Bowling. It’s a hobby and gets me out of the house, and can be a social experience.
Studies in areas other than computer science. Generally this means studying Japanese Kanji for me, but perhaps more rewarding would be to learn some basic Spanish – and to actually force myself to use it!
Programming in my spare time. Assuming I’m not burnt out from my day job, or that I can keep things “separate” so that one doesn’t influence the other so badly, this is definitely an option.
Now, the last bullet, while not necessarily the most important, has tons of areas it can be broken down into.
Contribute to Firefox and related Mozilla projects. I’m technically a Mozilla contributor, although thus far I’ve only pushed a single patch for a tool which might go away completely. However, this is merely because of being occupied by other things. Maybe it’s worth diving in on some of this stuff? At the same time, Firefox is fairly well established, and while I could help, my impact may not be as large as it could be elsewhere.
Contribute to Python. I also have signed the appropriate forms to contribute here, although I haven’t actually done so yet aside from filing bugs. But this is an interesting project, in part because I program heavily in Python at my day job and have an advanced enough level of understanding that I could realistically contribute in a meaningful way. This is relatively tempting for me. Although… I’m not sure if this is the best way to work in the Python community. Being a library author may be another good way. Or perhaps, again, I could have a bigger impact elsewhere, as Python is a relatively mature language and, while it of course has bugs and new features (meaning things to develop), it’s not quite as big of an impact as other projects may be.
Contribute to Replicant OS or other Android-based or Android-alternative mobile OSes. I have some passion on this subject since recently replacing my broken Nexus 6P with a Galaxy S9+. While I really like my S9+, the truth of the matter is that I could do almost everything I need that I do with my S9+ with… a Galaxy S3. Which I happen to have lying around still as a backup device to share with company visiting from overseas. However, I could not sanely re-adopt the S3 as my main phone because… While the screen is smaller, the battery is somewhat old and the phone is a little choppy on Netflix, the real reason is that it is horrifically out of date on security updates, and Samsung stopped providing such updates for the S3 a long time ago. This makes alternative OSes such as LineageOS and Replicant very attractive. However, based on what I’ve read of Samsung’s license, it seems like you’re really not supposed to borrow the firmware blobs from the phone and re-use them on an alternate OS, as LineageOS does. It’s often described as a grey area by others online – to me it seems like the only “gray” is that perhaps Samsung chooses not to enforce the license. So… I could try to help Replicant OS, although I’m likely out of my depth regarding reverse-engineering firmware and such. Or I could help similar projects which aim to provide an open OS to phones. I have a lot of interest here… But I’m not sure how much I can really do.
Contribute to the Linux Desktop. Linux has come a long way, but to this day it clearly lags behind Windows and Mac in terms of ease of use and ease of configuration. I’ve never encountered a Linux distribution which did not have me editing configuration files by hand at some time – not even Ubuntu. And there’s the migration from Xorg to Wayland, which is still a work in progress and which most desktop environments don’t yet support. There is clearly a lot of work that can be done here, if I dive in enough to understand how the whole UI “stack” on Linux works. This is a rather complicated topic and I shouldn’t dig deeper here, but this area feels like there is a lot of potential for impact on end users for people who are willing to help.
And then, there’s one more thing which I can spend time on:
Blogging. (Yup, didn’t see that one coming.)
So… That’s a spattering of things I’m currently thinking of. I’m leaning most towards Linux Desktop as my area of focus, but we’ll see.