# Performing Code{s} ### About the lecturers Joana Chicau is a graphic designer, coder, researcher — with a background in dance. She interweaves web programming with choreography — from the making of online platforms to performances or workshops. In parallel Chicau co-organizes events involving multi-location collaborative coding, algorithmic improvisation, discussions on digital equity and activism. She is currently an associate lecturer and PhD candidate at Creative Computing Institute at the University of the Arts London (UAL). * [Joana Chicau Link to portfolio website;](https://joanachicau.com/) #### Round of introductions ‧₊˚✩彡 * Your preferred name and pronouns; * Your interests and curiosities in joining the course; * Anything extra you would like to add about yourself. --- ### Course Description In this course we will collectively analyse the theory behind artistic projects and approaches. We will engage in a series of practical explorations using algorithmic processes and programming languages (JavaScript) for performing a sequence of actions. At the end, students will present their works in a WIP show. #### Timetable * 15th Dec, Monday: 9h30-11h and 13h-17h00 * 16th Dec, Tuesday: 9h30-13h and 15h-17h30 * 17th Dec, Wednesday: 9h30-13h * 18th Dec, Thursday: 9h30-12h30 and 14h-17h00 * 19th Dec, Friday: 9h30-11h and 13h-14h30 Plus 6 hours self-directed study time. Prerequisite is at least 80% attendance and active participation in the module, as well as implementation of an own project. #### ZOOM LINK Join Zoom Meeting: https://hslu.zoom.us/j/7221936243?pwd=Ty9MU3dnUHBsZEd2U3N0UEp5Mno5dz09 --- #### CoC Introduction to code of conduct, in this session we will follow terms of participation of UAL's Creative Computing Institute (MA Internet Equalities), please take a minute to read it. * Have fun! ♪┏(・o・)┛♪┗ ( ・o・) ┓♪ * Be respectful; * Listen and contribute authentically; * Reserve judgment; * Be mindful of sharing the conversational space / share the mic; * Racism, sexism, and other discrimination will not be tolerated; --- ## ::: Session 01 ::: Performance & Performativity > Imagined, repeated, performed, inherited, compelled, inscribed, worn, shrugged, deconstructed. > Iterative and disciplinary. > Laws and norms. > Power and repetition. > These are key terms to understand performativity. To which I'll add consequence and risk. [— Emily Roysdon](http://intermsofperformance.site/keywords/performativity/emily-roysdon) #### ..⌒-→ Exercise 1.1: Collective Reading & Note Taking ⏰ 60min → LINK to exercise: [here!](https://pad.riseup.net/p/HSLU-performing-codes25-keep) References: * [Text on Performativity by Malik Gaines](http://intermsofperformance.site/keywords/performativity/malik-gaines); * [Excerpt from essay on Performance and Performativity](https://ificantdance.org/); * [Text on Performativity by Judith Butler](http://intermsofperformance.site/keywords/performativity/judith-butler) _Further reading:_ * Read more on Performative Speech Acts and 'John L. Austin who coined the term "speech act" in his book How to Do Things with Words' [Source Wikipedia.org.](https://en.wikipedia.org/wiki/Speech_act#Performative_speech_acts) * Read more on the context of Performativity in the arts at [walkerart.org]( https://walkerart.org/collections/publications/performativity/performativity-and-its-addressee/) * [Source Matteo Pasquinelli, Three Thousand Years of Algorithmic Rituals: The Emergence of AI from the Computation of Space](https://www.e-flux.com/journal/101/273221/three-thousand-years-of-algorithmic-rituals-the-emergence-of-ai-from-the-computation-of-space/) #### ..⌒-→ Exercise 1.2 🍲 🥕 take a picture of an instruction you find over the lunch break. ### Scores & Scripts <span style="color:blue; font-size:10pt">language | </span><span style="color:blue; font-size:10pt"> performance | </span><span style="color:blue; font-size:10pt"> rules | </span><span style="color:blue; font-size:10pt"> co-creation | </span><span style="color:blue; font-size:10pt"> repetition | </span> Depending on the discipline, notation practices can take different forms: > '...colloquial use for various note-making practices, to other forms of score, script, recipe, or diagrammatic map, to the development of a formalised notation system with its own clearly defined inner logic' (Blackwell,2022). ![Screenshot 2025-11-03 at 16.02.17](https://hackmd.io/_uploads/r1t8GUUJZe.png) Source: [Scores & Scripts - a Bestiary of Intents](https://www.ppig.org/papers/2017-ppig-28th-church/) by Joana Chicau and Luke Church, 2017. > “Perhaps the most common way to define an algorithm is to describe it as a recipe, understood as a step-by-step guide that prescribes how to obtain a certain goal, given specific parameters. Understood as a procedure or method for processing data, the algorithm as recipe would be analogous to the operational logic for making a cake out of flour, water, sugar, and eggs. Without the specific instructions for how to mix the eggs and flour or when to add the sugar or water, for instance, these ingredients would remain just that. For someone who has never baked a cake, step-by-step instructions would be critical if they wanted to bake one. For any computational process to be operational, the algorithm must be rigorously defined, that is, specified in such a way that it applies in all possible circumstances.” (Bucher, 2018, p. 21) ![Screen Shot 2023-12-12 at 12.28.29](https://hackmd.io/_uploads/SyrwzRBL6.png) * Source: [Score for Performing User by Lauren Lee McCarthy](https://criticalcode.recipes/contributions/score-for-performing-user) ![Screenshot 2025-11-03 at 16.10.37](https://hackmd.io/_uploads/HkLmN8L1-l.png) > 'Chef is not just a theoretical system that equates cooking and coding. Specific choices were made in mapping the two systems together, and the aesthetic of a multicoding language is defined by that mapping and the constraints it creates for its programs.' - [Source and Example of Code Recipes for the Chef](https://esoteric.codes/blog/chef-multicoding-esolang-aesthetics) ![Screenshot 2025-11-03 at 16.12.28](https://hackmd.io/_uploads/r1-3ELLybx.png) > 'Between Classical Chinese (or Wényán), the written form of Chinese used from the 5th century BCE to the early 20th century and computer code. the Hello World actually prints (you can see it between the quotes 「「 and 」」) translates not to "Hello, World!" but closer to "Greetings to Heaven and Earth."' * See poem 99 Bottles turned into a [program in Wenyan-lang interpreter](https://esoteric.codes/blog/wenyan-lang); <!-- ![Screenshot showing instruction - Slow down your cursor movement until it's almost paused](https://hackmd.io/_uploads/SJK8OrhN1e.png) * Source: [Choreographing You by Joana](https://re-coding.technology/choreographing-you-web/) --> #### ..⌒-→ Exercise 1.3: Create your own language 'code'! ⏰ 20min 1. Think of a task that you have 'performed' today or yesterday (in particular a task that involves a certain level of "repetition"). 2. *How would you tell a computer to perform that same task?* Write a piece of code that tells how to perform that task more efficiently. 3. Share this task in the [etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep); alongside a short explanation behind the making of this task. Also, add any relevant comments to the source code file that helps better understanding it. **Further readings:** * [Random recipe | Olivia & Stine ](https://gitlab.com/OliviaSP/ap2020/-/blob/master/public/MiniEx8/README_MiniEx8.md) * [Esoteric Coding](https://esoteric.codes) * [Critical Coding Cookbook](https://criticalcode.recipes/): Intersectional Feminist Approaches to Teaching and Learning * An example of a working app [Cooklang – Recipe Markup Language](https://cooklang.org/) * Related: [CPU Dumplings by Taeyoon Choi](https://taeyoonchoi.com/poetic-computation/cpu-dumplings/) ### Study Cases & Examples: > "Fluxus was an international, interdisciplinary community of artists, composers, designers and poets during the 1960s and 1970s who engaged in experimental art performances which emphasized the artistic process over the finished product. They produced performance "events", which included enactments of scores, "Neo-Dada" noise music, and time-based works, as well as concrete poetry, visual art, urban planning, architecture, design, literature, and publishing." [Continue reading](https://en.wikipedia.org/wiki/Fluxus). ![Screenshot 2025-11-03 at 16.18.54](https://hackmd.io/_uploads/HyzvUUL1We.png) * Source: [What Programming Language Would Yoko Ono Create?](https://esoteric.codes/blog/what-programming-language-would-yoko-ono-write) * See more examples: [Fluxus Workbook](http://fluxus.lib.uiowa.edu/resources.html) > "The foregrounding of notation in the form of a code or rules extends the legacy of Fluxus scores and conceptual art instructions and the prevalence of algorithmic procedures within computer art, where code or rules become generative strategies for producing outcomes potentially autonomous of artistic control or agency." (Blackwell et all, 2022, p.133) #### ..⌒-→ Exercise 1.4: In groups analyse one of the references below, and write reflections on the questions: * What is the score? * Who is the performer? * What role does language play in the artwork? * How do you think you can apply or relate the ideas and themes presented in the texts to your own artistic practice? **GROUP 01** > "9 Evenings was the first large-scale collaboration between artists and engineers and scientists. The two groups worked together for 10 months to develop technical equipment and systems that were used as an integral part of the artists’ performances." [Read more here](https://monoskop.org/9_Evenings:_Theatre_and_Engineering). > ![Screenshot 2025-10-20 at 16.55.22](https://hackmd.io/_uploads/SJ-k2R7All.png) - 9 Evenings, Theatre & Engineering, 1966 * [See program](https://www.fondation-langlois.org/9evenings/e/index.html) * [Video trailler: 9 Evenings](https://www.youtube.com/watch?v=W-cgnK-kFoo) * [Video: Open Score, 9 Evenings: Theatre & Engineering, 1966, edited circa 1997](https://vimeo.com/107488380) **GROUP 02** > The Brazilian artist, choreographer and dancer has been exploring the relationship between body, movement, visual and audiovisual art and media art since the 1970s. ![Screenshot 2025-10-20 at 16.59.40](https://hackmd.io/_uploads/ByyppCQRel.png) - Computer dance notation for the three versions of 0=45. A solo dance created for a front vídeo câmera. The same dance positions computer output generated three versions. Analívia Cordeiro, 1973 * [Analivia Cordeiro's website](https://www.analivia.com.br/computer-dance-3/) **GROUP 03** > "Hacking Choreography explores both the overlap of programming and coding languages and choreography, as well as principles of computer hacking such as re-purposing or subverting. Drawing on similarities such as defining terms and executing commands, choreography becomes a code run by dancers, but also code for movement may be considered choreography." ![Screenshot 2025-10-20 at 16.51.48](https://hackmd.io/_uploads/HJrR9CmRgl.png) - Image from performance *Hacking Choreography* [by Kate Sicchio](https://www.sicchio.com/) * [Video of Hacking Choreography](https://vimeo.com/92885158) * [Algorithmic Choreography by Kate Sicchio](https://www.youtube.com/watch?v=bhxqyRugEpc) **GROUP 04** > "Vocable Code is both a work of “software art” (software as artwork, not software to make an artwork) and a “codework” (where the source code and critical writing operate together) produced to embody “queer code”, examining the notion of queerness in computer coding through the interplay of different human and nonhuman voices. Collective statements and voices complete the phrase “Queer is…” and together make a computational and poetic composition. Through running Vocable Code on a browser, the texts and voices are repeated and disrupted by mathematical chaos, creating a dynamic audio-visual literature and exploring the performativity of code, subjectivity and language." ![51174430391_7c2699a2a2_o](https://hackmd.io/_uploads/r1FN9UIkbg.jpg) - [Read more about the artwork](https://siusoon.net/projects/vocablecode). **GROUP 05** > "I attempt to become a human version of Amazon Alexa, a smart home intelligence for people in their own homes. The performance lasts up to a week. It begins with an installation of a series of custom designed networked smart devices (including cameras, microphones, switches, door locks, faucets, and other electronic devices). I then remotely watch over the person 24/7 and control all aspects of their home. I aim to be better than an AI because I can understand them as a person and anticipate their needs. The relationship that emerges falls in the ambiguous space between human-machine and human-human." [Link to work](https://lauren-mccarthy.com/LAUREN). ![interface](https://hackmd.io/_uploads/SJiAzCHIp.jpg) - LAUREN by Lauren Lee McCarthy ### Introduction to Javascript ![HTMLCSSJS](https://d2v4zi8pl64nxt.cloudfront.net/javascript-seo/5948abfc0e2df5.02876591.gif) ⏰ 30min #### ..⌒-→ Exercise 1.5: Browse a website you visit daily and open the web console: * <small> if in Firefox: on the top menu of the browser select "Tools" > "Web Developer" > "Web Console";​</small> * <small> if in Chrome: on the top menu of the browser select "View" > "Developer" > "Developer Tools";​ </small> ```javascript=101 // selecting HTML elements using JavaScript: document.querySelector("body") document.querySelector("body").style.backgroundColor="Aquamarine"; // VARIABLE // defining a variable: 'var' or 'const' or 'let' var surface = document.querySelector("body") surface.style.backgroundColor="Aquamarine"; // FUNCTION // adding your prefered colour as a parameter function camouflage(newColor) { surface.style.backgroundColor = newColor; } camouflage("blue") // ARROW FUNCTION function hello() { alert('Hello, world!') } hello() hello = () => { alert('Hello, world!') } hello() // IF ELSE STATEMENT function toggleBackgroundColor() { const body = document.body; if (body.style.backgroundColor === 'aquamarine') { body.style.backgroundColor = 'pink'; } else { body.style.backgroundColor = 'aquamarine'; } } // LOOP // creating a loop for changing text in all links var links = document.getElementsByTagName("a") for (var i = 0; i < links.length; i++) { links[i].innerHTML = "(。・・。) ٩( ∩_∩ )۶ ヽ(´∇`)ノ \ (^_^ ) ノ"; } ``` **JavaScript Links** * [W3 Schools](https://www.w3schools.com/js) * [JS Intro by Mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction) * [JavaScript Info](https://javascript.info/) * [Eloquent JavaScript](https://eloquentjavascript.net/) ____ ## ::: Session 02 ::: Live Coding **ノ゛ Live Coding ゛** <span style="color:blue; font-size:10pt"> liveness |</span><span style="color:blue; font-size:10pt"> process | </span><span style="color:blue; font-size:10pt"> speech | </span><span style="color:blue; font-size:10pt">'show us your screen'</span> > Live coding performance is a practice within which computer code is written live in front of an audience, making visible the algorithmic processes within the interface itself. > Live coding gives us a way to think otherwise about coding — what it can be, rather than what it is.' > ...It [live coding] has also evolved in dialogue with the various creative practices that find new expression in and through live coding — including choreography, the visual arts, poetry, and especially music. [Source Live Coding User's Manual](https://mitpress.mit.edu/books/live-coding) ![oto-P8310232](https://hackmd.io/_uploads/rkib7bOYT.jpg) - Second Order Simulacra, a videoclip for the new EP error topography by digital selves, released by the label Cherche Encore,supported by Arts Council England. Photo credit: Antonio Roberts (aka hellocatfood). [Link to video](https://www.youtube.com/watch?v=H5sJjfAkymI) #### Artists and Communities ![Screenshot 2025-11-03 at 16.57.42](https://hackmd.io/_uploads/BJzwJD8yWl.png) * [Image above from livecoderA](https://livecodera.codeberg.page/) * [TopLap Hub](https://toplap.org/nodes/) * [TopLap Forum](https://forum.toplap.org/); * [TopLap Yearly Conference](https://iclc.toplap.org/) * [Live Streamed live coding performances Eulerroom](https://www.youtube.com/c/Eulerroom/videos) **JavaScript Libraries** JavaScript libraries are collections of pre-written code and functions that developers can use to perform common tasks or solve specific problems in their web development projects. These libraries are built using the JavaScript programming language and are designed to be reusable, making it easier for developers to add functionality to their applications without having to write everything from scratch. * [Awesome JavaScript Repo](https://github.com/sorrycc/awesome-javascript) * [JavaScripting Website](https://www.javascripting.com/) ### HYDRA Hydra is an analog-synth-like coding environment for real-time visuals. It is created by Olivia Jack and is open-source. * [Olivia Jack - Hydra, Live Coding Visuals in the Browser](https://www.youtube.com/watch?v=cw7tPDrFIQg&t=1294s) — min. 0-10min & 22-34min ![Screenshot 2025-11-03 at 17.16.20](https://hackmd.io/_uploads/BkUXEwUkZx.png) - [Algorave, 2024](https://www.youtube.com/watch?v=_q9epo9KbFw&list=PLkRYCVc1KXTUUq-eB3gcHacLoYmLEHUQs&index=5), joana.art & [HelloCatFood](https://www.hellocatfood.com/) *🌈 🖥 Hydra useful links 🌈 🖥* * [Hydra — the online tool!](https://hydra.ojack.xyz/) * [Hydra Book](https://hydra-book.glitch.me/#/) * [Hydra Docs](https://hydra.ojack.xyz/docs/#/) * [Hydra Functions](https://hydra.ojack.xyz/api/) * [Hydra Github Repository]( https://github.com/hydra-synth/hydra-synth) * [Hydra Internet Garden](https://hydra.ojack.xyz/garden/): ever-growing community database of resources, projects, tutorials, and code related to hydra video synth * [NIL Live Coding Intensive 2019: Hydra workshop](https://www.youtube.com/watch?v=S5p4WrW6xys) #### ..⌒-→ Exercise 2.1: ⏰ 30min 1. Open [Hydra](https://hydra.ojack.xyz/) in your browser; ```javascript=101 osc().out() ``` 2. Press the "run" button or type **"Ctrl + Shift + Enter"**. (*you can use ctrl + enter if you want to execute only one specific line*) 4. Change the values of the oscillator: frequency, sync, and color offset: ```javascript=101 osc(5, -1, 5).out() ``` 4. Add a transformation: ```javascript=101 osc(5, -1, 5).rotate().out() ``` 5. Try connecting with your web camera: ```javascript=101 s0.initCam() src(s0).kaleid(4).out() ``` 6. Try screensharing another computer tab and adding layering some visual effects: ```javascript=101 s0.initScreen() src(s0) .scrollX(0, 0.05 ) .layer(osc(30,0.1,2).mask(shape(4))) .out() ``` 7. Remember to comments to your code to help guide you through: ```javascript=101 // this is an example of a comment! ``` 8. Example of split screen: ```javascript=101 // top left osc(5, -1,5).scale(50,50).out(o0) // bottom left osc(5, -1,5).blend(o0,0.4).repeat(5,5).out(o1) // top right osc(5,0.3,1).out(o2) // bottom right noise(3,5).blend(o2,0.88).out(o3) render() ``` 9. Example of sourcing an image: ```javascript=101 s0.initImage("https://upload.wikimedia.org/wikipedia/commons/1/14/Neon_Internet_Cafe_open_24_hours.jpg"); src(s0) .mask(noise(10, 0.2).thresh(0.001)) .out() ``` 10. Example of sourcing an online video: ```javascript=101 s1.initVideo("https://upload.wikimedia.org/wikipedia/commons/8/84/Cat_body_language.webm") src(s1) .repeat(() => a.fft[1]*10) .out() ``` 11. Example of sharing of the screen: ```javascript=101 // initialize a webcam in source buffer s0 s0.initCam() // set the source of o0 to render the buffer containing the webcam src(s0).out(o0) // initialize a gradient in output buffer o1, composite with the contents of o0 osc(10, 0.2, 0.8).diff(o0).out(o1) // render o1 to the screen render(o1) ``` 12. Example of using microphone to interact with visuals: ```javascript=101 a.setBins(2); a.show(); osc(10, 0, () => (a.fft[0]*4)) .out() ``` For [Audio responsiveness](https://hackmd.io/@naoto-hieda/rJKwGJI2t#Audio-Responsiveness-experimental) in Hydra see [example code](https://hydra.ojack.xyz/?code=YS5zZXRCaW5zKDIpJTNCJTBBYS5zaG93KCklM0IlMEElMEFzaGFwZSgzKSUwQS5zY2FsZSgoKSUzRCUzRSUyMGEuZmZ0JTVCMSU1RCoxKSUwQS5vdXQoKSUwQQ%3D%3D); **IMPORTANT** * Remember to save the code you write in a sepparate code editor, for eg.: [Visual Studio](https://code.visualstudio.com/); [Pulsar](https://pulsar-edit.dev/); [Zed for MacOs](https://zed.dev/). * save code file with extension '.js', for example: 'hydracode.js'; ![RBRxeiL](https://hackmd.io/_uploads/BJ48on0zWl.jpg) The logic is to start with a source (such as osc(), shape(), or noise()), and then add transformations to geometry and color (such as .rotate(), .kaleid(), .pixelate() ), and in the end always connect the chain of transformations to the output screen .out(). #### ..⌒-→ Exercise 2.2: ⏰ 45min In hydra, start with a blank canvas: * go through at least [10 different functions](https://hydra.ojack.xyz/api/); explore the possibilities each of them has to offer; * when you are done follow examples you find interesting from the [Hydra Book](https://hydra-book.glitch.me/#/) and continue exploring creating different visuals. Take screenshots to save your skecthes! ⏰ 15min * Presentation of skecthes; #### ▶ → LUNCH BREAK: **Watch one of the videos below:** * [Programming as Music Performance by Sam Aaron](https://www.youtube.com/watch?v=0lTZ8Tuyu5I) * [Live Coding Visuals by Sarah Groff Hennigh-Palermo](https://www.youtube.com/watch?v=F4pozY_RF5c) * [Algorithmic Choreography by Kate Sicchio](https://www.youtube.com/watch?v=bhxqyRugEpc) Add a list with at list 5 different ideas or concepts that you found relevant from the videos above: [scroll to the bottom of the etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep). #### ..⌒-→ Exercise 2.3: ⏰ 45min * In groups, read one of the artists' contributions to the Expositions Chapter [check online version](https://livecodingbook.toplap.org/book/); * Group 1: ALGOBABEZ (Shelly Knotts and Joanne Armitage) * Group 2: Melody Loveless * Group 3: Malitzin Cortes * Group 4: Flor de Fuego * Group 5: Anne Veinberg and Felipe Ignacio Noriega * Create a list of keywords and concepts that connect to notions around 'performance' and 'performativity' that you find relevant from the works of practioners in the book; Presentation of keywords and discussion of exercised shared in the [etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep). #### ..⌒-→ Exercise 2.4: JAM SESSION! ⏰ 30min [Using Flok!](https://next.flok.cc), create a collective sketch from scratch adding to a function little by little. See an example of a [JamSession by Pastagang](https://www.youtube.com/@pastaganglive)! Check out another alternative jamming platform for live coding audio-visuals: [Estuary](https://estuary.mcmaster.ca/). ____ #### ▶ → FEEDBACK: Please leave your (anonymous) [feedback on the session here](https://pad.riseup.net/p/HSLU-performing-codes25-feedback), 🙏 thank you! --- ## ::: Session 03 ::: Work in Groups **STRUDEL** The JS version of Tidal Cycles [STRUDEL sound library](https://strudel.cc/) can be used on [Flok](https://next.flok.cc); To silence code, add 'hush' at the end of the line: ``` .hush() ``` You can also $_: if you’re using dollar sign pattern to create sections, the underline mutes it. Or comment it out by selecting it all and pressing Ctrl+/ **🌈 🖥 Further references and tools 🌈 🖥** * Example of [Hydra in P5.JS](https://editor.p5js.org/micuat/sketches/jy5R67ntn) * Example of [P5.JS in Hydra](https://www.nervousdata.com/wiese/txt_phydra.html#text_screen) and more info [here](https://github.com/ojack/hydra). * Examples of [Three JS and Hydra](https://hackmd.io/@naoto-hieda/rJKwGJI2t#Loading-external-scripts) * Example of [Tone.JS](https://tonejs.github.io/) and Hydra [code for external libraries](https://hackmd.io/@naoto-hieda/rJKwGJI2t#Loading-external-scripts): ``` await loadScript("https://unpkg.com/tone") synth = new Tone.Synth().toDestination(); synth.triggerAttackRelease("C4", "8n"); ``` #### ..⌒-→ Exercise 3.2: ⏰ 90min _Create a concept for your group project:_ * one paragraph description of your project for e.g. as a set of **instructions**; * relevant references; * early sketches; _⚡important⚡_ take screenshots to document your skecthes. Share this task in the [etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep). #### ▶ Task → Take Away: 1. Read/watch one of the [Behind The Screens](https://medium.com/behind-the-screens-challenge) episode, a series of 10-Minute Livecoding performances by live coders from all over the world. In every episode, a coder is challenged to perform in 10 minutes. 1. [Share on etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep) one sentence on how the live coders' approach might give you new ideas and inspiration. Meet in groups for rehearsal time and to discuss how you split tasks and document your work. Please leave your (anonymous) [feedback on the session here](https://pad.riseup.net/p/HSLU-performing-codes25-feedback), 🙏 thank you! ## ::: Session 04 ::: Tutorials ### Warm-up! ⏰ 20min Create a visual OR audio composition based on one of the themes below. Use [hydra](https://hydra.ojack.xyz)/[strudel](https://strudel.cc) and a maximum of 5 functions. **Ocean Inspired** * Visual: Design fluid animations of sea creatures dancing to the rhythmic sounds. * Audio: Create a soundscapes inspired by underwater worlds with whale songs and bubbles. **Cyber-punk Inspired** * Visual: Create neon-lit, cyberpunk-inspired visuals that pulse and react to the music's beats and drops. * Audio: Compose a glitchy electronic piece that mimics the sounds of a futuristic city. ### Sharing project ideas and references ⏰ approx. 5-10min per group ### Tutorials ⏰ approx. 10min per group; **Group work** While doing group work rehearsal _Before the end of the session prepare:_ * title of the performance * revise the description of your project; * further research of relevant references; * create a 'timeline' of your performance: beginning, middle and end; * work torwards a final version 5 minute performance ヾ(´〇`)ノ♪♪♪ Update yesterday's description in the pad: [scroll to the bottom of the etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep). _⚡important⚡_ save your code and take screenshots to document your work in progress. ### Performance Tips and Tricks! * [Collaborative Coding Practices](https://github.com/tmhglnd/collaborative-coding-practices) * [Read on Performing with Hydra!](https://hydra-book.glitch.me/#/performing) * Tips for [Live Coding Jams](https://th4music.net/how-to-live-coding-jams.html) ### How to document the work? * Documentation can include: * screenshots; * video recording and live streaming (e.g. using [OBS](https://obsproject.com)); * saving code as a local file; * writing about the process; ## ::: Session 05 ::: WIP Show Before we start, each group add your work title and final version of the description to the pad: [scroll to the bottom of the etherpad](https://pad.riseup.net/p/HSLU-performing-codes25-keep). Note change the audio setting on Zoom: 1. click on the arrow next to the microphone icon; 2. select 'audio settings'; 3. in the 'Audio Profile' section, remove the option 'Zoom background noise removal' and change it to 'Original sound for musicians'. ![Screen Shot 2023-12-21 at 09.59.26](https://hackmd.io/_uploads/rku1aFbPp.png) ⏰ approx. 10-15min presentation + feedback per group; Each group presents their concept, main references and demonstrate their code with a short performance; **IMPORTANT** 👀 Please fill in [HSLU feedback / evaluation form](https://evasys.hslu.ch/evasys/online.php?pswd=EKTTS) - it is compulsory. Thank you 🙏 💫 --- ## References ✨ * [List of Live Coding Tools](https://github.com/toplap/awesome-livecoding) **Bibliography** * Blackwell, Alan F.; Cocker, Emma; Cox, Geoff; McLean, Alex; Magnusson, Thor. Live Coding: A User's Manual. Cambridge, MA: MIT Press, 2022 [Download Link](https://direct.mit.edu/books/oa-monograph/5495/Live-CodingA-User-s-Manual); * Butler, Judith. Politics of the Performative. NY: Routledge, 1997 [Source](https://monoskop.org/images/5/54/Butler_Judith_Excitable_Speech_A_Politics_of_the_Performative_1997.pdf) * Bucher, T. (2018) If ... then: algorithmic power and politics. New York, NY: Oxford University Press (Oxford studies in digital politics). * Cox, Geoff and McLean, Alex. Speaking Code, Coding as Aesthetic and Political Expression. Cambridge, MA: MIT Press, 2013; * Cramer, Florian. Language in Software Studies, A Lexicon. Cambridge, MA: MIT Press, 2008 [Download Link](https://monoskop.org/images/a/a1/Fuller_Matthew_ed_Software_Studies_A_Lexicon.pdf) * Chung, Wendy. "Sourcery" or Code as Fetish. The Johns Hopkins University Press 2008. [Download Link](https://repository.library.brown.edu/studio/item/bdr:405433/PDF/) * Friedman, Ken, Owen Smith, and Lauren Sawchyn, eds. The Fluxus Performance Workbook. Performance Research e-Publications, 2002. * John Langshaw Austin, How to do Things with Words. Cambridge, MA: Harvard University Press, 1975; * Knuth, Ancient Babylonian Algorithms Offsite Link, Communications of the ACM 15, no. 7 (July 1972) 671-77. **Documentaries & Interviews** * [Interviews with various live coders ](https://creativecodingutrecht.nl/index-articles) * [ on-the-fly.documentary](https://www.youtube.com/watch?v=ntFMuvv2-TY) * [Algorave Generation](https://www.youtube.com/watch?v=S2EZqikCIfY) * [Artist DIY: Digital Selves](https://www.youtube.com/watch?v=t2KeNblKSFM&list=PLkRYCVc1KXTXXma9O9gngxu_RrfHm25vT&index=42&t=1s) * [Run the code: is algorave the future of dance music?](https://www.youtube.com/watch?v=h340aNznHnM) * [Show Us Your Screens](https://vimeo.com/20241649)