Hack circus

Hack circus is a great new quarterly magazine about all the ideas between art and technology. I wrote an article for the first issue, and have an interview between me and Kate Sicchio in the upcoming second one. It seems each issue has a live event attached to it, and Kate and I will be doing a performance at the next one, on the 15th March in Site gallery Sheffield.

Here’s the unedited version of my piece in the first issue. It’s about time travel and computer programming.

A performative utterance is where you say something that *does* something. Classic performative utterances are “Guilty as charged”, “I forgive you”, or “I promise”. Computer programming is when you type something that does something in the future, when the program is run, a kind of promissory performative. Programmers are basically future typists, making promises which get fulfilled more than once, maybe a million times, toying with the lives of different kinds of people, sensing whatever the future state of the world is and doing different things in response. Einstein described the wire telegraph (a prototypical Internet) as a very, very long cat, where you pull its tail in New York and its head meows in Los Angeles. Programming is like that but in between pulling the tail and the cat meowing, its front half might have moved somewhere else, maybe even Sittingbourne, or maybe splitting into a million catty tendrils across the four-dimensional space-time of Kent.  These are the kinds of problems that programmers have to deal with all the time. Worse, programmers don’t get to actually travel with their code into these multiple futures, there are many sad stories where programmers do not see their work being used, and the users might not register that their software was made by a person at all.

Programmers rarely get to travel backwards through time either. The reason for this is that programmers have been trapped in a capitalistic ideal of linear progress towards an idealistic future which doesn’t arrive. The overiding metaphor of time in software engineering is of a tree of development, with its roots in the past, its trunk in the present and branches into the future. The metaphor falls down because what programmers want is for the branches to reconverge back to a new trunk, with all feature and bug requests fulfilled. The point isn’t to blossom into a million different possibilities of the future, but to clump all the branches back into a single woody stump.

When computer programmers finally give up on the future, we could rethink programming around the idea of cyclic time. Instead of writing code to engineer some future design, programmers could write code to try to get software to work as well as it did a few years ago. So far the “revision control” systems which look after these branches of code development do not support merging a branch back to a past version of itself. You can “backport” critical bugfixes, but not twist a branch round to connect the future with the past. If this was better supported, all sorts of interesting applications could appear. The coming apocalypse is one obvious application, requiring current strands of development to connect back to previous ways of life.

Südthüringer-Wald-Institut is a research institute working exactly on this kind of “technocratic doomsday fetishism”, developing technology to support post-apocolyptic research in a cave 200m below the Southern Thuringian Forest in the former East Germany. With a large percentage of technological research ultimately targetting military purposes, programmers and other technologists should certainly bear in mind the possibility that their future may involve a jump back to the past.

So far so gloomy, lets move on to talk about socks. We knit socks and other tubes by using circular needles, not back and forth but around and around in a loop. Programming can feel this way too, particularly when programming while drunk, at night, with a couple of hundred people dancing to the code you’re writing. This kind of activity is known as “live coding”, and is live in a number of different ways. Firstly there’s a live feedback loop between the programmer and their code, sometimes helped along by live data visualisation. Then there’s the feedback loop between the programmer and the music; writing some code, which generates music, which the programmer hears, and responds to by changing the code. Then there’s another between the programmer and the live audience, the audience responding to the music, and the programmer responding to their movements.

But in some sense, programming cannot be live at all. Programmers don’t program *in* time, they program *with* it. Back to that knitting analogy; programmers work with the thread of execution, or the timeline, by working on the higher-order level of the knitting pattern. The thread of time does not run through their fingers, but it does run through their ears, and their computers. Their fingers are instead working on the knitting pattern which are working outside of time, controlling the whole process, composing and manipulating patterns for present and future iterations.

No wonder then that live coders rarely look present at all in the performances they give. Their audience experience the music now, but the live programmers step out of time, abstracted out into an amodal, ungrounded timeless void. In a strange reversal the audience create all the spectacle, and the performers sit quietly in the corner, completely still apart from flurried typing and the occasional sip of mezcal. Maybe the next step for programmers is to learn to work with time while being in it.

