GeekOS is a tiny operating system kernel for x86 PCs. Its goal is to be simple enough for beginners to understand and modify, but realistic enough to be interesting and fun. The primary development environment for GeekOS is Linux or Windows using gcc, nasm, and the Bochs PC emulator.
FindBugs looks for bugs in Java programs. It can detect a variety of common coding mistakes, including thread synchronization problems, misuse of API methods, etc. It is written in the GJ dialect of Java, and will run on any Java VM compatible with Sun's JDK 1.4.0 or later. It includes both GUI (Swing) and commandline frontends.