Scan | Journal of Media Arts Culture
Volume 10 Number 2 2013

The Intimacy of the Command Line

Nancy Mauro-Flude

I feed my data into the computer…I am the data-bank…

My drama has not taken place. The script was lost.

- Heiner Müller (1977) Hamletmachine

On a screen a cursor pulses. A mise-en-scène filled with everyday objects - desk, chair, and computer. Simultaneity of stillness, restriction and hard logic, tied with vastness, connection, the elaborate and the unknown. The audience watches and gradually becomes aware that it is brought into a room that has a connection with the beyond. The minimal, restrained typing opens to the incredible speed and intricate activity of the zeros and ones, of the packets sent and received and also to the rich conceptual bricolage of text being given form. Transfixed, enthralled, like little kids being told a story, following the typing, backspacing, retyping and re-phrasing, the audience, spellbound, sits silent and reads. Warm laughter erupts with typos and odd responses from bots. The rhythmic sound of amplified tapping fingers is soothing. Audience members lean in towards the stage, with baited breath, waiting for the next line, the next shift, the next contact with the software-construct spirit-voice in this code-based séance. [1]

When I first saw code being executed into a black terminal, I started to feel a familiar sensation: I was transported to the dark empty space of a theatre. The dim light and velvet curtains made me forget everything. An entire planet lives behind those curtains. When my world begins to burn down around me, this is where I find refuge.

At CODE 2012, held at Swinburne University, Melbourne, Australia, I was invited to share an excerpt from error_in_time(), a live coding performance. To make something perceptible often one must leave something out; entirely text-based, the viewer sees the bare-bones nature of the command line interface and interaction. Command line computing is an expressive language within a ‘shell’ or ‘terminal’; the computer is controlled by text-based commands. Command line computing is an alternative interface paradigm to the iconic mode of the Graphical User Interface (GUI). For the ‘uninitiated’, command line or text-based computing was used before the invention of the ‘mouse’ (let alone the touchscreen).[2]

By using a computer shell aesthetically, the work has a raw simplicity, in order to emphasise the complexity of the coded transmissions and the hands-on human-machine articulations. In Alex McLean’s definition of the Live Coding genre,

Live coding the performance is the process of software development, rather than its out-come. The work is not generated by a finished program, but through its journey of development from nothing to a complex algorithm, generating continuously changing musical or visual form along the way … hands-on human involvement is essential to the development of a piece. (McLean 2011)

My work features a textual aesthetic and the sound of hands typing into a computer terminal interface, performing a series of executable codes in the command line, to parse though well-known classic texts. Parsing is a process of analysing a string of symbols to get various output results. The sound of the fingers typing on the keyboard, amplified by contact microphone, acquire throughout the performance a rhythm and presence all their own. The amplification of the fingertips is about the reciprocity of the human embodiment and the operating system that has been coded by human beings, not taking either as a given.

I use regular expressions (regex), one of many UNIX tools, which concisely recognises strings of text being parsed by using particular characters. For instance, (see Fig. 1) the command #cat (abbreviated for concatenate), strings files together and displays the contents of an entire file on the screen. The performance also uses the #grep command (from the command ‘g/re/p’, meaning ‘globally search a regular expression and print’), which searches the given file for lines containing a match to the given strings, words and/or lines of text that match one or many regular expressions, and outputs only the matching lines.

The work acts to integrate code as a visible and prominent medium to illuminate, among other things, processes that seethe with undiscovered activity, under the surface of the computer’s interface.[3] Contesting the obfuscated limitations of complex language created by the dominance of the GUI in one’s daily computational routine, now the predominant mode of computer operation, Don Gentner and Jakob Nielsen warn that if people opt for this mode, it ultimately limits human communication and even our ability to imagine the intangible:

It’s as if we have thrown away a million years of evolution, lost our facility with expressive language, and have been reduced to point at objects in the immediate environment. Mouse buttons and modifier keys give us a vocabulary equivalent to a few different grunts. We have lost all the power of language, and can no longer talk about objects that are not immediately visible. (Gentner & Nielsen 1996)

