We show that Yao’s XOR Lemma, and its essentially equivalent rephrasing as a Direct Product Lemma, can be re-interpreted as a way of obtaining error-correcting codes with good list-decoding algorithms from error-correcting codes having weak unique-decoding algorithms. To get codes with good rate and efficient list decoding algorithms one needs a proof of the Direct Product Lemma that, respectively, is strongly derandomized, and uses very small advice. We show how to reduce advice in Impagliazzo’s proof of the Direct Product Lemma for pairwise independent inputs, which leads to error-correcting codes with O(n2 ) encoding length, ˜O(n2 ) encoding time, and probabilistic ˜O(n) listdecoding time. (Note that the decoding time is sub-linear in the length of the encoding.) Back to complexity theory, our advice-efficient proof of Impagliazzo’s “hard-core set” results yields a (weak) uniform version of O’Donnell results on amplification of hardness in NP. We show that if there...