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
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, and not preceded by an odd number of “\”). After resolving Unicode escapes, any character sequence is a valid properties file.
The actual paper is also highly entertaining - https://www.mcmillen.dev/sigbovik/2019.pdf
Now I wonder if that holds for Objective C programs, too....
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.
I’m more interested in how the OCR missed that ‘Stitch & Shutter’ watermark in the third one.
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.
A whole new twist on "Hackers and Painters"
Someone should reverse that and see how many paintings can be made to execute as Perl and what those programs do when invoked.
> fruitful procrastination
It is so rare to find proper appreciation for this creative skill.
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.
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).
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…
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
93% of Perl Programs are valid Paint Spatters too.
The modern version would be to input the image without further context into an LLM and constrain the output to valid Rust.
Jackson Pollock was writing perl code all along
> Apparently in the brave new world of neural nets, Anything Goes™
Quite some foresight indeed!
Luckily with AI, that has since increased to 100% with a small prompt ...
The problem is the ocr, then.
I don't need to read the article because the headline is true.
A mentor taught me that you can also roll your face on the keyboard to produce a valid Perl program. It's easy and fun to try!
I thought perl was finally dead enough people would stop mocking it. I'll wait til next decade.
[dead]
[dead]
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