Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As per Piers Steel's "procrastination equation",

Motivation = (Expectancy x Value) / (Impulsiveness x Delay)

I find that most of my own procrastination tends to involve the Internet and the easily accessible distractions that it brings (the Impulsiveness in the denominator)

Unfortunately, I can not totally give up the Internet, because I sometimes actually need it for work, or to stay in touch with friends and relatives.

I think the perfect compromise would be if my time online was somehow limited to 1-2 hours per day. Are there reliable solutions that can enforce that?

Solutions that I've already thought about (please don't repeat them as answers without a good reason):

  1. Software-based Internet/site blockers. These are too easy to disable, and/or they won't work with my OS (Linux).
  2. ISP plans. I'm not aware of any that only allow you to use the Internet 1-2 hours per day, although there are some "mobile" plans that limit the total amount of data transfer per month. This is not my goal.
  3. Taking the modem/router/cable to work with you, and leaving it there until the next day. This is quite effective, in my experience, in limiting my Internet-related distractions for the whole evening, but I'd like to be online for 1-2 hours instead. Also, this won't work for those who work at home.
  4. Leaving the modem/router/cable with a friend, or neighbor, or in a safety deposit box. Unfortunately, this won't work, as this solution doesn't automatically shut off the Internet after an hour - nothing is stopping you from staying online. You can tell your neighbor "I'll bring this back in 1 hour, or I'll owe you $100", but this gets a little embarrassing.
share|improve this question
Not releated to limiting time online, but you might want to take a look at the Pomodoro technique, to solve the Impulsiveness side of the equation. The idea is to focus for 25 minutes and if you feel the compulsion to do whatever, just jot it down somewhere and do it at the end of the 25 minutes. – Muz Sep 3 '12 at 3:22
up vote 3 down vote accepted

I have another idea. Because any non-cryptographic software restrictions are trivial to circumvent by the administrator, you really need a solution that denies yourself root access temporarily.

Here is a high-level overview:

  1. Set up automatic restrictions as root. For example, a cron task that removes networking modules from the Linux kernel at 8pm. Or, a cron task could cut access when limits are exceeded on data usage, or time spent running "cromium" and "firefox" processes.

  2. Install the "pam_time" module as described in the linked post. Configure pam_time to deny root access between 6pm and 10pm daily. Apply this restriction to both direct root login and uses of sudo.

There you have it. A process running as root cuts internet access based on any criteria you want, and your system is configured to deny you root access during the critical hours.

I'd recommend testing the pam_time configuration in a virtual machine first to avoid locking yourself out. You can always use single-user mode to put things back, but it takes time.

You can still work-around by rebooting in single user mode, or using a boot CD. For single-user mode, you could set ~:S:wait:/sbin/sulogin in /etc/inittab so that it requires root login that pam_time can deny.

To avoid boot disks, you'd have to disable CD and Flash boot in the BIOS and set a BIOS password that is safeguarded by a 3rd party. Or, leave your boot disks at the office. You can reset the BIOS by opening your computer, so maybe leave the screwdriver behind too.

share|improve this answer
Thanks, I'll look into your suggestion. BTW, inspired (and scared) by your previous comment, I asked about a similar approach in askubuntu 5 minutes ago. – Oleg2718281828 Sep 3 '12 at 10:09
... I think this is a great answer. I'm going to accept/award it. A note to future readers: pam_time seems to be capable of blocking the Internet directly, e.g. the http service (no need to unload modules in cron). Graham, I hope you improve your answer, if you think of anything. Thanks! – Oleg2718281828 Sep 3 '12 at 10:49

I find using Leechblock for Firefox, or StayFocused for Chrome work well at blocking sites I waste time on.

I note your first point on these being too easy to disable. Are you aware that Leechblock has the ability to lock you out of its options, about:config and about:addons while it is blocking sites? It effectively stops you from unblocking once something has been blocked.

share|improve this answer
Could still pretty easily open up an alternative browser and get to those sites. We need to address the psychological issue of the dependence on viewing the site- I think if a person can reason with themselves on why NOT to go there, it will work in their favor of minimizing that psychological dependency. – Gaʀʀʏ Aug 28 '12 at 3:59
How would Leechblock lock me out? Would it still work if I do mv .mozilla tmp_mozilla (on Linux)? How? – Oleg2718281828 Sep 3 '12 at 8:54

Is there something wrong with buying a kitchen timer and setting it for the time you want to allow and then placing it across the room? If that isn't enough to stop you, then you might be addicted and need professional help.

