Vocable Code – Unfinished Code – Queer Code

Photo by Piotr Krajewski

With the invitation by Shu Lea Cheang, I led the ‘Unfinished Code’ session at STWT48 as part of Ars Electronica. STWST48 is a 48 hours showcase-extravaganza in September. STWST48 invites international artists and also shows new art contexts developed in and around Stadtwerkstatt, for example results from Infolab, Quasikunst, and other formats of Stadtwerkstatts art production.

The talk UNFINISHED CODE examines the generative, operative and dynamic properties, and queer potential, of code. Through queering code and discussing possible (non)binary logics, participants will queer their voices by performing dynamic sentences and statements to intervene a software program called “Vocable Code”, simulating mathematical chaos and creating dynamic audio literature that explores the performativity of code, subjectivity and language.



Aesthetic Coding

I am going to present a co-author paper (with Shelly Knotts) at School of Creative Media, City University of Hong Kong as part of the conference “Art Machines: International Symposium on Computational Media Art “.


Date: 5Jan 2019 (Sat)
Time: 11:45 am
Venue: M6094 Future Cinema Studio, L6, Run Run Shaw Creative Media Centre, 18 Tat Hong Avenue, Kowloon Tong

See the abstract here :

Learning to code has started to be part of the core strategy in educational curriculum, from primary school to higher education, especially in many developed countries that promote stem education [1][2][3], or at least coding is recognized as an important aspect of science and technology development [4][5]. In the art and design-related disciplines, creative coding emphasizes code as an expressive material [3][6][7][8], and embraces exploration and experimentation of code beyond functional applications. OpenFrameworks, Sonic Pi, p5.js Processing and ml5.js are some examples of open source platforms that facilitate creative and expressive creation through sharing and remixing code. In other words, the community of creative coding expands the usual way of learning to code beyond science and engineering disciplines.

However, with the increasing demand of computational practices in emerging disciplines such as software studies, platform studies, new media studies and digital humanities, coding is increasingly considered as “literacy” [9] to humanities. This perspective of coding literacy becomes a critical tool to understand the history, culture and society alongside its technical level, especially regarding our digital experiences are ever more programmed, both technically and culturally.

This presentation introduces two cases where two artist-coders consider code practice as a mode of aesthetic and critical inquiry, and they teach coding (in a format of workshop delivery) in a critical way through engaging with their artistic and coding practice. This aesthetic approach includes not only introducing coding practically and creatively but also cultivating an open space where discussing and reflecting on computational culture is possible. This is similar to scholar Michael Mates describes as ‘procedural literacy’, which is to connect social and cultural issues with coding through theoretical and aesthetic considerations. In particular, how “the culturally-embedded practices of human meaning-making and technically-mediated processes” are intertwined [10].

