4 ms·
OCRing this is a nightmare and is a good benchmark to any self-proclaimed good OCR/vision model. I think though it could likely be easily OCR'd if you give the
by Tiberium 3mo ago
OCRing this is a nightmare and is a good benchmark to any self-proclaimed good OCR/vision model.
I think though it could likely be easily OCR'd if you give the image to any decent agentic harness with a good vision model, e.g. newest Claude/GPT ones, and tell them to split the image per lines, and then just OCR each line individually.
I wonder if the script itself was written by an LLM before obfuscation? There seem to be a lot of comments in it, but in this case it's still ok :)
- IshKebab 3mo agoDefinitely LLM. No humans write that many comments.
- Tiberium 3mo agoHonestly it's a bit of a shame. I checked and they could've shortened their base64 payload by 304 chars by removing all comments except the top two congratulatory ones, or by 524 if they removed those too.
- saidnooneever 3mo agoim just sad it didnt render a qr code leading to malware :'). the different ways ppl look at obfuscated codes and scripts hah
- OtherShrezzing 3mo agoWould they still get the highlighted "PEACE FOR ALL" text throughout the shortened string? It looks like the length, and presence of those characters, was an explicit design choice.
- lemagedurage 3mo agoMaybe they added the comments to get a longer payload for the sake of the shirt's design. The comments can be more cute/awe inspiring for people who aren't as familiar with bash but like solving puzzles as well.
- yborg 3mo agoThe HN optimizing T-shirt compiler is the next stage here :D
- petu 3mo agoHuman could write that many comments to get enough base64 text for a design. Maybe to even get some of the highlighted characters in places they want (roughly equally spaced apart).
- ChrisMarshallNY 3mo agoAhem... My code usually clocs at 50/50 (or thereabouts)[0]. Has, since my very first real engineering project (in 1987)[1]. I discuss in detail, here[2]. But one reason that I like LLMs, is that they help me to write even more documentation. I have found that I can instruct an LLM to revise my documentation, and make it even more effective. [0] https://github.com/ChrisMarshallNY https://github.com/ChrisMarshallNY (My GH profile. Pretty much everything there, is like that -has, since long before LLMs were a broken rubber on the drug store shelf). [1] https://littlegreenviper.com/wp-content/uploads/2022/07/TF30194-Manual-1987.pdf https://littlegreenviper.com/wp-content/uploads/2022/07/TF30... (Downloads a PDF) [2] https://littlegreenviper.com/leaving-a-legacy/ https://littlegreenviper.com/leaving-a-legacy/
- IshKebab 3mo agoYour code isn't as unnecessarily commented as this. E.g. look at this line https://github.com/RiftValleySoftware/RVS_Spinner/blob/d44eedce9667eee14dd4693f284bae7a579e74b5/Sources/RVS_Spinner/RVS_Spinner.swift#L764 https://github.com/RiftValleySoftware/RVS_Spinner/blob/d44ee... An LLM would have commented `// Create temporary UI view.` Completely redundant comments like this are a classic hallmark of LLMs: # Set frequency scaling factor freq=0.2 Dunno why I have been downvoted for stating the obvious. Also from my brief look at one file it looks like you have 50% comments because you have a gazillion comment separator lines.
- ChrisMarshallNY 3mo agoI didn't downvote. There's nothing wrong with your comment. It's just a bit silly, because humans definitely write that much. I learned from Apple and Adobe headerdocs. I worked for a Japanese company that accreted comments. Yeah, lots of whitespace.
- latexr 3mo ago> No humans write that many comments. Especially in a case like this, I would definitely write a lot of comments to aid in understanding, thus increasing trust so people would try it out and tinker with it.
- boomboomsubban 3mo agoPlus the main point of this code is to have people look at it, the function is secondary to being an easter egg.
- ivolimmen 3mo agoSince LLM's are mimicking our code my guess we do...
- NamlchakKhandro 3mo agoI do
- lemagedurage 3mo agoI don't think it was written by an LLM, some things stand out: The congratulations text is both in English and Japanese. Contains a single heart emoji. There was an intention to have a cyan to orange gradient, but the range starts in an ANSI block, ends halfway through the 256 color block and 256 terminal colors are not arranged like a gradient at all. There's no sleep at the end of the loop where I feel like an LLM would add that defensively.
- n2j3 3mo agoHuman here. I added a sleep 0.5 at the end, it's too fast to read otherwise. Makes for a nice terminal screensaver!
- INTPenis 3mo agoHi fellow human, I got the same idea. Just a sleep 0.1 before the echo "" makes it readable. Otherwise it scrolls way too fast.
- make3 3mo ago"the code is not quite detail oriented enough to be AI", times are changing
- DaSHacka 3mo agoMore like 'not boilerplate-y enough'
- lemagedurage 3mo agoEhh, AI makes plenty mistakes but they have a different vibe to it. In my mind an AI would do something the most popular way even when that's not appropriate. A human might do things in an unpopular way even when that's not appropriate.
- pkilgore 3mo agoFlawless, completely unnecessary abstraction is a better tell of LLM code than "comment clearly responding to a part of a prompt that I cannot see".
- OtherShrezzing 3mo agoSafari's copy-text-from-image feature manages the entire base64 part of the string, except for the first character (I instead of a T). Weirdly, it gets much worse performance if you try to copy the entire string, including the hashbang part. I wonder what it's doing under the hood to get such good performance?
- khurs 3mo agoDidn't know Safari had this. Looked it up, you put mouse over text, then just select and copy it - very cool! https://support.apple.com/en-gb/guide/safari/ibrw20183ad7/mac https://support.apple.com/en-gb/guide/safari/ibrw20183ad7/ma...
- agys 3mo agoPreview has it too… And it works extremely well.
- iamflimflam1 3mo agoThere’s a whole bunch of hidden features that no one seems to be aware of. Preview has pretty good background removal. Notes will transcribe audio from audio files.
- deleted 3mo ago[deleted]
- al_borland 3mo agoNotes will do OCR as well. Trigger the feature, point the camera at something, and it will input just the text.
- lostlogin 3mo agoNotes is amazing. Autocompleting equations, converting jpg to pdf and various other admin chores. The seamless cloud sync between devices is much appreciated too.
- netsharc 3mo agoThe last time Internet people were obsessed with OCRing some base64 was a few months ago when the DoJ released tons of emails from some guy who died, but they were released as rasterized PDFs. Can't remember his name now, there's been so many distractions...
- helterskelter 3mo agoAll I remember is that it had some to do with Bill Clinton sleeping with underage girls and Bill Gates with a nasty case of VD.
- netsharc 3mo agoI think there's also someone who's very close to him who currently has the reins of power in government... or you forgot about this? He even sent the now-deceased man a birthday card with some words that strongly suggest he knew what was going on..
- helterskelter 3mo agoHuh? You talking about Iran? (.../s)
- deleted 3mo ago[deleted]
- shakna 3mo ago> I wonder if the script itself was written by an LLM before obfuscation? From the prototype shown here [0], and the way they talk about their process, I sincerely doubt it. Especially as they mention trying to make it hard for AI to handle the output. [0] https://youtu.be/jocGLiecpjU?t=567 https://youtu.be/jocGLiecpjU?t=567
- cb321 3mo agoI watched that whole video link - thank you for that - and he doesn't really say. In fact, he spends much more time on the beige color harkening to computer case plastics of the 80s & 90s. The AI not handling the output relates to the final base64 output on the T-shirt (which other comments in this thread mention manually keying in or TFA discusses in the context of OCR). So, that is just not relevant to the question. What made me start to wonder, personally, was that the output seems identical if you use "♥PEACE♥FOR♥ALL" instead of the version with internal repeats. IF there is any point to that "manual expansion of the cycles", IMO that deserves a comment much more so than "# Calculate length of text; text_length=". Also, that `echo -n ...` followed by `echo ""` instead of just plain `echo` in the first place seems like the kind of copy-pasta code LLMs generate. Then again, regular devs also write pretty bad copy-pasta code. There is also this the weirdly "broken down" calculation with 3 `bc` invocations not 1 as if it was translated from a language with more arithmetic/special function power than bash. There is also the color scale stuff done in the loop instead of outside (except the one color=$(..)) which seems very unnatural and also very like machine translation. Also, at least for me, on my bash-5.3.15(1), `char="${text:t % text_length:1}"` does not work to slice out the multi-byte UTF8 heart symbols, but it sure does look like the kind of thing an LLM would do translating from a python3 script (such as something like https://news.ycombinator.com/item?id=48830669 https://news.ycombinator.com/item?id=48830669) into bash. Another thing is, as others here have observed, there is nothing "gradual" about the xterm-256 color cube. So, "gradient" is a misnomer and exactly the kind of weird things LLMs do when they cobble text together. Finally, all the tput stuff the script does instead of just "print x spaces" really smells like a human description of the side scroll in the video game graphic he shows inspired him somehow LLM-corrupted/complexified into the vertical scroll terminals do. None of this is conclusive, but the video mentions 2023..2025 as when he did it and given that he was a designer and his concerns more visual than code-oriented, I'd have to say I disagree with your sincere doubt and I do strongly suspect the decoded script was very likely LLM-circa2024-generated, possibly with light post-edits by hand.
- underyx 3mo agoI gave the photo to Opus 4.8 and it reconstructed the same script in one shot. Although it did say it had to correct some parts of it based on context where it suspected OCR mistakes.
- da_grift_shift 3mo ago>I wonder if the script itself was written by an LLM before obfuscation? I seem to recall seeing an Akamai-branded base64'd shell script on a white shirt pre-2021(?), so unless they've changed the code since then, I doubt it...
- justusthane 3mo agoWhat is it about this that makes it particularly hard to OCR?
- grumbelbart2 3mo ago> OCRing this is a nightmare and is a good benchmark to any self-proclaimed good OCR/vision model. It's not that difficult, our industrial OCR model read it correctly on its first attempt with default parameters. The characters are easily separable, there is no structured background (think expiration dates on yogurt aluminum lids) that confuses the reader, there is no almost-text-like texture anywhere that would clutter the result. The font is also nice and standard.
- mmooss 3mo agoCool. What's an industrial OCR model?
- grumbelbart2 3mo agoEssentially part of a machine vision software package, which in turn is computer vision specialized for factory automation. It's "industrial" because it was trained on such data (more expiration dates and SEMI-font on wafers, less random pictures of streets with some text). That, plus engineering and support: a robust implementation, deployment on almost any system, fast and good long-term support so your factory doesn't stop for too long if something goes wrong etc.
- mmooss 3mo agoMakes sense. I wonder if there's anything in the technology that would benefit people scanning books or those scanning random things with their phones. Maybe better for low contrast or degraded print? (Obviously those applications don't need the engineering and support, and probably would not be a good fit for your company.)
- ErroneousBosh 3mo agoThose of us who grew up in the 8-bit era would have just typed it in, carefully, in silence, with no-one allowed to enter or leave the room until we were done ;-)
- fennecfoxy 3mo agoIs it? Android tap and hold/image text select one-shotted it in 2 seconds.
- richstokes 3mo agoIs it a nightmare? I pasted the first, zoomed out, image of the shirt into ChatGPT, and it decoded it / let me know what the bash script does in one shot