107 comments

[ 7.3 ms ] story [ 195 ms ] thread
a side note, but a dimple but effective strategy I use for getting of time consuming websites is to just use a password manager for all my accounts on those sites. logging out of those accounts, and having the password only be accessible via another long and complicated password (to access the password vault) is usually enough of a barrier in the moment
I did a combination of this strategy and the one in the article. I changed my hosts file, then changed my root password to something with ~20 characters, then I gave the password to my wife (coworker would have also worked) and told them not to let me have it before 6pm. In cases I need to install something I just had to convince them of the necessity.

The human element really worked wonders compared to a poorly technical solution.

What happens when you need to perform other administrative tasks on your machine?
I just had to make the case to my wife/coworker. The nature of this technique is that it works best when you don't have much serious administration to do and just have to grind out a lot of writing.
> coworker would have also worked

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.

(comment deleted)
My solution is to change the password of time-suck sites by closing my eyes, typing in the password and cut-paste to confirm.

I find I do not miss them.

Can someone please help me with how to achieve the same thing on windows that works on any browser ? I tried some DNS blocking programs and can't get anything to work properly.
Can't you do the same by modifying c:\Windows\System32\Drivers\etc\hosts ?
I tried this and it doesn't seem to work on https
Are you using Firefox with DNS-over-https?
Didn't work on Firefox, chrome or edge. I haven't enabled DNS over https specifically, just stock install
Firefox at least has DNS over https enabled by default.
Back when I was forced to work on windows I'd add rules to the default windows firewall. E.g. to block twitter I'd add a rule to drop all outbound packets to 104.244.40.0/21.
You can install NextDNS and use their blacklist feature to block distracting websites.
Seconded. This works really well.
I liked ColdTurkey software back when I was using Windows.
I know someone who had the same problem and didn't want to pay for one of the subscription apps so he built his own [0]. Looked great from the demo he showed me but I don't have Windows so I haven't tried it personally.

[0] https://lazarfocused.com/

I'm a user of Rescue time, which has a subscription component.

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.

For a natural & organic form of noprocrast, one can also try cultivating a crippling phone / tablet addiction that reduces any device with a keyboard to “work”.

Actually works quite well provided you keep the drugs in another room, it’s a shame I’m an iOS developer.

I have found few things as effective as shutting down my X server and just working in Emacs in the console. Obviously less useful if you're doing web stuff (although NetSurf exists).
Do you not have to search for things online usually?
M-x eww.

