Error-correcting codes, Kolmogorov complexity, and thermodynamics