Distraction Affliction Correction Extension

Lots of people have asked me for the system I used to implement the restriction in the alt-text of today’s comic.

At various times, I thought of doing it with an X modification, Firefox extension, a Chrome add-on, an irssi script, etc—but none of them worked too well (or involved a lot of sustained undistracted effort, which was sort of a Catch-22).  Then I hit on a much simpler solution:

I made it a rule that as soon as I finished any task, or got bored with it, I had to power off my computer.

I could turn it back on right away—this wasn’t about trying to use the computer less. The rule was just that the moment I finished (or lost interest in) the thing I was doing, and felt like checking Google News et. al., before I had time to think too much, I’d start the shutdown process.  There was no struggle of willpower; I knew that after I hit the button, I could decide to do anything I wanted. But if I decided to look at a website, I’d have to wait through the startup, and once I was done, I’d have to turn it off again before doing anything else. (This works best if your ongoing activities are persistent online—for example, all my IRC chat is through irssi running in screen, so turning off my laptop doesn’t make me sign out.)

Other ‘honor system’ approaches have never worked for me.  Blocking the sites (or keeping the computer off) didn’t work—I could always find a way to argue with myself. I’d decide this day needed to be an exception for some reason, think of a project that required the computer, or just grow frustrated after a few hours and get really curious about something I’d seen a website somewhere.  There’s some interesting research about novelty and dopamine, suggesting (tentatively) that for some people exposure to novelty may activate the same reward system that drug abuse does.  In my case, I felt like my problem was that whenever I was trying to focus on a (rewarding) project, these sites were always in the background offering a quicker and easier rush.  I’d sit down to write code, draw something, build something, or clean, and the moment I hit a little bump—math I wasn’t sure how to handle, a sentence I couldn’t word right, an electronic part I couldn’t find, or a sock without a mate—I’d find myself switching to one of these sites and refreshing.  Reward was briefly unavailable from the project, but constantly available from the internet.  Adding the time-delay removed the promise of instant novelty, and perhaps helped disconnect the action from the reward in my head.  Without that connection dominating my decisions, I could think more clearly about whether the task was really important to me.

Beyond that one rule, I put no other restrictions on myself.  Want to go read a 17-part Cracked article?  Fine!  Think you might have an important email?  Go check.  Feel like looking at Reddit for the 20th time today?  Go for it; you might find something interesting (hey, it’s where I found that dopamine article).  Want to play Manufactoria until your eyes bubble?  Absolutely.  The only catch is that you have to stare at a startup screen for 30-60 seconds first. (If you have one of those instant-boot laptops, you’re out of luck.)

It was remarkable how quickly the urges to constantly check those sites vanished. Also remarkable was that for the first time in years, I was keeping my room clean. Since the computer was no longer an instant novelty dispenser, when I got antsy or bored I’d look around my room for a distraction, and wind up picking up a random object and putting it away.

I’ve since relaxed this restriction; the family health situation I mentioned a while back has meant that I’ve had less free time lately, and when I do, mindless distractions have been welcome (thank you again to everyone who sent in games!). But just following this system for a short time was enough to break most of my distracting website habits completely, and when things return to normal around here I’ll probably start using it again.

There’s still a place for a browser extension, though.  A lot of peoples’ jobs require them to be on a computer running something all the time, or can’t shut down for other reasons, so my quick turning-the-computer-off trick won’t work for them.  None of my abortive attempts are worth building on, but if someone’s looking for a quick project, building an extension like this might be a good one.  It could let you impose a delay like this on loading a new page, or a page outside the current domain, or refreshing a page you’re already on (and no, just running the browser under Vista on a Pentium-133 doesn’t count).  If anyone makes a good one, I’d be happy to share it here .  Just post a link in the comments!

