2023 in Review

kuniga.me > NP-Incompleteness > 2023 in Review

2023 in Review

01 Jan 2024

Prompt used to generate this: an illustration for a post card with the brackground of China and New Zealand during New Year's eve.

This is a meta-post to review what happened in 2023. Every year I go over the posts I wrote, reflect on the blog as a whole and on the personal side, share things I’ve done (mostly trips and books read).



Posts Summary

2023 has been pretty hectic and I wasn’t able to focus on pretty much anything. The only consistent themes were C++ and math (real and complex analysis).

C++

I read the book Effective C++ by Scott Meyers and didn’t find it as useful as his Effective Modern C++. I documented my notes in Review: Effective C++.

I explored some features from C++, including RAII, Function Objects, Futures and Big floats (not specific to C++, but related and I used C++ for the code).

Real and Complex Analysis

I decided to read textbooks instead of layman non-fiction books. Quality over quantity, depth over breadth. Part of the motivation was some reflection on memory and forgetting things. I wanted to learn fewer things that are harder to understand in hopes that there will be less to be remembered.

With that in mind, I’m currently focusing on learning the very basics of advanced mathematics. I started with real analysis, using the excellent Real Analysis: A Long-Form Mathematics Textbook by Cummings.

Now I’m studying complex analysis with the much less friendly Complex Analysis by Ahlfors. I’ve posted The Cardinality of Complex Numbers, Complex Numbers and Geometry, The Gauss-Lucas Theorem and Holomorphic Functions on this area.

Work

I found it a lot harder to juggle work and blog this year, due to the nature of my project and overall uncertainties around layoffs and the job market.

I did post my thoughts on documentation and the Big floats post was actually motivated by a bug found at work.

Leisure

The only post I wrote for fun was The Basel Problem in celebration of $\pi$ day. It turned out it’s very related to complex analysis.

This is possibly what motived me to go for that topic instead of measure theory which was my side goal for last year [1].

Personal

The more personal post was On Lifetime, in which I reflect on technologies, my blog and myself.

The Blog in 2023

I kept the resolution to have at least one post a month on average, by writing 18 posts. The blog completed 13 years with 211 posts.

I removed visit tracking due to some Google Analytics upgrade and didn’t find the time to setup a replacement so I don’t know which post was the popular, breaking the tradition of mentioning it the review.

Resolutions for 2024

I completely dropped the resolution of studying speech recognition, in no small part because of ChatGPT4. I started using it since May and it has significantly improved my development workflow, which was something I was hoping to achieve with speech recognition, so I’m less motivated with that path.

It would make sense to focus on learning about and leveraging LLMs to further improve my workflows, but I also don’t feel like chasing the latest trends which are always changing. For now, I don’t have a main topic I want to pursue.

I had two side goals last year:

I want to read a textbook on differential geometry or measure theory and learn TLA+, a formal specification language for concurrent and distributed systems.

I didn’t do either, though I believe the analysis books I started reading are good base for differential geometry or measure theory, so I’ll give myself half a point. For next year, I do want to finish the complex analysis book and move on to differential geometry.

I’m still interested in TLA+, so I’ll keep that in the bucket list.

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.

Trips

In April we went to Beijing. I had been to Beijing in 2010 briefly on my way to Harbin for the ICPC World Finals. At that time, I was only able to see the Forbidden city.

This time I saw the major sites in the city and also the Great Wall of China at Mutianyu. The city feels very modern, especially with the payment system (which in my experience as a non-citizen tourist, hard to use seamlessly). Food was amazing.

a collage of photos from a trip to Beijing
Top: 1. Street in central Beijing; 2. Bell Tower; 3. Lama Temple. Bottom: 4. Summer Palace; 5. Great Wall of China; 6. Temple of Heaven

On the way back from Beijing, we stopped at Taiwan. We went around the west coast of the country leveraging its excellent rail system. Starting from Taipei, we went all the way down to Kaohsiung.

One of the most memorable experiences were the night markets in Taipei and hiking through tea plantations, and bamboo and cedar forests in Alishan.

a collage of photos from a trip to Taiwan
Top: 1. Chiang Kai-Shek's Memorial; 2. Popular building at Jiufen; 3. Fo Guang Shan Temple. Bottom: 4. Alishan National Forest; 5. Tea plantation in Alishan; 6. Lanterns of Shennong Street in Tainan

