id Software’s John Carmack QuakeCon 2011 keynote on the development of Rage, as well as code quality, static analysis, hardware constraints, and functional programming