I now rent a desk in a shared office, and I work regular hours. I work 9-4 four days a week. I leave my laptop at work, so I can't do anything except answer the occasional email from home (when the kids let me).
It makes a tremendous difference. When I'm home, I often think of something I want to fix, but since I can't work at home, I have to wait until the next day. When I arrive at the office, I'm already eagerly waiting to get started and most times don't even think about checking HN.
(It doesn't always work. Sometimes I still have trouble focussing, but that was the same when I worked a "normal" job)