projects

Keeping up with AI

The panel discussion at the 13th edition of “Villa Wild” is the heart of the performance. It is transcribed and summarized in real time by a series of artificial intelligence systems. Every 50 seconds, automatically generated visualizations of these summaries are projected onto a screen, where they serve as inspiration for a live drawing performance by Sebastian Magnus. The dizzying pace of the images generated by the artificial intelligence makes it difficult for the artist to keep up, resulting in a chaotic, surreal, and emotional work.

The relentless output of the machines serves as a drastic reminder of their ability to process and produce vast amounts of data at a speed that exceeds human capacity by far. However, it also demonstrates their inability to fully cover the nuances and complexities of human expression. The human element in the piece, Sebastian Magnus, continuously resists the regimented and never-ending flood of AI-generated images.

( whisper, gpt3, stable diffusion, 2023 )


berganza.live

In 1814, the text “Nachricht von den neuesten Schicksalen des Hundes Berganza” (News of the latest fates of the dog Berganza) by the writer, composer and illustrator E.T.A. Hoffmann was published. It is a satirical art conversation between a first-person narrator and the talking dog Berganza.

Hoffman chose a dog as a conversation partner because he wanted to provide an outside perspective on human culture. In the same way, large language models, such as the one used for the chatbot, can act as non-human interlocutors, providing an outside perspective on humanity without having any human motivations, needs, or desires of their own.

Sebastian Magnus and me created the artificial intelligence-controlled chatbot berganza.live. It is based on conversations between the dog and Hoffmann in the second edition of Hoffmann’s original text from 1819.

( python windows / linux, 2022 )


culinary coding

Consider the following analogy: Code describes a computational process with a particular output just like a cooking recipe describes the preparation of a particular meal.

This analogy can help to approach programming from a new angle. It connects three concepts: 1) the intended result or product of 2) some causal process between a limited set of elements and 3) a description of this process that enables its recreation.

programmingcooking
resultoutputmeal
processexecutionpreparation
descriptioncoderecipe
equivalents in the analogy between programming and cooking

In both cases, planning usually starts with the intended result (e.g., “I want crème brûlée”). This enables considerations on processes and elements that generate this result (“What are the ingredients and what do I need to do with them?”). An explicit description of these processes (“Get milk and bring it to a boil.”) eventually enables their recreation and with them the deliberate generation of the intended result.

To beginners in cooking and programming alike, the intended result might be more or less clear (“I want Shepherd’s Pie” or “I want a program to do my taxes”). For newcomers to programming, however, the difference between computational processes and the code that describes them is rather vague. Even if they know there’s a difference, the exact relation between code and executed processes (i.e., what code means to the computer) is often what’s missing.

In cooking, on the other hand, even the most inexperienced novice understands not only the difference between the preparation of a meal (i.e., the process) and its recipe (i.e., the description) but they also know the exact relation between both (i.e., what a recipe means to the cook). There is a cultural familiarity with the relation between instructions in a recipe and what actions the cook is supposed to perform according to them. This exposes a fourth element in the initial analogy: The computer interprets code just like a cook interprets a recipe.

programmingcooking
interpretercomputercook
another equivalent

This knowledge can be leveraged to help understand the relation between code and computational process. If you know how to describe the preparation of a meal to a cook, then I can show you how to describe the same thing to a computer. You already know what it is supposed to do, so you can start understanding how to describe that to the machine.

If code describes the preparation of a meal to the computer as if it was the cook, then people without any prior knowledge of programming are able to understand what the program is supposed to do, relate the instructions in code with their according computational processes, and determine if the result is what it is supposed to be.

Procedural Cuisine is a Rosetta Stone to help people that already understand the language of cooking to also understand the language of computers.

in progress…

( python windows, since 2022 )


neussy

motivated by the lack of variation on extremely small and extremely large scales in randomly generated virtual worlds (e.g. Minecraft), a novel noise generation algorithm is devised.

the algorithm enables the generation of scale-invariant natural structures with arbitrary levels of detail. these structures can be employed for the procedural generation of all kinds of conventional content (e.g. natural textures, three-dimensional terrain, the simulation of pseudo-random real-world processes).

natural objects have structure at any scale. it turns out that scale-invariant noise is a powerful tool to generate such structures computationally. with the right framework, different projects can showcase various philosophical perspectives on reality.

among these projects is an interactive installation in which participants use a vr headset to immerse themselves in a noisy virtual reality.

( python and unity on windows, 2019 )


procedural kinetics

this project explores kinetic aesthetics in the abstract domain of computational data structures. the processes there are not constrained by the rules of physics but rather by the rules of object-oriented programming languages. these languages draw from a pragmatic understanding of the world. their laws, however, are considerably different from the classical laws of motion.

despite this difference, computational processes can express something particularly kinetic. two different working hypotheses have emerged: the first one investigates procedural motion as a simulation of physical motion, the second one as a generative art whose motion is exclusively procedural.

( python on windows, since 2018 )


intentional / accidental

an ordinary android smartphone is modified so that every time the display is turned on, it takes a picture with the front camera and a picture with the back camera without notice to the user.

although the system was deliberately designed and set up, the natural presence of the smartphone in the daily routine and its frequency of use makes it almost impossible for the user to remember this. as a consequence, the resulting images can hardly be seen as an attempt to put someone or something into the spotlight.

both works relate physically to one another, each using one of two cameras that point in opposite directions. this difference between two almost identical technological tools gives substance to two ideas that are expressed under two equally antithetical degrees of human influence.

( tasker on android, 2013–2020 )


symbol grounding as the generation of mental representations

a truly intelligent system must be able to generate its most basic concepts autonomously, without help from an instructor. to establish such a system requires a lot of philosophical groundwork that mostly revolves around the following question: can artificial concepts be actual concepts?

this question touches on the philosophy of mind, semiotics, the cognitive sciences, and, last but not least, machine learning. its answer is not only of theoretical use, but also provides a practical, workable system.

a system that creates its own concepts would be completely independent of human ideas that might require a human body and the accompanying sensorimotor apparatus. it could learn to solve problems in environments that the human mind cannot even conceive of.

( latex, 2011–2018 )