Books

Looking for some good books? The following have found space on my bookshelf (and not into a box in the garage).

Read & Recommended

Philip and Alex's Guide to Web Publishing
Philip Greenspun; Morgan Kaufmann Publishers, 1999; ISBN 1-55860-534-7
Wonderful reality check from someone who has played with building websites since the beginning, and has learned from the experience. More depth and less pretense than usual.
Highly recommended
Writing Solid Code, Microsoft's Techniques for Developing Bug-Free C Programs
Steve Maguire; Microsoft Press, 1993; ISBN 1-55615-551-4
Good advice on programming. I finally got assertions after reading this book. Probably the single best way of keeping bugs out of your code during software construction. (Counting good design as seperate from construction, which it really isn't).
Highly recommended
Debugging the Development Process, Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
Steve Maguire; Microsoft Press, 1994; ISBN 1-55615-650-2
Good advice on developing software as team.
Highly recommended (At this point I'll buy Steve Maguire's books on faith :-).
Code Complete, A Practical Handbook of Software Construction
Steve McConnell; Microsoft Press, 1993; ISBN 1-55615-484-4
Comprehensive (rather than selective) compilation of advice on software construction. Rich with references to other good books in the field. You could use this book to build a great company library.
Highly recommended
Rapid Development, Taming Wild Software Schedules
Steve McConnell; Microsoft Press, 1996; ISBN 1-55615-900-5
Comprehensive (somewhat selective) compilation of advice on software development as a group activity. Rich with references to other good books in the field.
Highly recommended
Software Project Survival Guide, How to Be Sure Your First Important Project Isn't Your Last
Steve McConnell; Microsoft Press, 1998; ISBN 1-57231-621-7
Selective compilation of advice on running a software development project. Rich with references to other good books in the field.
Highly recommended
Dynamics of Software Development, "Don't Flip the Bozo Bit" and 53 More Rules for Delivering Great Software on Time
Jim McCarthy; Microsoft Press, 1995; ISBN 1-55615-823-8
Ever wonder how Microsoft went from shipping a mediocre C compiler, to a truly great product (Visual C++)? This guy is part of the answer.
Highly recommended
About Face, The Essentials of User Interface Design
Alan Cooper; IDG Books Worldwide, 1995; ISBN 1-56884-322-4
You could call this guy the father of Visual Basic (they do on the cover). In spite of this fact, the book is a good treatment of user interface design.
Highly recommended
TOG on Interface
Bruce "TOG" Tognazzini; Addison Wesley, 1992; ISBN 0-201-60842-1
Insights on user interface design. Good reading.
Highly recommended
JAVA Servlet Programming
Jason Hunter with William Crawford; O'Reilly & Associates, 1998; ISBN 1-56592-391-X
Excellent coverage of Java Servlets.
Highly recommended
C++ for Real Programmers
Jeff Alger; Academic Press, 1998; ISBN 0-12-049942-8

More advanced usage of C++ from one individual's point of view.
Inside Windows 95
Adrian King; Microsoft Press, 1994; ISBN 1-55615-626-X

Inside view of Windows 95 from an insider.
Java Design, Building Better Apps & Applets
Peter Coad, Mark Mayfield; Yourdon Press Computing Series, 1996; ISBN 0-13-271149-4

A good read on applying design to Java (with well deserved emphasis on Java interfaces).
Perhaps a bit light, but not bad at all.
The Technical Career Navigator
Ray Weiss; Prentice Hall, 1995; ISBN 0-13-148396-X

Bits of advice on developing software, leading development, and careers.
Inside COM, Microsoft's Component Object Model
Dale Rogerson; Microsoft Press, 1997; ISBN 1-57231-349-8

Too many words and not enough pictures. Seriously. Could be shorter and clearer.
UML Distilled, Applying the Standard Object Modeling Language
Martin Fowler (with Kendall Scott); Addison-Wesley, 1997; ISBN 0-201-32563-2

Good overview of UML spiced up with real world advice from an experienced practitioner.
The Active Template Library: A Developers Guide
Tom Armstrong; M&T Books, 1998; ISBN 1-55851-580-1
XML Handbook
Charles F. Goldfarb, Paul Prescod; Prentice Hall, 1998; ISBN 0-13-081152-1
JavaBeans Developer's Resource
Prashant Sridharan; Prentice Hall, 1997; ISBN 0-13-887308-9

Currently reading

Design Patterns, Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison Wesley, 1995; ISBN 0-201-63361-2
AntiPatterns, Refactoring Software, Architectures, and Projects in Crisis
William J. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick III, Thomas J. Mowbray; John Wiley & Sons, 1998; ISBN 0-471-19713-0
The Essential Distributed Objects Survival Guide
Robert Orfali, Dan Harkey, Jeri Edwards; John Wiley & Sons, 1996; ISBN 0471-12993-3

In the queue

LDAP: Programming Directory-Enabled Applications with Lightweight Directory Access Protocol
Timothy A. Howes and Mark C. Smith; Macmillan Technical Publishing, 1997; ISBN 1-57870-000-0
Applied Cryptography, Protocols, Algorithms, and Source Code in C
Bruce Schneier; John Wiley & Sons, 1996; ISBN 0-471-11709-9

Highly recommended
Effective Tcl/Tk Programming, Writing Better Programs with Tcl and Tk
Mark Harrison, Michael McLennan; Addison-Wesley, 1998; ISBN 0-201-63474-0

Reference works

Books I find worthwhile for answers, and have not needed to read cover-to-cover.
JavaScript: The Definitive Guide
David Flanagan; O'Reilly & Associates, 1998; ISBN 1-56592-392-8
Programming Perl
Larry Wall, Tom Christiansen & Randall L. Schwartz; O'Reilly & Associates, 1996; ISBN 1-56592-149-6
Advanced Perl Programming, Foundations and Techniques for Perl Application Developers
Sriram Srinivasan; O'Reilly & Associates, 1997; ISBN 1-56592-220-4
Java in a Nutshell, A Desktop Quick Reference
David Flanagan; O'Reilly, 1997; ISBN 1-56592-262-X
Java Examples in a Nutshell, A Tutorial Companion to Java in a Nutshell
David Flanagan; O'Reilly, 1997; ISBN 1-56592-371-5
HTML: The Definitive Guide
Chuck Musciano & Bill Kennedy; O'Reilly & Associates, 1996; ISBN 1-56592-175-5
POSIX Programmer's Guide, Writing Portable UNIX Programs
Donald Lewine; O'Reilly & Associates, 1991; ISBN 0-937175-73-0
The Annotated C++ Reference Manual
Margaret A. Ellis, Bjarne Stroustrup; Addison Wesley, 1990; ISBN 0-201-51459-1
The C++ Programming Language
Bjarne Stroustrup; Addison Wesley, 1986; ISBN 0-201-12078-X
Standard C
P.J. Plauger & Jim Brodie; Microsoft Press, 1989; ISBN 1-55615-158-6
Undocumented Windows, A Programmer's Guide to Reserved Microsoft Windows API Functions
Andrew Schulman, David Maxey, Matt Pietrek; Addison Wesley, 1992; ISBN 0-201-60834-0

I resisted buying this book at first, not wanting anything to do with undocumented APIs.
In the end found insight provided by this book quite useful.
With Win16 fading out, this book is (thankfully) a bit dated.
Network Programming with Windows Sockets
Pat Bonner; Prentice Hall, 1996; ISBN 0-13-230152-0

Getting Started

Books I found useful getting started in a new (to me) area.
Core Java
Gary Cornell, Cay S. Horstmann; SunSoft Press, 1996; ISBN 0-13-565755-5

Good way to get started with Java if your are already familiar with writing object-oriented software.
There are newer editions of this book.
C++ Primer
Stanley B. Lippman; Addison Wesley, 1991; ISBN 0-201-54848-8

Got started with C++ with this book, and still found cause to refer back from time to time (a good sign).
Programming Windows, The Microsoft Guide to writing applications for Windows 3
Charles Petzold; Microsoft Press, 1990; ISBN 1-55615-264-7

There are newer editions of this book, and there might now be better books for getting started writing Windows programs.
For a long time this was arguably the best book around.