Lewis

Jul 182009
 

For the past year or so I’ve been working on a new media poem called Black River Ghosts.  While the work is nowhere near ready to be presented to the public, I’ve been using some of its functionality on the social networks, and in a few spots these test cases/previews have been actually garnering praise.

Anyone familiar with my work in networked literature knows I have an ongoing fascination with poetry generators–applications that write poems based on datasets and randomizing algorithms. The motivations behind this obsession are very simple, if problematic on the theory tip: a good poetry generator allows the “author” to relinquish control; other than providing a dataset and some compositional templates, the generative poet does not compose the generative poem. The poem is instead composed by a combination of the underlying code and the reader’s initializing of the application.

I have more than a thimbleful of thoughts as to why this is a worthwhile paradigm for new media poetry, and why I often feel new media poets who don’t at least dabble in the margins of this paradigm might be missing some of the point of a networked literature, but those will be saved for a future post. Instead, I’d like to introduce you to a PHP framework that I’ve been using to create the piece, and offer some thoughts on how working in this way requires a different conception of poem composition.

CakePHP is rapid application development framework for creating web apps with PHP, and, though I’m very much a n00b as far as its use goes, so far it seems the best choice for building complex applications quickly and with as little code as possible. CakePHP leverages the Model-View-Controller design pattern to modularize the various components of a software project. This means that the application is coceptualized as having 3 layers: a model, which represents a data source; a controller, which encompasses the logic involved in working with the data from the data source; and a view, which is comprised of all the presentational or visual display functionality. MVC applications separate these layers into seperate files, thus promoting reusability and easy refactoring.

The benefits of using MVC are obvious; you can very quickly set up the bones of your app, and very easily extend and revise it. CakePHP provides a framework for doing this by favoring “convention over configuration”; by applying conventions to file names, database table names, and other assets, CakePHP provides a structure that makes simply creating and writng methods for certain classes build a rich structure for your web application.

I started writing Black River Ghosts with CakePHP initially just to get my head around how to use the framework. I already had the beginnings of a dataset; a file of distinct lines of text i’d started for the project. It became obvious very quickly that I could better make use of CakePHP and the poetry if I broke the lines down into records keyed by grammar. I tagged the poetry with parts of speech: nouns, verbs, prepositions. And then I started adding to the dataset, building a table of lines of poetry that represented (very subjectively) parts of speech to me.

As I worked, I became aware of how composing poetry like this, directly into a database, with the thought that each line, each unit, would go toward composing a sentence, is a fundamentally different way of composing poems linearly, as the popular conception of poetry has taught us. The form imposes some limitations; if you’re relying on “states of consciousness,” you must rely on them in targeted bursts, and you must keep in mind that what you’re writing will be combined and recombined with all of the other elements in the set.

The resultant text, though, definitely has a rush to it. Because I’m working with phrases instead of bare words, the sentences flood with a certain lyricism I’m enjoying. As algorithmically-generated text, these early tests of my code are yielding results I like.

Google+
 Posted by at 2:11 pm
Jun 242009
 

Aptana StduioAs a developer, I’m pretty picky about my tools. The old debate about whether ’tis better to use a plain text editor or a full-fledged Integrated Desktop Environment was settled for me long ago; quite simply, I spend too much time with my head in code to do everything manually, as a plain text editor would require.  No, I have very specific requirements of my editing environment, which is where I spend the greater portion of my day: I need code-folding, brace-matching, an outline of properties/methods…

Early on I was a huge fan of the Eclipse development environment. Eclipse, it seemed, sought to be the swiss army knife of dev tools; though it was primarily intended for Java, it’s plugin architecture allowed it to be extended to develop in any language a plugin was provided for. This allowed me to use one application to write in multiple languages and idioms, which was just fine by me. Since the majority of my work is LAMP-related (Linux, Apache, MySQL and PHP/Perl), I found that Eclipse coupled with the PHPEclipse plugin was perfectly suited to the way I write code.

But the PHPEclipse plugin had issues, as I was soon to find out. The version of Eclipse in the Debian and Ubuntu repositories is old, and the PHPEclipse plugin has some issues working on these platforms. This was fine when I used WindowsXP as my primary Desktop OS, but when I started using Linux on the desktop this stopped me in my tracks. And while there are some fine environments out there for the Linux platform, I missed the ease and familiarity of my Eclipse interface.

