Category: livecoding

Performing openness in academic publishing

I was unsure about writing this blog post, but today I was turned away from signing up for the openly-advertised University of Sheffield’s Open Research initiative’s inaugural annual Open Research lecture for not being a current member of the institution. So urged on by a deep sense of irony, here I am with a rant about trying to publish a book open access.

After much collaborative work over many years, I’m really happy that the Live Coding book came out a couple of weeks ago, on MIT Press. A fresh editorial team at MIT were really helpful and responsive in taking it over the line, with copy-editing helping iron over the different voices in the book into what I think is a great text that I hope people will enjoy.

Between four of our institutions – the Deutsches Museum, London South Bank University, Nottingham Trent University, and University of Sussex, we raised the $15k subvention necessary from European and UK public funds to make the book open access under a Creative Commons Attribution-Sharealike license. As I understand it, this $15k was required to cover the loss in sales revenue due to the ebook/pdfs being made freely available. Given the live coding topic, it’s great that this means that not only is the book free to read in ‘digital’ form, it can in theory be modified while it’s being read.

In practice though the road was a bit bumpy. Although all copies of the book are openly licensed into the creative commons, some are nonetheless paywalled. Indeed, the ebook is has wide digitally distribution to the kindle, apple, google, kobo etc ebook stores where you can buy access to this creative commons license for $25.99. Unfortunately, the digital rights management (DRM) imposed by the store makes it difficult to benefit from the freedom to share and modify the text that the open license grants you. So really, you are paying $25.99 to lose benefits. No wonder creative commons are against this kind of DRM.

Worse, the MIT Press website steers you towards these digitally-rights-managed, $25.99 paywalls and away from the otherwise identical free-to-download ebook that we paid the subvention for. If you click the big ‘ebook’ button, which tantilisingly has no price next to it (screen shot below), you are directed to the Penguin Random House commercial distribution of it:

To access the ebook for free, you have to instead click on the ‘resources’ tab, and find a link to the epub or mobi ebook download there. Of course, this isn’t a mere resource for the book, but the actual book, so that’s a bit like hiding the free download behind a door that says ‘beware of the leopard’. I did negotiate putting some text on the bottom of the page pointing to this badly named tab, but unfortunately the tab could not be changed and the ebook links couldn’t be added to the front page. It also took MIT over a week after publication to make this resource tab appear, the non-paywalled ebooks weren’t available at all via MIT until that point. [Edit: To clarify, this was due to technical issue with MIT’s service provider which I now understand was causing serious problems across MIT’s site. I didn’t mean to imply that there was anything nefarious in this delay.]

You can also click on the ‘open access’ tab. After a couple of clicks this takes you to a different website, where the book is freely downloadable, but as fifteen separate PDF files. Many people (myself included) would find reading a book as separate PDFs awkward to download/sync to an e-reader, and difficult to read – the layouts are designed for print. So for most people, they’d want to click that ‘resources’ tab.

Actually, although ‘open access’ is a familiar term for academics, according to my (unscientific) poll on mastodon, unless you have an academic background, you probably don’t know what it means. So ironically, ‘open access’ is academic jargon, which acts here to guide the user away from itself.

MIT were happy to discuss all these issues, and to some extent agreed that the situation isn’t ideal, but nothing could really be done. They were open about the fact that they relied upon these ebook paywalls for ‘open access’ books to make the them financially tenable, even with a $15k subvention. They said that ‘epub’ ebook files will in the future appear on the ‘open access’ site alongside the per-chapter pdfs, which is good news. They also suggested we made our own website where the ebook can be downloaded, which we’ve done at livecodingbook.toplap.org, but really, promoting and distributing a book is the job of its publisher.

I believe that MIT Press are a non-profit themselves, so this isn’t about profiteering, but about the pragmatics of publishing research products in a financially sustainable way. The end result though is that authors can raise funds to make their books open access, but the publishers are still motivated to make people pay for them anyway. Actually for this kind of book, authors get some royalties too, so have some motivation to increase commercial distribution of open access books as well. That seems particularly unethical – authors personally paid to subvert the open license that they’ve used public funds to pay for.. When they were salaried via public funds to write the book in the first place! (I hearby pledge to donate my cut to an open source project.)

