The Best Books I Read in 2019

December 25, 2019

I have read many books in 2019; let’s forget most and talk about the good ones.

There is no particular order, but I broke down my recommendations by categories: technical, non-fiction and fiction.

This is a yearly tradition! You can read my book reviews for 2015, 2016, 2017 and 2018.


The Rust Programming Language

The Rust Programming Language

Last year, I wrote about Programming Rust and how I felt about the language. This year, I feel the same but stronger. 😄

I’ve given Rust a good effort and did a major chunk of the Advent of Code 2018 in Rust. Overall: it’s not perfect but it’s definitely one of my favorite languages.

If I could go back, I would want to read The Rust Programming Language first. It’s well-written, accessible, and friendly. And, good news, the book is available online for free.

I would still read Programming Rust, which I feel reinforced the ideas and presented from a slightly different perspective. I also think it makes for a better reference book.

The Rust Programming Language is sometimes just called “the book”. In practice, I had found the online version without ever connecting it to the physical book – I didn’t know it was the same book… everything is obvious (only) in retrospect.

Kubernetes in Action

Kubernetes in Action

Did you know that Kubernetes means
“complicated” in Greek? </joke>

Seriously, I have mixed feelings about Kubernetes. Yes, it solves a bunch of problems we had with deployment, redundancy, resource utilization, etc … but it’s an ecosystem of technologies that is super complicated, and, seemingly, not getting simpler – or, at least, not yet. It feels like a Faustian pact, a tradeoff of conveniences and complexities that I’m not always ready to embrace.

The good news is Kubernetes in Action is a life-saver. I only have good things to say about this book. The subject matter itself is dry and it’s not exactly bedside reading material – but, the book itself is clearly-written, logically organized, contains most of what you need to know, and serves as a great reference.

If you work with Kubernetes and need to untangle it all, this is the book for you.

The Linux Programming Interface

The Linux Programming Interface

This one is a tough one….

First of all, it’s a monster of a book: it’s 1552 pages, weighs over 5 lbs (2.3 kg) and could be used to kill someone.

As for the content, it is generous with sample C code, historical explanations, and warnings about the (in)compatiblity mess we live in.

This was not a book that I enjoyed reading … and yet, I was happy to have read it (especially when it was done). I found that other parts of the programming world suddenly “made sense”, given the proper historical context. Also, it’s sometimes easier to understand how things work when you know what lies underneath.

My recommendation: use it as a reference, skip the C code until you need it, and browse the table of contents first.


Why We Sleep

Why We Sleep

We spend almost a ⅓ of our lives sleeping, but science still doesn’t have clear answers about the purpose of sleep… until now?

There was a lot of buzz when this book came out, and the author was suddenly everywhere talking about his book. Bill Gates also reviewed the book and it made his shortlist.

Sleep research has been progressing slowly over time. We have solved some of the mysteries, and have never known more than we do now. This book acts as a summary of the research and findings.

I was already a believer in “a good night’s sleep”; hopefully 8 hours during the week, and more on the weekend. This book didn’t have to do a lot of convincing… Sleeping is good, and the lack of sleep will ruin your health.

But, I felt that the book was overreaching by the end: “more sleep” had become the author’s one-solution to all problems. (Bill Gates echoes the feeling)

Because Internet

Because Internet

Languages evolve and the Internet seems to accelerate the process. It also allows linguists to track trends over time and space in a way that wasn’t possible before.

For example, the book goes over the (relatively recent) adoption of “hello” as a greeting. It became popular because it was used to answer the phone. Previously, people used “hi” or “good morning” as a greeting, while “hello” was used to attract someone’s attention.

This book is filled with a bunch of those stories like this one, and other historical perspective on slang, jargon, punctuation, capitalization, emojis, memes, and so much more.

The medium is the message, and that’s also a focus of this book: the technologies you use and when you adopted them will influence how you communicate. It’s interesting stuff especially if you’ve lived through most of it.

Envisioning Information

Envisioning Information

The author, Edward Tufte, published a series of beautiful books about information design. This one just happens to be the first one I picked up.

The whole collection:

