Decoding Binary Codes Background