Regarding compiler books...
The Dragon is the standard introductory text fifteen odd years after it was published because no good replacement has arisen, not because it is awesomely good. Andrew Appel's more recent attempt, for example, was riddled with various flaws, and while I find it useful for register allocation issues and the like I think I would be better served with more hard core books and research papers.
The Dragon is not without its own flaws, mind; the material is dated and doesn't address anything but a straight up imperative language like C or Pascal. There is no garbage collection, for example (although thankfully Jones & Lin comes to the rescue here--a useful book both because it is the only such survey I know of and because it's incredible), and nothing discussing multiple inheritance or optimization of method dispatch in object oriented languages, both of which can be surprisingly subtle.
My standard reference has been a bundle of research papers collected for a grad course I took a year ago, including things like Ian Piamuerta's interpreter and reports from the Self project, but I'm not sure it could be easily duplicated.