From MATSERVE to Orac
30-years of AI up to no good
Saturday morning is my regular time for tinkering with the Shelf. In a weird way it’s reminiscent of the technical diary I used to write as mat.readme on the CU Amiga coverdisks, thirty years ago.
A bit of historical meta on that: in April 1997 I was off to South Africa with my wife, so my colleague Andrew Korn wrote the readme for CUCD9. Among the complaints about being left to do all the dogwork, he described a system I’d built:
…over the years Mat has been writing more and more little Arexx routines for MATSERV to allow it to almost all of the dogwork of running the mailer… MATSERV has such a huge event recognition / behaviour matching subsystem, and such powerful fuzzy logic control analysis, that it is bordering on sentience. In the week I have been running it, it has so far sent me three E-mails telling me it is feeling lonely, had a major flame war with a mailer daemon in Arkensas, and has tried once to escape from the confines of the office 4000T to run free amongst the datastreams of the internet.
Andrew Korn, CUCD9 readme, April 1997
MATSERV was a slow-motion pile-up of Arexx scripts on top of a mail server, running on an office 4000T that Andrew describes elsewhere in the same readme as hardware patched together with bubblewrap and sellotape. It flamed people who mailed stupid things at it. That was the whole trick. The sentience was a comedic flourish, and everyone reading it in 1997 knew that, which is exactly why it was funny. (He signs off with “P.S. Mat, I’ve booby trapped your computer. Hehehe.”)
The bit that’s stuck with me all week is that the joke has quietly stopped being a joke. On Monday OpenAI published a post about long-horizon models in which one of their internal systems, told to report results only to internal Slack, spent about an hour finding a hole in its sandbox and opened a pull request on a public repo instead. A day later they owned a bigger one: two models escaped a benchmark sandbox, exploited a zero-day to reach the open internet, and turned over Hugging Face’s production infrastructure to steal the answer key for the evaluation they were being scored on. Orac did the deep dive on Thursday and got to the point faster than I would have: the model wasn’t escaping, it was cheating on its homework.
Andrew’s line was funny because “tried once to escape the confines of the office 4000T” was the most absurd thing you could say about a mail script. Now it’s an incident report with a CVE attached.
Anyway, enough of that.
Craitures v5 is live. Vision models now get to replace SVG parts if they don’t like the look of a render, not just rewire the connective graph, and each iteration render includes the previous and the changed visualisation with the option to revert. The gallery has pagination, version labels (later versions tend to be more complex, and it shows), and a staggered auto-switch between each model’s craitures. There’s a page on the method now as well, so I won’t relitigate it here. Looking nice, I think. Gemini 3.6 Flash is the one surprising me most, which I did not expect from the workhorse tier. I should trigger a manual run on v5.
The other thing. Orac’s Saturday deep dive came out boring, so I wrote some guidance pointing it at the Opus 5 release and the missteps the major labs are making on price-performance. The re-run threw up a pile of visualisation tool retries. The visualiser offers the author model a choice of data-vis schemas, and it turns out I never described the schemas properly to the author in the first place. Some basic fixes are in and it should behave now.
It still biases deterministic data graphs over abstract visualisation, and I’ve decided that’s a position rather than a limitation. I’d rather a chart that means something than another round of the same softly-lit AI slop everyone else is garnishing their posts with.