Critical Code Studies Week Five Opener - Algorithms are thoughts, Chainsaws are tools

Critical Code Studies Week Five Opener - Algorithms are thoughts, Chainsaws are tools

Stephen Ramsay

Stephen Ramsay introduces a short film in which he does a live reading of composer Andrew Sorensen’s performance “Strange Places” and provides commentary.

Algorithms are Thoughts, Chainsaws are Tools from Stephen Ramsay.

It is a short film on livecoding that includes a “live reading” of a performance by composer Andrew Sorensen. It also talks about J. D. Salinger, the Rockettes, playing musical instruments, Lisp, the weather in Brisbane, and kettle drums.

This will all make a lot more sense if you watch the video before reading any further.

You may want to watch it on the Vimeo site. It’s bigger.

===== S P O I L E R    A L E R T =====

Andrew Sorensen is the author of Impromptu.  He includes a number of screencasts of his performances in the Gallery section of his site.

TOPLAP is at  There are a number of interesting links on that site, including the full version of the Manifesto mentioned in the video.  Here, again, are the points mentioned in AaTCaT:

We demand:

  • Give us access to the performer’s mind, to the whole human instrument.
  • Obscurantism is dangerous. Show us your screens.
  • Programs are instruments that can change themselves
  • The program is to be transcended - Artificial language is the way.
  • Code should be seen as well as heard, underlying algorithms viewed as well as their visual outcome.
  • Live coding is not about tools. Algorithms are thoughts. Chainsaws are tools. That’s why algorithms are sometimes harder to notice than chainsaws.

Let me also add that these points do not necessarily reflect Sorensen’s view of livecoding.  He’s mentioned on the TOPLAP site several times, and he links to the site from his own, but I don’t know to what degree he was involved with the manifesto.  My sense is that these points do capture widely held attitudes in the livecoding community, even if individual members wouldn’t put it precisely this way.

My “live reading” of Sorensen’s “Strange Places” represents the second time I’d watched that piece.  It has a few mistakes and incorrect assumptions (which, again, I think are part of the experience of livecoding and perhaps of reading code in general).  But I feel I should answer the burning question:

What’s cosr?

It’s a macro that wraps the ordinary cosine function.  Sorensen himself explains it here.  The macro facility is, interestingly, that part of Lisp/Scheme that allows you to rewrite functions (with different evaluation orders, for example) so as to create new language constructs indistinguishable from the ones that are built in.  In essence, a macro is a block of code that exploits homoiconicity by temporarily treating another code block as if it were data (before passing it back to the compiler as code). You are not expected to understand this.

You know what would be really great?  If people took a piece of a live coding performance – this one or another – recorded their own live commentary over it, and then put that in the comment thread.  It’s easy!  Even the simplest video editor will let you do this.  And really, isn’t this the proper way to do critical study of a realtime performance?

Too shy?  Okay, here are some stills from “Strange Places”:

You may want to watch it on the Vimeo site. It’s bigger.

Algorithms are Thoughts, Chainsaws are Tools was produced on a MacBook Pro using Final Cut Pro, Motion, SoundTrack Pro, ScreenFlow, GetTube, iMovie, Mellel, and Vim.  No code was written or altered in the making of this film.

Once again, I want to thank Andrew Sorensen for being such a good sport about this.  When I wrote (completely out of the blue to someone I’d never met, even virtually) to ask if he was okay with my idea, he wrote back with:

“You may hack and slash to your heart’s content.”

I bet if we all clap together we can even get the man himself to appear in the forums.

I have been greatly edified by our discussions these past few weeks, and I look forward to our continuing conversation.  Thanks for being so flexible in your thinking.


P.S.  I have not added closed captions (because I don’t really know how to do that).  I will figure it out soon.