Tim O’Reilly’s blurb about the Hacks series of books includes the following: “I’ve always wanted to publish books that capture the essence of the hacker experience. I wanted a format that made it easy to present lots of small but useful tidbits - tips, tricks, and dare I say, hacks.” One of my initial impressions regarding Mac OS X Hacks was that, despite each of the arcticles being dubbed a numbered “hack,” many of them weren’t, exactly, hacks. However, I think Tim’s description does capture the sentiment with which the book seems to have been compiled - it’s all about making your Mac distinctively yours, whether it’s just by an ingenious combination of standard Preferences, installing third party utilities, or writing some yourself.
The book is especially useful in that each hack is written as a short, standalone article, so you don’t have to have read #1-26 to be able to follow #27. If one article assumes or benefits from something covered in another, it’s explicitly referenced in the text, as are other sources to turn to for more information, on the web and in print. It also provides the benefit of long-time Mac experience from a number of different authors - you can find out what Derrick Story has learned the hard way from years of backing up his own laptop on the road, for example.
The authors do a good job of pointing out many little freeware and shareware utilities and workarounds for specific tasks - the sort of thing you’d usually have to spend half an hour digging through forum postings to find. Of course, this means that many of the tricks and techniques (like removing the brushed metal from Cocoa applications) can be found on the web for the price of some patient Googling, but the pleasure in having a book like this is that someone - or many someones, in this case - has already done the necessary dredging and written a slick little nugget of an article condensing everything you need to know. The authors are, for the most part, excellent writers and vastly knowledgable about their subject matter.
Chapter One: Files
Most of the content in this chapter will be old news to an average *nix user (and/or Slashdot reader), but it includes good explanations of the whys and wherefores of things that wouldn’t be obvious to long-time Mac users. Pre-X versions of Mac OS weren’t really meant for multiple users, so many people find the necessity of having their own user accounts and home directories a foreign concept. This chapter is a gentle introduction to the concept of a system protecting itself from its users (when and how one should circumvent these protections is something every OS X user needs to learn immediately). It also covers a bunch of different backup methods for desktop and laptop machines, and the differences between different file compression formats. There’s even a note about the different line endings belonging to different operating systems and why this can be a problem (#5).
Chapter Two: Startup
This is one of the sections - and there are several - where Mac OS X Hacks reminds me very much of Unix Power Tools. I particularly remember the Logging In and Logging Out chapters of UPT, which were a revelation to me years ago when I first started playing with a Linux box and had never heard of such a thing as a .profile. The Startup chapter in this book deals with (among other things) verbose booting (#13), using open firmware for added password protection (#16), and how to get OS X running on an older, unsupported Mac (#17).
Chapter Three: Multimedia and the iApps
I admit I haven’t spent all that much time with this chapter, because I prefer other options for most of the functionality provided by the iApps. I think Audion does a better job as an MP3 player than iTunes, and Adium a better job for instant messaging than iChat, and iCal fascinated me for about a week before I went back to a pen-and-paper planner, of all things. However, I’m intrigued by some of the different ways these applications can be combined and scripted. #28 (Controlling iTunes with Perl) is definitely worth a read.
Chapter Four: The User Interface
Mac users have always been fond of customization, especially as far as the GUI is concerned, so it’s not surprising that the chapter in which I feel this book really shines is this one. Many of my favorite (and now dog-eared) articles live here. #40 (Extending Your Screen Real Estate with Virtual Desktops) was a treat; I’ve always liked using multiple desktops with other window managers and had wondered if it could be done under OS X. The article points out a couple of options - one shareware, one freeware. #43 (Screensaver as Desktop) was fun as well - Running the Cosmos screensaver in the background beneath a slew of transparent terminal windows is a striking effect, and not as CPU intensive as you might think. Other gems in this chapter include #45 (Speakable Web Services) and #47 (Prying the Chrome Off Cocoa Applications). There’s also a discussion of various alternatives or additions to the Dock, although noticeably absent is my personal favorite, DragThing.
Chapter Five: Unix and the Terminal
More Unix basics that many people will already know, but also some interesting discussion of material specific to Mac OS. There’s the requisite information about changing the appearance of Terminal windows (mmm, transparent) and an introduction to Apple’s Developer Tools, featuring Project Builder and Interface Builder. #56 (Top 10 Mac OS X Tips for Unix Geeks) collects some of the differences *nix users will encounter between OS X and other operating systems. #65 (Running Linux on an iBook) is fun, too.
Chapter Six: Networking
From the chapter introduction: “Mac OS X is highly connected. It can attach to a veritable cornucopia of devices, as we saw in Chapter 3, Multimedia and the iApps. But, for my money, where OS X really shines is in its networking. It’s the most network-savvy machine I’ve ever laid hands on, yet it’s easy enough to get on the Internet just minutes after unpacking it from the box.” This chapter deals with a variety of networking-related topics - ssh, VPN, interaction with Windows machines and networks (as well as ways to access or emulate a Win box from your Mac), WebDAV shares, FTP, and DNS.
Chapter Seven: Email
I especially liked the discussions of IMAP and sendmail in this chapter - #80 (Using IMAP with Apple’s Mail Application) and #81 (Setting up IMAP and POP Mail Servers) deal with the former, and #82 (Getting sendmail Up and Running) with the latter. There’s also a bit on Entourage, including backup and optimization options for its database. I haven’t dabbled much with Mail yet myself (I’m still a Pine user), but this chapter sparked my interest, and I’m considering setting it up for use at home.
Chapter Eight: The Web
The web chapter is a lot of fun. #85 (Searching the Internet from your Desktop) explores a couple of ways to use Google outside a browser - this seems like the kind of thing there might be more of in the Google Hacks book - as well as other search methods, including Sherlock. Other favorites from this chapter include #87 (Reading Syndicated Online Content), and the articles dealing with the Apache installation that comes with OS X. These are #88 (Serving Up a Web Site with the Built-In Apache Server), #89 (Editing the Apache Web Server’s Configuration), and #90 (Build Your Own Apache Server with mod_perl).
Chapter Nine: Databases
This chapter is short and sweet, containing only two hacks, albeit rather substantial ones. Read up on installing MySQL and PostgreSQL.
Summing Up
There’s a lot in this book that smart users could figure out by themselves and that experienced users would already know, but that’s not why you’d buy it. Mac OS X Hacks picks up where Mac OS X: The Missing Manual leaves off, assuming a reasonable level of competence in day-to-day functions, but guiding you through the wealth of capabilities contained within OS X that you might be vaguely aware of but haven’t really played around with. You probably could find out a lot of this information on your own, but would you?