I suffer from this too (approaching 30 now), however in recent years it's improved.
It started by instead of rushing headfirst, instead recording ideas into a text file. It quickly became apparent that revisiting something written mere weeks earlier would reveal it as total crap, uninteresting, or the wrong approach or similar. That file is now just under 1000 lines, only 3 of which are probably worth revisiting later. It also seems the act of recording an idea hasĀ a similar sense of reward that comes with working on it.
Another rule is to mercilessly cull anything half started in a fit of excitement: my ~/src shrank from something like 100 directories to just over 30 right now, and half of those are 3rd party. Lose half a night's sleep coding some crap? Recognize it's undirected crap, and rm it first thing in the morning. The effect of this is less wasted work, more stuff getting recorded and enduring review, less distraction and less temptation in future to mkdir super_foo_project ; vim a.c.
I also promised myself to only work on an idea after finishing the previous. Presently my last "big" idea started in 2008 and only needs a few weeks' dedication to finish. In the meantime tens of weekend projects remain unstarted, as they rightly should. When I finally gain the discipline to finish that project, I'll be in much better shape to execute in future.
It started by instead of rushing headfirst, instead recording ideas into a text file. It quickly became apparent that revisiting something written mere weeks earlier would reveal it as total crap, uninteresting, or the wrong approach or similar. That file is now just under 1000 lines, only 3 of which are probably worth revisiting later. It also seems the act of recording an idea hasĀ a similar sense of reward that comes with working on it.
Another rule is to mercilessly cull anything half started in a fit of excitement: my ~/src shrank from something like 100 directories to just over 30 right now, and half of those are 3rd party. Lose half a night's sleep coding some crap? Recognize it's undirected crap, and rm it first thing in the morning. The effect of this is less wasted work, more stuff getting recorded and enduring review, less distraction and less temptation in future to mkdir super_foo_project ; vim a.c.
I also promised myself to only work on an idea after finishing the previous. Presently my last "big" idea started in 2008 and only needs a few weeks' dedication to finish. In the meantime tens of weekend projects remain unstarted, as they rightly should. When I finally gain the discipline to finish that project, I'll be in much better shape to execute in future.