Noprocrast is a great feature, however in my experience anti-addiction tools have a limited effect on procrastination. Procrastination is avoidance behavior by definition, and I've found that I can always find something to do instead of dealing with the large context switch that comes with hacking.
One thing I'm trying is looking for opportunities to leave easy compiler/interpreter errors in my code, so that when I sit down to work I can just run the module I was working on and the compiler will immediately point me to a place to get started. This is somewhat similar to the advice pg gave in Hackers and Painters about saving up bugs to do when you're tired, but I've found it works really well for remembering where you were.
Even if you don't leave a bug on purpose, sometimes having a routine like that can help. What techniques do you use?
Ok, that sounds wrong. Let me try again: I find that when I'm procrastinating about writing a particular piece of code, it's because there's something nagging at my subconscious telling me "this isn't the right way to solve this particular problems -- go away and think some more".
Once I know what the next step is and know that it's the right next step, I find that I don't procrastinate any more.