poor kid, people will mock him all his life.

He wants to do this wirelessly. I really just skimmed it quickly, so if anyone wants to read it in more depth and correct me, I'm happy to accept it.

Anyway, my quick reading of what he wants to do is take an arbitrary 24-bit string and convert it to a 24-bit "color" in the RGB space via a lookup table. He then assigns a wireless frequency to that "color" and transmits - not sure what he transmits, maybe just a sine wave - on that frequency. The receiving station then knows what "color" is being sent by what frequency it's received on, and converts the "color" back to the original 24-bit string via the same lookup table as the sender. By doing this you can blast all 16.7M possible 24-bit strings across the airwaves in parallel (if needed) by assigning each string/"color" to a unique frequency.

The obvious questions are, why is it important to regard the 24-bit strings as "colors"? Just assign a frequency to every possible 24-bit string and call it a day. I suspect the answer is that it's because this is the kind of thing that naive 14 year olds might think is clever, to somehow imagine arbitrary strings as being colors in the RGB space, but it really doesn't do much for you other than that. If you're autistic and need it to be a "color", just take the original string and split it into 3 bytes, and there's your RGB values.

The second obvious problem is, okay great, now you've sent 1 or 2 or 16.7M 24-bit strings to your receiver all at once. Nowhere is it specified how the receiver is supposed to know what order to reassemble those strings in. Blue-purple-green? Purple-blue-green? Green-purple-blue? Which of those permutations is correct, and how do you know? The order kind of matters if you want to transmit data with any sort of fidelity.

The third obvious thing is that by doing this, he's sort of half-assedly reinvented spread spectrum transmission, which has only been around for a hundred years or so.

One somewhat more minor thing I noticed is that he does actually recognize the problem of what to do if your data doesn't split neatly on 3-byte boundaries. No problem, he says, just take that last byte or two and pad it with zeros so you can assign it a color too. Okay, great, so how do you know the difference between "1111111" padded with two bytes of zeros and the actual data string "11111111 00000000 00000000"? You don't, obviously, so accept the fact that the tail end of every transmission will be corrupted. Assuming you can figure out which 3 bytes are the tail end, that is.

All in all, his system works great if both the sender and the receiver are telepathic. Of course, if they're telepathic, you don't really need wireless transmitters and receivers to begin with.

/r/iamverysmart Thread Parent Link - cyborg.co