Algorithms to live by