A QR code stores your bytes as points on a curve, plus spare points on the same curve: a Reed–Solomon code. A scanner can’t see which points are damaged, so every bad byte costs two spares. This tear breaks 22 bytes; this code carries exactly 44 spares.
Claims 7
Each claim as said or shown in the video, with the value it states, its source and the date it was checked.
01
Claim 1: “Tear away nearly a quarter of this code. It still scans.” The tear on screen
. verify.py step 4: zbar decodes HTTPS://INSTAGRAM.COM/HOWITLOOPS with this tear; one column more → no decode. D: level H restores “Approx 30%” of codewords
Simplified
Verified on the dark-on-light symbol with one decoder (zbar). The video shows the code light-on-dark, and some phone scanners don’t read inverted codes from a screen.
02
Claim 2: “Two points are enough to draw a line.” / “store four points … lose any two — the other two still draw it”
Value
a polynomial of degree < m is fixed by any m of its values
. D: “implemented by adding a Reed-Solomon Code to the original data”; “One codeword of QR Code is equal to 8 bits”. R p. 300: the codeword is the values of P(x)
Simplified
QR does this arithmetic in a finite field (GF(256)), not on a plotted curve, and stores the data in the systematic form (generator polynomial), which is equivalent. Drawn as a real-valued curve for intuition.
04
Claim 4: “a scanner can’t tell which points are wrong. So every bad point costs two spare ones.”
. verify.py step 3: both 35-codeword blocks have syndromes S0–S21 = 0 and S22 ≠ 0 in GF(256), proving exactly 22 parity codewords each. I is the defining standard (not open access; proven from the symbol instead)
Simplified
Correcting 11 errors uses all 22 spares of a block. Exactly at the limit, as row 1 shows.
07
Claim 7: Level H, about 30 %
Value
L ≈ 7 %, M ≈ 15 %, Q ≈ 25 %, H ≈ 30 % of codewords restorable
. D’s table “QR Code Error Correction Capability”, read from the page image
Simplifications
As stated in the post’s caption.
Simplified: a real QR code does this arithmetic in a finite field (GF(256)), not on a curve you can draw. The tear is real: this exact code still decodes in an open-source scanner (zbar), and tearing one more column breaks it.
Tear away nearly a quarter of this code. It still scans.
Here’s the trick. Two points are enough to draw a line. So store four points on that line, not two. Lose any two — the other two still draw it.
A QR code does this with your data. The bytes become a curve, and the code stores extra points on it. But a scanner can’t tell which points are wrong. So every bad point costs two spare ones.
This tear breaks twenty-two bytes. That’s forty-four spares — every one this code has. The scanner redraws the curve, and the tear is gone.
Timing
Fig. 1
Video 002 as a dial: one turn is 38.5 s. Heavy arcs are the narration. The last word ends 1.7 s before the seam, where the video starts again.