Information Theory, Inference and Learning Algorithms