"Taroko Gorge" Printout
June 05, 2012
My offering is a printout of the first version of “Taroko Gorge,” a simple poetry generator written in Python. This version of the generator was intended as a completed work, but it turned out not to be the last stage of this project within my own poetic practice or beyond it.
I had started a series of very small poetry generators, ppg256, just over a year before writing this one. While the poetry generators in that series (which was just recently completed) are highly compressed 256-character programs, produce output that sounds avant-garde and not highly intelligible, and are written in Perl, “Taroko Gorge” was written under a different and more relaxed set of constraints. It was created to fit on a single page, with variable names that can be understood easily and with short explanatory comments. I defined this “single page” very traditionally, in terms of line printer output: The text was not to exceed 66 80-column lines. “Taroko Gorge” was meant to generate a boundless poem, as the ppg256 generators did, but this poem was to be a nature poem which would be more traditional and perhaps more identifiable, to some conventional readers, as poetic. And, it was written in Python, a language I prefer for sketching simple literary generators. Most would agree that Python is more easily legible and more easily modified and reworked than is Perl, which is sometimes called a “write-only” language because of its impenetrability. It’s particularly difficult to modify Perl that is intentionally packed into as few characters as is possible. Python, on the other hand, proves fairly easy to consider even for first-time programmers. Indentation makes the scope of, for instance, while loops and if … else constructs clear even though curly braces are not needed to indicate blocks and line-ending semicolons are not used in this program.
An additional constraint was that I would write the poetry generator in one day and would begin to write it, and draft most of it, at the place it is about, Taroko Gorge National Park in Taiwan. As I wrote and programmed, I did not attempt to parody nature poetry or Eastern poetic traditions. Rather, I sought to show that just as poets have written poems about the natural world as they looked upon it, one could also write a poetry generator about the natural world on the particular site.
The comments explain that there are three types of lines generated. The first and last line of any long stanza are “path” lines meant to suggest the experience of walking along an outdoor path and seeing natural features either above or below. One or more “site” lines may be generated between these. These lines are less active and are meant to suggest the experience of stopping at a viewing area. Finally, the indented one-line stanzas are “cave” lines meant to suggest the experience of moving through the tunnels that, like the paths, were carved through the rock by Chiang Kai-shek's Nationalist army. In many of these tunnels, which are not lit with artificial light, it is not possible to see the exit from the entrance on the other side. This is why the ending of the sentence in a “cave” line of mine is also unseen. Although I used some one-letter function names, I tried to avoid obfuscation and explained each of the functions at least briefly in the comments at the top.
On March 3, I printed ten copies of the program on the dot matrix printer I have in my office. I sent the first copy to my hosts in Taiwan. Alongside the precious signature and date, I numbered each of these material texts in the format “2/10 PRINTOUTS” to emphasize that unlike these particular printouts, the program itself is not a multiple, does not exist in an edition, and (even though an explicit license is not included) is free for anyone to copy, run, and modify.
As I see it, these remixes say nothing about the poetic quality of my original program. However, they speak endlessly of the poetic potential of a page of code. I would be delighted, of course, to see many more remixes of “Taroko Gorge.” But it would be even better if it becomes impossible to discern that the new poetic programs being developed are related to my original program. It would be even better if ten other programs are written that work in completely different ways to generate poems, and if each of these are themselves remixed ten times. The idea of developing computational art in a short amount of time, in an hour or in a day – an idea that I’ve ripped off and remixed from many others – is what really deserves to get picked up and reworked, again and again.