I use /etc/hosts, the slight friction of having to open the file as root and comment/uncomment acts as a nice bar.
I have reddit, twitter and facebook blocked all the time and HN some of the time.
I've found that over time I use the blocked sites less and less as I break the habit.