By introducing two different hands-on code learning workshops, this presentation examines how aesthetic production or critical thinking can be cultivated and developed through learning to code.  We suggest connecting code with social and cultural issues through performing, showcasing and discussing code-related art and performance as a departure point to develop code or procedural literacy. Without losing sight of exploring code technically and creatively, the two hands-on workshops illustrate how the suggested aesthetic coding approach could be realized in both epistemic and practical levels. The first workshop was conducted in 2017 titled ‘Feminist coding in p5.js | Can Software be Feminist?’ by Winnie Soon [11] and the second case was conducted in 2016 titled “Rewriting the Hack” by a live coder Shelly Knotts and curator Suzy O’Hara [12]. We argue that the practice of aesthetic coding provides epistemic insights to explore computational culture beyond creative coding, shedding lights on how to work with code across disciplines and to consider coding practice as a means to think critically, aesthetically and computationally.


  1. Xie Yu, Michael Fang and Kimberlee Shauman, “STEM Education,” Annual review of sociology41, (2015): 331–357.
  2. Brzozowy Mirosław, Hołownicka Katarzyna, Bzdak Jacek, Tornese Pietro, Lupiáñez-Villanueva Francisco, Vovk Nick, Sáenz de la Torre Lasierra, Juan José, Perelló Josep, Bonhoure Isabelle, Panou Evangelia, Bampasidis Georgios, Verdis, Athanasios, Papaspirou Panagiotis, Kasoutas Michael, Vlachos, Ioannis, Kokkotas, Spyros & Moussas Xenophon, “Making STEM Education attractive for young people by presenting key scientific challenges and their impact on our life and career perspectives,” (paper based on a talk presented at 11th annual International Technology, Education and Development Conference, Valencia, March, 2017). INTED2017 Proceedings, https://library.iated.org/view/BRZOZOWY2017MAK
  3. Chung Bryan, Pong Lam & Soon Winnie, “Computer Programming Education and Creative Arts,” (paper based on a talk presented at ISEA, Hong Kong, 2016) ISEA2016 Conference Proceedings.
  4. Heaver Stuart, “STEM education key to Hong Kong’s ‘smart city’ plan, but long-terms steps must be taken now, experts warn (2017)”, South China Morning Post, accessed August 31, 2018, https://www.scmp.com/lifestyle/article/2124487/stem-education-key-hong-kongs-smart-city-plan-long-term-steps-must-be.
  5. Jing Meng, “China wants to bring artificial intelligence to its classrooms to boost its education system (2017)”, South China Morning Post, accessed August 31, 2018, https://www.scmp.com/tech/science-research/article/2115271/china-wants-bring-artificial-intelligence-its-classrooms-boost.
  6. Soon Winnie, “Executing Liveness: An Examination of the live dimension of code inter-actions in software (art) practice,”(Ph.D. diss., Aarhus University, 2016.)
  7. Maeda John. Creative Code: Aesthetics + Computation (London: Thames & Hudson, 2004).
  8. Peppler Kylie & Kafai Yasmin, “Creative coding: Programming for personal expression,” (paper based on a talk presented at Rhodes, Greece, 2009). The 8th International Conference on Computer Supported Collaborative Learning 2, (2009): 76-78.
  9. Vee Annette, Coding Literacy: How Computer Programming Is Changing Writing (MIT Press, 2017).
  10. Mateas Michael, “Procedural Literacy: Educating the New Media Practitioner,” The Horizon. Special Issue. Future of Games, Simulations and Interactive Media in Learning Contexts 13(1), 2005.
  11. Soon Winnie. “A Report on the Feminist Coding Workshop in p5.js (2017).” Aesthetic Programming website. Accessed August 31, 2018. http://aestheticprogramming.siusoon.net/category/thoughts/.
  12. Knotts Shelly & O’Hara Suzy. “Rewriting the Hack (2015)”. Accessed August 31, 2018.http://rewritingthehack.github.io/index.html.


Processing Community Day @ Aarhus

The first Processing Community Day (PCD), organized by Taeyoon Choi and the Processing Foundation in 2017 was an effort to improve diversity within the art and programming community.

For Processing Community Day 2019, it will broaden the reach and impact of this community by organizing with hundreds of Processing communities around the world.

I am co-organizing a PCD day @ Aarhus onn 9 Feb 2019 with the theme called “How to think about code differently”, and we are aiming to build an open and local community to explore code and coding practice in many different ways beyond science and engineering specialisation and functional applications development.

See here for more information: https://www.pcdaarhus.net/

Workshop and Performative-lecture by Shelly Knotts

I have recently invited live coder-researcher Shelly Knotts to give a 3-hours workshop to my master students, and also a performative-lecture at Kunsthal Aarhus. See below information:

Workshop title: Live Coding Fieldnotes

Workshop date: 1 Nov, 2018 at Aarhus University


For the last six years I have been exploring the potential of live coding as an improvisational performance practice across contexts and genres. I’ve performed in the free improv, DIY and noise scenes, academic electronic music contexts and at Algoraves, collaborating with other live coders, acoustic musicians, visualists, authors, and algorithmic beings. Through the trial-and- (often fortuitous)error process of live algorithmic design I’ve expanded my own musical limits, learnt more about SuperCollider than I did in seven years in the studio and came to see live coding as more than just a tool for flexible improvisation.
Through embracing live coding I came to perform technicality, becoming a visible example of a ‘woman who codes’. I became acutely aware of the narratives of live coding and the politics of embodying this position. I perceived the critique of feminine technicality that exists in music tech and computer science fields as amplified by the act of publicly ‘doing technical things’. Feminism as a performative practice became central to my work and resulted in projects such as ALGOBABEZ and OFFAL (Orchestra For Females And Laptops).

