NaNoGenMo 2014: A Look Back & Back

There were so many excellent novel generators, and generated novels, last month for NaNaGenMo (National Novel Generation Month).

I thought a lot of them related to and carried on the work of wonderful existing literary projects — usually in the form of existing books. And this is in no way a backhanded complement. My own NaNoGenMo entry was the most rooted in an existing novel; I simply computationally re-implemented Samuel Beckett’s novel Watt (or at least the parts of it that were most illegible and computational), in my novel generator Megawatt (its PDF output is also available). For good measure, Megawatt is completely deterministic; although someone might choose to modify it and generate different things, as it stands it generates exactly one novel. So, for me to say that I was reminded of a great book when I saw a particular generator is pure praise.

Early in month, Liza Daly’s Seraphs set a high standard and must have discouraged many offhand generators! Liza’s generator seeks images and randomizes text to produce a lengthy book that is like the Voynich Manuscript, and certainly also like the Codex Seraphinianus.

Allison Parrish’s I Waded in Clear Water is a novel based on dream interpretations. Of course, it reminds me of 10,000 Dreams Interpreted (and I am pleased, thanks to my students from long ago, to have the leading site on the Web for that famous book) but it also reminds me of footnote-heavy novels such as Infinite Jest. Let me note that a Twine game has already been written based on this work: Fowl are Foul, by Jacqueline Lott.

I found Zarkonnen’s Moebius Tentacle; Or the Space-Octopus oddly compelling. It was created by simple substitution of strings from Moby-Dick (one novel it clearly reminded me of), freeing the story to be about the pursuit of an octopus by space amazons. It wasn’t as polished as I would have liked (just a text file for output), and didn’t render text flawlessly, but still, the result was amazing. Consider how the near-final text presents the (transformed) Tashtego in his final tumult:

A sky-hawk that
tauntingly had followed the main-truck downwards from its unnatural home
among the stars, pecking at the flag, and incommoding Lazerbot-9 there;
this spacebat now chanced to intercept its broad fluttering wing between the
hammer and the plasteel; and simultaneously feeling that etherial thrill,
the submerged robot beneath, in her death-gasp, kept her hammer frozen
there; and so the spacebat of heaven, with archangelic shrieks, and her
imperial beak thrust upwards, and her whole captive form folded in the
flag of Vixena, went away with her spaceship, which, like Satan, would not sink
to transwarp till she had dragged a living part of heaven along with her, and
helmeted herself with it.

Sean Barrett wrote two beautiful generators (at least) – the first of which was How Hannah Solved The Twelve-Disk Tower of Hanoi. Deliberate, progressing, intelligent, and keeping the reader on the edge of her seat – this one is great. But, that generator (drafted by November 9) wasn’t enough, and Barrett also contributed (only a day late) The Basketball Game, an opera generator that provides a score (with lyrics) and MIDI files. It’s as if “I got Philip Glass!” indicates that one is rebounding.

Eric Stayton’s I Sing Of takes the beginning of the Aeneid as grist, moving through alternate invocations using WordNet. I like the way different epics are invoked by the slight changes, and was reminded of Calvino’s If on a winter’s night a traveler.

Sam Coppini’s D’ksuban Dictionary, although also just a text file, is a simple but effective generator of a fictional language’s dictionary. Less like the Devil’s Dictionary, more like the (apparently unpublished) lexicon of Earth: Final Conflict. I’m sure literary works in D’ksuban will be forthcoming soon.

Ben Kybartas’s Something, Somewhere is wonderfully spare and evocative – more Madsen than Hemingway.

Finally, Thricedotted’s The Seeker is an extraordinary concrete novel in the tradition of Raymond Federman’s Double or Nothing. The text, based on wikiHow, is good and serves well to define a protagonist who always wishes to do right, but the typographical framework is really excellent.

These are just a few comments before NaNoGenMo goes as stale as a late-December pumpkin. I hope you enjoy tis work and other work that was done last month, and that you keep an eye peeled for further novel generators – next November and throughout the year.

A “Trope Report” on Stickers

Not literally on stickers, no. This technical report from the Trope Tank is “Stickers as a Literature-Distribution Platform,” and is by Piotr Marecki. It’s just been released as TROPE-14-02 and is very likely to be the last report of 2014. Here’s the abstract:

