2020 in Review

kuniga.me > NP-Incompleteness > 2020 in Review

2020 in Review

01 Jan 2021

This is a meta-post to review what happened in 2020.

Posts Summary

This year I set out to learn about Quantum Computing. My aim was to understand Shor’s Prime Factoring Algorithm and learn whatever was needed for that. This led to the study of The Deutsch-Jozsa Algorithm, Quantum Fourier Transform, Quantum Phase Estimation and Number Factorization from Order-Finding.

I’m satisfied with the learning progress and glad to finally have a better understanding of Shor’s algorithm, even though I procrastinated until the second half of the year to start my studies. I liked the approach of having a specific goal in mind, “Understand Shor’s algorithm”, as opposed to the more vague “Learn Quantum Computing”, since it allows focusing and it’s clearer when I can stop.

I wrote about some topics relevant to work including Python Coroutines, Sockets, Browser Performance, Observable and Review: Working Effectively With Legacy Code.

I dedicated some time to learn about system development including Memory Allocation and CPU Cache.

I touched on machine learning by reading the paper Latent Aspect Rating Analysis on Review Text Data and the optmization algorithm L-BFGS.

I had fun writing about two programming puzzles, Shortest String From Removing Doubles and A Puzzling Election.

I read a book on Information Theory which I didn’t end up writing about, but it inspired me to revisit Huffman Coding.

The Blog in 2020

This year the blog went through major transformations. After about 10 years using Wordpress, I finally decided to migrate to Github pages for more control.

One of the features I miss the most is the well integrated analytics. I’m currently using Google analytics but it doesn’t have a reliable way to exclude my own visits, which is a lot especially while writing a post. With that caveat, according to the data, the Buddy Memory Allocation post was the most popular with 146 unique visits. Overall the blog had a total of 1.6k visitors.

I kept the resolution to have at least one post a month on average, by writing 19 posts. The blog completed 10 years with 139 posts (some of which were ported and translated from my old blog in Portuguese).

Resolutions for 2021

I enjoyed learning about the basics of quantum computing, but I found it highly theoretical. I’m still interested in it from a purely intellectual point of view, especially in learning about Quantum information theory and the complexity class of quantum algorithms, but it will not be my focus.

For 2021 I’ll try to focus on less things. My only explicit goal for 2021 is to learn about machine learning especifically for speech recognition. I’ll try to learn the state of the art and the theory behind it, but also anything related to this problem from a practical perspective such as audio encoding, OS drivers for microphones, signal processing, etc.

Personal

The end of the year is a good time to look back and remember all the things I’ve done besides work and the technical blog. Due to the coronavirus pandemic this year there wasn’t much opportunity for travelling, but on the other hand I ended up having a lot more time for catching up on reading.

Trips

Despite travel restrictions, I was able to go on roadtrips around California which has beautiful scenery. I had a chance to go again to Yosemite, Pinnacles and Death Valley National Parks, besides doing a lot of hikes and some camping in local parks.

a collage of photos from different national parks in California
Top (All in Yosemite): 1. Nevada Fall; 2. Cathedral Peak; 3. Half-dome. Bottom: 4. Bear Gulch reservoir in Pinnacles; 5. Death Valley from the Windrose trail; 6. Red Rock Canyon State Park

Books

As I mentioned, the pandemic left a lot of more indoor time which led to more reading. Here are the books I finished reading in 2020.

History

Bury my Heart at Wounded Knee by Dee Brown. The history of many native American tribes (Arapaho, Apache, Cheyenne, Kiowa, Navaho, Sioux) in the late 19th century and their fight against American settlers and military. It's a bit hard to read at times due to violent and injust acts of the latter. I wasn't familiar with this dark side of American history. Bury my Heart at Wounded Knee Book Cover
The Last Mughal by William Dalrymple. Recounts the history of India, centered around the last years of Zafar's reign, and preceding the British Raj. I couldn't help drawing parallels with Bury my Heart at Wounded Knee. I picked this as part of the trip to India in 2019 - most of the book is in Delhi, so it is a good read if you're visiting the region. The Last Mughal Book Cover
Sapiens by Yuval Noah Harari. I rarely re-read books but I recall liking this book so much a few years back that I decided to revisit. I didn't remember a lot of the contents and wasn't as amused, possibly due to high expectations and maybe having internalized some of the more surprising facts. I do liked the idea of dedicating some time to re-read books I really liked, so I'll try to make a point of re-reading a book every year. Sapiens Book Cover
The Great Influenza by John M. Barry. Recounts the events around the US during the pandemic 1918. It focuses a lot on the life of the scientists that made key contributions during and after the time, and also the revolution of American medicine which started a few decades prior to the pandemic. It shouldn't be surprising my choice of this book during 2020 :) The Great Influenza Cover
The Quartet by Joseph J. Ellis. I'm not the biggest fan of American history but knowing this year we'd be limited to be within the US and since I enjoy reading history from places I travel to, I decided to give it a try. It focuses on what's called the second American revolution (the first being independence from Britain) led by four proeminent figures: Alexander Hamilton, George Washington, John Jay, and James Madison. It culminates with the writing of the constitution. It was interesting to learn how much the struggle of powers between states and the federal government influenced the nature of the constitution. The Quartet Cover
The Silk Roads by Peter Frankopan. This book tells the history of world from the point of view of the region covered by the Silk roads, which include countries from the near and middle east and central asia. I don't recall learning so much history from a single book, and if I had to pick one, this would be my favorite book from 2020. The Silk Roads Book cover