210 replies on “Distraction Affliction Correction Extension”

  1. So I’m using the LeechBlock extension for Firefox, and I must admit, it works rather well.
    It’s even more effective because the website I chose for it to show instead of the blocked websites is: howaboutyoufoc.us
    It’s hard to get sidetracked when your computer yells at you to focus every time you attempt to procrastinate. 😉


  2. I recently broke myself of facebook, perez hilton (don’t judge, i don’t have cable and I really miss “the soup” – perez is all i had) and checking reddit a million times a day. I still check reddit sometimes, but the first two are totally gone. You wrote in another comic something about how contstant novelty saps creative energy. Its completely true. Since I’ve made it a point to be online less I’ve gotten so much done. I could refresh reddit and my email and blog lists for hours at a time, but why?


  3. I think the trick is to realize that this isn’t a cure-all solution, but a technique for a very specific and very real problem. That is to say, 30 second delay is not necessarily going to make you do stuff, but can break the unproductive habit of refreshing facebook/reddit/etc. You can be in a productive mood and lose that quickly when you go one of these sites. This type of delay can perhaps cure the compulsive habit.

    But if you’re not getting things done because of some other conflict (say the task is difficult and annoying), the delay won’t directly help you get started. It only helps with not destroying your productive mood once you get into it. And as the comic itself hints, destroying your productive mood with these sites is amazingly easy.


  4. Chrome has an app called StayFocusd. I found it useful, but it was easy to get around if you wanted to. I won’t tell people how I did it because I feel guilty enough doing it. It doesn’t create a delay, but it does limit the amount of time per day that you can spend on extraneous sites that you have to individually block. It also yells at you and insults you if you try to give yourself more time. The problem of course is that if you are weak willed to begin with, you might look for a way to turn it off and undo it for yourself.


  5. The Firefox extension LeechBlock kept me from failing out of school.
    You tell it which websites are leeches and then you can tell it settings like only allow me to be on leech websites for X minutes per hour.
    Typically, I’d set it to 5 minutes per hour.
    It actually has lots of detailed settings and even has settings to keep you from going into firefox’s configuration during certain hours so you can’t just go and remove the plugin when you’re really tempted.


  6. Yet, Captain Bidseye, you keep visiting the webpage and even the blog.


  7. thanks for that. i have now wasted time reading loads of comments. :0

    but it chimed well with my latest thoughts about the web. i have started to discuss it as an addiction. and have applied willpower (I have started simply getting up and walk away from the computer, easy as am mostly home based) to my prob.

    that is why it took 2 weeks to read this blag. i am not even up to date with the comic. gulp. i am weaning myself off the comments boards. had a relapse today and this is just what i need to get back on track.

    it is hard trying to discover what is a permitted level of time wasting. some sites / blogs need more time to digest / reply etc.

    also thanks to poster above (soz, forgot you name) for this tool in my arsenal: http://howaboutyoufoc.us/ . along with willpower when i can’t i will click on this page till i refocus.

    great blag as always. miss you and the commenters.


  8. why? Its a crude method, but every time I want to slack off I have to manually restore the internet. Hope this helps. Now back to not writing my 8 page paper.


  9. Here is a Chrome script I wrote, it uses experimental APIs, so it may break but it adds a 30 second delay to cnn and facebook. You can add others as needed. Go here to see how to use it: http://code.google.com/chrome/extensions/api_index.html.

    //File: manifest.json
    “name”: “My First Extension”,
    “version”: “1.0”,
    “description”: “new test”,
    “permissions”: [“tabs”, “http://*/*”, “experimental”],
    “background_page”: “background.html”

    //File: background.html

    function sleep(milliSeconds){
    var startTime = new Date().getTime(); // get the current time
    while (new Date().getTime() = 0 ||
    Instr(details.url,”facebook”,0) >= 0) {
    var tempurl = details.url
    chrome.tabs.update(details.tabId, {url:”about:blank”});
    chrome.tabs.update(details.tabId, {url: tempurl + “?” + locker});



  10. Thanks for the info, wow, so I’m not the only one, that’s very reassuring.
    I have learned a lot from reading the comments and will have a look on the various points that all of you made which is very interesting. However, I must get back to work and concentrate on business proposals, creative ideas for blogs, and writing speeches for a future project (get the picture?).

    If anyone out there has any other ideas… Ya got my address!




  11. I have tried leechblock, it was/is quite good. It works on my computer at the company, but not at home where I have a number of different browsers.
    There I disabled sites by redirecting them to via the /etc/hosts file and made a cron job that restored that file every 5 minutes. So even when I got weak and resorted to sudo vim /etc/hosts to remove my shackles , at most 5 minutes later the filter was back in place.
    But with that and leechblock you have to actively add sites you supposedly like, so you punish yourself all the time.

    My problem is also that it inhibits net use to total impracticability. You blacklist wikipedia, but wp is so essential nowadays that I need it often and would constantly run into leechblock and eventually remove it.

    My best solution so far is to download a whitelisting content filter, whitelist only google.com and the few sites I really need to work. A reference site for my programming language, my companies site, gmail, plus googleusercontent.com, which is google’s cache server.
    Now if I need some info from the net, I just google it, hit the “cached” link.
    From the cached sites no links work because of the filter! You can only view that specific site, extract the information, get your feeling of freedom and achievement and be blocked only when you are trailing off. The feeling I get from being stopped there is also positive, since I know what would have happened had the thing not caught me.

    Trashing the flash plugin also helps. I mean leave it as installed, just delete some essential file. You can still youtube via HTML5, but if you are prone to fall victim to flash games this is a very effective cure.


  12. In a way, I’m lucky that internet on my cruise ship is expensive and slow. It removes the “reward system” for procrastinating online!


  13. That’s a neat idea! I have a friend who has his firewall block a whole bunch of sites during the working hours but I suspect that it just means he whiles away the time trying to hack his own firewall.. 😉

    Oh, and you definately need to restart your computer before playing this:



  14. You may want to try a linux/OS X program called self control. You can use it to enforce a block on accessing sites that you list from the beginning for a specified amount of time. Restarting the computer/ uninstalling the program won’t work.

    Of course theres a way to fix it, but if you do find out and circumvent it there’s no helping you.


  15. Gene,

    Your google chrome extension looks interesting and I want to try but I just can’t help but think there is something missing (besides the script tags). How does it block cnn (like you say)? and why are there more right parens then left parens?

    I’m such a beginner with google chrome extension that I could just be completely off base here, but that script seems odd.

    You seem like the only one proposing a solution close to what Randall was talking about. Thanks for you help!


  16. Interesting approach, I accidentally found this without looking for it on the day I told myself I need to do something about the same problem.

    In stead of rebooting the computer I made my computer lock the screen for 120 seconds every time I press the sleep key on my keyboard. My first impression is that it seems to have the desired effect.

    I configured the sleep key on my keyboard to start the following script:

    # Locks the screen for the number of seconds specified on the
    # command line.
    slock &
    sleep $SECONDS
    kill $CHILD_PID


  17. I like Gerrit’s idea of locking the console for X seconds as an alternative to a power cycle. Anyone have ideas for how to do the same for windows?


  18. I use a lot of software from http://www.spacejock.com which is all free, and one of the extra random things that it has is a program which you start up whenever you want to use the internet. All you have to do is type in a randomly generated 12 digit number, and then you can access your browser. It not only delays the internet, but means you have to think as well. It works brilliantly for me.


  19. Reading this for the first time while taking a “break” from studying for finals and finishing up papers due tomorrow. The irony is crushing.


  20. I know others have posted similar solutions, but I found a free app a few years ago and I figured I’d throw in my two cents. It’s called called SelfControl and it blocks whatever websites you want it to block for a limited amount of time. You can whitelist or blacklist your selection of sites, depending on the level of control you think you need. Here’s the link:


  21. /’/…/…./…../ˉ
    ……..(‘(…′…′….ˉ~ /’)

    Google in the input: = tntn.us ==you can find many brand names, even more surprising is that he will sell you the unexpected o(∩_∩)o


  22. I’m sure there are many other ways to procrastinate, even offline. But some of these tools will be of some use to others – you guys wouldn’t mind if I shared these tools on my blog, right? With the appropriate credit, of course…

    …if I ever get around to actually writing that post.


  23. I simply put my laptop in my car. If you have a desktop you can remove the power cable or the network cable. In college I would do all my work in a coffee shop where I only brought the essentials thereby eliminating the distractions at home. I would also start off by doing homework that did not require a computer and satisfy my dopamine addiction first. This would get me in the zone. Thermodynamics homework was good for this since I enjoy solving problems and the work was done with pencil and paper. When I had to write a paper I would write it with pen and paper first as a stream of consciousness. Then I would transcribe it and edit it later.


  24. What I would like is a leechblock-like program with an option to restrict sites not by only time, but by number of pages viewed – for example, I could restrict myself to loading fifteen pages per day with the word “Facebook” in the URL (or even as a keyword on the page), and keep track with a counter in the corner of the screen. It seems easier to be thoughtful about “spending” a page than deciding if something is worth your time with seconds ticking away.


  25. For SMT:
    If you’re on Chrome, I encourage you to give Crackbook a try. (https://chrome.google.com/webstore/detail/nbgjmohekjolcgemlolblankocjlgalf)

    Its free, and does sort of what you say – you pick a number of unblocked visits per day (I’m at 10), and then get slapped with a delay timer of your choosing for all subsequent visits. It doesn’t have a visit counter or the ability to give different sites different numbers of visits, but it does have that “spending” fucntionality.
    It also has some fairly nice bonuses like time/day of week customization, and a timer that doesn’t display a visible countdown, and resets when you leave the active tab.

    Just got it, seems to be a good option!


Comments are closed.

%d bloggers like this: