“Improvisation, instant, high-risk yet immersive”, is my initial impression of live coding after reading “Live Coding Towards Computational Creativity”. 

I think live coding is definitely for those “adventurers who enjoy the adrenaline rush brought by the unknown results”. This is to say, based on the content of the artist’s programming, the content presented by live coding may show strong randomness, which just as the following quote from the article demonstrates,

When I work on writing a piece … I can perfect each sound to beprecisely as I intend it to be, whereas [when] live coding I have to be more generalised as to my intentions.

it makes both the artist and the audience unable to accurately predict the specific output of the programming. 

When doing live coding, artists also need to take many risks, some of which we have already experienced in Tuesday’s class, such as syntax errors in programming that cause output to fail. In addition, as the following quote indicates,

Live Coding is riskier, and one has to live with [unfifit decisions]. You can’t just go one step back unless you do it with a nice pirouette.

Many times we make a complete work with multiple sub-contents through live coding, if one of them is not suitable and we show it, it may destroy the coherence and effect of the whole work. Therefore, I would question whether live coding is completely improvised art and whether it is completely free from the influence of traditional art. Based on my observation in Tuesday’s class, I would presume that live coding artists might have already prepared a rough outline of what they’re going to program before they do the performance so that there is both coherence and consistency in the whole work and randomness in the specifics. In my opinion, consistency and coherence are the characteristics of traditional art. For example, when we live coding music, we still tend to stick to the rhythm and rhythm of common music.

So in my opinion, what really makes live coding different from traditional artistic expression is its performance process, as Aaron said during class, “the process of people programming is as exciting as the output they get from programming”. In traditional forms of artistic expression, works often only focus on one sense. For example, music corresponds to hearing, and paintings correspond to vision. In comparison, live coding allows the audience to enjoy both visual and auditory media, and there are real people editing the production process in real-time, which makes the entire presentation process very immersive.

 

 

If you ask me to define computational creativity, I can only offer general description like “creative behavior or production done by/with the computer,” because it’s just so broad. Therefore, live coding towards computational creativity seemed a bit intangible for me initially. Yet, this article revealed some patterns on my canvas that I can grab for this branch of knowledge, by discussing “whether human live coders can be replaced by software creative agents” (1).

 

Analogy of generative art comes abruptly for me, but I see it as to help clarify what the problem is regarding authorship and creativity. Whether coded behind or coded live, there are people doing creative work iterations. It is time-based and thoughts-based. 

 

What I found fascinating about live coding is that the behavior of “coding” and the code are integrated in the art and performance as a whole. As a result, programming was put on the stage for being thought on and even appreciated. Yet, the code itself is not a production. In the article, this sentence set me into some philosophical thinking: “Their code is not their work, but a high level description of how to make their work” (2). If “how to make their work” can show one’s style, is it somehow also a type of work? In addition, I still kept thinking: in a hyper-digital world, should the programs and principles that lie behind also have equal value with the work they execute? 

 

My biggest takeaway is about live coding’s novelty in production. Somehow, all the quotes indicate keywords like improvisation, abstraction, and spontaneity. The immediacy of coding results highlights spontaneous thoughts, which is different from software development experiences that are slow and arduous. It accepts imperfection and highlights time/present. It is by this that live coding shows value in art and creativity. However, these words sound like alarm bells for me. I’m a person who is used to preparing in advance. I experience work such as Arduino and 3D modeling as “slow and arduous”. Sometimes I also seek perfection and over-think… However, I don’t see them as discouragement for me in live coding. They are just different ways of doing things, and I want to try new things. At least, as one quote says, the “skills and confidence acquired” would last. I really expect to see how my view on imperfection and improvisation would change after this class.

Hello! I didn’t have time to show everything today. I really wanted to show this code but I ran out of time 🙈, so I’m attaching a video here:

This is the code:

shape(2).color(1,1,0.5).rotate(({time})=>(time%360)/2)
.modulate(osc(25,0.1,0.5)
.kaleid(50)
.scale(({time})=>Math.sin(time*1)*0.5+1)
.modulate(noise(0.6,0.5)),0.5)

The points that resonated most with me in this article were AI and creativity. 

First, compared to generative art, live coding can have better connections with audiences. Audiences can see how the code changes with how the graphics or music changes. In this way, audiences can also realize that the live coders are doing something to the codes. The codes are under the control of the live coders, so the coders create and hold the authorship of these codes. 

In fact, there is no difference of authorship between live coded and generative art.

This is what I don’t agree with to some extent in this passage of 2010. Nowadays, “generative art” is bonded with AI or machine learning. These days, some AI image generators become hot topics. By machine learning, the users (now “creators” are absent, except the creators of the tool)only need to input keywords, then the image can be output. Though images generated by programs are hard to define as Art, many people have difficulty separating human paintings from the works of AI. 

This is an image generated by Stable Diffusion.

How to define generative art is not what I want to do now. Whatever, live coding is a performance form combining coding, which is usually put backstage, and improvisation, a representation of creativity. Such a combination makes live coding a unique performance form as the passage goes: make tools (programming) as a creative performance. 

I still wonder what the point of live coding is.The authors seem thrilled by the concept because it resolves an issue of ‘authorship’. In other words, live coding puts the human in a position where it is obvious that they, and not the software. are the artist. I’m not sure if the authors really care about authorship as much as recognition though. Most artists wouldn’t mind a little pat on the back for all the tedious work that led to the final result. But the whole point of art to me is to make the audience wonder about the journey that led to the final outwork. We stand in front of art and think: what does this mean, how was this drawn? And that thinking process, this series of questions, is what we artists provide our audiences. I’m not sure if it’s worth giving that up just so that the audience understands how hard it is to create our art pieces or realize that it’s us and not the software that’s drawing stuff.

 

The article also frames live coding as a novel way of self-expression because of the different notion of time. But I believe these same creative incentives can be reproduced in live performance without the need for risk-taking or literal coding–which I find optimistic at best and elitist at worst considering most people wouldn’t understand the code anyway.

“Live coding has a reputation for being cerebral and over technical, but in reality, at least when compared to other software based approaches, the immediacy of results fosters spontaneous thought”

This particular quote from the reading stood out to me. I believe that the art of live coding lies in its unpredictable and dynamic nature. The performer writes a line of code which produces a result, and builds upon this result to produce sounds and visuals that are constantly changing. The performer can go into the live coding performance with a goal in mind, but there is no guaranteeing that everything will go perfectly as planned. This is a huge contrast to other forms of coding where the most important part is the final result, as opposed to live coding, where the process is just as important.

“There is no such confusion with live coding, there is a human clearly visible, making all the creative decisions and using source code as an artistic medium”

The author also touches on the idea of human live coders being replaced by software creative agents. I believe the most important part of live coding is the human aspect – the possibility of making mistakes, dynamic thought, personalised workspaces and so on all contribute to the artistic nature of live coding. Without the human, live coding ceases being creative. The process no longer matters and only the end result is judged.

“Live coding is a way of improvising music or video animation through live edits of source code, using dynamic language interpreters.”

Is this a universal definition of live coding? Is it a new discipline at all? I found this cool website that talks about the history of live coding and performance.

One resonating idea throughout the reading — to what extent a human is a real artist in computational creativity? What would happen if an A.I. algorithm were to replicate a human in a live coding performance? Has this been done before?

What in my opinion live coding embraces greatly is the affordability of mistakes. It is the spontaneity that is born with experimentation on the spot and embracing imperfection that gives a unique spike to each performance.

There is no such confusion with live coding, there is a human clearly visible, making all the creative decisions and using source code as an artistic medium.

A programmer making generative art goes through creative iterations to, only after each edit they have to restart the process before reflecting on the result. This stuttering of the creative process alone is not enough to alter authorship status.

What live coders themselves have to say about their art is what’s the most interesting in the reading. One can infer a great deal about their bold character and adventurous work style has given many rounds of iterations, experimentations, and failing that they have to go through before giving THE performance.

What has been said about personal style and the design process of their own language reminds me of what Richard Hamming says about style in his “Learning to Learn” lecture:

“There is no one style which is successful. Painters paint many different styles. You have to find a style that fits you. Which means you have to take what fragments you can from other people, use them and adapt them and become yours.”

What I am taking away from this paper: Live coding means that there is beauty in imperfection that is born on stage during the performance. Live coding music ⇒ music that “could be understood in a novel way”. This is not electronic music, neither it is music created by an algorithm; it is a collaboration of human, chance, and code.