Welcome to my web garden! I'm an artist programmer and researcher, based at the southwest corner of Lake Ontario (Cootes Paradise, near Hamilton, about 60 km south of Toronto). I work as a Professor in McMaster University's Department of Communication Studies and Media Arts, where I coordinate the Networked Imagination Laboratory (NIL), and teach in our undergraduate and graduate programs.
Here are some of my interests: improvisation, audio, generative art/music/design, live coding, game design and studies, network music, computing and networking as an artistic medium, artist programmers and artist programming, free and open source software, open culture, laptop orchestras and audiovisual ensembles, DIY, sound studies, software studies, alternative grading, functional programming, programming language design, computational play, real-time strategy (RTS) games, media arts in relation to fascism/anti-fascism, game sound, sound synthesis, web audio, graphics programming, nostalgic computation, gardening, hiking, chess, snowboarding and snowboarding games, backcountry camping, maps, seed-saving, web/digital gardening, etc
Here are some quick links to the projects I think people are perhaps most likely to be looking for:
And here are some links to other materials I am collecting as this web garden takes shape:
Below this paragraph are some more detailed entries for various projects I've been involved with over the past 15 years or so. This material was part of the portfolio I submitted when I went up for promotion to Full Professor not too long ago, and I plan to move it around, move it elsewhere, as I develop this website more as a digital garden and less of an academic portfolio.
Projects
LocoMotion (live coding language for dance, choreography, 3D avatars):
Created in collaboration with Kate Sicchio and a team of research assistants (full credits at github repository) at Virginia Commonwealth University and McMaster University
Punctual (audiovisual live coding language):
Punctual is a live coding language that aims to use similar abstractions for both visual results (fragment shaders) and audible results (audio synthesis), while also providing emphatic notations for transitions between new and old programs.
estuary (browser-based collaborative live coding platform):
Created as the primary outcome of two SSHRC grants, and the focus of ongoing development, Estuary is a zero-installation, web-based collaborative platform for audiovisual live coding, with a dual emphasis on supporting multiple live coding programming languages (in increasingly modular ways) and on enabling networked ensembles (whether across the same room, or around the world).
Cybernetic Orchestra (open laptop orchestra):
The Cybernetic Orchestra is the open, improvising, live coding laptop orchestra at McMaster University, formed in early 2010 and still active in 2023! New members of any level of experience are invited to join at pretty much any time, on an ongoing basis. The group has released five albums, collaborated with musicians from around the area and around the world, and performed at all kinds of festivals and conferences.
- complete Cybernetic orchestra performance diary and archive at NIL website
- playlist of all known Cybernetic Orchestra videos on YouTube
- 0xA album (2020),available on Youtube, bandcamp, and limited edition vinyl
- chiptunes album (2018), available on YouTube, soundcloud, and limited edition CD
- bilingual EP (2015), available on soundcloud, and limited edition CD
- Shift album (2013), available on soundcloud, and limited edition CD
- esp.beat album (2012), available on soundcloud, and limited edition CD
MEDIAART 3L03: Game Design
I proposed the course MEDIAART 3L03 as a new course in the Media Arts program, for 2014, and have taught it 4 times since then. In the second half of the semester, the class forms into a single team to work on a collective game together.
very long cat (tabla and live coding duo):
Shawn Mativetsky (tabla) and I formed this duo in early 2015, to explore network music possibilities (improvising together while staying in Montréal and Hamilton respectively) and the possibilities of combining live coding with specific instrumental performance traditions. The name comes from a quote, misattributed to Einstein, once included in the UNIX 'fortune' program, and suggested to us somehow (I forget how) by Alex McLean, regarding the nature of the radio: "You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat."
- livestream concert at Third Shift Festival 2020, Saint John, New Brunswick
- performance at International Conference on Live Coding 2020, Limerick, Ireland
- livestream performance for algorave fifth birthday, 2017
- performance at Percussive Arts Society International Conference (PASIC 2015), San Antonio, USA
- performance at International Conference on Live Coding 2015, Leeds, UK
- poster at International Conference on Live Coding 2015, Leeds, UK
- performance at New Interfaces for Musical Expression (NIME) 2015, Baton Rouge, USA
- The first "studies" for the group from early 2015: Delay Study and Groove Study
daem0n (guitar/live coding performance piece with autonomous agent):
In the piece Daem0n, I play guitar along with an autonomous agent that live codes the rest of the music, and sometimes I tweak the code it generates as well. I first created Daem0n in mid 2014, ahead of a series of performances in a mini "algorave" tour in the UK, and then continued to sporadically come back to the piece thereafter, making big changes to how it works and sounds (in the first version everything happened within SuperCollider, while in the last performed version SuperCollider was used for machine listening, TidalCycles was used for live coding, and code generation and display was done with JavaScript in the browser). Inspired by the example of George E. Lewis and Voyager, I plan to cultivate the piece over the long term as an improvising partner in a relatively specific musical context/idiom.
…para ser libres… (8-channel networked sound installation):
Collaboration with Alexandra Cárdenas.
extramuros and shared buffer (collaborative browser-based live coding editor and ensemble):
- extramuros code repository and installation/use instructions at github.com (browse)
- performance at International Conference on Live Coding 2015, Leeds, UK with Alexandra Cárdenas, Ian Jarvis, Alex McLean, Eldad Tsabary (watch)
- paper at International Conference on Live Coding 2015, Leeds, UK with Alexandra Cárdenas, Ian Jarvis, Alex McLean, Eldad Tsabary (read)
- pikselfest 14, Bergen, Norway with Alexandra Cárdenas, Alex McLean and Eldad Tsabary (watch)
- TransX, Toronto, 23 May 2014 with Alex McLean and Eldad Tsabary (watch)
EspGrid (synchronization software for laptop ensembles):
- website with downloads and installation instructions (browse)
- engineering brief, 133rd Convention of the Audio Engineering Society, San Francisco (read)
- code repository at github.com (browse)
miscellaneous solo live coding performances 2013-:
- Improvisation on the wall of power at HAVN, Hamilton, 21 May 2016 (watch)
- Algorave set at the Vector Game Art festival, Toronto, 22 Feb 2014(watch)
- Algorave set with armada de lindo at first Canadian algorave, Hamilton artcrawl, 9 Aug 2013(watch)(listen)
miscellaneous software projects 2004-:
- Inner Ear: web-based ear-training software project led by Eldad Tsabary. (github repository)
- apert: node.js-based platform for audio-visual performance on distributed networks (for example: the mobile phones of the members of an audience at a live coding performance).(github repository)
- Analogy: live electronic music, with sound transformations expressed in Csound. Released 2006 and currently unmaintained.(code repository)
- Allegory: expressing combinations of sound transformations in Haskell. Released 2004 and currently unmaintained.(code repository)