#!: Predictable Randomness

My algorithmic poetry

Nick Montfort released two books in 2014 that deal with randomness and expression. The first, 10 Print, I reviewed a couple years back and found it to be somewhat indulgent but ultimately worth the read, and I recently got around to his second of that year #! (Shebang).

In a similar style to 10 Print, #! uses a variety of algorithms to produce poetry without human interaction, showing the code at the beginning of each chapter and the resulting poetry following. Many of the contributors state that they groomed the produced text for the best bits, but I wouldn’t say that’s any different than using a maze building algorithm and selecting the best results for a game’s levels. Either way, the algorithm still produced the original content.

So let’s get to the obvious question - Is machine poetry any good?

Well, not really. I imagine that’s not too surprising of an answer. Many of the poems are not so much poems, but patterns of letters as in “All the Names of God,” which slowly builds up longer combinations of letters by cycling through the alphabet, and “Alphabet Expanding,” which is exactly what it sounds like: the alphabet written repeatedly with each loop increasing the space between the letters.

Aside from these pattern generators, many of the poems use a bank of phrases or letter groups that are chosen mostly at random to create semi-coherent poems. However, the phrases and groups have been so selected because they’d sound poetic in just about any combination.

Next obvious question then is - At the very least is it interesting?

From a technical standpoint, no. For an intermediate programmer, it may be interesting to see how they could code bits of programs dealing with randomness or pattern making in a succinct way, which was part of Montfort’s argument for the elegance found in 10 Print.

However, what 10 Print did well was allow its writers to imbue the mazes with meaning in different context whether that was artistic, ludic, or technical. Here, the proof is on the page. Do you enjoy what you are reading? And unfortunately, the answer is mostly no.

#! at the very least is neat looking in certain sections and will be a great book on my shelf to confuse my kids when they’re young. Thematically, it fits in perfectly with Montfort’s other work on creativity, expressiveness, and processing, so it is no surprise he took a chance with this topic.

Unfortunately, the book’s contributors didn’t do much in terms of varying their algorithms, each trying to make a simple algorithm that was roughly half a page down to one line depending on their text bank.

The approach feels lazy as there isn’t much to explore on the topic of procedurally generated poem, because the procedure is basically the same every time with a little bit of flair thrown in here and there.

This is definitely a topic I imagine Montfort and others will circle back on as time goes on, but I hope when #! 2: Electr1c Boogal0o comes out, there's a chance to see different approaches to procedural literature beyond nested loops with calls to a rand() function.