Month: April 2014


Ellen Harlizius-Klück asked me for some greyscale images that she could try to weave while visiting Textiles Zentrum Haslach.

Here’s my first go, along with the tidal code used to generate each one. I think the last one is my favourite.


((flip darken) <$> (every 7 (iter 4) $ every 2 (0.5 <~) $ every 5 rev
 $ slowspread ($) [rev, density 2, slow 3, (0.25 <~)] "[black ~ grey ~, white darkgrey grey]") <*> ((+) <$> slow 19 sine1 <*> slow 47 ((+0.1) . (*0.9) <$> sine1)))


((flip darken) <$> (every 7 (iter 4) $ every 5 rev $ slowspread ($)
 [rev, density 2, slow 3, (0.25 <~)] "[black ~ grey ~, white darkgrey
 grey]") <*> ((*) <$> slow 45 sine1 <*> slow 46 sine1))


((flip darken) <$> (every 5 rev $ slowspread ($) [rev, density 2, slow
 3] "{grey darkgrey grey, grey, black white [black ~ white] grey}") <*> ((*) <$> slow 37 rand <*> slow 45 sine1))


((flip darken) <$> (superimpose (iter 8) $ every 4 (slow 3) $ every 3
(density 5) $ "[grey white black, lightgrey darkgrey]") <*> (slow 4

Note that to reproduce any of these you’ll need a bit of wrapper code to generate them, e.g. for that last one:

import Sound.Tidal.Vis
import qualified Graphics.Rendering.Cairo as C 
import Data.Colour
import Data.Colour.Names
import Data.Colour.SRGB

let pat = ((flip darken) <$> (superimpose (iter 8) $ every 4 (slow 3) $ every 3 (density 5) $ "[grey white black, lightgrey darkgrey]") <*> (slow 4 sine1)) in
vLines (C.withSVGSurface) "test.svg" (400,400) pat 50 50

The “(400,400)” there is the width and height in pixels, and the “50 50” is the number of cycles across and down – it’s rendered as a scan line.

Sonic Pattern and the Textility of Code

Really excited to be involved with this dream event in London next month:

Sonic Pattern and the Textility of Code

11am to 6pm, 13th May 2014
Limewharf, Vyner St, London E2 9DJ

An event that brings together diverse viewpoints on weaving, knitting, live coding, dyadic mathematics, generative music and digital making, in order to see how patterned sound and threads allow us to both sense the abstract and conceptualise the tactile. We will look for a rich view of technology as a meeting point of craft, culture and live experience.

The invited speakers will explore aspects of making, process, language, material and output in the relation to their own practice and related contexts.

The discussion will be lead by Bronac Ferran, Janis Jefferies, and David Toop, and practitioners include Alessandro Altavilla, Sarah Angliss, Felicity Ford, Berit Greinke, Ellen Harlizius-Klück, Alex McLean and Becky Stewart.

There will be audio-visual interludes through the day, including a screening of Ismini Samanidou and Scanner’s film Weave Waves, commissioned for the Sound Matters exhibition in 2013 by Craft Council, and a short performance by Felicity Ford.

The event will close with a live music performance from Leafcutter John, Matthew Yee-King and Alex McLean, exploring code, pattern and sound.

Curated by Karen Gaskill, Crafts Council

A collaboration between the Craft Council, ICSRiM (School of Music, University of Leeds), the Thursday Club (Goldsmiths), V&A Digital Futures and the Live Coding Research Network.

Made possible through funding and support by the Craft Council, Sound and Music, the Arts and Humanities Research Council and the Centre for Creative Collaboration.

Cycle 24 extended

Another quick cyclic extension,

it’s the weather for dnb

2nd ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design

I’m chairing this year’s FARM workshop on functional art, music, modelling and design, which is part of the International Conference on Functional Programming. The deadline is approaching, but there’s still time to put pen to paper.. Here’s the (updated) call for papers and demos:

2nd ACM SIGPLAN International Workshop on
Functional Art, Music, Modelling and Design

  Gothenburg, Sweden; 6 September, 2014

The ACM SIGPLAN International Workshop on Functional Art,
Music, Modelling and Design (FARM) gathers together people
who are harnessing functional techniques in the pursuit of
creativity and expression.

Functional Programming has emerged as a mainstream software
development paradigm, and its artistic and creative use is
booming. A growing number of software toolkits, frameworks
and environments for art, music and design now employ
functional programming languages and techniques. FARM is a
forum for exploration and critical evaluation of these
developments, for example to consider potential benefits of
greater consistency, tersity, and closer mapping to a
problem domain.

FARM encourages submissions from across art, craft and
design, including textiles, visual art, music, 3D sculpture,
animation, GUIs, video games, 3D printing and architectural
models, choreography, poetry, and even VLSI layouts, GPU
configurations, or mechanical engineering designs. The
language used need not be purely functional (“mostly
functional” is fine), and may be manifested as a domain
specific language or tool. Theoretical foundations, language
design, implementation issues, and applications in industry
or the arts are all within the scope of the workshop.

Submissions are invited in two categories:

  * Full papers

    5 to 12 pages using the ACM SIGPLAN template. FARM 2014
    is an interdisciplinary conference, so a wide range of
    approaches are encouraged and we recognize that the
    appropriate length of a paper may vary considerably
    depending on the approach. However, all submissions must
    propose an original contribution to the FARM theme, cite
    relevant previous work, and apply appropriate research

  * Demo abstracts

    Demo abstracts should describe the demonstration and its
    context, connecting it with the themes of FARM. A demo
    could be in the form of a short (10-20 minute) tutorial,
    presentation of work-in-progress, an exhibition of some
    work, or even a performance. Abstracts should be no
    longer than 2 pages, using the ACM SIGPLAN template and
    will be subject to a light-touch peer review.

If you have any questions about what type of contributions
that might be suitable, or anything else regarding
submission or the workshop itself, please contact the
organisers at:


    Abstract (for Full Papers) submission deadline: 7 May
    Full Paper and Demo Abstract submission Deadline: 11 May
    Author Notification: 30 May
    Camera Ready: 18 June
    Workshop: 6 September


All papers and demo abstracts must be in portable document
format (PDF), using the ACM SIGPLAN style guidelines. The
text should be in a 9-point font in two columns. The
submission itself will be via EasyChair. See the FARM
website for further details:


Accepted papers will be included in the formal proceedings
published by ACM Press and will also be made available
through the the ACM Digital Library; see for information on the
options available to authors. Authors are encouraged to
submit auxiliary material for publication along with their
paper (source code, data, videos, images, etc.); authors
retain all rights to the auxiliary material.


Workshop Chair: Alex McLean, University of Leeds

Program Chair: Henrik Nilsson, University of Nottingham

Publicity Chair: Michael Sperber, Active Group GmbH

Program Committee:
Sam Aaron, Cambridge University
David Duke, University of Leeds
Kathleen Fisher, Tufts University
Julie Greensmith, University of Nottingham
Bas de Haas, Universiteit Utrecht
Paul Hudak, Yale University
David Janin, Université de Bordeaux
Richard Lewis, Goldsmiths, University of London
Louis Mandel, Collège de France
Alex McLean, University of Leeds
Carin Meier, Neo Innovation Inc
Rob Myers, Furtherfield
Henrik Nilsson, University of Nottingham (chair)
Dan Piponi, Google Inc
Andrew Sorensen, Queensland University of Technology
Michael Sperber, Active Group GmbH

For further details, see the FARM website:

Weaving codes, coding weaves

Very happy to share the news that “Weaving Codes – Coding Weaves”, a collaborative project with Ellen Harlizius-Klück, Dave Griffiths, Kia Ng, Emma Cocker, Lovebytes + many others has been funded, by an AHRC Digital Transformations Amplification award. It starts September 2014 and runs for 18 months. Here’s a snippet from the synopsis:

What are the historical and theoretical points at which the practice of weaving and computer programming connect? What insights can be gained if we bring these activities together, through live shared experience? How do digital technologies influence our ways of making, and what new digital technologies can we create to explore their social use in creative collaboration?

Our research challenge is to unravel industrial and contemporary technological developments in weaving and computer programming, in order to expose and challenge assumptions, and make the human processes involved visible. In particular, to explore and communicate the nature of mathematical thinking in ancient weaving, and creative thinking in contemporary computer programming, bringing key contributions to discussion of making in the humanities.

This is going to be a lot of fun!

Algorithmic Yorkshire

My new year’s resolution was not to start any new collaborations.

Here’s a new collaboration with Ash Sagar aka section_9 (among others):

First live date is at the Newcastle Gateshead Algorave on the 26th April. Judging by this first jam session it should be a blinder..

Cycle 22 live extension

Here’s a new work in progress, I am happy with how things are going with Tidal at the moment

(redone, less quiet..)