a reusable non-linear personal web notebook
html5 compatibility chart
Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode (which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM) and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).
Traceur is a JavaScript.next-to-JavaScript-of-today compiler that allows you to use features from the future today