2020 in review

Published on .

In 2020 I turned 31 years old.

I lived through a pandemic. I worked from home starting in March, and still haven’t been back to my office — I have a pair of sneakers and some teas at my workstation that I need to collect. I’m considered high risk for COVID as I’m taking immunosuppressants, so I’ve spent most of the year in my house. I’ve tried to get outdoors but I don’t get out as often as I’d like. I have groceries delivered from Whole Foods now. I haven’t seen my parents in person since Christmas of 2019.

But I haven’t gotten sick, and neither has Jami, nor anyone else in my family. I kept my job, and we’ve been fortunate not to have suffered financially. And I’ve found that I excel at working from home — I’m more productive, and, without a commute, have more time to take care of myself, eat well, and work on my own projects and hobbies. And I’ve only put gas in my car maybe half a dozen times.

Numbers died suddenly and unexpectedly in April. I grieved for a long time afterwards. I’ve had other pets die before, but Numbers was the first pet I adopted, myself, who died.

We adopted Bobby at the end of May.

I kept up my blog and posted something every month except for June.

I created public-notes.muumu.us1.

I took on more responsibility at work after my manager and some more senior engineers left. Spent a lot of time working on ECS autoscaling, which was a great success this holiday season.

I built a PC for the first time in a decade, and then built a second one so Jami and I could play games together and with friends. Not much has changed there in the last decade, really.

I tried, unsuccessfully, to taper off Remicade.

In the spring I started doing yoga following videos on YouTube and doyogawithme.com. I stopped some time in the summer but picked it back up again in October, following a more structured practice which closely follows A Systematic Course in the Ancient Tantric Techniques of Yoga and Kriya by Swami Satyananda Saraswati, and have done some form of yoga almost every day since. I’m paying more attention to pranayama and the meditative aspects this time around after reading a study on participants’ abilities to modulate their immune responses following Wim Hof’s techniques. Wim Hof’s technique seems, to me, to largely follow yogic and pranayamic methods, supplemented with cold exposure. It may be helpful the next time I try to taper off Remicade.

I started listening to records again. I had a good-sized record collection in college, but slowly sold most of it off with each move, not wanting to lug them all with me. I didn’t even have my record player set up at my current apartment until the spring of this year, when I pulled it out of the basement and set it up in my office so I could listen to records while working from home. I installed a new Ortofon cartridge because I couldn’t find a replacement stylus for my old Shure cartridge and I set it up following Vinyl TV’s Very Detailed Turntable Setup for Beginners. I bought several records — original pressings of Kraftwerk’s Computer World and The Man Machine (the latter of which I formerly owned, but sold several years ago) after Florian Schneider’s death in April; Stephen Malkmus’s new Traditional Techniques; Destroyer’s new Have We Met; PITH by Melkbelly; Dan Deacon’s soundtrack to Well Groomed; and The Microphones in 2020. Jami’s mom gave me a repress of Fear of Music for Christmas.

I made nmfbot to help me find new music. It creates a Spotify playlist of the most popular tracks from the r/indieheads subreddit’s weekly “New Music Friday” thread. I wanted to find new artists to support and buy records from. After a month or so I realized I didn’t like most current indie music, and that sifting through the playlist was a chore. Still, I did find Melkbelly’s PITH through it, and I’ve come to love that record.

I unsuccessfully tried building a split mechanical keyboard. Twice. I’ve learned I am not very good at soldering. Or maybe the $10 soldering iron I got off Amazon wasn’t the best fit for the job. I ended up buying a Microsoft Sculpt keyboard.

I fixed a broken lid switch on my washing machine and replaced the kitchen faucet.

I started reading (new) fiction again. And science fiction at that. Neuromancer, Snow Crash, and The Difference Engine all shaped my literary tastes and understanding of the world when I was a kid; but as I studied literature in college my tastes broadened and then narrowed in a new direction, to the point that I stopped reading science fiction (and eventually stopped reading things published in the last century or two). But this year I picked up Killing Commendatore by Murakami, and read the sci-fi classics Dune and The Dispossessed for the first time.

