Summary of reading: October - December 2020

Create: December 27, 2020

I read almost nothing for a few months after the lockdown, but I started to pick up reading more for the last couple of months.

  • "C++ Best Practices" by Jason Turner — Buying Jason's book is a no-brainer for me considering I started to watch his C++ Weekly in 2016, and he was one of the people who inspired me to delve into C++ at that time. I particularly enjoy the chapter "25. Avoid default In switch Statements," which is a great practice not often mentioned, and "47. Fuzzing and Mutating," which provide concrete instructions on setting up fuzzing and mutating test.

  • "Effective C: An Introduction to Professional C Programming" by Robert C. Seacord — I love this book, and will recommend all C people, not just beginners, to read it. It is really easy to make mistakes when writing C code or using C APIs, and this book tries to mitigate the problem and teach best practices for writing secure C code. Since most commonly recommended C books are decades old, Effective C is a rare book covering up-to-date C standards and practices. Robert certainly knows about both the standard and modern techniques very well.

  • "Elm in Action" by Richard Feldman — This book introduces the Elm programming language from scratch by building a simple frontend application incrementally through chapters. In each chapter, "your boss" gives you more requirements, and the book introduces language features to fulfill the requirements. Even though I used Elm to build a few games before, I still find this book enjoyable as there are many practical Jewels in this book on building production web applications. The sections about inter-oping with Javascript by custom elements (instead of ports) and handling routings for single-page applications are particularly enlighting for me.

  • "Automata and Computability" by Dexter C. Kozen is a textbook I used in my Theory of Computation class. It is more like a course note than a traditional textbook, where topics are split into "lessons." I enjoy the writing style of this book.

  • "Analysis I: Third Edition" by Terence Tao — this is the textbook used for our university' mathematical analysis course. It is a solid read, and the points are conveyed clearly. I also found that I am quite interested in the topic of analysis.

  • "How to Take Smart Notes" by Sönke Ahrens: This book is recommended in the talk on "org-mode for non-programmers" by Noorah Alhasan in Emscs-SF meetup. I am positively surprised by this book. My expectation of "self-help" books is full of platitudes with little insights. Yet this book was one of the most profound books I read this year. And I immediately put the slip-box method described in the book into practice on this same book and other things I learned. The downside of this book is that it does not spend enough time on "How to take smart note," as the title suggests, but instead repeats a lot on "why." Nevertheless, these characteristics are pretty common in this kind of book.

Reread:

In progress: