37 lines
2.2 KiB
Markdown
37 lines
2.2 KiB
Markdown
|
# Godiva, a flasher with a message
|
||
|
|
||
|
Godiva is a desktop application for transfering data from one computer to another by displaying a [possibly
|
||
|
endless] stream of [QR encoded](https://en.wikipedia.org/wiki/QR_code) [Raptor
|
||
|
codes](https://en.wikipedia.org/wiki/Raptor_code), and then on the receiving side, a camera to read
|
||
|
the QR codes and turn them back into the original content.
|
||
|
|
||
|
## what?
|
||
|
|
||
|
Raptor codes are a type of [fountain code](https://en.wikipedia.org/wiki/Fountain_code); fountain
|
||
|
codes are a way to encode data as a stream of error-correcting pieces of that data; as long as you
|
||
|
can read some number of pieces, you can reconstruct the original data. They're named like that
|
||
|
because you can think of them as like a fountain of water that is just pouring out. Anyone can come
|
||
|
drink from it, and then they'll have the water. So something can just be transmitting fountain codes
|
||
|
and not care if anyone is receiving, and receivers don't have to worry about missing something they
|
||
|
needed; they're guaranteed to get everything they need as long as they listen long enough. I think
|
||
|
that's pretty cool!
|
||
|
|
||
|
So the idea here is to give it a file (or short string of text) you want transferred to a different
|
||
|
machine (probably a mobile phone running a little app I'll be writing), and it will start producing
|
||
|
raptor codes for that file. Each piece of raptor code then gets encoded as a QR code, and then
|
||
|
displayed for a period of time on the screen. The user then holds up the receiving computer's camera
|
||
|
in order to receive the QR encoded raptor codes, and, *voila*, the file has been transferred!
|
||
|
|
||
|
# status
|
||
|
|
||
|
I literally just started this today, and currently it will produce a single QR code for a given
|
||
|
input string, and display that. Honestly, this is already genuinely useful to me; sometimes I want
|
||
|
to look at a url on my phone, and the camera app will let me look at a QR code and interpret text as
|
||
|
a link. But I hope to have a quick and dirty mobile app soon that will let me test streaming codes.
|
||
|
|
||
|
# about the name
|
||
|
|
||
|
[Lady Godiva](https://en.wikipedia.org/wiki/Lady_Godiva), in legend, rode naked through her town in
|
||
|
order to send a message to her husband about the plight of the downtrodden under his
|
||
|
landlordship.
|