.abstraction()

Exhibitions

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