Luckily, Aptana stepped in to fill the gap. Aptana can be downloaded as either a standalone application or an Eclipse plugin, and was built on the Eclipse platform. And Aptana is geared toward web development, offering a rich set of tools for working with HTML, CSS and Javascript. It’s very AJAX (Asynchronous Javascript and XML) aware; in fact, when creating a default web project in Aptana, you’re given the option of downloading and making part of your project many of the most popular and innovative Javascript libraries, such as JQuery and Prototype. And it fits my workflow snugly; not only do I have all of the functionality and extensibility of Eclipse at my disposal, but Aptana has it’s own set of plugins to aid in the development of PHP and Adobe AIR applications, and also features a very rich interface and code snippet library (featuring, thankfully, a whole range of snippets for editing .htaccess files).

Aptana, installed as an Eclipse plugin, works on both Windows and Ubuntu-another selling point for me. I run a dual boot system, and any opportunity to use the same software on both sides of my box is welcome.

Google+
May 052009
 

Edward Picot brings up some interesting points in his latest essay Play on Meaning? Computer Games as Art up on both furtherfield.org and the Hyperliterature Exchange.  I’m most struck by this passage:

The insistence on interactivity as an important element of hyperliterature – and on computerised role-playing games as a paradigm of interactive art – has always begged a number of questions, however. First of all, champions of “traditional” literature are inclined to argue that new media theorists are starting from an incorrect model of the relationship between author and reader. Readers do not receive text “passively” – they interpret it, and many modern(ist) texts, far from spoon-feeding their readers with predigested messages, are deliberately written in fragmented, ambiguous or enigmatic ways so as to oblige the audience to make interpretations. If this is granted, then the claim that interactive fiction is “liberating” its readers by re-defining their relationship with its authors begins to look simplistic.

I would certainly agree that anyone arguing that text is received passively is starting from an incorrect model–at least as far as more postmodern or post-avant texts go. But I have issues with the idea that this is one of the strong arguments toward an interactive literature.

In my mind, interactivity and generativity are tightly bound. A New Media artwork in which I can simply move sprites around is boring, even if these sprites do contribute somehow in “winning” something (and I’m very uncomfortable with the idea of “winning” an artwork). I’ve always been more interested in getting the reader/user to participate in the generation of the work itself.  This can happen beyond the interactivity of the piece–any New Media artwork that uses an external datastore is particpatory, if only in capturing the zeitgeist of a particular tag on a particular website. You may not be able to alter the datastore from the piece itself, but the datastore itself is changing constantly.

I have a much more materialistic view of the artwork. Yes, with a traditional book, interpretation will change the way the text is received. The text in the book, however, does not change; it will materially always be the same. A New Media Poem should subvert this–there’s no hope of closure with new media poetry, because the very material of a good new media poem is dynamic.

Picot recognizes this here when, in a discussion on the work of Rod Humble, he states, “To a child, the phrase “Let’s play!” means something different from ‘Let’s play a game!’ The second phrase means ‘Let’s play a game with predefined rules’, whereas the first means ‘Let’s have fun’, and may involve rules or may not.” One of the reason’s I’ve never really explored a game aesthetic seriously in my work is because of this very fact–the very concept of “game” requires the constraint of rules. Rules are stable, and with rules one is given a sense of closure. All games can either be won or lost–which implies that the idea of closure itself is inherent in the game form itself.

New Media theoretician Lev Manovich wrote a famous essay that I think is all-too-overlooked in discussions of New Media art and literature. Database as a Symbolic Form explores the marked differences between narrative art and a database art. Manovich discusses this very point that nags Picot:

…Computer games, for instance, are experienced by their players as narratives. In a game, the player is given a well-defined task – winning the match, being first in a race, reaching the last level, or reaching the highest score. It is this task which makes the player experience the game as a narrative. Everything which happens to her in a game, all the characters and objects she encounters either take her closer to achieving the goal or further away from it. Thus, in contrast to the CD-ROM and Web databases, which always appear arbitrary since the user knows that additional material could have been added without in any way modifying the logic of the database, in a game, from a user’s point of view, all the elements are motivated ( i.e., their presence is justified).
Often the narrative shell of a game (“you are the specially trained commando who has just landed on a Lunar base; your task is to make your way to the headquarters occupied by the mutant base personnel…”) masks a simple algorithm well-familiar to the player: kill all the enemies on the current level, while collecting all treasures it contains; go to the next level and so on until you reach the last level. Other games have different algorithms. Here is an algorithm of the legendary “Tetris”: when a new block appears, rotate it in such a way so it will complete the top layer of blocks on the bottom of the screen making this layer disappear. The similarity between the actions expected from the player and computer algorithms is too uncanny to be dismissed. While computer games do not follow database logic, they appear to be ruled by another logic – that of an algorithm. They demand that a player executes an algorithm in order to win.

