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!