MMMeeja

blog :: web development :: programming collective intelligence book review

Programming Collective Intelligence

Posted on 28 Oct 2008 by Andy - Permanent link Trackback this post Subscribe to this post Comment on this post -  

Since the web first took off, I have found myself buying fewer and fewer computing textbooks as reference documentation moved online and blogs provided a wealth of how-to articles. I still sometimes scan the computing shelves of my local bookstores in idle moments and that is how I chanced across Programming Collective Intelligence by Toby Segaran.

Programming Collective Intelligence cover

The book is subtitled “Building Smart Web 2.0 Applications” and that is very appropriate. It is aimed squarely at web developers who, like me, are fascinated by the interactive nature of modern web applications and the use of machine-learning algorithms that make use of all the juicy data collected by the likes of eBay, Amazon and del.icio.us.

This is not a book that will teach you how to program or how to design a website - it is aimed squarely at competent, experienced back-end web developers who want to see the algorithms behind some of the world’s most successful websites.

Wonderful Examples

The examples contained within the book are its greatest strength.

Toby Segaran chose to use Python throughout the book, a wise choice. Despite that I have little Python experience, it is a very readable language and Toby deliberately avoids language-specific tricks and obscure libraries.

Each chapter introduces algorithms that solve a specific problem, including recommendation engines, categorisation, search engines, optimisation and more. Open APIs (such as the del.icio.us API) are used where possible and the example code is structured in a very modular, pluggable manner. Readers are encouraged to experiment via the Python shell.

Practical Introductions

The book introduces each algorithm with an overview that does not resort to intense mathematics, which was great for me since I promptly forgot most of my maths after graduating. Compare this from the book with the Wikipedia article on the same subject.

The author correctly surmises that most readers will not need to implement common algorithms from scratch but will use well-constructed third-party libraries, and so do not need to know a great deal of academic detail about each technique.

The book really lends itself to being used as a reference when searching for an appropriate algorithm in respositories like CPAN: chapter 12 provides a summary of the rest of the book with each algorithm’s strengths and weaknesses clearly presented.

Conclusion

A book for the hardcore geek? Yes, as my girlfriend pointed out when I showed her my purchase. But also a book for programmers with a healthy curiosity, as she later said “That sounds really interesting!”


Creative Commons licensed photo by vj_pdx.

0 Trackbacks

2 Comments

 Andy Bailey said at 2008-11-03 16:59

geekily interesting

I used to love going to the bookstore once a month to buy a heavy computer book, now I use the works printer to print out 900 page pdf's from *ahem* download sites :-)

It does look like an interesting book though, I might have a sit down in the bookstore with it this weekend. oh how exciting! a trip to the technical section of Books etc. what a geek I am

 Bruce said at 2008-11-11 12:53

....

"why would i go to bookstore, i have everything i need on the web".. most people think that way, my opinion, wab is easyer books are nicer :)

Comment On This Article

Your Details
Save my name, email and homepage for next time
Your Comment

 

Sitemap

Copyright © 2006-2009 MMMeeja Ltd. All rights reserved.