error_in_Time() is set in the darkness; a performer sits at her computer. The character enters into her daily computer routine. With her back to the audience, they look over her shoulder in a voyeur’s position, watching her execute commands, open files, adjust windows and type her conversation. The coded content of the performer’s computer screen is projected large-scale upstage. File recording, searching and parsing are the main scenes of action; the clacking of keys throughout acquires a parallel rhythm and presence of its own. Weaving her story through performative algorithms, execution of code and in a surreal first-person narrative, touching on subjects from dark matter to rogue bots, the performer muses about embodiment, habitus and morphology. There is one moment of crescendo, typing stops, the character opens an ASCII animation, an .mp3 recording encoded from an old vinyl record plays ‘Con el corazón by Mercedes Rosa, and stretches to the point of almost dancing on her chair by the warmth of an ASCII generated fire (see Fig. 2).

The main text featured is Hamletmachine by Heiner Müller (1977), a significant German playwright and director who worked in the Berliner Ensemble, after Bertholt Brecht. Müller said that to produce Brecht without criticising him was treason. One way of ‘criticising’ Brecht that he advocates, is to rework play-texts themselves, so that they can communicate effectively to a changed audience (Müller cited in Eddershaw 1996: 153). For this reason, I have in turn partially reworked Müller’s Hamletmachine, or at least attempted to pay homage to it in error_in_Time(). The text of the Hamletmachine has always been a challenge to stage and it is often said that no director has achieved its full potential. Of the significant and profound work and its ambivalence, Müller writes:

When I wrote the text I had no idea whatsoever how it could be realized on stage, not the slightest idea … you can only discover the answers when you are grounding the work strictly in the text and insist on the text; then certain constraints will appear which may lead to new forms of theatre or a new way to manipulate a theatre space. But without this step into an absolute darkness, the absolutely unfamiliar, the theatre cannot continue. (Müller in Lotringer 1990: 239)

Initially the entire text of Hamletmachine is scrolled through in starts and stops. The character sifts through and pauses on significant statements and moments of prominent action. The performer’s fingers dance in various formulas of regular expressions (regex) into the terminal and parse through the files to get particular outputs, and keep returning to draw out particular words (see Fig. 3). For instance, the performer uses #grep for each time the word ‘love’ is featured. An example of the code that is composed to parse through and include the word before each instance invigorates the already existing text, drawing further meaning:

# cat hamlet-machine.txt | grep -oE " W b[a-z]+ love W b" | uniq

also love

breathe love

In its title, Müller’s theatre play Hamletmachine clearly references Shakespeare’s play Hamlet. However, the entire text reads as a literary invocation of its pertinent time and beyond; its intertextual nature features a myriad of mythological codes, narratives and histories hardwired into Western cultural history.

The term error_in_Time() is a software object from a Python Language library. In this context, it also simultaneously refers to the line “time out of joint” spoken by Hamlet.

Hamlet:

The time is out of joint. O cursed spite,

That ever I was born to set it Right! (see Grace 1998)

While error_in_Time() stages an interaction of human and non-human performer, audience members find themselves reflecting on the differences and similarities between the human performer and her inhuman machinic partner through the inhuman speed of responses from a chatbot, embedded into the performance. These appear immediately, with no evident pause for reflection or typing, contrasting with the human performer’s pauses and typing mistakes.[4] Computers, through computer-mediated communication and computer agents (chatbots), have become key social actors and communicative partners in the human domain. The modes of interaction between humans and computers also provide fruitful territory for theatrical exploration. A custom-built chatbot gives ‘helpful’ grammatical suggestions when the human performer mistypes words or uses faulty punctuation, highlighting the machinic nature of the non-human performer. These performative gaps and ‘slips’ in understanding between the human and computer performer translate to be both humorous and aesthetically provocative (see Fig. 4).

