A brief thought about exceptions in Java
Sun should rename RuntimeException to StupidProgrammerException. That would clearly describe the kind of error that RuntimeExceptions are designed to report.
It would also give valuable feedback to authors of uber-frameworks whenever they start writing code like:
public class CheckedExceptionWrappedByUberFramework extends StupidProgrammerException { ... }