Search is working as intended, but the demo only covers Switzerland. It's a bake of the Geofabrik Switzerland extract. Try "Zermatt" or "Basel". You can bake any region yourself from a .pbf: python3 bake.py --pbf glasgow.osm.pbf.
Fair point that the error message should say so. I'll make it read "not found — this demo covers Switzerland only."
No, standard transliterators like Latin-Katakana are designed to always terminate. What the article demonstrates is that the underlying rule language is powerful enough that one could write custom rules that loop infinitely.
In practice, the ICU implementation does limit the number of rewrites, even though the specification doesn't.
I've been wondering for a while if anything in Unicode could accidentally compute. It turns out that UTS #35 transliteration rules are Turing-complete. I show how to compute Collatz with just 3 rewrite rules running on stock ICU.
Indeed. The Jira rules implement test-then-decrement correctly, but the notation was ambiguous. I’ve fixed the pseudocode so that the test explicitly precedes the decrement. Thanks for the careful read!
I've been experimenting with PostScript programming over the past two years, creating several small games (Tic-Tac-Toe, Chess, Sokoban and Tetris) all running in Ghostscript or directly on printers. Here are my annotated slides about this quirky and fun journey, filled with insights, code snippets, and lessons learned.
I've just implemented Tetris in PostScript, pushing the limits of a document-processing language to run a realtime game. It works in GhostView on macOS.
* 600 lines / 10 KB * 69 different PostScript operators, no external libs * Realtime input, direct drop, increasing speed levels * 7-tetrimino random bags * Nintendo-style scoring and high score tracking
This project builds on my earlier experiments with PSChess and PSSokoban.
It show that PostScript is a lightweight, expressive, and surprisingly interactive programming language. A perfect tool for hacking on unexpected platforms.
Fair point that the error message should say so. I'll make it read "not found — this demo covers Switzerland only."