Cut-ups and the Internet

[An online “overview,” first pub­lished 1999; most recent­ly updat­ed [$Date: 2004/03/29 19:14:39 $]]

JWZ's WebCollage

The cut-up (or “cut­up”) is a method of jux­ta­po­si­tion where a work (usu­al­ly text) is cut into pieces and the pieces rearranged in a ran­dom order, sim­i­lar to the mon­tage or col­lage tech­nique in paint­ing. The tra­di­tion­al cut-ups of Brion Gysin and William S. Bur­roughs were done man­u­al­ly with scis­sors, razor blades, axes and oth­er cut­ting devices. ( has pub­lished an excel­lent sum­ma­ry of the the­o­ry behind the cut-up method, and anoth­er good one is in Brion Gys­in’s own words.)

Scis­sors are no longer nec­es­sary for mak­ing cut-ups; they can be per­formed more effi­cient­ly using a dig­i­tal com­put­er. The fol­low­ing is a list of open source tools for cut­ting up etexts and oth­er data using open-source soft­ware. The best of these tools improve on the process, gen­er­at­ing Markov chains from text input and who knows what else.

Note that the cut-up does not free the artist from the duty of expres­sion; cut-ups serve as a com­po­si­tion­al aid and are not a sub­sti­tute for the act of com­po­si­tion itself.

  • Flo­ri­an Cramer’s “Per­mu­ta­tions” con­tains what he calls “the only tech­ni­cal­ly ‘prop­er’ CGI-Adap­tion of Gysin’s/Burroughs’ cut­up method.” (All of the site’s Perl source code is GPLed.)
  • Lee Wor­den offers a sim­i­lar cut­up CGI which uses a dif­fer­ent algo­rithm than Flo­ri­an’s, but is also easy to use.
  • cut­up, part of the tinyu­tils pack­age (dep­re­cat­ed), is a small shell script for cut­ting up an input text file into four sec­tions and then reassem­bling the slices diag­o­nal­ly. (a Perl rewrite should fea­ture the abil­i­ty to choose the num­ber of x- and y- slices on the text.)
  • Luke Kel­ley’s Cut-Up Machine is a Web cgi that lets you insert up to 100 ele­ments from Naked Lunch into the out­put text.
  • Eng­lish as She is Spo­ken is Jonathan Fein­berg’s Python script which takes text and runs it through AltaVis­ta’s Trans­la­tions ser­vice, and then runs the out­put through again, mul­ti­ple times until no fur­ther “lin­guis­tic muta­tions” occur.
  • An ear­li­er Trans­la­tions tool is the Trans­mo­gri­fi­er; this tool pow­ers a mul­ti-lin­gual chat room (with­in 10 years you will prob­a­bly be able to select a default lan­guage in your net inter­face and see the entire Inter­net trans­lat­ed in such fash­ion.)
  • chef is a lex scan­ner for out­putting its input text in the dia­logue of a Swedish chef; the Debian fil­ters pack­age con­tains a bunch of these lit­tle text dia­logue fil­ters.
  • The Shan­n­on­iz­er takes text or URL input and out­puts a trans­la­tion by a num­ber of famous writ­ers, includ­ing Hunter S. Thomp­son and Lewis Car­roll.
  • BABLE is a Perl script that gen­er­ates Markov chains. It works best on large texts.
  • Dis­so­ci­at­ed Press is an Emacs func­tion for “dis­so­ci­at­ing” the cur­rent buffer, com­bin­ing words and char­ac­ters to form newords and char­ca­tures; in Emacs, type:

    M‑x dis­so­ci­at­ed-press <RET>

  • Jamie Zaw­in­ski’s dadado­do gen­er­ates Markov chains of word fre­quen­cies. One of its best fea­tures is the abil­i­ty to scan a giv­en text and write a com­piled object file which you can then use lat­er to gen­er­ate out­put based on the orig­i­nal text.
  • JWZ’s lat­est is web­col­lage, which builds a col­lage of ran­dom images from the Web on the root win­dow of your X ses­sion.

    Ideas for improvements/expansions to web­col­lage:

    • abil­i­ty to spec­i­fy a sin­gle host or local­host directory tree when search­ing for images;
    • abil­i­ty to spec­i­fy the num­ber of ran­dom images to out­put (cou­pled with the above gives a ran­dom-image cgi that could be use­ful for Web sites).
    • abil­i­ty to save the image from the root win­dow to a file (with as many of the orig­i­nal file prop­er­ties saved as pos­si­ble)
    • abil­i­ty to lim­it images from a site or sites (say, dis­play ran­dom images from eBay auc­tions)
    • inte­grat­ed with the win­dow man­ag­er so that a dou­ble-click with the left mouse button (say) opens a default web brows­er win­dow with the URL of the orig­i­nat­ing image; a triple-click (say) pastes the URL to the X selec­tion.
    • option for out­putting to an .html file, either with x num­ber of <img src> lines or with an image map
    • includ­ing a text option so that ran­dom pages/paragraphs/sentences/words/chars of text can be added to the out­put

This last one leads to an idea for an avant-garde web-art project: you write a pro­gram that obtains ran­dom text from the Web and then out­puts that text in HTML, with ran­dom links inter­spersed through the text (the link heuris­tics are con­fig­ured by a fil­ter file whose entries con­tain two lines: the pat­tern to match in the input text and the link to use in the out­put, either a spe­cif­ic URL or a text val­ue, in which case it uses a ran­dom URL con­tain­ing that text); the resul­tant page is then a hyper­text cut-up. Will sites allow you to link to them in such a con­text? Will link­ing out of con­text be out­lawed? Or will pop­u­lar browsers even­tu­al­ly con­tain cut-up-mode tog­gles, enabling a net­work of enthu­si­asts to trade and morph their fil­ters, even hold­ing fil­ter-con­tests for the most unique views of/traversals through the Web?


Free soft­ware cut­up tools are described in The Lin­ux Cook­book, 2nd edi­tion.

Relat­ed to this sub­ject is a page on com­put­er-gen­er­at­ed writ­ing.

As is Fuse by Scott Draves. The algo­rithm is inspired by dis­so­ci­at­ed-press but works on images, not text.

Anoth­er relat­ed sub­ject is gen­er­a­tive art — art where devices such as com­put­ers are used to gen­er­ate source mate­r­i­al (which, as with cut-ups, may then be rein­ter­pret­ed, mod­i­fied and oth­er­wise used by the artist). Like cut-ups, it pos­es inter­est­ing philo­soph­i­cal issues of author­ship and the cre­ation or inven­tion process. The defin­i­tive site for gen­er­a­tive art research and free soft­ware tools is

First published on June 9th, 2010 at 3:02 pm (EST) and last modified on June 9th, 2010 at 3:07 pm (EST).

Better Tag Cloud