In November we visited New Zealand. We went on roadtrips across the North and South Islands, and did a lot of hiking. Trails are aplenty with lush green forests (including giant fern trees), snow capped mountains and turquoise blue lakes.

Outside of hiking, I also enjoyed the Hobbiton and the Glowworm Cave in Waitomo.

a collage of photos from a trip to New Zealand
Top: 1. Hobbiton; 2. Inferno Crater Lake; 3. Punaikaiki; Bottom: 4. Roy's Peak. 5. Mount Cook / Aoraki 6. Milford Sound;

Books

History and Memoirs

1499 - O Brasil antes de Cabral by Reinaldo José Lopes. In Portuguese. It translates to 1499: Brazil before Cabral. Pedro Álvares Cabral was the Portuguese navigator who discovered Brazil in 1500. The 1499 alludes to the focus of the book on history prior to that. It discusses archeological sites in Brazil. In these sites there are fossils of extinct animals such as the gliptodonte (a giant armadillo). Some other sites include remaints from Native populations such as mounds. One of the most interesting is the Marajoara culture, found in the nothern part of Brazil, with distinctive pottery.

This is a lightweight read but I found the language too colloquial to me. I get that it's trying to be accessible, but I found it often got in the way. Nevertheless, I learned quite a bit, since Pre-columbian history wasn't taught during my school days. Rating: 4/5
book cover for the entry on the left column
India in the Persianate Age by Richard M. Eaton. This book covers the history of South Asia (India, Pakistan and Bangladesh) with a focus on the Persian cultural influence over it. A big portion of the book focuses on the Mughal Empire but it also describes earlier Persian-culture conquests.

I got this book because I was interested in learning about the Mughal Empire in more details. This felt like one of the books you get much more than you asked for. Rating: 5/5. (Extended review).
book cover for the entry on the left column
A New Illustrated History of Taiwan by Dr. Wan-yao Chou. I bought this book during a trip to Taiwan. It covers the history of the island from early days until recent times.

I learned quite a bit about Taiwan and enjoyed the illustrations and old photographs. Rating: 5/5. (Extended review)
book cover for the entry on the left column
Formosa Betrayed by George H. Kerr. This book covers a much narrower period of Taiwan's history: the first few years of the ROC administration. Kerr was a United States diplomat and witnessed first hand those years. He is very critical of the KMT, especially of Chen Yi, the first governor of Taiwan.

I found the book overall boring, and I was disappointed because I really liked his book Okinawa: The History of an Island People. Rating: 4/5
book cover for the entry on the left column
The Good Rain Across Time and Terrain in the Pacific Northwest by Timothy Egan. Egan explores many parts of the PNW, mostly wilderness sites in the state of Washington. Each chapter is about a place (Olympic peninsula, Mt Rainier, Vancouver Island, N. Cascades) or a topic (Volcanos, Natives, Salmon, Logging).

A constant theme throughout the book is how civilization encroached into nature and destroyed the livelihoods of Native Americans, hundred year old forests and animal habitats. He’s especially critical of the logging industry and the Corps of Engineers.

Overall it has a gloomy perspective but I learned a lot about places and their history. I got this book to read on a trip to Washington state. Rating: 5/5
book cover for the entry on the left column
Notes from New Zealand by Edward Kanze. Kanze describes his quest to see the kiwi, the tuatara and native frogs in the wild. In the process he documents his travels throughout the country and the fieldwork he volunteered for.

I learned some bits about the fauna and flora of NZ and his travelog is mildly interesting, but overall didn’t get much out of this book. I had bought this book for my trip to New Zealand. Rating: 4/5
book cover for the entry on the left column
The Penguin History of Aotearoa by Michael King. It covers NZ’s pre-history (e.g. how it came to be as landmass), the Māori settlement from Polynesia, European colonization (mainly English and Scottish), the European-Māori relationship, politics, wars and modern times.

I learned a lot of interesting things from this one, and liked much more than Kanze's book. Rating: 5/5. (Extended review).
book cover for the entry on the left column

Science and Technical Books

