Learning C the hard way