Kevin is TPJ's Executive Editor. He can be reached at email@example.com.
Mac OS X Panther Hacks: 100 Industrial-Strength Tips & Tools
Rael Dornfest and James Duncan Davidson
O'Reilly Media, 2004
566 pp., $29.95
Technical book publishers must have some market research that tells them that books with the word "hacks" in the title sell well. There are a lot of "hacks" books out there right now, including Mac OS X Panther Hacks by Rael Dornfest and James Duncan Davidson.
Whether or not the tips in this book qualify as "hacks" depends on how you define a "hack." The book seems to (mostly) define a hack as an add-on program, or a tweak to a hidden or otherwise nonobvious system setting. And if that's what you're looking fora way to enhance your day-to-day interaction with Mac OS X one quick and easy step at a timeyou will probably get something out of this book.
The danger in buying one of these "tips and tricks" books is that you won't get much bang for the buck in the short termthat maybe one or two of the items in it will interest you, and the rest will turn out not to be useful. And at $29.95, this book could be a real risk in that department. But I found enough gems in this book to justify the price, and it's important to remember that over time, you may come back to this book to investigate things that didn't grab you the first time around.
The tips presented in Mac OS X Panther Hacks are contributed by a host of peoplethe authors really act more as editors than writers. This leads to a slightly discontinuous style from section to section, but also means that there will be something useful in the book for almost anyone using OS X. And this isn't the sort of book you're likely to read in a continuous fashion, anyway. It's a book you'll skim until you see something that looks useful.
The "hacks" are divided into nine chapters. Some of these cover interface enhancements, like launchers and desktop pagers, some cover scripting with Applescript, Perl and Python, and some cover interfacing with gadgets such as PDAs and cell phones. In each of these chapters, I found at least a couple things that I either didn't know about, or just hadn't considered doing before. Sometimes, the book will simply point out a useful freeware or shareware system utility. You might ask why you need a book to point these out for you. It's true that these sorts of programs are easy enough to find on your own, but I confess, I never would have considered using most of these without the book's thoughtful pro-and-con analysis. Almost everything in the book can be found on the Web, but there is real value in the authors' filtering and aggregating of these items. Every tip in the book seems to have been testedeverything I tried worked, unlike the "tips" you often find on the Web.
Most of the book is aimed at the nonprogrammer. Where there is code, there are also exact step-by-step instructions for making that code work. The authors have also ensured that any command-line invocations are clearly spelled out for people who don't spend much time in a terminal window.
Some of the hacks are utterly simple, one-line commands that change default settings on your Mac (such as changing the page-rendering behavior of Safari), and others are multistep processes that really would be better termed "projects" (like creating an automated web photo gallery using Perl and your iPhoto library). Some hacks serve a real purpose, like getting your Bluetooth phone to use your Mac's Internet connection, rather than the phone's decidedly pricier web access. Others are almost totally frivolous, like covering your desktop with album-cover images from iTunes. Some of the hacks are just convenient starting points for larger explorations of your system's capabilities. For instance, PHP is there on your Mac, waiting to be turned on. Apache-savvy readers already know this and know how to turn it on. But for others, simply being shown how to add the proper lines to httpd.conf and restart Apache can open up a whole world of possibilities that they didn't know existed.
The chapters on networking, servers, and system administration contain some of the more advanced techniques in the book. There are some very useful things here for anyone who is in charge of a growing network of Macs. Experienced IT personnel will already know most of this material, but folks setting up a collocated web server machine for the first time, or who are just beginning to expand their home network to manage a small office network of Macs, will benefit from the targeted approach to topics like accessing remote desktops, or setting up a Postfix mail server.
The book also has lots of advice about how to do effective backups on your Mac. It briefly covers some of the commercial solutions, but then quickly dives into the many ways to accomplish backups for free, using the tools already installed by default. It turns out many commercial and shareware backup solutions are just window dressingunder the hood, they actually just use the default system tools. So it pays to learn how your Mac's built-in utilities like ditto and hdiutil work. With a tiny bit of scripting and a crontab entry, you've got a fully automated backup system for no money at all.
Perhaps the best and least tangible benefit of Mac OS X Panther Hacks is that it sparks interest in exploring areas of OS X that you might not have previously considered. OS X's GUI hides the fact that there's a full BSD subsystem waiting to be put to work, and even if you know this, it's easy to forget that accessing that capability can be very easy if you know where to look.