I find that when I have something difficult, or new, to do I want to read HN and other sites more frequently. However, once I start on those hard / new tasks they are invariably engaging enough to keep me focused. It's just that initial hump.
[1] http://blog.xkcd.com/2011/02/18/distraction-affliction-corre... This works surprisingly well
The approach I'm experimenting with is a "productivity mode" toggle in a tiling windows manager which disables most of the windows manager commands, leaving me mostly stuck in whatever application(s) were already visible until I toggle it off. The toggle off function has a 30 second delay.
- I have a better high-level overview of software development - this way I can keep in my head lots of things that I wouldn't usually think about.
- I have lots of ideas on how to solve everyone's problems :). This is actually very important for me, as my relationship with some of my friends looks like this: they come with a problem, and I throw solutions at them until one sticks, and we're all happy.
- I have lots of ideas for hobby projects that I usually don't have time to pursue :( (e.g. idea for nyan-mode was a result of procrastination and office jokes).
However, all those benefits come at the cost of me not doing things I'm supposed to be doing at the moment. When I encounter a hard-but-not-too-hard problem at work, I might procrastinate for a minute or two, but then I sit down with a piece of paper and just solve it. However, if the problem is really hard for me, procrastination becomes a way to escape from it; I might read HN indefinetly and I still wouldn't solve it. Not to mention that there's a threshold point, after which every minute spent on procrastination makes me more tired.
Jokes aside, I find that reading stuff on the Internet often makes me unable to work at all - the harder problem I have to solve, the more I want to look for something interesting on the 3rd page of HN. But it's the usual procrastination stuff, covered many times on HN.
My God, I actually installed a Twitter client for Emacs today while procrastinating...