This article was written during a residency at Hangar Barcelona as part of the European Culture ADDICTED2RANDOM project.

You can subscribe to hack circus over here.

Weaving code: learning computer programming through pattern and craft

I’m leading a new collaborative project, “Weaving code:learning computer programming through pattern and craft”, with Becky Parry, Kia Ng, and the good folks from LoveBytes and ArtBoat. Ellen Harlizius-Klück and Dave Griffiths are advising as project partners, and Chris Carr will advise on progress too. Here’s the introduction from the proposal:

There is national policy drive to teach computer programming in schools. However, there is a disconnect between programming, and socially-situated learning through play. Our research will bridge this gap, recognising the needs of people, particularly of children, to engage with the social and tangible in order to understand the abstract. Our core aim is to bring pattern making in weaving, together with pattern making in live coding of music, in a pedagogic context. This will ground abstract thinking in social activities, as a springboard for learning. We will reconnect computer programming with its origins in craft, drawing from the inspiration which Babbage and Lovelace took from the Jacquard loom, as well as the development of formal mathematics in Greek antiquity using loom metaphors.

Our first step will be a visit to Masson Mills working textile museum, should be an inspiring trip. This ignite funding came through the Cultural and Creative Industries Exchange in the University of Leeds, and will hopefully feed into bigger things.

Experimentallabor residency

I’m on the way to take part in a short residency in Dusseldorf, hosted by Julian Rohrhuber at the Robert Schumann School:

Fifth Experimentallabor Residency: Penelope’s Loom – Coding threads in antiquity, live notation and textile inspired programming languages
Structure can be result and origin of a dynamic process at the same time – a thought that is common to weaving, mathematics and music. Today, as programming has become a practice that is closer to improvisation than to machine control, this commonality becomes increasingly interesting for the arts. It is along these lines, in the fifth Experimentallabor Residency, that Ellen Harlizius-Klück, Alex McLean, and Dave Griffiths will rethink programming languages in the arts in conjunction with the history of weaving.
Introduction: Wed Feb 5 2014, 17:30, IMM Experimentallabor

Lots more events coming up, full list here.

Looking back on 2013

Time for some reflection on some of the things I’ve made during 2013. I’ll be updating this as I remember things and details..

January was focussed on writing, including some funding applications (ultimately unsuccessful that round, but we’ll get there).

I got out a bit more in February, firstly invited over to the Node13 forum for digital arts, where I did a talk and performance about live coding. Here’s the talk:

We also did some slub gigs, at the Bartlett Nexus (now Plexus) in London, and the Network Music Festival in Birmingham. Ade joined us for the former, making a full Slub trio.

Then in March I was invited over to Audio:Visual:Motion Redux in Manchester, bringing together a panel session with Charlie Gere and Kate Sicchio to discuss digital art, leading into a performance by Kate and I where we connected live choreography and live coding via our notations, using computer vision and machine listening. Here’s the talk:

And here’s the performance, which went OK but we were much happier with a performance we did later in the year, which unfortunately wasn’t recorded:

Onward into April, dominated by the excellent Live.Code.Fest in Karlsruhe, where I talked a bit about Tidal, and did a Slub algorave performance with Dave. We took advantage of the influx of live coders to Western Europe to push the algorave concept forward, with Nick organising one in Brighton at Volks club and me making one in London on the legendary MS Stubnitz, with some video of Section 9 and Andrew Sorensen playing at the latter here.  I also organised the seventh DorkbotSheffield, which went nicely, but turned out to be the only dorkbotsheff in 2013, hopefully we’ll do better next year..

May saw more algorave activity, including some media interest, starting with an interview in Dazed and Confused. Then back on the MS Stubnitz organising another Algorave, which went well and attracted around 200 people, but was a bit stressful to pull together, as the ship was sailing the next day and the crew had a lot of other stuff to get ready for.. Really glad we managed to catch them before they sailed off, though. Dave and I rounded things off with a slightly haphazard slub set, joined by the unexplicable Elvis Ca$h, good fun. This event had a fun write-up in Wired magazine.