In this workshop I’ll recount experiences from the wild of performing with and through algorithms, and expanding my own musical horizons through explorative coding. I’ll discuss embracing error and failure as part of the practice, using narratives around this to help diversify the live coding community, and the contribution of female live coders to reinserting women into the narratives of computing.
After an introductory talk we will explore some live coding tools, techniques and practices and engage in critical discussion on performing with and through algorithms.

Performative-lecture date: 2 Nov 2018 at Kunsthal Aarhus

Performative-lecture title: Annoying Algorithms: or Critical Approaches to Performing with and through Algorithms


In this talk Shelly will share observations from the wild of improvising with and through algorithms. She describes a number of performance systems which explore possible synergies between the dynamics of improvisation in music ensembles which use network technology to exchange musical and social data, and the dynamics of online social networking which is fundamentally mediated by algorithms and interface design. The pieces discuss and explore the dynamics of human interaction when data collection and algorithms are used to modify or moderate this interaction, and algorithms subvert or enable particular power-dynamics. This critical approach to algorithmically mediating improvised performance feeds into a live coding performance practice which acknowledges and highlights human error and failure. The talk will be followed by a performance of her work Flow (2015-16) which uses live EEG data to disrupt her live coding performance.


helly Knotts produces live-coded and network music performances and projects which explore aspects of code, data and collaboration in improvisation. She performs and presents her work internationally at festivals and conference, and collaborates prolifically with computers and other humans. She studied for a PhD in Live Computer Music at Durham University with a focus on the social dynamics of collaboration in Network Music. In 2017 she was Leverhulme Artist-in- Residence at School of Chemistry, Newcastle University, working on Molecular Soundscapes which included Chemical Algorave exploring live coded data sonification. She is currently a Research Fellow at SensiLab, Monash University working on ARC funded project Improvisational Interfaces.

As well as performing at numerous Algoraves and Live Coding events, she collaborates with improvisers across a spectrum of styles and practices. Current projects include algo-pop duo ALGOBABEZ (with Joanne Armitage), international telematic laptop ensemble OFFAL (Orchestra For Females And Laptops), and audio-visual, generative live coding performance [Sisesta Pealkiri] with Alo Allik.

She has received commissions and residencies from national funders in the UK. Her music has been released on Fractal Meat and Chordpunch record labels and in 2017 she was a winner of the inaugural The Oram Awards for innovation in sound and music.




* The performative-lecture is supported by Humans and IT Research Centre, Department of Digital Design and Information Studies, and Digital Aesthetics Research Center at the Aarhus University, as well as Kunsthal Aarhus.

Experimental Creative Writing with Natural Language Processing

I am organizing a 2-day workshop on experimental creative writing with natural language processing on 21-22 Nov 2018. See here for details:

As part of the Humans and IT research programme (HIT), Digital Aesthetics Research Center (DARC) has invited Allison Parrish, a programmer, poet and educator, to give a two days hands-on workshop regarding the state of the art of natural language processing, exploring the relationship between art, culture, creativity, programming practice, computational thinking and artificial intelligence.

We will use Python as the main programming language, a high-level, interpreted and general-purpose dynamic programming language that focuses on code readability. Python can be run and used in multiple operating systems including Windows, Mac and Linux. No prior programming skills is required but you should be expected to get your hand dirty to tinker with code and use the command-line interface. The workshop will be relevant for those who are interested in textual/data/information analysis and creative computing across disciplines, such as software studies, digital humanities, STS, digital design, electronic literature, media studies, aesthetics and language studies, computer science and beyond.



Day 1- 21/11: 0900-1600 (include breaks and lunch)
Day 2- 22/11: 0900-13.00 (include breaks and lunch)

Fees: FREE but there is a limitation of max 15 participants. Priority will be given to faculty members and PhD students at Aarhus University and for those who can participate the two dates together.

