Category: rant

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

 

How to withdraw from Facebook

Facebook is a problem.. They happily show political adverts, heavily targeted and very under-regulated, as well as being slow to act against white nationalism and so on.The worst thing for me it was facebook turns us into. It privileges easy controversy, so your feed will be full of people getting angry at other groups but often not dealing with difficult issues in a reasonable and thoughtful way. If by some chance an interesting discussion does start up on facebook, it’s not properly shared or archived. There’s a lot to like, and there’s a lot of hidden facebook mechanics which we don’t know enough about to dislike. Anyway, I’ve recently moved towards participating on smaller, semi-private social groups off facebook and it’s much more enjoyable and productive.

Still, you might not be ready to leave it, wanting to keep in touch with friends and family, promote events and so on.. Using facebook’s own tools to step away can cause a lot of upset, as it will appear to your friends that you’ve blocked them.

A good alternative is to unfollow everyone and every page. If you’re like me that would normally involve 1000’s of clicks to remove all the weird and local pages and random people you’ve somehow friended over a decade or so. Here’s a way to do that automatically, although it takes a while (one unfollow per 2 seconds, to avoid facebook detecting and stopping your plan..), it is hands-off.

Here’s how, in e.g. firefox or chrome:

* Click the Arrow in upper right
* Select “News feed preferences”
* Click “Unfollow people and groups to hide their posts”

Now the tricky bit – to open the “javascript console”. This is what facebook doesn’t want you to do, as getting access to the javascript running in your facebook window is exactly what scammers want to do. (I’m not a scammer, but don’t take my word for it!)

This might be slightly different on your computer/browser version, but.. In firefox, It’s under the ‘burger’ menu in the top right (click the three horizontal lines), then “Web Developer” (that’s you!), and then “Web console” (not browser console). Under chrome, it’s a similar menu but three dots, then “more tools”, “developer tools”, then in the new frame that opens up select ‘console’ in the menu along the top.

At this point you should see a healthy warning telling you not to paste in code. If you decide to trust me and go ahead anyway, click the commandline area (it should have a ‘>’ or ‘>>’ in front) and paste in the following:

var unfollowButtons =document.querySelectorAll('div[aria-pressed="false"]'); unfollowed = 0;for(var i=0;i<unfollowButtons.length;i++) {setTimeout(function(element){ element.click(); unfollowed ++;console.log('Total unfollowed ' + unfollowed + ' out of ' +unfollowButtons.length) }, i*2000, unfollowButtons[i]) }

The browser might get you to do something like type “allow pasting” first, to make doubly sure that you aren’t being scammed. If you do type something like that, you’ll need to delete those words again otherwise it’ll be part of the code and nothing will work..

You should see the displayed people and pages get unfollowed before you, one by one. It won’t do all of them though, just a couple of dozen that have loaded in that page.. To unfollow everyone and everything, you have to scroll down in the ‘unfollow people’ box until they’re all loaded up. Then run the code again.

Then you’ll have a nice calm facebook experience and hopefully will enjoy some improved mental health.

Making Tidal 1.0 happen

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..

 

Too many projects

I have a lot of projects. Let me count them

  1. PENELOPE – exploring weaving as a technical mode of existence
  2. Spicule – trying to get an ultra-complicated and overdue crowdfunded album project finished
  3. TidalCycles – free/open source project for live coding of pattern – lots of coding + documentation to do
  4. Dorkbotsheffield – electronic art meetings in Sheffield
  5. Eulerroom – streamed algorithmic music events
  6. Tidalbot – Currently a twitter bot but with expansive ideas behind it feeding into patternlib
  7. Feedforward – New text editor for tidal (also a dependency of spicule)
  8. Bands, loads of bands – slub, ccai, and many more on the back burner and without names yet, as well as performing solo as Yaxu. Doing a lot of performances
  9. AlgoMech – Growing annual(ish) festival around algorithmic and mechanical movement, third edition May 2019
  10. Access Space – on the board of trustees, research director (on a volunteer basis)
  11. Code Access – work-in-progress project working with people with sensory impairment and live coding, currently working with Childrens’ Media Conference towards an exhibition in July
  12. Lurk.org – project with Aymeric Mansoux building alternative internet services like talk.lurk.org and we.lurk.org
  13. Algorave and TOPLAP, quite amorphous collectives but I still do a fair amount of coordination despite actively trying to share the keys.. Plus helping with the steering committee of the ICLC and ICLI conferences I started.
  14. A book on live coding with some great people – I owe them a lot of writing!
  15. An international exchange between live coders in Tokyo and Yorkshire this summer/autumn
  16. A remix + tidalcycles samplepack project with Blood Sport

