learn c the hard way practices