I just have to mention the 16-bit ALU implemented in the 3D environment of Minecraft, which has been much discussed by now. I’m glad to hear this game is keeping up with Dwarf Fortress. By the way, the particular piece of hardware that has been (virtually) built, on the way to creating a full CPU, is the one described in The Elements of Computing Systems, a book I wrote about on Grand Text Auto back in 2006.
Death and the Powers Arrives
The opera and “robot pageant” composed by Tod Machover, directed by Diane Paulis and with a libretto by Robert Pinsky has finally been staged in Monaco. I won’t see it until it comes to the Boston area in a few months, but I’m delighted to see the project reach the stage. Death and the Powers (discussed in this WBUR interview) has been in the works for about a decade. I wrote about it as we rang in the new year (2006) at Grand Text Auto, and I was very pleased to hear the workshop performance of the opera at A.R.T., here in Cambirdge. By now, we not only have the performances in Monaco: The libretto has been printed in Poetry and is available online at the Poetry Foundation. And those of us in the US can look forward to the March arrival of Death and the Powers in Boston.
Notes on the IF Community
I was a sort of “international observer” at the latest ELMCIP Seminar in Bergen, Norway. ELCMIP is a European project, funded by HERA, which looks at the ways electronic literature communities function and foster creativity. On the first day of the seminar (Monday, September 20) I presented about the IF community, supplementing that evening’s screening of Get Lamp at the Landmark Cafe. I offered some thoughts, summarized here, for those working in other types of electronic literature practices.
By “interactive fiction” (often abbreviated “IF”), I mean pretty much exactly what you will find if you Google for the term and starting looking through the first several pages of results. In my dissertation, I defined interactive fiction as: “A form of text-accepting, text-generating computer program that narrates what is happening in a simulated world in reply to input from a user, or interactor. Interactive fiction can have literary qualities and qualities of a game.” In recent decades, people have used the term in different ways, but this is how the interactive fiction community understands IF today and has understood it for a while. This means that IF is not defined by a particular platform, the way that Flash games are, but that people do expect something to work like a “text adventure,” with the simulation of space and objects and natural-language-like input, to be considered IF. Members of the interactive fiction community may find chatterbots, story generators, hypertext fiction, point-and-click graphical games, and other things very interesting, but these productions would not have a place in the annual Interactive Fiction Competition, for instance, because they aren’t interactive fiction.
I have to note at this point that I can’t offer any proper sort of study of the interactive fiction community, as I am not an anthropologist by training (or pretension) and I don’t understand the workings of community in the way that people with a better background would. What I can offer, as a member of this community, are some notes about my experiences and some pointers to ways I have seen the community working together. My hope is that may notes may be of some use in generating ideas about e-lit community or for someone undertaking a systematic study.
Also, I’ll explain at this point that what I and others call “the IF community” is not the only IF community, even for English-language work. One other community is that of authors and players of ADRIFT games. ADRIFT (Adventure Development & Runner – Interactive Fiction Toolkit) is an easy-to-use shareware system for IF development. Another locus of interactive fiction practice and playing is “adult interactive fiction” or AIF, which prominently depicts sexual activity. The AIF community has its own annual awards, the Erins, which are analogous to the IF community’s XYZZY Awards (discussed later). Beyond these communities, there are IF communities, or at least IF activity that involved several people and that I know about, in Spanish, German, Italian, French, and Russian language communities.
An important early resource for the IF community was the IF Archive, originally hosted in Germany thanks to Volker Blasius. The archive was announced on November 24, 1992 and is mirrored today on sites throughout the world, with the main site being ifarchive.org. The archive was originally accessed only by anonymous FTP and can still be reached by that method today, although there is a simple Web interface at the main site and a searchable interface at Baf’s Guide to the IF Archive. The “archive” is not a repository for an organizations old, inactive files; it a system for publishing and sharing new work, including the games for each year’s IF Competition.
The IF community communicated for many years on two USENET newsgroups – and some in the community still read these newsgroups. rec.arts.int-fiction and rec.games.int-fiction were not originally devoted to what we now call IF, but those discussions came to predominate. The “arts” and “games” groups do not argue for different perspectives on interactive fiction; they are simply for discussion of making games (“arts”) and playing them (“games”).
A central institution in the IF community – perhaps the central one – is the annual IF Competition, which began in 1994. Now in its 16th year and run by Stephen Granade, “the Comp,” as it is called, showcases a wide variety of short games, some poorly written and/or poorly programmed and others quite exemplary. While winning the Comp or placing well in it is certainly desirable, anyone who enters the comp can be sure that dozens, if not hundreds, of people will play the game submitted. Many will even write review of it, since it is a tradition among the most enthusiastic members of the IF community to review all of the Comp games. Competitions are central to many popular communities of digital practice – the demoscene as well as creators of Flash games, homebrew 8-bit games, and graphical games. These comps or compos usually do not involve substantial rewards for winners or agonistic competition; instead, they provide an event (in person in the case of the demoscene, online in other cases) that focuses the interest and energy of the community.
Recent years have seen other IF events of different sorts, including “minicomps” with different themes and the “Speed IF” sessions in which several participants each write a themed or constrained game in two hours. Some of the community’s events highlight the different metaphors that are in play, ones that work across literary and gaming concepts. Although works of interactive fiction are conventionally called “games” and the people who interact with them are called “players,” the person who writes a game (almost always the same person who programs it) is an “author.” The online “Interactive Fiction Book Club,” founded in 2001, brought together those who had played a particular game for conversation modeled on conversation about books. In 2009, “Interactive Fiction Writing Month,” with some in-person events that took place mainly at CMU, made an obvious connection to National Novel Writing Month. The annual XYZZY Awards for interactive fiction, on the other hand, are styled after the Oscars. Although they are awarded by popular nominations and popular vote, they are named in the manner of Academy Awards and presented at an online event. Many IF community members even virtually dress up for the award ceremony.
The XYZZY awards take place on ifMUD, a simple text-based MUD that serves almost entirely as a chat room. That is, role-playing and puzzle-construction and -solving have little place there and RPG-style combat has none. The people on ifMUD do use some of the unique MUD-like facilities to support their communications, however, and they also program new capabilities into the MUD for that purpose. There is a bot, Alex, who parrots things that he has been taught, allowing people to query him for the definition of terms and acroymns. An “automeeter” keeps track of which pairs of people have met in person. People use another bot, Floyd, to play IF together on ifMUD, participating in “Club Floyd” sessions. People also ask for programming, design, and writing help, and sometimes even discuss theoretical or critical ideas. Much of the discussion is not directly focused on IF, but when one does want to discuss IF in real time, ifMUD is a great place to do so.
There are now local groups that meet in person to discuss and play interactive fiction. The one I know most about is the one I host in Cambridge, Massachusetts, The People’s Republic of Interactive Fiction, organized by Kevin Jackson-Mead. PR-IF meets monthly, and had a hotel room with snacks and talks, thanks mainly to Andrew Plotkin, at Penny Arcade Expo East. They have also produced a card with instructions for first-time IF players. I organized the first meeting of the PR-IF writers’ group, Grue Street. And two successful events have been held in which the public was invited to play interactive fiction together: the early MIT version of Zork, in the first case, and Admiral Jota’s Comp-winning game Lost Pig in the second.
By now, most people who deal with electronic literature in some way seem inclined to accept that interactive fiction falls under this umbrella term. But even if some resist this, it’s hard to ignore that the community itself connects its meetings, events, roles, and practices to literary ones. Of course, simply importing the institutions of IF into other communities is unlikely to be helpful: Other e-lit communities may not need an FTP site, two USENET newsgroups, a MUD, and so on. But understanding how different structures, conventions, and tools have helped IF authors and players could have broader applicability. For instance, the IF Comp has worked to encourage the annual production of games, but it has also dominated IF production so that the best-known games are those short ones released for the IF Comp. (The community has responded with other comps and with projects to review other games, so the IF Comp is not too much of a victim of its own success.) Nevertheless, this situation can highlight the benefits and the dangers of a regular, central activity with its own format requirements. Considering the IF community may also point the way to other groups that are less obviously literary, but are creative communities of practice involved with computing.
A Deterministic ppg256
Last night I premiered ppg256-6 in Bergen, Norway:
perl -le '@d=split/ /,"eros won to tree for fire sex sever ate nice tin elfin wealth";@t=split//,"_bhlmnpstw";{$_=localtime;/(..):(.)(.):(.)(.)/;print"\n$t[$3]".($4%2)."ck $t[$4]".($3%2)."ck\n"if!$5;print"\\"x$5." $d[$1%12] $d[$2] $d[$3] $d[$4] $d[$5]";sleep 1;redo}'
This is the latest in my series of 256-character poetry generators written in Perl. An unusual feature of this one is that it is deterministic: If run at the same time, it will produce the same output. Those who run Windows should check the ppg256 page for a .pl file that will run on that OS, on ActivePerl.
An Electronic Literature Directory Comparison
Yesterday I posted an interview with Joe Tabbi about the Electronic Literature Directory. Those interested in the new Directory project should check out this post by John Vincler which compares the version 1 and version 2 Directory with reference to the entries for Patchwork Girl.
The New Electronic Literature Directory
I interviewed Joseph Tabbi, author of Cognitive Fictions and editor of electronic book review, about the Electronic Literature Directory project that he’s currently heading. I took over from Joe early this summer as president of the Electronic Literature Organization. The Directory, which has already had success in its “version 1” form, has been reworked to allow collaboratively-written and richer writing about e-lit work.
nm: Joe, what sorts of people are going to find something compelling in the Electronic Literature Organization’s new Directory?
jt: I imagine the majority of readers are going to be teenagers and college students, people who have come of age learning to read in different ways than you or I learned. You and I may have retrained our habits of attention with each new delivery device. But the current generation of readers likely started with web browsers, wikis, blogs, texting, sexting and so forth.
nm: What do you envision this project will offer when it’s – “completed” is perhaps the wrong word, but when we’ve had large-scale participation and significant coverage of e-lit?
jt: The renewal of a general audience for literary arts – the way that Grub Street writers and publishers turned newspaper and letter readers into an audience for novels. (But of course, e-lit does not, and surely won’t, look at all like nineteenth-century realist fiction.)
nm: What stage of the project are wehttp://deviantforms.wordpress.com/2010/07/21/eld-1-0-vs-2-0/ at now?
jt: We’ve got a sample of works and some model descriptions of works. We have a cohort of editors to build on that sample, and a programmer and graphic artist who will turn the current wrap into a designed interface. That will happen early next year. We’ve also got a number of prominent e-lit authors who are going in to ‘tag’ the works, which ought to expand the language we have for talking about works that in many cases will be sui generis. Others will be right in the mainstream of literary production.
(By “mainstream,” I mean antecedents like Oulipo’s processual writing, Musil’s conceptual writing without character or ‘qualities,’ the novel before Fielding and Richardson, and very likely the formulaic, generative epics in oral traditions.)
nm: The ELO had previously developed a directory with a different format and different sorts of listings. Can you tell me some about what you learned from that project, how the current one builds on it, and in what ways it’s trying to go beyond the “1.0” version?
jt: Now, as then, we have plenty of writing by women, people of color, writers whose first language is not English, and so forth. But there’s no need to divide all this up, at the start, into special-interest group-writing, the way it’s done at a Borders or Barnes & Noble. That’s how 1.0 was set up, but the idea here, in version 2.0, is not to impose top-down categories (however inclusive and open-minded the categorizers might imagine themselves to be): the thing is to use the low-level tagging (an affordance specific to networked media) as a way for semi-autonomous communities to elaborate their own vocabularies, their own favored works, and ultimately their own values.
Another difference – I learned that you need many, many editors, not a few. And you need to set things up so that a contributor who’s not an editor, not an e-lit author, and not anyone special – can feel comfortable drafting an entry and see it live the moment it’s submitted. If it’s not that easy, people won’t bother to write about works they have discovered. And if that happens, we’ll lose the chance to locate, cultivate, and renew a general literary readership.
nm: It’s clear that the Directory will benefit the reader who is seeking e-lit to read, seeking to learn about new and different forms of writing, and looking for critical perspectives. How will the Directory benefit the contributor? Why should people interested in different forms of e-lit want to write entries and take part in the Directory project?
My expectation is that the more people use it, the more people there will be who want to use it. We need to make better known the Directory’s common cause with other existing projects – directories of interactive fiction, the Siegen-based Directory of critical writing on e-lit, NT2’s directory of French e-lit, the Australian directory under development at the University of Western Sydney, and many, many others. A number of us, from the ELO board, will be in Sydney in December to discuss that particular co-development. But it has to be more than an exercise in mutual respect and swapping entries. We need to instantiate these affinities with a design that makes, for example, an Australian or an IF entry stand out as such. And we need to use the same community-building processes that are current in software development and so familiar to the next generation of readers.
nm: So, once someone does want to take part in the project, how can that person get involved and contribute?
jt: It depends I think on where people are coming from, whether they approach the field as a researcher/scholar, an author, or a general reader. Anyone can post a description of works they’ve discovered, comment on an existing post, or compose an alternative description. Those who have works of their own, can fill out a stub entry so that others can draft a description. And those who have a professional stake in the field can join the editorial workgroup, where they can participate directly in the project development and their entries will be credited as academic publications.
By bringing the scholars, authors, and audience this way into a single forum, maybe we can begin to change the current situation where intellectuals and creators talk only to themselves. At the least, those who read around in the directory should get a sense that literature is not a settled body of work but a field that’s in the making, and nothing’s stopping anyone from taking part in that.
I encourage readers to leave any questions you have about the Directory for me and/or Joe in comments.
Welcome Back, ELO Site
I’m serving now as the president of the Electronic Literature Organization. We’ve been working to move the site to a new server, which has unfortunately left most of eliterature.org down for a while. (We did make a point of getting the Electronic Literature Collection, volume 1 back up as soon as possible at the new site, so that teachers, students, and other readers would have access to it.) I’m sorry for the inconvenience. My thanks go to the ELO directors who worked on this and to our new system administrator, Ward Vandewege, for managing the transition. Our new host and our retooling should mean that we will be able to avoid outages like this in the future, and that we will be able to better develop the site and our other ELO projects.
Eden
Yes, these comics sometimes veer into the extremely sappy, but they’re metafictional and wonderfully fabular throughout. Eden collects more than 100 simple four-panel strips featuring a diminutive, somewhat rabbit-like king, or at least, someone who wears a crown, in a magical land. An extremely insightful naïvite, of the sort that one hears in the occasional oracular pronunciation of a child, comes through at times. But these comics do not overlook death or other serious subjects. Holmberg, who writes and draws in Buenos Aires, has Eden and more available on his website, in Spanish. Odd that to learn about a Web comic, I had to go into my local comic store and buying a book, but it goes to show that book-based institutions have more than a retail function. And, it seems unlikely that Holmberg’s work would have appeared in translation without a publisher such as Drawn & Quarterly. Through such everyday efforts, we sometimes find the extraordinary.
Font’s Unusual Creative Kinetics
Two recent hit songs on the Web are the tribute “Fuck Me, Ray Bradbury” by Rachel Bloom and the non-tribute “Fuck You” by Cee-Lo. Perhaps after me and you – us, them, him, her, and it will be next?
The typographical treatment of “Fuck You” in the video is much more straightforward than in the well-linked “Say What Again” video by Jarratt Moody, which sets dialogue from Pulp Fiction to animated type. The words and letters in “Say What Again” aren’t demanding to be read as insistently, and they’re doing so much that it’s a joy to see them in motion. When there’s not as much happening, getting presented visually with the same words that are being sung to me seems a bit like having someone slap me repeatedly while saying “Slap! Slap! Slap!”
Of course, type can be used with music to do other things besides writing out the lyrics. An even simpler typographical treatment can be seen in Flash pieces by Young-Hae Chang, including the excellent “Dakota.” In those, though, the text doesn’t repeat something in the audio channel, it proceeds at a rapid pace but is legible to the attentive viewer, and it all makes for compelling reading and listening. By the way, in case you think I’m wandering off topic, the first word of “Dakota” is “fucking.”
I wonder if a straightforward animated type video, a sort of blank slate, tends to encourage remixing and the creation of new videos? In any case, Cee-Lo’s song has already been mashed up with other videos. You can see what the last scene in Dirty Dancing is like when set to that tune, for instance.
Oh, and let’s not forget Ray Bradbury. This purports to be a picture of the famous writer watching Rachel Bloom’s video.
TV Audiences, Here’s Pole Position
Ms. Blue pointed out a great Atari commercial that has been online for a while, but which is particularly appropriate to mention here: A TV ad for Pole Position. (The name of this blog does in fact refer to that game.) A few notes about this amazing TV spot:
– There’s an amusing jab at corporate executives, people who “stop exciting things from happening.” Even though the makers of the commercial may not have known or cared, this no doubt resonated among programmers at Atari.
– “Muffy, Buffy, Biff Junior, and I …” Nuff said.
– The family’s incredible, fun experience begins as they are picked up by the hand of god, which also destroys their car.
– There’s an amazing, rocking song called Playing Pole Position. Or maybe Playing Poh-oh-oh-ol, oh-oh-ol, ole Position.
– The ad is for the Atari 5200 version of the game. The original was a 1982 arcade game by Namco, later licensed to Atari; there are ports for the Atari 2600 and many other platforms.
– Although the billboard in the ad has something on both its front and its back, the Atari 5200 game’s billboards are all blank. The arcade game’s billboards featured one of the first examples of in-game advertising.
– The ad suggests that four people can play at once, particularly if you’re thinking of today’s racing games (or even Mario Kart), but the Atari 5200 Pole Position, like the arcade game, is for one player only.
– A few seconds from the end, you can see where they got the idea for the Segway.
Finally, Your 50 Character Reward!
After I presented poetry generators ppg256-1 through ppg256-5 at Banff in February, I shouted out, more or less spontaneously, “50 character reward to whoever gives us the best explanation of what ppg256 is!” Why did I say that? Childhood trauma, possibly, but the more immediate reason, as I mentioned earlier, is that the last of these, ppg256-5, is based on a section of Tristan Tzara’s February 1921 Dada Manifesto, one which ends with the phrase “50 francs reward to the person who finds the best way to explain DADA to us.”
I got some great answers, including “It does a lot with a little” (Chris Funkhouser) and “ppg combines atoms of language” (John Cayley). But at this point I’ll skip right to the one from Travis Kirton, who did the following without having any previous experience programming in Perl:
perl -le '@a=split/,/,"illmn,imgn,ltr,mut,pxl,popl,strlz,pnctu,typfc,poetc,glmr,idl,ion,cptl,cpsl,cvl,atom,pltc,txtul,erotc,rvl";sub f{pop if rand>.5}sub w{$a[rand@a]}{print f("de").f("over").w."izes ".w."ation".f("s")."\n".(" "x45)."IS WHAT ppg DOES!";sleep 5;redo}'
The program is a modification of ppg256-5, one that answers the questions that ppg256-5 generates. That’s not only clever; it showcases the expressive power of small programs and the many, if not arbitrary, uses to which a language generator can be put. This certainly earns the reward. Travis, here’s an base64-encoded version of a 32-byte DOS intro, matisse, by orbitaldecay. When you run it after decoding it with a base64 decoder, it should look like this. The base64-encoded string, you will notice, is exactly 50 characters in length:
sBPNEMUPHgeLFwmXQAEJVwFL4vSsQKq5ZQDkYEh16cM=
Okay, I lied. It’s only 44 characters long. Please accept base64
as the remaining part of the prize.
Now, I think Mark Markino’s explanation of ppg256, which I wrote about yesterday, is also great and will suffice. It’s a wide-ranging and deep study of the series of generators, similar programs I’ve discussed, and some relevant contexts of techneculture. I can’t really decide which of these explanations is best, as they both work excellently for what they are. So I am going to offer Mark Marino a 50-character generator, too. Mark, here is an ASCII encoding of a set of tools that, used properly, will allow you to draw any image:
())\_\_\_RED\_\_\_))\_> ())\_\_GREEN\_\_))\_> ())\_\_\_BLUE\_\_))\_>
Enjoy!
Code is Beauty, Beauty Code
In recent years, I’ve written a series of 1k (that is, exactly 1024 character) reviews on here. This ruse has helped me compose succinct (and possibly useful) notes about many things that I wouldn’t have otherwise written about. But some things that are worth reviewing, such as a documentary about interactive fiction, are really better treated in a bit more depth. Given my interest in the aesthetics of code, and in code that produces aesthetic output, a book entitled Beautiful Code: Leading Programmers Explain How They Think is certainly one of those things.
Beautiful Code is an edited collection of 33 articles by a well-known publisher of technical books. The articles deal with how programmers solved a variety of problems, some of them very general computational problems, others quite specific to particular systems and applications. Several of the authors discuss their own code. The book is part of the Theory in Practice series with Beautiful Data, Beautiful Architecture, and Beautiful Security.
Beautiful Code is a success in several ways. It widens the conversation about code and the innovative development of it beyond particular programming languages, which have often been silos for such discussion has taken place in the past. At least, book-length discussion of programming – in textbooks, in introductory and reference books, and in “tips and tricks” books – has often been language-specific. While encompassing many systems and code in many languages, the book doesn’t take the position that the programming language can be abstracted away, that knowing about data structures, algorithms and an arbitrary programming language allows on to say all that can be said about how to program.
The first article is a particularly excellent one. In it, Brian Kernighan discusses 30 lines of regular expression matching C code which Rob Pike wrote as an example in an hour or two. This concise article deals with how to solve the core of the regular expression problem elegantly and correctly, but it also touches on many other important aspects of code and programming. By suggesting a series of modifications, Kernighan shows that code is an element of future programs rather than simply a fixed solution. Kernighan mentions how the code takes advantage of C pointers and suggests converting it to Java to see how the result would be slower and would require a lengthier program. If you can only read one essay in Beautiful Code, be glad that the editors have placed this one in the front, allowing you to retrieve it in a constant-time operation.
I was also interested in how several of the essays dealt with the need to consider hardware specifics, something one might expect pure, beautiful code to avoid touching. There’s some hint of this specter in chapter 7, which discusses how Jon Bently’s official, “proven” algorithm for binary search has a bug when it’s implemented on most real systems. When the code finds a midpoint within the array by computing (low + high) / 2
, the sum of low
and high
can, in very extreme cases, exceed the maximum integer value, giving a negative (and obviously wrong) result. Later chapters deal with more productive connections between hardware and code. In chapter 10, Henry S. Warren, Jr. delves into the amazing intricacies involved in efficiently computing the population count or sideways sum: the number of bits in a word, or an array of words, that are 1. The current best way of doing this for an array involves using a special circuit called a carry-save adder. Chapter 14, “How Elegant Code Evolves with Hardware: The Case of Gaussian Elimination,” explores the relationship of leading matrix algorithms to changing hardware architectures.
Several other articles interested me; I suspect that programming language researchers, professional programmers, and others will find that a good number of the selections are worthwhile.
But despite the title and some compelling discussion inside, this is really isn’t a book about “beautiful code.” There is almost nothing in it about beauty or what that concept means when applied to code. “Aesthetics” isn’t in the index. When beauty is mentioned, it seems obligatory and stands for whatever the author of a particular chapter values. This, for instance, by Travis E. Oliphant:
>”Iterators are a beautiful abstraction because they save valuable programmer attention in the implementation of a complicated algorithm.” (p. 318)
Could one say anything similar about paintings? Sunsets? Or even something that has an important functional aspect, like a building? “Frank Ghery’s Stata Center is a beautiful building because the layout of its hallways saves valuable programmer time.” That doesn’t sound quite right, does it? There are more reasonable-sounding, if not very elaborated, statements about code and beauty in the book, but some of those seem to express a very narrow perspective. For instance, Adam Kolawa writes:
>”In sum, I believe that beautiful code must be short, explicit, frugal, and written with consideration for reality.” (p. 266)
Michael Mateas and I have written about obfuscated code, a topic that isn’t mentioned at all in this book. While obfuscated programs are usually short, they are also the opposite of explicit, gratuitous rather than frugal, and written without any concern for “realities” like re-use, practicality, and legibility. An obfuscated program isn’t good programming practice – that’s part of the point. For reasons that Michael and I have written about, we consider the best examples of obfuscated code to be beautiful, and I suspect we’re not the only ones. They simply display a different kind of beauty, an aesthetic of complexity and extravagance that shows us things about programming and about the language in which the obfuscated code is written – things that technical essays don’t reveal. You may share this aesthetic and be willing to consider obfuscated code beautiful, if, for instance, you saw beauty in the exorbitant Ok Go video “This Too Shall Pass.”
A final disappointment: There are no articles on the creative, artistic use of code, on programming projects that are meant to create beautiful output – no music, poetry, story, or terrain generators, lightsynths, demos, intros, or Processing sketches. Certainly a book about beautiful code, even if it is targeted at the professional programmer, would benefit from investigating a program or two of this sort?
This isn’t to say that valuing conciseness and clarity is a bad idea, or that having a book about utilitarian programming practice, particularly a wide-ranging one with many interesting articles of great technical depth, is a problem. It just means that much work remains to be done on matters of beauty and code. Perhaps we’ll soon see a book that brings together the diversity and depth of technical discussion that’s displayed here with consideration of the nature of beauty, of what it means for code to be beautiful, and of how the workings, conception, code expression, and wider contexts of a program are all involved in its beauty.
New Journal Primes You for ppg256
Emerging Langauge Practices is a new journal based at SUNY Buffalo (poetic hotbed and host of the next E-Poetry) and founded by Loss Pequeño Glazier, Sarah JM Kolberg, and A. J. Patrick Liszkiewicz. Issue one is a real accomplishment.
There are eye-catching creative projects by mIEKAL aND & Liaizon Wakest and by Lawrence Upton and John Levack Drever. There are also pieces by Young-Hae Chang Heavy Industries and Molleindustria. (We can only hope for further industrialization of this sort and more of these compelling productions in future issues.) The issue also includes a piece by Abraham Parangi, Giselle Beiguelman’s mobile tagging, Sandy Baldwin’s plaintive piece “** PLEASE REPLY MY BELOVED **,” and Jorge Luis Antonio’s wide-ranging article on digital poetry.
The item that particularly caught my eye, though, was this article by Mark Marino: “The ppg256 Perl Primer: The Poetry of Techneculture.” Marino is an officer of the Electronic Literature Organization with me and a current collaborator of mine, although he completed this article before joining me on our current project. The discussion he developed for the first issue of ELP is really in-depth. Marino not only considers the workings and connotations of my ppg256 series of poetry generators, and considers related code and literary traditions from Perl Golf to the Oulipo – he also considers other programs that interest me and that I’ve discussed publicly in various contexts, sometimes with collaborators. And, he connects the coding traditions relevant to ppg256 to technical practices in boy culture and (via needlework) girl culture.
In one section near the beginning of the article, Mark relates a line of BASIC that I posted on his Critical Code Studies forum and notes (partly in jest, I think) the following:
>I cannot include the full discussion here (over 5000 words) because as Montfort told me over the phone (in jest, I think), he is planning a book-length anthology of readings about the program.
Well, that’s more or less the project Mark and I, along with several others, are now embarked upon. However, we’re writing this book in a single voice rather than collecting articles about the program. More on that before too long; for now, go and enjoy the new Emerging Language Practices.
Get Lamp and Watch
You may have noticed a slew of posts on the Get Lamp blog, Taking Inventory, or seen the writeups on Boing Boing, PC Gamer, CNET, or other sites. But I’ll say it here too: Jason Scott’s documentary about text adventures, years in the making, is completed, has been pressed and assembled, and is now for sale and shipping. The movie is Get Lamp, and there is a trailer for it online.
Tipped off by my book Twisty Little Passages: An Approach to Interactive Fiction, Jason Scott got in touch with me way back in 2005, before he had started filming interviews for Get Lamp. He came to Philadelphia, where I was working on my Ph.D. at Penn. I ended up doing one of several interviews with him there and bringing him to Autostart, a digital literature festival I helped organize at the Kelly Writers House, where he interviewed a few of the participants – just a handful of the many dozens of interviews Scott did for the documentary. I’ve gotten to see the documentary develop. I listened to audio files of the interviews, discussed the project on ifMUD, and got to see screenings of early versions with audiences at the Penny Arcade Expo East and @party.
Get Lamp is an essential film for the interactive fiction enthusiast – as I think more or less all of us know already. It’s also going to be an important film for students of electronic literature or computing history. There are some good short YouTube videos explaining interactive fiction, such as Exploring Interactive Fiction, which I did with Talieh Rohani, and Jason McIntosh’s The Gameshelf #8: Modern Interactive Fiction. These are great for people whose interest has been piqued already and who want to know a bit more about IF history and how to play. But it’s really difficult to get contemporary, non-IF playing students to understand why they should give interactive fiction a chance. Those who put a few short games on a syllabus often return to classrooms of perplexed or disgruntled people who have made no progress. Screening at least the “non-interactive” cut of Get Lamp will be time well spent. It will provide ideas for discussion and will give students permission to appreciate interactive fiction in several new ways, allowing them to better engage with assigned games.
It’s people and their stories that are always the focus of a documentary, and that’s certainly the case with Get Lamp, which assembles quips, and the occasional longer argument or rant, from players and authors of different eras. The statements from people in the film give a great sense of the many ways in which interactive fiction was and is important. This is something you don’t get in Twisty Little Passages, because my method wasn’t to interview people about their experiences; I focused more on the printed and digital record, on describing how interactive fiction works, and on scholarly questions about the status and history of the form, for instance, as it relates to the literary riddle. While people are central to the documentary, Scott certainly doesn’t shy away from archival materials such as printouts, maps, and notes or from original early packages in the documentary, though. He uses those worth-a-thousand-words pictures to give a sense of the contexts in which interactive fiction has been played from the early days of Adventure through today. Which I guess means, as everyone’s favorite retail site says, “Buy these items together!” (Actually, though, you should go to the Get Lamp order page to buy the documentary.)
Scott has done a great deal to provide coverage of today’s “modern era” of interactive fiction development while also covering its origins in Adventure, the ties that game has to caving, and the commercial heyday from Adventure International through Infocom. The history of the IF Comp is explained by current organizer Stephen Granade and others, and the emergence of short-form IF (and its relationship to the comp) is discussed as well. But the documentary’s perspective on interactive fiction clearly gazes longingly over the “golden age” of commercial IF, when Infocom was king. There’s the sense – which several people share – that interactive fiction has managed to continue in some ways from that time, which was its finest hour.
That’s not the perspective some contemporary IF authors have, though. For some, Infocom is a happy but dim memory rather than the holy city of Byzantium. Others never even played an Infocom game before playing modern IF and writing their own IF. And of course, games are not just shorter now; they are written in a wider variety of styles on a wider variety of topics. It won’t be tough for enthusiasts to find other favorite aspects of IF which didn’t manage to fit into this full and rich documentary: the relationship to MUDs or the graphical adventure, commercial games in English outside the US, or global communities working on IF in recent years. Which is just to note that while Get Lamp relates an important and untold story, it’s not the _only_ story of interactive fiction. It’s the kind of movie that leaves me listening to my fellow IF authors and aficionados and being constantly surprised about how much I share certain people’s perspectives and how different, at other times, my view of IF is. That’s not just informative; it’s also thought-provoking.
Yes, despite the breadth and unusual textures of the topic, the film goes beyond being a great introduction to IF and the people who play and write it. There are many surprising discussions outside the main line of IF history. The academic study of IF is discussed by Mary Ann Buckles, whose 1985 dissertation on Adventure is the first study of IF and probably the first long example of work in game studies. John Romero explains the debt that computer games in general owe to text adventures. Robert Pinsky, who has served as poet laureate in addition to writing the IF Mindwheel, discusses puzzles and the pleasures of literature. Other less-than-usual suspects chime in, including fellow academics and collaborators of mine Jeremy Douglass, Ian Bogost, and Stuart Moulthrop.
One of my favorite points in the movie is when Brian Moriarty says empathetically of the Infocom catalog, “It was for literate people – it was for people who like to read!” Get Lamp is also for people who like to read, explore, and see from different perspectives. It’s not only for those who have already discovered interactive fiction, but it will delight most those who are enthusiastic about computing and what the computer can do with storytelling, language, and the modeling of words.
Jason Scott is now preparing for a “Jet Lamp” tour in September, in which he’ll show the film around the country. Perhaps you’ll get to catch it at a theater near you.
Videos on Storytelling
Kurt Reinhard of the Zurich University of Applied Sciences and Arts has posted a 10-part video series about storytelling in our networked, digital age. The first part (“Change of Storytelling”) includes comments by:
– Ian Condry (MIT)
– Joshua Green (UCSB)
– Dean Jansen (Participatory Culture Foundation)
– Henry Jenkins (USC)
– Joe Lambert (Center for Digital Storytelling)
– Nick Montfort (MIT)
– Clay Shirky (NYU)
I also appear in part 7 (“Risks of Social Media”) and part 10 (“Bits and Pieces”). Besides the august company listed above, you can see that the videos get to some of the critical issues in storytelling today: fans attired as stormtroopers and “Charlie Bit My Finger – Again!”
The Secret History of Science Fiction
This book seeks to prove that science fiction cannot really be distinguished from mainstream literature, arguing this in the introduction and in quotes before each story. Whether it prevails or not, it offers stories by some of the usual suspects (powerful ones by Ursula K. LeGuin and Connie Willis) some liminal figures (Johnathan Letham, who presents a prison made of criminals) and others – e.g., Don DeLillo, in whose story two men orbit Earth during World War III. (In a beautiful scene, they begin saying whatever they feel like as they calibrate the lethal system to their voiceprints.) There are non-human primates: T. C. Boyle’s tale of a man whose primatologist wife leaves him and George Saunders’s “93990,” a deft critique of science. Carter Scholz’s “The Nine Billion Names of God” has its own take on that author Pierre Menard, created by Borges. (Was he a science fiction author?) Even the weakest stories in here are well-written and worthwhile; most go far beyond that, making for a truly great collection.
One-Line C64 BASIC Music
Local sound artist/electronic musician Keith Fullerton Whitman released an extraordinary piece on the b-side of his November 2009 cassette hallicrafters, inc. The piece is called 10 poke 54272+int(rnd(1) *25),int(rnd(1) *256) : goto 10 and is 18 minutes of sound produced by a Commodore 64 emulator running the BASIC program that is the title of the piece.
The memory locations beginning at 54272 are mapped on the Commodore 64 to the registers of the SID (Sound Interface Device). By POKEing random values into them, the SID, although it is a musical chip, is stimulated to produce sounds in what probably seems like a non-musical way: based on the effect of register settings and the sequence produced by the system’s random number generator, a polynomial counter.
I’m listening to the piece running on a hardware C64 now, which is soothing, although it seems like it shouldn’t be. Looking at the code, I note that the program
10 poke 54272+rnd(1) *25,rnd(1) *256 : goto 10
will put the same values into the same memory locations (and therefore SID registers) in the same order. The INT function is unnecessary because all arithmetic in C64 BASIC is done in floating point and then cast to integer whenever necessary. It’s possible that removing these functions will cause the piece to speed up, however, and I suspect it will, even though a BASIC interpreter could skip the unnecessary INT calls to begin with. There would be various ways of determining this, but the one I’d like to try involves getting two C64s, each with one version of the program, and seeing if they go out of phase.
By the way, I say that these two programs will put the same values in the same order because RND(1) returns a deterministic sequence. Any time either of these programs is invoked before other calls to RND are made, they will produce the same sequence. Using RND(0) would seed the random number generator on the jiffy clock, so would do different things depending upon how long the computer had been on before startup.
Thanks to sound artist and digital media scholar Kevin Driscoll, a.k.a. Lone Wolf, for letting me know about this.
Update: Hilariously, I overlooked that Whitman is not the author of this program – he credits Noah Vawter, a.k.a. Shifty, who is currently collaborating with me on a project about a one-line Commodore 64 BASIC program. I guess I was too distracted by that picture of an iPhone running a C64 emulator.