Noprocrast (2010)
web.archive.org
web.archive.org
More details about implementation: http://jacek.zlydach.pl/blog/2020-05-25-blocking-distraction....
It's like what doctors recommend for bad sleep habits is to keep the bedroom/bed for sleeping only - don't spend hours using screens or eating in bed, then your body will have an easier association with sleeping + the mental habit. Likewise laptop + work hours = worktime. If you want to take a break stand up and check your phone or whatever.
"Perfection is the enemy of good" anyway, you don't need to go all out.
The primary point is using editing /etc/hosts (with `sudo chattr +i /etc/hosts` write locking to go further) is enough of a hassle for most of the time to break a negative loop. No need to make it impossible, the larger goal is self-discipline.
Also, if the last thing I think about before falling asleep is about what it is that I wanted to do next, then the next day starting to do meaningful work is a lot easier, as I actually feel like I want to try this thing I thought about. Keeping a work logbook is another good method in being able to start up easier, as you can just pick the easiest item in the list and do that. Once the ball starts rolling and you get deeper in the zone, then procrastination is rarely much of a problem.
That said, I also do something like OP to block out some sites, but that really only is important as I “get the ball rolling”. I noticed myself habitually tabbing to twitter or something whenever I got to a “hard part”
Being physically healthy is exponentially more effective than any anti-procrastination tools or techniques I have very tried.
Anyone else feel that way? I wonder if it’s because Facebook has no longer become a place for novel content, and there’s an aversion to lingering on it. Of course this is my personal opinion, but I do think it’s easier to find topical content on Twitter and HN, and so they’re more distracting and worth blocking.
Twitter, on the other hand, will have me doomscrolling every single time.
I find places where I leave comments (like Reddit, or HN, but Twitter also works this way) a lot worse for this "addiction via narcissism" aspect. On these services, your post/comment doesn't only get more and more popular; it may also be rebutted by a reply (not necessarily made in good faith), at which point it might start getting less popular, possibly dipping into the negatives if the reply's reinterpretation paints you in a bad-enough light. Because of this, there's a feeling of having to watch for these replies, and leap to defend your post against them, so that the reply's interpretation of your words doesn't "win out" against your own actual meaning (which may not always have been perfectly clear from your original, succinct wording.)
That's "narcissism" too, in a much stronger sense of what Narcissistic Personality Disorder means: the obsessive paranoia over losing social capital, due to being perceived as having committed a social faux-pas, that leads one to avoid taking social risks, and perhaps even lying to make oneself seem more "middle-of-the-road" within one's social cluster than one actually is in private.
I've unsubbed from most people and keep my friend list extremely slim (less than 200 people over ~10y of usage, with extensive pruning). Its basically a news aggregator for me, and additionally a way to connect with the communities I am involved in (which are niche (home) brewing groups). The groups are surprisingly untoxic but that's entirely down to the awesome moderators and the scientifically minded people they manage to attract.
I think the usage of mostly real names also helps knowing the people better than just some random nickname and knowing where (if even) they work.
Twitter, Linkedin - I don't have the same problem. I post something (when I remember, which isn't often) and then forget about it. I can go weeks without checking LinkedIn. I tried Instagram and just didn't 'get it'. Reddit annoys me. TikTok scares me - I tend to avoid mirrors at the best of times, so the thought of short video clips of me floating in the aethers ... it's never going to happen.
I'm probably a little addicted to HN; I have no desire to cure myself of the site just yet. I'm not convinced that blocking the site in my browsers/devices would help me if I wanted to cure myself - I'd probably end up spending time trying to subvert the blocks (as a learning exercise, of course).
[1]: https://selfcontrolapp.com/ [2]: http://getcoldturkey.com/
For quite some time I had been using hostess [2] to enable/disable specific websites, yet this too had a couple of problems.
1. Docker Desktop (macOS) keeps appending on my /etc/hosts without asking me when I start it. This requires usage of `hostess fix` to remove duplicate entries.
2. Changing /etc/hosts requires sudo access, which means I have to keep inputting it when I need to make any changes.
Eventually I just `vim /etc/hosts` instead of `sudo hostess fix && sudo hostess on news.ycombinator.com`
/etc/sudoers
file to allow hostess to run in sudo without auth.The human element really worked wonders compared to a poorly technical solution.
I think some consideration of the social aspect here is required. I agree that part of a marriage is agreeing to help one another in these small accountabilities, but, if a random coworker tried to impose this on me, I would not appreciate even the small imposition on my time. It's not, and shouldn't be, my job to help a random coworker stop procrastinating.
… But maybe you meant "a coworker who is also a friend", in which case it's fine; but still then I'd argue that the important point is that you could give it to a friend, not that you give it to a coworker. In fact, even from a selfish point of view, the friendship is important: if a coworker asks this of me who isn't already a friend, then I'm less likely to spend energy in arguing with any password request, and so will simply grant it reflexively.
I find I do not miss them.
Q: How do I disable SelfControl once it has started?
You can't. That's the idea. Just wait.
"But, but but..." you say.
Seriously, chill out. It's not the end of the world.
The timer will run out and the internet will come back again. In the meantime, you may find comfort in curling up in a ball under your desk and rocking back and forth for a while.
---
The whole FAQ is worth reading, but that one just cracked me up.
https://github.com/SelfControlApp/selfcontrol/wiki/FAQ
“Until that timer expires, you will be unable to access those sites—even if you restart your computer or delete the application.”
That’s… intense.
It did work, but it had some counter intuitive failures too.
It did stop me posting; I still wasted my time reading the site though. You can visit the site anonymously. A half win, I guess.
10 years felt like such a long time back then, nearly forever.
echo `date`
could be expressed as just date(Then you discover M-x eww https://news.ycombinator.com, back to square one.)
The broader issue for me isn’t a particular website. It’s brain-dead consumption of feeds. Typing guarantees that you’re thinking a little.
Even with email, it made me less likely to overthink things. It gave a bias to action. Keep moving, keep typing.
I had a whitelist of exceptions (IntelliJ, Terminal, etc).
Unfortunately the script broke a few years ago. I keep on meaning to fix it but I’ve been too busy reading feeds.
I'm surprised to see that adding:
127.0.0.1 youtube.com www.youtube.com
to /etc/hosts doesn't seem to block youtube, but every other line I added blocked/routed as expected. Is there something special about youtube and chromium?Back to it.
$ noprocrast.sh ::1 youtube.com www.youtube.com
also.I feel like that it falls into the category of that it will be 50/50 that it will work for you or not.
For me I would eventually circumvent the whole thing anyways. You may also want to think about why you are procrastinating? Then figure out how to alleviate that.
I really appreciate that HN has a noprocrast tool. I’ve also used Apple’s Screen Time feature to help me break away from distractions. While I feel such tools are crutches for good self-control, I am not yet disciplined enough to not need them some times.
Facebook claims to care about its users. I think that’s hogwash. If FB actually cared I think they would have settings to enforce limits on engaging with their platform. But of course they have no incentive to do that because it cuts into their revenue stream. Apple has little problem putting limit tools in place because they get money just when you buy the device—not necessarily every time you use it.
Checkout these two files
https://github.com/Shokodemon/smallhacks/blob/master/sh/depr...
https://github.com/Shokodemon/smallhacks/blob/master/sh/proc...
Definitely a fan of the service, works for me to help me get in a flow state and worth the few bucks they ask for.
Control + t (new tab), red (autocomplete to reddit) and enter. Muscular memory.
Now uBlock tells me that the site is locked, I realize what I'm doing and I close the tab. That muscle memory is now gone.
Sometimes duckduckgo returns me some useful reddit links and uBlock gives me the option to allow it temporally which is a few minutes. So even if I start messing around after a while it blocks me again.
It was shocking how many times I would open the browser to Google something and find myself reading stupid political news instead of working.
I also installed a cli google searcher. That was helpful too.
So what I did then was blocking specific subs (well, one actually, my national sub) in which I felt compelled to correct people all the time. On each browser on each computer I use, I installed an extension like "Silent Block" which allows to blacklist the URL you want with a regex (".* reddit.com/r/yourmostlovedandhatedsub.* "). Unlike /etc/hosts and similar methods, you don't have to block a whole domain, the control is finer.
So I can still freely view technical or whatever subs with which I don't feel engaged, and follow links to Reddit from search engine or other sites.
It's been over 1 year that I set up this system, and I never bypassed it. It's working fine for me.
Or perhaps Ublock blacklist allows this kind of 'fine grain' blocking too?
What I've found that works is using the command "lockout" with some weird modification of the sudoers file in order to allow only certain commands with sudo (or other commands with only certain arguments not matching forbidden patterns).
That’s what I get for just toggling things. It’s been a habit since I was a child, if we visited a house or rented a car I would flip any switch or touch any button or knob I could reach.
I then blocked some sites on the router. Too bad the cell phone has a decent 4G connection... oh well.
Actually works quite well provided you keep the drugs in another room, it’s a shame I’m an iOS developer.
Putting hurdles between us and our distractions will, at worst, start a vicious cycle of circumventing them and putting them up again; at best, make us dependent on them so we resort back to our bad habits whenever we can't make use of those mechanisms--back to square one.
Looks like the site has a few other scraped posts as well.
FWIW I no longer use this exact noprocrast(1) approach to avoiding procrastination, but do apply the same basic idea.
FWIW, it’s a cool idea that I may implement.