Learning algorithms the hard way.