The ppg256 Perl Primer: The Poetry of Techneculture


Mark Marino



From Issue 1

The ppg256 Perl Primer: The Poetry of Techneculture
by Mark C. Marino

perl -le 'sub p{(unpack"(A3)*",pop)[rand 18]}sub
w{p("apebotboyelfgodmannunorcgunhateel"x2)}sub
n{p("theone"x8)._.p("bigdimdunfathiplitredwanwax")._.w.w."\n"}{print"\n

".n."and\n".n.p("cutgothitjammetputransettop"x2)._.p("herhimin
it offon outup us "x2);sleep 4;redo}'

-- Nick Montfort, 256-character Perl Poetry Generator, 3

For my epigraph, I offer you this poem, a work of profound import, of concision, of clarity, elegance.  Except it is not a poem.  It is a procedure for generating an endless array of poems.  We shall teach it in schools.  We shall read it aloud.  We shall commit to our discrete state and biological memory.

Nick Montfort orginally published Perl Poetry Generator 256 ppg256-1, or version one of the 256-character Perl poetry generator, as his poem for 2008 on his blog collective Grand Text Auto.  Perl for the programming language, "poetry generator" for it function, and 256 for the number of characters in its code. When he subsequently presented the generator at HASTAC II in Los Angeles, he did not spend much time reading the works it produced nor explicated them although he did perform a few of them.   Instead, as in other presentations, he spent his poetic efforts discussing the program, the code, as the effects of the code, the poetry, scrolled silently upon the screen.  Here was an accomplished author of electronic literature, spending his precious minutes at the podium talking about code.  What are the implications for electronic poetry?  Was this a glimpse of cyborg bards to come?

For over a decade, code has become the stuff of poetry, from the executable codeworks of John Cayley to the code-inflected creole of Mez's mezangelle (Hayles).  At the same time, Montfort and collaborators at Grand Text Auto, most notably Noah Wardrip-Fruin have been turning the conversation toward Processes, as in Wardrip-Fruin's text Expressive Processing. Montfort himself has been pursuing a life-work of reclamation of the command-line computer culture of his youth, a boy and his PET Commodore.   The ppg256 series, which sounds like another Commodore product line, represents Montfort's move to create a literature for a code-culture revival, suitable for primers and anthologies to acculturate future generations into the craft and art of coding, accompanied by the growing number of (multimedia, computational, procedural) literacy advocates. 

Beyond talk of "literacy," a word in danger of losing its linguistic mooring, Montfort's poem generator (and generator as poem) engages in a resurgeance of not a technoculture, but a techneculture, a subculture built upon the craft-knowledge of coding, a community structure that seems to find native comfort in the Internet.   These are the subcultures of coding, knitting, and homecraft, crafts of basements and sewing rooms, enlarged, extended, and transformed into the social networks of online environs.  Montfort's poem is a case not of the cart coming before the horse but cart-wrighting before (and instead of) the cart.  Though offered as a poem, ppg256 emphasizes techne as poiesis and craft as poetics.

In order to understand how this work comes to be part of electronic literary discussion, we must first turn our attention to another program that has fascinated Montfort, a one-liner we will refer to as "Random Mazes."

Random Mazes

This past year, programmers and humanities scholars, and those hybrid models who do both, joined together for the Critical Code Studies Working Group, a six-week long intensive investigation into ways of applying critical theory to the interpretation of code and encoded objects.  The online workshop brought together a code-reading congress of over 100 scholars from universities in the United States, Brazil, Canada, and England to develop the ways and means, the methods and terminology, for performing humanities-style readings of the extra-functional significance of computer source code. It was the follow up to an article I had written in 2006, calling for the critical readings of code under the motto "Critical Code Studies starts here."  In one area of the online forum, participants were encouraged to post code "snippets" of code so the group could collaborate on readings.

Montfort posted a program he called "Random Mazes" with the following source code:

10 PRINT CHR$(109+RND(1)*2); : GOTO 10

which produces this:



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. Actually, with 17 lengthy replies to that thread, Montfort might not have been joking.  Or, to say it another way, this little line of code produced more than just mazes.

The program essentially prints rows that randomly alternate between two special characters in Commodore's character system, an adaptation of ASCII called PETSCII.  The characters are two diagonal lines, one crossing to the lower right corner (like this \), the other to the upper right corner (like but not this /).  The result of their alternation is, as you can see from the image above, something that seems like a two-dimensional maze.  However, despite its resemblance to a maze, it lacks formally identified entrances and exits or the kinds of goals people usually associate with maze challenges.

Why did Montfort find this code so interesting?  What is in this one line of Commodore Basic? First the program was, as he noted, only one-line long (38 characters with spaces), a tiny program that was ultimately infinitely prolific.  This clever alteration of symbols was enough to produce quite a bit of complexity and the kinds of patterns usually attributed to the careful machinations of some diabolical Daedalus.   Second, and here I am inferring from his comments, was the time in his life when he learned about this program.

When asked the source of the source code, Montfort said he had seen it in a presentation by Cicero Inacio da Silva and had also previously committed it to memory.  Montfort himself had previously written about it in Software Studies: a Lexicon, where he discusses the history of one-line programs (250).  In the CCSWG discussion forum, Montfort noted that he remembered programming the code two decades ago on Pet and Commodore 64 computers.  He could not call it a "pure" copy but argued that his biological memory should be considered comparable to a computer's. 

This is not the first time, our maestro of mazes, of "twisty little passages," has focused on some technological artifact from his youth.   His most recent book, Racing the Beam, a collaboration with Ian Bogost, launches their Platform Studies series with a look at the Atari 2600.  That book details, with loving care, the cultural and historical factors that lead to the production of that seminal machine, the game system that filled the childhood hours of so many young boys and girls of Generation X.

We are Hamurabi

In another presentation, at SLSA 2007, Montfort presented analysis of yet another computational artifact. For this analysis performed with Grand Text Auto-colleague, Michael Mateas, Montfort examined the Basic Game Hammurabi, David Ahl's adaptation of Sumer by Robert Merrill.  Named after the Mesopotamian tyrant, Hammurabi is like "Oregon Trail" for potentates.  Players of Hammurabi "direct the administrator of Sumeria, Hammurabi, how to manage the city," controlling the grain supplies to feed the population and plant for coming years.  The entire code for the game appeared in Basic Games (1978), and Montfort recounted typing the game into the book and then learning how the code operated and its potential by making changes to the code.

Nick Montfort is not the only one who remembers that game fondly: In Dreaming in Code, Scott Rosenburg recounts:

I was fifteen years old and in love with a game called Sumer, which put me in charge of an ancient city-state in the Fertile Crescent. Today's computer gamers might snicker at its crudity: its progress consisted of all-capital type pecked out line by line on a paper scroll. You'd make decisions, allocating bushels of grain for feeding and planting, and then the program would tell you how your city was doing year by year. "Hamurabi," it would announce, like an obsequious prime minister who feared beheading, "I beg to report..."

Within a couple of days of play I'd exhausted the game's possibilities. But unlike most of the games that captivate teenagers today, Sumer invited tinkering. Anyone could inspect its insides: the game was a set of simple instructions to the computer, stored on a paper tape coded with little rows of eight holes.

Hamurabi was known for its gentle performance reviews: You have been "impeached...and declared a national fink" and you have been "assassinated, but we all have our trivial problems."  However, even without extensive graphical representations or complex AI models of a game like Starcraft (Blizzard, first released 1998), Hamurabi commanded hours of engagement, an early entry into the genre of simulation and management games that offer programmers a ludic parallel to the very administrative puzzles they struggled with in code.

For Montfort, the game epitomized a moment in the history of personal computers and video games when players, even children, were encouraged to interact with the code that produced the games they played.  That long-lost era is a far cry from the state of current game platforms, that have abandoned the keyboard for nunchucks and have moved to the model of the sealed game package, code safely burned into the unreachable spinning surface of a DVD-ROM, well-protected by walls of hardware and legal code.

Eliza

At the Electronic Literature Organizations' Visionary Landscapes conference, Montfort, this time collaborating with another Grand Text Auto compatriot, Andrew Stern, took up Joseph Weizenbaum's ELIZA for discussion.  This conversation agent or chatbot has been a favorite object of study even in electronic literature circles, so it was not unusual for him to take up this program at such an event.  However, rather than focus on the cultural context of the program or the narrative experience of interacting with a simulated Rogerian psychotherapist, as has been discussed by Weizenbaum, Sherry Turkle, and many others, Stern and Montfort focused on the novelty of the approach, the curiosity of the algorithm, the prodigious procedures of this relatively short program.  For these two artist/critic/coders this clever and concise little program warranted admiration because it created endless sessions of therapy and even psychoanalytic interpretations of its functioning with just a page or so of code.  From a few lines of code, volumes of analysis.

In these several presentations, we can see Montfort, author and critic, hashing out a cultural aesthetic for artful code objects.   The measure of success is the concision (Random Mazes), the novelty of the approach (ELIZA), and the engagement produced by interacting with the code itself (Hammurabi), three attributes that would become the center of his ppg256 project.

But is it a poem?

Although Montfort likes to speak about computer programs, code, and platforms, his literary practice has strong precedent in twentieth century practices.   On his website where he describes the first few ppg iterations, Montfort lists his own influences:

As I started this project, I had certain concepts about the generation of poems in mind, and couldn’t help but think about pre-computer and early computer work on the assembly of language from Raymond Llull’s wheel for generating all true propositions about God through Jonathan Swift’s literary machine and into the 20th Century, where Surrealism, the Oulipo, Brion Gysin (with his permutation poems), William Burroughs (with the literary use of Gysin’s cut-up method), and others worked on how to recombine fragments of language. In computer-based poetry generation, I was thinking particularly of Hugh Kenner’s Travesty and Charles Hartman’s work as described in The Virtual Muse. Jim Carpenter’s Electronic Text Composition/Eric T. Carter project, which I’ve heard Jim present about several times, strongly influenced how I thought about the architecture of a poetry generator, although ETC is an industrial-scale, enterprise poetry generator.


From this list, the Oulipo offer a representative example of the cultural lineage in which Montfort is placing his work.

Originating in the early 1960s, the Ourvoir de Literature Potential (Oulipo) is a celebrated artistic (and scientific) collective whose experiments with the procedural production of literary objects were, to steal their signature phrase,  anticipatory plagiary of Montfort's computational poetry.  "Anticipatory Plagiary" is  "an expression which the Oulipo uses to identify its predecessors: authors who have previously used methods now seen as 'Oulipian'"  (Oulipo Compendium  207).   This confederation of artists had produced algorithms of art, such as N+7, a method developed by Jean Lescure, involving "replacing each noun(N) with the seventh following in the dictionary" (Raymond Queneau qtd. in Oulipo Compendium 298). They were artists of procedures. 

In his Introduction to The Oulipo and Combinatorial Art, Jacques Roubaud defines the mission of the group: "to invent (or reinvent) restrictions of a formal nature (constaintes) and propose them to enthusiasts interested in composing literature" (Oulipo Compendium 38).  Further he clarifies that "as a group, the Oulipo does not count the creation of literary works among its primary aims" (39, emphasis his).  Roubaud explains,

What are the relationships between constraints, combinative procedures, and potentiality?  Describable, definable, available to everyone, Oulupian constaints provide the rules of a language game (in the Wittgensteinian sense) whose "innings" (texts composed according to its rules) are virtually unlimited and represent linguistic combinations developed from a small number of interdependent elements. (40)


In his ppg256, Montfort takes up each element of this mission.  His process is describable and definable by its nature as code.  By releasing that code, his process is also available to (and hence implementable by) everyone who downloads it.  Finally,  the program itself, like "Random Mazes," uses "a small number of interdependent elements" to produce virtually unlimited output. 

The ppg256 goes far beyond the Oulipo, though.  For while the Oulipo created processes that had potential, Montfort is interested in processes that are themselves artful.  The mere focus on the number of characters in this generator say as much.  The artistry of ppg256 is that, like "Random Mazes," the program is a concise conceit. Like ELIZA, it is a clever take on a seemingly impossible task, replicating human conversation or human poeisis.  Like Hamurabi, it can simulate a complex processes (ruling a people, composing lines of poetry), through the clever deployment of a few subroutines.

Moreover, out Oulipo-ing the Oulipo, Montfort's finished product is the process.  By naming the piece the ppg256, Montfort calls attention to the code itself as the thing to be read.  Consider Cent mille milliards de poèmes, which by contrast is named for its potential output rather than for its mechanisms (i.e. the ten-pages-of fourteen-strips poem generator).   The difference is that by naming the piece for its internal constraints, Montfort is making the code the poetic object to be studied.  At the same time, Montfort seems to be adhering even more strictly to the laws of Oulipo, as one axium dictates: "A text written according to a constraint describes the constraint."  Here, Montfort offers the code as the text.

Looking at the code

On his website and in his 2009 Digital Arts and Culture paper, Montfort details the functioning of the code and the ways in which he happened upon his solution.  Much of the weight from this grand challenge was lifted when he decided to turn to bigrams, two-character units that can be combined to form four letter words.  In version 3, he extended to monosyllabic words in the form of trigrams, which combined to form compound words.

In effect, Montfort's poetry generators reduce the unlimited, epic task of composing a poem to the constrained combination of two-character units in brief stanzas.  It reduces the grand challenge of artistic natural language production with the clever insight of "Random Mazes." However, and this is the important shift, his success is not to be measured according to the merits of the poems, but by the elegance of his solution, an aesthetic not so much from the college of letters as the boy culture of programming, not wordcraft but codecraft. 
 

perl -le 'sub p{(unpack"(A3)*",pop)[rand 18]}sub
w{p("apebotboyelfgodmannunorcgunhateel"x2)}sub
n{p("theone"x8)._.p("bigdimdunfathiplitredwanwax")._.w.w."\n"}{print"\n
".n."and\n".n.p("cutgothitjammetputransettop"x2)._.p("herhimin
it offon outup us "x2);sleep 4;redo}'



In order to work this program from the command line, Montfort takes advantage of a few native Perl short cuts, such as the -le, in which "-e" instructs the system to execute the script that follows.  Perl sites boast about its ability to perform complex sets of instruction in a simple line of code and there are published collections of one-liners.  In fact, on his description page for the generators,  Montfort himself references the Perl Golf competitions.  A current iteration of the competition explains, "Based on the original perl golf, Code Golf allows you to show off your code-fu by trying to solve coding problems using the least number of keystrokes."  In fact, it's worth noting the culture surrounding Perl, a language noted for it "perl poetry" and its "perl monks." It is a language with rich humanistic aspirations.

Version 2 produces "the palls"

a sit
twin & grit
twit kins a fat
twill spans a bin
twin
grill
chin


Version 2's poems vary in line number and words-per-line, and the selection of ending bigrams has the advantage of producing a greater possibility of rhyme.  If this particular poem sounds a bit like the work of another poet mathematician, with his "brillig" and "slithy toves," it would be important to note that Montfort is working toward the generation of actual English words.   At the same time, both Lewis Caroll's other-worldly poetry and Montfort's generator make parallel points about the nature of poetry as recognizable patterns. 

Key to these poems is a PERL's pseudorandom number generator.  Unlike a fully random number generator, the rand function produces predictable results one third of the time.  Though Montfort did not use this knowledge to "stack the deck" toward stronger poem combinations,  pseudorandomness  parallels the pseudo-arbitrary nature of these generators.   Montfort has not dumped the scrabble bag onto the table, but has taped together bigrams and trigrams in combinations that have a statistical likelihood of producing English that has quality (diction) and diversity. To put it plainly, he does not believe that any combination of bigrams will produce poetry, but that this particular set when combined in lines of a particular pattern will most likely produce lines of what could be called poetry. In the delta between the two, we find the poiesis of Montfort's techne: the artful selection of a limited set of tiles on which he can apply a tightly constrained random, or random-like, process.

By the time, Montfort produces the third generator, he has moved toward a topic, using not fragments of words but, apropos of version 3, three-letter words to compound.  Here, his subject matter is more fixed.  Consider this table of trigrams compounded to produce two of the nouns in the poem:

ape

bot

boy

elf

god

man

nun

orc

gun

hat

eel

big

dim

dun

fat

hip

lit

red

wan

wax

 

 

cut

got

hit

jam

met

put

ran

set

top

 

 


When employed by the generator, this array produces poems such as:
the nungod
and
one bothat
jam out

or

the nunelf
and
one hip gungod
hit it

The language of version three mixes religion and fantasy with a terse slang-like finale.   It is the language of the Tolkein-loving boy culture of orcs and elves, World of Warcraft, even interactive fiction's Adventure interleaved with diction of high poetry (dim, dun, wan, wax).  His word choices playfully avoid easy categorization as too banal (big, got, top) or merely absurd (ape, eel) by mixing in the potential for color and resonance (god, lit, red).   Unlike the diagonal lines of Random Mazes, these trigrams, hardly a random sampling, are loaded with a good deal more cultural information, making them productive seeds for generation.

Even without taking into account the content of the digrams and trigrams, there is a definite aesthetic at work here in the structuring of the generators' output.  Montfort does not accept just any combination of characters as poems, at least not in this particular grand challenge or par-3 shot.  In theory, he could, by perhaps linking his work to the most abstract forms of concrete poetry, visual poetry, or automatic writing.  In his explanations, he argues instead for something more traditional, for the way the title and stanza forms make the poems more "pleasing."  His ear for terse lines and staccato rhythms, his prefence for brevity mark these generators.  When the poems became longer, toward ten lines, he found them less satisfying.  However, these aesthetic characteristics speak more to the poems' templates.  Further, it is not the poem-like quality of the lines but their measure of "cheapness" (with regard to their low use of computer memory) that has value, the concision of the code, the cleverness of the conceit.  This is not unpoetic, however. Did not Sidney write in The Defense of Poesy, "The skill of each artificer standeth in the idea or fore-conceit of the work, and not in the work itself.  And that the poet hath that idea is manifest, by delivering them forth in such excellency as he had imagined them"?


On the other hand, the most recent version of Montfort's generator perhaps provides the clearest insight into how this trickster/coder/writer or ("triccodwrit").er thinks of these experiments.  That poem alternates the question "WHAT DOES ppg DO?", evoking both the all-caps or older command-line programs and the religious "WWJD?" with answers such as: "postrealism moderns the pixel" and "quoetism quotes the modern."  But perhaps more of his mocking town comes through "digitism maximals the flarf." 

Boy Culture meets Girl Culture

It is a temptation in all media studies, particularly those related to digital technology, to read particular objects as being unique, as coming from a never-before-imagined moment, involving skills and techniques, signs and modalities, of an unprecedented future.  While the Oulipo offer an admitted literary precedent to Montfort's work, the programs that he praises, Hammurabi, Eliza, Random Mazes, and the programs he writes seem to have none, as if they were unrelated to the flow of previous cultural artifacts, exemplifying the Oulipo motto, "everything done prior to us is worthless" (37) or a sense that the dawn of the digital age left no sign of the dark, pre-computer night.

However, these objects of fascination for Montfort and many others, myself included, emerge from a clearly identifiable slice of cultural history.  T-shirts with the Atari logo, the 8-bit game aesthetic (Camper), and emulators have packaged that moment in the commercial venacular.  This was the moment when children were learning to program on the toddler-age of personal computers.  The very genre of interactive fiction had emerged out of a cave of nostalgia and into people's game rooms and dens.  At the same time, it is a moment already gone, replaced by graphics-centered, first-person shooters, MMORPGs, social media and, in particular, operating systems that suppress the commandline (as Neil Stephenson has so elegantly articulated). So where can we find the precedent for such an age? Where can we turn for even comparable cultural moments? 

To discuss this moment of mostly male adolescent programmers huddled around their computers madly typing the lines of code, we might turn back a century before to compare these hackers with the creative work and τέχνη of young nineteenth-century women whose magazines delivered not patterns of alphanumeric codes but instead patterns for the needle and stitch, patterns that would similarly produce mazes and the material art of the Victorian age.

The role of patterns yokes the world of one-liner code and the world of needlecraft.  At their most basic level, Random Mazes and ppg256 are combinatoric pattern generators.  These two programs are clever because from simple repeated processes of seemingly meaningless units they create infinities with curious resonance.  From clever combinations, artistic patterns.  Programming here was a techne,1 delivered and shared, through mentoring and apprenticeships, lessons and examples.

Consider this mat from Treasures in Needlework (1855), whose weaving pattern produces an analogy to the mazes (316).



The simple pattern produces the complex aggregate. Or take another example from The Young Ladies' journal Complete guide to the work-table:



Or consider these instructions on creating a "Square Pattern," also from the Young Ladies' journal:

For this pattern:
1st Row: Work one plain row.
2nd Row: One ordinary stitch, and twist the thread twice round for the large square. Repeat to the end of the row. The first and second row are repeated alternately. (126)

Here is the algorithm, the repetition of the simple procedure, presented to be attempted by the attending student of the craft.

While the twentieth-century scholars often turn to fractals and Stephen Wolfram for their small patterns of the universe, the craft of coding simple patterns into complex aggregates matches well the world of weavers, and in particular, the world in which women, particularly young women were being socialized into the habits and techniques of needlecraft and weaving.  The iteration of a seemingly simple alternation of tiny processes produce larger, complex wonders.  Take this lesson from Treasures of Needlework, by Mrs. Warren and Mrs. Pullan embedded in a narrative about a mother and daughter, who begins, "Perhaps, Mama, as I can finish this at my leisure, you would show me how to do the fringe."




Here are so many elements of David Ahl's book:  a repetitive process, clearly described step-by-step, algorithmically, delivered to a novice learner with the goal of their repeating that process for themselves.  This particular example, too, demonstrates the ways in which the transmission of the craft is built into lessons in gendered behavior.  The text foregrounds the etiquette of this young woman, as she continues, "Then, Mama, I will finish this some other time, and perhaps you will now help me to devise some pretty way of working..."  

In light of the Victorian handbook for young ladies, consider a story from Scott Hansleman, programmer, who presents a book called Computer Olympics, and recounts:

That's how I learned to program. This book was THE book in 1984. I typed in the whole book on a Commodore 64. 

Originally, there was a meeting between the principal and my 5th grade teacher, Mrs. Hill. They said I was "at risk." I was probably going to be voted "Most Likely to Be Convicted of a White Collar Crime." Anyway, they set it up so I could sneak an Apple II out of the school as long as it was back before Monday morning. After it was clear I'd found my (or "a") calling, Dad decided to get a C64 for me. My dad sold his Van to get me that C64...


Here, the father sacrifices what was no doubt his treasured vehicle, a '60s or '70s-era van, for his son and his "calling."  Later Hanselman adds:

I wonder if a book like this could hold a 10 year old's attention like it did for me. I burned weekend after weekend typing in Hex Codes from Compute! Magazine. I paid other kids on the block to read them to me so I could type them faster.


Hansleman's story reveals not only the place of the code craft magazine but the kind of obsession that evolved among his circle of friends.   The comment thread for that post features 25 replies, many of which are posted by men (judging by their user names) posting recollections of their youth or interactions with their sons.

The gender-focus of the BASIC programming culture is written into its periodicals.  Compute! Magazine began in Fall 1979 after it changed its name from The PET Gazette, "a resource journal," that originally focused on machines that used the 6502 chip (which excluded the TRS-80 line).  The tone is conversational and the pages often included programs, although the magazine was clearly geared toward adults. Nonetheless, articles address teaching children and the diction of the articles is closer to middle school or younger and the magazine published articles for Beginners in its early pages.  Consider this passage the magazine reprinted from the preface to a "teach yourself guide" to Random number generation, The Mysterious And Unpredictable RND (Dymax Pub. Co. 1980), which includes hand-drawn sketches of 24-sided dice.

What does this booklet have to do with dragons? Well, that is quite a story, and only a small part can be told here. Bob Albrecht is known throughout the world, by both children and adults, as the Dragon. He is fond of dragon-things, and there are people who believe that he may indeed be a real dragon disguised for a while as a human, so that we will listen to what he has to say about kids and learning. Dragons are wise creatures but rather imposing when encountered on a one-to-one basis.

George Firedrake and Bob are old friends. They are said to have met and adventured together several thousand years ago. The chronicle of their escapades, according to George, forms the core of an elaborate dragonsong that takes at least 1000 nights to sing.

Recently awakening from a long sleep, George recalled a dream that he had experienced. In the dream, he had been given a vision of an important task to be done. He was to find Bob, renew their friendship, and begin an adventure that involved the children of the planet Earth. He and Bob were to help the children to acquire knowledge and mastery of the planet's new technologies....

All of this diversion probably still doesn't tell you what this booklet has to do with dragons. That's true. Dragons are often reluctant to divulge their larger plans. They like to let events unfold slowly. A few hundred years to a dragon is hardly any time at all.


Although dragon stories are not the sole purview of boys, the framing of the tale with our two male protagonists, the evocation of fantasy, the references to Dungeons and Dragons (explicit in the text) positions this introductory text in the world of boy culture which would become the world of "Hacker Culture," as Douglass Thomas has identified, and no doubt, to a large extent, contemporary programming culture.  It is the world where lines of code trace out the labyrinths of dragons, elves, and orcs.

Flash forward thirty years to David Brin's article "Why Johnny can't code" published in Salon magazine, where he recounts a tale of searching with his fifth-grader son for a way to program BASIC on a Mac or PC.  In the article, he bemoans the fact that despite the many technological wonders that can fill the gymnasium for contemporary children to explore, "Most of these later innovations were brought to us by programmers who first honed their abilities with line-programming languages like BASIC."  For Brin, it was BASIC in particular that was the source of this moment, as it lent itself to simple exercises:

Those textbook exercises were easy, effective, universal, pedagogically interesting -- and nothing even remotely like them can be done with any language other than BASIC. Typing in a simple algorithm yourself, seeing exactly how the computer calculates and iterates in a manner you could duplicate with pencil and paper -- say, running an experiment in coin flipping, or making a dot change its position on a screen, propelled by math and logic, and only by math and logic: All of this is priceless. As it was priceless 20 years ago. Only 20 years ago, it was physically possible for millions of kids to do it. Today it is not.

Brin's sense of frustration, of loss, is part of his "quest," as he calls it, a quest born in boy-culture, a father-son story.  When he and his son happen upon an Apple II on eBay, his son asks, "Say, Dad, didn't you write your first novel on one of those?" As Brin recounts it, the loss of BASIC programming among novice learners, children in particular, threatens Western global domination:

According to the masters of IT, line coding is not a deep-fabric topic worth studying. Not a layer that lies beneath, holding up the world of object-oriented programming. Rather, it is obsolete! Or, at best, something to be done in Bangalore. Or by old guys in their 50s, guaranteeing them job security, the same way that COBOL programmers were all dragged out of retirement and given new cars full of Jolt Cola during the Y2K crisis.

In his language, we find a very male fear of loss and isolation, of becoming "obsolete!"  His image of the COBOL programmers recalls the plot of Space Cowboys (2000), in which astronauts played by Clint Eastwood, Tommy Lee Jones, and Donald Sutherland are dragged out of retirement to save the world from the crisis of masculinity.  Here old, retired programmers save the world with the boost from a youth-culture drink (man-computer-car-cola). That the terms of Brin's narrative, the father-son quest, are so deeply gendered is a sign of "line coding" as "homecraft," not just an area of cultural knowledge but a mean of familial male socialization.   Curiously, Brin's solution is to buy an old Commodore 64 for his son to use, in many ways the antithesis of remediation and the narrative of technological progress.  In spite of his use of Perl, a modern language, this retro or recovering move rests at the heart of Montfort's project, too.

Random Mazes, ppg256, and needlecraft bring together practical arts that produce ornamented results. Neither the functionality of their fabricating components nor the domesticity of their production should efface their artfulness and significance. Denise Gonzales Crisp's notion of the "decorational"2 offers a means of yoking these two realms of artistic craft by combining "the discourse of ornament with that of rational design" (100). In her manifesto, she writes, "Rabid automation (and exploited labor) of bad-quality goods is exactly the sort of thing that motivated the Arts and Crafts movement's various attempts to reinvest handicraft with honor and social value-anathema to machine manufacturing of the late nineteenth century" (95). Montfort's poetry seems born of similar aversion to the totalizing obfuscation of consumer software built behind the walls of graphical user interfaces. Later Crisp adds, "The decorational intends to engage. The decorational finds pride in craft, joy in materials (Our material is digital! Our digital is material!). The aim is not nostalgia, nor pastiche nor irony, but to reflect and be the complexity of our time (which could be nostalgic! ironic!)" (100). Pride in craft, joy in materials, this, too, is the battle cry of Montfort's writerly code. More than a retreat to aesthetics, decorational points toward the meaning of ornate but functional codecraft and threadwork. When we situate decorational moves within the material history and discourse reams of source code, we are performing critical code studies.

My references to nineteenth-century thread culture is not meant to situate needlecraft as something of a by-gone era. At the recent Conference on College Composition and Communication 2010, a panel organized by Fabian Alvarez brought together three panelists who focused on techne and DIY. Derek Van Ittersum, Antonia Massa-MacLeod, and Heather Pristah discussed the creativity of online writing innovators, the micro-economies of homecraft networks such as Etsy (http://etsy.com), and the new knots of knitters, respectively. The notion of techne, as a crafty application of skill, resonated through all three but so did a sense of communities of practice. Notably, Pristah's presentation detailed the vitality of communities that have accompanied a resurgence of knitting and the tools, such as Knitpro 2.0 (http://www.microrevolt.org/knitPro/). What wove together the digital with the textile was this interest in online subcultures and marketplaces of DIY craft, communities of knowledge exchange about technique, technecultures, techniques born of discussion threads.  Certainly, the Critical Code Studies Working Group shared this ethos.

Furthermore, all three panels presented the sharing of techne as a creative act, often re-imagining the realms of knowledge or putting the techniques toward counter-cultural objects of production, such as a cross-stitch of the word patriarchy as a kind of XML end-tag </patriarchy>.3 By fostering politicized craftiness and craftivism at large, the exchange of techne produced a site of social poiesis. Whether discussing Cory Doctorrow harnessing the git process of Flashbake or online discussions of blanket knitting, the panelists presented the seemingly seamless connections between the world of thread and yarn and the world of code. My own essay's emphasis on conference presentations highlights a similar value of P2P craft-sharing.

However, Massa-McLeod was quick to point out that even though many producers on Etsy, coders, and 2.0 knitters may share a similar economic status when they acquire their crafts, those learning how to program computers ultimately find themselves with a considerable economic advantage over those who eek out some extra income on Etsy. The gender divide between those nostalgic for 1980s-style BASIC programs and contemporary online homecraft again renders one techne commercially viable and relegates the other to a wired or wifi domestic sphere, a cottage industry that leaves the homestead snug but spare, undervalued but politically charged artful crafts.

As we turn our attention to the pedagogical movements for computational literacy, the development of toy languages, and a possible pendulum swing back to teaching line-coding rather than PowerPoint design, we might place the poetry of Nick Montfort in the pages of our primers. And perhaps we should also consider whether we will be reviewing those primers with our sons or daughters in comfortable middle-class game rooms, or bring that knowledge to other, less enfranchised populations, as in the work of scholar educators, such as Sneha Veeragadour Harrell. At the same conference where Nick Montfort was explicating his poetry generator, she and husband Fox Harrell described her projects teaching the language of Second Life to under-served high schools students in Northern California and teaching Scratch to refugee girls outside of Baltimore. One day, these students, too, will grow up to be nostalgic for the second life they found in these second languages, and will likely reach to reclaim it for generations of daughters and sons.

Works Cited

29degrees. “Code Golf | Home.” Web. 15 Mar 2010. http://codegolf.com/

Ahl, David. “BASIC Computer Games: Hammurabi.” Atari Archives 1978. Web. 5 Mar. 2010. http://www.atariarchives.org/basicgames/showpage.php?page=78

Albrecht, Bob, and George Firedrake. “The Mysterious And Unpredictable RND.” Compute! Jan. 1981.

Brin, David. “Why Johnny can't code.” Salon 14 Sep. 2006. Education section.

Camper, Brett. "Fake Bit: Imitation and Limitation." Digital Arts and Culture, UC Irvine, 2009. Retrieved from: http://www.escholarship.org/uc/item/3s67474h

Hanselman, Scott. “Teaching Children and Kids to Program the Old School Way.” The Blog of Scott Hanselman 15 Jun. 2007. Web. 10 Mar. 2010.

Harrell, Sneha Veeragoudar, & Harrell, D. Fox. "Exploring the Potential of Computational Self- Representations for Enabling Learning: Examining At-risk Youths' Development of Mathematical/Computational Agency." Digital Arts and Culture, UC Irvine, 2009. Retrieved from: http://www.escholarship.org/uc/item/4b6913rb

Hayles, N. Katherine.  "Deeper into the Machine: The Future of Electronic Literature."  Culture Machine. 5. 2003. http://www.culturemachine.net/index.php/cm/article/viewArticle/245/241

"'Just Do It:' Rethinking Gender and Rhetoric in Online DIY Spaces." Chair Fabian Alvarez. Speakers: Antoia Massa-MacLeod, Derek Van Ittersum, and Hether Pristah, CCCC, Louisville, KY, 2010.

Lock, Robert. “Publisher's Remarks:.” Compute! Fall. 1979.

Marino, Mark C.. “Critical Code Studies.” electronic book review 12 2006. Web. 13 Feb. 2007.

Mathews, Harry, and Alastair Brotchie. Oulipo Compendium. illustrated edition. London: Atlas Press, 1998.

Montfort, Nick. “A 256-Character Program to Generate Poems.” HASTAC II, UCLA, 2007.

--- "Obfuscated Code." Software Studies: A Lexicon. Cambridge, MA: MIT Press, 2008.

--- “ppg256-1 (Perl Poetry Generator in 256 characters) discussion.” nickm.com. Web. 10 Mar. 2010.

--- . "The ppg256 Series of Minimal Poetry Generators." Digital Arts and Culture, UC Irvine, 2009. Retrieved from: http://www.escholarship.org/uc/item/4v2465kn

--- and Andrew Stern. “Provocation by Program: Imagining a Next-Revolution Eliza.”  Electronic Literature Organization: Visionary Landscapes, Vancouver, Washington, 2008.

--- and Ian Bogost. Racing the Beam: The Atari Video Computer System. Cambridge, MA: MIT Press, 2009.

--- and Michael Mateas. “Hammurabi's Code.” Society for Literature, Science, and the Arts, Portland, Maine, 2007.

Ng, Jenna. "Stitch and Switch: Open Source Embroidery." Critical Code Studies blog. 8 May 2008. http://criticalcodestudies.com/wordpress/2008/05/08/stitch-and-switch-open-source-embroidery/

Roochnik, David. Of Art and Wisdom: Plato's Understanding of Techne. University Park, Pa.: Pennsylvania State University Press, 1996. Print. 

Rosenberg, Scott. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software. 1st ed. New York: Crown Publishers, 2007. Print. 

Stephenson, Neal. In the Beginning...was the Command Line. New York: Harper Perennial, 1999.

Sidney, Sir Philp. The Defense of PoetryEnglish Essays: Sidney to Macaulay. Harvard Classics, 1909. Bartleby. http://www.bartleby.com/27/1.html

Thomas, Douglass. Hacker Culture. Minneapolis: U. of Minnesota P, 2002.

Wardrip-Fruin, Noah.  Expressive Processing. Cambridge, MA: MIT Press, 2009.

Warren, Eliza, and Matilda Marian Pullan. Treasures in Needlework, by Mrs. Warren and Mrs. Pullan, 1855.

The YoungLadies' Journal Complete Guide to the Work-Table. E. Harrison, 1885.

notes

1 Following Derek Van Ittersum's lead I draw upon David Roochnik's trace of τέχνη through pre-Socratic Greece and through the works of Plato. In that  work, Roochnik defines τέχνη as a realm of knowledge related to a craft that can be specified, delimited, and taught with varying degrees of completeness and certainty.

2 Needlecraft and coding seem to be crossing threads on more occasions.  Consider Jennifer Ng's review of an "Open Source Embroidery" exhibit.

3 Needlecraft and coding seem to be crossing threads on more occasions.  Consider Jennifer Ng's review of an "Open Source Embroidery" exhibit.




Author Biography



Mark Marino is a critic and author of electronic literature, currently serving as the Director of Communication for the Electronic Literature Organization (eliterature.org).  His work on Critical Code Studies has promoted the development of methodologies for interpreting computer source.  His critical works have appeared in James Joyce Quarterly and Explorations.  His latest interactive novella "a show of hands" will be featured in the forthcoming Electronic Literature Collection volume 2. His previous narrative works include "Stravinsky's Muse" and "Marginalia in the Library of Babel."  Mark blogs at WriterResponseTheory.org and CriticalCodeStudies.org.  He is also editor of Bunk Magazine (bunkmagazine.com), which has just launched its Mash-up issue. His portfolio can be found here (http://markcmarino.com).