MEMORY SLAM

Batch-Era Text Generation

Love Letters
after Christopher Strachey, 1953

Stochastic Texts
after Theo Lutz, 1959

Random Sentences
after Victor H. Yngve, 1961

Five-Word Lines
after J. M. Coetzee, early 1960s

Permutation Poems
after Brion Gysin & Ian Sommerville, 1960s

House of Dust
after Alison Knowles & James Tenney, 1967

Random Poetry
after Michal Murin, 1989

A project by Nick Montfort, nickm.com

The creative text generators that are the basis for the Memory Slam programs were all originally developed without recourse to interactive programming; the author/programmers of them, in the 1950s, 60s, and even in one case the late 80s used punched-card style batch processing. The programs I developed are reimplementations of a sort, but I now think of them as new artworks based on these earlier projects. They are meant to represent the important formal aspects of the original systems and the essential ways they work, as best as I could determine from the resources available to me.

They do not represent the material aspects of these earlier projects. If these are editions, they are “reading editions.” In several cases, I present the outputs by default in mixed case, even though this output was impossible originally. I did this just to make the systems a bit less alien and easier to read. The outputs also wouldn’t have appeared on screens. They would have been printed out on teletypewriters.

These versions are for study, sharing, and learning, too, and you are encouraged to view the source. They are all free (libre) software. I have made HTML5 versions available on the Web that can be downloaded as single, stand-alone Web pages. These are easy to modify; you may use them as the basis for your own poetry or artwork, if you like. I have also developed Python programs/artworks that will run in both Python 2 and 3. These are linked from each generator’s Web page. There are more accurate versions of several of these text generators available online. I have tried to balance the accessibility of the code (even for new programmers), the ease of reading, and to the extent it seemed sensible, faithfulness to the original.

I first put this project together (with four text generators) on the train from Boston when I was invited to judge the first NYU ITP Code Poetry Slam in New York City on November 14, 2014.

I developed “Random Sentences” in response to a commission by Agnieszka Kurant for a reading in Rhinebeck, New York, July 23, 2016. “Random Poetry” was developed (in both languages) as part of the Renderings project and added July 28, 2017. “Generator of Five-Word Lines,” the most speculative of these if they are considered as reimplementations, was added November 7, 2018.

Memory Slam 2.0 (January 1, 2024) did not include any new generators. Rather, I overhauled the appearance of all the programs, tried to ensure compatibility across phones and tablets, and reviewed and refactored the code. All version 2 generators have a full screen control ⛶ in the upper right. Those programs that generate text continually now have the ability to pause (use ⏸) and for most programs users can shift between mixed case all caps (use ⇪). For “Permutation Poems” and “Random Poetry,” shifting case is best done by simply editing the HTML file. In 2026 I updated Memory Slam to 2.0.1 mainly to clarify that these are all my own projects developed “after” (following, based on, inspired by) those of earlier artists.

Some of these happen to function very much like the programs they are based on, but this is not the case of all of them, as comments in the code will sometimes explain. One of these generators, “House of Dust,” uses terms that were not always offensive in the 1960s (“American Indians,” “Negroes”) but are now. Because a major part of my project was sketching existing work accurately, when I could see how to do so, I have kept this language. Those who prefer to remove or update those terms are welcome to do so by downloading the code and modifying it.