Contemporary experimental writing often directs its attention to its writing space, its
medium, the material on which it is presented. Very often this medium is meaningful
and becomes part of the work – the printed text transfered to another media context
(for instance, into a traditional book) would become incomprehensible. Literature
distributed on stickers is a form of writing that is divided into small fragments of texts
(a type of constrained writing), physically scattered in different locations. One of the
newest challenges in literature are books with augmented reality, AR, which examine
the relation between the physical (the medium) and the virtual interaction. Sticker
literature is a rather simple analog form of augmented reality literature. The stickers
have QR codes or web addresses printed on them, so the viewer who reads/sees a
random sticker in the public space can further explore the text online. The viewer can
read other parts of the text on photographs (the photograph being another medium) of
other stickers placed in different locations. The author will discuss the use of stickers
throughout literary history, beginning with 20th century French Situationists, through
different textual strategies applied by visual artists and ending with literary forms such
as the sticker novel Implementation (2004) by Nick Montfort and Scott Rettberg or
Stoberskiade (2013). The author shall try to explain why writers decide to use this form,
how the text is distributed and received and how the city space is used in such projects.

Renderings (phase 1) Published

For the past six months I’ve been working with six collaborators,

– Patsy Baudoin
– Andrew Campana
– Qianxun (Sally) Chen
– Aleksandra Małecka
– Piotr Marecki
– Erik Stayton

To translate e-lit, and for the most part computational literature works such as poetry generators, into English from other languages.

Cura: The Renderings project, phase 1

After a great deal of work that extends from searching for other-langauge pieces, through technical and computing development that includes porting, and also extends into the more usual issues assocaited with literary translation, the first phase of the Renderings project (13 works translated from 6 languages) has just been published in Fordham University’s literary journal, Cura.

Please take a look and spread the word. Those of us rooted in English do not have much opportunity to experience the world-wide computational work with langague that is happening. Our project is an attempt to rectify that.

Some Houses of Dust

Zach Whalen pointed out that it would probably be interesting to compare the reimplementations of A House of Dust that he did early this year and that I did more recently. Whalen’s work to reimplement historical systems is really excellent, by the way, and I in fact showed his animated GIF of “Kick that Habit Man” when I premiered Memory Slam, including a workalike of Gysin and Sommerville’s program and my version of the Knowles and Tenney poem, at NYU ITP’s Code Poetry Slam.

While I’m not going to go deep into code-level analysis of these – that’s a better task for some other code scholar and code warrior – I will make a few high-level points about the two versions, to at least cover some of the obvious differences.

My implementation is much more flat, for better or worse.

Flat in terms of files; all the CSS and JavaScript used by my implementation is packed into the one HTML page, so it’s easy to save it to your desktop, change the file around quickly, and see the result. However, that’s not a very Enterprise way to go about it; Whalen’s version reflects more typical programming practices in that regard, linking to a standard CSS file used throughout the site and using JavaScript stashed in .js files.

My version is also flat also in terms of appearance. While I present the plain monochrome all-caps stanzas scrolling up, Whalen gives a Janus-like look backwards to the pinfeed fanfold paper on which the original poem was published and forwards to the world of social media, via the “Share” button. This is a visual reminder of how the original prinout looked (although it did have four spaces of indentation rather than one!) and an indication of how its output can be part of today’s systems of sharing. I chose to use a proportional font because the monospace font seems too austere and too severe of a historical reminder to me, but I’m glad there is Whalen’s monospace alternative as well. That the lines in Whalen’s version appear a bit at a time is also a nice printerly touch.

It’s an empirical question as to whose version is the most easily modifiable and remixable. One can change the strings around quite easily in both versions to attain new versions of the classic program, after all the files are obtained. I would guess (and hope) that my version might have the edge in providing this sort of flexibility to those exploring the poem through programming, whether new or experienced. If so, that might make it useful in this particular regard and make up for the less historicized appearance and less sharable output.

There was another point to my implementation, which was that it was done more or less uniformly with the other three pieces included in my Memory Slam. So, a new programmer working with any one of those would be more easily able to continue to work with other programs in the set.

That’s something of a start to the discussion of these. I certainly welcome further comments and comparisons.

Z-Machine Implemented in Hardware

It happened to some extent with LISP, which certainly started out as a software programming language, and the LISP machines, which supported the language with hardware features.

Now, the Z-Machine, which was probably the first commercial virtual machine, developed in 1979 by Joel Berez and Marc Blank for Infocom, has been implemented in hardware using an FPGA. The Verilog code is available, so you can make your own if you like.

It all goes to show you … there is no software.

A Great Platform Studies Answer

To how software keeps getting better and graphics get better-looking on the same old consoles.

Note that for the Atari VCS / Atari 2600, only answers #3 and #4 apply, since developers didn’t use “engines” or even compilers, instead writing their code in assembly langauge. (Presumably the assemblers didn’t improve much over the years.) Also, the VCS had no firmware, flashable or otherwise; although refined versions of the hardware were produced over the years, such as the Atari 2600 Jr., such systems were optimized for cheaper manufacturing and didn’t improve performance.

