Blog
Notes on museum technology, digital-art conservation, reverse engineering, and the infrastructure that holds it all up. Mostly things I wanted to read and could not find.
2026
The QL-700 switches itself off after 60 minutes and Brother only ships that setting as a Windows dialog. Here is how I pulled the USB command out of the driver binary, on Linux, without running Windows once.
Our motorised gallery spotlights could only be driven from a vendor app. Getting a script to move them took a Bluetooth-mesh protocol, a camera pointed at a lamp, and one very stubborn bug that turned out to be two characteristics swapped.
Tale of Tales' 2001 net-art piece Eden.Garden 1.0 has been jointly acquired by SFMOMA and ZKM — a browser-based work that grows a digital Eden out of any website's HTML.
128 dependency changes — Flash blocked, Pulse 3D gone, the <blink> tag removed — mapped against the eleven thousand net artworks they broke. A public timeline of why digital art dies.
I gave two talks at this year's Gulaschprogrammiernacht in Karlsruhe: one on the software that keeps a museum switched on, one on how a multi-year browser-art research project became a ZKM exhibition. Both are recorded.
A €5/month Hetzner Webhosting plan gives you mailboxes and nothing else — no LDAP, no SCIM, no API. So Authentik can't plug into it. So I wrote a tiny OIDC IdP that does IMAP LOGIN on the back.
A cast of AI agents, twelve days on an LED wall at ZKM, and what I learned about getting them to put on a show.
I needed a clean travel-route map for a slide deck. Google Maps screenshots are ugly, Mapbox is overkill. So: a one-evening Leaflet tool that exports SVG.
Notes from the Software Engineering and Digital Art Conservation workshop in Amsterdam, plus a couple of days at Li-Ma for Transformation Digital Art 2026.
How to keep Flash, Pulse 3D, and Java-QuickTime artworks running autonomously in 2026: don't maintain the software, snapshot the operating system and revert on every fault.
Pi-hole was almost the right shape, but a museum network has more than one set of users. So I built filterdns: per-profile DoH/DoT/legacy DNS, with self-service.
Why I built a caching proxy for the Wayback Machine, and how it kept a browser art exhibition running when the Internet Archive went down.
What to expect from this blog - museum tech, self-hosting, AI experiments, and random tinkering.