These books are seminal works on information design; the books that other books put in their bibliographies. It’s easy to read Tufte’s books and claim “it’s obvious” while forgetting that you’re reading the original source!

Beyond the historical importance, it’s a guided tour through good and bad data visualizations. What’s the best way to display data? What are the alternatives? What’s the importance of color, contrast, comparison? How many dimensions can fit in a 2D visualization?

Beautiful examples from many sources (geographical and historical) are given, sometimes with explanations, sometimes for you to contemplate.

The Nature of Technology

The Nature of Technology

What is technology?

Is it obvious? Or do you need a moment to pin it down?

The Nature of Technology is an “academic” book that seemed focused on “the details”, but that also explained things I hadn’t fully understood before.

The main ideas are summarized here. Here’s one example:

🤔 yeah… I guess.

More importantly (for me): new “superior” technologies often take decades to be adopted because of the “ecosystem” of technologies necessary to exploit them to their full extent.

For example: a new programming language might have many advantages … but until tooling catches up, useful libraries are written, and enough people know how to use it effectively, the “advantages” might be balanced by more pragmatic considerations. Eventually, the adoption of that new language is “obvious” (especially for new projects), but it might take a long time to get there. Old technologies take a long time to die.



Series: 4 books, complete.


I think the most interesting aspect of zombie books is how society disintegrates, almost overnight. What happens afterwards often focuses on the group dynamics and the drama (*cough* the walking dead *cough*).

There are no zombies in Commune, but it definitely falls into that category of stories. I’ve explained it as a zombie-story-without-zombies; in this case, it’s a solar storm, followed by a plague.

As usual, everything goes to shit. People divide “the real assholes”, “psychopaths on the loose” and “good people who must do bad things”… It’s a bit predictable but it’s an enjoyable and heartbreaking ride.

What made Commune special was:

It’s not high art, but it’s a fun read.

Ancillary Justice

Series: 3 books, complete.

Ancillary Justice

This book had been on my shortlist for a while; it won the Hugo, Nebula, Locus Awards and a bunch more. The Audible reviews, however, were very critical of the narration… I did what I wouldn’t normally do: I read it in paper format.

I can understand the narration challenges: the book is narrated from the perspective on an AI who inhabits multiple bodies at the same time – making singular and plural subjective. On top of that, the AI is gender-blind, so the default pronoun for all characters is “she”. It’s only through indirect clues, or other people talking, that gender is revealed.

No other book has made me want to wear gloves and drink tea as much as this one 😄 Although Ninefox Gambit came pretty close.

The AI perspective beyond the easy “AI wants to be human” or “AI wants to kill us all” was refreshing. The “alien” perspective of being a spaceship and having multiple bodies simultaneously was also interesting. There are a lot of good ideas in there.

I felt the ending was both disappointing and satisfying at the same time. It was … an appropriate ending.

House of Suns

House of Suns

I’ve read most of Alastair Reynolds’s books… and picked this one up on a whim. I prefer longer series but I had run out of material…

(Sidenote: I watched Love, Death & Robots and was impressed by Zima Blue, which I later discovered had been written by Alastair Reynolds.)

I read science fiction to be exposed to “things I had never thought about” … I try to avoid science fiction as “drama in space”. This book did not disappoint. A sample:

And when I thought “oh, that’s what this story is about…”, I found that I wasn’t thinking big enough.

However, a warning: Reynolds doesn’t “explain”. His books expect you to stick around long enough for the details to fall into place. That can be a jarring experience, like being thrown in the middle of a conversation… I can vouch that everything eventually makes sense.

Great North Road

Great North Road

Another book from my “favorite author pile”. Great North Road is a standalone book: it’s a murder investigation, a monster story, a cover-up, and a space opera.

Imagine a group of corporations ran by clones of the same man. Imagine investigating the murder of an unidentified clone … across multiple planets. This one will keep you guessing…

The author, Peter F. Hamilton, is known for his universe-building series and multiple intertwining storylines. This book is a delicious appetizer hinting at what his other books offer. If you like this one, there’s a lot more where that came from.

Closing Thoughts

If you have liked this blog post, please write your own. I want to read your book reviews and recommendations.

Discuss on Twitter