So I guess open access can be a kind of performance done to placate the funding requirements that come with public funding, and not a genuine effort to make publicly funded work readable by everyone. If you are considering publishing open access, my advice is to think and negotiate hard before signing the contract, to be clear about what versions will be creative commons, which of those will be open access, and how they will be promoted together. The best thing to do is retain copyright, then I believe according to the creative commons licenses, you have control over DRM.

All that aside, it is a lovely book, and it is especially nice to be able to hold a physical copy in my hands, and read it afresh.

Talk abstract: Pattern and groove in live coding

I’m happy to have a talk accepted for the first groove workshop happening in Jan 2023, “an online meeting seeking to bring together researchers from a wide range of domains and with differing research questions and approaches, all centered around the topic of musical groove.” Here’s my abstract:

Live coding is a performing arts practice, prevalent in computer music, where people write and manipulate code to make live music (Collins et al, 2014). It is an umbrella term for a varied range of approaches, but this paper addresses improvised live coding, where performers begin with a blank page, and write code to make music ‘from scratch’. This often take place in nightclub and festival contexts, where people dance to live coded music at events known as ‘algoraves’.

The concept of groove (Duman et al, 2021) offers a challenging viewpoint on live coding. On one hand, groove is an unspecifiable and embodied experience, whereas code is clearly an explicit, formal specification and therefore seen as disembodied. How can groove find a place for itself in code-based music?

The concept of tacit knowledge throws light on this situation by offering the idea that we “know more than we can tell”, the classic example being knowing a face of a friend so that we can spot them in a large crowd, despite not being able to describe their face in words to any level of detail (Polanyi, 1966). Groove is tacit, as something we know without being able to articulate. Accordingly in Polanyi’s terms, we say that groove is proximal – close yet inexplicable, whereas code is distal – distant and therefore explainable.

A key property of tacit knowledge is that proximal knowledge can be used to structure distal knowledge. Applied to live coding, this suggests that although code generates music, from a human perspective, it is rather the close experience of music that structures our understanding of code. We can say then that code is meaningless until we run it and experience its output – only then can we read that code from the perspective of the music. To use another metaphor, the code is the map, the music is the territory, and we can’t read the map until we know the territory.

Through this talk, I will explore the practicalities of this tacit relationship between computation and experience, and generalise it from live coding to heritage pattern-based craft practices.

Voicing code with Eimear O’Donovan – IKLECTIK residency

We had some pandemic-related challenges, but Eimear + I had a great time collaborating as part of a residency for IKLECTIK. Here’s a stream of Eimear + I jamming, with Eimear on voice + drum machine, and me live coding using their voice as source material, using TidalCycles+Superdirt with the live looper by Thomas Grund. Later in the video I introduce some Tidal features implemented during the residency.

Here’s the full info about our residency, including our project blog. Hopefully we’ll be able to perform in a live venue soon !

Live interview with Music Hackspace

I’m really looking forward to joining JB from Music Hackspace to go through the pre-history, history, present and potential future of Tidal, possibly in that order.. Here’s the youtube live stream, if you click on it you should see the date + time in your local timezone, and click to get a reminder:

More info here:

Livestream: TidalCycles – growing a language for algorithmic pattern

Research products

