News for hackers. Stuff that matters.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by zenincognito on Wednesday November 11, 2026 @05:38PM (#50459808)
The actual paper is also highly entertaining - https://www.mcmillen.dev/sigbovik/2019.pdf
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by Amorymeltzer on Wednesday November 11, 2026 @05:55PM (#50460056)
In particular, I like "Figure − 3. − 3 ." as a good little easter egg.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by 0xbadcafebee on Wednesday November 11, 2026 @07:11PM (#50460966)
[delayed]
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by xhrpost on Wednesday November 11, 2026 @08:47PM (#50461967)
So they might be valid older(<v5?) PHP scripts as well?
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by Izkata on Thursday November 12, 2026 @01:19AM (#50463691)
PHP 5 had unquoted strings, and it looks like 7 did as well, but not 8.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by asddubs on Thursday November 12, 2026 @08:24AM (#50466735)
They were deprecated in php 7, but did work
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by heresie-dabord on Wednesday November 11, 2026 @09:16PM (#50462231)
From the paper:

"An interesting thing about these images is that they’re not particularly Perl-specific; for example, the program shown in Figure −3 also evaluates as the number −3 in Python (and presumably several other programming languages.)"

We live in the age of Python, which I use every day. But I still also use Perl when it's the better tool for the job. And it often is!

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by comboy on Thursday November 12, 2026 @03:25AM (#50464490)
For those who do not enjoy reading scientific papers this one is worth reading.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by sadboi_fandango on Wednesday November 11, 2026 @06:00PM (#50460129)
Jackson Pollock was writing perl code all along
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by HeckFeck on Wednesday November 11, 2026 @06:42PM (#50460642)
My Stone Roses album cover is actually a bonus Perl program?
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by don-code on Wednesday November 11, 2026 @08:50PM (#50461985)
Full Fathom Five is my brain on Perl.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by kmoser on Wednesday November 11, 2026 @09:01PM (#50462091)
No, when Pollock spattered paint on a canvas, it was generally on the floor, not the Wall.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by gnabgib on Wednesday November 11, 2026 @06:07PM (#50460250)
Popular in:

2024 (515 points, 125 comments) https://news.ycombinator.com/item?id=40197013

2021 (431 points, 165 comments) https://news.ycombinator.com/item?id=27929730

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by adamrezich on Wednesday November 11, 2026 @06:17PM (#50460341)
The reply near the top of the 2021 link with the Master Foo koan hits quite a bit differently in the age of vibecoding.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by tomhow on Wednesday November 11, 2026 @07:36PM (#50461233)
And others! Here's the full list:

93% of paint splatters are valid Perl programs (2019) - https://news.ycombinator.com/item?id=40197013 - April 2024 (124 comments)

93% of Paint Splatters Are Valid Perl Programs (2019) - https://news.ycombinator.com/item?id=27929730 - July 2021 (163 comments)

93% of Paint Splatters Are Valid Perl Programs - https://news.ycombinator.com/item?id=20834351 - Aug 2019 (7 comments)

93% of Paint Splatters Are Valid Perl Programs - https://news.ycombinator.com/item?id=19576425 - April 2019 (132 comments)

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by Someone on Thursday November 12, 2026 @01:41AM (#50463811)
[delayed]
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by thatsabadlook on Thursday November 12, 2026 @08:18AM (#50466672)
Yea but isn't it refreshing seeing content like this instead of ai noise?
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by abustamam on Thursday November 12, 2026 @12:24PM (#50470834)
I think the commenter was pointing out other discussions in case anyone was interested, not that it was a repost.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by TMWNN on Wednesday November 11, 2026 @06:22PM (#50460399)
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by fractorial on Wednesday November 11, 2026 @10:30PM (#50462708)
I think this is the first time I’ve seen a TikTok link on HN.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by piltdownman on Thursday November 12, 2026 @10:36AM (#50469133)
Eternal November covers a lot of new behaviours sadly.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by layer8 on Wednesday November 11, 2026 @06:22PM (#50460402)
Tangentially related, the only way for a Java properties file to be invalid is if it contains an invalid Unicode escape sequence (“\u” not followed by four digits).
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by hyperman1 on Thursday November 12, 2026 @12:54AM (#50463563)
I've had a program where some R code stuffs some input in an URL, fires it at a server, then reads the returned CSV. No error handling or validation is attempted.

As it happens, basically anything is a valid CSV.

If the input is wrong, the server responds with an XML error. This got interpreted as a CSV. Every line became a record, but no column headers were found so every expected field is null/NA. All these nulls get nicely sorted and processed, which causes more string errors, etc ... Mayhem ensues when thst stuff ends up in a database.

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by hilariously on Thursday November 12, 2026 @01:04AM (#50463605)
CSV is not a format, its a vague idea, https://www.youtube.com/watch?v=YrqSp8m7fmk - this is a great video on how to make it fast, and how its pretty bad
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by hyperman1 on Thursday November 12, 2026 @03:39AM (#50464575)
Can't agree more. I've dealt with a CSV where multiple CSVs were cat'ted together, but the originals were not in the same dialect and differed even in charset encoding. Wrote a statists based parser that decided which part of the file had to be decoded which way. Interesting technical challenge, but my god the reasons for its existence were dumb.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by xg15 on Thursday November 12, 2026 @07:18AM (#50466108)
Falsehoods programmers believe about CSV: "Yeah, sure it's a mess and there are like, a gazillion different dialects of it, but at least once you know the dialect of a file, you can decode it"...
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by NuclearPM on Thursday November 12, 2026 @04:06PM (#50474281)
Claude decode this.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by xg15 on Thursday November 12, 2026 @04:53PM (#50474855)
"How to use a billion dollar GPU cluster to parse commas, in 5 easy steps"
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by NuclearPM on Friday November 13, 2026 @10:54PM (#50493710)
It would be free
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by thesuitonym on Thursday November 12, 2026 @09:44AM (#50468131)
My god. I love CSVs because the lack of any standardization makes them incredibly flexible, but combining CSVs is just a wild idea. What was that person thinking?
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by hyperman1 on Thursday November 12, 2026 @03:04PM (#50473387)
Nobody was thinking anything. A bunch of managers of a group of frenemy corporations was condemned by the governement to share date. Every company sent the data to a trusted third party. This party removed the source company, anonymangled things a bit, taped them all together, and sent the result back to everyone. Managers wanted CSV as it was easy to open in excel, and they were going to let their underlings process them manually. Then it turned out to be a few 10s of millions of records and excel couldn't yet deal with >64k rows, so IT got to deal with it.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by BobaFloutist on Thursday November 12, 2026 @12:30PM (#50470930)
Comma Separated Values, in which commas, separations, and values are all optional.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by snitty on Wednesday November 11, 2026 @06:40PM (#50460625)
SIGBOVIK papers are almost always a delight

EDIT: From their 2026 publication

>Permission to make digital or hard copies of portions of this work for personal use is granted; permission to make digital or hard copies of portions of this work for classroom use is also granted, but seems ill-advised

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by brisket_bronson on Wednesday November 11, 2026 @06:49PM (#50460726)
Figure 6 represents the string “gggijgziifiiffif”, which by pure coincidence happens to accurately represent the authors’ verbal reaction upon learning that “unquoted strings” were a feature intentionally included in the Perl language
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by lta on Wednesday November 11, 2026 @06:59PM (#50460851)
I'm afraid I have to tell you you lack the soul of a poet to truly appreciate the brilliant design . Perl is magic (like litteraly). I'm fairly sure it's one of the untold inspiration of the Harry Potter books
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by hluska on Wednesday November 11, 2026 @07:12PM (#50460984)
I really dig your whimsy.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by bitwize on Wednesday November 11, 2026 @07:15PM (#50461018)
necronomicon, maybe
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by tomaskafka on Wednesday November 11, 2026 @07:47PM (#50461370)
This is also a valid Perl program (I bet)
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by omoikane on Wednesday November 11, 2026 @09:56PM (#50462491)
There is a gem in the footnote right below gggijgziifiiffif, where it says it's possible to make a perl error quine by writing this line to the right location:

    Illegal division by zero at /tmp/quine.pl line 1.
I just tried this with perl 5.42.0, and any file name starting with a '/' will work.

See also: https://codegolf.stackexchange.com/a/48394

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by toast0 on Thursday November 12, 2026 @02:18AM (#50464046)
> I just tried this perl 5.42.0, and any file name starting with a '/' will work.

any file name? How about /1

?

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by larsonian on Thursday November 12, 2026 @08:27AM (#50466777)
Unquoted strings are the default in shell languages, and one of the design goals of Perl was to be a more powerful replacement for shell scripts. It's not a particularly surprising feature, really.

For anything more complex than a one-off script, Perl is pretty much always written with `use strict`, which disables unquoted strings and certain other (mis)features.

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by criemen on Wednesday November 11, 2026 @06:59PM (#50460853)
> Apparently in the brave new world of neural nets, Anything Goes™

Quite some foresight indeed!

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by delichon on Wednesday November 11, 2026 @07:23PM (#50461093)
This seems to imply the possibility of steganographic paint splatter than encodes state secrets or samizdat. Maybe censors will someday demand orderly low entropy graphic designs.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by baron3dl on Wednesday November 11, 2026 @07:32PM (#50461190)
i loved programming perl. both the act, and the book. i long since gave it up, but i am still awed by how it could both be completely unceremonious and absurdly ceremonious. my $self = shift; for instance.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by jacquesm on Wednesday November 11, 2026 @07:51PM (#50461418)
Someone should reverse that and see how many paintings can be made to execute as Perl and what those programs do when invoked.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by kmoser on Wednesday November 11, 2026 @08:58PM (#50462061)
You could kill two birds with one stone by entering them in the Obfuscated Perl Contest, were it still being held.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by mlmonkey on Wednesday November 11, 2026 @10:11PM (#50462571)
Every single day there's an Obfuscated Perl Contest being held somewhere on this planet....
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by idlewords on Wednesday November 11, 2026 @08:22PM (#50461749)
A whole new twist on "Hackers and Painters"
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by polarsanel on Wednesday November 11, 2026 @08:48PM (#50461972)
93% of Perl Programs are valid Paint Spatters too.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by _doctor_love on Wednesday November 11, 2026 @10:19PM (#50462623)
I don't need to read the article because the headline is true.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by lisper on Wednesday November 11, 2026 @11:24PM (#50463064)
A cat walking across the keyboard works too.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by NoMoreNicksLeft on Wednesday November 11, 2026 @10:19PM (#50462628)
I thought perl was finally dead enough people would stop mocking it. I'll wait til next decade.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by theonemind on Thursday November 12, 2026 @12:40AM (#50463486)
History in reverse: first you win, then they mock you, then they ignore you
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by kqr on Thursday November 12, 2026 @01:07AM (#50463619)
Perl is not dead! Its popularity has merely reached dotcom level! https://entropicthoughts.com/what-killed-perl
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by HackerThemAll on Thursday November 12, 2026 @08:30AM (#50466815)
Perl requires more brain power than most coders have, especially nowadays.

Perl has never disappointed me. Many years ago during just 2 weeks I'd written a few clever automations and orchestrations in Perl that had lasted with 100% availability for a decade after I changed that job. Even though my superior, the self-proclaimed "top coder manager all-in-one god" despised it (and me), he was incapable of comprehending and rewriting that. It was not because I obfuscated the code, but because of what I wrote in the first sentence above. In the end he hired a consultancy and got a monstrous solution in Java. But finally it was "his".

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by SoraTakai on Wednesday November 11, 2026 @10:32PM (#50462724)
It all depends on which OCR to use and therefore meaningless. It is especially more meaningless since they do not establish the baseline (OCR "pass" % on random input).
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by ashton314 on Wednesday November 11, 2026 @10:37PM (#50462760)
[delayed]
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by ckdot on Wednesday November 11, 2026 @11:43PM (#50463143)
Honest question, and I’m not the person you answered to: what is the point? I sincerely don’t get it.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by odo1242 on Thursday November 12, 2026 @12:26AM (#50463378)
It's a joke about Perl. It's not meant to be taken seriously as a study about OCR.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by asgraham on Thursday November 12, 2026 @12:31AM (#50463416)
Well a) it’s mostly a joke, b) to the extent it’s not a joke, it’s about how Perl accepts absurd inputs as valid programs, c) OCR paint splatters are just a funny way to get to weird arbitrary strings, of which a strangely high percentage (say, 93%) are valid Perl programs, d) so the choice of OCR doesn’t really affect the “validity” of the result, and e) the author did actually try multiple OCR settings and, when multiple OCRs produced valid Perl programs, chose “the most “interesting.””
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by ideasphere on Wednesday November 11, 2026 @10:47PM (#50462839)
I’m more interested in how the OCR missed that ‘Stitch & Shutter’ watermark in the third one.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by bozdemir on Wednesday November 11, 2026 @11:06PM (#50462962)
Hahahhahah good catch.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by michaelt on Thursday November 12, 2026 @03:08AM (#50464367)
It looks like the author used Tesseract, a traditional OCR image with lineage going back to HP flatbed scanners in the 1980s [1]

Obviously, it's been improved a lot since then - but traditional OCR is mostly about black text on white backgrounds. Or at least, the text being high-contrast relative to the rest of the document.

Light gold text on a white background, while there are black splatters? That's the sort of thing it would struggle with for sure.

[1] https://static.googleusercontent.com/media/research.google.c...

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by xenic on Thursday November 12, 2026 @12:41AM (#50463492)
Perl is such a ride. I wrote and maintained a nms/statistics/alerting stack around 2003-2004, ended up being around 200k LoC iirc. Just heard it is still in use at that company. My condolences to whoever has had to maintain that monster.

I was somewhat pleasantly surprised a few days ago when an LLM out of the blue decided to use perl, not python, for some simple scripting. There is hope in the world yet…

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by maxlybbert on Thursday November 12, 2026 @05:32AM (#50465372)
And Perl from 2003-2004 was especially bad. It took amazing effort to pass a file handle as a subroutine parameter. I once took a look at the Perl code behind Bugzilla, and quickly decided that it was better to let sleeping dogs lie.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by notorandit on Thursday November 12, 2026 @12:48AM (#50463532)
The problem is the ocr, then.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by charcircuit on Thursday November 12, 2026 @01:42AM (#50463822)
This is more about a bad OCR than about paint splatters. They also tried multiple OCR settings until one worked. If you used more accurate OCR this would be very different.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by michaelt on Thursday November 12, 2026 @03:16AM (#50464422)
More accurate OCR would recognise the images have no text

  $ touch temp.pl; perl temp.pl; echo "exit code $?"
  exit code 0
which is a valid perl program. And that one image with the watermark "stitch & shutter" ?

  $ echo "stitch & shutter" > temp.pl; perl temp.pl; echo "exit code $?"
  exit code 0
Also valid perl.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by silvandeboer on Thursday November 12, 2026 @01:59AM (#50463937)
The modern version would be to input the image without further context into an LLM and constrain the output to valid Rust.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by isolay on Thursday November 12, 2026 @04:38AM (#50465031)
> fruitful procrastination

It is so rare to find proper appreciation for this creative skill.

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by rurban on Thursday November 12, 2026 @04:48AM (#50465088)
That's with the flexible perl5 parser with a dynamic lexer, which allows everything. For my new faster perl backend perl11-p2 I am using a PEG parser, similar to raku, which needs static rules for everything. So I bet it will not accept most of the noise. But I still can run only 50% of all perl programs.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by spwa4 on Thursday November 12, 2026 @05:11AM (#50465236)
Luckily with AI, that has since increased to 100% with a small prompt ...
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by dukoid on Thursday November 12, 2026 @08:01AM (#50466508)
Now I wonder if that holds for Objective C programs, too....
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by trpaslik on Thursday November 12, 2026 @09:46AM (#50468164)
perl is a write-only language ;-)
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by jellevdv on Thursday November 12, 2026 @10:10AM (#50468634)
I created an interactive canvas to try it out with Tesseract and WebPerl. pretty funny that it actually works

https://vandevliet.me/create-valid-perl-by-smearing-paint-on...

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by psnehanshu on Thursday November 12, 2026 @10:13AM (#50468689)
Why is this OCR program evaluation paint splatter as letters?
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by JK-Swizzle on Thursday November 12, 2026 @12:09PM (#50470615)
I’m with this guy. When are we adding every possible paint splatter to Unicode so that OCR can be more accurate in situations like this?
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by ktm5j on Thursday November 12, 2026 @01:38PM (#50472026)
Yeah, I feel like this is more about 90% of random strings being valid perl programs.. the paint splatters have nothing to do with it.
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by ChaseRensberger on Thursday November 12, 2026 @12:12PM (#50470662)
> To be fair to Perl, when perlis run with the -w flag to enable warnings, it does helpfully inform the user that at some point in the future, the Perl developers will most likely pick gggijgziifiiffif as a new reserved word

what a gem of a post

Re:93% of Paint Splatters Are Valid Perl Programs (2019) by hcrisp on Thursday November 12, 2026 @01:07PM (#50471514)
Reminds me of the joke: "Perl – The only language that looks the same before and after RSA encryption”
Re:93% of Paint Splatters Are Valid Perl Programs (2019) by ChuckMcM on Thursday November 12, 2026 @01:41PM (#50472073)
This was such a fun April 1st paper. At Blekko (a search startup) everything was written in perl and it was my first deep exposure to the language. That said, with discipline you can write easily understood perl but like C you can also write deeply convoluted code. The parser though, that is a thing of incredible magnitude.