Elliotte Rusty Harold's 10 Must-Have Technical Books
The books I tend to pick up again and again are the reference books. These aren't necessarily my favorite books, but they are the ones I need. Just looking around my office in archaeological order (Most recently consulted book on the top) I see:
The XML Bible by Elliotte Rusty Harold (2001, John Wiley & Sons)
I can't remember everything I know. That's half the reason I have to put it in books. At 1200 pages this book contains almost everything I know about XML fundamentals. There's also a hardcover Gold edition with several more chapters, but since it's even bigger and heavier, I normally reach for the paperback version first.
The Unicode Standard, Version 3.0 by the Unicode Consortium (2000, Addison-Wesley)
Not only is this the canonical source for information about Unicode. All the tables of unusual characters make this a wonderful geek coffee table book.
Cryptonomicon by Neal Stephenson (2002, Avon)
Yes, it's a novel; but I have been consulting it a lot lately. I read it over Christmas, and parts of it keep coming back to haunt me so I have to look them up again.
Object Oriented Software Construction by Bertrand Meyer (1997, Prentice Hall PTR)
This is a fascinating book. I bring it with me to the family farm every Thanksgiving, and one year I'm going to finish it. :-)
XML in a Nutshell by Elliotte Rusty Harold and W. Scott Means (2002, O'Reilly)
This is another brain dump book I find myself consulting when I've forgotten something I used to know.
UML Distilled by Martin Fowler (2000, Addison-Wesley)
This one's a fluke. I don't really do a lot of UML work, but I just happened to need to draw a UML diagram recently and that book showed me how.
Unix System Administration Handbook by Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein (2001, Prentice Hall PTR)
I pull this out whenever I'm cursing out my Linux boxes. It's the best reference I've found for handling Unix server configuration. It's not quite as solid on the client side though.
DocBook, the Definitive Guide by Norm Walsh (1999, O'Reilly)
I'm using DocBook to write Processing XML with Java so this tome should probably be higher in the list except that I frequently use the online edition at http://www.docbook.org/tdg/en/ instead.
Design Patterns, Elements of Reusable Object Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1999, Addison Wesley)
The design patterns in this book have really revolutionized software design in the last eight years. Many APIs for processing XML with Java including SAX, DOM, and JDOM rely on these ideas. To a patterns literate programmer, often the quickest way to explain one of these classes is to say things like, "The Document interface is an abstract factory" or "ContentHandler is an instance of the Observer design pattern."
Inside Servlets by Dustin R. Callaway (2001, Addison-Wesley)
I've been including a lot of servlet examples in Processing XML with Java. I was one of the first people to write about servlets way back in the first edition of Java Network Programming and the days of Java 1.0, but I really haven't paid a lot of attention to them since. This book has been invaluable in bringing me up to speed in how servlets work today.