Book Reviews from 2004


Artificial Intelligence (2nd ed)

A Modern Approach

By Stuart Russell & Peter Norvig


Cover art: Artificial Intelligence

Not sure what to say about this... tome. It's an amazing book in sheer scope; a thousand pages, and a lot of ground covered between them. I will give my review, as a layman and newbie on AI.

First, I'd like to say that I feel that some people on Amazon gave undeservedly bad reviews based on false premises like "it doesn't mention my favourite AI-fad". This isn't a collection of hot papers, this is a coherent vision implemented on a grand scale; starting with the history of AI and moving on through search, logic, knowledge representation, planning, reasoning, learning, communication and more. A lot of ground is covered, but it's meant as an introduction and practical guide to AI and focus mainly on describing proven AI problems/solutions. When (if!) you've read it through, it will serve as a reference to algorithms and techniques for solving AI-related problems.

I had a good time reading the first half or so, which covered much of the basics. Second half got a little math heavy and covered specifics which really I didn't feel any particular interest in perusing, but might well go back to at a later date. In fact, I probably should try and re-read it, it's just that information packed.

I feel that book give good value, it's certainly the longest technical book I've ever gone through, at least it took the longest time; Two years it took me to get through it, though I obviously went long periods without touching it at all.

I value this book highly, being the only 'complete' book on AI in my library. Yes, if you have specific interests (natural language processing for instance) you'll have to branch out and read other material, of course. But as a starting point for approaching AI, I don't see how you could go wrong with AI: A modern approach.


The Man Who Loved Only Numbers

The Story of Paul Erdös and the Search for Mathematical Truth

By Paul Hoffman


Cover art: The Man Who Loved Only Numbers

A warm and funny biography of the genious Paul Erdös. A man who, the title notwithstanding, really only ever truly understood mathematics. A gripping account of a man who for all intents and purposes spent his life navigating the physical world as were he a baby, while at the same time charting new territory, confidently leading students and friends to new discoveries in the plane of mathematics, the place where he spent most of his time.

Never heard of him? Ever seen or heard the quote "A mathematician is a machine for converting coffee into theorems"? That's by Erdös.

The author, Paul Hoffman, followed Erdös around for a while as he travelled the world, as he did all his life, in a relentless search of fresh brains to pick on mathematics. Hoffman has also conducted extensive interviews with the people who were close to Erdös, like Ron Graham, in order to get to and behind the anecdotes, and paint a vivid picture of the man whose eccentric nature undoubtedly made him somewhat of chore to be around socially, but whose mind, personality, and not least of all, incredible productivity, made it all worthwhile for the people willing.

When Paul Erdös left us in 1996, he'd had a hand in some one thousand five hundred articles. Most of them as co-author, a product of collaboration. For Erdös, mathematics was a social activity.

Highly recommended.


OpenGL Programming Guide (4th ed)

The Official Guide to Learning OpenGL, Version 1.4

By Dave Shreiner, Mason Woo, Jackie Neider, et al.


Cover art: OpenGL Programming Guide (4th ed)

The as-of-writing latest edition of the classic "Red Book", the official guide to learning OpenGL. Now that OpenGL 2.0 has been ratified, a new edition will probably come out, but I don't actually expect it to differ too much from this one. The reason for this is that most of the new stuff concerns Shaders, which this volume has never touched to begin with! The exceptions are really Point Sprites (a construct especially suited for implementing particle systems) and the relaxation of power-of-two sized textures.

If you're serious about learning OpenGL, this is the place to start. Please note that this book will teach you the OpenGL API (including specifying NURBS). You will not learn about terrain generation, smooth animation, building scene graphs or using portals or any other non-OpenGL related higher-level concepts. I mention this because it's been my experience that newbies sometimes complain when books doesn't try to cover every possible corner of the known universe.

This is a book teaching the OpenGL API, sans Shaders, and it is very good at it.

Even though older editions of the Red Book are available online, I recommend buying the latest edition unless you're particularly strapped for cash. If you want to go the on-line route, make sure you're reading a post-1.0 edition or you'll get seriously outdated information, particularly as concerns the important concept of texture objects.


Programming Pearls (2nd ed)

By Jon Bentley


Cover art: Programming Pearls (2nd ed)

Billed as one of the classic programming texts, I guess I'm somewhat of a latecomer to this volume.

I don't think I'm going to be able to praise this book quite as much as others have. My sole reason for this is basically, time.

Once upon a time knowing this stuff was absolutely essential to being a good software developer. Fortunately, more and more of the nitty-gritty bit banging is moving down the layers, and we instead have the fortune of working on a higher level of abstraction. Knowing good design is now relatively more imporant compared to being able to implement a correct quicksort. Not to mention, good design must permeate you in all that you do; quicksort you can look up in Knuth.

There are important lessons in here. In particular I'd draw attention to the topic of "back of the envelope estimation" and my old personal favourite, the divide-and-conquer approach to problem solving, mentioned in the book only, as far as I can see, in the narrower context of DaC computer algorithms.

There's a certain kind of machismo in knowing that you can always pick the right tree-type or sorting algorithm for your data, and that you can implement it correctly and efficiently. I can identify with that. This book is hard core, and hard core programming can be cool, and certainly interesting in its own right.

But is it essential? Probably not.

Of course, a book doesn't have to be essential to warrant reading.


The Gnostic Gospels

By Elaine Pagels


Cover art: The Gnostic Gospels

Pagels has written a short introductory book on christian gnosticism, focusing -- not so much on the details of the texts found at Nag Hammadi themselves -- as on the on the movement and its relationship with early orthodox christianity.

I had no particular expectations about this book, picking it up mostly to fill up an order so as to get more worth out of the shipping fee. I can tell you though that you will not find complete reproductions of the gnostic gospels in this book, for that you should turn to The Nag Hammadi Library, for which this book makes a perfect companion. The numerous notes and references include direct page references into TNHL, making going deeper into the original material very easy.

You should read The Gnostic Gospels if you want to learn what gnosticism is, what the early gnostic christians believed and how and why their beliefs were all but exterminated by the rising power of the orthodox church.

(I read a Swedish translation of this book)


©2003 Eddy L O Jansson. All rights reserved. All trademarks acknowledged.