As for avoiding distractions, I agree with Paul that the Internet is like crack, it's really bad. Like Paul, I never watched TV. (As an aside, I think the reason most people are so dumb is because they watch a lot of TV). The Internet is like TV -- it makes one dumb, it's like crack, but it's also unavoidable when working as a programmer. I used to deal with the Internet by removing the wireless card from the laptop, and physically walking to my 'work location', which didn't have a LAN port, to get work done.
The problem with that now is that I need to use the Internet frequently to SSH into servers, download libraries, programs, and so forth, simply to get work done. I suppose I only have about 15 libraries that I use with the typical program that I'm writing. So maybe the overhead cost of me browsing the Internet and wasting time doing so is high enough that it would be better to go back to the old setup.
Ewww.
HN is much more akin to what sports fans do at sports bars (but asynchronous and otherwise more efficient). How much time is "too much time" to spend here depends on what else is going on in your life, but it's definitely not something to shun altogether (like cable TV).
WoW is also very different from TV - I haven't played since high school, but I remember it requiring quite a bit of interpersonal skill to organize and lead 40-man raids: settling people's personal issues, coordinating teams, etc. Maybe I romanticized it (as I did most things in high school), but I'd imagine that the kind of teamwork one learns from being in a large guild doing end-game raids comes in really useful in any organization.
However, I should be coding my app. I've spent most of the day working on a mock up so it's ok to spend a few minute here right?
I should also be doing homework.