Golan Levin

Golan Levin

@golan.bsky.social

Artist, researcher, educator, instigator. Chaotic Good.

4.6K followers158 following216 posts

Pinned

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

Golan Levin reposted

Golan Levin reposted

Replying to @loackme.bsky.social

frames assembled with #Plottimation, courtesy of @golan.bsky.social bsky.app/profile/gola...

Golan Levin@golan.bsky.social

I'm pleased to announce #Plottimation 1.0, a free online tool for automatically generating animated GIFs from casual photos of #penplotter frame-sheets! Live software: golanlevin.github.io/plottimation/ Source code: github.com/golanlevin/p... Demo video: www.youtube.com/watch?v=MOXB...

I'm pleased to announce the release of a browser-based tool for viewing, reconstructing, and exporting 3D data from a GelSight Mini tactile sensor. This unusual $500 device connects like a regular webcam, but can be used as a depth-scanning microscope for surface texture: github.com/CreativeInqu...

Golan Levin reposted

we built a tool to traffic private jet emissions during the world cup and other events. it's pretty bad 🤮

Tax Private Jets@taxprivatejets.org

136,000 tons of CO₂ — the cost of flying private jets to this year's World Cup. We enlisted @kcimc.bsky.social to track every flight: Atlanta 2.5× normal, Miami 2×, NYC final already +70%. Billionaires pay less tax to pollute more. Open data + how to act → TaxPrivateJets.org

@laserpilot.bsky.social Blair — I thought you might enjoy <3

Golan Levin@golan.bsky.social

I'm thrilled to announce another liberated device: A fully open-source interface to the remarkable Sensel Morph touchpad (2017), featuring OSC, Syphon, and WebSocket transport in both Processing and Python. github.com/CreativeInqu...

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

As a postscript, I feel obliged to mention that cracking the Morph involved disassembling a Windows binary, and that I don't know shit about how to do that. As conflicted as I am about AI, part of my wonder here is how it can help us recover what's slipping away, instead of recycling what isn't.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

I'm increasingly interested in how reverse engineering can be a form of cultural stewardship. Every abandoned instrument, sensor, or HID controller contains knowledge that can disappear long before the hardware itself fails.

I can't look away from these lost interfaces. I want to document them carefully and return them to the commons before they disappear: to empower artists, preserve public knowledge, and keep capable hardware out of landfills.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

The Morph is one of the most expressive pressure-sensing interfaces ever made. Unfortunately, Sensel effectively abandoned its SDK by 2020. Even worse, they used closed-source decompression code in its USB protocol. As operating systems evolved, the Morph was effectively condemned to become e-waste.

My work fully restores open access to the device, providing the first completely open-source implementation of the Sensel Morph's raw pressure data pipeline. It provides full access to device data over OSC, Syphon, and WebSockets, via both Processing and Python — without requiring the original SDK.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

The Sensel Morph offers a 185×105 pressure image (with ~14 usable bits of dynamic range); up to 16 contact ellipses; and a labels image with temporally coherent tracking IDs. It even has a 3D accelerometer. It transmits all of this data at up to 150 Hz, depending on settings.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

I first learned about the GameTrak from @rebeccafiebrink.bsky.social around 2016? in one of her influential Wekinator workshops. Rebecca has cut the path for demonstrating how expressive controllers like the GameTrak, coupled with machine learning, can serve musical inclusion and exploration.

The Gametrak is a wonderful controller but unfortunately does not behave like a normal RS232 or HID device. It only streams useful data after a shibboleth: ASCII `Gametrak`, then `45 23`, then periodic `46 XX` keepalives where XX is generated by a rolling key algorithm handshake curse. Now you know.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

Today I liberated the GameTrak (c.2004), an unusual 3D sensor featuring two XY joysticks with retractable tethers. It’s ~$20 on eBay and very expressive: 6 channels of 12-bit data at 75Hz. It now emits data for #Processing and #p5.js over OSC, MIDI, WebSocket, and stdout. github.com/CreativeInqu...

Others have been here before; a handful of artists have used it in Max/MSP, and my effort built on libgametrak, an older C library by Géry Casiez. My contribution was to create and publish a collection of shims for popular creative coding protocols, inclusing OSC, MIDI, and WebSockets.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

This evening, building on the work of others, I helped liberate the TEMP_er1 USB temperature sensor. This is an inexpensive (~$25), unbranded, white-label HID device that does one thing well. Now its data stream can be accessed in Python, #Processing, and via OSC. github.com/CreativeInqu...

I find myself strongly drawn to reverse engineering for the public good. It not only empowers others (a student could use these devices to "make an interactive installation that responds to the temperature/wind", etc.); it also can give this crap a new life, hopefully outside of a landfill.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

View full thread

To the best of my knowledge, the data streams produced by the MS6252B anemometer have not been documented by the manufacturer or elsewhere. Reverse-engineering the data streamed by the device took about 30 minutes with Codex.

I'm gonna keep a small diary of my reverse engineering work in this thread. Basically, I'm finding obsolete, poorly documented, and/or poorly supported sensing devices, and getting them to produce legible open data for my Creative Coding and Experimental Capture students.

On a reverse-engineering streak, and pleased to present many new additions to my archive of monoline fonts —including 40+ decompiled AutoCAD SHX fonts; the Tektronix 7000-series oscilloscope display fonts; and Glen Kleinschmidt's Fourier Synthesis Character Generator. github.com/golanlevin/p...

View full thread

Plottimation also works with other types of frame-sheets, such as risographs! The great Kelli Anderson has kindly provided some of her riso frame-sheets for Plottimation's demo bundle.