How do I regain my attention span?
JasonWyatt: Don't make your projects big monolithic tasks, make them consist of a series of fun, small iterations (like Agile development).  You'll have a better time, and it'll be easier to stay motivated - especially if you're making your project open source and can do minor releases along the way.