Venue: Aarhus University, Helsingforsgade 14, Building 5342, room 333 (ADA-building), 8200 Aarhus N, Denmark

Registration: Please sign up here. You will be contacted for the detailed arrangement on/before Nov, 2018. (Deadline for registration 10-Oct-2018)

Workshop Description:

Natural Language Processing (or NLP) is an area that is a confluence of Artificial Intelligence and linguistics. It involves intelligent analysis of written language. In this hands-on workshop, we’ll investigate the state of the art of natural language processing with an eye toward using the sometimes-unintuitive abstractions of language produced by computational models to make programs that create surprising and poetic creative writing. Through a series of pre-written but easily modifiable programs, participants will be introduced to text analysis and language generation with the Python programming language. We’ll make automated “big Dada” cut-ups, undertake poor digital humanities based on word counts and part-of-speech tagging, and exploit vector arithmetic to write poetry like we’re using guitar pedals. Workshop participants will develop a number of small projects in text analysis and poetics using public domain texts of their choice. In becoming familiar with contemporary techniques for computational language analysis, information/data/literature/media studies, critics and researchers will be able to reason better about language-based media on the Internet. Designers, artists and writers, meanwhile, might just learn a few new techniques to add to their creative palette.

Allison is a computer programmer, poet, educator and game designer whose teaching and practice address the unusual phenomena that blossom when language and computers meet, with a focus on artificial intelligence and computational creativity. She is a Teacher at NYU’s Interactive Telecommunications Program, where she earned her master’s degree in 2008.

Named “Best Maker of Poetry Bots” by the Village Voice in 2016, Allison’s computer-generated poetry has recently been published in Ninth Letter and Vetch. She is the author of “@Everyword: The Book” (Instar, 2015), which collects the output of her popular long-term automated writing project that tweeted every word in the English language. The word game “Rewordable,” designed by Allison in collaboration with Adam Simon and Tim Szetela, was published by Penguin Random House in August 2017 after a successful round of Kickstarter funding. Her first full-length book of computer-generated poetry, “Articulations,” was published by Counterpath in 2018.
More info: https://www.decontextualize.com/

Open Forum: Computational Thinking and Programming Practice

I am organizing and participating an open forum next Friday. See here for details:

Title: Computational Thinking and Programming Practice: Teaching to Learn, Learning to Teach Open Forum

Time: 23 Mar 2018 (Friday), 0900-1500

Venue: Digital Living Research Commons (Wiener 030, Building 5347)

The open forum Learning to Teach, Teaching to Learn is originally initiated and organised by the School of Poetic Computation since 2016 in the United States. The event aims to bring together educators to explore pedagogy, curriculum development, and how to create environments and tools for learning computation and programming. At Aarhus University, programming has been introduced to both Bachelor and Master students in the areas of Digital Design and Information Studies, which is situated in the School of Communication and Culture. This mini open forum, Teaching to Learn and Learning to Teach, explores how computational thinking could be introduced beyond Computer Science and Engineering disciplines, and what are the challenges in teaching programming to arts and humanities? How might programming practice be considered as a mode of aesthetic and critical inquiry? How the production of creative works may help students to understand the essential components of computational thinking?

As part of the Humans and IT research programme, Digital Aesthetics Research Center (DARC) has invited 6 speakers (and two, Prof. Nick Montfort and Anders Visti, are invited from outside AU) to respond to some of the questions above. Each presenter will share their teaching philosophy and challenges for 15 mins and will follow by a discussion. It is more an open forum for sharing and discussing various concerns in relation to computational thinking and programming practice. Anyone is more than welcome to join, especially for those who are interested in computational thinking, digital humanities, creative practices, programming and creative coding, etc.

See more about previous activities on Teaching to Learn and Learning to Teach here.

Schedule breakdown:


0905-0915: Introduction by Winnie Soon

0915-0925: Sharing of his US trip on Teaching to Learn and Learning to Teach by Stig Møller Hansen

0925-0955: Roman Rädle, PostDoc at AU

0955-1025: Thomas Hvid Spangsberg, PhD fellow at AU


1045-1115: Stig Møller Hansen, Designer, PhD fellow at AU and Lecturer at the Danish School of Media and Journalism

