Hacker News new | comments | show | ask | jobs | submit login
A Get Shit Done script (github.com)
20 points by sjhcockrell 1846 days ago | hide | past | web | favorite | 19 comments

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.

I think there is a bug in the 'off' function (though I haven't had the chance to run it yet).

    # Read from the array, and remove files from /etc/hosts
    for site in $*; do
        sed -i '' "/ $host/d" $hosts
it should be $site instead of $host (the latter is never referenced elsewhere in the file)

Yup, that's a bug. Thanks for looking through the code!

Now I need to figure out why it seemed to work in the first place.

Adding to the "I already use this" chatter:


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:


It wasn't meant for public consumption, but mine takes care of IPv6 access.

*edit: this is for os x.

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")

Have you taken a look at https://github.com/leftnode/get-shit-done ? It's basically the same thing. I have been using this one for a while now.

I haven't actually; I do know there's a number of these scripts out there, though.

I'll take a look, thanks for the suggestion!

Everyone has made his/her own flavor of this little tool in the past :)

Mine: https://github.com/vannitotaro/procrasticazzi

Problem with these is I end up turning it off.

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.

I've started to use this (Chrome extension): https://chrome.google.com/webstore/detail/strict-pomodoro/cg...

and it as really helped me (serial redditor) be more productive.

Cue someone writing a "get get-shit-done" script that turns on all the productivity scripts you have at a specified time

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.

I'm in this camp--if I'm working on something in a browser and I get bored, my reflex is to open a new tab and do HN or reddit before I know what I'm doing.

Did a combination of Chrome/Safari nanny plugins for a while, but the effort of `sudo` + password seems to be working better and is a bit easier to turn on/off for me.

> #!/bin/bash

If there's nothing bash-specific you may wish to use "#!/bin/sh" (or "#!/usr/bin/env bash" if bash is required.)

It's full of bashisms. Arrays, double equals (==) in conditionals, and the function keyword stand out to me.

I found at least one bash specific thing: $(which dscacheutil)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact