From: "edx" <edwork@netvigator.com>
To: "Florian Cramer" <cantsin@zedat.fu-berlin.de>
Subject: Sketch for a Code Poem
Date: Sun, 14 Sep 2003 14:46:55 -0400

1. A brief criticism of 'digital poetics', then the sketch.

I'm only speaking here of what I have seen, and I'm not saying it is bad,
just that this isn't what I mean: an engine that is ultimately a random()
call, connected to fixed texts. As an example of this kind of digital
poetics, imagine a simple app that takes existing texts and either
constructs a story (so-called 'interactive media') or creates a
diagram/graph of some kind ( what we might call 'critical polemics'). There
are many variations on this kind of 'code poetry', and I'm not saying that
interesting things can't be done this way (although I admit that what I have
seen is not very interesting),  the thing all these little applets have in
common is the use of the randomizer and the traversal through existing
texts.

2. Rough draft of a Code Poem.

A. Specification for a Code Poem.

By 'Code Poem' is meant executable text, where the executable text is the
writing that comprises the poem. An identity should exist between the text
and the resultant executable. The text may be written in any compilable or
interpretable language (C/C++, VB, Delphi would be examples of a compilable
language, PERL, VBS, HTML, Java would be examples of interpreted languages).
The source code and execution of the code should possess a quality of
'identity', where 'identity' here means that to see the composed object, you
must see both the code and the execution of the code.

B. Reference Implementation Hint.

"WhiteLight.cpp"
main()
{
    whiteLight()
}

whiteLight()
{
    glTexture texture1;
    glTexture texture2;
    texure1 = glLoad( "whiteLight.jpg" );
    texture2 = glLoad( "WhiteLight.cpp");
    glEnable(GL_BLENDING);
    while(1)
    {
        glClearScreen();
        glDraw( texture1 );
        glDraw( texture2 );
        glSwapBuffers();
    }
}

The above text isn't a poem, and I invented some of the OpenGL calls as
abbreviations, but you can see what it does. The poem is called
"WhiteLight", and when you execute the code, it loads a jpg that is a big
white spot , and it also loads the source code, then it draws the source
code over the big glowing white spot in the center of the screen. But you
don't really need to run it to see what it will do - (at least in this
case) - because the code already tells you what it will look like when run.
So that there isn't, in this case at least, any difference between between
the code and app as run.

3. Random()

If you have read this far, then I will become more severe in my criticism.
Any use of random() betrays the inability to write even a simple AI routine,
and what is music and painting and sculpture but AI? When one codes up a
Code Poem, you can't leave anything to chance - what kind of art is that?
Code Poetry uses no prepared media, it thinks about what it sees, like a
lizard, and either growls or shows a color based upon what it sees. I admit
I am no better than to turn my butt red or black as yet, but when and if I
should advance beyond chemical responses, I will generate the jpgs on the
fly.

4. Pharoanic Code.

The King's code is not written in text, but from a combination of media -
text, images, music, touch, economic converse, movies, drug recipes, dreams,
and when compiled and run it opens a blank white window, within whose
province only visibilty is allowed.





Back to nettime unstable digest vol 65