An Interview with Thorsten Sideboard


    Thorsten Sideboard is the creator, primary coordinator and curator for the Algorithmic Art Assembly - a conference that started last year, and really caught people's attention for its strong lineup of speakers and performers, and for having the right 'feel' for meeting great new people. In this interview, we catch up with Thorsten, find out what's happening with AAA, and learn a little bit more about his practice as well.
    The Algorithmic Art Assembly in action!
    The Algorithmic Art Assembly in action!
    Darwin: Thorsten, thanks so much for joining us. You are the coordinator for the Algorithmic Art Assembly (https://aaassembly.org/), a conference that kicked off last year. Could you tell us a little about it? Thorsten: Yeah, certainly! I was inspired to start Algorithmic Art Assembly after a trip to the UK in 2018. I was out in Sheffield at the Livecode Festival #2, which was organized by Alex McLean - who I've known since working with him in London in the early 2000's. He was already working on a Perl live coding environment in the band Slub, alongside Ade Ward. The Sheffield event was wonderful, and I got to meet so many community members whom I knew from their TOPLAB forum/chat posts. The majority of people were using TidalCycles and Foxdot, but there were a number of others, like myself, who had been building their own systems, such as Claude Heiland-Allen's 'clive', and Neil C Smith's PraxisLive; That was also the first place I came across Hydra which loads of people were using for visuals at the algorave.
    That whole weekend was incredible and opened my eyes to how much work goes into building and supporting such communities, all very inspiring. Although there are a number of amazing art organizations here in San Francisco (such as Dorkbot, Gray Area and The Lab) all doing interesting art and tech, I hadn't found any livecoding community, so I decided to try and create an event myself. Feeding into that brew of ideas was the then recently released book, The Oxford Handbook Of Algorithmic Music, which featured a paper by Mark Fell, an artist I've long been a fan of. So the idea of having Mark play was baked in from the beginning.
    By not focussing solely on Algorave/Livecoding, it meant I could open up the event to a more broad category of algorithmic arts, such as VR and gaming, friends/artists working with Max/MSP, the Google Magenta team, even local artist Windy Chien, who works with a very different sequence of operations - knot tying! I had often been going to Gray Area events and knew Josette Melchor, the then-director, well enough to say hello. I reached out to her with the idea for doing it, and began working with her and Seabrook Gubbins, the production director there. They were fully onboard with the idea, and absolutely incredible to work with. It was the perfect venue for the event, set in a beautiful old art deco cinema, and with an eight channel sound system (which I believe we have Naut Humon to thank for that!). The lineup came together from a few different paths. I managed to get Mark Fell's contact via Alex; I knew Spednar and Kindohm from chatting online via TOPLAP. Kindohm recommended Sebastian Camens and William Fields; William Fields recommended Adam Florin; I had met Renick Bell, Digital Selves and Shelley from ALGOBABEZ in Sheffield the previous year; Windy, Joshua Clayton, and Jon Leidecker I had known for many years from here in SF; Spatial and TVO were both friends and label mates from London; Others I had seen perform or talk, and it all came together very organically.
    The event went so much better than I could have imagined - the feedback from the audience, artists, the venue - was incredible! For anyone reading, who hasn’t seen them - all of the talks and performances were recorded and are uploaded to the Algorithmic Art Assembly YouTube channel: https://www.youtube.com/channel/UCJBkAVEuct1mx0ehLY1LkzA/playlists Unfortunately, the COVID-19 pandemic really has put a dent in your plans for 2020. How are you going to cope with the changes that this is causing? Yeah, the 2020 edition was due to take place on the 27th and 28th of March, right at the beginning of this stay-in-place order. I had been aware of the outbreak in China since January however, so it had been in my peripheral vision and wasn't a complete surprise to be shut down. Initially we moved the dates to June, but that's not going to happen. At the moment, I'm just waiting to see where we land before making any further plans. So far I'm not considering moving it online - running and co-ordinating an online event seems a very different workload, and I had always thought of AAA as being grounded in San Francisco. We'll see! What is it about 'algorithmic art' that captures your attention? My first experiences with algorithmic art again goes back to those early 2000's in London. When I started working with Alex, he had recently been awarded the Transmediale Software Art award, for forkbomb.pl, a 10 line perl script that crashed your machine by forking the process, while creating patterns along the way. Around that same time, I remember also hearing about Ade Ward's Auto-Illustrator software, the idea of which was that the tools don't always follow the users intention. That sort of irreverence for code was quite inspiring. For me then, I think of algorithmic art as being a punk/hacker aesthetic for misusing tools, for focussing on the process and the methodologies, as much as the outcome. And who are some of the people whose work you find inspiring? The field of algorithmic art is so broad, I'm definitely more aware of people doing strange audio, as opposed to visual or VR works. Of those that stand-out specifically, Mark Fell for sure; Also Farmers Manual. Recently I got to meet John Bischoff, who was putting on an RM Francis gig . He was lovely and showed Robert and I around the Center for Contemporary Music at Mills College. I had read a brief history of The League of Automatic Music Composers and The Hub, but since then I've been corresponding with John and he sent me over a bunch of amazing texts regarding their early experiments as a computer networked band, back between 1978-1983. Another local Bay Area local I had the luck of meeting recently was Phil Burk. He wrote a live coding language in Forth back in the late 80s, called HSML - Hierarchical Music Specification Language. I was aware of the language due to an exhibition that Mark Fell and Luke Fowler had curated at the Whitechapel gallery in London. I went to see Phil do a talk on the language at the Audio Developers Conference in London, September 2019. When I went, I hadn't realized that Phil was one of the original authors of the language, nor that he was from the Bay Area! He was on the bill for this year's Algorithmic Art Assembly.
    Oh, another person who was on the bill for Algorithmic Art Assembly - Curtis Roads - it blows my mind that he wrote his first digital granular synthesis engine in Algol on a Burroughs B6700 mainframe. Funnily too - the Burroughs could not actually produce sound, so he had to write the output to a tape and transfer to a DEC PDP-11/20; if you're a Unix/Bell Labs history geek like myself, you would also know that the PDP-11/20 was the machine that Ken Thompson and Dennis Ritchie used for the first implementation of Unix! You have your own algorithmic practice as well. Could you tell us a little about that? I have my own music live coding environment called Soundb0ard.
    I started a new job in 2015, working with embedded devices at Nest, and programming in C/C++. At that time I didn't have any C experience, and needed to get up to speed quickly. I had been dabbling with an audio shell - an interactive REPL with which you could launch and control different oscillators. It was written in Go at that time. I decided to port what I had to C and continue working on it - and that's what has grown into SBSH or Soundb0ard Shell. It wasn't based upon any specific live coding language or experience, but was definitely inspired by knowing about TidalCycles, and the general idea of a text based music making environment. I had been using Ableton for years, so a lot of my mental model came from Ableton, and at first I sort of thought of it as a command line Ableton.
    I first learned how to program sine waves from reading http://basicsynth.com/. The REPL/shell interface came shortly afterward, and in fact had been inspired by one of my first C projects, writing a shell in C. As a sysadmin, I always liked software where you could attach to a running process and interact with it for status and control. With the basic shell in place, I started adding more functionality to it. I wrote my own sequence engine for triggering samples (using libsndfile for opening files). (Note: more recently found a ton of great ideas for the sequencer from reading Step by Step: Adventures in Sequencing with Max/MSP, so thanks to Gregory for that! ). My two main synthesis engines, for subtractive and FM synth, both come from example code in Will Pirkle's Designing Software Synthesizer Plug-Ins in C++, and I came up with my own granular synthesis engine, which was based generally on what I'd read in Curtis Roads’ Microsound, but more specifically on the UI descriptions in this Robert Henke post about Granulator II. It's grown quite a bit in the past few years. The first implementation of my REPL was pretty much a massive nested if/then/else loop. In early 2019 I started a rewrite of the interpreter so I could implement a real parser/lexer/evaluator. That took around 6-8 months, and wasn't actually making any sound during that time. I used another amazing book for implementing that - my namesake, Thorsten Ball's Writing an Interpreter In Go - even though that code was for Go, the code and the tutorial were so clean and concise it was easy to transform to C++. Since around mid-January, it's gotten back to full functionality, with a new interpreter based on a more complete mental model. The REPL shell interacts with the mixer, which you can add sound generator objects to. These in turn can be controlled by launching timed processes, e.g. 'EVERY x steps' or 'OVER 16 bars do..'. I've had the opportunity to play several gigs this year with it which has been fun. I made the decision early on to use the https://www.ableton.com/en/link/ header-only library as my clock. That has proved an excellent decision, as it means I can synchronize with any other software which has the capability, of which there are many, it’s really become somewhat of a de facto standard. Just before the Stay-at-Home measure was put in place, we had a live coding gathering at my house, with 5 of us all in sync via Link. We had three on TidalCycles using Carabiner to sync to Link, one using a livecoding environment with Ableton, and myself on SBSH - all banging out noises! I hope we can get back to that someday soon! I think that sometimes people might have difficulty finding an 'on-ramp' into some of the code-heavy aspects of this form of artwork. What do you think are the best ways to get inspired by, and start learning about, algorithmic art development? The Nature Of Code by Daniel Shiffman was the book that really managed to pull together creativity and coding for me. A friend, Matt Spendlove, mentioned it on a mailing list shortly after it came out, and I picked up a copy. It’s using the Processing environment, and I think the simplicity of Processing is a nice on-ramp - having just the two functions - one for initial startup, and the other for each tick. It takes care of most of the code book-keeping for you, allowing you to focus on your art idea. Daniel's YouTube channel is legendary for his energy and teaching, but even in prose, his enthusiasm comes across so amazingly!
    Learning to code is hard, and at first it hurts your brain in ways you're not used to. I think the best way to learn, whether for art or otherwise, is to find a project you're enthusiastic about. Focus on the end goal rather than the code, and rather than trying to digest chapters about data structures and algorithms, focus on achieving something specific - making a noise, moving a pixel across a screen - hack together just enough code to get something working. With that you get excited, you get the dopamine rush, and then I think it's easier to go back and learn more about the code. Going back to Daniel Shiffman, I love coding along with his YouTube videos, and often encourage others to start there. Last night I coded along to his Lissajous Curve Table challenge! https://www.youtube.com/watch?v=--6eyLO78CY
    Thanks so much for the info, the background and the pointers to some amazing information. Cheers!