2 hours later…
02:17
I guess you could use something simpler though, QR's error correction is excessive with modern day technology
As evidenced by the fact that half of them waste a non-trivial portion of their bits drawing a cute little picture
you can make a 2d grid of data, and do hamming codes on both the rows and columns, and the rows and columns formed by that will also be able to form hamming codes
You waste a pretty significant amount of bits, e.g., with a 16×16 grid you only get 121 bits, but it'd be able to handle whole missing rows in either direction
E.g., it's played Don't Try like three times in the last two days even though I haven't really expressed any interest in it
02:59
The night air was warm, with a cool breeze. Fall leaves crunched under Daniel's feet as he walked. It was slow, not a stroll, a more deliberate walk, with a purpose, but a vague one. He stopped in front of her house, as he'd done so many times before, but this time it was marked with a feeling of loneliness and betrayal.
He stood, holding back feelings he couldn't name. The moon, the slightest of crescents, drifted behind a cloud. C418 took a step toward the house, along the garden path, feeling the familiar clacking of the cobblestones, for what he knew, what he hoped, would be the last t…
He stood, holding back feelings he couldn't name. The moon, the slightest of crescents, drifted behind a cloud. C418 took a step toward the house, along the garden path, feeling the familiar clacking of the cobblestones, for what he knew, what he hoped, would be the last t…
7 hours later…
@RadvylfPrograms so you're telling me that if I make a 16x16 grid of data and then run the hamming algorithm on it the resulting 2d grid of data will be able to work correctly even if you lose a whole row or column?
12:14
Green is the targeting things (like the big squares in QR codes), yellow is space that must be empty, black and white are data, purple is space for metadata, blue is tracking, and red is blank space for fun logos
2 hours later…
15:30
@Ginger Well, for a 16-bit code, you get 11 bits of actual data. So if you make an 11×11 grid of bits, and generate 16-bit hamming codes for each row, you get an 11×16 grid. Now, if you make a hamming code for each of the 16 rows, you get hamming codes for those.
The hamming codes for those rows, for the five bits that get added, the rows they form will also be hamming codes
15:46
def encode(data): data = [int(i) for i in bin(int.from_bytes(data, "little"))[2:]] out = data c = 1 while c < len(out): if not c&(c-1): # if c is a power of 2 p = 0 print(out) for a, b in enumerate(out, 1): if a & c: print(a) p += b out.insert(c-1, not bool(p % 2)) c += 1 print(out)
but the part where it does the
int.from_bytes
caused the problems with the other lib bc it was written in C and only accepted int
s as inputs and not long
s or whatever
2 hours later…
« first day (135 days earlier) ← previous day next day → last day (594 days later) »