Thanks to the participation of a whole zero comments, I'm now forced to reveal my secrets for success without spoiling anyone else's. Blast. There goes my evil plan. I'll get you, Bond!
On a more serious note, the three things that have really helped me increase the number of productive hours are exercise, exercise, and exercise. I'm a huge fan of practice and going through projects to improve oneself. Really, the only way to improve in something is to do it. Secondly, self improvement in some areas will pay off wherever you want to go.
The best thing you can do on a regular basis is physical exercise. Even a quick 20 minute walk can help repair and renew your brain. It also gives you energy and helps you focus. Regular exercise improves your blood flow, helping you regulate temperature better (something very important to those of us freezing in the northeast). Finally, it also helps you sleep, reducing tossing and turning at night.
The best thing you can do to improve your skill as a programmer is to exercise your most valuable asset: Your brain. Many find that logic puzzles and the like help your brain "work out." I haven't had much success with these techniques, as I have a short attention span (thanks, Internet!). If you're one for logic, check out What is the Name of this Book? Otherwise, try out Code Katas. I've suggested some projects for learning a new language. Another test would be to improve on the classic FizzBuzz (it's possible). Working on puzzles like these helps sharpen your skills so when you hit that productive zone, you won't need to stop to research.
Finally, exercise spiritually. I don't mean that everyone needs to go to a place of worship, but rather to pursue peace. Many have found that 5 minutes of meditation helps them. In college, I like to take "mental health days" where I don't do any work (things I don't want to do, I inevitably end up getting some coding done). It's also possible to combine this with mental exercise and discuss abstract things such as morality and philosophy.