One of the biggest challenges of being self-employed in an IT-related field is the constant distractive, pull of The Internet. It is Procrastination Central.

Facebook, Twitter, email, RSS, chat, Stack Exchange, web comics, and news sites are particularly troublesome because they – like a slot machine – have a random chance of paying out with something new and exciting each time you visit (see: Operant Conditioning).

The basic pattern goes “this problem I am working on is hard… maybe I’ll just check to see if I have new messages”. Repeat every 10 minutes (“maybe I’ll ‘win’ and get a new message”). And then, when one of them pays out, waste perhaps an hour or so engaging with it. All the while, the original hard problem goes unsolved.

And, even though you might end up being engaged in “work” for most of that time (even not counting distractions, like email, which feel like work), the truly difficult and therefore important tasks keep getting disrupted and can remain unsolved for weeks at a time!

An environment like this is not conducive to getting great work done. Clearly the environment needs to be altered.

Disconnecting Distraction

By far my number-one productivity strategy is to prevent myself from accessing the Internet.

I was inspired by Paul Graham’s essay “Disconnecting Distraction”. He describes having two computers, one permanently offline for work, and a dedicated Internet computer. Unfortunately this is not really an option for me. Nevertheless the disconnection strategy seemed worth trying.

My initial attempts involved disconnecting in software: messing with the hosts file or disabling the network hardware. These attempts failed due to two major flaws: First of all it was too easy to reconnect in a moment of weakness. And second of all they were quite difficult to maintain, needing to constantly remember to go in and re-deactivate the network.

(I don’t use a laptop, but I suspect that flicking the Wi-Fi switch may be similarly ineffective.)

My next approach, which worked well and I kept for about a year, was to simply pull out my network cable. As it happens, I can easily disconnect the cable when I shut down for the night. But to reconnect I need to crawl under my desk. This also neatly disrupts the instantaneous gratification of surfing the web, but makes it still possible when I need to access some online reference.

My current approach was inspired by looking at software like Freedom, which lets you disconnect from the Internet for a fixed number of minutes, while not blocking local network access (I need to access my Mac over the network to do iPhone development).

These programs looked good, but what I really wanted was a way to fully automate the process, ideally something I can put into scripts or the Windows task scheduler. Eventually I came up with a pair of scripts that I use to disconnect the Internet when my PC starts, and reconnect it at 4PM in the afternoon, ideally after I am already in “the zone” and focused on my work.

(If you are going to implement one of these methods, I recommend you also keep an “Internet Todo” list so you can put all of your Internet tasks out of your mind until you are able to process them.)

XKCD: Impatience vs. Laziness

As you can imagine, I’m quite interested in external methods of enhancing productivity. So the latest XKCD comic’s alt-text piqued my interest:

After years of trying various methods, I broke this habit by pitting my impatience against my laziness. I decoupled the action and the neurological reward by setting up a simple 30-second delay I had to wait through, in which I couldn’t do anything else, before any new page or chat client would load (and only allowed one to run at once). The urge to check all those sites magically vanished – and my ‘productive’ computer use was unaffected.

What Randall is proposing is much more subtle and directed than simply blocking out the entire Internet. He is suggesting disrupting the mental reward-mechanism of checking Internet messages. I could see this becoming very useful for me, given that my current method is automatically reconnecting me to the Internet – the good with the bad – in the afternoon.

I eagerly awaited the inevitable accompanying blog post that described Randall’s method. Unfortunately I was disappointed to see it was very low-tech. It involves manually rebooting his computer every time he switches tasks. It is enforced only by an honour system – which, while possible, would use up mental energy to maintain. Plus it can’t be good for your computer!

But I love the concept! And I was inspired –

Up until now my browser home page has been Google Chrome “Most visited” pages, plus my favourites bar. With access to Google Reader, Facebook, Twitter and Stack Exchange only one very tempting click away.

What if I had to wait through a delay? Introducing my new home page:

It has friendly message reminding me to check myself, in case I am being distracted. And an enforced 30-second delay before the links will appear:

Randall also makes a point of only allowing one task at a time. To this end, if you try to do anything but wait on the countdown screen, it will detect this and cancel the countdown – forcing you to reload and wait again from the start. This prevents you starting the wait in the background, or queuing up multiple waits at the same time.

There’s a live demonstration here. And here’s a downloadable archive for your convenience – feel free to modify it to suit your needs! It uses jQuery, so I expect it to work everywhere; but I have only tested it on Chrome. (Note that Chrome needs an extension to set a homepage for new tabs.)

I am only just starting to try this now, so I will see how it goes. If you are trying this yourself, I would be interested to hear your results. I will be using it in tandem with the automated Internet disconnection described above.


Here are some of the best links I have found about this kind of procrastination. I highly recommend reading these:

Disconnecting Distraction – Paul Graham

Focus – Matt Rix (Trainyard)

Procrastination – Davit McRaney

Akrasia and Self-Binding – Daniel Reeves

Distraction Affliction Correction Extension – Randall Munroe (XKCD)


Dr Von Grumpus

12:40 am, Tuesday 22 February 2011

Could you have it do a redirect after 30 seconds?


9:07 am, Tuesday 22 February 2011

Cool idea. I think I might try it. But putting a link to XKCD at the top? Counter-productive madness!

Andrew Russell

3:50 pm, Tuesday 22 February 2011

My intention is for users to download the page, store it locally, and modify it to suit their own needs. I am afraid that this does require some basic HTML and possibly javascript skills.

Dr Von Grumpus: Locate the javascript that fades in the links ($("#badLinks").delay(505).fadeIn();), and replace it with javascript to redirect to a new page (window.location.href="";).

Brian: Simply delete that block from the HTML 😉

Eric Malamisura

12:52 pm, Thursday 24 February 2011

Andrew I use RescueTime for this very problem, it will block the internet, sites, popup a reminder letting you know you are doing distracting stuff and to get back to work, lets you setup goals, time slots, schedules, and sends you a weekly report on how productive you have been compared to other users. I don’t work for them, and I am not affiliated with them in any way. In fact I am the owner of Elucidsoft, thats why I wanted this and its a life saver… You should check it out, I used the free version for a while before I ended up paying for the pro one…

Andrew Russell

4:36 pm, Thursday 24 February 2011

Hi Eric!

In the first draft of this article, I had a bit about how I use a program called ManicTime to do time-tracking. I did take a look at RescueTime, but I found that the free version of ManicTime better suited my needs.

In particular I preferred to have the local data storage (particularly seeing as I deliberately disconnect my Internet access) and document-tracking. And the Internet blocking features didn’t really meet my needs either (hence all the custom stuff). But you’re right – it’s worth mentioning as an alternative.

I might do another article later, about the benefits of doing time-tracking. Especially with these tools that you can set-and-forget.

Matthew Leonard Cohen

5:13 am, Friday 25 February 2011

This is a great idea, but does it only work on Windows? I find I can click away from this page very easily. Or perhaps I am misunderstanding the idea here… Is it meant to *prevent* me from going to another website until the timer runs out? Or is it just meant to *remind* me not to?

Andrew Russell

1:27 pm, Friday 25 February 2011

Hi Matthew. I’ve only tested it on Chrome on Windows (and even here there are ways to bypass it). So your results my vary elsewhere.

It’s not completely foolproof (heck, you can just type in the address bar). So it’s mostly an aid to – or reminder of – your own commitment to not visit distracting sites without waiting the 30 seconds first.