While reading his post, I was constantly thinking "been there, been there buddy". Yeah, I've been.
I had the same problem since months, impossibility to track the things I had to do, being computer related stuff or real life ones. The bad thing is that until you write them down, you keep them in mind, and that's exhausting. You know you have, let's say 5, things to do, but unless you write this 5 items down in a TODO list, you will keep thinking about it once in a while. And that's a real lost time.
And that's totally inefficient: imagine you though "it'd be nice if I could buy a USB stick next time I buy some hardware". Well, unless you actually write this somewhere and have the habit to check the "To Buy" category of your TODO list, you're going to buy a replacement hard drive in a hurry some day, and forget about your USB stick.
I think the good practice, which I really recommend to everyone, is to write down as soon as possible what you think you have to do. Don't write it on a small paper you will lose, write it in a TODO list, a paper or electronic one, whatever, but write it, and stop thinking about it. When you'll have time, you'll get your TODO list from your pocket and give a look at it, doing what you can do at that moment. Once in a while, you check that list.
Personally, the tool I chose to handle my TODO list is a Palm Centro phone, which I got for only a hundred of euros. It runs the good old PalmOS, which basically know how to handle TODO list and plannings better than all phones I saw so far (and yes, probably better than your iPhone).
My choice was based on the fact that I've random ideas almost everywhere: that means while hacking, but also while walking in the street, while being in the train or while sleeping (yeah, already happened). And the only thing I always carry with me is my phone, in my pocket.
However, Steve choice may be nice if you have Internet access on your phone, which I haven't since it's too expensive for what it is, in my opinion. :-)