Communications of the ACM : vol. 48, no 7-12, 2005.