I do this. Sometimes I'll take a weekend or evening and just figure out what project I can get completed in that time. Typically they are just small non-commercial things like http://www.foragoodstrftime.com - but having shipped something (actually gotten it out the door and have people using it) always boosts my attitude.
Similar advice is to subdivide a large project into smaller steps, and then celebrate completion of each one. A difficulty is finding subdivisions that can standalone and feel worthwhile in themselves, so their completion feels satisfying. There might not be any, especially for a complex, interdependent project. So this idea of small side-projects is a good one.
I really liked part one of this series. I find myself falling into the pitfalls that the author described, often without knowing.
I find that it can be equally effective to partition a "difficult" project into easy and hard parts to achieve the same effect. If I am tired of coding, I can open up Photoshop and do mock-ups for the next area of the site I will be working on.