I’ve been enjoying the idea of “research products” as opposed to “research prototypes”. Prototypes are understood as a partially working thing as a step towards an answer to a design problem. Research products on the other hand are understood as they are, rather than what they might become. Here’s how Odom et al describe it in their 2016 CHI paper “From Research Prototype to Research Product”. Unfortunately this is a closed access ACM paper, but you can find a pdf online, for now at least. Here’s the four features of research products that they highlight:

  • Inquiry driven: a research product aims to drive a research inquiry through the making and experience of a design artifact. Research products are designed to ask particular research questions about potential alternative futures. In this way, they embody theoretical stances on a design issue or set of issues.
  • Finish: a research product is designed such that the nature of the engagement that people have with it is predicated on what it is as opposed to what it might become. It emphasizes the actuality of the design artifact. This quality of finish is bound to the artifact’s resolution and clarity in terms of its design and subsequent perception in use.
  • Fit: the aim of a research product is to be lived-with and experienced in an everyday fashion over time. Under these conditions, the nuanced dimensions of human experience can emerge. In our cases, we leveraged fit to investigate research questions related to human-technology relations, everyday practices, and temporality. Fit requires the artifact to balance the delicate threshold between being neither too familiar nor too strange.
  • Independent: a research product operates effectively when it is freely deployable in the field for an extended duration. This means that from technical, material, and design perspectives an artifact can be lived with for a long duration in everyday conditions without the intervention of a researcher.

The Live Loom

I’m finding this helpful thinking about my live loom. It’s not intended as a commercially viable product, but it’s also not intended as a step towards one. It’s intended to be a device for exploring computation, without automation and all its forced simplicity. It works very well, every time I use it I’m blown away by the generative complexities of handweaving, and it helps me see computer programming language design afresh, with a beginner’s mind. So it’s inquiry driven, and finished in that it’s ready to embody an area of inquiry and host exploration of that. In terms of fit – well its lasercut body and trailing arduino aligns it with 21st century maker culture, and solenoids align it with 20th century electromechanics, but its fundamental design is that of an ancient warp weighted loom, so it has some fit there although it has a lot to learn from the past in terms of ergonomics.

In terms of ‘independence’ it’s not quite there yet, but is designed with open hardware principles, using easy to source parts and permissive CC licensed designs. The next step is supporting others in replicating the hardware which will happen in the next few months. This is where it gets exciting for me – how will the live loom function as an ‘epistemic tool’ – will the research ideas carry with the loom, or will the replicators ‘misunderstand’ the loom and take it in a new direction? Of course the latter case would be failure in one respect, but I get the impression that designers see such failure as positive, where objects support divergent use..

In any case by thinking about the live loom as a research product, it helps me explain what it’s for. When I show it to people, they often treat it as a work-in-progress towards a fully automated loom, like one driven by the famous Jacquard mechanism. That’s the opposite of what I’m trying to do, as that mechanism is what separates humans from the mathematical basis of weaving as computational interference. As a research product, the live loom foregrounds computational augmentation rather than automation.

Research papers as research products

This leads me to think about research papers as research products too – many will have the experience of publishing a research paper, getting excited when someone has cited it, only to find that they’ve totally misunderstood what you were trying to say, even taking the opposite meaning. What if we treated papers as research products, that we deploy in the world, and then observe what they do? I just read Christopher Alexander’s foreword to Richard Gabriel’s book “Patterns of software”. Alexander is an architect (of buildings), and Gabriel is a computer scientist who has studied Alexander’s work for decades in order to try to develop a similar pattern-based approach in software. What’s interesting is that Alexander seems profoundly disappointed in the book that he’s writing a foreword for, although he’s chooses his words generously he basically asks Gabriel to write a different book, and to learn from his more recent work where he solves all the problems in his older work that Gabriel references. It is amazing that Gabriel would host such a text at the front of his book! Really Richard Gabriel is an amazing computer scientist and thinker, and I think Alexander is being a bit naive in assuming that such a comparatively young field of computer science could solve its core problems by going through his four-volume text on designing physical buildings – these are really very different domains indeed. What is more interesting is that Gabriel gives voice to the person he cites. This goes way beyond peer review to giving his text its own life in the process of being published. I’m looking forward to the rest of the book!

 

Radio show with Heavy Lifting

Lucy aka Heavy Lifting and I had some fun live coding on DINA radio, we start from around 50 mins in

 

Summer of Haskell

