Game Hacking - I was really excited by this book, since game hacking is a big part of how I got into reverse engineering. I even pre-ordered it and submitted a bunch of corrections in the pre-release (Some of which was not corrected, which is interesting…). Overall this book was disappointing, and I think my high hopes were based on the publisher. I was hoping for a book similar to Practical Malware Analysis, with high quality exercises, and matching writeups of every single exercise. Instead, the exercises are on simplicistic purpose-build ‘games’ no one would ever play, and there are much fewer than there could be. The introductions to data structures, C++ stl, and some tools were all actually pretty good, but overall the book felt rushed.
The New Turing Omnibus: 66 Excursions In Computer Science - This book is terrible. It’s a collection of 66 different short essays on different CS topics, but there is basically no flow between them, they’re super dry, and they don’t really approach the subject in a manner conducive to understanding. If you already know the subject, then the chapter might help jog your memory, but you’d probably learn more and more effectively by just reading the wikipedia page on the subject. I found a very small minority of the chapters to be good (e.g. compression with Huffman trees), but I definitely should have saved myself hours of my life and just thrown this book in the trash.
Programming Pearls (Second Edition) - While this book, I think, is starting to show its age, it at least manages to stay relevant by covering topics in that are timeless. While we don’t really need to microoptimize anymore – I’m happy to start up a python interpreter just to do a simple conversion or calculation, the lessons in how to tackle problems are, I think, the main takaway. The chapters are actually ‘columns’ that were published in some computing magazine, and unfortunately I don’t think the format maps over very while (if you’re publishing a book, I think the columns deserve a rewrite to match the medium). There are plenty of exercises to work through, but again, comparing this book to PMA, I wish the solution were more fleshed out.
The Martian (Audiobook) - I hadn’t heard of this book at all until the movie came out, and I enjoyed the movie thoroughly, but I had the feeling that a lot of the scientific jargon was dumbed down for mass appeal, so I thought I’d check out the book. Other than the very end, the movie follows the book pretty closely, but the book goes into more technical detail that I found very interesting. I’m not sure how much research the author did, or if he’s just bullshitting, but I was very impressed with how much he took into consideration, things I would never even consider (e.g. the constency of some food item, melting and then shift in flight to shift something off balance). I think the humour of the protagonist was more convincing in the movie (Granted it’s Matt Damon), but that’s a fair trade-ff for the increase in nerdy details which I thoroughly enjoyed.
The Science of Mindfulness: A Research-Based Path to Well-Being - A buddy of mine, maybe a year and a half ago, convinced me to try mindfulness meditation. Given the rational way I try to approach things, I wanted to read up on the purported benefits, and the title here caught my eye. While I learned a good amount, I felt that it was pretty biased, and didn’t find the cited research very convincing.
The Great Gatsby - Continuing my goal to read through some of the classics, I finally made it to The Great Gatsby. I had somehow made it this far without even knowing what the book’s about. I’m no literary analyst, so I’ll admit I maintain only a pretty superficial understanding of the story. In short, reasonable guy Nick moves to a nouveau riche part of New York where he meets Jay Gatsby, who is in love with Nick’s cousin Daisy. Daisy’s married to Tom, but Tom’s having an affair. Jay and Daisy start an affair themselves, but Tom becomes aware of it and calls Jay out, and in the confrontation Daisy chooses Tom. Daisy and Jay drive back to their neighbourhood, but on the drive Daisy hits and kills Myrtle - The woman that Tom is cheating on her with, though Daisy doesn’t know this. It is assumed that Jay was driving, and Jay is willing to take the blame because of his love for Daisy. Myrtle’s husband infers that Myrtle was cheating on his with Jay, and he kills Jay and then himself at Jay’s home. Tragic. A quick read, a little bit depressing, but I enjoyed being taken to the era (1922 “The Jazz Age”) and liked how the characters contrasted eachother.
This is (not) Rocket Science - This is basically a marketing book for the hardware features in the new generation of PIC microcontrollers. Still, understanding that your microcontroller is more than a tiny CPU with GPIOs will help you design your product or project in a way that only relies on software where it needs to. While it’s easy and tempting to just through a fast processor at it (and with WifI-enabled microcontrollers for under $3 how can you resist?), I still find value in microcontrollers that are purpose built for a particular task. I also find it valuable to understand the peripherals available, and this book helped me become more open to the idea of using them over ‘falling back’ on a software-only crutch.
xv6 a simple, Unix-like teaching operating system - As a very hands on guy, I really enjoyed this book. The book comes accompanied with a tiny operating system, all the code you need to build it, plus everything setup in
qemu to run it. This makes it easy to make small changes and see how they make tangible differences of the behaviour of the system. While I didn’t do all of the exercises, I did many and found them fun and beneficial, though I wish there were bundled solutions, since I always like to compare my work (Broken record, here). Overall, though, I’d probably recommend it over “the dinosaur book” Operating System Concepts as an introduction to operating systems, since I think a hands on, hollistic understand of the basic workings are a better first step to the more abstract concepts.
The Princess Bride - Having loved the movie since I was a kid, I had high hopes for this book. While it’s a good book, I don’t think it offers a lot over the movie. Every chapter or so is interjected by the author talking about the book or the movie, and I found this more confusing than anything.
World of Ice & Fire: The Untold History of Westeros and the Game of Thrones (Audiobook) - I mistakenly thought that this book was canonical gross-scale tale of westeros, but instead it’s actually just basically maesters reciting the known history of Westeros. Being a big fan of “A Song of Ice and Fire” this didn’t bother me, but it certainly slowed down how quickly I could work through it (it’s pretty dry at times). One thing that I like is that it is the maesters’ version of history, so there are certain inaccuracies in there that we would only know about because we’ve had multiple points of view through the five books. While this could be confusing to many, I think it’s par for the course for GRRM: You don’t expect a happy, just ending, and you don’t expect the correct history to be what’s passed on.
Algorithms to Live By: The Computer Science of Human Decisions - This book was rather interesting, though not too beneficial to me. The authors present pretty good introductions to a few algorithms or mathematical theorems and try to map them to applicable real life scenarios. One example of this is the “Optimal Stopping Problem”, where one has to determine when is the best time to stop looking for a better alternative, assume we can’t take back a ‘pass’ decision. The authors map this to looking for a spouse: When should you settle? While I found it interesting, I didn’t really find it practical, and I was already pretty familiar with most of the algorithms. That said, I would recommend this to a non computer scientist or programmer because it’s probably a pretty good introduction into how we solve problems using a procedural or mathematical approach.