Science

I'm a Strange Loop by Douglas Hofstadter. I was impressed by Hofstadter's Gödel Escher and Bach but had trouble grasping a lot of the subjects. The author claims that I'm Strange Loop is a more focused and intuitive take into consciousness. It borrows a lot on his personal experiences which makes it kind of an auto-biography. Overall it's a fascinating philosophical discussion. My favorite bit was the thought experiment by Derek Parfit regarding the uniqueness of the "self", which is summarized in here. I'm looking forward to reading Reasons and Persons. I'm a Strange Loop Book Cover
Working Effectively With Legacy Code by Michael C. Feathers. I wrote a post about it. Working Effectively With Legacy Code Book Cover
An Introduction to Information Theory by John R. Pierce. I don't recall why I had this book on my shelf, but it had been there for a while so I decided to catch up on my unread books. It doesn't require prior advanced math knowledge but it's still a textbook. I like its multi-disciplinary approach, for example: bringing in thermodynamics to discuss and compare entropy in physics and in information theory; talking (briefly) about quantum information theory; considering information theory in arts and linguistics. It inspired me to write about Huffman encoding. An Introduction to Information Theory Book Cover
I contain multitudes by Ed Young. This book explores the world of microbes and makes the case that there are not inherently good or bad microbes, but there are those that happen to benefit us vs. not, and in some cases the same species even play both roles depending on the situation. I contain multitudes Book Cover
Why we sleep by Matthew Walker. I learned how important sleeping is for our health. Insufficient sleep is related to a plethora of diseases and conditions, including cancer, obesity, the immune system health, etc. Why we sleep Book Cover
Beyond Weird by Philip Ball. Quantum Mechanics for lay people which I found very accessible. It doesn't require prior knowledge of quantum mechanics but it does try to clarify where the popular notions of entanglement, superposition, quantum teleportation come from. My main takeway is that quantum mechanics is a mathematical theory (abstraction) that exists without necessarily having an explicit representation in reality, which is hard to be satisfied with given it does predict a lot of real-world observations. Beyond Weird Book Cover
Infinite Powers by Steven Strogatz. It covers the history of Calculus including the seeds of the theory which started with mathematicians from the ancient era such as Archimedes, developing through Galileo, Kepler until the full-development by Leibniz and Newton. It is very informative and provides an intuitive and gentle introduction to calculus. It also describes important applications both in theory and practice (quantum mechanics, GPS, CTScan). Infinite Powers Book Cover

Other non-fiction

The Everything Store by Brad Stone. As with the biography of Phil Knight (Nike's founder), this biography of Jeff Bezzos is intertwined with that of his company. I learned some interesting facts for example, how much leverage Amazon has on acquiring smaller competitors (such as Zappos). The Everything Store Book Cover
Everybody Lies by Seth Stephens-Davidowitz. Seth is a data scientist who finds insights using publicly available sources. One of my main takeaways is that Google trends is a particularly rich source of data because people make searches in anonymity. This is in contrast to public surveys or social media where people tend to be "politically correct" and not fully honest. Everybody Book Cover
Don't make me think by Steve Krug. This book provides several practical advices on making websites more user friendly. I felt I had already internalized a lot of the good practices suggested by having worked with web tools that inherited a lot of designs made by someone with good UX knowledge. It was useful to see them listed out explicitly though. Don't make me think Book Cover
Peopleware by Tom DeMarco and Timothy Lister. Every list of recommended programming books seems to include this (among others that I like such as Code Complete), so I decided to give it a go. I am not and don't plan to manage people any time soon, but I wanted to understand what makes a good manager, since most people work with one. The book covers a set of topics primarily focused on the happiness and productivity of individuals. It's full of interesting anectodes and it's not prescriptive. I enjoyed it overall and might write a review at some point. Peopleware Book Cover

Fiction

Invisible Cities by Italo Calvino. I started this book a long time ago (2018?) but only finished this year. It consists of a set of short stories about fictitious cities. It's hard to make sense on some of them but the imagery some of them evoke are very artistic. Invisible Cities Book Cover
The Overstory by Richard Powers. Beautiful book and message. I like how a lot of the story happens around the Bay Area. I learned that in Stanford's main quad there are a variety of trees from all over the world. I thought the author went a bit overboard with esoteric words, and I had to look up the dictionary pretty often. The Overstory Book Cover