Herding Cats: Observing Live Coding in The Wild: Thor Magnusson
Herding Cats: Observing Live Coding in The Wild: Thor Magnusson
Department of Music
University of Sussex
Falmer, Brighton, BN1 9QJ, UK
[email protected]
Abstract: After an eventful decade of live-coding activities, this article seeks to explore the practice with the aim of
situating it in the history of contemporary arts and music. The article introduces several key points of investigation
in live-coding research and discusses some examples of how live-coding practitioners engage with these points in
their system design and performances. In light of the extremely diverse manifestations of live-coding activities, the
problem of defining the practice is discussed, and the question is raised whether live coding is actually necessary as an
independent category.
Magnusson
10
Figure 2. Wrongheaded
preaching code at the
Arnolfini in Bristol.
(Photograph by Megan
Farrow, Bristol.)
Magnusson
11
Figure 4. IOhannes m
zmolnig
live coding with
Pure Data. (Photograph by
David Griffiths, Falmouth,
UK.)
12
on creating hardware in a live, performative context. An overhead projector displays how members
solder custom audio circuits using microchips,
capacitors, and transducers. Although their performances consist solely of soldering hardware, they
represent a form of live programming, because they
involve the hot-wiring of control structures in real
time.
The list of live-coding practitioners enumerated
here could be much longer, but it sufficiently
demonstrates that there are no specific tools,
practices, or musical aesthetics at play: Live coding
is a fuzzy concept representing a performance
technique with a multitude of practices that do
not share any one essential requirement, except
perhaps that algorithms are written and operated on
in real time. Each of the named practices addresses
specific problems involved in composing with
algorithms, some of which could be summarized as
follows:
r
r
r
r
r
r
r
r
r
r
r
performance contexts. These examples typify approaches to humanizing machines by creating conversational interfaces with them, enabling artists to
issue commands through the notation of code. The
examples also demonstrate how live-coding systems
can range from being open, general programming
environments aimed at general users to being systems with much narrower scope, which can be seen
as musical works in their own right. Boverman and
Hildebrand Marques Lopes Oulipop and my own
Threnoscope exemplify such approaches.
Magnusson
13
Conclusion
14
Acknowledgments
I would like to thank Computer Music Journals
guest editor, Julian Rohrhuber, and Peter Castine for
their invaluable input.
References
Aaron, S., et al. 2011. A Principled Approach to Developing New Languages for Live Coding. In Proceedings
of the International Conference on New Interfaces for
Musical Expression, pp. 381386.
Aycock, J. 2003. A Brief History of Just-in-Time. ACM
Computing Surveys 35(2):97113.
Blackwell, A., and N. Collins. 2005. The Programming
Language as a Musical Instrument. In Proceedings of
the Psychology of Programming Interest Group (pages
unnumbered).
Bovermann, T., and D. Griffiths. 2014. Computation
as Material in Live Coding. Computer Music Journal
38(1):4053.
Bowker, G. C., and S. L. Star. 2000. Sorting Things
Out: Classification and Its Consequences. Cambridge,
Massachusetts: MIT Press.
Collins, N., et al. 2003. Live Coding in Laptop Performance. Organised Sound 8(3):321330.
Collins, N. 2011. Live Coding of Consequence.
Leonardo 44(3):207211.
Collins, N. 2012. Six Live Coding Works for Ensemble.
Available online at www.sussex.ac.uk/Users/nc81/
livecodingworksforensemble.html. Accessed July 2013.
Dubrau, J., and M. Havryliv. 2010. P[a]ra[pra]xis: Towards
Genuine Realtime Audiopoetry. In Proceedings of
the International Conference on New Interfaces for
Musical Expression, pp. 467468.
Freeman, J., and A. Van Troyer. 2011. Collaborative Textual Improvisation in a Laptop Ensemble. Computer
Music Journal 35(2):821.
Goehr, L. 1992. The Imaginary Museum of Musical
Works: An Essay in the Philosophy of Music. Oxford:
Oxford University Press.
Greenberg, C. 1961. Avant-Garde and Kitsch. In Art
and Culture: Critical Essays. Boston, Massachusetts:
Beacon Press, pp. 321.
Griffiths, D. 2007. Game Pad Live Coding Performance.
In J. Birringer, T. Dumke, and K. Nicolai, eds. Die
Magnusson
15
Rohrhuber, J., et al. 2007. Purloined Letters and Distributed Persons. In Music in the Global Village
Conference (pages unnumbered).
Smith, R. B., and D. Ungar. 1995. Programming as an
Experience: The Inspiration for Self. In Proceedings
of the European Conference on Object-Oriented
Programming, pp. 303330.
Sorensen, A. 2005. Impromptu : An Interactive Programming Environment for Composition and Performance.
In Proceedings of the Australasian Computer Music
Conference, pp. 149153.
Sorensen, A., and A. Brown. 2007. aa-cell in Practice:
An Approach to Musical Live Coding. In Proceedings
of the International Computer Music Conference,
pp. 292299.
Sorensen, A., and H. Gardner. 2010. Programming with
Time: Cyber-Physical Programming with Impromptu.
ACM SIGPLAN Notices, 45(10):822834.
Swift, B., et al. 2013. Visual Code Annotations for Cyberphysical Programming. In International Workshop on
Live Programming at the International Conference on
Software Engineering (pages unnumbered).
Tanimoto, S. 1990. VIVA: A Visual Language for Image Processing. Journal of Visual Languages and
Computing, 1(2):127139.
Ungar, D., and R. B. Smith. 2013. The Thing on the
Screen Is Supposed To Be the Actual Thing. In
International Workshop on Live Programming at the
International Conference on Software Engineering
(pages unnumbered).
Wakefield, G., W. Smith, and C. Roberts. 2010. LuaAV:
Extensibility and Heterogeneity for Audiovisual Computing. In Proceedings of the Linux Audio Conference
(pages unnumbered).
Ward, A., et al. 2004. Live Algorithm Programming
and a Temporary Organisation for its Promotion. In
O. Goriunova and A. Shulgin, eds. Read Me: Software
Art and Cultures. Aarhus: Aarhus University Press,
pp. 243261.
zmolnig,
I m. 2007. Patching Music Together: Col
laborative Live Coding in Pure Data. In Proceedings of the Pd Convention. Available online at
artengine.ca/catalogue-pd/4-zmoelnig.pdf. Accessed
September 2013.
16