Still, there are important continuities between the answer to this question for the VCS and for modern-day consoles. And the answer is not obvious, since companies and the press usually emphasize the improvements in hardware that are made between generations of a console.

Megawatt

Megawatt coverThe fruits of my National Novel Generation Month (NaNoGenMo) labors are now online; the _Megawatt_ generator is available as a single 350-line Python file, while the novel it deterministically generates can be obtained as a PDF, megawatt.pdf or in epub format, megawatt.epub. From the program’s docstring and from the preface to the book:

_Megawatt_ is the title of both a computer program, the source code
to which you may be reading, and the output of this program, which in
many ways is like a standard novel and which you may instead be reading.
This note appears at the beginning of both.

The program _Megawatt_ is based on passages from Samuel Beckett’s novel
_Watt,_ first published in 1953 but written much earlier, when Beckett
was aiding the French Resistance during World War II.

The novel _Megawatt_ leaves aside all of the more intelligible language
of Beckett’s novel and is based, instead, on that which is most systematic
and inscrutable. It does not just recreate these passages, although with
minor changes the _Megawatt_ code can be used to do so. In the new novel,
rather, they are intensified by generating, using the same methods that
Beckett used, significantly more text than is found in the already
excessive _Watt_.

(Please note: The following information is handy if you want to, for instance, modify the program and generate a PDF or epub yourself. You don’t need to do this to read the novel. You can download it in PDF: megawatt.pdf or in epub format: megawatt.epub.)

To produce the novel in markdown format, run megawatt.py (a Python 2
program) with TextBlob (a text processing library) installed.

% python megawatt.py > megawatt.text

To produce PDF and epub documents, use pandoc:

% pandoc -V geometry:paperwidth=5.5in \
-V geometry:paperheight=8.25in \
-V geometry:margin=.7in -o megawatt.pdf \
megawatt.text
% echo ‘% Megawatt’ > info.txt
% echo ‘% Nick Montfort’ >> info.txt
% pandoc -o megawatt.epub info.txt megawatt.text

_Megawatt_ was written/generated for the second NaNoGenMo (National
Novel Generation Month) in November 2014, and is free software.

A Gysin & Sommerville Question

I recently released Memory Slam, a set of four reimplementation of classic text generators. I did them over in JavaScript and in Python in the hopes that people would easily be able to play around with them, modify them, and understand them better through this sort of use. I’ve seen a few cases in which this has been done already, but first off, please let me know if you’ve posted modified versions of these, as I would love to see more. The license terms do not oblige you to do so, of course, they are licensed as free software. I’m just asking.

One question that remains is exactly when the program that automatically permuted phrases was written by Ian Sommerville in collaboration with Brion Gysin. I’m very interested in finding this out, but I do have other projects that are keeping me from doing archival or even deep library research into this. After discussion on the original announcement post, I’ve made a few corrections to this sort of metadata, but I still can’t figure out when this permutation code was first written. And since I don’t know which texts are the first examples of output from these programs, I also can’t tell how the permutations were ordered by the program.

The poem “KICK THAT HABIT MAN” was written manually in 1959 and other permutation poems were broadcast by the BBC in 1960. “Around 1960” is sometimes given as a date for the program or programs. However the Honeywell Series 200 Model 120, indicated in several places as the computer used, was not released until 1965. Please let me know if you know that a different computer was used or if you know the exact year in which the permutation poem programs were written.

And I can’t post something about these friends of William S. Burroughs, on Thanksgiving, without including this little prayer:

World Clock Punches in on The Verge

Some kind comments about World Clock and NaNoGenMo in the article “The Strange World of Computer-Generated Novels” by Josh Dzieza.

Nick Montfort’s World Clock was the breakout hit of last year. A poet and professor of digital media at MIT, Montfort used 165 lines of Python code to arrange a new sequence of characters, locations, and actions for each minute in a day. He gave readings, and the book was later printed by the Harvard Book Store’s press. Still, Kazemi says reading an entire generated novel is more a feat of endurance than a testament to the quality of the story, which tends to be choppy, flat, or incoherent by the standards of human writing.

“Even Nick expects you to maybe read a chapter of it or flip to a random page,” Kazemi says.

There were many great generated novels last year, and are already many great ones this year. I don’t think among this abundance that World Clock is a very good poster boy for NaNoGenMo. Still, my experience with the book does make a strong case for having your generated novel translated in (or originally written in) Polish.