What? Do you really do this? It would drive me insane. Every 48 minutes you're interrupted by an alarm forcing you to stop what you're doing, get up, lose your train of thought, and then start over again?
Also, you can't reliably separate the work computer from the internet one if you want to search the web for help/resources. How do you manage that?
It is impossible for me to achieve the minimum level of awesomeness that I require of articles before I publish them within just a few hours in a single day, so I'm going to switch to a 3- or 5-day publishing timespan. This will hopefully keep me from going totally insane.
For someone who so goes "insane" and finds things "impossible" so easily, perhaps you should open your mind to the success strategies of others before you criticize them so hastily. Looks like you need to be doing something differently if your 30 day website is already 4 days behind on Day 7.
I use the same thing I did to quit smoking. Sort of an OCD-like 'As Good As It Gets' technique.
Step 1. Whenever I feel the 'urge' to read e.g. HN, I close my eyes and quit my browser. Then I breathe slowly and deeply three times, holding it for about 5 secs.
Usually that does it, I regain my senses and go back to work. If it doesn't work:
Step 2. I have to stare at my screen and say, out loud, "I'm the man. I'm getting shit done. I'm King fking Kong." I try to do a victorious or chest-beating gesture as well. Usually I get a little mini-dopamine rush, and then off I go.
I rarely get to step 3. But if the first two steps don't work
Step 3. I'm not allowed to do any work for the next 120 minutes, at all. I can do whatever I want, but nothing useful or productive.
That last one is nuclear. Think about it - if every time you look at that HN toolbar button, you know you're going to lose 2 minimum hours ... would you click it?
It also helps to have free time later to enjoy HN at one's leisure (something that is obviously not the case with smoking..)
I do something similar usually stopping around 45 minutes. I've gone to this method over a couple years of trial and error and it seems to be ideal for me. I have also come across studies which show that people can only focus on something for about 40-50 minutes before losing interest. So a short break is needed after that time period to refresh.
Also I have noticed that I tend to accomplish something worthy (eg. fixing a bug, implementing a small feature) at around the 45 minute point so it is good for motivation as I can take a break knowing I have accomplished something.
Complete overkill, but my router enforces a daily limit for sites I visit too often. It's not that difficult to set up. Make a iptables chain, route all traffic that matches certain ips to that chain, add a --limit and --limit-burst counter to that chain, deny by default, allow when below said limit.
For bonus points, make all http connections redirect to your favorite todo list when you've exceeded your limit, and deny all ssh access (to the router) during working hours.
Setting it up was complete procrastination of course, but it works better than any manual block list. By slightly lowering my daily time waste allowance I can reduce the time I spend on sites like these.
EDIT:
Blocking with hosts is terrible, because you don't want to block sites permanently, and if you continually enable/disable the block list your muscle memory will unblock a site even before you realize you should be working. Cron job limits don't work when you don't have very strict working hours. Basically, you want to take a break for a few minutes every hour or so, and you need soft limits to enforce that.
We're actually pretty close to this (just soft-launched our windows version-- mac version hot on its heels). Starting with focus "toggling" ("Shut of the bad parts of the internet for 30 minutes") and moving on to nudges ("let me know when I exceed 30m of news time") and blocking ("block social networking if I exceed X hours or X %").
Disabling the internet is a baby/bathwater thing for a lot of people, I think. There's too much value there to turn it off completely (research, etc).
I intend to write something to do this soon, at the request of my wife. Basically, you need a cron job or something similar that edits /etc/hosts - shouldn't be too difficult.
But it would work better for people who don't know enough to manually edit /etc/hosts.
EDIT: the /etc/hosts thing would be to block specific sites, but it's just as easy to take the internet connection down completely with ifconfig or whatever your system uses.
Basically you set up a cron job (use "netctrl -c") to take your computer online and offline at sometime automatically, and when you want to use internet when you are not supposed to, you have to specify a reason to do so (use "netctrl -u"), and the reason is logged.
You can write a slightly more complicated index.php than he does to time how long it's been since you last checked a distraction, and give you an allowance of, say, one distraction per hour. If you're allowed, the script can just proxy all requests for half a minute.
Concentrate helps you work and study more productively by eliminating distractions.
To start, create an activity (design, study, write, etc) and choose actions (shown below) to run every time you concentrate. When ready, just click “concentrate." All your distractions will disappear and a timer will appear to help you stay focused.
I drag the favicon of my current project to the home button (to set it as my home page). Everytime I open a new browser window I am reminded of what I should really be doing.
When that task is finished, I change the home page to the next task.
Every time I see something like this I'm reminded of the idea of trying stop drug addicts by maEvery time I see something like this I'm reminded of the idea of trying stop drug addicts by making drugs harder to get. Somehow, some way, you're going to get the drug.
The problem is not to restrict your access, but to change your desire. There's a much deeper problem if you require hand-slapping to stop you viewing sites like reddit while at work.
My hack: run bittorrent during work time. Every site gets a lot slower. For me, the increase in latency makes distractions less enjoyable, but full access is still there if I really need it. On a few occasions, I've found important work-related stuff on HN.
Psst. Why is al3x.net loading an external gif every 20 seconds? It's distracting to see my browser indicate that it's loading something when I didn't interact with anything :)
Spending hours or minutes working out yet another restriction on distractions instead of learning how to focus and concentrate properly? What good can this possibly ever do.
That is disingenuous. In any job/work, even if you love it, there are tasks that blow. Documentation, bug hunting, administrivia, the boilerplate crap that crops up are all examples of this. Some or all of them are required, and since they are not fun, it is easy to get distracted and procrastinate. Some people are just prone to such things. Is it not better that they figure out how to not procrastinate, or that they search for the elusive (possibly mythical) work that has 0% sucky tasks?
While this is no doubt useful, its hilarious that something that actually removes a feature from your computer is being billed as "the most wonderful software ever invented." (not by you, by someone quoted on their homepage.)
I do something similar. I use LeechBlock, an add-on for Firefox. I have it set to let me view sites, such as HN, before 7:30 (a reward for getting in early), during lunch (hopefully, that means between 11:30-Noon:30), and after 4:30 (brain is probably mush at this point anyways). LeechBlock even lets you redirect to a different site instead of a blacklisted one. I picked my companies web site. I must say, I have conditioned myself doing this. The urge to check time-sinks have dropped significantly since I have been doing this.
After reading this, I feel editing /etc/hosts is a better option.
http://successbeginstoday.org/wordpress/2006/09/the-power-of...
http://www.paulgraham.com/distraction.html