I know this might sound like a "get off my lawn, kid" comment. Reading through what Mr. Levin answers here, he makes a lot of good points that I have thought a lot about lately. We have a lot of "neat learning to code" sorts of kids environments (Scratch comes to mind). It's like we have decided that new programmers can't learn to program if we don't give them some graphical environment that requires a minimal amount of actual code and copious amounts of sprites and game tidbits. But a lot of us were taught to program (or just hacked away until we learned) on systems with half the functionality of Levinux. I meet a lot of new "professional" developers who wish they had learned on systems like Mr. Levin describes instead of "newer" IDEs where you drag and drop bits of things and they "just work". When asked why they didn't try, they always seem to say something about not knowing where to start. There is nothing wrong with newer IDEs and drag and drop development, but this is a great way to push all of that aside and learn the "muscle memory" of development that Levin describes so that developers can become "spontaneous natural coding problem solvers".
Oh, and get off my lawn!