A New Paper on the Dreamcast

Sunday 5 February 2012, 10:21 am   ////////  

I’m very pleased to see the article Mia Consalvo and I wrote published in Loading…, the journal of the Canadian Game Studies Association (CGSA). There’s an intriguing lineup of articles in Loading… Vol 6, No 9; ours is:

Montfort, Nick and Mia Consalvo. “The Dreamcast, Console of the Avant-Garde.” Loading… 6: 9, 2012. http://journals.sfu.ca/loading/index.php/loading/article/view/104/116

We look at the connections between the Dreamcast platform, five games in particular (Jet Grind Radio, Space Channel 5, Rez, Seaman, and SGGG) and avant-garde movements and work in art, literature, and other areas in the 20th century. By seriously considering and applying the idea of the avant-garde and looking into these fives games closely (in terms of gameplay, in interpretive ways, and with regard to players’ online discourses about them), we show some ways in which videogames, within gaming, have done the work of the historical avant-garde; the business situations and factors in platform technology that relate to this innovation; and what opportunities for radical exploration in console gaming remain.

E-Lit Platforms at the MLA

Saturday 7 January 2012, 5:19 pm   ///////  

Dene Grigar, vice president of the Electronic Literature Organization and one of the organizers of the excellent e-lit gallery and reading here at the MLA Convention, just gave a great presentation about the importance of platform in the development and reception of electronic literature. I was pleased initially to see that there was not only this presentation with “Platform” in the title, then very interested to hear about her work in a lab with original older computer hardware and her discussion of platform differences and changes through the years.

Even more surprising is that Ian Bogost and I have managed to advance part of our diabolical plan to have people use five long, colored rectangles stacked on top of each other:

HypeDyn Hypertext Authoring System Released

Monday 19 December 2011, 10:12 pm   //////  

Here’s an announcement about a new, free hypertext authoring system from my collaborator Alex Mitchell:

We are pleased to announce the first public release of the HypeDyn hypertext fiction authoring tool: http://www.partechgroup.org/hypedyn

HypeDyn is a procedural hypertext fiction authoring tool for non-programmers who want to create text-based interactive stories that adapt to reader choice. HypeDyn is free to download and open source, and runs on Linux, MacOS and Windows. You can download HypeDyn from http://www.partechgroup.org/hypedyn/download.html

HypeDyn was written in Kawa Scheme, http://www.gnu.org/software/kawa/

As part of our ongoing research, we are interested in how people use HypeDyn. Please let us know at hypedyn@partechgroup.org if you are using HypeDyn and would like to tell us about your experiences, in particular if you have made any changes to the code.

We are also interested in having authors take part in a more detailed study. If you are interested in helping with this study, please read the details at http://www.partechgroup.org/hypedyn/study.html

Note that downloading/using HypeDyn does not require participation in the study.

Positive Publication

Monday 21 November 2011, 10:08 pm   /////////  

An interview that James J. Brown, Jr. did with me is now up as part of the latest issue of JEP: The Journal of Electronic Publishing.

It’s entitled “The Literary and the Computational: A Conversation with Nick Montfort.”

I’ve banged up against some fairly conservative, and indeed rather backwards, ideas about what publishing is recently; it was great to talk with Brown and see him and JEP representing a much more positive idea.

Chicago Colloquium Notes

Monday 21 November 2011, 2:02 pm   ///////  

I went to the Chicago Colloquium on Digital Humanities & Computer Science this weekend (Sunday and today), and gave the keynote that opened this event. I spoke about Platform Studies, describing how the difference between Pong and Hunt the Wumpus could be better understood by considering that these games were made of different stuff — different material computing systems. Then, I brought in the five-level model of digital media studies that I introduced in Game Studies in my article “Combat in Context” back in 2006. I spoke about the existing and forthcoming titles in the Platform Studies book series by MIT Press: Racing the Beam (Montfort & Bogost, 2009); the book on the Wii, Codename: Revolution by Steven E. Jones and George K. Thiruvathukal; and The Future was Here by Jimmy Maher, covering the Amiga. I also spoke about 10 PRINT CHR$(205.5+RND(1)); GOTO 10, a book engaging with platforms that I, and nine co-authors, are completing. Finally, I concluded by offering 16 questions about the digital humanities, in a lecture moment that was inspired by a particular 20th century American composer.

