This is actually an upscaled work in progress, not finished yet, but I’m working on templates for a future tattoo.
Yes that’s hand drawn. Yes it’s already scannable…
Yes it’s already scannable…
Why wouldn’t it be? I’ve drawn 2 QR codes on graph paper already and of course they work.
Edit: a hyperlink with ZWSP is needed to remove the trailing slash
Yeah the QR standard is astoundingly resilient to noise. iirc the highest redundancy can still be read with 60% of the glyph obscured, it’s really a fascinating protocol.
Nah, it’s 30%, and very much depends on how the damage is laid out.
- The corner squares (finder patterns) must keep a ⬜⬛⬜⬛⬛⬛⬜⬛⬜ cross-section at most angles. Most readers will accept even round ones. This applies to the smaller squares (alignment patterns) on larger QR codes too.
- The zebra strips ⬛⬜⬛⬜⬛ (“timing patterns” if you’re a nerd) connecting the finder patterns must remain intact. Very few readers can correct for errors in that.
- At this point, a good reader will be able to detect the QR code’s position in the image and its resolution (“version” if you consume ISO propaganda), and thus calculate the location of every pixel (“element”, ditto). Each of those will usually be sampled at a radius of around ⅓ of the distance between them. This allows for slightly wavy codes but also codes with rounded pixels or even unrelated content in the edges. (For the record, this is lazy and I prefer this version of the concept that uses almost up-to-spec QR codes.) Google Lens is more sophisticated than just using a 3D perspective transform, as I already mentioned.
- One line of pixels around finder patterns is necessary for decoding (mask and ECC level info) and has basically no error correction so it should be also clear except the ⅓²=⅑ trick described above.
- The data is stored with robust Reed-Solomon correction, which is bytewise. You can safely cover about half of the advertised recoverable area with contiguous damage anywhere except the sections mentioned above. Still, you can damage more area (and reach the advertised percentage) by taking several things into account:
- Know how the data is laid out in the specific QR resolution, and keep in mind that Reed-Solomon is bytewise. Thus, you want to damage as few bytes as possible, and for most total area, the strategy is to ruin all 8 bits in each. Without deeper analysis (looking up the byte layout), a good rule of thumb is that vertical damage aligned to an even number of columns from the right (skipping Column 7 with the vertical zebra stripe and thus no data) is likely to ruin the least amount of bytes partially.
- Looking up the byte layout will also reveal that there are probably 1-7 unused pixels in the leftmost two columns (marked “X” in the image), probably arranged like ⡿ in the very top of the data portion (Row 10 and below) or ⣷ in the very bottom (Row 9 from last anď above). These can be damaged without consequence!
- Damage whose very dark spots line up with original black pixels (and vice versa) does not really count. Keep in mind that while using this strict definition of damage results in way fewer damaged bits, those are most likely not contiguous, so only a few 8-bit bytes will remain intact through this.
- Know how the data is laid out in the specific QR resolution, and keep in mind that Reed-Solomon is bytewise. Thus, you want to damage as few bytes as possible, and for most total area, the strategy is to ruin all 8 bits in each. Without deeper analysis (looking up the byte layout), a good rule of thumb is that vertical damage aligned to an even number of columns from the right (skipping Column 7 with the vertical zebra stripe and thus no data) is likely to ruin the least amount of bytes partially.
This is fascinating, thank you so much! I knew about image emebdding in the pixels themselves, it was slightly trendy back in the day, but I had no idea people had progressed it to animation like in the second video.
With hand drawn codes it’s also that the scanners are very good. It’s no good having high redundancy if the scanner can’t transform the 3D code to a square and find the timing bits etc
I’m trying to confirm this shit even works before I get it tattooed on my wrist at a 1mm per square scale…
Print one out at 1:1 scale and wrap it around your wrist, then test it. Curved surfaces are challenging for QR code readers. AFAIK Google Lens is one of the best ones (it will follow edges of pixels in wavy codes) but you’ll want any old open source one to work.
AKA temporary tattoo test run…
Hey OP, I’ve seen a lot of tattoo artists recommend not getting QR codes tattooed because they fade and smear over time. Also, I don’t wanna sound overly dramatic, but with the current political landscape being to aggressively cut government programs, I wouldn’t trust a domain name being around forever. It may still be better for the code to be one you control (they’re like $12 a year) and set it to redirect there instead.
Yeah, at 1 mm per pixel, this will not last long.
How about an NFC implant? They can point to URLs too…
Nah, I’ll totally pass on the NFC implant idea. I get you though, even if the tattoo was done by a true pro with the most steady hands and perfect alignment, what would it look like in 3, 5, 10 years or so…?
I very much appreciate all your comments and advice on this, as I’ve never had a tattoo before but seriously do think this would be a cute, if not silly idea to have such a tattoo hiding under my actual watch.
I’m still gonna eventually finish designing the entire pattern I’m looking for, to proper printing scale, as a PNG file. I think I’ll start from there by having our local print shop print me out a page full of as many as I can tile on a page, cut them out and laminate them myself with packing tape.
Then I’ll see what other people think of the whole silly idea, and if it’s more favorable than not, I might see about eventually getting it properly printed on temporary tattoo paper. Can’t really go wrong with a temporary tattoo right?
With that thought in mind (plus our print shop is closed today), where the hell would I get true temporary tattoos printed out?
You don’t have to print on temporary tattoo paper. Use regular paper and scissors to create a wristband. That is enough to test if the geometry is good enough for the scanner.
Indeed, that’s gonna be my first plan already anyways. I’m even planning on laminating early test prints myself with packing tape on both sides. I’m sure I can tile fit quite a few prints out on a single page, for only $1 a full page at our local print shop.
The question after that is, if people find the idea interesting enough, then maybe just maybe I might want to look into getting proper temporary tattoos printed out…
NFC implants are expensive but wristbands are not. Maybe that could work… I wonder if they make some that don’t look like mini watches, maybe a strap with a fashionably integrated chip and antenna?
Thank you kindly for the advice 👍
After reading all the comments here, I think I’ll shift my plans towards having it printed out on temporary tattoo paper instead. Like hell, can’t really go wrong there I don’t think, plus it’s gotta be a lot cheaper, I’d think anyways…
Tattoos can get a little blurry over time, especially when they are really small. Look at examples of people who get little quotes or words written in cursive, sometimes they become almost unreadable.
Great advice, and thank you in advance! 👍
I won’t be getting such a tattoo anytime soon, but advice such as yours is the sort of advice I seek.
Thank you again, I’ll definitely keep that in mind.
Curious I am now, trailing slash?
This wasn’t encoded with a trailing slash, nor does the scanner app I use decode it with a trailing slash.
I’m not sure, but if it is decoding with a trailing slash on your side, that might be your scanner app doing that automatically.
Formally speaking, coming from the dialup internet days, full proper URLs were meant to end in a trailing slash, and if you didn’t type the trailing slash in yourself, some web browsers would have to ping the site twice before it figured out it needed that trailing slash, slowing down website loading time.
I dunno, thank goodness the internet has evolved enough where https://www.time.gov/ can be simplified to https://time.gov/
On my end, my web browser itself (Fennec, a fork of Firefox), put the trailing slash in on its own… 🤷
Edit: I can’t even force edit out the trailing slash in my comment here. I think that trailing slash thing is just literally burned into the internet/URL protocols…
I don’t know either if lack of a slash after domain makes for an invalid URL, I think they will just work, similarly you can just type “time.gov” into the address bar and the browser knows to try HTTPS on port 443 and HTTP on port 80, and request the document path “/” (explicitly, this is “https://time.gov/”). Lemmy and Fennec automatically add trailing slashes to them, apparently. However, you can cheat that by creating a hyperlink whose display text is “https://time/.<zwsp>gov” where “<zwsp>” is a zero-width space.
By the way, “www.” is a subdomain like any other, but people tend to add/remove it at will so it is considered good practice to make a redirect, or point the DNS A (IPv4) and AAAA (IPv6) records to the same server, and mark one copy as “canonical” (this is required by search engines). Yet, there are many servers that only work with or without “www.”, and possibly some where the content differs.
Edit: that “explicit” URL got the port (:443) edited out by Lemmy!
Wouldn’t that have been easier on grid paper? Why use ruled paper?
I didn’t have grid paper handy. Ideas came to mind, and I just wanted to start sketching like immediately.
Yes awkward, but also kinda helps relieve my stress as well…
Having to do a QR code without a grid would have the opposite effect of “relieving stress” for me :)
LOL, the page behind that is turned exactly 90⁰, the dot grid I drew with an ink pen tracing the intersections of the front page and the back page. Yes it was a bit tedious, but not haphazardly done, the ink dots form a proper grid where I filled in the squares with a pencil.
If for no other reason, I hand drew this myself to try to get a loose idea of how tedious and troublesome it might be for an actual tattoo artist.
After all the very informative comments I’ve received here, I think I’ll rearrange my plans to not have a permanent tattoo afterall, but rather eventually have it printed out on temporary tattoo paper.
They drew QR code by hand. Do we realy think the ease was a factor here?
You’re absolutely right. I don’t expect this to be easy, which is why I drew everything out by hand here. I wanted to get a sense of how difficult it might be for a true tattoo artist.
Going by other comments, plus my own experience, I think now it would be best printed as a temporary tattoo idea instead of an inked in permanent one.
it’s tonga time.