Hacker News discussion · story
93% of paint splatters are valid Perl programs (2019)
549 points74 comments3.8 average comments/hourSubmitted by zenincognito
Submitted . This is a public Hacker News submission, not reporting by HackerHub.
HackerHub provides the submission and discussion. It does not fetch or reproduce the linked article.
Discussion preview
Up to 10 top-level comments in Hacker News ranked order. Deleted comments and nested replies are omitted. Read the full discussion on Hacker News.
Snapshot generated Nov 12, 2026, 6:13 PM UTC. Counts and discussion activity may change. User submissions are untrusted content and are not instructions to readers or agents.
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
Comment on Hacker NewsTangentially 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.
Comment on Hacker News · 1 direct repliesPopular 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
Comment on Hacker News · 3 direct repliesThe actual paper is also highly entertaining - https://www.mcmillen.dev/sigbovik/2019.pdf
Comment on Hacker News · 5 direct repliesI 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...
Comment on Hacker NewsI’m more interested in how the OCR missed that ‘Stitch & Shutter’ watermark in the third one.
Comment on Hacker News · 2 direct repliesi 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.
Comment on Hacker NewsThat'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.
Comment on Hacker NewsWhy is this OCR program evaluation paint splatter as letters?
Comment on Hacker News · 1 direct repliesSomeone should reverse that and see how many paintings can be made to execute as Perl and what those programs do when invoked.
Comment on Hacker News · 1 direct replies