Bookshelf

My pick of technical books, blog posts, and talks

Recommended Books

Title Review
Refactoring UI
Adam Wathan, Steve Schoger
Beautiful book with recommendations and tips about UI design. It did not make me a designer, but I learned some useful things.
A Philosophy of Software Design
John Ousterhout
Short, straight to the point book about managing software complexity with tips and examples.
Functional programming in Scala, 2nd edition
Michael Pilquist, RĂșnar Bjarnason, Paul Chiusano
Great pedagogical introduction to functional programming with exercises. The concepts are quite general and apply to all languages, Scala is just better suited for expressing them and is more pleasant to code in.

Not Generally Recommended

Title Review
Akka in action, 2nd edition
Francisco Lopez-Sancho Abraham
Overview of the reactive programming framework Akka. Good for general overview, poor for explaining when and how to actually build one.
Effective Java, 3rd edition
Joshua Bloch
Large excursion into Java language features, which are not that unique to begin with.

Favorite Blog Posts

Title Review
There are at least three types of strings
Stephen Compall (Typelevel)
Superb example of benefits one can get from using a capable type system, sometimes even for free!
API Design for Heaps (aka Priority Queues)
Chris Okasaki (Typelevel)
Interesting blog post about iterating on api design of a heap data structure in Scala.

Favorite Tech Talks

Title Review
Making Impossible States Impossible
Richard Feldman (elm-conf)
Simple idea that protects your code from bugs - make illegal states unrepresentable by your data model.