Learning Ruby on Rails is a means to an end, not an end unto itself. How do you know when you're done? When you've finished reading through a book? When you've launched a web app built with Rails? When a bug fix of yours is accepted into the Rails project? When you're hired for a job on the strength of your Rails experience?<p>Perhaps if you set yourself more measurable goals, it'll be easier for you to finish. I know this is the case for me.
I find keeping my eyes on the prize motivates me. I like watching interviews of people who've been successful its inspiring. ThisWeekInStartups has plenty of this. Keep long term benefits in mind, like having the freedom to do what you want, whatever that is. Combine that constant enticement with a regimented schedule and things begin coming together, at least for me they did. Plus once the ball gets rolling its hard to stop!
I've recently also started learning RoR. For me, the best motivator is to have <i>something</i> in my head that I want to accomplish as soon as I finish the "learning" phase.<p>For this language, I have two projects - one as a "I just learned this, and I want to make my first app using RoR" project, and one as an actual product that will generate income. The first project is a pretty important part of my learning process, because I know that it's going to take a while to accomplish as I learn all the little things that I didn't pick up in the tutorial. However, hopefully that exercise will make the second project go smoother.<p>One particular problem for me is when I get to the part of the learning process where I have to deal with things I don't do well. I know that doing actual site layout takes me forever, as I'm a developer and not a designer, so I always end up dragging my feet at that part. If you find yourself quitting then, pay someone to do it for you. Seriously. Even if you're just making the project for fun. Consider that investment as part of the learning process... you'll be much better off having completed the whole project than if you abandon it in the middle.
I jump from project to project, but I stop doing things after I solve the problems I thought were interesting. After all uknowns become resolved knowns and there is no more technical challenge, I quit. I know you can't build a business without dedication of another kind that's why I work for someone else...
You may benefit from reading a pyschology book on willpower and how to reach goals.<p>My recommendation is this book:<p><a href="http://www.amazon.com/Succeed-How-Can-Reach-Goals/dp/1594630739" rel="nofollow">http://www.amazon.com/Succeed-How-Can-Reach-Goals/dp/1594630...</a><p>It cited real world scientific research and gave practical advice on how to set goal and to succeed at one's goal.<p>Disclaimer: I am only aware of such knowledge, not actually putting into practice said knowledge. Currently, my only implementation of scientific self improvement is spaced repetition, which simply exploit the fact that we retain more information learned over a long period of time.
1. It takes on average 66 days for a habit to be formed.[1]<p>2. The intensity need not be there to form the habit. After a habit is formed you can increase the intensity of the activity. Start small like reading 2 pages a day and add a page every two weeks. This is probably the most important step.<p>3. Willpower is at a maximum right after waking, so whatever you are trying to accomplish do it first thing in the morning.<p>4. Stop dieting. It will burn through your willpower.<p>[1]<a href="http://www.telegraph.co.uk/health/healthnews/5857845/It-takes-66-days-to-form-a-habit.html" rel="nofollow">http://www.telegraph.co.uk/health/healthnews/5857845/It-take...</a>
Everything takes longer than expected. That's why you should choose projects carefully--don't just jump into stuff. Here's a somewhat nerdy treatment of these topics: <a href="http://lesswrong.com/lw/600/heuristics_for_deciding_what_to_work_on/" rel="nofollow">http://lesswrong.com/lw/600/heuristics_for_deciding_what_to_...</a>
Thanks for your brutal honesty.<p>It's difficult, but that's why its valuable. Build your character, it'll serve you well.<p>Overlap your skills when learning new stuff: Eg it seems you're great at photography, so make a simple rails photo slideshow.<p>Start small, and build. Don't bite off more than you can chew: Eg don't try to learn anything more than the absolute minimum between each time you ship.<p>Learn to SHIP. Eg build a small site or open source project, and ship it! This will keep you motivated.<p>Find your intrinsic motivation. For me, it was when i had an awful soul sucking job and just HAD to do something to improve my lot in life.<p>Find friends to walk the journey with and keep each other accountable. Eg i started a book club.
On the topic of discipline, yesterday I tried a new way to work.<p>I placed a few large boxes on my regular desk, and placed all my peripherals and monitor on an elevated plane (too cheap to get a standing table :D). Then, turned on some good dance music.<p>Funnily enough, I found that by dancing (in my own awkward way) to my favourite music I actually stayed on track with what I was working on instead of procrastinating by visiting HN or Reddit :)<p>Well, bring on day 2.<p>(solo-ing a project for 6 months now.)
You're right, you're not alone, I've had the same realization. These skills aren't obtained through sprints but through marathons.<p>I find accountability is my biggest motivator, so if you can gain it (via class or job) or fake it (study partner or collaborator) it will be easier to stay on the wagon.<p>You might also get some ideas or methods out of this post:<p><a href="http://news.ycombinator.com/item?id=2983834" rel="nofollow">http://news.ycombinator.com/item?id=2983834</a>
I jump between a few projects but my bigger problem is running out of money. Sometimes I have enough money saved that I can quit "real" work for a while and focus on projects, but usually I run out of money before I am anywhere near finished with any given project. Most areas I work in are also too obscure/risky/complex to obtain funding for.
i am very much like you :)<p>"learning" something, i'm finding, is very hard to do outside of a school setting, so i've been trying to think of why that is. what i've found is this: in school, you're given <i>assignments</i>, little (or sometimes not-so-little) programs to write that do something. of course, the assignments are designed to illustrate a point, something you've learned recently. but it can serve the same purpose in real life. think of something (doesn't have to be a novel idea), then try to build the functionality of it. it'll be frustrating working through finding bugs and learning how to do xyz, but you'll find that you've <i>learned</i> to use your tools, even if the project doesn't ultimately get finished.<p>good luck with RoR!
If you don't have this habit by the time you're a teenager, you're never going to get it.<p>Please, do your kids a favour: have them learn an instrument to an "expert" level by the time they're 13. Do not let them quit. If not an instrument, then <i>something</i> else.<p>If it's anything I see around me in my daily work, it's a bunch of people who never get shit done.