+ probably a fair few more I can’t think of right now… Plus a lot half-started and half-finished projects I’d really like to work on. Visual programming, being part of FoAM, etc. Plus being a father. I could just about imagine doing any single one of the these as a full time occupation, really, but only the first one actually pays me money (it’s a part-time position, 50%). I can’t really imagine dropping any of them. What to do? It doesn’t help that I’m terrible with time management.

I’m not sure what the point of this post is, apart from to stare at this problem in the face, and to explain why I’m sometimes a bit slow with finishing projects or replying to email. Any advice warmly received.

Datalove

In the above, in a beautiful lecture that I am still digesting, Kodwo Eshun quotes from an unpublished manuscript by Mark Fisher, talking about the forces suppressing “the collective capacity to produce, to care, to enjoy”. From my perspective, this makes me think about the ideals of free software, and the practicalities of trying to carry it out. I made TidalCycles in the world of free software (operating systems, libraries, documentation passed down freely from others), on a ‘holiday from capitalism’ supported by student and academic grants and arts residencies, giving it away for free. I was able to absorb a lot of prior work during this time, to help me create something new. Quite a few others have now joined TidalCycles as a free project, and many more in using it. How is capital blocking this collective capacity to produce, to care to enjoy?

I suppose the more radical positioning of live coding in general, more common in the early days, is now being lost. This is the idea that live coding is about experience, not end-product, that to live code is to improvise in and for the moment, that at the end of a performance you have nothing left. The desire to produce music that can be repeated, that can be sold as a product, is I think starting to drown out the idea of ‘blank slate’ improvisation. As people (myself included) crave music with more composed detail, more temporal structure, we get outside the current limits of the live coder in the moment, and take the easy route of introducing pre-written structures, suitable for packaging up as ‘tracks’. We go through the motions of selling them on bandcamp, probably making back a hundredth (or even thousandth) of a minimum wage, but trying to legitimise what we’re doing within the value structure of a past record industry.

By giving away free software with a permissive license, partly as an invitation for others to jump in and contribute features, ideas, and documentation, in practice you also invite people to grab the software and treat it as a ‘tool’ within a ‘workflow’ based on commercial software. This seems innocuous, and to question this behaviour runs against the assumed aim for software to reach as many end-users as quickly as possible. But this aim rides over many other potential aims (e.g. to grow sustainably, to create an alternative), and pursuing it forces a free software collective into interacting with commercial institutions, thereby taking on their value structures. Where Tidal users are also users of commercial software (including MacOS and Microsoft Windows), they’re already trained to think in terms of centralised support and feature requests, and not the collective responsibility to produce, care and enjoy. There is always pressure for the community to divide into ‘developers’ and ‘users’, one serving the other, in a way which simply isn’t sustainable without the latter paying the former. Once we start looking for the users to indeed pay the developers, we’re running away from the possibilities of collective imagination.

I’m running out of time for this blog post, but how to respond to these thoughts? I guess resisting the easy answers, and instead keep looking for alternative paths that only free software culture can take. Re-imagining the programming language and text editor around the principle of data love – where sharing what you have only increases in value. More thoughts to follow.

Art+Music+Technology podcast

I had a great chat with Darwin Grosse at the end of last year, forgot to post it up until now!

Liberapay donations

Marije pointed me at liberapay, a website for long-term donations to projects/individuals you appreciate. I’m giving it a go..

Outwardly, liberapay looks similar to patreon, but the details are very different. I tried setting up a patreon fund before but it didn’t fit. I still have an on-going crowdfund (for the very overdue spicule album) so didn’t want to take on another one of those, and patreon is very similar to that. Patreon encourages you to communicate with your funders, reward them with secret ‘content’, and market yourself to get as many funders as possible. This doesn’t really work for me because realistically, I’m never going to get enough funding to justify time on marketing myself or creating ‘exclusives’, at least if I cost my time at a-n recommended rates.. Even if I did, I don’t want to spend my time on marketing, I want to spend it on making music and free software. Exclusive content is also against the principles of free software, I don’t want to only speak to those who can afford it.

Liberapay is different though, it’s about anonymous donations, so you don’t know who your contributors are, and contributions can’t be linked to rewards in any way. Liberapay themselves are a non-profit, don’t take a cut on contributions, and aren’t interested in training you up as a self-promoter..

I thought I’d start with seeing if people wanted to contribute to ongoing server (and dns registration) costs for toplap, algorave etc. Within a few hours, that was already covered! This feels surprisingly good. It’s a comparatively small amount every week but adds up to a lot over time, and it’s great to have the feeling that people value it, and that those with spare money are happy to contribute.  It’s a bit weird not knowing anything about who is giving me money (unless they tell me), but I think this is really nice, as I don’t really want to feel like I need to treat people differently based on whether they are giving my projects, or how much.. and the lack of perks/rewards means people only give if they don’t have fixed expectations about what I’m going to produce in response.

