I agree with most of this. What got me really going on programing was an idea I had that kind of existed, but not really, so i set out to learn how to create something PERFECT(still not there). Anyway, my point is, having a goal that you personally really want to achieve is a fantastic motivator.<p>With that said, i totally disagree with the idea that you should be able to build a functional prototype in a weekend. That's crazy talk if you're truly trying to create something worthwhile. Sure building a practice site in a weekend to get you hands a little dirty, and kind of get a feel for the way things work is a great idea, but if you start with the goal of building a prototype of your masterpiece in a weekend, you're surely setting yourself up for a fantastic failure, and probably get demotivated and quit. I think it's a better idea to dabble a bit with some fun practice and then get an idea of what you're building entails, then set a realistic goal(aka 4x what you think it'll take you) and set out to make something great.<p>Just my 2 cents.