1115-1145: Nick Montfort, Artist and Professor at MIT


1300-1330: Winnie Soon, Artist and Assistant Professor at AU

1330-1400: Anders Visti, Artist and Founder of !=null and ‡ DobbeltDagge based in Aarhus

1400-1500: NETWORKING


Speakers’ Bio:

Stig Møller Hansen, designer, Ph.D. fellow at AU and Lecturer at the Danish School of Media and Journalism. Bought his first computer in 1989 and quickly developed a passion for mixing art and code. Thirty years later, Stig has made his childhood excitement his professional career, teaching programming for graphic designers. He often shares his thoughts, experiences, and expertise at international conferences, workshops, and courses. In his Ph.D., drawing on his background as a trained graphic designer, Stig examines how introductory programming courses in design schools can be contextualized to improve student engagement and retention

Nick Montfort studies creative computing and develops computational art and poetry. His computer-generated books of poetry include #!, the collaboration 2×6, Autopia, and The Truelist. Among his more than fifty digital projects are The Deletionist and Sea and Spar Between, both collaborations. His MIT Press books, collaborative and individual, are: The New Media Reader, Twisty Little Passages, Racing the Beam, 10 PRINT CHR$(205.5+RND(1)); : GOTO 10, and Exploratory Programming for the Arts and Humanities, and The Future. He is professor of digital media at MIT and lives in New York and Boston.

Roman Rädle is a Postdoctoral Fellow in the Department of Digital Design and Information Studies at Aarhus University in Denmark. He holds a Ph.D. in computer science from the University of Konstanz in Germany.

His research interests include human-computer interaction, ubiquitous computing, and programming education. He recently worked on the use of interactive notebooks in situations where the number of people and devices may vary over time, and how to support fluid transitions between these situations. For example, their use in educational settings where work using notebooks can change from individual work to collaborative group work and vice versa.

Winnie Soon is an artist-researcher-coder-educator who resides in Hong Kong and Denmark. Her works explore themes/concepts around digital culture, including internet censorship, data circulation, image politics, code and real-time processing, etc. Winnie’s projects have been exhibited and presented internationally at museums, festivals, universities and conferences across Europe, Asia and America. Her current research focuses on Computational Thinking, working on a book with Geoff Cox titled “Aesthetic Programming: A Handbook of Software Studies, or Software Studies for Dummies”. She is Assistant Professor at Aarhus University.

Thomas Hvid Spangsberg is a PhD- Fellow in the Department of Digital Design and Information Studies at Aarhus University. He is currently writing his dissertation which is due at the end of August this year. Thomas’ doctoral studies is about how to teach programming and computational thinking to non-STEM students. The main contribution is about a teaching methodology for introductory programming, which is based on natural language teaching and peer instruction. Thomas has taught introductory programming, interaction design and system development at Aarhus University since the spring of 2013 – right after earning his MSC in Digital Design.

Anders Visti is a visual artist working with code. Founder and co-editor of the publishing house * [asterisk] from 2002-12. Founder and editor of the printed web publication ‡ DobbeltDagger and initiator of !=null, a public forum for artists, researchers, developers and hackers using contemporary technology for creative expression and aesthetic inquiry. Currently he is teaching basic coding skills and foundational computing at Funen Art Academy and Jutland Art Academy in Denmark.

Organised by Winnie Soon, Digital Aesthetics Research Center

Procedural Values

Together with Christian Ulrik Andersen, Marie-Luise Angerer, Geoff Cox, Jan Distelmeyer, Magda Tyzlik-Carver, and Søren Pold, I am going to join the panel discussion titled “what values?”  as part of the transmediale workshop/festival in 2018 at Brandenburg Center for Media Studies – ZeM, Potsdam.

Venue: ZeM – Brandenburgisches Zentrum für Medienwissenschaften
Date: 29 Jan 2018
Link: http://zem-brandenburg.de/en/events/cal16/event922.html