A few of my favorite aspects of the colloquium:

  • Talking with Steven E. Jones and George K. Thiruvathukal, colloquium organizers and Platform Studies authors, among other platform-interested authors.

  • Meeting Perry Collins, a new program officer for the NEH Office of Digital Humanities. This was Perry’s first trip outside the Washington, D.C. metro area, and she immediately (first talk of the colloquium) got to do something all of her colleagues at the ODH — Brett Bobley, Jason Rhody, Jennifer Serventi — have already done: listen to me complain about the prevailing, overly traditional, overly narrow model of the digital humanities that doesn’t embrace contemporary work and the expressive, creative power of computational media. There are some things to enjoy about being a gadfly, but I do wonder if I’ve now become a hazing ritual at the National Endowment for the Humanities.

  • Getting to talk more with Kurt Fendt and two CMS students working for his group, HyperStudio, about their current projects. Although I can walk over to their space without going outside, of course I have to travel to Chicago to really learn about what they’re up to, and to hear discussion of it supported by an immense poster — it’s the nature of things.

  • Suggesting to Quinn Dombrowski of DHCommons that that site have some facilities for allowing potential collaborators to meet at conferences, and to know about who was at conference together, and then discussing this with her over Twitter and email while she was sitting six feet away from me.

I had many other good conversations, saw several intriguing presentations, and even saw some nice automated text collage, but those are the most amusing highlights, at least.

Why Emily Dickinson Would Use GNU/Linux

Thursday 11 August 2011, 4:29 pm   ////  

With Blue — uncertain — stumbling Buzz —
Between the light — and me —
And then the Windows failed — and then
I could not see to see —

— J465/F591

World’s Hottest Platforms 2011

Thursday 9 June 2011, 7:49 pm   ////  

Ian Bogost and I were thinking about the Platform Studies series today, as we are wont to do. There are two books in the series that are nearing completion now, which we are delighted about, but there are many more to be written. We were talking about some platforms that we thought were large and low-hanging fruit for any interested authors – ones that would be great to write about. These are a few platforms or families of platforms that seem to us to have interesting technical aspects, diverse and important historical connections, a good amount of worthwhile cultural production, and a number of adherents:

  • Apple II
  • BASIC
  • Commodore 64
  • Flash
  • Game Boy and/or Game Boy Advance
  • iPhone and iPad
  • Java
  • Macintosh
  • MSX
  • NES
  • PC
  • System/360
  • Unix and Linux
  • Windows (“Wintel”)

In case there’s anything that seems puzzling about this list: A platform, as far as the Platform Studies series is concerned, is something that supports programming and programs, the creation and execution of computational media. (This is pretty much what Wikipedia defines as a computing platform, too.) So BASIC, Java, and Flash are as much platforms as the mainly-hardware consoles and computers that are listed, as are the operating systems on the list.

If any of these interest you enough that you’d consider writing a book about them, please contact me and/or Ian. If you have a favorite platform that we haven’t mentioned and want to suggest that someone write about it, please leave us (and any potential authors who are reading) a comment.

The Digital Rear-View Mirror

Saturday 28 May 2011, 6:38 pm   //////  

I’m at the intriguing and very sucessful third 2011 symposium of TILTS, the Texas Institute for Literary and Textual Studies. (Interestingly, TILTS can be spelled using only letter from “The X-Files.”) I might have written more about the event, but my computer has been identified by automated UT-Austin systems as being a rooted Windows machine (although it’s not a Windows machine at all) and is banned from the network. Desite my radio silence, though, the symposium has certainly been a space of lively discussion of digital media work, computational linguistics and its application to humanistic inquiry, and the representation of technology in media.

I’ll mention a bit about the talk I gave today, one entitled “The Digital Rear-View Mirror.” The title was based on the dictum of Marshall McLuhan: “We see the present through a rear-view mirror. We march backwards into the future.” The most obvious version of the digital rear-view mirror is the one on your Prius, but I started my comments about three specific topics (and one lament) by examining the nature of emulators, a type of rear-view mirror that’s been of great use to me.

I considered how emulators can be understood, via textual studies, as editions of computers, and how this helps us to better conceptualize the emulator and make more effective use of it in our work. This is a topic I wrote about recently here on Pole Position.

