Book Reviews
This page contains reviews of some technical books I've read since June 2005. My long term goal is to create lists of recommended reading on different subjects.
Lisp
Clojure for Machine Learning by Akhil Wali
Clojure for the Brave and True by Daniel Higginbotham
Mastering Clojure Macros by Colin Jones
Clojure for Domain-specific Languages by Ryan D. Kelker
Clojure High Performance Programming by Shantanu Kumar
The Art of the Metaobject Protocol by Gregor Kiczales, Jim des Rivieres and Daniel G. Bobrow
Clojure Data Analysis Cookbook by Eric Rochester
Loving Common Lisp, or the Savvy Programmer's Secret Weapon by Mark Watson
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig
The Joy of Clojure by Michael Fogus and Chris Houser
Clojure Programming by Chas Emerick, Brian Carper and Christophe Grand
Practical Clojure by Luke VanderHart and Stuart Sierra
Programming Clojure by Stuart Halloway
Structure and Interpretation of Computer Programs by Abelson and Sussman
Let Over Lambda by Doug Hoyte
ANSI Common Lisp by Paul Graham
Practical Common Lisp by Peter Seibel
Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS by Sonya E. Keene
The Seasoned Schemer by Daniel P. Friedman, Matthias Felleisen
The Little Schemer - 4th Edition by Daniel P. Friedman, Matthias Felleisen
Smalltalk
Pharo by Example by Black, Ducasse, Nierstrasz and Pollet
Haskell
Learn You a Haskell for Great Good! by Miran Lipovaca
C++
Multi-Paradigm Design for C++ by James O. Coplien
The C++ Standard Library Extensions: A Tutorial and Reference by Pete Becker
Advanced C++ Programming Styles and Idioms by James O. Coplien
Beyond the C++ Standard Library: An Introduction to Boost by Björn Karlsson
Effective C++ Third Edition by Scott Meyers
C++ Template Metaprogramming by David Abrahams, Aleksey Gurtovoy
Erlang and Elixir
Programming Elixir by David Thomas
Erlang and OTP in Action by Martin Logan, Eric Merritt and Richard Carlsson
Erlang Programming by Francesco Cesarini and Simon Thompson
Programming Erlang: Software for a Concurrent World by Joe Armstrong
Multicore
Professional Multicore Programming: Design and Implementation for C++ Developers by Cameron Hughes and Tracey Hughes
The Art of Multiprocessor Programming by Maurice Herlihy and Nir Shavit
.Net
WCF Cookbook by Steven Cheng
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) by Krzysztof Cwalina and Brad Abrams
Fluent C# by Rebecca M. Riordan
Pro .NET 4 Parallel Programming in C# by Adam Freeman
Parallel Programming with Microsoft .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures by Colin Campbell, Ralph Johnson, Ade Miller and Stephen Toub
C# 4.0 in a Nutshell: The Definitive Reference by Joseph Albahari and Ben Albahari
Effective C#: 50 Specific Ways to Improve Your C# by Bill Wagner
Patterns
Refactoring for Software Design Smells by Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma
Patterns of Software: Tales from the Software Community by Richard P. Gabriel
The Patterns Handbook : Techniques, Strategies, and Applications by Linda Rising (Editor)
The Timeless Way of Building by Christopher Alexander
OCaml
OCaml from the Very Beginning by John Whitington
Practical OCaml by Joshua B. Smith
Java
Clean Code by Robert C. Martin
Beyond Java by Bruce Tate
Processing, Generative Art
The Nature of Code: Simulating Natural Systems with Processing by Daniel Shiffman
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction by Daniel Shiffman
Forth
Thinking Forth by Leo Brodie
JavaScript
JavaScript Patterns by Stoyan Stefanov
JavaScript: The Good Parts by Douglas Crockford
JavaScript: The Definitive Guide, 4th Edition by David Flanagan
Prolog
Programming in Prolog by Clocksin, W.F. and Mellish, C.S.
Python
Programming Collective Intelligence by Toby Segaran
Dive into Python 3 by Mark Pilgrim
Learning Python by Mark Lutz
Testing
Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory
Ruby
Programming Ruby, Second Edition by Thomas, Fowler, Hunt
Psychology and Learning
Peak: Secrets from the New Science of Expertise by Anders Ericsson and Robert Pool
The Wisdom of Psychopaths: What Saints, Spies, and Serial Killers Can Teach Us About Success by Kevin Dutton
Snakes in Suits: When Psychopaths Go to Work by Paul Babiak and Robert D. Hare
In the Theater of Consciousness: The Workspace of the Mind by Bernard J. Baars
Forensic Psychology by David Canter
On Intelligence by Jeff Hawkins
The Mind of a Mnemonist - A little book about a vast memory by A. R. Luria
Psychopathology of everyday life by Sigmund Freud
Dreaming by J. Allan Hobson
The Mind Map Book by Tony Buzan and Barry Buzan
The Time Paradox by Philip Zimbardo and John Boyd
A Whole New Mind by Daniel H. Pink
Pragmatic Thinking and Learning by Andy Hunt
The Lucifer Effect by Philip Zimbardo
Design and Architecture
Building Microservices by Sam Newman
Object-Oriented Metrics in Practice by Michele Lanza and Radu Marinescu
Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce
The Architecture of Happiness by Alain De Botton
Machine Beauty by David Gelernter
Domain-Driven Design by Eric Evans
Business
The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data by Gene Kim
Founders at Work: Stories of Startups Early Days by Jessica Livingston
Eric Sink on the Business of Software by Eric Sink
In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters by Merrill R. Chapman
Web Development
Head First HTML with CSS & XHTML by Eric Freeman, Elisabeth Freeman
The CSS Anthology: 101 Essential Tips, Tricks & Hacks by Rachel Andrew
PHP 5 Objects, Patterns, and Practice by Matt Zandstra
PHP Bible, 2nd Edition by Tim Converse and Joyce Park
Modeling, UML
Agile Database Techniques : Effective Strategies for the Agile Software Developer by Scott Ambler
The Elements of UML 2.0 Style by Scott W. Ambler
A UML Pattern Language by Paul Evitts
The Object Primer : Agile Model-Driven Development with UML 2.0 by Scott W. Ambler
User Interface Design
The Design of Everyday Things by Donald A. Norman
User Interface Design for Programmers by Joel Spolsky
Biographies and Computing History
A Mind at Play: How Claude Shannon Invented the Information Age Jimmy Soni and Rob Goodman
The Apollo Guidance Computer: Architecture and Operation by Frank O'Brien
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
Coders at Work by Peter Seibel
Masterminds of Programming by Federico Biancuzzi and Shane Warden
Soul of a New Machine by Tracy Kidder
Dreaming in Code by Scott Rosenberg
iWoz: Computer Geek to Cult Icon by Steve Wozniak (Author), Gina Smith (Contributor)
Hackers: Heroes of the Computer Revolution by Steven Levy
Cube Farm by Reverend Bill Blunden
Math
Statistics Done Wrong by Alex Reinhart
Tools
The Definitive ANTLR 4 Reference by Terence Parr
General Programming Books
The Leprechauns of Software Engineering by Laurent Bossavit
A Machine Made this Book by John Whitington
Making Software by Andy Oram (ed.) and Greg Wilson (ed.)
97 Things Every Software Architect Should Know edited by Richard Monson-Haefel
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas
The Best of Verity Stob by Verity Stob
Facts and Fallacies of Software Engineering by Robert L. Glass
Extreme Programming Refactored: The Case Against XP by Matt Stephens, Doug Rosenberg
The Tao of Programming by Geoffrey James
Hackers and Painters: Big Ideas from the Computer Age by Paul Graham
The Best Software Writing I by Joel Spolsky (Editor)
Extreme Programming Explained : Embrace Change (2nd Edition) by Kent Beck with Cynthia Andres
Joel on Software by Joel Spolsky
Code Complete, Second Edition by Steve McConnell
Working Effectively with Legacy Code by Michael C. Feathers
Leadership, Management
Rework by Jason Fried and David Heinemeier Hansson
Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink
The Design of Design by Frederick P. Brooks
Smart and Gets Things Done by Joel Spolsky
The Wisdom of Crowds by James Surowiecki
The Psychology of Computer Programming: Silver Anniversary Edition by Gerald M. Weinberg
Toyota Production System: Beyond Large-Scale Production by Taiichi Ohno
Flipp eller Flopp? Om Misslyckandets Dynamik by Lars Strannegård (Review in Swedish)
Fursten (Il principe) by Niccolo Machiavelli (Review in Swedish)
Linux
The Art of UNIX Programming by Eric S. Raymond
Linux and the Unix Philosophy by Mike Gancarz
The Cathedral & the Bazaar by Eric S. Raymond