Any book is a cooperative venture, and this one was more so than many. Thanks to editor Brian Sawyer, who, in the midst of the birth of his first child, managed somehow to help birth this book as well; I only hope it didn't cost him as many sleepless nights as did his newborn son. Thanks also to the book's first editor Nancy Kotary. Thanks to Rael Dornfest for his laserlike focus on making sure that every hack was exceedingly useful and moved well beyond the obvious. Laurie Petrycki and Dale Dougherty offered valuable advice and feedback in the early stages of writing. Many thanks to Tim O'Reilly, who entrusted me with this project, albeit in a very different form than when it was first conceived, and who gave very targeted advice and pointers in the important early phases of writing.
Thanks also to my copyeditor, Audrey Doyle, and to the production team at O'Reilly: Emily Quill, Robert Romano, Jessamyn Read, Jamie Peppard, Claire Cloutier, Reg Aubry, Katherine Pinard, Peter Ryan, Keith Fahlgren, and Lydia Onofrei. And, many, many thanks go to diligent technical reviewer extraordinaire Eric Cloninger, who spent many hours watching reruns of The Sopranos on TiVo and reading way into the early morning hours.
As always, thanks to my family. Lydia put up with my usual diet of late-night deadlines, and Mia let me get my work done when we were on her grand audition tour for college ballet programs. As for Gabe, his advice and recommendations on which hacks to cover was an enormous help. Gabe also wrote the Firefox search engine that provided the core of [Hack #44], and provided valuable insight into how to write the hack.