My topic is called “Procedural values” which will draw upon the following text:

  • Michael Meteas’s text: Procedural Literacy: Educating the New Media Practitioner (2005)
  • Ed Finn’s text: What’s algorithm? in What Algorithms Want (2017)
  • Annette Vee’s “procedural knowledge” in Coding Literacy: How Computer Programming is Changing Writing (2017)
  • Nick Montfort’s why program in Exploratory Programming (2016)

Humanistic and Computational Thinking Through Practice

I am going to give a talk at School of Creative Media, City University of Hong Kong as part of the course “Creative Media Colloquium”.

See below for abstract and info:

In this talk, I will present some of my artistic works that span the areas of net art, software-based art, and electronic literature. My works examine the materiality of computational processes that underwrite our experiences and realities in digital culture that touch on cultural-social-political topics, such as Internet censorship, the economy of likes, spam and literary culture, politics of APIs, cultural machines and feminist software.

I consider computational practice as a mode of humanistic inquiry to understand the digital culture – a condition that we are highly engaged with, and surrounded by, software and networked systems. I ask how might we understand cultural systems through computational practice? This talk will unfold the importance of computational practice in my thinking and research, examining the infrastructure and implications of cultural systems.


Date: 12 Jan 2018 (Friday)
Time: 11:30 am
Venue: M6094 Future Cinema Studio, Run Run Shaw Creative Media Centre, 18 Tat Hong Avenue, Kowloon Tong


A Report on the Feminist Coding Workshop in p5.js

A five-hour feminist coding workshop took place in Aarhus last week, as part of the !null platform[1], which is organised by artist Anders Visti. We had 8 participants from diverse backgrounds, including an artist-graphic designer, a curator-researcher, a social scientist-researcher, a photographer-researcher, a media artist, and three digital design students from Aarhus University. It was my first time organising the so-called ‘crash coding workshop’ with the aims to introduce basic coding concepts, as well as to explore code as expressive and aesthetic materials to women, queers, LGBT, non-binaries and minorities who do not have any prior programming experience.

One of the major challenges of this kind of coding workshop is the balance between the practical and functional aspects of the code, as well as demonstrating and introducing how we may think of code culturally and aesthetically within a short timeframe. I consider planning, designing and implementing this feminist coding workshop is a way to explore and experiment with the possibility of teaching and learning code in a humanistic way.

I framed the whole workshop within the perspective of feminism, where the full title of the course is “Feminist Coding in p5.js | Can Software be Feminist?”. Inspired by Tara McPherson [2], a media studies scholar, how might we design for difference and how may I, as a scholar and artist, take code seriously and consider values, ethics and diversity in designing a tech-related workshop? I first introduced the background of p5.js, which is a Javascript library that we used for teaching and learning. Although Javascript is a fairly standardised and popular high-level programming language in the web genre, what interests me the most is the values behind p5.js. Artist Lauren McCarthy founded the project p5.js in 2014, with support from Processing Foundation, Interactive Telecommunications Program at New York University, as well as many other contributors. McCarthy observes that there is a lack of diversity in the open source environment, and the values behind p5.js are to prioritise community outreach and diversity [3]. She says, “thinking about community outreach and diversity is not a secondary goal of p5.js, it’s the foundation on which the platform is built.”  (2015) As a woman working in the technological sector, McCarthy organised and participated in many feminist groups and discussions, including but not limited to Scope Lab in the Centre for the Study of Women and VoidLab in the Design Media Arts Department at University of California, Los Angeles. Additionally, p5.js as a platform has a subdomain called “diversity.p5js.org”, which is a project created by Chelly Jin who promotes the visibility of various identities through organizing different activities, such as The Interactive Book Club and showing works and interviews by Asian women and gender non-conforming coders. By elaborating the background of p5.js, I advocate the importance of designing for difference that would cultivate a more inclusive and diverse environment, where the values behind p5.js are one of the important criteria to use this creative tool in the workshop.

Within the discussion of creative coding, I have developed an artwork/ e-literature/ digital poetry/ web art called Vocable Code, exploring code as expressive materials, and the project is regarded as an essential part of the feminist coding workshop. Vocable code examines the notion of queerness in computer coding. Through collecting voices and statements from others that help to complete the sentence that begins: “Queer is…”, the work is computationally and poetically composed where the texts and voices are repeated and disrupted by mathematical chaos, creating a dynamic audio-visual literature. Behind the executed web interface, the source code is deliberately written as a piece of Codework [4], mixing a computer programming language and human readable language that explores the tension between computational constraints and language poetry.

