A Tiny Poetry Generator with Blinkenlights

ppg256-4 on a shelf

[As I wrote on netpoetic.com:] My latest Perl Poetry Generator in 256 Characters, ppg256-4, is my first one created specifically for a gallery setting. Although shown here in my office, it’s now on display at the Axiom Gallery for New and Experimental Media in Boston in the show Pulling Back the Curtain, which runs through September 27.

Since 2007, I have been developing Perl poetry generators that are 256 characters long. These programs constitute the ppg256 series. They are simply 256 characters of Perl code; they use no external data sources, online or local, and they do not make use of any special libraries or invoke any other programs. Here’s the code for ppg256-4:

perl -e 'sub c{$_=pop;$_[rand split]}sub w{c("b br d f fl l m p s tr w").c"ad ag ap at ay ip on ot ow"}{$|=print"\0\0\0\0\0\1Z00\2AA\33 b".c("be de mis re pre ").w." ".c("a on the that")." ".w.w.", ".c("boss bro buddy dogg dude guy man pal vato")."\4";sleep 4;redo}' > /dev/alpha

Note that those 256 characters of Perl include all of the control codes that are needed to drive the sign; the output is just redirected to the sign, a serial device, instead of appearing in the terminal. If you want to run ppg256-4 yourself, you can use this modified version that doesn’t include the control codes — it’s ready for you to copy and paste it into a terminal window:

perl -le 'sub c{$_=pop;$_[rand split]}sub w{c("b br d f fl l m p s tr w").c"ad ag ap at ay ip on ot ow"}{$|=print "\n".c("be de mis re pre ").w." ".c("a on the that")." ".w.w.", ".c("boss bro buddy dogg dude guy man pal vato")."\4";sleep 4;redo} #No LED sign version'

I’ll try to post a longer discussion about ppg256-4 on netpoetic.com and/or on Post Position before too long.

ppg256-4_2

ppg256-4_3

ppg256-4_4

ppg256-4_5

This was posted here on Post Position for the convenience of those of you who subscribe to the feed or visit the site. If you want to leave a comment, please head over to this post on netpoetic.com.

Digital Writing and Readings

[As I wrote on netpoetic.com:] Adam Parrish recently taught a class at NYU in the ITP program: Digital Writing with Python. I was very interested to learn about it and to see documentation of the final reading/performance, with some links to students’ blog entries about their projects. Here at MIT, I teach a class called The Word Made Digital in which students do poetry, fiction, and less classifiable writing projects using Python and other systems and languages. And, I know that Daniel Howe has taught the RISD and Brown class Advanced Programming for Digital Art and Literature.

I suspect, though, that these classes that are mainly focused on writing and programming are rather rare – much more rare, I’d bet, than design and art classes that are heavy on programming. It may have something to do with the number of galleries and curated Web sites exhibiting programmed visual art, which seems to me to be much greater than the number of similar edited venues for digital writing that’s driven by code. I’m not sure which way the causality flows. But several of the art-loving among us have some idea that, say, Processing programs can be aesthetic, even though they’re made of code. It’s not as common for literary folks to think of Python, Perl, or other programming languages (whether or not they start with P) as ways of creating literary art.

My sense is that having readings, of the sort that Parrish hosted at the end of his class and of the sort that the Electronic Literature Organization has sponsored and organized over the years, is a useful way to address this gap between literature and the visual arts. (Full-blown festivals, of course, don’t hurt either.) A reading allows writers to show off a program, which may be intricate, and explain how it works. It’s fun for those who are already into digital literature, and an accessible way for other literati to see what computational writing is about and how it bring certain literary qualities into the digital realm – even if it does radically subvert others. And since there aren’t as many official, edited, and well-promoted publication options for computational writers, going to do a reading can be a good way to appear in a context of other writers and reach a public.

I’m trying to do my part here by running a reading series for digital writing, but that’s grist for the next post [of mine on netpoetic.com].

This was posted here on Post Position for the convenience of those of you who subscribe to the feed or visit the site. If you want to leave a comment, please head over to this post on netpoetic.com.