Books I've read in the first quarter of 2017
Dan Luu praised this book in his post Programming books you might want to consider reading. I’ve read Introduction to Algorithms and The Algorithm Design Manual previously, so I thought that I was done reading general algorithms books, but I decided it wouldn’t hurt if I read this one, too. It was a great decision, because now I have a new favorite algorithms book.
As Dan said in his review, almost everything about this book is perfect. Selection of topics is slightly unusual for this type of book (in a very good way). For example, it starts with elementary number theory, used as a tool for describing the RSA algorithm. Divide and conquer chapter explains Fast Fourier Transform, and it was the clearest explanation of FFT I’ve seen so far. Every chapter starts with some basic building blocks and finally shows how they are used to build more complex algorithms, which I think is a great approach.
This book maybe not be the greatest choice for a first book to read on algorithms, because it usually gives only high-level descriptions, without some details necessary for their implementation. It’s also not as rigorous as Cormen, but that’s not really a bad thing.
This is the second book in the Richard J. Evans’ Third Reich trilogy. It is probably the most comprehensive history of the inner workings of Nazi Germany in the period of 1933-1939, from the Hitler’s rise to power to the invasion on Poland.
Every aspect of life in Germany at that time is described with incredible amount of details. You will learn how democracy gradually eroded before it disappeared completely, how every organized resistance was crushed in the way, how the persecution of the Jews evolved through time, and how the Nazi state affected every part of the cultural life: literature, music, architecture, cinema, religion, etc. You will also learn a lot about German economy in this period. Evans debunks the myth of the German economic miracle, displays the corruption of the Nazi bureaucracy and how the leaders systematically plundered not just the Jews, but also all German citizens.
No prior knowledge is required for reading. The trilogy is over 2500 pages long, which is probably too much for casual readers, but if you have the patience and you are interested in the period, it will be absolutely worth your time.
Maximum Insecurity: A Doctor in the Supermax
Federal judge Richard G. Kopf recommended this book in the Fault Lines Summer Reading List 2016. Fault Lines was the place with the best legal writing on the internet and I completely trusted the authors regarding the book recommendations. First book that I read from this list was Just Mercy: A Story of Justice and Redemption, (you should read it immediately if you care at all about the justice). Maximum Insecurity was the second.
It is a story of a burned-out physician who decided to try something new in his life and became a doctor in the Colorado State Penitentiary supermax prison, which is a part of the large prison complex that includes infamous ADX Florence. The book manages to be hilarious, despite the fact that the life in federal prison is a serious business. There were many moments when I just couldn’t stop laughing. I started writing down best prisoners’ quotes, but I soon gave up, because there were just too many of them. The book shows the human side of prisoners, and that even the most dangerous convicts are just people, facing all the problems ordinary people face (some of the problems are unique to the prison life, like shoulder pain caused by doing thousands of pushups a day). Author’s devotion to his duty was admirable and I wish more people would behave as professionally as him at their jobs. Here is what author himself says about that late in the book:
The worst of us are still human. Even sociopaths cry in the night. Murderers miss their children. Child molesters feel fear and shame. I say this not to excuse their crimes, but to remind myself that I’m not so far removed from members of our race who didn’t or couldn’t do any better. It’s what drives me to give my best efforts to those who others might say don’t deserve it.
They might be right. Perhaps some or maybe all of these inmates don’t deserve the consideration. But I didn’t become a doctor so I could judge my patients or decide who deserves care. As a man I might feel differently, but the examination room is not the place for moral judgments. I’ll leave that unenviable task to the courts and the clergy.
I remember rising with my fellow medical graduates at the University of Michigan, throat tight with emotion, to recite the Hippocratic Oath. It is a pledge to always act in the best interests of my patients.
Those words, centuries old, might seem nothing more than a quaint ritual to some, but like a trusted mentor I still carry every syllable into the clinic with me. As one of my patients remarked, “You really take this serious, don’t you, Doc.” I do. Perhaps my patient doesn’t deserve the best I can offer, but for my sake I can give no less.
A Random Walk Down Wall Street: The Time-Tested Strategy for Successful Investing
This book was on my reading list for the last several years and I finally found some time to read it. I had very high expectations, but I ended up slightly disappointed.
Book starts with the description of some famous stock market bubbles and crashes, from the tulip mania to the dot-com bubble and financial crisis of 2007–2008. It goes into too many historical details, which are really interesting, but not relevant to potential investors today. Author spends a lot of time criticizing both fundamental and technical analysis and showing bunch of investing techniques that don’t work. He is of course correct, but I was more interested in reading about what actually works.
Second part of the book is about investment strategies that do work, and it is really good. It describes strategies for all types of investments: short-term and long-term, safe and risky, etc. At the end, everything boils down to using index funds, which didn’t even exist at the time the first edition of the book came out, and in that sense this book was revolutionary.
At the end, I’m not sure if I can recommend this book, especially if you don’t want to get into too many details and just want to know how to invest your money, save the money for your kids’ college or just prepare for the retirement. You will probably be better off if you just read some of the shorter articles on the topic. Here are some that I really like:
If you can: How to Get Rich Slowly
Investing For Geeks
How I live: Organizing my finances
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
I can’t remember where I first heard of this book, but I was really excited about it. I couldn’t wait for it come out of early-access program, so I purchased it as soon as all chapters were completed. It was one of the best technical books I have read in the last few years.
The book talks about all data-related things, but it is mostly about distributed systems. I learned something new in almost every chapter. Topics include data models, fundamental data structures of the storage engine, encoding and data-interchange formats, replication, transactions, linearizability, etc. It has one of the best descriptions of transaction isolation levels (I wish I had read this chapter 10 years ago). Chapter on distributed transactions is also great, with excellent explanation of two-phase commit protocol and linearizability.
Not just that the book itself is terrific, but it also contains hundreds of useful references. Several times I lost hours just reading the links at the end of each chapter. I also got interested into distributed computing more than ever before. Go read it now.
The Elements of User Onboarding
After reading the popular UX teardown of Super Mario Run, I noticed on the website that the author actually wrote a book on the topic. The perfect way to describe it is this picture from the book itself:
If you are ever going to build anything that is facing customers, this is the book you will want to read. It’s very short, but it doesn’t waste your time. Almost every sentence is pure gold. The book gives advice for every step of the onboarding process, along with real-world examples. Every advice is immediately actionable. You might also consider buying the complete course (if the price is too high for you, you are probably not the right audience for it). At the end of the book you will find a carefully selected list of resources (I watched and enjoyed several videos from that list). If the book seems expensive, you should at least read the teardowns on the website. After doing that, you will want to buy the book.
Marriage, a History: How Love Conquered Marriage
It always bothered me when people talk about a “traditional” marriage like some kind of natural thing that existed since the beginning of human race. I usually read books that someone recommended to me, but this time I made an exception and went searching for some definitive history of marriage. This book looked like the closest thing to what I wanted to read.
The book describes all kinds of marriages that existed throughout human history, but only the first chapter of the book was about the weird ones, and that was the most interesting part. It turns out that it’s hard to even define marriage. Sometimes it’s defined statistically, by measuring the most common functions it performs. Sadly, other parts of the book were not interesting to me. The book itself is well-written, but the marriage in the last two millennia is just not interesting institution at all. In Roman times it used to be equivalent to today’s business mergers, the idea of romantic love in marriage started in 19th century, and the “traditional” marriage, with bread-winner husband and stay-at-home wife, appeared only in the ’50s.
Again, I can’t say anything bad about the book itself. It contains a lot of information, but I guess I was not as interested in the topic as much as I thought.
Locked In: The True Causes of Mass Incarceration
The United States is home to 5% of the world’s population, but if houses 25% of the world’s prisoners. Everybody agrees that the reform is needed, but almost everybody has a different opinion on how it should be done, and almost everybody is wrong. John Pfaff writes a lot about common misconceptions, and I first became familiar with his work through his excellent article The War on Drugs and Prison Growth. While reading this great interview I discovered that he is writing a book on the topic and I immediately preordered it.
The book finally came out on February 7th. It is incredibly well researched (almost one third of the book are footnotes), but it is also very easy to read, unlike most other academic works. Every claim is backed by the data, mostly from the Bureau of Justice Statistics. The book is divided into two parts. The first part, called The Standard Story, talks about the common, wrong ways people are trying to address the prison problem. Usual suspects are The War on Drugs, long sentences and private prisons. None of these is the real cause of why the prison population has skyrocketed in the last few decades.
The second part of the book gives the Pfaff’s explanation of the prison growth and the real reforms that would help solving the mass incarceration problem. Pfaff’s theory is that the real cause of the problem is increased prosecutorial toughness. The other part of the problem, that most people are not aware of, is that more than half of all people in state prisons have been convicted of a violent crime. Unfortunately, the magic wand that would solve the prison problem does not exists. There will no bill that legislators could sign and thus end the mass incarceration. The author says:
Any significant reduction in the US prison population is going to require states and counties to rethink how they punish people convicted of violent crimes, where “rethink” means “think about how to punish less.”
Sadly, that is not the reform people would support (read this to see why), so at the end the author is not overly optimistic. If you care about the topic, I would definitely recommend reading this book.
Jackass Letters: Archive Volume 1
This short book is a collection of Christopher Jorgensen’s hilarious correspondences with various corporations and celebrities. The recipients of his letters are NASA, Archbishop of Canterbury, and Arnold Schwarzenegger, among others. All of these letters can be found online, but I still absolutely recommend buying the book, at least for supporting the author. It can also be a great present! If you are not convinced, just read the excerpt his letter to Exotic Feline Rescue Center. If it doesn’t make you smile, you don’t have a soul.
Every year around this time my thoughts turn to Christmas, which then makes me think of Jesus, which makes me think of Christians, which makes me think of lions, and then I smile.
Outrageous Tales from the Old Testament
I’m not a fan of graphic novels. I’ve read The Dark Knight Returns, Watchmen, and lot of others that I can’t remember right now. They always left me unimpressed. But this collection was short and looked interesting, because I like good religious satire.
It’s the collection of crazy stories from the Old Testament, seen through the eyes of Alan Moore, Neil Gaiman, Dave Gibbons and others. Stories are of varying quality. Some of them are quite good, but that’s usually because the original stories from the Bible are absurd to begin with (Book of Job is my favorite example). I’m not really competent to say anything about the quality of the drawings and visual style; you might want to read the review from someone who actually knows something about graphic novels. Anyway, this is a very short book and you can’t go wrong with it (if you can find it).
The Injustice System: A Murder in Miami and a Trial Gone Wrong
English jurist William Blackstone famously said:
Better that ten guilty persons escape than that one innocent suffer.
But does that principle actually hold in practice? What does “beyond a reasonable doubt” phrase actually mean in practice?
Kris Maharaj was found guilty and sentenced to death in 1987 for two murders he didn’t commit. Author of the book, Clive Stafford Smith, met him seven years after the conviction and took over his case after all previous direct appeals failed. This book is the story of the failed fight to free Kris.
Everything that is wrong in the US criminal justice system was present in this case: incompetent public defender, lying prosecutor and witnesses, Brady and Miranda violations, junk forensic science. One would think that people charged with capital murder are entitled to best possible defense, but it’s actually completely opposite in practice, because capital defense is extremely expensive. Justice usually depends upon enthusiastic, overworked lawyers working for free. Factually innocent clients are the most difficult to work with; what could they possibly tell you about the case? They are also not willing to invest large sums of money to pay their lawyers. Why would they do that, how could the jury possibly say they are guilty, right?
After twenty years of legal fight, the Supreme Court of the United States denied to hear Kris’ petition. Today, Kris is still in prison. This book is required reading if you want to better understand how justice system works in the United States and how it’s actually designed to fail. If you are still not convinced, read Jeff Gamso’s review here.
120 Years of Vlambeer & Friends
Vlambeer is an independent game studio (if you can call it that, because it’s just two guys, Rami Ismail and Jan Willem Nijman), best known for their video games like Ridiculous Fishing and Nuclear Throne. Former may be my favorite iOS game, and latter is among my favorite roguelike games of all times. When I saw at Kotaku that there is a book about them with the big collection of artwork, I had to buy it immediately.
It’s an absolutely wonderful book. It’s filled up with huge amount of beautiful design sketches and artwork, but it also contains a relatively short history of the studio, which I also enjoyed. It’s a must buy if you love Vlambeer (and how can anybody not love them after reading the names of the moves in their Karate game: uppera-kuttu and eartha-shattaru), or just indie game scene. The only downside to buying the book is that it’s a bit pricey, and the shipping costs might exceed the price of the book (it’s only available via Cook & Becker, and they offer some weird shipping options).
A Box of Bunny Suicides is a literal box containing the first two books in bunny suicides series, The Books of Bunny Suicides and Return of the Bunny Suicides. Each of them is absolutely hilarious. You will “read” both of them in less than half an hour. Highly recommended.
Command and Control: Nuclear Weapons, the Damascus Accident, and the Illusion of Safety
Command and Control presents the history of nuclear weapons in the United States, covering topics like the Manhattan Project, bombing of Hiroshima and Nagasaki, development of thermonuclear weapons, Cuban Missile Crisis, and a large number of nuclear weapon accidents.
Main topic of the book is the 1980 Damascus Titan missile explosion. Amount of details Schlosser managed to collect is impressive. Sadly, the story was quite difficult to follow. It was intertwined with the history of nuclear weapons, and the frequent interruptions ruined my experience. Too many people were involved in the incident and the story requires focus that cannot be accomplished with this presentation style. My impression is that the book would have been much better if it was shorter.
The book was also too subjective for my taste at some moments. Author is great reporter, but not a historian. Overall, I can’t recommend the book, but everybody else seems to like it, so I’m probably wrong in this case.
The Practice of Cloud System Administration: DevOps and SRE Practices for Web Services, Volume 2
The Practice of Cloud System Administration (commonly referred to as The Cloud Book) came out before the famous SRE Book, but it never received much attention. They partially overlap, but if you have the time, you should probably consider reading both.
This is the book about building and running large cloud-based services. It is aimed more towards system administrators, but it will certainly make you a better developer, too. Every aspect of designing and operating the service is covered here. You will learn more about high-level principles, without hearing about concrete technologies used to achieve them. It is really important, because large part of software companies don’t even know that best practices in running large systems exist, let alone implement them. Every topic in the book could be expanded into a complete book (like The Art of Monitoring and The Art of Capacity Planning, which are my two next stops).
Important part of the book are real-world stories; the book is worth its price just because of them. One of my favorite chapters talked about the Google’s Disaster Recovery Testing (DiRT), which is an exercise done at a large scale to test all kinds of disaster scenarios. Here is an adapted example from one real world DiRT exercise:
A new email appears in my inbox explaining that zombies have invaded Georgia and are trying to eat the brains of the datacenter technicians there. The zombies have severed the network connections to the datacenter.
If you are interested in best practices running large cloud-based systems, or really any kind of internet-based service, this book has my seal of approval.