Thinking In Systems: A Primer by Donella H. Meadows. I wrote a blog post about it. book cover for the entry on the left column
Effective C++: 55 Specific Ways to Improve Your Programs and Designs by Scott Meyers. I wrote a blog post about it. book cover for the entry on the left column
Real Analysis: A Long-Form Mathematics Textbook. I wrote a blog post about it. book cover for the entry on the left column
Lifespan: Why We Age - and Why We Don't Have To by David Sinclair. Sinclair has the ambitious goal to solve aging. He claims aging is a disease and that instead of trying to cure "old-age diseases" such as Alzheimer or cancer, we should focus on the preventing aging from happening.

He suggests several strategies for slowing down aging such as taking NMN (Nicotinamide mononucleotide) capsules, fasting, reduce sugar consumption, exercise and avoiding red meat.

It had a significant influence on my daily habits. For example I began fasting and avoiding red meat. I haven't tried taking supplements because it seems like there's limited scientific studies on their efficacy and long-term side effects, but am keeping a watch on them. Rating: 4/5
book cover for the entry on the left column
Brief Answers to the Big Questions by Stephen Hawking. Hawking provides his take on several questions for which we don't have an answer today such as "Is there intelligent other life in the universe?" or "Is Time Travel Possible?". In his answers Hawking also provides a glimpse of his personal life.

Some interesting bits I noted from the book:
  • The lifespan of the Sun is about 9 billion years and 3.5 billion has ellapsed, so we have about 5.5 billions left in the solar system.
  • He estimates that DNA has 100,000,000 bits (12.5MB) of useful information
  • Argument for why intelligent life is pretty rare: it took 2 billion years to go from uni to multi cellular which is a good portion of the Sun's lifetime so it would seem we got pretty lucky with timing.
  • Suggests the unified theory of everything will rely on mathematical beauty instead of experiments.
  • Quote: Behind every exceptional person there is an exceptional teacher
Interesting but like other pop-sci books it's not technical enough to my satisfaction. Was nice to learn some bits about Hawking's life. Rating: 4/5
book cover for the entry on the left column
C++ Concurrency in Action by Anthony Williams. This book covers many aspects of concurrency in C++ including threads, mutexes, locks, condition variables and atomic variables.

One part I found lacking details was the Release-Acquire memory model. I tried to complement by reading a paper and found it a lot more complicated than the book described. I intend to write a post about it some day.

After discussing primitives, the book presents some concurrent data structures, which was interesting and useful. In later chapters the book describes how to turn them into lock-free structures and the level of complexity to write a stack is so great that I question how useful this is to most people.

One part that bothered me is how big the Appendix is. It's about 1/3 of the book and includes references that can be looked up on the internet if needed. Rating: 4/5
book cover for the entry on the left column

Misc

The Kite Runner by Khaled Hosseini. I had read this book a long ago, and remember it being my favorite book for a while. There were 3 major differences between the reads:
  • I read it in Portuguese the first time
  • In 2005 the War in Afghanistan was still ongoing (and I guess a big reason why this book became so popular). Now the war is technically over.
  • I had only a vague idea of what San Francisco was back then and none about Fremont, cities in which the main character ended up living. I’ve now visited SF and Fremont many times and when places like Lake Elizabeth is mentioned in the book they feel very real.
Rating: 5/5
book cover for the entry on the left column
Letters from a Stoic by Seneca. I admire stoic way of life and strive to follow it, so reading this book was very pleasant and reaffirming. This book is a collection of letters from Seneca to his friend Lucilius. Rating: 5/5. (Extended review). book cover for the entry on the left column
Le Petit Prince by Antoine de Saint-Exupéry. I'm learning French and decided to read a book in French. I thought it would be easy to start with a children's book, but I was wrong. I had trouble fully understanding the text, so decided to also read the version in English too. It did learn a lot of French words! The plot is not bad, but overhyped in my opinion. Rating: 4/5 book cover for the entry on the left column
Designing the Mind: The Principles of Psychitecture by Ryan A. Bush. The book is divided into three parts: Cognitive: avoiding biases; Emotional: taming negative emotions; Behavior: building good habits. To me the most novel part was the emotional one. I’ve read enough habit building books that I didn’t learn much new but it was nice that it connected with the other parts.

Overall the book offers practical and actionable advice, with the downside of being a bit reductionist. I benefited from these ideas though. Rating: 5/5
book cover for the entry on the left column

References