Learning with machines