As noted, the human performer is positioned with her back towards the audience and facing towards the projected screen showing the computer terminal. This enables the performer to be semi-anonymous; she is as ‘faceless; as the chatbot interlocutor she is communicating with. For the audience, this staging has some the effects of Brecht’s ‘social gest’. The techniques of Brechtian theatre - Verfremdung (the making strange) and formal elements of Gestus, the paradox of showing - can be traced, in this way, as she mocks and comments on the forms she uses. The audience is encouraged to identify with her role as a cypher; she becomes the viewer’s stand-in or proxy in the interchange with the chatbot. Curious about the performer and her reactions to the chatbot’s text responses and questions, the audience receives no clues from her facial expression, so is forced to rely on her text inputs, building up a sense of anticipation and suspense. Audience members imagine their own responses, waiting to see what she types and projecting possible conversational trajectories. The dramaturgy is all in the fingers’ digital output on the keyboard. The ‘speech acts’ occur in the typing hand performing; the performer’s conscience or centre of attention, as it were, is the cursor, pulsating in the command line.

Error_in_Time() is also a comment on how a more subtle form of identity theft is taking place. It’s almost as if people are being demonically possessed by pre-programmed GUIs and social media user profiles, in a fashion that is both quite prolific and hysterical. The act of ‘tagging’ people, often used for some kind of public institutional rhetoric, self-promotion or funding propaganda, is essentially reductive: we are constantly asked to solidify and reify something that in essence is always developing, changing.

In her rousing essay, “On Sourcery, or Code as Fetish’, Wendy Hui Kyon Chun speculates: “code is a medium in the full sense of the word. As a medium, it channels the ghost that we imagine runs the machine - that we see as we don’t see - when we gaze at our screen’s ghostly images” (2011: 184). Watching language, letters and words form and reform, as they are being typed then backspaced, then re-typed with another iteration, then an erasure, literally opens up possibility to re-code, re-phrase and re-signify; to make manifold.

Which brings us to the question: is the user opening the operating system, or is the coded operating system opening the operator?

Works Cited

Arns, I. (2005) “Read_me, run_me, execute_me, Code as Executable Text: Software Art and its Focus on Program Code as Performative Text” in Medien Kunst Netz 2: Themastische Scherpunkte (Frieling, R. & Daniels, D., eds.), New York: Springer.

Brecht, B. (1964) Brecht on Theatre: The Development of An Aesthetic (Willett, J., trans.), London: Methuen & Co Ltd.

Chun, W. H. K. (2011) “On Sourcery, or Code as Fetish” in Imagery in the 21st Century (Grau, O. & Veigl, T., eds), Cambridge: MIT Press. pp. 177-200.

Eddershaw, M. (1996) Performing Brecht: Forty Years of British Performances, London: Routledge.

Gentner, D. & Nielsen, J. (1996) “The Anti-Mac Interface” in Communications of the ACM 39: 8 pp.70-82.

Grace, K. O. (1998) The First Quarto of Hamlet, Cambridge: Cambridge University Press.

Kittler, F. (1995) “There is No Software” in Ctheory, viewed 20 June 2013, www.ctheory.net/articles.aspx?id=74

Lotringer, S & Müller, H. (1990) Germania, New York: Semiotext(e).

McLean, C. A. (2011) “Artist-Programmers and Programming Languages for the Arts” (unpublished PhD thesis), Goldsmiths: University of London.

Müller, H. (1977) Hamletmachine (Weber, C., trans.), New York: Performing Arts Journal Publications.

Endnotes

[1] Adapted from Linda Dement, email exchange with author (2011).

[2] Fredrich Kittler raises issues with the GUI and its disavowal of the writing process: “on an intentionally superficial level, perfect graphic user interfaces, since they dispense with writing itself, hide a whole machine from its users. Secondly, on the microscopic level of hardware itself, so-called protection software has been implemented in order to prevent ‘untrusted programs’ or ‘untrusted users’ from any access to the operating system's kernel and input/output channels..” (Kittler 1995).

[3] Inke Arns (2005) discusses the performativity of code and not of speaking but of being ‘spoken’ in relation to her term ‘post optical unconscious’.

[4] Kathy Cleland, email exchange with author (2011). After a similar performance at Critical Path’s SEAM, Seymour Theatre Sydney.

Biographical Note

Nancy Mauro-Flude is an artist, writer and curator based in Tasmania. Her research engages with digital materiality, embodiment and computer culture in a speculative manner. She is an accomplished arts practitioner who lectures, performs and exhibits locally and internationally. She is currently a PhD Candidate at the Tasmanian School of Art, University of Tasmania.