Cut-ups and the Internet

[An online “overview,” first published 1999; most recently updated [$Date: 2004/03/29 19:14:39 $]]

JWZ's WebCollage

The cut-up (or “cutup”) is a method of juxtaposition where a work (usually text) is cut into pieces and the pieces rearranged in a random order, similar to the montage or collage technique in painting. The traditional cut-ups of Brion Gysin and William S. Burroughs were done manually with scissors, razor blades, axes and other cutting devices. ( has published an excellent summary of the theory behind the cut-up method, and another good one is in Brion Gysin’s own words.)

Scissors are no longer necessary for making cut-ups; they can be performed more efficiently using a digital computer. The following is a list of open source tools for cutting up etexts and other data using open-source software. The best of these tools improve on the process, generating Markov chains from text input and who knows what else.

Note that the cut-up does not free the artist from the duty of expression; cut-ups serve as a compositional aid and are not a substitute for the act of composition itself.

  • Florian Cramer’s “Permutations” contains what he calls “the only technically ‘proper’ CGI-Adaption of Gysin’s/Burroughs’ cutup method.” (All of the site’s Perl source code is GPLed.)
  • Lee Worden offers a similar cutup CGI which uses a different algorithm than Florian’s, but is also easy to use.
  • cutup, part of the tinyutils package (deprecated), is a small shell script for cutting up an input text file into four sections and then reassembling the slices diagonally. (a Perl rewrite should feature the ability to choose the number of x- and y- slices on the text.)
  • Luke Kelley’s Cut-Up Machine is a Web cgi that lets you insert up to 100 elements from Naked Lunch into the output text.
  • English as She is Spoken is Jonathan Feinberg’s Python script which takes text and runs it through AltaVista’s Translations service, and then runs the output through again, multiple times until no further “linguistic mutations” occur.
  • An earlier Translations tool is the Transmogrifier; this tool powers a multi-lingual chat room (within 10 years you will probably be able to select a default language in your net interface and see the entire Internet translated in such fashion.)
  • chef is a lex scanner for outputting its input text in the dialogue of a Swedish chef; the Debian filters package contains a bunch of these little text dialogue filters.
  • The Shannonizer takes text or URL input and outputs a translation by a number of famous writers, including Hunter S. Thompson and Lewis Carroll.
  • BABLE is a Perl script that generates Markov chains. It works best on large texts.
  • Dissociated Press is an Emacs function for “dissociating” the current buffer, combining words and characters to form newords and charcatures; in Emacs, type:

    M-x dissociated-press <RET>

  • Jamie Zawinski’s dadadodo generates Markov chains of word frequencies. One of its best features is the ability to scan a given text and write a compiled object file which you can then use later to generate output based on the original text.
  • JWZ’s latest is webcollage, which builds a collage of random images from the Web on the root window of your X session.

    Ideas for improvements/expansions to webcollage:

    • ability to specify a single host or localhost directory tree when searching for images;
    • ability to specify the number of random images to output (coupled with the above gives a random-image cgi that could be useful for Web sites).
    • ability to save the image from the root window to a file (with as many of the original file properties saved as possible)
    • ability to limit images from a site or sites (say, display random images from eBay auctions)
    • integrated with the window manager so that a double-click with the left mouse button (say) opens a default web browser window with the URL of the originating image; a triple-click (say) pastes the URL to the X selection.
    • option for outputting to an .html file, either with x number of <img src> lines or with an image map
    • including a text option so that random pages/paragraphs/sentences/words/chars of text can be added to the output

This last one leads to an idea for an avant-garde web-art project: you write a program that obtains random text from the Web and then outputs that text in HTML, with random links interspersed through the text (the link heuristics are configured by a filter file whose entries contain two lines: the pattern to match in the input text and the link to use in the output, either a specific URL or a text value, in which case it uses a random URL containing that text); the resultant page is then a hypertext cut-up. Will sites allow you to link to them in such a context? Will linking out of context be outlawed? Or will popular browsers eventually contain cut-up-mode toggles, enabling a network of enthusiasts to trade and morph their filters, even holding filter-contests for the most unique views of/traversals through the Web?

Free software cutup tools are described in The Linux Cookbook, 2nd edition.

Related to this subject is a page on computer-generated writing.

As is Fuse by Scott Draves. The algorithm is inspired by dissociated-press but works on images, not text.

Another related subject is generative art — art where devices such as computers are used to generate source material (which, as with cut-ups, may then be reinterpreted, modified and otherwise used by the artist). Like cut-ups, it poses interesting philosophical issues of authorship and the creation or invention process. The definitive site for generative art research and free software 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).