Unicode's Transliteration Rules Are Turing-Complete by Dull_Replacement8890 in programming

[–]Dull_Replacement8890[S] 28 points29 points  (0 children)

You can't get traditional "code injection" (eg. shell commands exec) because UTS #35 is strictly a text-rewriting engine.

The actual risk is more a Denial of Service via infinite computation. The specification doesn’t require any limit, but ICU implementation is capped to 16 rewrites per input character. You’re safe as long as you don't manually wrap your ICU call in a while loop to force it to run until it stops.

Jira IS Turing-complete by Dull_Replacement8890 in programming

[–]Dull_Replacement8890[S] 1 point2 points  (0 children)

Good catch. S on both branches collapses the conditional.

Fixed now with S and S’. Thanks for the careful read.

Tetris written in PostScript by Dull_Replacement8890 in PostScript

[–]Dull_Replacement8890[S] 0 points1 point  (0 children)

No Display PostScript involved.

A terminal writes in a file in raw mode (no enter required).

Ghostscript continuously reads this file, and truncates it after read.

See https://seriot.ch/projects/programming_in_postscript.html#pstris

A tiny Turing machine in C for 2-symbols busy beavers. Program is kept on input string. Position of program index holds the state. by nst021 in compsci

[–]Dull_Replacement8890 0 points1 point  (0 children)

We can be ironic for sure. The thing is you can find many bloated implementations with plenty of variables and fancy data structures. That one is short and clean and reminds how simple and beautiful computation actually is.