Reveling in Constraints. - JOHNSON, BRUCE (Communications of the ACM, 2009)