Lately I find that I'm working in cycles. I get really excited about a project and will work 12 hours straight on it. Other times, the same project just doesn't seem interesting.
You have a totally constrained problem, and all you have to do is solve it. Your program is supposed to do x. Instead it does y. Where does it go wrong? You know you’re going to win in the end. It’s as relaxing as painting a wall. - Paul Graham
I find programming incredibly soothing. I'm not the only one. I can see myself programming long after I've retired, be it on new languages or delving into the obsolete languages that Ruby / Java / C will be classified as then.
I've been obsessed about learning, developing new skills, getting new qualifications. Sometimes though you need to step back, take a break, get a hobby. Getting away from the computer screen regularly is incredibly important. Unfortunately it has been something that I haven't done much about for the past 10 years.