So 2020 was crazy. I am just going to ignore the obvious insanity of it and focus on reading and personal projects.


This year I read fewer books, 8 compared to 21 from last year. This was partly because of the loss of dedicated reading time on my commute and partly because I was working on some new projects.

Below are the books I read and my thoughts on some of them.

Nonfiction: Math and Science

Example Cellular Automata described in A New Kind of Science: Rule 30 [CC0]

It’s rare to be truly ambivalent about something, yet that’s exactly how I feel about A New Kind of Science. On the positive side, the book is an absolutely wonderful collection of cellular automata. It is engaging and insightful with tons of visualizations. It truly helps you appreciate the emergent structure, complexity, and symmetry that is possible through simple rules. On the negative side, the book makes aggrandizing claims without sufficient backing. The title of the book is an example, where the author claims that they are establishing a new kind of science through their study of cellular automata. They don’t claim that they are writing the definitive work on cellular automata (that would actually be an accurate claim). Instead, they are claiming that they have found a fundamental change in how science could be studied.

Nonfiction: Thurgood Marshall

Thurgood Marshall (1967) [CC0]

I love reading about the Supreme Court. I have previously read a handful of books about the court and its justices. Recently I had read something about Thurgood Marshall, the first black Supreme Court Justice, so I decided to read more about him. These two books gave me different perspectives on him. Devil in the Grove followed the story of a particular case that Thurgood Marshall and the NAACP Legal Defense Fund (LDF) fought for. As expected, the book is very saddening but also enlightening. Showdown takes a different approach and focuses on the high-level politics involved in the nomination and confirmation of Thurgood Marshall as an Associate Justice. Showdown does highlight many different cases that Marshall was involved in, but Devil in the Grove provides far more detail for the cases it chooses to cover.

Other Nonfiction

Sea People covers the history of human settlement and later European re-exploration of Polynesia. The book is a bit meta as it also studies the history of the history, as in it covers the historical proposals of how humans came to settle Polynesia and it covers how our understanding of the topic evolved through the ages. The author sounds truly fascinated and amazed by the historical people that navigated and settled in Polynesia. The passion and excitement made this one of the more fun books I have read in a while.

Radical Candor is a book about leadership. It is a quick and good read. My biggest takeaway was that giving feedback is central to being a leader. It seems obvious but you spend most of your life trying not to criticize people, so seeing it stated so bluntly helped. Also, “care personally, challenge directly”. The book repeats this more than a dozen times and is the core of “Radical Candor. It means to truly care about the people you lead and provide explicit and direct feedback because that is the most compassionate thing to do.


I finally got back to Discworld! Lords and Ladies was fun and it also gave me the idea for the Wand Shop project.

I will be honest, I don’t know what was happening in Murder in the Cathedral but I think that’s just how T.S. Eliot rolls.


While I read less, I made great progress with two goals I had for a while: making a game mod and learning 3D modeling.

Rocket League Story Mode

Story Mode UI I created for RLBotGUI

I always wanted to make a “mod” for a game but was intimidated. Since I wasn’t familiar with game engines or reverse engineering tools, I always had trouble understanding how to get started. Fortunately, I found the RLBot community to help me.

RLBot started a couple of years ago to add support for offline user-created bots in the game. They managed to get official support from the creators of Rocket League and then built a UI to allow users to share bots and run matches against them. This made it easier for non-coders to play against user-created bots.

I joined the community and asked around to see if anyone had used it to create a “Story Mode” for Rocket League which is something I always wished for. No one had created one but the community sounded supportive of the idea.

Over the next two weeks, I went through the RLBotGUI code and managed to extend it with a fully functional Story Mode! I am not going to go into the tech details here, maybe I will write a post to cover it since I did learn a lot from it.

In the mode, you start off without any boost. With each win, you are given currency that you can use to purchase upgrades (like boost!) or recruit previous opponents to join your team. As you unlock new cities, the matches get harder!

Since I have built it, I think every few days someone new has joined the discord and tried out the Story Mode. A few different people have streamed playing Story Mode as well which has been a blast for me to watch!

Blender & 3D Art

Astronaut model I made in Blender [more]

Blender is an open-source and free 3D graphics creation software. It allows you to create images and animations (and other intermediate artifacts).

Over the past couple of years, I have been trying to get better at drawing. My real goal was to create interesting scenes and animations. I thought I should try 3D software since they allow you to do that. So I tried using Blender in 2019 (or 2018?) and it did not go well. I wasn’t able to understand the UI and quickly lost interest.

Fortunately, by the time I tried again in 2020, Blender v80 was released with a significant UI overhaul. I was able to just click around and make my first project. With the quick progress, I felt encouraged and started watching more tutorials and working on more projects.

There are a lot of community resources available for learning Blender. Blender Guru’s Donut Tutorial helped me tremendously as it laid out all the steps needed for making a 3D render. It also taught all the necessary keyboard-based workflows which are essential when working in Blender.

The amount of things to learn is vast so I have been focusing on having fun and creating projects that excite me. I am probably going to continue with this strategy but I do hope that I can get better at making humanoid characters and making natural-looking animation. For inanimate objects, I also want to get better at adding fine details that make objects feel richer.

The Artwork section has all the projects I have made. Some of my favorites for the year are: