A Refactoring Workout: Relentlessly Green
sitepoint.com