h d d k x v d r k y p s b a b a n i k d u u
v r c q i e z j s s v h t l i r k k n k n n m
z b q b k x m d u z f s g p u z v y v m f s
i u p p z r n t k f b h v q l x w h x f x c i w v f
k h l a i o q s z n z u n c l w d a d a m j b e
m n b q o u o e n s r b o j b q q t q s f n i f u l
Concrete Perl
a set of four concrete poems realized as 32-character
Perl programs
For purposes of determining the platform precisely and counting characters, the rules of Perl Golf are
used. These rules, for instance, do not count the (optional) newline at the end of a one-line program. The Concrete Perl programs work on all standard versions of Perl 5.8.0 and have been verified as 32 characters long using a count program.
These programs are also written to work and to be visually pleasing on terminal windows (or terminals) of any geometry.
To present them all at once, you can tile four windows and run one program in each window. For instance, running Linux with Compiz as the window manager and the Grid plugin installed and active, create four windows and assign them to the four corners of the screen using Ctrl-Alt-Num Pad 7, Ctrl-Alt-Num Pad 9, Ctrl-Alt-Num Pad 1, and Ctrl-Alt-Num Pad 3. In this
mode if the resolution of the display is not particularly high, you may wish to decrease the font size a notch in each window.
Concrete Perl was released onto the demoscene and discussed by me for the first time in my talk “Beyond Data-Driven Poetry: ppg256 and Concrete Perl,” on the panel “Literary Practice and the Digital Humanities, Redux: Data as/and Poetry,” Digital Humanities 2011, Stanford, June 22, 2011.
I have printed the four programs/poems on a dot matrix printer on business cards and am handing them out and, in some cases, adding them to the “Interactive Poetry Wall” at Stanford University’s “Coho” coffeehouse.
p j o c v v n v t g k t i s h f j v e d v c e b
p z p e s s d o f z v p s t z i b f j w l
p z y f j w k k p k y n v f g u m r m k x i w l s a t n b a f
w q y u t p r p w p m d x j c j j n z k a j z i s
w a w q k j y y k c r d i b p f z h i x i
c o x f p f u d g z y f b y v q v g v o j l
Charles Bernstein just gave the keynote-like presentation at E-Poetry. (Actually, he used PowerPoint.) I’m providing a few notes, feebly extending in my subjective way some of his oral and photographic/digital presentation for those of you in the information super-blogosphere.
He started by mentioning the UB Poetics Program and its engagement with digital humanities, saying: “As Digital Humanities departs from poetics, it loses its ability to articulate what it needs to articulate.”
EPC and PennSound, he explained, are noncommerical spaces that aren’t proprietary, don’t have advertising, and are not hosted on corporate blogs or systems. These are dealing with digital archival issues – not as much computational poetry – but very important work to do on the Web. There was no foundation support for EPC, even though it was acknowledged as the most widely used poetry site on the Web.
PennSound, a project with the strong support of Penn thanks to the work of Al Filreis, has around 10 million downloads/year – even bigger than Billy Collins! There are about 40,000 individual files. This is bigger than anyone thinks poetry is today. But the NEH won’t fund the project because we aren’t mainly a preservation project; we don’t put audio on gold-plated CDs and place them in a vault.
Bernstein’s new book _Attack of the Difficult Poems_ gives an account of language reproduction technologies and poetics, explaining how different technologies exist overlaid at once. Hence, he explained that he is interested not only in e-poetry but also in d-poetry and f-poetry. Alphabetic, oral, and electronic cultures are overlaid today.
Talking machines, since Edison’s recitation of “Mary had a little lamb,” produce sounds that we process as if they were speech. The recorded voice only speaks and is private – unlike in the public of a live talk. The digital creates proliferations of versions, undermining the idea of the stable text even further.
Bernstein demonstrated the aesthetics of microphone breakdown and then explored the poetic possibilities of the presenter having difficulties with computer interface – he played some audio clips, too, showing that the “archives” we are discussing are productive of new works. Bernstein also welcomed an outpouring of “cover versions” of poems. Poets now only read each others’ work aloud at memorial gatherings. “Any performance of a poem is an exemplary interpretation.” Bernstein went though the specifics of four possibilities found in speech but not in text. Bernstein discussed “the artifice of accent” and how recorded voice, and digital access, have been important to this aspect of poetry.
Bernstein went on to discuss Woody Allen’s fear of books on tape, odd for someone for whom the more recent technologies of TV were so important. Charles presented his Yeats impersonation, which he suggests may be not as important as Yeats’ actual recorded reading, just as the Pope’s prayers may actually be more important even though we like to think that everyone’s are the same. Sound writing is the only kind of writing other than unsound writing.
I have a final image macro based on something Bernstein said immediately before he corrected himself. I hope this gives you some idea of why I’m a follower, a close follower, of Charles Bernstein…
My thanks to Mary Flanagan, Aden Evens, and the others at Dartmouth who put on the digital poetry symposium last Friday (April 15). I was very glad to participate along with Marjorie Luesebrink, Braxton Soderman, and my collaborator Stephanie Strickland. With Stephanie, I showed, discussed and read from our “Sea and Spar Between.” I also presented some of my smaller-scale poetry generations, including words from the ppg256 series,“The Two” and its French translation by Serge Bouchardon, and “Taroko Gorge” and its transformations by Scott Rettberg and J. R. Carpenter.
Mary has a writeup of the symposium on her blog, Tiltfactor, describing the excellent work that my fellow presenters showed. I was familiar with and pleased to hear more about the projects that Margie and Stephanie showed; it was great to see the work in progress, a provocative textual platformer, that Braxton was doing with Daniel C. Howe and that he showed.
On April 2, “ClubFloyd,” a group of players of interactive fiction, took on my Book and Volume, which was released on the [auto mata] label in 2005. They played the game on ifMUD and conversed online about it. Reading the discussion was a treat for me. Not because every bit of it was positive – I found out about some bugs. For instance, since the current time is only reported in the status line, it can’t be easily determined when playing the game via a bot on a mud, the way this group was playing. But the feedback from these sessions was very useful, and would have been hard to come by otherwise.
I think some of the ClubFloyd players had fun, although I’m not exactly sure how to interpret statements such as “This game boggles the mind.” In any case, the transcript of ClubFloyd’s play is online.
If you’re interested in story generation or Processing, do check out Scott Rettberg’s new screencast describing the process he undertook in writing and programming After Parthenope. He goes through the nuts and bolts of the piece and how it rolls out language using a hand-crafted trigram model; he also explains some of the pleasures of authoring a system like this.
I had a great time showing Curveship, and explaining the motivation behind it, at the IF Summit next to PAX-East today. And it was generally a great weekend of catching up with the people who are continually discussing this system (and many other matters) with me online. My thanks particularly to Zarf, the main organizer of the IF suite, Dave, who set up us the conference room, and Emily, who ran the IF Demo Fair on Saturday night. And generally, hooray for interactive fiction and the People’s Republic of Interactive Fiction – I hope we have many other productive gatherings in years to come.
Almost a decade after the project began, the IF Theory Reader is finally here, thanks to the hard work of editors Kevin Jackson-Mead and J. Robinson Wheeler. The book has been published by Transcript On Press and has made it out in time for PAX-East, where Kevin’s group The People’s Republic of Interactive Fiction will be hosting a hospitality suite.
My own contribution, “Toward a Theory of Interactive Fiction,” has a first page which (except for the title of the article) is entirely occupied by a footnote. Perhaps ominously. I did, however, revise the article for the N+1th time, trying to make it a bit more accessible. I began writing this particular piece back when this book project was first being formulated, and am very, very glad to have it officially published after all these years.
The compendium of writing about interactive fiction that we finally have here includes 26 articles – the same number, I should mention, as there are letters of the alphabet:
Crimes Against Mimesis – Roger S. G. Sorolla
Toward a Theory of Interactive Fiction – Nick Montfort
Characterizing, If Not Defining, Interactive Fiction – Andrew Plotkin
not that you may remember time: Interactive Fiction, Stream-of-
Consciousness Writing, and Free Will – Mark Silcox
2 Brief Dada Angels – Ryan Stevens, writing as Rybread Celsius
Object Relations – Graham Nelson
IF as Argument – Duncan Stevens
The Success of Genre in Interactive Fiction – Neil Yorke-Smith
Parser at the Threshold: Lovecraftian Horror in Interactive Fiction – Michael Gentry
Distinguishing Between Game Design and Analysis: One View – Gareth Rees
Natural Language, Semantic Analysis, and Interactive Fiction – Graham Nelson
Afterword: Five Years Later – Graham Nelson
Challenges of a Broad Geography – Emily Short
Thinking Into the Box: On the Use and Deployment of Puzzles – Jon Ingold
PC Personality and Motivations – Duncan Stevens
Landscape and Character in IF – Paul O’Brian
Hint Development for IF – Lucian Smith
Descriptions Constructed – Stephen Granade
Mapping the Tale: Scene Description in IF – J. Robinson Wheeler
Repetition of Text in Interactive Fiction – Jason Dyer
NPC Dialogue Writing – Robb Sherwin
NPC Conversation Systems – Emily Short
10 Years of IF: 1994–2004 – Duncan Stevens
The Evolution of Short Works: From Sprawling Cave Crawls to Tiny Experiments – Stephen Granade
History of Italian IF – Francesco Cordella
Racontons une histoire ensemble: History and Characteristics of French IF – Hugo Labrande
Again, congratulations to Kevin and Rob, and thanks to my fellow authors. I’ve read many of these articles before; I’m looking forward to sitting down and reading everything, previously seen and unseen, in this excellent codex.
Happy Groundhog Day. Today, I’m releasing Curveship, my interactive fiction system that models not only the fictional world, but also the narrative discourse. A development version (0.5) of this Python framework is now available for download. You can find the links, along with some description and documentation of the system, at curveship.com.
(Original photos by April King and Postdlf, Wikimedia Commons; they & these modified versions are CC by-sa 3.0.)
More recently, on January 10, I spoke about the program at UC Santa Cruz. My talk “Line of Inquiry: Many Authors Explore Creative Computing through a Short Program” is available on video in six parts. Part 1 will let you link on to the rest.
Last night I projected words to accompany music at a local lounge. This practice does not seem have an established name – does it? Please let me know if you’re aware of the conventional term. I have heard the phrase “text jockey” used. I’ve also come up with some other terms that don’t seem to fit perfectly. In a sense, this is VJing, but it’s also a practice that is compatible with VJing, since words can be projected in a subtitle-like fashion on moving images.
Using a small bit of Python code and pyglet, I put a number of texts up a word at a time in very plain and uniform typography. Each successive word appeared centered on the same point as the last in a rapid, serial, and visual manner. Sometimes I showed several texts in juxtaposition, sometimes just one. I thought the combination of the Advanced Dungeons & Dragons Monster Manual and the text of Beckett’s Rockaby was particularly nice. The Unabomber manifesto and the Timecube website were utilized, as were Moby Dick, a Roberto Bolaño story, some altered versions of Little Red Riding Hood, a poem by Harry Mathews, and a few pieces I put together that drew randomly from word sets to confuse gender stereotypes and our notions of otherness. One of the people who came thanked me and said that he wasn’t expecting to spend the evening reading from great books, but that it was pretty cool.
My thanks to DJ Flack & Wayne and Wax, who very kindly invited me to join them.
I’ve been working the past few days to change the way actions are represented in Curveship. The previous model for actions is described well in sections 5.1.3 and 5.1.4 of my dissertation. I won’t go into it in any detail here, but it involved two sorts of abstractions (one higher-level and associated with intention and narrating, the other lower-level and used directly in the simulation) and was considerably more complex than what I have in the current system.
I will mention something about why actions are represented in the system at all – that is, with first-order representations, objects. This is a departure from the way IF systems have worked up to now. In other IF systems, when you “get lamp,” you change the state of the world. The lamp object has a different parent when you are done with this action. But there is no object representing the action itself, the adventurer getting the lamp. As you can tell from playing IF, this works fine if you want to stick to one character and narrate what is happening exactly once, as it happens.
Having a representation of action, on the other hand, allows for much more flexibility in narrating. One can narrate an action in flashback (because it’s still there, represented as an object) and can easily maintain lists of actions for each character, to represent what each specific character is aware of. In Curveship, these are kept in “concepts” which are theories about the world that are almost always incomplete and can even be wrong. Since all actions are reversible, the representation of actions also provides an infinite “undo” capability.
So, the action representation now simply provides actions of four types:
Behave – Any action that doesn’t change the world, from speaking to jumping up and down.
Configure – An action that causes an item to be moved to a new place, or to be in a new relation, in the item tree. (“get lamp” is an example.)
Modify – An action that causes an item to change state, to have one of its features take on a new value. (“light lamp” is an example.)
Sense – A perception of the world which does not change the world but may update a character’s concept.
For instance, this is the code that maps the command “get lamp” (or “get” followed by anything) into a particular “take” action, which is a configure action:
“take” is the verb and agent the agent; all Actions must have these two. The template is optional. It specifies the string-with-slots that is to be used in representing this action. All configure actions have a direct object, the item being configured, and need at least a “new” keyword specifying the link and parent that item will be in. Here, it’s “of” (indicating possession) and the agent (the one who is doing the taking.)
I just wanted to thank Norman Ramsey, Eddie Aftandilian, and Brad Larsen for the very productive day-long discussion of Curveship that we undertook on Friday. I’ve spent most of the weekend and much of today implementing just one of the ideas for changes that came out of this. The discussion certainly gives me more to do, but it also does a great amount to focus my efforts as I work toward a release of system.
I’ve recently returned from a great trip to Mexico City. I was at the 5th Mexican International Colloquium on Computational Creativity presenting alongside two other foreign guests, Graeme Ritchie and Dan Ventura, and two local researchers, Rafael Pérez y Pérez and Eduardo Peñaloza. There was a productive and lively roundtable on interdisciplinary work and collaboration the day before the talk, too. Rafael Pérez y Pérez, a collaborator of mine, arranged the colloquium and was a very gracious host, making sure that we got to and from the airport, to all of the colloquium events, and to several excellent meals.
I have a few things to mention about the 5th MICCC, but I’d like for this post to be mainly forward-looking rather than backward-looking. That’s because ICCC-11, the 2011 International Conference on Computational Creativity, is an event on the same topic as this recent colloquium, and it will be taking place in the same city thanks to the local organizing work of our wonderful host, Rafael. Although the colloquium was intellectually rich and I enjoyed visiting Mexico City for its own sake, I was also very pleased because I was anticipating this larger-scale academic gathering that will be taking place April 27-29. In part, I was reminded of the conference because I and the other organizers, Rafael, Graeme, and Dan, spent a good bit of the time working to make the remaining decisions and to prepare for ICCC-11. But even just walking around the city, I had in mind how much other computational creativity researchers would enjoy coming to México.
At the colloquium, I was the only one who didn’t discuss a large-scale system that is somehow related to the creative process. (I do have a such a system, Curveship, but I wanted to focus on something else in this talk.) I spoke about creative computing and the relationship that this area has to computational creativity. In creative computing, the computer is seen as a medium and platform for human creative work. There’s a strong relationship between this area and computational creativity, but there are some distinctions, too. I spoke about a very short, simple Commodore 64 BASIC program:
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
This one-line program is the focus of a deep investigation that I am undertaking with nine other authors. We plan for this study to result in a single-voice academic book – not an edited collection, not a “chapter book” with separately authored segments, but something that reads like a single-author book but is written by ten people. We are still in the early stages of writing this book, but it’s our hope that 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 by Nick Montfort, Patsy Baudoin, John Bell, Ian Bogost, Jeremy Douglass, Mark Marino, Michael Mateas, C. E. B. Reas, Mark Sample, and Noah Vawter will be published by the MIT Press in 2012. (Yes, the book’s title is the program itself.) Since the colloquium focused on interdisciplinary work and collaboration, this seemed like a nice project to discuss, even though the ten of us working on this project are not trying to model the creative process using computation. I described how the study of this program shed additional light on the relationship between platform and creativity, and how it suggested that computational creativity models try to take into account that relationship.
The other talks offered some excellent descriptions of and discussions of computational creativity systems: MEXICA, DARCI, and STANDUP (along with its predecessor, JAPE). These systems, and the things that have been done with them, are all great examples of creative computing, by the way, in addition to being computational investigations of creativity! I could do a post this long covering just the new thoughts that have come to me about these projects, each of which I knew about before. For now, I’ll refer you to the abstracts and links for more on those projects.
Coming up: The 2011 International Conference on Computational Creativity, April 27-29 in Mexico City
I’ve been to Mexico City before, but this was my first trip to the city’s main square, the Zócalo. This is the area where ICCC-11 will take place. It’s an amazing sight. You can see that Mexico City is mind-bogglingly big as you fly in, but the Zócalo is massive in a different way. The plaza and the area is human-scale (designed for pedestrians and very walkable, with many shops and restaurants) while also being tremendous and impressive. On the north is the cathedral; the National Palace, where President Calderón works, is to the east. An enormous Mexican flag flies from the National Palace during the day. To the west are several buildings, including the Best Western Majestic Hotel, which will be offering a discounted rate for ICCC-11. Just off the plaza, between the Cathedral and the National Palace, is where ICCC-11 will be held – at La Casa de la Primera Imprenta. The first printing press in the Americas was installed in 1536 in this building. It now offers a conference facility of just the right size for ICCC-11 presentations and demos, several galleries, and a bookstore.
The Autonomous Metropolitan University, Cuajimalpa is the host institution for ICCC-11, which is also supported by UNAM’s postgraduate program in computer science and engineering. The colloquium that UAM-Cuajimalpa put on with UNAM was well-attended by students and faculty who had some good questions for us. I know that we will have great local arrangements for ICCC-11; the participation we had in the colloquium suggests that we will be part of some good conversations (and, no doubt, see some good presentations and demos) from local ICCC-11 attendees.
So, I hope to see you readers who work in computational creativity in Mexico City at the end of April. I’m the publicity chair for ICCC-11, but in addition to publicizing the conference, I’m glad to email with anyone who has questions about the conference or about visiting Mexico City. And, remember that the deadline for submissions (of short papers, long papers, or show-and-tell proposals) is December 13, less than a month away now: The call for papers has the details, and there is more information on other parts of the ICCC-11 site.
The Curveship Codefest today was all I hoped it would be – a source of ideas, a way to discuss how to progress toward release, and even a time for the development of several fiction files (games) and spin files (specifications for narrating), some profound, some amusing, some both. I have received some very useful patches, representing the first contributions to the core Curveship code from others since I started this project in 2006. It looks like – with some serious work on my part, and with further consultation from the Curveship cognoscenti – Curveship can finally be ready for release in a few months.
I want to thank everyone who participated in the codefest today, from Amaranth to Zarf. So I will: Thank you, Amaranth, Angela, Brad, Doug, Jake, Jason, Kevin, Luis, Flourish, Fox, Ralph, and Zarf! Communities represented at the fest included the Boston area IF community, MIT’s Programs in Writing and Humanistic Studies and Comparative Media Studies, and the MIT Media Lab. In particular, thanks to Flourish for breakfast and lunch food for everyone; thanks to Zarf for the cookies; thanks to Amaranth and Brad for the donuts; and thanks to Fox for suggesting the event in the first place.
A special event: The People’s Republic of Interactive Fiction is hosting a session in which we’ll play The Lurking Horror, October 31, 2-5pm, MIT’s room 4-145. We’ll take a tour of some MIT campus locations that inspired the ones in this game, and David Lebling, the Infocom implementor who created the game, will be joining us.
Also, remember that there’s a Tuesday Nov 2 book party for the release of my Riddle & Bind, at Grafton St. in Harvard Square, 6-9pm. And on Sunday Nov 7 we’ll have a codefest where people can work on games in Curveship, or on the core system, if they like. Contact me (the login name is “nickm”, the domain to use is this one) if you’d like to join us for that event.
Anyone who is in the Boston area and interested in spending a day (or a good chunk thereof) helping me push Curveship toward release should shoot me an email. Thanks to a great suggestion from Prof. Fox Harrell, I’ll be hosting a one-day Curveship Codefest soon in MIT’s building 14. People are welcome to write games, to write spin (ways of narrating), and to hack on the core Curveship system with me. We’ll be working toward a release of Curveship under a free software license in December or January.