Today is my last day at Sun. This has been a tremendous experience, and you, the readers of my blog, have helped make it so. I plan to follow the OpenJDK compiler, Kitchen Sink Language, and OpenJFX projects, but I have a full time job, so my contributions will be small.
I still have a lot to say about Java technology, and I hope I will be able to say a bit about my next project. I invite you to follow me to my new place on the web.
Thanks to Randall Munroe for generously sharing his comics with the rest of the world.
He already mentioned the Dragon Book which is a must.
I also understand that Appel's Modern Compiler Implementation series is popular but I have never read them myself. The C version looked a bit thin compared to the Dragon Book (but some may argue that one has too much detail).
That's about all the books I know on compilers. If you're interested in compilers, I would also recommend that you contact your local university or college. Many univerities work with tech companies to offer some form of training.
A book that is not really about compilers but that I have found really useful is the GOF book on Design Patterns. I cannot live without Visitor(331).
If you are interested in Java™ programming language compilers or the like, the puzzlers book by Joshua Bloch and Neal Gafter has a number of interesting comments for language designers.
I like books on general software engineering best practices and can especially recommend:
Finally, don't forget to read the mirror paper by Gilad Bracha and David Ungar.

This should demonstrate the value of writing tests for even the most trivial of changes. Did somebody recently mention something about testing...? ;-)
Boy, have I been around lately. After returning from Japan, I went to India. India was great, I really like the people and the culture. After having been "home" in California for just a week I flew to Denmark to celebrate Xmas with friends and family in the "old country". I have spend a few weeks in Denmark and am currently in Prague in the Czech Republic.
I took a few pictures while in India, here is one of Seetharam and I. Seetharam tests the compiler and other stuff.
Here are some examples of bad error reports:
From an email: I can't read email.
Since the user didn't include any additional contact information, it was quite hard to help him. His email account looked fine and sending an email asking for more information seemed pointless.
My program doesn't compile
Strictly speaking, your program probably shouldn't compile. That's the job of the compiler. ;-) If the compiler rejects your program, you should provide enough information to reproduce the error message. In most cases, this means include the source code of your program and include the error message you saw.
My intention of this blog is to post answers to frequently asked questions about the new features added to the Java Programming Language in Tiger.