I decided at the beginning of the year that I would only focus on learning things and tackling personal projects that I had an immediate interest in. If I was bored or stuck on something, or had some other project on my mind, I would find ways to procrastinate and not make progress.

I started the year reading David Black’s Well-Grounded Rubyist. I read it cover to cover. I’ve always been intrigued by Ruby because it seemed so clever and playful. I came to love Ruby’s expressiveness, but, I will say, by the end of 2020 I generally still reach for Python first just because it’s more widely used — there are more, and generally better, libraries available, it’s more likely someone else will have tackled a similar problem already, and it’s more likely my teammates or future collaborators will be able to work on it easily (only one other person on my team is comfortable with Ruby). I do love Ruby, but in some ways I wish I had spent that effort learning a language that was more distinct from Python, the other language I know well, like a Lisp or Haskell, or Rust or C.

I immediately followed The Well-Grounded Rubyist with Sandi Metz’s Practical Object-Oriented Design in Ruby which was the best introduction to object-oriented programming I’ve read, and really made the concepts click in a way they hadn’t before.

Some weekend over the summer I decided to learn Django since that’s the framework our applications use at work and I’ve only ever worked with Flask personally before. I liked Django. This was the first time I ever worked with a “batteries included” framework, coming from Flask, and it really made most common things seem super easy. I made a small little journaling app that I was going to use to track my health and Behcet’s symptoms. I did use it for a little while, but ended up just recording that stuff in a Google Calendar, which was simpler (and cheaper) to maintain. I also made is_authenticated, a really simple authentication service to put in front of public-notes.

While building and using public-notes, I started finding lots of little things I’d want to improve in TiddlyWiki. I wanted to try to write a clone of it. At some point I read about Phoenix LiveView, and thought it sounded like a good tool to use for that project. At another point I watched Saša Jurić’s talk The Soul of Erlang and Elixir and was amazed at this brilliant technology. I bought a copy of Dave Thomas’s Programming Elixir and started working through it. Functional programming, which I had seen only glimpses of before through Ruby’s reduce, map, filter functions and the first chapter of SICP, blew my mind; pattern matching completely changed the way I approached many problems. My progress with learning Elixir has slowed lately because my interest in writing web applications has been waning, and it doesn’t seem as useful for other applications. I’ve dropped it and, instead, have been working through Composing Programs, a re-imagining of SICP in Python, the past couple weeks.

And what of 2021?

Jami has a job in her field now so we’re ready to start looking for a place to actually settle into. I have lots of plans for my house — this might turn into a DIY bespoke home automation blog next year.

I do want to keep posting at least once a month here. Writing is an excellent way to synthesize and clarify thoughts, and this blog is a good motivator to do it.

I want to take a more structured approach to learning next year, and try to work through topics in the Teach Yourself Computer Science and OSSU Computer Science curriculums. I think my approach this year, of just learning and working on whatever I feel like in the moment, led me to pick up things that aren’t necessarily the most useful, and also led to me spending too much time scrolling through Hacker News to find some newer, cooler thing to learn. I had fun, but I think I can have fun learning things in a more structured way too. I think combining the strategies may also be effective: when I get bored or stuck on a topic in the structured curriculum, move on to the next topic and revisit it later.

I also want to focus on things outside of work and learning: keep doing yoga daily; get outside more; go for walks during the day; read more (science?) fiction. And take a vacation — I don’t think I’ve had an actual vacation since I moved to Maine four (five?) years ago.

I am hopeful that positive societal changes will come out of our year of COVID — a wider acceptance of remote/wfh work (optimistic about this); better protections for workers and the unemployed, and an overhaul of the health care system in the US (just to name a few; I’m less optimistic about these).

Whoever is reading this — have a happy New Year, and I hope that 2021 will be better for you than 2020.

  1. I’ve since decided to take this site down.