Rich Hickey's Clojure Bookshelf
amazon.com
amazon.com
A great hacker (who unfortunately passed away: http://rabbi.vox.com/library/post/in-memoriam-eric-s-tiedema...) described it to me as "the best programming book out there" (even if you never touch AI or Lisp again).
One key technique described in that book was Memoization. Few weeks later, I went for a job interview with $BIG_INTERNET_FIRM_THAT_ISNT_GOOGLE, where I was asked to what Memoization was and to implement it on the whiteboard. I did so (in Common Lisp as I didn't remember the syntax for a coderef in Perl; the interviewer, being an avid emacs user, understood the code) and got the position.
When I can find the time, I want to read Purely Functional Datastructures. Clojure and PFD are the first major advancement that I've seen since my college Intro to Datastructures class.
That is a great description of PAIP. It is almost a blow by blow description of how Peter Norvig thinks through problems.
One of the great things about PAIP is that it provides a step beyond the "Introduction to ..." books that most languages have.
Some languages have books that expose how great hackers use that language and are targeted towards people really trying to master the language, eg: Common Lisp has PG's On Lisp and Peter Norvig's PAIP, C has David Hanson's "C Interfaces and Implementations", Forth has Leo Brodie's books and so on.
Many other languages, even very popular ones, don't have these intermediate-to-expert level books written by outstanding hackers and are restricted to "Introduction to X" type books often written by people who aren't necessarily great programmers, something I've found a bit strange.