share|improve this answer
Thanks for the kitchen timer suggestion. I'll give it a shot. However, I don't agree that procrastination, in general, or the scenario you describe, in particular, is evidence of a mental problem. Imagine that the timer went off and you turned off your WiFi, but 10 minutes later you remember that you forgot to do something urgent/important/awesome online, so you decide to turn if back on, despite your earlier commitment to yourself not to. Does that really mean you need "professional help"? Perhaps Piers Steel can comment on this. – Oleg2718281828 Sep 2 '12 at 9:56

If your work is IT-related there's no avoiding the internet, and software to block particular sites relies on you having the discipline to keep it enabled.

To block particularly distracting sites, I use Distraction Deterrent for Chrome, which suits me better than StayFocused which says "NO" forever once the time is up, leading you to disable as soon as you "really" need to do something.

Distraction Deterrent puts 30 seconds (configurable) between you and the page, gives you time to reflect on your impulse and choose otherwise, and tells you when your time is up.

But it sounds like you are asking for a hardware-based solution: a physical mechanism on the power cable to your modem (assuming you have no spare cable) that permits power for X hours, and then shuts off for Y hours.

share|improve this answer
I'm looking for a "deterrent" that's a serious hassle to circumvent. E.g. if I were to leave my modem at work and felt the urge to start using the Internet at home, it would cost me a round-trip to work (40 min of driving) - enough for impulse control. However, this is not ideal for the reasons I mentioned. – Oleg2718281828 Aug 29 '12 at 0:51
I don't think there's any software deterrent that can't easily be circumvented. Perhaps you want a hardware based internet filter like enterprises use? There may be a handful marketed to home users. – Graham Aug 29 '12 at 5:51
And a filtering device isn't easy to disconnect? Or do those replace the modems? – Oleg2718281828 Aug 29 '12 at 6:18
Would any of the Chrome/Chromium-specific solutions still work if I do, say, mv .config/chromium tmp_chrome? – Oleg2718281828 Sep 3 '12 at 9:00
No. Any software mechanism is trivial to circumvent by the administrator. You could set up internet disconnection under administrator(root) then someone else sets a root password and keeps it. That's harder for you - lacking root - to circumvent. The "someone else" doesn't have to be human - a 3rd party web service to send you a mail with the password after X hours will also do the job. – Graham Sep 3 '12 at 9:30

Some routers can be configured to allow/disallow Internet access during particular times of day. You might consider purchasing such a router, configuring it for your needs and then asking someone you trust to set and control the router's password. If you need additional access, this person would have to enable it for you.

Regardless of the solution you use, involving a 3rd party is probably a good idea in your shoes. In the case of my suggestion above, I would not only ask this person to manage my router's password, but I would also ask them to check up on me at regular intervals. Personal accountability can be very effective.

share|improve this answer
I think it would have to be a modem rather than a router (routers are optional). Regardless, could you suggest any specific models? – Oleg2718281828 Sep 3 '12 at 9:07
I believe many Linksys routers are capable of this. A quick Google search led me to the Linksys model: WRT120N. The user manual for this model describes a time-based Internet Access Policy. As for myself, I use a Linksys WRT54G, on which I've installed the custom firmware, "DD-WRT" ( This firmware also includes such Internet Access restriction options, and it can be installed on many router models. I would only recommend this if you're comfortable "hacking" your device, as the installation process does come with some risks. – Avian00 Sep 4 '12 at 6:44

Working on this but not for Linux, but a software solution is ideal.

share|improve this answer
If the admin installs this filtering software, wouldn't it be easy for him to disable it? I can see how the admin/root can limit others' privileges, but I need to be the admin on my own computer. – Oleg2718281828 Aug 27 '12 at 6:58

I have a different suggestion; how about a distracting reminder?

This is a simple solution and could easily be circumvented. But keeping a strong attitude towards stop being on-line for long, one can implement it successfully.

Find out a reminder tool, as a browser extension/add-on, that can alert you every X minutes starting from a time that you set, until the end of the day. Decide X as low as possible that you cannot tolerate. By setting a start time, you can decide how long you want to be on-line at most.

Say you want two hours for essential browsing/e-mails etc; then set the alert to start from two hours later when you start browsing. After two hours the alert keeps popping up every X minutes, enough to distract you from what you are doing on-line.

Not making any suggestions on tools, as it depends on what all browsers you use and what kind of uninteresting alerts can distract you. :)

You can even try setting a repeating alarm on your mobile phone as well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.