(Then you discover M-x eww https://news.ycombinator.com, back to square one.)

It's painful enough that I don't use it for social stuff, but most programming documentation (and Stack Overflow etc) renders well enough that it's functional when you need it.
Hacker News also has a noprocrast feature that’s designed to keep you away from the site for a while if you’ve been using the site for too long. It’s a little buggy with how it does detection, though, so I have it turned off.
I don't think it's buggy, but it's probably too simple. From my observation, it just starts the counter on any HTTP request (with appropriate session data in it, of course). This means if you have HN open on a mobile phone and/or you have lots of tabs, there may be spurious reloads happening even when you're not looking at the page - all of which will start the noprocrast timer.
Yep. I had mine at like 30m and then 120m block and so if I accidentally loaded it like you said I would be like "oh crap this is my chance!" and load every single story I could into tabs before it would block me. Mobile is a great example but also when Chrome has a tab but it isn't loaded in memory anymore.

It did work, but it had some counter intuitive failures too.

10 years and some months ago I used that setting to try and permanently remove myself from this site. I set it to 1 visit in 10 years.

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.

SelfControl is a free hosts file based blocker with some added features that prevent you from undoing your own blocks until the specified time period has elapsed.

https://selfcontrolapp.com/

Thanks for the catalyst to re-enable my /etc/hosts approach to simplifying my life.

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?
(comment deleted)
Yes, some sites are more resilient somehow. I experience the same thing with twitter. You could try flushing your dns cache but IIRC that didn't even work for me.
It has now started blocking correctly. Must have needed something to get flushed.

Back to it.

  $ noprocrast.sh
IPV6 can cause some issues around this because browsers will typically do an IPV4 and IPV6 lookup in parallel. Try adding a

    ::1 youtube.com www.youtube.com
also.
Disabling access from /etc/hosts has been very useful for me, though my similar [1] productivity script did not work as well as I wanted it.

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`

[1] https://github.com/sirodoht/productivity.sh

[2] https://github.com/cbednarski/hostess

(comment deleted)
You can use the NOPASSWD directive in your

     /etc/sudoers 
file to allow hostess to run in sudo without auth.
gasmask on mac allows you to swap /etc/host files also.
Why 127.0.0.1? It shows my website.
Deleted
I don't think this is particularly relevant to the post.
Anything requiring sudo or su is not enough: too easy to just take the habit to type the password very fast.

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

It doesn't stop it in the moment, but logging the date to ~/.procrasts does provide at least some after-the-fact accountability. I think a lighterweight initial approach is good, and, if logging reveals that it's abused, then one can move to harder-to-circumvent solutions.
Aw nice, I hadn't noticed the log file trick!
Another approach is to block the websites in your router settings and to make that password very long, assuming you don't need to access it as often as sudo.
Nice idea, thanks. I have to check that my router can do that.
I actually built a password manager for myself that charges me $$ every time I want to access an addictive site (addictionlocker.com) literally because I'd do just this.
I've been trying various "noprocrast" approaches over the years, including /etc/hosts and HN's own noprocrast settings. The one that finally worked for me was disabling distractions directly on the router - it covers all my computers, as well as my phone. I set it so that distracting sites are disabled during work hours (Monday-Friday, 08:00 - 18:00).

More details about implementation: http://jacek.zlydach.pl/blog/2020-05-25-blocking-distraction....

You could still change to LTE on your phone. Just sayin...
I find some phone use to be fine, the worst productivity breaker is tabbing to Reddit/HN/etc when you were focusing. Switching to your phone is already enough to a break from focusing where it's not a big deal. Plus you could just leave it in another room.

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.

+1! Six months ago I added reddit, hacker news, Twitter and two of my favorite news sites to /etc/hosts mapping to localhost. I use those sites exclusively on mobile. I still accidentally open a tab out of habit from time to time, but go back to productive matters quickly.
Doesn't that break with DNS over HTTPS (default on Firefox these days)?
Not if you run pi-hole (which to be clear, runs in Docker just fine...) which includes the canary domain to disable this when it’s on by default:

https://github.com/pi-hole/pi-hole/pull/2915

OK, but DoH is a pretty good thing to have. Disabling it comes with its own downsides.
I don’t know if the OP is even on Facebook, but I it noteworthy that it’s not on their list of sample blocked sites. I don’t find FB to be addictive either, unlike a lot of people. Usually when I check it, I find myself a quick skim of notifications and the newsfeed to be sufficient, really just a minute or two a day. It runs counter to the popular narrative of Facebook addiction.

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.

On Facebook, most of the friends and family I used to know have been reduced to the memes and shares that flow through them.

Twitter, on the other hand, will have me doomscrolling every single time.

yes, but it all changes the moment one posts something, no matter how inane. Then narcissism makes it almost impossible to stop checking it.
I don't find any reason to repetitively check a post on Facebook (or Instagram / any of the other image/video sharing platforms.) If I put something up, I can go back and find out what my "final earnings" in social-capital were days/weeks later. There's no urgency to that. It's not like the stock market; it's not going to suddenly start dropping. It just rises until it plateaus.

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.

Oh, yes, sure, I was not really distinguishing posts from comments. Either works by attracting the attention of others in a public setting. In that context the effects of both praise and reproach are amplified enormously and otherwise sane people can't help but continuously engage, as you say.
Yes, I've long known that imaginary internet points are the only things that fill the void in my soul. I'm quite embarrassed to say that I go and re-read all my HN comments if I'm feeling low.
Shhh, we do not talk about such things.
Funny—I re-read my HN comments if I'm thinking too highly of myself.
Disabling internet is fine How do you disable games?
Freedom[1] allows you to block apps but it is a paid service. [1] https://freedom.to
Freedom is a great service; I have a "forever" subscription. In addition to blocking apps, it works on iOS and you can manage all your devices, sessions (which can be scheduled), and blocklists centrally from a dashboard in your profile at their website. They also offer some nice affiliate discounts.
I've just deleted my reddit account because I found none of the communities I am interested in bearable anymore. But somehow Facebook keeps being the main source of interesting information for me.

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.

I have a Facebook addiction. I post something; I crave feedback. When I get feedback, it's like a little jab of oxytocin to my system.

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

There's a browser extension called "Leechblock" that I use and is good for this purpose.
This is great. I might start using this.

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.

I've tried this but browsers like Chrome (and perhaps Firefox as well) will ignore the hosts file and use Google's DNS servers to resolve sites that are blocked by hosts.
I messed around with the settings in HN the other day and managed to enable the procrastination settings. Was locked out for a couple hours....

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.

(comment deleted)
I used to have script that would gradually dim my display unless I typed.

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.

Operating system on which it ran?
You can do this with Pihole blacklist, which not only apply this to your current machine, but your whole network.
Great tool. i think i can use it for my kids
The only no-procrast tool that is absolute and unforgiving enough to actually stop me from procrastinating is Self Control [1] (MacOS only afaik). Anything else which offers an escape hatch will always be useless for professional procrastinators.

[1] https://selfcontrolapp.com/

Oh my god, this is hilarious:

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.