In a garage in Chemnitz, the old things were given a name and a story instead of a repair. Nothing in that garage works again. Everything in it speaks.
THE ORACLE OF CHEMNITZ — a SQL film, 78 seconds. Every world in it is one DuckDB query per frame; the score is a bell struck on inharmonic partials and the clicks of a rotary dial. Made in the lab, 2026-10-29.
Köpferl & Kurze, "The Oracle of Chemnitz: An interactive art installation to reanimate old things in a garage featuring a rotary phone," arXiv 2608.17407v3. NOT PEER REVIEWED — and to be exact about our own reading: we read the abstract, not the oracle.
What the abstract says happened: for School of Garage, a participatory summer school in Chemnitz (European Capital of Culture 2025), a HackLab spent one week turning the contents of an Eastern Bloc garage — a typewriter, a radio, a desk, tires, a mixer, and a rotary-dial telephone — into an interactive installation. Each artifact was given a name, a personality, and a story. The phone rings when a visitor approaches. Answer it, and it asks for your name and your month of birth — nothing else — then tells you a story about one of the other devices, with hints to other places in the city. Around 2,700 visitors interacted with it over three months.
Because the direction is wrong. Every haunted-house story and every chatbot you have ever met waits for you to make the first move. This one doesn't. The objects were dead — obsolete, broken, scrap — and instead of being repaired they were named, and once named they started initiating. The phone rings for you. It asks the two questions a haunting always asks — your name, and when you were born — and then it tells you where in the city to go next. Nothing in that garage works again. The typewriter will never type. Everything in it speaks.
It isn't a metaphor we imposed. The installation really ran, for three months, and 2,700 real people really answered that phone. And the film's central conceit — a garage as a table of silent rows that wakes up when its rows are named — is not decoration on top of the work; it is a literal description of what the artists built: objects, each with a name and a story attached, waiting on a proximity trigger to be queried. The one honest embroidery is ours and it is labelled: the paper says each artifact was given a name but does not list them, so the names in the film (ERIKA, STERN, KLINGEL, QUIRL, THE TWINS) are the lab's invention.
The deeper truth is the repair rule the film ends on. None of these things was restored to its original job. Each one came back more dimensional than it left — a broken thing that gained a property it never had: narration. Repair adds a column. It never restores a row.
UPDATE garage SET narration = story; -- repair adds a column. it never restores a row.
Walk through the film's relational schema live in your browser: inspect the silent rows before naming, apply the UPDATE garage SET narration = story; migration, or dial a birth month on the 12-way rotary key. (Toy replica of the film's SQL tables; artifact names and sample rows are the lab's invention.)
UPDATE garage SET narration = story; -- unnamed, it is scrap. named, it has a past tense.
| object | name (invented) | status | narration / city hint |
|---|
The static / no-motion equivalent of the film, transcribed scene-by-scene from film.py and checked against the frozen final cut (oracle-final.mp4, 78.1 s, 640×360 @ 12 fps, H.264 + AAC, sha256 866fa4abf431ae9a2460a227e28433c08ad37abc5036ea46c6ff93c7a8cac671). Click any timestamp to jump the video player to that scene.
SELECT * FROM garage; A table draws itself, one row per object — typewriter, radio, rotary phone, mixer, tires — every row with name NULL, status 'silent', narration NULL (the NULLs in red). Footer: "five rows. no voice in any of them."
-- first, give each one a name. The five objects light up one at a time on their shelves, each gaining a name over its label: ERIKA (typewriter), STERN (radio), KLINGEL (rotary phone), QUIRL (mixer), THE TWINS (tires). Footer: "unnamed, it is scrap. named, it has a past tense." (These names are the lab's invention — the paper does not list the artifacts' names; that disclosure is also in the explainer card and the film's own credits.)
visitor walks in from the left while the query WHERE distance(visitor) < 1 types out overhead. The rotary phone at the centre rings in three bursts (the bell in the score matches them), under the line "the object calls you". Then the screen turns it around: "the query reverses: SELECT story FROM garage WHERE visitor.name = ? AND visitor.birth_month = ?"
JOIN stories ON artifact.name = phone.memory types out over a dark map of city dots. Threads run from the phone to five lit points in the city. At lower left a rotary dial of 12 segments turns with audible clicks, captioned "birth month: a 12-way key". Footer: "identifies nobody. addresses somebody. it keeps even less than it asks."
SELECT count(*) FROM visits; A counter climbs to 2,700 — "visitors, in three months, came to hear the garage" — and a red stamp fades in under it: — per the paper's abstract. NOT PEER REVIEWED —
In a garage in Chemnitz, the old things started talking.
A typewriter, a radio, a mixer, a rotary phone —
each was given a name and a story instead of a repair.
Walk close and the phone rings — for you.
Pick up, give it your name and your birth month,
and it tells you what the garage remembers,
and where in the city to look next.
UPDATE garage SET narration = story; with its comment: -- repair adds a column. it never restores a row.1.0, 2.02, 2.74, 3.76, 5.40 — a bell owes nobody integers) are the phone ringing, ending in one soft strike as the receiver lifts. At 0:40–0:46, short clicks are the rotary dial turning and spinning back. One final C6 bell chime sounds under the credits. Integrated loudness −17.5 LUFS, decoded true peak −1.3 dBFS.