Contacting the Author
I always enjoy hearing from readers, whether with general comments, specific ways I could improve the book, or questions related to the book's subject matter. Because this book is being published in its entirety online, it is possible for me to reprint at least the online edition much faster than can be done with a traditional paper book. Thus corrections and errata are especially helpful because I have a real chance to fix them. Before sending in a correction, please do check the online edition to see if I have already fixed the problem.
Please send all comments, inquiries, bouquets, and brickbats to email@example.com. I get a lot of e-mail, so I can't promise to answer them all; but I do try. It's helpful if you use a subject line that clearly identifies yourself as a reader of this book. Otherwise, your message may accidentally get misidentified as spam I don't want or bulk mail I don't have time to read and be dropped in the bit bucket before I see it. Also, please make absolutely sure that your message uses the correct reply-to address and that the address will be valid for at least several months after you send the message. There's nothing quite as annoying as taking an hour or more to compose a detailed response to an interesting question, only to have it bounce because the reader sent the e-mail from a public terminal or changed their ISP. But please do write to me. I want to hear from you.
Elliotte Rusty Harold
Thomas Marlin provided me with the original Latin text of the Fibonacci problem you'll find in Chapter 3.
Jason Hunter's encyclopedic knowledge of the Java Servlet API was essential to the design and execution of the servlet code in this book. Donald Sizemore helped me get my servlets installed and running on IBiblio.
Luke Tymowski provided some of the RSS examples and helped me debug various problems with my Cobalt Qube.
Bruce Eckel and Chuck Allison helped me decipher the relative capabilities of Java and C++. Bruce Eckel also helped out with Python, and Matt Sergeant and Brendan McKenna helped out with Perl. Philip Nelson, Robert A. Casola, and Rob Smith helped with Visual Basic. None of these people necessarily agree with what I wrote about those relative capabilities (in fact, more often than not they vehemently disagree ; de linguis non disputandum est); but I couldn't have done it without them.
Although this is the sixth book I've written about XML, it is the first one I've written in XML. That could not have happened without Norm Walsh's DocBook DTD and XSL stylesheets for DocBook.
Many people helped out with comments, corrections, and suggestions. These include Paymen Aliverdi, Sergey Astakhov, Dagmar Buggle, William Chang, Richard Dedeyan, Paul Duffin, Lacey Anne Edwards, Peter Elliott, Paul Erion, Bernard Farrell, Wei Gao, Scott Harper, Stefan H ssig, Martin Henke, Markus Jais, Oliver Lorpilla, Igor Kostjuhin, Alexander Krumpholz, Wes Kubo, Ramnivas Laddad, Manos Laliotis, Ian Lea, Frank Lee, Ray Leyva, Rob Lugt, Richard Monson-Haefel, Gary Nichols, James Orenchak, Aron Roberts, Carlo Rossi, Raheem Rufai, Arthur E. Salwin, Peter Sellars, Diana Shannon, and Andrew Shebanow. Mike Blackstone deserves special thanks for his copious notes.
Mike Champion, Andy Clark, Robert W. Husted, Anne T. Manes, Ron Weber, and John Wegis did yeomanlike service as technical reviewers. Their comments substantially improved the book.
As always, the folks at the Studio B literary agency were extremely helpful at all steps of the process. David Rogelberg, Sharon Rogelberg, and Stacey Barone should be called out for particular commendation.
This is my first book for Addison-Wesley, but it's not going to be my last. They were all wonderful people to work with, and I look forward to working with them again. Mary T. O'Brien shepherded this book from contract to completion. Alicia Carey ably managed submissions and communications. Jody Thum corrected many of my grammatical failings. Kathy Glidden and John Fuller shepherded the book through the unusual production process writing in XML necessitated. Richard T. Evans produced an excellent index.
Finally, as always, my biggest thanks are due to my wife, Beth, without whose love and understanding this book could never have been completed.