Then, I quickly introduced my current book project, which often involves emulators and is entitled “10 PRINT CHR$(205.5+RND(1);: GOTO 10″. I am writing a single-voice academic book with nine other authors; the book is about the one-line Commodore 64 BASIC program that is its title.

For the last of my three specific topics, I took my recent collaboration with Stephanie Strickland, Sea and Spar Between, a literary and aesthetic project which was based in part on consideration of the lexicon of Dickinson’s poems and of Moby Dick.

I wound up with some discussion of how the mainstream definition of the digital humanities, as effectively provided by funding agencies, does not clearly admit any of my specifics (building or using emulators, writing a book with nine others about a short program, collaborating on a poetry generator). None of these projects involve digitization or computational analysis of cultural heritage materials. Perhaps Sea and Spar Between, which involves computing on language but is not even a scholarly project, is actually closest to being a digital humanities project, but it isn’t that close.

Although people like our keynote speaker Johanna Drucker, Matt Kirschenbaum (who spoke on the panel with me), and Lev Manovich have done extremely significant work with contemporary objects of study and are also significant figures within the digital humanities, the exclusive fixation on the past means that we do not have major digital humanities projects about contemporary computational work – electronic literature, video games, computer music, digital installation art, etc.

So, I concluded with a plea to let there be some intersection between “digital media” and “the digital humanities” – to allow us a side-view mirror that would let us see what is happening alongside us, and in the recent past, as well.

Rettberg on After Parthenope

Thursday 17 March 2011, 9:21 pm   /////  

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.

March 14 in Philadelphia: Platform Studies, Material Computing, and the Atari VCS

Wednesday 9 March 2011, 6:34 pm   //////  

Platform Studies, Material Computing, and the Atari VCS

Nick Montfort, MIT

A presentation in the
Workshop in the History of Material Texts
University of Pennsylvania – March 14, 2011 – 5:15pm
Van Pelt Library, 2nd Floor

Platform studies is a family of approaches that aim to help us understand the relationship between computational platforms and the creative work that is done on them. At a high level, two realizations are particularly important to platform studies: First, that creative production on the computer, using computation, is culturally relevant; and second, that we can usefully look to the underlying systems and structures that constrain and enable this creative production. In this talk, I will describe how participating in this workshop helped me to engage with the materiality of texts and then of computing, how I initially sought to investigate the relationship between textual studies and computational media, and how, working with my collaborator Ian Bogost, I found a deeper, productive connection between digital media and textual materiality that is based on the concept of the platform. Along the way, I will discuss and use as my main example the Atari VCS (a.k.a. Atari 2600). This famous early cartridge-based game system was the focus of my and Bogost’s 2009 book, Racing The Beam, the first book in the MIT Press series Platform Studies.

Book Meets Tube, Explains Tube

Monday 21 February 2011, 12:49 pm   //////  

Learning from YouTube by Alexandra Juhasz is an open access MIT Press “video-book” published on Vectors. It’s made of “texteos” (with YouTube-like videos at the core) and is hilarious and incisive. I suggest you vread it right away.

Pocket Curveship

Thursday 3 February 2011, 11:42 pm   //////  

Curveship running on a tiny computer, the Ben NanoNote.

Curveship runs on the Ben NanoNote, by the way. It could be faster, certainly – I and others will be working on that. But it does run, which is a good start and bodes well for the ability of Curveship games to run on many different platforms.

Happy Chinese New Year.

Curveship 0.5 Released

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.)

10 PRINT Talks Galore

Wednesday 26 January 2011, 4:59 pm   /////  

Two of my talks on this program:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

have recently come online. I’m currently studying this program deeply and writing a single-voice book about it with many other authors.

My earlier talk, given jointly with coauthors Jeremy Douglass and Casey Reas on July 23 of last year, was “Studying Software by Porting and Reimplementation: A BASIC Case” at USC. As of yesterday, video of it is online with the rest of the conference proceedings from Critical Code Studies at USC.

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.

Colloquium Past, Conference to Come in Mexico

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.

Rafael presents the collaborative version of the plot generator MEXICA.

They must love George Perec's La Disparition in Mexico City.

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

The C64 BASIC program executing.

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.

This poster was in the lobby of the auditorium where I did my presentation. Looks a bit like the output of 10 PRINT, no? It seems to show just that with two other characters (a horizontal line and a vertical line) thrown into the mix.

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

Interior of La Casa de Primera Imprenta.

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.

SHRDLU fans will note that the Linotype machine in La Casa de Primera Imprenta has a different layout than an English Linotype machine.

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.

Curveship Codefest Coming Up

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.

Code is Beauty, Beauty Code

Friday 20 August 2010, 12:07 am   //////////  

Beautiful CodeIn 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: Leading Programmers Explain How They Think. Edited By Andy Oram & Greg Wilson. O’Reilly Media, 2007.

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.

Next Page »
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2012 Post Position | Barecity theme