I'm trying out some techniques to help me keep track of all of the various commitments I've made, all the projects small and large I want to do, and the like.
The biggest tool at the moment is a very simple TODO file kept up with a little script that appends a date-stamped line to it. I have aliases to grep for a particular line, to start an editor at a particular line, or (my favorite) to spit out a random line. I'm trying to tag the lines regularly with keywords so that grep does a pretty good job of identifying a context.
Going through your todo list in random order is strangely liberating. Rather than being overwhelmed by 150 things on it, you get to see them one at a time, and decide on the spot whether you can do something about them or have to punt to a later time. Sometimes when I see a big long list I freeze, this gets around that pretty well. Often I see a big task that is really dependent on some smaller task, so I will write down the smaller task too.
Randomizing the task list this way means that you can get more done in a particular area by simply writing down more about what you want to accomplish in that part of your life, since frequent mentions of tasks ups the chance they'll be picked randomly.