Hearing God (December 28 2005)

If God wants to speak to you, how can you be sure that it's not just your own imagination? How can you be sure you heard it right? Use an error correction code!

A message sent by a Reed-Solomon code on GF(32) can take a list of 31 symbols (each symbol is a value in A..Z or 1..6) and produce a message that is 15 symbols long. The remaining 16 symbols are used to correct errors. Any 8 of the 31 symbols in the list can be wrong and the decoder will correct them. This doesn't mean that absolutely any list of 31 symbols will produce a 15 symbol message, though. Less than 1 in 100,000 31-symbol lists can be decoded at all.

If God gives you an answer encoded this way and it can be decoded, you can be pretty sure you didn't make it up (there's under 1 in 100,000 chance that an answer you made up would decode to anything). And if you didn't hear God right for up to a quarter of the characters, the code can correct for that.

How would a message from God really be formatted? Well, if I were God, I'd respond in English (or your native tongue), and I'd use all 31 characters by considering 100,000+ ways of saying what I want to say and choosing to say it in the one way that can be decoded. I'm not God, though, so that's just a guess. God might choose a different format.

Sorry, the Kai Chen's applet is gone, I haven't implemented a replacement

The way the applet worked was, enter 15 symbols followed by 16 '*' and decode that. '*' means "I don't know". Then the applet will fill in the '*' to form a legal codeword. For example, try 'HOW3ARE3YOU3MAN****************'. You could feed that legal codeword in as the input and it will decode to itself. Or you could change up to 8 symbols in the completed codeword, and the applet will correct them, decoding to the original codeword.

DO NOT USE '*' IN MESSAGES YOU GET FROM GOD. If you use 15 random symbols and 16 '*', the applet can always fill them in to form a legal codeword. The more '*' you use, the more likely you are to be able to decode the message purely by chance. Saying that you heard a message from God, but including lots of '*', is showing a lack of faith that God is answering you. It's hoping that you'll make up a random OK message that you can pretend is from God. Don't do it.

Similarly, don't believe any message that anyone else claims they got from God this way. Assume they are lying. The easiest way to get such a message is to have a computer fabricate it, then lie that you received it from God. I know how to make a computer fabricate messages that are fully or almost fully natural English text, conveying just about any idea I want. Even successful messages you get yourself that you didn't have a computer fabricate, think back to see if you heard them earlier from someone else.


I'm an atheist, er, I find the world more predictable when I assume God does not exist. For example, the assumption that there is no God to hear predicts that you should almost never hear a decodable message (unless you memorize one beforehand or someone tells you one or such). But I'm not a faith-based atheist. Testing my assumptions is a fine thing to do, and this tests the assumptions that God does/doesn't exist, and God does/doesn't want to speak to me, in interesting ways.

I've tried this a few times and I've never come up with a decodable message. If I did come up with a decodable message, I'd be leery of it. I'd just know it isn't from me. That doesn't prove it's from God, or from anyone looking out for my better interests. It's probably not from my long-dead Aunt Louise, though, because I don't think she could handle computing a Reed-Solomon encoding.

If you never hear a decodable message, God may still exist, he may still be speaking to you. All we've really shown is he's either not willing or not able to speak to you in this manner. A similar test is to ask God to move your furniture. You'll find he's not willing or not able to do that either, at least not at the present time.


Bob on God

Bob Predicts the Future

Table of Contents