So now on to the second step — contributing towards Tidal development.. It’s still difficult to apply this to my work, as most of it is around TidalCycles, and I’m nervous about bogging down that project with issues around who should get paid for doing what (although liberapay does allow distribution of donations).. I also don’t want to take the pleasure out of working on Tidal with outside pressure. But for now have nominated an aspect of Tidal I’m really keen to work on (communal docs) and will see how it goes. It’s not going to fund a significant percentage of my time, but it is hopefully going to help me work a bit more than usual, and generally push things forward.. Feel free to support this, and unless you’re shy, let me know if you do!

Thinking about 2017

2017 had it’s ups and downs, many friends made but also some enemies, hoping to improve on that front next year.

I probably did more performances than ever before, a whole load in Sheffield plus Berlin, Huddersfield, Leeds, Newcastle, London, Brighton, Morelia, Guadalajara and some big festivals Transmediale, Green Man, Shambala, Blue Dot, No bounds, Unconscious Archives.. It was good to focus on UK performances, and in particular Sheffield, the scene is getting stronger here now with interest in live coding from proper local promoters like Off Me Nut and Hope Works.

I didn’t do so many talks, I’ve shrunk away from going to conferences etc for various reasons. I did do a few of these ‘punchy’ public talks though, a TEDx talk in Hull, and similar things in Bump Festival in Belgium and Thinking Digital Arts up in Newcastle. It felt good to force myself to get better in explaining things. It was a real honour+pleasure to finish up the year with a keynote talk at ICLC 2017 in Morelia, as I said at the time, if you want to be invited to give a keynote all you have to do is start an international conference then wait two years.

The big thing was leaving Unviersity academia to join the PENELOPE project as post-doc in the Deutsches Museum in Munich (think MASSIVE science museum). I’m still based in Sheffield but visit Munich regularly as part of this five-year project. It’s a part-time position, so in theory I’ve can spend 50% of my time on music. It’s not quite worked out that way but hopefully will get closer to that next year.

The other big thing was AlgoMech festival (part-organised by PENELOPE), five days in November that took months on end of planning and fundraising to pull off. In the end it went pretty damn well, great exhibition+symposium and all the performances were totally amazing. We got some nice coverage in Makery, The WireThe Guardian and from this nice blogger.. It destroyed me (as you can witness in the Guardian video) but a few fine people want to get involved to make it a collaboratively organised thing and we’re looking at May 2019 for the next one.

I’ve got involved in some lovely collaborations, e.g. TidalClub with Lucy, and most recently a techno collab Class Compliant Audio Interfaces with Sam/Damu. I’ve also done some great collabs with JoanneAlexandra (who has found her way into Slub) and a/v shows with Miri.

With the afore-linked Guardian video and a couple of mixmag articles, and appearances in Electronic Music magazine, Vice and even Mary Anne Hobbs’s show on BBC Radio 6 it feels like we made a breakthrough with Algorave in 2017. It feels like this has brought many positives but also negatives, it’s kind of easier doing something that no-one knows about, and I’ve always enjoyed small communities. I’m still definitely on for the ride, but looking for ways of keeping things interesting+fun.. AlgoMech was a big part of that, and I’m looking to broaden things out a bit with EulerRoom next year too.

Towards the end of 2017 I’ve managed to finish a couple of huge projects that are exciting in their own right but together were perhaps a little too much to take on. A real biggie was editing The Oxford Handbook of Algorithmic Music with Roger Dean, now with the printers and hitting the shelves February 2018.

I didn’t do much writing in 2017, but was happy to contribute a piece to Furtherfield on Lessons from the Luddites, and to collaborate with Kate Sicchio on an article and interactive online thingie about our Sound Choreographer <> Body Code project.

My crowdfunded album ‘spicule’ is now ridiculously over-schedule but I have a clear path now.. and a lot of material built up from these live streams:

It was great to start working with the Childrens’ Media Conference this year, running a tanglebots workshop with the amazing kids at Wybourn community primary school, the results contributing to the Playground digital art exhibition. At one point I asked the children to put their hands up if they’d hurt themselves, almost all immediately did.. Oops!

Amongst it all I’ve managed to put some work into TidalCycles, with the community around it growing really nicely with some people making music with it which is really far too good. I’ve done a whole load of TidalCycles workshops, next year planning to do one big one every month, to make tidal development more sustainable.. As well as helping run the free tidalclub meetups. One really nice thing was running a TidalCycles summer school, great fun and included an excusion into the nearby peak district for a group jam, check the below video..

That’ll do for now, although will likely drop back to add things I’ve forgotten, as I chew things over.. Plus the year isn’t over yet, really looking forward to the TidalCycles winter solstice party on 21st Dec!