Also in May I collaborated again with EunJoo Shin, reproducing our Microphone installation as Communications at the New Interfaces for Musical Expression conference in Korea. Shipping the installation to Korea, and helping installing it remotely was a challenge.. We wrote the project up in a paper, “Paralinguistic Microphone“.


Then around June time I started working within roots band Rafiki Jazz, developing performance technology within the highly fluid and creative environment of large group composition sessions. Some great tracks emerged and fed into a few big performances, a real eye opener for me to be part of this and work with a huge range of fantastic musicians in one band. Some snapshots of these sessions are in this video:

I also started collaborating with Eleonora Oreggia, a.k.a. xname in June, with an intensive performance at Audacious Sheffield, all noise and strobes, which I really loved:

At the end of June I very happily travelled to Bergamo in Italy for the first edition of xCoAx, which turned out to be a really great conference on computation and aesthetics, with a wide range of fascinating contributions. My paper was on The Textural X, and I also did a solo live coding performance in this beautiful space:


July was another busy one, first a highly successful ICSRiM performance at the AIC congress at Sage Gateshead, augmenting orchestral performance with colour animation. Then another performance of Sound Choreography <> Body Code with Kate at the Thursday Club in London, which went rather nicely but we only have this photo as proof:


The Rafiki Jazz project also continued apace, building “Ava the Avatar” with puppet maker Emma Powell, including a vocal tract of sorts, which I was developing a voice for. Here’s Ava being built:


Then on to the Deer Shed Festival, which turned out to be a lovely weekend, where Dave and I ran children’s workshops with Martyn Eggleton, and did some live coding. Dave did a fine write-up over on his blog.

The biggest thing in July though was a few weeks residency in Hangar Barcelona, organised by Lull’Cec. This felt like a once-in-a-lifetime opportunity, and I had great fun running a five-day workshop, writing a lot of software including a rewrite of Texture and writing documentation for Tidal, as well as drinking in the Catalan atmosphere. Here’s a demo of the new Texture:

August was mostly holidays time, including up the coast from Barcelona with my family, but I did manage to fit in one gig, another new collaboration with fantastic and highly accomplished improviser on percussion Paul Hession. The gig was at Cafe Oto in London, part of my reborn “lurk” night of people “making software to make music to drink beer to” that I last did many years ago. We had a full house, and all the performances hit the mark, spot on. Carolina Di Prospero did a nice write-up. Really looking forward to developing this collaboration with Paul further in 2014.


September saw media interest in Algorave continuing, including this interview on BBC 5live “outriders”:

The big event for me this month was the Dagstuhl seminar on collaboration and learning in live coding, bringing together a really smashing group of cross-disciplinary people to take live coding apart and put it back together over an intensive week. This was a fantastic exchange of ideas in beautiful surroundings. The seminar report is packed full of these ideas and will be published open-access in the new year.


There was also the first Rafiki Jazz gig at Sensoria festival in September, here’s a photo from a later gig at the York National Center for Early Music, showing Ava in full flow:


October was a bit of a mad one, starting with a solo live coding performance at a Perspectives on Multi-Channel Live Coding event in Barcelona. These were 16 channel performances, and I managed to do my performance remotely from my studio in Sheffield. I ran my software both locally and in Barcelona, thanks to an osc-over-zeromq hack. I surprised myself by really enjoying working in multichannel sound, and would be happy to do more of this next year..

1376587_713558028473_91183498_n Next was a trip to beautiful Ljubljana for EarZoom festival, where I co-organised/curated some live coding things, including doing a Tidal workshop and talk about Slub, and another intense strobe performance with xname. I always enjoy these smallish festivals, you get to chat with everyone and it feels like a community rather than an intense ordeal.. We got a feature on Slovenian TV, starting here at 3:34.

Then more Rafiki Jazz activity with a workshop and performance in York, and workshop at Platforma festival in Manchester.

