Programming collective intelligence

book coverProgramming collective intelligence : building smart Web 2.0 applications / Toby Segaran, O’Reilly, c2007.

Most programmers will find this book fascinating. What algorithm does Amazon use to predict what books are likely to interest you? Netflix with DVD’s? Google with search results? Example algorithms are in Python. With a foreword from Tim O’Reilly and a recommendation from Dan Russell, Google’s ‘Uber Tech Lead’.

Thinking inside the box

Thinking inside the box : the 12 timeless rules for managing a successful business / Kirk Cheyfitz. Free Press, 2003

This timeless book should be read by everyone wanting to run a business profitably. Or choose a business to invest in, or work for. It is quite readable, and the 12 chapters are independent so you can put it down at the end of a chapter without losing context.

Smart and gets things done

Smart and gets things done : Joel Spolsky’s concise guide to finding the best technical talent / Joel Spolsky. Apress, 2007.

This is for the HR person charged with hiring programmers, and the software manager. It is also obliquely for the programmer who is unsure why he does not like his current job, and needs to know what questions to ask of a prospective employer.

Spolsky writes in a lucid and flowing manner, as you will know if you have been reading his previous books on software design and his blog.

Professional C++

book coverProfessional C++ / Nicholas A. Solter, Scott J. Kleper. Wiley, c2005.

Here is everything a programmer needs to get going in C++. It’s a thick book, but it does not cover everything because there are so many details in C++. Job seekers will value the appendix, which lists likely interview questions. Managers who interview programmers will find this useful too.

Ajax in action

book coverAjax in action / Dave Crane, Eric Pascarello; Manning, c2006.

This is the best book on AJAX programming that I have seen. It used to be that Javascript was for small and crufty hacks, but now full apps run in the browser environment. The code needs to be structured to be maintainable. This well written and engaging book looks at web app design from all angles.

C++ coding standards

book coverC++ coding standards : 101 rules, guidelines, and best practices / Herb Sutter, Andrei Alexandrescu. Addison-Wesley, 2005

Such a simple yet invaluable book to anyone coding in C++, because code readability is so important. Lend it to co-workers and hope they read it.

The recommended standards are practical, and after you have read this book you will see them as common-sense. Each is supported by references to well known authorities.

Security Engineering

book coverSecurity engineering : a guide to building dependable distributed systems / Ross J. Anderson. Wiley 2008, hard cover

1000 very readable pages of straight talk on security.  This affects almost everyone.  The first edition was published in 2001, and the book appears to have been rewritten.  I wish there was a new edition yearly.

According to B. Schneier, “It’s beautiful. This is the best book on the topic there is”.

Silence on the wire

book coverSilence on the wire : a field guide to passive reconnaissance and indirect attacks by Michal Zalewski. No Starch Press, 2005

This book on internet security is much different than most. Firstly, it is a joy to read! It has no dry descriptions of the latest vulnerabilities, but instead it delves into the technologies that underlie the Internet, and explores their inherent limitations.