Audio podcasts of the events at the Boston Book Festival are now online – along with some videos. Whether you were one of the 25,000 attendees or not, you can catch some of the 2010 festival via the Web. The panel that I was on, “The Novel: A Prognosis,” can be heard right here.
Yay Book Party
Thanks to all who came by to the Tuesday book release party for Riddle & Bind at Grafton Street. Riddles were pondered (and some solved) and many good times were had. Jason Scott stopped by, driving up from his archival compound in New York State! Recently kickstarted Andrew Plotkin (a.k.a. Zarf) was there, too. Fiction writer Ralph Lombreglia, my mentor from Boston University, was one of several current colleagues from MIT’s Writing and Humanistic Studies who stopped by despite their teaching and event schedules – thanks as well to Bill Corbett, Ed Barrett, and Magdalena Rieb. All right, enough shout-outs for now. I do appreciate all of you who were able to come by and celebrate the publication of Riddle & Bind.
Remote readers can find the book for sale via Spineless Books (my very dedicated publisher) or Amazon.
Horror Lurks on Halloween
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.
Riddle & Bind is out. Party!
My book Riddle & Bind (with an official publication date of October 31) is out. One day Amazon will have an image of the cover. But for now, anyone can order it through Spineless Books or Amazon, and … there’s a book release party here in Cambridge, in Harvard Square:
Grafton Street Restaurant and Bar
1230 Massachusetts Ave.
Cambridge, MA 02138
Tuesday November 2
6-9pm
You’re invited to stop by, peruse the book, and hang out with us. The book will be available for sale, too, but if you just want to come by and flip through it, or try to crack the code of Christian Bök’s encrypted back-cover blurb, that’s fine too. Grafton Street serves fine food and drink, and you’re welcome to purchase yourself some of it – there are no retail obligations, though. I’ll hope to see you there.
Talk, Talk
I had a great time speaking with people and giving a talk about Curveship, my interactive fiction and interactive narrating system, at Tufts University today in the Department of Computer Science.
Next up is my panel discussion with two others at the Boston Book Festival. It’s on Saturday at 10:30am in the main auditorium of the Boston Public Library. If you read the following incisive paragraph very carefully …
You’ll see that Eugenia Williamson of The Boston Phoenix considers me “a novelist of supreme confidence” – wow! I’m flattered!
My New Book, Riddle & Bind
My new book – a book of poems entitled Riddle & Bind – has been published by Spineless Books. The book contains figurative language that does not explicitly state what is described, but leaves this for the reader to discern: riddle. And I have placed myself within certain constraints to write poems in this book: bind. The official publication date is October 31, but thanks to the attention and deft work of my publisher, I was able to lay my hands on a book and volume today. I will follow up soon with details about this tome and its availability, but for now: Riddle & Bind is bound. And it even has a spine.
Computing with Your Torch
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.
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.
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.
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.
Wheel Make You Texts
Just posted at ebr (Electronic Book Review) is Whitney Anne Trettien’s article “Computers, Cut-ups, and Combinatory Volvelles.” (We already love computers and cut-ups, but be aware that volvelles are extremely cool.) Some illustrations are still to come, but the article’s text and references are now up … I believe in link early, link often.
The article is born of Trettien’s born-digital MIT Comparative Media Studies thesis “Computers, Cut-ups and Combinatory Volvelles: An Archaeology of Text-Generating Mechanisms,” a two-or-more-dimensional arrangement of reconfigurable texts. Like a conservative child reacting against his liberal parents, the ebr article is linear, but that should offer an helpful complement to the machinations of the thesis. The article reels back to long before the 20th century avant-garde to find recombinatory text machines and perspectives on reading that are relevant to the digital age. I highly recommend the ebr piece to those working with ergodic texts and operating today’s textual computer machines. It will hopefully serve as a nice gateway drug, too, interesting more readers in Trettien’s combinatory thesis.
Another attack — NOT
Rilke and Prejudice and Robots
In Robot Rilke, you can find the selected poems of Rainer Maria Rilke translated by robots. “With a special biographical introduction cut-and-pasted from Wikipedia.”
If you love it, you may want to sing Robot Love, I Love You. (Video by Ignatz Topolino, audio by Echelon and Jane Dowe, a.k.a. Oh Astro.)
Two to Read on ebr
That’s electronic book review, which does indeed host electronic reviews of good old books, but also offers up scholarly articles on digital literature, as it has been doing for a while. Two recent articles, in particular, are not to be missed by those interested e-lit.
First, Daniel Punday’s piece on how computer games could break the homogeneity of e-books, in which he describes the uniformity implicit in the e-book concept, in the idea of a modular library, and the disappointing implications of such restricted formats for digital, bookish innovation. Punday is more optimistic than I am about the possibility that gaming might lead us out of e-book thralldom, but whether or not he’s right about this potential solution, he points out an important and overlooked aspect of the e-book situation that we need to attend to – at least, for instance, by being willing to build e-books as individual iPhone apps when we want to do more than the standard formats can accomodate.
And, Maire-Laure Ryan’s discussion of how digital art engages with dysfunctionality extends the conversation beyond the playful forms of programming that Michael Mateas and I have discussed to broadly consider political, ludic, programmatic, and even inadvertent types of digital malfunctioning, or breakdown – or should we call it “dysfunctionality”? (Thank goodness that my creative work wasn’t cited in the section about that last category of brokenness, although I’ll admit that it could have been…) Ryan argues that the digital medium has proven better at producing anti-books than books (or, I suppose, e-books) and that creative dysfunction helps to make us “aware of the codes and processes (technological, linguistic, cultural and cognitive) that regulate our social and mental life.”
The Garden of Grand Forks: UND Writers Conference
I recently went from presenting at the prestigious and vibrant University of North Dakota Writers Conference to being on a panel at the massive Penny Arcade Expo in Boston.
First things first: The former was “Mind the Gap: Print, New Media, Art,” the 41st UND Writers Conference. Last year at UND the presenters included Charles Baxter and Chuck Klosterman; the year before, Russel Banks, my colleague Junot Díaz, Alice Fulton, and Salman Rushdie.
To provide some perspective, back in 1978 the lineup at this conference was John Ashbery, Amiri Baraka, William Burroughs, Ring Lardner, Tillie Olsen, and Eudora Welty.
This year I heard Art Spiegelman in conversation about his comic and New Yorker cover art, Frank X. Walker on his poems giving voice to the journey of York (who accompanied Lewis and Clark on their expedition as Clark’s slave), Cecelia Condit on her video art, and three of my fellow electronic literature writers, with their diverse approaches: Mark Amerika, Deena Larsen, and Stuart Moulthrop. I had to leave before I could hear slam poet Saul Williams, but I’m grateful for what I was able to experience of the conference. And I’m grateful that I was able to be on two panels, select a reel of music videos for the associated film festival, speak to a computer science class, and present several collaborative and individual projects to a sizable audience in the main room of UND’s student union:
- Ad Verbum, my interactive fiction piece from 2000, inspired by the constrained writing of the Oulipo. Thanks again to the young interactor who volunteered to try collecting items in and escaping from the Sloppy Salon.
- 2002: A Palindrome Story, by Nick Montfort and William Gillespie. I showed the Reifier interface and read from the very beginning and end.
- Implementation by Nick Montfort and Scott Rettberg. I explained the project and read eight texts (stickers, mailing labels) from it.
- Currency, by Roderick Coover (video) and Nick Montfort (text). I showed “Filip a Guinea: The Elephant and Castle.”
- Taroko Gorge, the poetry generator I wrote in Taiwan.
- My ongoing series of tiny perl poetry generators, ppg256.
The people in Grand Forks, ND were polite (I was told I shouldn’t be surprised about this) but also surprisingly receptive. It was certainly a different sort of crowd than I met at Banff, with many people from the community and even driving in from surrounding areas. I think they saw some of the pleasure in writing under constraint, some of the benefits of writing collaboratively, and some of the potential of computation, which I tried to show could be turned to literary ends.
Although I got to converse with Stuart and Deena on and off our panels, I came in too late for one of their readings and had to leave before I could hear the other one. I did get to hear Mark Amerika take us from his early writing in The Kafka Chronicles up through his Web work and recent moving image project, all of which are fresh and impressive. His video work is certainly impelled ahead by the work of Chris Marker, whose Sans Soleil Mark selected for the film festival. I should note that I also loved getting to watch Timecode, Stuart Moulthrop’s selection.
Thanks again to Crystal Alberts for inviting me and for her work on this very successful conference.
When I can manage, I’ll write a bit about the very different but also incredible Penny Arcade Expo East…
Utensils in a Landscape
Searching for something suitably disruptive in the landscape of Australia, where Jacket is rooted, I found this. The first poem is made from sometimes misquoted bits of The Book of Common Prayer and Burroughs’s “The Cut-Up Method …” With technical and abstract language, folklore, Mallarmé, and guy-on-guy action, the book offers all sorts of utensil viewing. And later, in “but me,” this reflection:
My project, which began in
one room of the abyss, soon spread toward a perimeter
you can imagine, should you be inclined to do so.
I usually prefer projects in which sources are altered sparingly and systematically – Craig Dworkin’s “Legion” is a brilliant example. These approximate centos work, though. The invented language weaves with the appropriated, making it seem that Edwards could have done it all with his pen – or all with his scissors.
A Note on the Word “Zork”
Yes, It’s a Nonsense Word
The lowdown on Zork‘s name, inasmuch as a lowdown has been provided in print, was given by authors Dave Lebling, Marc Blank, and Tim Anderson in 1979 in the article “Zork: A Computerized Fantasy Simulation Game,” Computer 12:4, 51-59 (April 1979):
The first version of Zork appeared in June 1977. Interestingly enough, it was never “announced” or “installed” for use, and the name was chosen because it was a widely used nonsense word, like “foobar.”
This is a clear explanation, but it raises the question of how this particular nonsense word came into wide use at MIT. It seems reasonable to pursue this question, and reasonable that there would be some discernable answer. After all, there’s a whole official document, RFC 3092, explaining the etymology of “foobar.” It could be interesting to know what sort of nonsense word “zork” is, since it’s quite a different thing, with very different resonances, to borrow a “nonsense” term from Edward Lear or Lewis Carroll as opposed to Hugo Ball or Tristan Tzara. “Zork,” of course, doesn’t seem to derive from either humorous English nonsense poetry or Dada; the possibilities for its origins are more complex.
Slouching from “Zorch”?
In the first part of “The History of Zork,” The New Zork Times 4:1 (Winter 1985), Tim Anderson adds to the earlier discussion and suggests a possible derivation for the word:
Zork, by the way, was never really named. “Zork” was a nonsense word floating around; it was usually a verb, as in “zork the fweep,” and may have been derived from “zorch.” (“Zorch” is another nonsense word implying total destruction.) We tended to name our programs with the word “zork” until they were ready to be installed on the system.
“Zorch” is listed in Peter R. Samson’s 1959 “TMRC Dictionary” – the dictionary of the Tech Model Railroad Club, an organization that was important in helping to begin and foster recreational computing. The term meant, at that time, “to attack with an inverse heat sink” – that is, to attack with a heat source – and is explained as “Another of David Sawyer’s sound effects, which I reinterpreted as a colorful variant of ‘scorch.'” It could also be imagined as a variant of “torch” – either way, the application of heat is suggested. This definition is consistent with the sense of “zorch” that Anderson gives, although a bit more specific. It is quite possible that “zork” does derive from “zorch,” as Anderson and others guess, but it is not clear why a word so derived would then be used as a placeholder program name. It’s also at least arguable that “zork” sounds less destructive than “zorch,” as the unintimidating back-formations “scork” and “tork” suggest. If that’s the case, why would a less intense term come to be used when the original term is more intense and very comical? While the “zorch” etymology might be right, it at least seems worthwhile to look to other possibilities.
Textbook Examples
“Zork” occurs occasionally, although rarely, as a proper name in various print sources in the decades leading up to 1977. Google Book Search reveals that some more nonsensical uses occur in some textbook examples in the 1970s. In Introduction to Experimental Psychology by Douglas W. Matheson, Richard Loren Bruce, and Kenneth L. Beauchamp (1970, 2nd. ed 1974) the meaningless “zork” model is introduced as a contrast to a medical model. “Zork” is also used as a fictional place name in Henry F. DeFrancesco’s 1975 Quantitative Analysis Methods for Substantive Analysts. There is some chance that the term was picked up from such a source. Zork explicitly pokes fun at the material nature of textbooks by including a “this space intentionally left blank” joke, which refers to a message sometimes printed on textbook’s blank pages to let readers know that they have not been left blank due to a printing error. Given this, it would be hard to rule out to possibility of the term “zork” coming from a textbook. Of course, the term could have appeared at MIT indirectly, in an example given in a lecture, on a problem set, or on a test, even if a book with the example in it was not assigned as a text. But there is nothing to strongly recommend this etymology, either. And while the former textbook example is clearly the more vivid, it is also much less likely to have been encountered by the Zork authors, [updated January 10] since they were involved with a computer science research group, Dynamic Modeling. MIT does not now have a department named psychology, but Course 9 (now Brain and Cognitive Sciences) was called Psychology from 1960-1985.
There has been some speculation – specifically, in this mailing-list thread – that the term “zork” may come to MIT via John Brunner, whose poetry chapbook A Hastily Thrown-Together Bit of Zork was published in 1974. Although the sense of the word as it appears in the title is completely consistent with the MIT meaning of the term, it is not clear that this 24-page pamphlet, published by Square House Books in an edition of 200 (50 numbered and signed), had made it to MIT by the time Zork coalesced, beginning in 1977. Nevertheless, the idea of a science-fictional vector for the term is appealing.
How Brunner Happened upon “Zork”
On the unnumbered second page of A Hastily Thrown-Together Bit of Zork, Brunner notes that “the title resulted from Simon Joukes’s first encounter with a typewriter that didn’t speak Flemish.” According to this history of Dutch and Flemish fandom, Simon Joukes was active in Flemish fandom and was a part of the club Sfan, helping to publish Info-Sfan, which became SF Magazine.
Here is a Belgian typewriter, manufactured by Olivetti. (This blog post is the source for the image.) The letters are laid out just as they are on a French typewriter, in the AZERTY scheme. As you can see, if you’ve learned to type the word “WORK” on a typewriter like this, and someone then substitutes a British (or US) typewriter without your noticing, and you then try to type that word without looking at the keys, you’ll type “ZORK.” (Since the “W” and “Z” are switched in this layout, the same thing would happen to a British typist who uses to a Belgian typewriter without noticing how the keys are labeled.)
It’s particularly appealing that this etymology makes zork an altered form of, or an alternative to … work.
Another Science-Fiction “Zork”
Brunner’s use of “zork” in the title of his book was not the first appearance of the word in science fiction. The word made an appearance earlier in Lin Carter’s novel The Purloined Planet, published in 1969. It was used in the name of an important character … “Zork Arrgh.”
It’s likely that Brunner at least glanced at the name of this key character. Lin Carter’s novel was published in a Belmont Double edition with “two complete science fiction novels.” The other was Brunner’s The Evil That Men Do.
While Simon Joukes may have typed out the word “Zork” and directly inspired Brunner’s 1974 title, the word may have rang out to Brunner as interesting and particulaly amusing because of Carter’s earlier use of it.
“Zork” and How She Is Spoke
There is some chance that people at MIT saw Brunner’s slim book of poems, but it seems far from certain. As of this writing, WorldCat lists only four university libraries in the United States that have this limited-edition book. MITSFS, the MIT Science Fiction Society, boasts the world’s largest open-stack library of science fiction and has 83 titles by Brunner in its catalog – but A Hastily Thrown-Together Bit of Zork is not among these. The Evil That Men Do / The Purloined Planet is in the collection, however.
Even when all of these additional leads are considered, it seems there is no strong conclusion to be drawn about the deeper etymology of the name of MIT’s, and Infocom’s, most famous text adventure. “Zork” might have been a corruption or further development of “zorch.” It may have entered the argot because of its use in an amusing curricular example, perhaps thanks to Quantitative Analysis Methods for Substantive Analysts or another textbook that hasn’t yet been ingested into Google Books. Or, science fiction may have been the vector for the word. If it was, though, it seems likely that it made its way into MIT speech not because of Brunner’s book of poems, but thanks to Zork Arrgh, a key character in 1969 novel by Lin Carter, one that was sitting on the shelves at MITSFS.
Perhaps more evidence will come to light, and the origins of the word “zork” as it was used at MIT in the late 1970s will become clear. Or, it may be that the origins of the word are lost forever – obliterated in a nook of a subculture’s linguistic history that has been irreversibly zorched.