I also released a two-track single on Chordpunch, a live recording from Tidal, using patterns from my Tidal Cycles project as source material:

November was another busy one, organising the first Sheffield Algorave, which got an amusing write up on Vice. Here’s a short clip from my set:

Then over to Aarhus for a workshop and Slub gig that went very well.


Then back to London for the enormously fun Electro Anthro Visceral Intensity event organised by the excellent Goldsmiths EAVI group, here’s a room recording of our set:

I then did a solo performance-lecture at Goldsmiths at an event called Re-Configuring the Immune System, and then to Manchester to talk about Tidal to some functional programming enthusiasts at Lambda Lounge. Good to visit the MadLab at last.

At this point I lost my mind a bit, and decided to do a four-hour, multi-channel live coding performance streamed to Piksel Festival Norway, presented as an installation. In the event I took an hour long break for food, as everyone in Norway was having dinner as well, so it was only three hours in total. These remote performances are always a challenge in terms of audience interaction, but I got some good feedback over irc chat, and there was some kind of dancing there:

Then another solo “durational” live coding performance, just two hours this time, at White Building in London. I really enjoyed this one, I think I managed to keep it fresh for the full two hours, all live coded from scratch. I also appreciated Ryan Jordan lending me a strobe for the last section. Sadly I forgot to plug in my recording device, but the great folks from Arte TV joined me for this, so looking forward to seeing the results of their filming in the new year. Here’s a photo for now:


My final performance for November was my second with Paul Hession, this time at the always inspiring PRISM Sheffield.

November was rounded off by this interview about live coding and algorave appearing on Dutch TV:

Then into December, where things slowed down a bit, but did bring one new collaboration with Ayse Thornett at the Confluence project Sheffield, an event series bringing visual art and music together for cross-disciplinary dialogue and practice. I did my usual live coded improv, across four channels, while Ayse painted with her feet. Another great experience for future development..

After the car full of equipment I had to lug across Sheffield for Confluence, I was very happy to just be taking a ball of wool and two needles for my final performance of 2013. This one was another new collaboration, with Susanne Palzer, at her Random Access Performance (RAP) series of “technology without technology” performance art. She provides a physical platform for exploring digital art without using electricity. Susanne performed a piece where she steps on and off the platform (see here for a previous performance at the Sheffield Placard Headphone festival), and I tried to transcode every step into a knit or a pearl, finally ending up with a fabric. Coincidentally, a fellow knitter had used the same wool to knit her skirt, and here is my small rectangle hidden against it. Incredibly, the pattern on the skirt is itself a binary encoding, Monica took a pattern for a dress, but instead of following the pattern, painstakingly knitted the ASCII value of each character in it. By chance, the skirt ended up the same length as it would have done if she’d followed the pattern.


In summary a lot of performances, workshops and events, some papers, and many really inspiring new collaborations. Things got a bit too busy at times, with teaching and journal editing as well, and I’d like to be able to say I’m scaling back on the event organisation next year, but that isn’t to be, as Thor and I have been awarded funds by the AHRC for a two-year Live Coding Research Network.. A lot of fun lies ahead!


All the things

Two more performances this coming week:

First on Thursday 5th December I’m taking part in Confluence project Sheffield, including a live tai chi/dance/paint + live code collaboration with Ayşegül Thornett. Confluence is an event where visual artists and musicians meet and collaborate through discussion and performance.

The next day on Thursday 6th December I’ll be performing at Open platform, Sheffield in which I’ll be trying to do digital performance without electricity, by transcribing Susanne Palzer’s live art actions by knitting (and pearling) her binary ON and OFF actions. Open platform explores Technology without Technology through live performance in small spaces via open calls.

An algorave, two slub performances, a workshop, a lecture-performance, a live coding FP talk, two durational solo live coding performances (one two hour, one four hour), percussive free improv and these two makes eleven events in one month, as well as teaching and sorting out funding proposals for more things… I’m knackered but happy, and there’s more to come..