When I was learning C, I would write my program, then run it step-by-step in the debugger (I was using Visual Studio at the time) until it was pointless to do so because I knew what would happen next. If I made a change and did not have a mental model of what would happen, I would run the debugger.
Learning how to solve problems is a different process, but this gave me good understanding of basic code structures.
If you wanted to prove someone has talent, you would point to them pushing out noteworthy things on a consistent basis. Sure, someone can be very talented but have only a single thing to their name, but it's just as likely they got lucky.
> If you wanted to prove someone has talent, you would point to them pushing out noteworthy things on a consistent basis.
That's not a very good proof. If anything, that would show that they are productive. "Noteworthy" is very subjective, and it's not a measure of talent, though there can be correlation. If I have a big marketing team, I can make something noteworthy by someone's standards.
> Sure, someone can be very talented but have only a single thing to their name, but it's just as likely they got lucky.
Notch is talented. He got lucky with Minecraft. That doesn't make him any less talented. And now that he's "famous", his odds for being lucky have increased since he now has a bigger audience, more connections, more money - basically more opportunities.
From the article it seems like some of the symptoms are associated with inadequate sensing or awareness of social cues. That makes me wonder if taijiquan is a good exercise to help with that, as it trains sensitivity to small movements, intentions, and body structure. I'm not sure how well kids pick it up, though.
I went through this same thought process about two years ago.
IPython's notebook allows you to easily publish results. They include all you want and need: latex, imshow and nice code with many languages. But it's not good for generating results.
Perhaps the area it lacks most in is querying variables. In QtConsole, you just type `plot(x)` and see a plot with no side effects. In the notebook on the other hand, you have to type `plot(x)` into a new cell unless you want to rerun your code again and you have to delete that cell later (otherwise you have an unreadable notebook). Plus, the default keybindings (while easy to see) are not intuitive; I don't instinctively know how to jump back a cell.
I don't agree. In the notebook, you can use "%pylab inline" or "%matplotlib inline" magic to have plots inline, but you can also not use it and have plots output to a separate window without any side effects in the notebook itself. Or use any other backend of your choice.