Exhibitions
- 2023 jan 01 – jul 16 : Exhibition at “Coderen: Ambacht van de 21ste Eeuw”, CODA, Apeldoorn NL
- 2024 jul 06 – aug 25 : Exhibition at “Hoe = Het Nu”, ACEC, Apeldoorn NL
About
Abstraction is an interactive live coding installation that introduces the visitor to the world of creative coding, open source systems and free culture. A system consists of many layers (abstractions) with different functionalities that work together. Every function can operate on its own and has an input, transformation and output. But by combining their functionality can generate an output that is complexer that the sum of its parts. By making use of various open source libraries and frameworks an (artist-)programmer can develop their own systems.
abstraction().minified()
abstraction().minified() is a smaller version of the original installation. It is a “single player” version with one controller and using a little screen instead of a projector. The installation can be mounted on the wall as a picture together with the controls.
read further below below images












With this installation two visitors can “code” image and sound together. By twisting the knobs on the interface the code on the screen can be adjusted. If the users synchronize their interaction they can create a more complex imagery.
The whole system in this installation is open. The software runs on a RaspberryPi and the electronics are controlled via an Arduino, both micro-computers developed with the goal to democratise technology and make it more accessible. The application is written in Javascript and HTML (the “languages” of the internet) that runs on Linux OS. The installation uses various frameworks such as NodeJS, p5.js (a JavaScript creative coding library created by Lauren Lee McCarthy and developed by a big community) and Hydra (a live coding visual synthesizer created by Olivia Jack).
Abstraction is the process of removing non-essential information and generalising to exposes fundamental structures. An abstraction connects underlying processes into a group. The term abstraction finds its way through science, mathematics and art and the process of abstraction is an important aspect that characterizes our intelligence to recognize patterns and make connections between seemingly arbitrary things.
abstraction().minified() is a smaller version of the original installation. It has a single player controller. The RaspberryPi is used again for the installation, but extended with a 3.5″ LCD screen mounted on it for displaying the visuals. The controller is made with a Lolin ESP32, allowing the visuals to be controlled wirelessly via a local network setup in the RPi. Both the RPi and Controller are housed in a lasercut casing engraved with a design generated from the images produced in the installation.
Github
The code for this installation is on github: https://github.com/tmhglnd/abstraction
The code for the minified version is on github: https://github.com/tmhglnd/abstraction-minified
Frameworks
- Raspberry Pi
- Raspberry Pi OS (Raspbian)
- Chromium Browser
- Arduino Uno
- Wemos Lolin EPS32
- HD44780 LCD created by Bill Perry
- OSC For Arduino created by Yotam Mann and Adrien Freed
- NodeJS
- Node Package Manager (npm)
- ExpressJS
- Socket.io door Automattic
- Process Manager 2
- p5.JS created by Lauren Lee McCarthy
- Hydra Synth created by Olivia Jack