Spent an hour or so writing this to go along with @mtdevans' post about cracking Tesco's barcodes. Have fun.