Changing the system: A commentary on Marije Baalman’s Keynote at ICLC 2023
Reviewer: Mel Laubscher
Keynote address on YouTube (ICLC Streaming) 2:46:14
Marije Baalman delivered the 2nd keynote address at the ICLC 2023 Utrecht event that expanded on her 2015 article titled “Embodiment of Code.” Baalman, an expert in the field of live coding and a prolific artist, built on these ideas to deliver a talk that highlighted interesting and necessary thoughts challenging the audience’s perspectives on the relationship between code and the human body. Her talk, titled “Thinking Inside the Box: Instant Composition, Folded Structures and Beyond the Screen“, was not only informative but also thought-provoking and delivered with incredible finesse. In this article, I’ll explore some of the key moments from Baalman’s keynote and touch on those which she presented in her 2015 article to see how these ideas have been expanded upon.
Marije Baalman, an artist and researcher based in Amsterdam, works in the field of interactive sound and light and creates works that incorporate live coding techniques to explore the relationship between the human body and machines. Her works Wezen and the machine is learning are prime examples of how she performs these experiments, and in particular explores how theatrical gestures can be mapped to create and perform sound events in real-time. She has also contributed extensively to numerous chapters in The SuperCollider Book and, for the most part uses SuperCollider as her main tool for creating her work.
Embodiment of code
Before I can discuss Marije’s talk I want to go back to her 2015 article Embodiment of code in order to understand some background and context for the talk. While watching Marije’s talk I couldn’t help but wonder what she meant by “Embodiment“?” One of the criticisms of live coding is that it cannot be an embodied practice as there are no gestural aspects in live coding. I have encountered such criticisms from performers who view live coding as merely writing a program that requires no creative thinking – that there is no real skill involved beyond the technical programming skills. In the context of live coding, Marije defines embodiment as “the physical interaction of our body with the machine” and how the paradigm in which a live coding language is written tends to inform how we think and approach live coding in general.
While the idea of “code embodied by the human” seems as straightforward as simply typing code into a machine, there are far more complex processes at play when one is live coding. Particularly when additional gestural input is added to a performance independent of typing, in the form of bodily gestures – such as those that Marije uses in her work Wezen. While I find this work incredibly interesting, I was more drawn to her work titled Code LiveCode Live. I noticed while Marije was playing this during her talk there was something quite interesting that I needed to confirm for myself. I couldn’t be at the event in person and rewatched her talk on the ICLC’s YouTube channel instead. Since the event was live-streamed there were certain details I seemed to be missing, however I was able to confirm through an archived recording that Marije uses the sound of her typing while live coding as the audio input – which she then live codes as the performance progresses. She also mentions this in Embodiment of code. I found this to be quite an interesting approach one that shows such innovative thinking toward creating new approaches for expressing creativity. I also admire the sheer speed with which Marije can type code in SuperCollider in order to create such a compelling performance.
Show us your screens – Baalman’s perspective
Something that comes up in almost each discussion regarding live coding is the community’s Show us your screens mantra. It was interesting to hear what Marije’s thoughts on this during her talk. It has already been 20 years since the introduction of the practice, yet it still is, and will likely remain an essential part of the live coding community. We know that being able to see into the performer’s mind is essential to live coding as it not only enables us to understand the process, but it also speaks to essential ideas which we attempt to adopt in everyday life and in our societies with varying degrees of success. Democratisation, freedom and organization are three ideas we encounter in live coding, and in everyday life. By being transparent with the process by which we create our work, we are enabling those around us to gain access to information that truthfully is not something that we see in mainstream media, generally in the music, but particularly in music production. There is also great freedom in improvisation in live coding, where we are not bound by strict rules, but rather have the option to create our own boundaries and constraints as we see fit. Similarly, organization or structure is determined through these constraints we set for ourselves and unfolds throughout a performance.
Entangled in the loop
Marije speaks to all these ideas during her talk and calls for further discussion and expansion of the current manifesto that introduced these ideas in the first place. What I found really interesting was how Marije spent time explaining what the live coding process might look like for some. She describes this in full detail in Embodiment of code and briefly during her talk, but I feel it necessary to mention here that the process which she describes in the article is not dissimilar to what a democratic process could look like in the real world. In the article she titles this process as The human body and the machine, which involves interacting with mutilple aspects of a system, in this case a computer system. During her talk, however, she refers to this interaction as being Entangled in the loop. This formed the focal point of Marije’s talk, where she discussed this relationship between the human body and the machine. To encompass all her talking points she used the term “thinking inside a system,” broadly referring to the constraints one implements to create the boundaries of a system. After she introduced the process of the body interacting with the machine, she goes on to define how constraints, features and expressions can be defined in the context of live coding. These are described as limitations, which are features themselves and are necessary to provide some sense of order within the system.
Furthermore, she goes on to present another key point in relation to the live coder’s relationship with their machine, that of the Creativity of the programmer. When I think of Creativity of the programmer, I think of my own encounters with live coding and, in particular, Digital Audio Workstations (DAWs). Being able to express my creativity in ways I’d never imagined before is what enticed me into getting involved with and teaching myself how to live code. There is great flexibility in being able to determine which parameters you would like to work with, and I feel that is what live coding is and what DAWs are not. Her point concerning commercially available software highlighted an often ignored aspect of the music industry in that it continues to view those who use commercial software as more creative than those who make the software. Live coding has brought forward an alternative way to embody the role of the artist in the form of artist-programmer, showing that it is possible to combine technical skills and knowledge with creative thought.
Finally, Marije directly addresses the ideas presented in the title of her talk: Instant composition, Folded structures and Beyond the screen. Instant composition is defined as the intent to create something in the moment with an audience present, which in turn addresses the act of improvising. She brilliantly compares this to improvisation in other contexts – I think of jazz improvisation – where the structure of a performance is always only contained in the performer’s mind and only unfolds as they perform. This is also true of live coding, however, due to implementing screen projection during a live coded performance, we have clearer insights into what the structure of the work is at any given moment. When Marije talks about Folded structures in live coding she refers to the structure only being apparent as the performance unfolds – this refers to the “liveness” of a live coded performance similar to the “liveness” of an improvised instrumental performance. The difference with live coding is that the live coder is able to alter this structure at any point during the performance which ultimately can result in a number of different iterations of what might be possible with a few predetermined constraints, limitation or features. In the moment this is what live coding feels like – like “creating alternate futures” to borrow the term used by Marije in her talk.
Live coding and pre-composed material
If I had one criticism it would be that Marije didn’t talk long enough, even though the session was almost an hour long! I was genuinely captivated by her talks and the ideas she presented, as well as her willingness to express that although the community has an enormous amount of output thus far, we constantly need to be in search of how we can take what we currently have and push those boundaries even further. I will say, however, that as someone who is still coming into exploring their personal aesthetic as a solo live coder, I do not fully agree with the idea that performing pre-composed material is not considered to be live coding. Unlike Marije, I do not use SuperCollider as my main tool for performance, but I do use Tidal Cycles. While these languages utilize different paradigms and require a different mode of thinking, I do not think that writing code to be performed at a later stage should be disregarded as not contributing to the process of live coding. Coming into the community, I was introduced to the live coding through collaborating with others and recently, having more time to experiment on my own, I have found it challenging to create performance experiences that equal those I’ve been able to create with others. But as Marije herself mentions in her work, we all have a particular way of working to achieve a desired outcome. How we arrive there is a unique process for each individual person. My hope is that I too, like Marije, will be able to develop masterful typing skills that I truly admire.
A metaphor for changing systems
Overall, Marije’s talk ultimately highlighted one important aspect to me – that live coding can be seen as a metaphor for changing systems. Especially those that do not operate to benefit the greater majority. In Marije’s own words: “You can change the system”, I find inspiration to keep engaging in conversation with those in the live coding community, and to explore how we can continue to create a space where knowledge is shared, tools are increasingly accessible and community is prioritized above all. Since we know how we can begin to change systems by engaging in live coding, how can we do this in our everyday lives? Marije phrased this eloquently during her keynote: “…we should demand transparency and openness and oppose the technocratic dogma that only experts can code (anyone can), that the algorithm makes no mistakes (humans do) and that machines are intelligent (they are not, they just follow instructions).”