Here is the crux of why I dislike New Media art that explores the game meme. It’s a narrative art, and much of it’s narrative technique, while not linear, smacks of the novel. In fact, I can see where one could write a New Media novel as a game–but poetry is not a novel, is not fiction, and doesn’t require narrative. The exploration of a poem resists closure and teleology at its core–no matter what form it’s in. The New Media Poem is a wild, aimless child.

Google+
 Posted by at 5:06 pm
Apr 222009
 

Over the last two years, I, along with many another developer, have developed a bit of a man-crush on John Resig, the primary creator of the jQuery Javascript Library. jQuery has taken a lot of the pain out of writing cross-browser javascript, and replaced it with a much more intuitive syntax and a compressed idiom of expression that, to me, makes the chore of writing scripts that reliably work on all browser platforms much less debilitating.

This is an enlightening presentation by John on the challenges of scripting for the Document Object Model, or DOM, the conceptual framework that allows developers to work with documents in a dynamic way. This is particularly relevant to anyone who develops work presented in the browser. It’s interesting to note that many of John’s points have little to do with the DOM itself, as an abstract entity; it’s the implementation of the DOM by the different browser manufacturers that causes issues. While the Browser Wars are often declared over by many writers on the subject, it’s shocking to see some of the current inconsistencies dug up here. As the Web gains more and more primacy as information repository and communications medium, should the people’s access really be so shaped by market concerns?

Google+
Apr 082009
 

Reading the Lankavatara Sutra, I come upon this:

There are four kinds of word discrimination, all of which are to be avoided because they are alike unreal. First there are the words indicating individual marks which rise from discriminating forms and signs as being real in themselves and, then, becoming attached to them. There are memory-words which rise from the unreal surroundings which come before the mind when it recalls some previous experience. Then there are words growing out of attachment to the erroneous distinctions and speculations of the mental processes. And finally, there are words growing out of inherited prejudices as seeds of habit-energy have accumulated since beginningless time, or which had their origin in some long forgotten clinging to false-imagination and erroneous speculations.

Then there are words where there are no corresponding objects, as for instance, the hare’s horns, a barren woman’s child, etc.–there are no such things but we have the words, just the same. Words are an artificial creation; there are Buddha-lands where there are no words. In some Buddha-lands ideas are indicated by looking steadily, in others by gestures, in still others by a frown, by a movement of the eyes, by laughing, by yawning, by the clearing of the throat, or by trembling. For instance, in the Buddha-land of the Tathagata Samantabhadra, Bodhisattvas, by a dhyana transcending words and ideas, attain the recognition of all things as un-born and they, also, experience various most excellent Samadhis that transcend words. Even in this world such specialised beings as ants and bees carry on their activities very well without recourse to words. No, Mahamati, the validity of things is independent of the validity of words.

Moreover, there are other things that belong to words, namely, the syllable-body of words, the name-body of words, and the sentence-body of words. By. syllable-body is meant that by which words and sentences are set up or indicated: there is a reason for some syllables, some are mnemonic, and some are chosen arbitrarily. By name-body is meant the object depending upon which a name-word obtains its significance, or in other words, name-body is the “substance” of a name-word. By sentence-body is meant the completion of the meaning by expressing the word more fully in a sentence. The name for this sentence-body is suggested by the footprints left in the road by elephants, horses, people, deer, cattle, goats, etc. But neither words nor sentences can exactly express meanings, for words are only sweet sounds that are arbitrarily chosen to represent things, they are not the things themselves, which in turn are only manifestations of mind. Discrimination of meaning is based upon the false-imagination that these sweet sounds which we call words and which are dependent upon whatever subjects they are supposed to stand for, and which subjects are supposed to be self-existent, all of which is based on error. Disciples should be on their guard against the seductions of words and sentences and their illusive meanings, for by them the ignorant and the dull-witted become entangled and helpless as an elephant floundering about in the deep mud.

Google+
 Posted by at 8:23 pm