The third iteration of AlgoMech, the Festival of Algorithmic and Mechanical Movement is coming up, 16-19th May. There’ll be an exhibition, talks, workshops, concerts, and a club night with full-on algorave, all the overall theme of interlace, with various takes on movement and braiding.
January – Another busy year, starting with a cheeky Algorave in Nottingham organised by the mighty Coral Manton, a quick CCAI collab to an audience of computer games people.
Later in the month it was on to the textile centre in Haslach, Austria with the PENELOPE team, enjoying the amazing machines there including driving a TC-1 loom with TidalCycles. I later wrote a short article about this experience “Fabricating digital art“, in the book Parsing Digital edited by Sally Golding and published by the Austrian Cultural Forum.
Rolling into February, my amazing wife Jess passed her PhD viva, and I travelled up to Aberdeen for the very friendly sonADA festival, where I had fun doing a performance and workshop, and got to meet Suk-Jun Kim and the laptop ensemble Shift-Enter.
On to March, and another performance and workshop, this time in Limerick, hosted by the Digital Media and Arts Research Centre. I think this was my most enjoyable workshop ever, the students were really into it and it felt great having a solid two days to go through everything. The performance in a local pub was also an absolute blast. This was organised by Giuseppe Torres who I hear is planning a big live coding event in Limerick 2020 – watch out for that one as the craic is not to be missed. It was also great to catch up with another Limerick resident Nora O’ Murchú of Cat++ fame among other things..
I also did some big shows in march – CCAI live in the mighty Hope Works warehouse in Sheffield supporting Peder Mannerfelt, Errorsmith, and Helena Hauff… A big step up for us, with some technical problems (huge bass + dodgy usb connections don’t mix) but we managed to pull it off. Thanks to Hope Works mastermind Lo Shea for getting us involved. Then over to Southport for an Algorave takeover at the Bangface weekender. This festival is legendary and it was a huge privilege to play there! It went off pretty well with a nice crowd joining us for some solid algorithms.
This was also the month for the increasingly traditional Algorave birthday live stream, celebrating our sixth year with a pretty much continuous live stream. We kicked this off with an eulerroom in Access Space Sheffield. Check our CCAI set from this below..
April saw more performances, with a multichannel workshop and performance in Karlsruhe, connected with the ZKM open codes exhibition, where one of my old pieces forkbomb.pl was shown. I still regret not having time to look around this exhibition, which looked amazing. Thanks to Patrick Borgeat for organising the workshop + show.
Then up to my former employer University of Leeds for an ‘algorave assembly’ organised by Dan Merrick there, the school of music transformed with haze and lights. I performed solo there, but for eulerroom in Sheffield the next day teamed up with Heavy Lifting for a duo we are more recently calling “Epiploke”.
May started with doing a solo performance at a nice event at DINA Sheffield called Plethora, organised by some local students, followed by a streamed performance to Algorave Moscow the next day. The standout of this month has to be a trip to Reykjavik for the lovely RAFLOST festival though, traveling on with my wife+son for a holiday around the golden circle. Iceland is amazing. Big thanks to Ríkhardur H. Fridriksson for the invitation + organisation.
Onwards to June and to Berlin for a tidal workshop and performance at an event at modular+ space, put together by the excellent Peter Kirn of CDM.
Back in the UK and to an Algorave at the Cheltenham Science Festival. This was a lot of fun, and a relief as it went down well, after I’d previously had a major tech failure at the Cheltenham festival of literature.. My extended family lives nearby and were raving it up at the back..
Then out to Porto for the fourth edition of the Live Interfaces conference, which I started in Leeds back in 2012. My contribution was a paper with Dave Griffiths and Ellen Harlizius-Klück: Digital Art: A Long History, and the closing algorave was an absolute blast.. Does anyone ever make a conference without an algorave any more? The month finished off with a stream to Algorave Bristol, organised by Carol Manton again.
July saw the culmination of my “Pattern+Code” residency with Childrens’ Media Conference in Sheffield, which I failed to mention until now. This involved working with a year group (two classes full) of Y4s (8-9 year olds) from Wybourn Community Primary, hiding knots in string (inspired by Quipu) and doing algorithmic drumming circle workshops with tidal. I’d developed it all with Y6s in mind who unfortunately weren’t available, but the Y4s were totally into it, and made a beautiful collaborative textile and amazing noise music. Jon Harrison filmed the drumming circles beautifully, the example video doesn’t fully do the performance justice, we’ll sort out a version with proper sound (and visible screens) soonish..
The results of the workshops were exhibited in the Playground exhibition, big thanks to Kathy Loizou, Sharna Jackson, and Darren Chouings for hosting me and making it all possible. I also worked with some amazing older kids from Crofton Academy in Wakefield, who came down to join me for a riotous live coding performance in the exhibition itself, getting the audience raving.. They were so cool.
Later in the month and more CCAI activity, with an early morning off-tramlines show in the dearly missed Audacious arts space in Sheffield, as a nice warm up for the awesome Bluedot festival in Jodrell Bank. This was masses of fun, teaming up with top algorithmic visualist Coral Manton. A nice video too, the CCAI excerpt below but check the full video here, it was a great show, we were happy to fill up a huge stage by the end!
The final show of July was a collaboration with Jake Harries at the Festival of the Apocalypse back in Access Space, Sheffield. Despite collaborating on many activities we hadn’t played together as Silicone Bake for a good couple of years and it was amazing. I controlled some solenoids with tidal to tap out rhythms on some junk while Jake played guitar and sang late-capitalist lyrics gleaned from spam emails. We’ll have to do more of this in 2019!
August was mostly a time for holidays and planning for a visit from four fine people from Tokyo – Atsushi Tadokoro, Akihiro Kubota, Chiho Oka and Renick Bell, thanks to funds from the Arts Council/British Council, Sasakawa Foundation and Daiwa Foundation. On the way to Sheffield we met in London for a cheeky algorave in The Glove That Fits in Hackney, where I had an all-to-rare collab with Matthew Yee-King as Canute.
But the main celebration of their visit was in Sheffield at the start of September at Livecode Festival. I didn’t originally mean to organise a festival, but it just sort of happened that way! It was a fantastic couple of days with people contributing talks, performances and workshops from all over. The algorave was maybe the first one to have two rooms which went really well, we filled both rooms in DINA with one more chilled out room and one for full-on algorithmic bangers. Great times!
Later in the month I had a nice trip to Gothenburg, to take the role of PhD opponent for David McCallum’s thesis “Glitching the Fabric: Strategies of New Media Art Applied to the Codes of Knitting and Weaving”. it’s a lovely book and happily the result of the viva was a pass. This was my first involvement with a PhD examination (apart from my own), and I really enjoyed the Swedish take on it.
October began with a surreal and wonderful experience put together by the ever-imaginative Leila Johnston called the “Induction Meeting of the Holy Order of Logical Operators”. I was part of a strictly limited participatory group of people exploring an unusual sci-fi future through strange new customs and thought experiments. I lead an algorithmic drumming circle and did a few live remixes of the skype ringtone. I can’t really say more than that, you really had to be there and really should be at Leila’s next event as it’s likely to be equally inspirational (but probably totally different).
After that it was off to the PENELOPE laboratory in Munich to meet the incredible e-textile artist Sandra de Berduccy (aka Aruma) visiting from Bolivia. I spent a short while adding sound to one of Aruma’s textiles and really hope to bring her to Sheffield for Algomech festival next year. The results were shown alongside Ellen Harlizius-Klück’s textile works as part of RODEO festival, and my main contribution was a collaborative performance with Giovanni Fanfani and Dave Griffiths – Giovanni recited ancient Greek poetry while Dave controlled textile robots and I tried to match Giovanni’s shifting poetic metre with live code.. Plus a spot of audience participation at the end with some algorithmic drumming circle action.
Then back to Sheffield for No Bounds festival in Hope Works, an extra fun algorave take-over powered by the mighty FTF soundsystem as part of the Off Me Nut opening rave-up. I teamed up with Sam for another CCAI techno set in an rammed mini warehouse with massive speakers, perfect. More thanks for Liam for getting us involved!
November was all about Japan, part of the Yorkshire return visit, travelling with Lucy Cheesman and Joanne Armitage. This was an absolute blast, my first time in Japan, having amazing times at algoraves and workshops across Osaka and Tokyo, and just walking around the place. Full report coming soon, but below is my excerpt from the DOMMUNE live stream we did, and you should see all the Tokyo x Yorkshire performances in the full video, that was a good time.
While in Tokyo I was very happy to meet Japanese braid expert Makiko Tada and learn how to do Kumihimo braiding.
The perfect event to wind down into December was the “Apocalyptic Folk Club” in Sheffield. This might well have been my favourite event of the year just because I had no idea who would show up to play. In the event we had a full house, including loads of totally amazing musicians. Everyone had to be open minded because the advertised brief was brief and strange, which created a lovely atmosphere as people sat down and listened to all sorts, from improv noise on handmade instruments, to a duo singing a folk tune, a singer-songwriter banging out a number, someone performing extended guitar techniques, all sorts of strange instruments being brought out of boxes, and the odd bit of live coding. It was all amazing, and hope to find a way to continue it in a way that lives up to the dizzy heights of the first event. My contribution was to live code the tune behind a few different songs – The Red Flag, O Tannenbaum and O Christmas tree. I handed out the lyrics to all three and let everyone choose which version they sung. The result was chaotic and I think beautiful..
I’ve missed out a few things, including great tidalclub meetings, and the final meeting of the year was in the form of a winter solstice algorave.. Great to squeeze in one more collab with Sam as CCAI and Lucy as Epiploke.
One accomplishment I’m really happy about is getting Tidal 1.0.0 out, featuring a major refactor and lots of new features including a new wiki-based website documenting it all. This took a lot of my time over a couple of months which happily was partly remunerated thanks to many kind people sending me ‘coffee’ via my ko-fi.com page. This felt really great and although don’t want to spend too much time asking for donations, this is something I’d like to build on in the new year.
That’s it for now! I’ve probably forgotten more than I remembered in the above, but it’s been a fun and productive year.
Here’s my set from the Tokyo x Yorkshire show live on DOMMUNE last month:
It was a lot of fun, you can see the whole show over on the eulerroom channel featureing 2.5 hours of top performances and a two-hour bilingual chat.
I’ve had a great time exploring Kumihimo braiding lately, beginning with tuition during a visit to international expert on braids Makiko Tada while touring Japan (more on that soon). I’ve written up a full report over on the PENELOPE blog. You can keep up with our PENELOPE textile adventures by following us via our twitter feed or facebook page.
TidalCycles (aka Tidal) is a Haskell DSL for making (usually musical) pattern.
I’ve put a lot of time into Tidal the last couple of months, starting with preparation for an advanced tidal workshop in Tokyo, but things got out of hand and ended with a rewrite of its innards, solving some long-standing issues. It feels like I’ve only recently grown to understand what tidal really is in the process of writing (and rewriting) it over many years, and I’ve finally got to put that understanding into action. I’ve had some really useful feedback from the Haskell community in the past and so thought I’d write this post as an effort at getting feedback on this latest iteration.
Tidal is all about pattern. I’ve tried to explain what this means in terms of types in this wiki page – What is a pattern?
That page talks through the first bit of Sound.Tidal.Pattern, which also contains applicative and monad instances for patterns. The previous attempt at these didn’t conform to the applicative and monad laws, but these new versions hopefully are much closer to the mark. I’ve found though that
join aren’t enough for Tidal. I also need
<* for where pattern structure comes from the left, and
*> for where it comes from the right, where
<*> comes from both sides. Similarly, as well as
join (which I’m calling
unwrap) I needed to make
outerJoin. You could have a look at the Combining pattern structure wiki page to get an insight into why these are needed.
Tidal is my only real haskell project and I’ve learned haskell through (admittedly many years) of writing/rewriting it, so all insights much appreciated!
There has been a couple of instances where Haskell fans have been immediately turned off by Tidal, I think because of the large amount of strings used in Tidal code. These strings are actually overloaded, a parser in Sound.Tidal.ParseBP silently turns them into well-typed patterns (which are functions of time, and not strings or lists). Anything in those strings could be expressed in Haskell code, but with a _lot_ more keypresses. This mini-language is heavily influenced by the representation of cyclic structures Indian classical music (i.e. Bernard Bel’s BP2). I’d really like to get to the bottom of why people don’t like the look of these strings though, and whether there is a better alternative.
All feedback, suggestions and criticism much appreciated!
Too long; didn’t read? Basically, please buy me a coffee or so by pressing this button:
I’ve been doing a lot of work on TidalCycles lately. Tidal is very much a labour of love, I’ve put a lot into it over the past decade, motivated by the fun of making music with it and of enjoying what other people are doing with it. That’s not sustainable though, so I’ve been looking for ways of asking some money in return.
I’ve looked at patreon.com, but it doesn’t sit well with me. It seems high maintenance, and doesn’t fit with my motivation to work on Tidal for the fun of it, and not turn it into ‘content’ to be delivered..
I’ve also looked at liberapay, and used it to raise money for server costs. This has actually been really successful, I raised nearly €500 which covered server costs for we.lurk.org, post.lurk.org, talk.lurk.org, algorave.com, toplap.org etc for a while (thanks!). This also made me feel much better at helping keep these things going, that people are up for chipping in some hard earned cash. That money has probably run out by now, there’s a few of us running these services and we’ll look into being a bit more organised about accepting donations.
Liberapay doesn’t feel right for tidal development either, though. It’s based on an anonymous donation model, which is great for some things, but there’s no way of directly thanking people who donate (if you’re one of them, really, thanks!).. Or doing any community building around it.
I’ve also tried crowdfunding. This has been a great experience, I met my funding ‘goal’.. But in truth, crowdfunding is more a way to get people involved in a project than fundraising.. I’ll likely end up in the red overall. Plus I’ve found it really hard to get as far as finishing the project.. People have been outstandingly patient, but it’s been a very long haul (two years late!!). I will get there, though.
Anyway, now I’m looking at ko-fi. This seems to fit much better. No stress for ‘creators’ or ‘supporters’ to detract from actually making stuff. One-off or regular payments, that go straight to me (no extra platform fees). Plus a nice coffee metaphor.. It’s going to take a lot of coffees to get Tidal 1.0 done so I’d really appreciate your support!
One last thing – one reliable way to fund tidal dev that I’ve found is by running workshops. If you’d like to host a one or two-day TidalCycles workshop next year, please get in touch! There’ll a lot of new stuff to learn + share.. Same goes for talks and performances, of course.
Also get in touch if you have ideas for other ways to make tidal happen..
I’m a big fan of wikipedia. It’s by no means perfect, but it’s undeniably a fantastically useful resource, created by people giving their time for free, to share and enjoy. There are of course hidden barriers to participation, but in theory anyone can make an edit or create a page (as long as it’s not about themselves – that’s considered bad form and can backfire spectacularly).
Here’s a quick guide to creating a new page on wikipedia:
- Although you don’t have to create an account to edit a page, you do have to create an account to create a page. This actually makes you more anonymous – otherwise your net connection’s IP address will be shown publically. That’s as long as you choose a name that doesn’t identify you (I do, but probably should – I’ve received legal threats for my edits in the past!).
- I advise not using the article creation wizard. In my experience, that’s a hotline to a well-meaning person, who will however not have any domain knowledge, and will likely be looking for pedantic reasons not to accept your article rather than for reasons to accept it. This makes for a very slow and frustrating experience, and not a joyful sharing of knowledge.
- Instead – just create the page! You can do this by going to the URL for it. For example, if you want to create a page about “blue widgets”, go to https://en.wikipedia.org/wiki/Blue_widgets.
- Well, if this is your first page, that’s probably a bad idea, create it in draft form first by going to https://en.wikipedia.org/wiki/Draft:Blue_widgets. Once you’re happy with it, copy the contents across to the real thing.
- It’s a good idea to find a page similar to your topic, click edit, copy the contents, and then paste it into your new draft as a starting point.
- It’s worth noting that once you start contributing to wikipedia, you are part of it! Wikipedia is not a separate entity from you; likely all the people you’ll interact with will be working in a voluntary capacity, just like you, and decisions about notability and so on are made by consensus.
- However! Unless you’re careful, your new page will likely be ‘speedy deleted’ for not being notable. Despite what some believe, there are no hard rules about what makes something notable, but there are a lot of guidelines.
- So at first, your page will probably not really be about the thing, but instead about how notable the thing is. You can flesh it out with more useful stuff later. For example, here’s the current (at the time of writing) version of an article I just created. The first sentence briefly says who the subject is, and the sentence says why they are notable. Importantly, there’s links to three or four mainstream media articles directly about the subject. Without these, someone will probably speedy-delete the page. You could look into the notability guidelines, but as long as you have some decent mainstream media and book references, you’ll likely be safe. Look on google news and google books to find them.
- (If you can’t find such references, then probably the subject isn’t notable by wikipedia’s definition of the word, and you might be wasting your time with this one)
- Adding references like this is actually really easy – just click the ‘cite’ button in the editor, paste in the URL to a webpage representing the thing you want, and make sure you both confirm and add what it gives you (this involves pressing a button twice, otherwise you lose it – I do this every. single. time.). Apart from that you just have to add a reference section to the end.
- Once you’ve created your page, it’s definitely worth keeping an eye on it (e.g. via your ‘watchlist’), so that you can contest nominations for deletion and so on.
That’s it. Good luck!
Bluedot 2018 was a great time, here’s a nicely live edited film of it.. Catch Sam + me as CCAI from around the 2h1m mark.. As well as top stuff from Innocent, Digital Selves, TYPE and AlgoBabez.
The idea was to work with schoolchildren to explore pattern encoding through textiles and live coding. It’s been a rollercoaster, getting a lot done in a short amount of time, but was really rewarding.
I worked with sixty Y4s (8-9 year olds) at Wybourn Community Primary, first making a big quipu-inspired structure, the tangly thing above. I had half a day with each class (30 in each), teaching them how to self-ply yarn to make quipu-like strands (with a loop one end for cow hitching), teaching them to tie numbers as quipu knots, and then having a free-for-all where they tried hiding messages in string, starting with their age and then moving on to hiding letters and so on. This bit was far more difficult than teaching them to do live coding later on, quite a few weren’t confident with knot-tying to begin with, but they all managed to produce something in the end, with a wide variety of structures… and once I’d hitched them all onto a main strand I think they looked marvellous.
I also worked with the same year group on Algorithmic Drumming Circles, this time in groups of eight. I had just one hour with each group to introduce the concept of live coding, teach them enough Tidal to get them making music together, and capture a performance to be played back at the exhibition. The first couple of groups didn’t have parental permission for the filmed, so I had the opportunity to try some different things out. I had some playing cards prepared with fragments of code for the kids to put together and type in, but I decided not to use them after the first try. In fact, it seemed the more I constrained the task, the more creative the children would get. So in the end I only gave them two sounds each to play with (a high drum and a low drum – each computer with subtly different drums/tones), told them how to make sequences, and some functions for transforming them with some higher-order stuff. They responded to this really well and we actually managed to capture two performances with two of the groups and still be done by end of the hour!
I say ‘we’, it was actually my friend Jon Harrison who did the filming. It was a challenge to capture the circle, Jon managed to get a nice camera attached to the ceiling to film from the top-down, the results are excellent.
On the technical side, I had eight Pis tightly synced together (using ptpd), each running Tidal, Dirt and my new feedforward editor. I had all the keyboard events captured with accurate timing so that the live coding could be perfectly recorded and played back in the or the exhibition itself, the computers were set up in the same way, but without keyboards, and had the film projected down onto the floor. It works well I think, seeing these ghostly children type, and thanks to some network magic, you can look at the screen and see what they’re typing, as well as hearing their music come from their speaker. You can really see where the children hear something they like that one of their friends is making, run round to look at the code, then run back and try out their newly learned technique. Free software at work. With a different rhythm coming from each speaker, all nicely locked to the same tempo, the result is pretty cosmic, eight-channel rhythmic free-for-all that somehow gels at several points into some really nice techno grooves, and at other times breaks up into noisy experimentalism. The kids clearly enjoyed themselves a lot. We captured five different performances in the end that the installation cycles between.
Although we did have parental permission to film the children, we’re still not going to put the films online, as the children themselves might well not want films of themselves on the internet as they get older. But you can still see the work in the Playground exhibition at the Millennium Gallery in Sheffield for a few more days. I might put the music up at some point but the eight-channel nature of it is a bit problematic.
I’m left with a familiar feeling from this kind of short, intense project – the memory of a strong, uncertain feeling at the start of the project when there is a vague idea that seems impossible, mixing with the fleeting elation of somehow having managed to pull it off. I’m looking forward to taking this further, probably working with adults next to see how they can compete…
Anyway it’s not over yet – the exhibition goes on, and tomorrow (Friday) I work with three older kids from a different school – Crofton Academy in Wakefield – for a live performance in the gallery from midday.. Then celebrating with an (adult) Algorave in the evening..
As a result of this project I’m actually much closer to finally releasing my long overdue Spicule album. I put a lot of work into the feedforward editor to make it usable and robust to 8 year olds, and a lot of Raspberry Pi optimisation to make it all sing. More on all that soon..
Anyway thanks to the kids + teachers (esp Julian and Jane) for getting involved, Jon for filming, Kathy and Darren and the rest of the CMC crew, plus Rosie + Laura from Millennium Gallery for all the support! Plus Arts Council England for funding the whole endeavor.
Here’s a quick demo of a ‘simple’ dialect of tidal. Basically it
- avoids parenthesis, `#` etc, through a small, simple library of shortcuts (faster, slower, higher, lower, crunch, quieter, louder, skip, etc)
- allows you to just put e.g. `”bd sn”` and it’ll assume you meant
s "bd sn".
- that’s it
I’ll be trying this out with a large number of 8 year olds soon..