Copyright (c) 1999-2001 by Rich Morin
published in Silicon Carny, September 1999
One of the side benefits of writing a column is the fact that I get to look at lots of books. Sometimes these are books that I requested; other times they simply show up at my door. In either case, I enjoy looking them over and then (as in this column) telling you which ones I liked the best.
Please note, however, that this column does not attempt to be comprehensive or even totally current in its coverage. Rather, it's a totally subjective, impressionistic review of some my favorite book acquisitions over the last several months. I liked these books a lot; perhaps you will, too.
Gregory Pfister didn't start out to write a definitive work on cluster computing. He was just putting together some notes in self-defense and things got away from him. His pain is our gain, however; "In Search of Clusters" is a really wonderful book.
Possibly because of its informal beginnings, the book is quite interesting and extremely readable. Even I, who have neither the time nor the budget to consider setting up a cluster of computers, found myself happily reading about the issues involved.
My only problem with the book, in fact, is that it doesn't specifically cover Beowulf, the Linux-based cluster technology developed by NASA's Beowulf Project. The general background provided by the book, however, would be appropriate to any would-be cluster-maker.
Asking around recently for some good books on SQL, I was referred by some seasoned SQL hackers to "Understanding SQL" and "Joe Celko's SQL for Smarties". Both of these books have been around for a while, but SQL isn't changing much, so that's probably OK. (Joe Celko has another edition coming out soon, by the way, if you're not in a big hurry.)
If you already know SQL pretty well, but want to pick up some advanced tricks, you might want to go straight to Celko's book. On the other hand, having a good reference to the basics may not be such a bad idea...
For coverage of more esoteric data handling approaches, I recommend "Managing Gigabytes". This book, based on an Open Source package called mg, describes the creation of a large-scale, online document archive (the New Zealand Digital Library).
In doing so, it covers a range of topics in the areas of data compression and indexing, examining underlying issues and available techniques. The result is a readable and authoritative survey course; I found it both interesting and educational.
O'Reilly & Associates doesn't own Perl, but they have a solid grip on its published documentation. They now have something like a dozen volumes related to Perl, and the quality is generally very high. If you're serious about learning Perl, you really should have "Learning Perl", "Programming Perl", and the "Perl Cookbook" near your desk.
More advanced Perlers should add "Advanced Perl Programming" and "Mastering Regular Expressions". Perlers with specialized needs should consider "Learning Perl/Tk", "Programming Web Graphics with Perl and GNU Software", "Web Client Programming with Perl", "Writing Apache Modules with Perl and C", and the (four-volume plus CD-ROM) "Perl Resource Kit".
If you to have your Perl references online, you might consider getting "The Perl CD Bookshelf". The CD-ROM contains indexed HTML versions of six popular Perl titles, bundled with a hard-copy version of "Perl in a Nutshell".
A few gems of Perliana are available from other publishers. Lincoln Stein's "Official Guide to Programming with CGI.pm" is short, readable, and definitive. Nigel Chapman's "PERL: The Programmer's Companion" is an excellent "programmer's introduction to Perl", but it may be a bit chewy for beginning programmers. All modesty aside, "MacPerl: Power and Ease" is the book to get if you're interested in using MacPerl.
Brian Kernighan doesn't need my plaudits, but I'll offer them anyway. He is an absolutely top-notch technical writer and editor who has brought a number of great books into existence.
Brian's collaborations include several classic references: "The AWK Programming Language" (with Al Aho and Peter Weinberger), "The C Programming Language" (with Dennis Ritchie), "The Elements of Programming Style" (with P.J. Plauger), "The UNIX Programming Environment" (with Rob Pike), and most recently, "The Practice of Programming" (with Rob Pike).
The latter three books are short, elegant courses in Unix and programming philosophy. They should be read by any aspiring Unix programmer; even seasoned Unix programmers could benefit from scanning through them...
Advanced Perl Programming
CGI Programming with Perl (2nd. Ed.)
In Search of Clusters: (2nd. Ed.)
Joe Celko's SQL for Smarties:
Learning Perl (2nd. Ed.)
Managing Gigabytes (2nd. Ed.):
Mastering Regular Expressions
Official Guide to Programming with CGI.pm
Perl in a Nutshell
Perl Resource Kit -- UNIX Edition
Programming Web Graphics with Perl & GNU Software
Programming Perl (2nd. Ed.)
The Awk Programming Language
The C Programming Language (2nd. Ed.)
The Elements of Programming Style
The Perl CD Bookshelf
The Practice of Programming
The UNIX Programming Environment
Writing Apache Modules with Perl and C
Addison Wesley http://www.awl.com Beowulf Project http://www.beowulf.org Morgan Kaufman http://www.mkp.com O'Reilly http://www.oreilly.com Prentice-Hall http://www.prenhall.com Prentice-Hall PTR http://www.phptr.com Sybex http://www.sybex.com
About the author