When I'm working on a complex / large programming project and I get overwhelmed or lost, I often lose motivation and just don't have the energy to really dig into the problem once again to figure it out.
After some time goes by, I may get back to it and have the renewed enthusiasm it takes to think about the problem from first principles again. This usually works, if I get back to the original problem. More often than not, I get side-tracked on other projects and the original program/problem lies dormant forever.
I know this is a common reaction to complexity, or being overwhelmed by a problem and not knowing where to go to next. You run out of steam pretty quickly. But there are things I've come across that I can focus on for fun, and it often gets me stoked to get back into programming, the more complex the project the better!
These things would sound incredibly dorky on any other site, but probably less so here. I'm talking about things like listening to a Stack Overflow podcast, reading an old Steve Yegge or Paul Graham article, watching an episode of Matt Chat where he's interviewing some programmer that worked on an old game for the Atari 800, or just watching a movie like Wargames (not many other movies come to mind though).
The problem is, sometimes I run out of these ideas that renew my interest in computer science, so I'm asking for some of your ideas. Maybe limit it to one per answer so people can vote for particular answers/recommendations.
Thanks for your input!