Summary of reading: January - March 2024
I've realized that it's been quite some time since I've shared a "summary of reading" post, and I'm keen on reviving that practice. One reason I discontinued it was due to my embarrassment over not reading enough books. However, I believe that publicly sharing what I read will encourage me to read more.
One significant change of the reading process I made this quarter is incorporating spaced repetition tool Readwise (note: requires a subscription) and Anki (free) aggressively (in addition to those traditional notes I made with Obsidian). I find this practice to be extremely beneficial despite people in our STEM field (including myself) having a distaste for rote memorization. As this article states:
One common pattern is that people think they're getting stuck on esoteric, complex issues. But when you dig down it turns out they're having a hard time with basic notation and terminology
I certainly find myself frequently in this spot.
New Book Read
- Immersive Linear Algebra — This book comes highly recommended as a linear algebra book with nice interactive visualizations and a focus on computer graphics. Surprisingly, I found myself struggling to digest its content. Perhaps it's because I'm already well-versed with most of the material, making it difficult for me to stay focused. Fun fact: one of the authors (Tomas Akenine-Möller) invented the famous Möller–Trumbore intersection algorithm
- 97 things every programmers should know - A mixed bag of mostly platitude with occationally contradictory ideas in different chapters. While a few chapters contain valuable insights, there are also highly opinionated or questionable ideas, like preferring polymorphism to if-else
- Atomic Habit — Overall, the book is quite decent. It delves into techniques such as "habit stacking" and "temptation bundling," which I've found applicable daily. By combining the principles in this book and the usage of Habitica, I've managed to make significant changes to my habits over the past few months. On the other hand, similar to many "self-help" publications, I find it somewhat wordy and overly reliant on storytelling. I suspect its content could be condensed into a series of blog posts. Additionally, I'm disappointed by its lack of scientific rigor, though it at least does adhere to scientific principles rather than solely relying on personal viewpoints.
Reread
- Rust Book — I read the Brown University version with quizzes. The quizzes definitely transformed the experience a lot
- How to Think Straight about Psychology by Keith Stanovich — I read this book as a teen, and its impact on my critical thinking surpassed all my prior education combined. Even for those without any inclination towards psychology, this book offers a superb introduction to the philosophy of science and metascience. I highly recommend it.
In progress
- Physically Based Rendering, 4th Edition — I'm participating in a collective reading of this masterpiece as part of the Graphics Programming Virtual Meetup. We're taking our time with this book, which may take over a year to finish.
- Algorithms for Modern Hardware — A good survey of various performance aspects of modern CPUs
Other Insightful Resources
There's also abundant resources beyond books these days: articles, blog posts, papers, online courses, videos—you name it. I will also recommend some of the most insightful ones I encountered during this period.
- Seven Principles of Learning Better From Cognitive Science — The article provides some counter-intuitive insight such as "factual knowledge precedes skill." I absolutely intend to read the book recommended in this article.
- Calculus Blue — I watch it as a refresher to multivariable calculus. I find its "matrix calculus"-style explanation refreshing compare to the typical "vector analysis" approach found in university calculus courses.
- Did SEO experts ruin the internet or did Google? — Nice history lesson on search engine and SEO
- ‘Enshittification’ is coming for absolutely everything — Explains the idea of "enshittification"