These kinds of projects are the epitome of the "using technology to solve human problems" fallacy.
If you are having trouble staying motivated to work, then you need to fix that. For me, browsing facebook et al is a palette cleanser of sorts. If I lock myself to only being able to view 'work' sites, I'd become too stressed to do my best work.
It's most definitely in the "tech to solve human problems" camp.
Interesting to hear that you feel more stressed when you lock yourself out of palette cleansing sites. For me, I sometimes get this background anxiety/agitation when working in front of a computer for long periods of time, which can tip me into distraction when I hit something frustrating.
My computer is a shared leisure/work machine, which means that it can fall into the "working in the bedroom effect:" I find that I don't work well in that space because it's where I sleep and relax at the end of a day.
I create a boundary between relaxing/working states by changing environment: going to a coffee shop, office, or another room.
For some reason, this script has a similar boundary/environment effect on me: an intentional step to create a different "space" where I am working.
1. Permanent for a time period. It is incredibly, incredibly hard to undo. This is what makes it different from the others
2. Applescriptable
3. GUI with whitelist/blacklist
I did this a while ago as a surrogate distraction. I don't ever use it, but here's a link to it. I am not a bash artist and am well aware there is much to improve. This is a scratched itch, nothing more:
Rather than looping through the lines of the config file and removing commented lines, you may consider just using grep and letting the shell take care of the whitespace:
# NB: left unquoted so it's split by the IFS.
blocked_sites=$(grep -v '^#' "$blocked_hosts")
The one I've found that's worked best for me is a Chrome extension called Delayed Gratification that actually only delays my access to the site for 30 seconds. It's enough that I can convince myself to sit there and wait for 30 seconds rather than turn it off when I really want access to the site and feel it's justified.
But 30 seconds is also a decent amount of time to convince myself that I don't really need to see that site right now, and often I'll just close the tab a few seconds in and get on with work.
Self-control only goes so far, but if (like me) you have trained yourself to flick to reddit as soon as you get even slightly bored, it's a good way to untrain that behaviour.
freework|13 years ago
If you are having trouble staying motivated to work, then you need to fix that. For me, browsing facebook et al is a palette cleanser of sorts. If I lock myself to only being able to view 'work' sites, I'd become too stressed to do my best work.
sjhcockrell|13 years ago
Interesting to hear that you feel more stressed when you lock yourself out of palette cleansing sites. For me, I sometimes get this background anxiety/agitation when working in front of a computer for long periods of time, which can tip me into distraction when I hit something frustrating.
My computer is a shared leisure/work machine, which means that it can fall into the "working in the bedroom effect:" I find that I don't work well in that space because it's where I sleep and relax at the end of a day.
I create a boundary between relaxing/working states by changing environment: going to a coffee shop, office, or another room.
For some reason, this script has a similar boundary/environment effect on me: an intentional step to create a different "space" where I am working.
unknown|13 years ago
[deleted]
colonelxc|13 years ago
sjhcockrell|13 years ago
Now I need to figure out why it seemed to work in the first place.
tb303|13 years ago
http://visitsteve.com/made/selfcontrol/
1. Permanent for a time period. It is incredibly, incredibly hard to undo. This is what makes it different from the others 2. Applescriptable 3. GUI with whitelist/blacklist
digitalsushi|13 years ago
http://nullcompany.com/scripts/work.firewall.sh.txt
It wasn't meant for public consumption, but mine takes care of IPv6 access.
*edit: this is for os x.
jneen|13 years ago
leostatic|13 years ago
sjhcockrell|13 years ago
I'll take a look, thanks for the suggestion!
vanni|13 years ago
Mine: https://github.com/vannitotaro/procrasticazzi
highpixels|13 years ago
vidarh|13 years ago
But 30 seconds is also a decent amount of time to convince myself that I don't really need to see that site right now, and often I'll just close the tab a few seconds in and get on with work.
yolesaber|13 years ago
rjh29|13 years ago
olgeni|13 years ago
If there's nothing bash-specific you may wish to use "#!/bin/sh" (or "#!/usr/bin/env bash" if bash is required.)
minimax|13 years ago
kokey|13 years ago