Between 9 and 11PM, I shut off my laptop, don my robe, light scented candles, and draw a bath. Exactly like that, every single time.
Glad it works for you, but I don't have 2 hours a night that I can spend not doing anything.
Then again, I don't have a huge amount of difficulty regulating my sleep schedule. It takes me a long time to fall asleep (I would say 45 minutes on average) but it always has and it doesn't stress me out–it's awfully comfy lying in bed. I tend to get tired fairly early–in fact, I'm often pretty tired all the time, because my schedule is insane, thus the lack of 2 hours a day for bedtime rituals.
Every once in a while I'll pass my bedtime while engaged in a superstimulus, like reading a good book, but most of the time I look at when I have to wake up, count back eight to nine hours, and put myself to bed at that time. If not a ritual, this is definitely a strongly reinforced habit–it doesn't take much willpower to get myself off my laptop 10 minutes before bedtime, because I know full well how good being in bed will feel, and how I'll feel the next day if I don't go to bed on time.
Oh, I didn't mean I shut my laptop off for the duration of 9 to 11. I meant "I shut it off not after 11, and closer to 9 if possible". This actually ends up taking up about half an hour. It nets me lots of time, really, because it makes it easier for me to go to sleep, which makes it easier for me to get up at a regular time, which makes me far more productive while I'm awake. So less of the time in my day is wasted on being inefficient.
Note: This was originally written in relation to this rather scary comment of lukeprog's on value drift. I'm now less certain that operant conditioning is a significant cause of value drift (leaning towards near/far type explanations), but I decided to share my thoughts on the topic of policy design anyway.
Several years ago, I had a reddit problem. I'd check reddit instead of working on important stuff. The more I browsed the site, the shorter my attention span got. The shorter my attention span got, the harder it was for me to find things that were enjoyable to read. Instead of being rejuvenating, I found reddit to be addictive, unsatisfying, and frustrating. Every time I thought to myself that I really should stop, there was always just one more thing to click on.
So I installed LeechBlock and blocked reddit at all hours. That worked really well... for a while.
Occasionally I wanted to dig up something I remembered seeing on reddit. (This wasn't always bad--in some cases I was looking up something related to stuff I was working on.) I tried a few different policies for dealing with this. All of them basically amounted to inconveniencing myself in some way or another whenever I wanted to dig something up.
After a few weeks, I no longer felt the urge to check reddit compulsively. And after a few months, I hardly even remembered what it was like to be an addict.
However, my inconvenience barriers were still present, and they were, well, inconvenient. It really was pretty annoying to make an entry in my notebook describing what I was visiting for and start up a different browser just to check something. I figured I could always turn LeechBlock on again if necessary, so I removed my self-imposed barriers. And slid back in to addiction.
After a while, I got sick of being addicted again and decided to do something about it (again). Interestingly, I forgot my earlier thought that I could just turn LeechBlock on again easily. Instead, thinking about LeechBlock made me feel hopeless because it seemed like it ultimately hadn't worked. But I did try it again, and the entire cycle then finished repeating itself: I got un-addicted, I removed LeechBlock, I got re-addicted.
This may seem like a surprising lack of self-awareness. All I can say is: Every second my brain gathers tons of sensory data and discards the vast majority of it. Narratives like the one you're reading right now don't get constructed on the fly automatically. Maybe if I had been following orthonormal's advice of keeping and monitoring a record of life changes attempted, I would've thought to try something different.
Anyway, what finally worked was setting up a site blocker that blocked the reddit.com homepage only. There was no inconvenience associated with visiting other pages, so the "willpower upkeep cost" of this policy was pretty minimal. I drew a mental "line in the sand" prohibiting me from ever loading a web page just to see what had changed on it (excluding email and some other stuff), and this rough heuristic (which I've safely gotten informal with) has served me well ever since.
The point of this anecdote is: Having well-designed policies matters. In the same way that the laws of a nation or the rules of a board game are very important, the policies you set up for yourself to follow are very important. ("Consequentialism is what's correct; virtue ethics is what works for humans.")
You might be wondering how I read Less Wrong, since it's a web page that changes. Less Wrong is a tough one, because it's got the variable reinforcement that makes reddit addictive, but hanging out here can also be a pretty good use of time. Lately what I've been doing is using Google Reader as one of my go-to break activities, and stuffing it so full of feeds that there's a growing backlog of interesting stuff to read every time I visit. The idea here is to have a constant reinforcer instead of a variable one, and it seems to work as far as avoiding addiction is concerned.
Policy design tips
My reddit experience illustrates a few recommendations for designing policies:
The rest of this post is going to consist of more policy design advice. I don't remember the policy design attempts that spawned each piece of advice, and my advice may not work for you. But hopefully it will make for a good starting point for your own policy design experiments.
Consistency
An overarching principle: As much as possible, you want to there to be consistency between what you tell yourself to do and what you actually do. If you've been telling yourself to do something and it's not working, stop. Step back, gain some self-awareness, get creative, and try to figure out some other way to modify your behaviour.
Why is this so important? Because ignoring what you tell yourself to do is a really bad habit. Let's say I'm trying to lose weight. Every morning I tell myself that I shouldn't eat a cookie at lunch, and every afternoon I give in and eat a cookie. This amounts to reinforcing the behaviour of rationalizing my way around my diet! The more times I rationalize my way around my diet and get rewarded with a tasty cookie, the stronger my habit of breaking diets is going to become. It might even be a good idea for me to stop trying to diet completely for a while until the behaviour of rationalizing my way around my diet dies off.
I also think the game-theoretic view of time-inconsistency is useful. If you build up a track record of self-cooperation, following pre-commitments becomes easier because you know that by breaking the pre-commitment, you'll be destroying something valuable. Part of this is not making excessive demands on yourself so that track record can actually be built up in the first place. See also: How I Lost 100 Pounds Using TDT.
If you keep these arguments in mind when your brain starts making "just this once" type arguments, hopefully you'll be better at resisting them.
Translating guilt in to policy ideas
Refining policy ideas
(Suggestion: Refer back to this list when you're in a high-energy state and you've got a policy you want to implement.)
Tips on repairing broken policies
Hopefully this won't actually happen, but let's say you broke your policy. What now?
I've additionally found regular meditation to be useful for maintaining policies. (Sam Harris on meditation.)
Conclusion
It's been over 6 months since I wrote this article. Here's what my internet distraction policy has evolved in to (it's been stable for the past few months at least, so I thought it might be worth sharing). I have a list of websites that I've classified as "distracting", which include reddit, Less Wrong, and Facebook, but not my email (it's too useful to restrict and I've been able to live with having that one distraction). If I have a reason to visit one of the webpages, I create a log entry in my notebook explaining the reason and then go visit. Sometimes the reason is just "I could use a break right now", and so far using this reason hasn't caused any problems. (If it did, I would probably have to change my policy and hammer out what constitutes a valid reason.) I also open all of the distracting websites on my list in tabs after 11 PM (after a one-minute delay) most days, which means I regularly check my LW/reddit/email inbox and don't have to worry about missing important things in my inbox. For Hacker News in particular, I came up with a more unusual solution: I have a server that's set up to spider the HN homepage every half hour. I originally did this with the intent to write a software tool to browse the homepage archives and filter out all but the best content, but so far I haven't gotten around to this.