Innovator's Dilemma Structure of Scientific Revolutions How to be a Programmer? http://samizdat.mines.edu/howto/HowToBeAProgrammer.html?x