Nithin Bekal Posts About

Favorite Books of 2016

09 Feb 2017

41 books and over 13,000 pages. Despite reading quite a few books in 2016, this list will be much shorter than the one from last year.

Non fiction

1. What If: Serious Scientific Answers to Absurd Hypothetical Questions (Randall Munroe)

As a huge fan of the XKCD comics I’ve always wished for a prose version of XKCD. This collection of weird “what if” questions are exactly what I was hoping for. The amount of thought that Munroe has put into questions like “what would happen if you hit a baseball at 90% speed of light?” is simply incredible. One of the funniest books and most entertaining science books I’ve come across. It had me laughing out loud every few pages.

2. Cosmos (Carl Sagan)

I wish I had read this sooner. There are few books that have influenced a generation of science enthusiasts the way Cosmos has done. On the surface, it is a history of our Universe, but it also contains Sagan’s reflections on our place in it. This goes straight into my list of favorite science books.

3. The Ascent of Money (Niall Ferguson)

An excellent history of financial systems, starting with clay tablets in ancient Mesopotamia all the way through currency, stocks, bonds and the housing bubble of 2008. There are places where I found the technical details hard to follow, and wished there was more explanation of the jargon. But it’s an excellent read about how the evolution of finance has affected history.

4. The Sceptical Patriot (Sidin Vadukut)

Fact checks some common “email forward facts” about India, like Susruta being the world’s first plastic surgeon, or the invention of zero, or Sanskrit being the most suitable language for computers. Each chapter walks through the history behind one such claim. Many of these “facts” are indeed factual, in case you thought this was all about disproving them.

Vadukut is right at home in the pop history genre. I used to read his blog years ago, and it’s nice to see him turn to writing a non-fiction book. His writing is engaging and funny, and I find his non fiction a lot more fun than his novels.


1. Elixir in Action (Sasa Juric)

Elixir has two awesome introductory books - this one and Dave Thomas’ Programming Elixir. Dave’s book focused more on the language, while this one walks through building an app using the power of Elixir and OTP, and then looking into scaling and distribution. This book is more practical, although it skips on some of the language features (macros, testing, etc) that are covered in Dave Thomas’ book.

2. Programming Phoenix (Chris McCord, Bruce Tate, Jose Valim)

Not only is this an excellent introduction to Phoenix, but also helped clarify some features of Elixir, like protocols, that I hadn’t understood before. Most books about web frameworks become outdated before they are even published. But this one does a great deal to explain how to use OTP to build concurrent, scalable systems with Phoenix, and that will keep the book relevant for quite a while. The second part of the book, which covers the realtime features of Phoenix, is something I expect to return to many times in the future.

3. Test-Driven Development, By Example (Kent Beck)

Fantastic introduction to TDD. The examples are such that they are great for learning about good design principles as well. Not too surprising since TDD is all about achieving good design. A must-read for every software developer.


1. New Spring (Robert Jordan)

A final chance to revisit the Wheel of Time characters. Four years, 15 books and 12,000-odd pages after starting the series, I’m finally done. Although there are individual books that are disappointing, this series as a whole is one of the best in the fantasy genre.

This prequel is mostly background on 3 major characters in the main series - Siuan, Moirane and Lan. The plot moves glacially for the first three-quarters of the book and then picks up at the very end. I learned a few things about the Wheel of Time world that I hadn’t noticed in the other books. Definitely worth a read if you liked the series.

2. Brave New World (Aldous Huxley)

It’s difficult to talk about this book without mentioning 1984. They represent two kinds of totalitarianisms - Orwell’s is one driven by fear, while Huxley’s is driven by conformity, and we see a bit of both in the world around us. Like 1984, Brave New World is a book worth reading, because it makes you think deeply about what kind of world you’re living in.

3. Ender’s Game (Orson Scott Card)

The book has its flaws - the characters aren’t entirely 3 dimensional, the plot has far too many holes in it and has all the subtlety of a battering ram, and there’s a whole unnecessary chapter at the end that just sets up the sequel. But it’s a damn good work of military scifi. It got me hooked right away, despite already knowing the plot through the movie.


I’ve started reading Patrick Rothfuss’ Name of the Wind, and hope to read one of Brandon Sanderson’s Mistborn books this year. I have 44 unread books now, 30 of them ebooks. Those should keep me busy through 2017.

Nithin Bekal
Hi, I’m Nithin! This is my blog about programming. Ruby is my programming language of choice and the topic of most of my articles here, but I occasionally also write about Elixir, and sometimes about the books I read. I'm @nithinbekal on Twitter.