Indeed, the constraints regarding not only incorporating computer syntaxes and functions, such as for-loops and if-else statements, but also the resistance of binary logics that have been informed by Feminist Software Foundations, philosophers Sadie Plant [5] and Judith Butler [6]. Fundamentally and technically speaking, 0s and 1s are the basic binary digits that structure how a computer functions and how the code is executed. All the semantic layers of code are ultimately reduced to either 0 or 1 for machine execution and processing. Functionally, source code can be considered as written instructions that are translated into 0s and 1s for a computer to perform certain tasks. To talk about computer code, there is, essentially, another layer of interpretation from source code to machine code (also known as bytecode),  yet it is computationally impossible to escape binary logic.

From the invention of digital computers to contemporary computation, the design of computer infrastructure, programming languages and algorithmic decisions are technically structured and written in the spirit of absolute logics without any ambiguity. Provided that if there is a fulfilment of a clear and concise condition, then the computer will execute a pre-defined path and perform certain actions as stated basically. This is how an if/else conditional statement works in computation, and it promotes a particular style of writing and thinking as binary: on or off, true or false, yes or no, something or nothing, this or that, which is ideally nothing in between, or nothing can be undecided, or nothing as non-binary. This binary computational thinking is influential and powerful, forcing us to think in dualism, both implicitly and explicitly.

In view of this, the source code of Vocable Code is a written poetry, which is an attempt to think through the cultural implications of binary logics. Inspired by the feminist programming language C+=, Vocable code avoids the writing of source code with binary 0 or 1, a single x or y, and a single operator with < or >. Obviously, setting these rules does not mean that this is an attempt to avoid binary thinking entirely, which is computationally and conceptually impossible. However, as the author of the project, I decided to work with these struggles that express and make a point in the form of Codework by having written constraints and paying attention to the naming of computer syntaxes, such as the names of variables, arrays and functions. This is what I consider as a form of queer code, which is a constant unsettling and questioning on the binary thinking and logic, both culturally and technically.

Vocable code explores the voices of both human and nonhuman bodies, producing speeches by the author and other participants through computer and data processing.  There were various activities involved as part of the feminist coding workshop. The first activity was called “Decoding, Reading and Interpreting Code and Logics”, which is a reverse engineering of computational logics that is based on what one can see and hear, from visual representations to sequences of logics and things that have changed over time.

Participants were then required to map the identified items and logics with the source code. The source code is intentionally written in a format where one can possibly read, guess and interpret some of the functions and meaning. Incorporating reading is an essential part of coding practices, or what Annette Vee describes as “coding literacy” (2017). Code reading and interpretation hint at how a program is designed and how an algorithm is expressed and performed through time. While asking novices to write code, I consider reading and interpreting code as a pre-requisite to writing code.

After the first activity, I introduced some basic concepts of code, such as the structure and syntax of p5.js, and how functions and conditional statements are written. Given that there is a general understanding of Vocable Code, the basic code concepts become easier for participants to grasp and learn. They are able to do this via a concrete piece of software that has already been introduced.

Encountering errors is one of the most common experiences for coders and it is beneficial that errors could be traced, located and understood easily through the browser’s web console. Reading errors is also a way to understand how things work or not work, as well as revealing some of the underlying logics and infrastructure. The second activity is about working with errors. By tinkering code, it is an iterative process of trial-and-error by changing some of the code parameters and naming. Participants refresh their browsers after changing the code in a code editor, and the results give a closer sense of the meaning of some computational values and functions. They first started by focusing on changing numerical values, such as the color of text and background, size and speed of text, as well as values in random functions. It was then followed by exploring the semantic and poetic aspects of code by modifying some of the names, such as the font variable “withPride” and other variables and arrays such as “queers”, “WhoisQueer” and “whatisQueer”. The later activity is meant to highlight the discrepancy and conflation of both human and computer languages.

