x86 oddities is
quite an amusing collection of x86 opcodes and behaviors which aren't commonly known.
The same site also has video tutorials on the portable executable (PE) format, and neat opcode
tables for x86, Java bytecode and .NET IL. Very useful!
And while we're discussing Java bytecode and .NET IL: I have always found
IKVM most fascinating - this lets you run your Java
code in a .NET CLR. Roughly, it works by loading Java class files and translating them on the fly
to .NET IL code. (I think there is also a "static" translation mode, though.)
Using IKVM, people succeeded in running fairly involved stuff like Eclipse and
Groovy
in the CLR...
In a similar vein,
jni4net tries to create a bridge between
.NET and Java. Fascinating stuff as well.
to top