I really enjoyed mentoring Lizzie’s project last year as part of the ‘summer of haskell’, which is in turn part of the Google Summer of Code. Every year Google pay students to spend a couple of months over the summer contributing to a free/open source project, and Lizzie spent the time exploring automatic generation of Tidal code. It was a fun time, and sparked off a nice collaboration with Shawn and Jeremy around their awesome Cibo project (which we should really pick up again soon)..

It’s sometimes a bit lonely working on Tidal, as Haskell has the perception of being difficult to learn, especially if you’re used to another language.. But it’s also super interesting and rewarding, a great language to think deeply about representations. Over the last year or so there have been more contributors pop up though with great PRs coming in, so I think a community is slowly forming around the innards, helped by cleaner code, a more complete test suite etc.

Anyway the Summer of Haskell folks are getting ready to accept submissions, and I’ve contributed a Tidal idea to the list – to make Tidal easier to install. The reason this hasn’t been done before is because making a binary distribution of a Haskell interpreter is no mean feat.. But I think it’s possible, would have some interesting aspects and would attract the profound gratitude of a lot of people (Tidal isn’t the easiest to install). I’d be very happy to hear about other Tidal-related projects I could helpfully mentor too.

More info on the summer of haskell here.

(Algo|Afro)futures

(Alfo|Afro)futures

I’m happy to be working with Antonio Roberts on this mentoring project working with early career Black artists, initially in the Birmingham/West Midlands area. The project is structured around workshop sessions exploring TidalCycles and other live coding technologies and ideas, but the idea is to support the artists involved in taking live coding somewhere new. The call is out now until 14th March. We’re working on this with Christopher Haworth, funded by UKRI as part of his Music and the Internet project. I’m really looking forward to see where the artists take the ideas. Full info including the thinking behind the programme here: algo-afro-futures.lurk.org

Oxford Handbook of Algorithmic Music in paperback

https://hive.dmmserver.com/media/356/97801975/9780197554364.jpg

The Oxford Handbook of Algorithmic Music (I always have to check whether it’s of or on) is out in paperback 1st March 2021! You can (pre)order via your local bookshop, or services like hive which gives a (small) cut to your nominated bookseller. The hardback was rather expensive, but I’m happy that it’s sold well enough to go into this much cheaper print run. The cover is ace, featuring the AlgoBabez (Shelly Knotts and Joanne Armitage) with hellocatfood‘s visuals in the background, although sadly they aren’t actually featured in the book – the band wasn’t formed when the contents was drafted. You can find the table of contents here, and a good number of the chapters as open access preprints here.

Compassion through algorithms – vol ii

Very happy to be part of this compilation fundraiser in solidarity with Black Lives Matter, with many algorithmic greats from the more northerly parts of England:

Compassion through algorithms volume II

Compassion Through Algorithms Vol. II by Light Entries

It’s inspired by the first compassion through algorithms compilation, created by Algorave Tokyo.

Here’s my contribution, ‘prelock’:

Compassion Through Algorithms Vol. II by Yaxu

I wrote this blurb describing how I made the track:

This track is mainly made by adding numbers together and messing with time, using the free/open source TidalCycles system I made. The main melody is made from the numbers 4, 3, 2, 1, 0 and -1, with the numbers 2, -2, 3, 5 and 7 played between them, set to the notes of a minor scale. Because there are six numbers in the first list, and five in the second, they rotate around each other to create a long melody. Then another ‘voice’ comes in which jumps up by 12 notes (an octave) and is shifted forward and backward in time. The whole thing is 5 beats to the bar, including a sliced up breakbeat which is going on its own journey. There’s also a dirty kick underneath with a steady timeline, changing to the 12 beat African standard pattern right at the end, which frees everything up as it slows down.

Here’s the mess of tranklements that I made it with:

The compilation is Pay As You Feel – all donations very appreciated by the Young Minds Together group of Black girls doing performing arts in Rotherham, looking to rebuild post-pandemic.