The whole feminist workshop was very hands-on on the one hand, but it was also very much driven by discussion on the other. Since we had few participants who are interested in poetry, literature and design, the environment is mobilised with active participation and reflexive discussion. We have discussed what poetry is, what constitutes poetry, and what might be the aesthetics of Codework. Under the bigger question of the title of the workshop: Can software be feminist? it opens up the thinking about what it means by feminist coding and feminist software.

We have considered performing the Codework by reading the source code aloud as a form of embodiment. One of the participants said that the explanation of some of the computational logics is indeed difficult to avoid the binary thinking. The Vocable Code is designed with a particular way of computational thinking, where things are broken down into blocks and discrete units that are structured in sequences as the program is run and unfolded. This step by step problem-solving technique has a wider consequence, from technical implementation to the cultural experience of Vocable Code. Similarly, binary thinking and logics are more than mere technical implementations, “they are the infrastructure to its superstructure: not another order of things, but another mode of operations altogether” (Plant, 1997:50). There might be a danger of simplifying the real-world phenomena with binary thinking and operations, where we may forget there are many other in-betweenness that cannot be simply regarded as oppositional binary, such as true or false, right or wrong, yes or no, female or male, feminine or masculine, science and humanities, technical and culture.

After reading and tinkering with code, the final activity was named “Writing, Thinking and Creating your own Vocable Code”. It was designed to incorporate the previous discussion about the aesthetic of code and poetry, allowing the participants to explore their own form of Codework. From the most basic level of adding their own voices and statements to sketching the whole new algorithm about Vocable Code, the workshop ended with the brief introduction of various further learning resources on coding and theoretical readings on code poetry and feminism. Running a crash coding workshop in 5 hours, balancing the functional/practical and the aesthetic/critical aspects was interesting but challenging. Nevertheless, this format of the workshop, at least, demonstrates some of the essential elements to approach coding practice, including both reading, writing and thinking with and through code. Importantly, the workshop was an attempt to introduce what I called Aesthetic Programming, which is a humanistic approach to coding that addresses both the cultural and aesthetic dimensions of code and coding practice.

[1] !null is a public forum, based in Aarhus, Denmark, for artists, developers and hackers using contemporary technology for creative expression and aesthetic inquiry.
[2] McPherson wrote the article titled ‘Designing for Difference’ for A Journal of Feminist Cultural Studies in 2014. Within the article, she asks, “Can software be Feminist?”. I think through this specific question whilst preparing the course and the related artistic materials.
[3] See: http://opentranscripts.org/transcript/p5js-diversity-floss-panel-introduction/
[4] See Rita Raley’s text on the practice of Codework: http://electronicbookreview.com/thread/electropoetics/net.writing
[5] See the book Zeroes and Ones: Digital Women and the New Technoculture (1997).


  • Butler, J, Gender Trouble: Feminism and the Subversion of Identity. Routledge, 1990.
  • Cox, G and McLean, A, Vocable Code in Speaking Code. MIT Press, 2014.
  • McPherson, T, “Designing for Difference,” A Journal of Feminist Cultural Studies, 25(1), 2014.
  • Plant, S,  Zeroes and Ones: Digital Women and the New Technoculture, 1997.
  • Rita, R, “Interferences: [Net.Writing] and the Practice of Codework,” Electronic Book Review, 2002.
  • Vee, A, Coding Literacy, MIT Press, 2017.

net.art generator / generating discourse

I will be givng a talk and workshop together with Cornelia Sollfrank, Morgane Stricot and Matthieu Vlaminck @ ZKM on the 13-14 Dec, 2017.

/*In «net.art generator«, not only do the technical problems that are relevant to other digital works become apparent, moreover, it also shows the problems associated with data policies and their hegemonies. The podium discussion brings these technical as well as political-economical associations to the fore, and attempts to develop strategies and tactics for the growth and effective conservation of digital works. During the workshop, initial ideas will be experimented with, perhaps social hacking or the development of a completely new API. Together with the artist, we want to discuss how the problems of propriety software could be solved, why and what it actually consists of, and which political, art-theoretical implications are concealed behind it.*/

More details: http://zkm.de/en/event/2017/12/workshop-netart-generator-generating-discourse