Coding, decoding, and combinatorics