Favorite books

Here's a list of books that made a strong impression on me when I read them.

See also the full list of book that I read.

The Better Angels of Our Nature: Why Violence Has Declined

This is one of the best books I’ve read in years, and certainly one of the most hopeful books.

Steven Pinkert convincingly makes the case that violence today, in all its forms, is at an historical low and has been on the decline throughout human history. Ranging from big stuff such as murder and torture, to smaller forms of violence as depicted in advertising in the 1950s, violence is clearly on the decline. This has huge implications for society and politics.

“The decline of violence may be the most significant and least appreciated development in the history of our species. The implications touch the core of our beliefs and values — for what could be more fundamental than an understand of whether the human condition, over the course of its history, has gotten steadily better, steadily worse, or has not changed?”

The book’s message resonates greatly with me: life nowadays is better than ever, and modernity is a force for the good, fueled by the ascent of reason. This is a very hopeful book.

The first part of the book, describing historical trends, is stronger than the second part where the author goes into detail on how the human minds works. A minor point of criticism is that some of his statements about more recent history, indicating that the US is becoming more liberal, seem a little premature, even though the long-term trend is probably correct.

I bought this book at the airport in San Francisco, traveling back from work.



Book details:

   The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker. ISBN: 978-0670022953.
   I read this book in English.

   This book is one of my all-time favorites.

Data-Intensive Text Processing with MapReduce

It’s beautiful to see a real change in paradigm happening. I remember in college how much I enjoyed programming in functional languages, and how cool it is to be able to look at problems from a different viewpoint. What Google and others have achieved with MapReduce a similar change in the way of looking at problems.

MapReduce is the name of Google’s base algorithm for their processing of huge data sets. Since then, other companies have followed suit. I didn’t know much about this field and this book is a great introduction. It provides a good description of the foundation, and I love it that it describes practical uses. Examples they gave are machine translations, Google’s PageRank, shortest path in a graph etc.

Actually in use

What I like about MapReduce is that it provides an abstraction for distributed computing that is actually being used and is succesful. The book showed the scaling characteristics of an example algorithm (strips for computing word co-occurrence) on Hadoop: a R^2 of 0.997! That means that there is almost a linear scalability increase when you add extra machines.

Want to read more

This is one of those books that makes you want to read more. For example, since reading this book I’ve looked into terms such as Zipfian, Brewer’s CAP Theorem and Heap’s Law. I still need to learn more about Expectation Maximization and “Hidden Markov Models”, harping back on some fundamental mathematics I had in college.

I want to read more about machine translations now, Koehn’s book perhaps. And definitely want to read the Google article, about “unreasonable effectiveness of data”.

This is an excellent book, which provides a very readable introduction to the algorithms and real-world implementations.



Book details:

   Data-Intensive Text Processing with MapReduce by Jimmy Lin, Chris Dyer. ISBN: 9781608453429.
   I read this book in English for work.

   This book is one of my all-time favorites.

Operating Systems: Design and Implementation

My first introduction to large scale development.

When I was 16 years old I borrowed this book from our neighbor next door. I brought it on vacation in France, and still remember the smell of fresh cut grass when I was reading this book in France, over and over again. The Appendix contained the entire source code of Minix.

Years later when I did my Master’s Degree in Amsterdam I followed two courses by the author, Andrew Tanenbaum.



Book details:

   Operating Systems: Design and Implementation by Andrew S. Tanenbaum.
   I read this book in English for work.

   This book is one of my all-time favorites.

Gödel, Escher, Bach: An Eternal Golden Braid

This book needs no further introduction. I read it when I was 14, 15 and this helped me decide to take on a degree in Computer Science.



Book details:

   Gödel, Escher, Bach: An Eternal Golden Braid by Douglas Hofstadter.
   I read this book in English for work.

   This book is one of my all-time favorites.

Design Patterns: Elements of Reusable Object-Oriented Software

In my first job at Chess patterns where just coming in fashion in the mid-1990’s. Can’t say that the GoF is a book that’s great to read but it has a wealth of knowledge distilled.



Book details:

   Design Patterns: Elements of Reusable Object-Oriented Software by Gang of Four.
   I read this book in English for work.

   This book is one of my all-time favorites.

What Got You Here Won't Get You There: How Successful People Become Even More Successful

Another self improvement book! Aside from the usual fluff, this book did provide some good lessons. Too embarrassing to write about in a public blog, but I recognized my own behavior in some of the stories.



Book details:

   What Got You Here Won't Get You There: How Successful People Become Even More Successful by Marshall Goldsmith.
   I read this book in English for work.

   This book is one of my all-time favorites.

Managing Humans, biting and humorous tales of a software engineering manager

A great, fun read with experiences of a fellow engineering manager. Very recognizable.



Book details:

   Managing Humans, biting and humorous tales of a software engineering manager by Michael Lopps.
   I read this book in English for work.

   This book is one of my all-time favorites.

Server-Based Java Programming

Years ago, in 2004, I ran my first project as a team-lead. We created a small transactional site for a TV-show, some type of lottery, and we knew that we would have a massive amount of traffic on the evening of the broadcast.

It was right around this time that I read this book, and it had some great info about multi-threading and scalability.

When the day of the TV show came, all was well and the server held up beautifully. A few days later we heard that the government had stopped the lottery from functioning since it turned out to break certain regulations. So there was no winner in the lottery but… my first high-profile project worked.

I’m sure it’s dated now, but at the time it was a great read.



Book details:

   Server-Based Java Programming by Ted Newark.
   I read this book in English for work.

   This book is one of my all-time favorites.

Hiring the Best: Manager's Guide to Effective Interviewing and Recruiting

This is good read on interviewing and hiring new employees. It helps you get in the right mindset to interview people.

When I read it the first time a few years ago it also helped me get up to speed with how interviews are done in the United States.



Book details:

   Hiring the Best: Manager's Guide to Effective Interviewing and Recruiting by Martin Yate.
   I read this book in English for work.

   This book is one of my all-time favorites.

Popular content