A presentation I gave at the Pittsburgh Python Meetup on writing code poems, or writing poetry within programming languages. This is a high level overview of some of the things I'm exploring as a creative writer/poet and aspiring programmer. I intend to use Python as my core language in experimenting with writing code poems, although I will also use HTML, CSS, Javascript, and D3.
2. Code Face Glazed Over
Regular Expressions Of
Natural Language Used
!
Every Variable Contains
A Person, Place Or Thing
Belonging To A Class,
Determining Its Potential
!
Calculating The Next Move
One Answer At A Time,
Choosing Either | Or
!
Cached Memory Lingers
As Relative Tables Talk
Data Clouds Gather
Algorithms Take Action
!
On Columns & Rows Of
Collected Key Value Pairs
Serving Up Details
!
Objects Identify Anything
Search For Whatever
Find Everything Swimming
In The Big Data Sea
!
Panda, Penguin & Hummingbird
Create Encoded Bits In The Byte Stream
Flowing To The Google Ocean
!
Angela Cornelius
3. Thinking Out Loud
We have accomplished a lot in machine learning and AI, but at some point we remain limited until we
study Machine Emotion and AF (Artificial Feeling)
Intelligence is the Mind, then Emotion is the Heart, and Poetry represents the heart far more than any
other form of literary narrative
I’m interested in Programming Poetry in order to extend my understanding of the human-machine
relationship, which by default, involves an inquiry into the human condition
Writing poetic programs, code poetry, is exploring new territory, playing curiously with the medium of
code as a new media
Ultimately, poetry, music, painting, all have in common:
Mathematics / Geometry
All language is symbolic, also all imagery is symbolic, all symbols are created to express ideas, and
therefore are subject to entropy
Poetry across mediums, influenced form by screen/display and also by device code
4. A Poem Is A Small (Or Large)
Machine Made Of Words.
-William Carlos Williams
!
Poetry Is A Simple Art Where
Everything Resides In Execution.
-Francois Le Lionnes
5. Two Approaches
1. Use the Code as Medium to Represent Form
Poetry With Code
2. Write the Poem into the Code
Poetry Within Code
Hypertext = Nonlinear, Possibilities of Interconnected Representations
Device Screens = Possibilities of Interfaces and Interaction
Programming Language = Possibilities for New Forms of Communication
In principality, the Web is Primarily Writing
6. Expressions of Thought Processes
Branching Structure Matrix Structure Schizo Structure
All directions are = and !=
- Bill Viola
Nonlinear Array
Enter/Exit at Any Point,
Move in Any Direction,
At Any Speed,
All Directions Are =
Linear Logic with Options
Stories with Choices
Begin
What does a Poem/Program Look Like?
Mudding
Multi-User Dungeons
Social Phenomena in Text-Based
Virtual Realities, Paul Curtis, CS
at Xerox PARCAlice in Wonderland, Positional
or Projective Geometry
Narratives Naturally
Play With Notions
of Time and Space
7. Poetry with Code
William Burrows- (1960’s) modern cut-ups, explore the nonlinear perceptions of space and time
“Certainly if writing is to have a future it must at least catch up with the past and learn to use
techniques that have been used for some time past in painting, music and film” -William Burrows
Digital Poetry is bits woven into the byte stream of global interconnected networks, mirroring the
synapsis of the mind, reflecting the human heart upon the machine pond
Happenings (1965) The Audience Spontaneously become the Participants in the Unique Creation of the
Work, the Experience Valued Over the Product, Often Spread Out Over Disparate Networks,
Simultaneously Occurring Across Space and Time -Alan Kaprow
Fluxus Artists, The merging of art and life, Emmett Williams wrote “Ultimate Poem” as a procedure in 1956
A Book of Sand
Wordle
Kinetic Poetry
Erik Adigard, Timelocator “The Medium is the Code”
IDE as writing tool
Mathew Ritchie, The New Place
John Maeda, Tap, Type, Write
8. Poetry Within Code
Mark Napier, Web Shredder
Mouseover Essay in JavaScript
Grep as a writing tool
Program-assisted compositions of poetry
Procedural Poetry, introduce the algorithmic method
Travesty
9. Ultimate Poem
Emmett Williams, 1956
1. Choose 26 words by chance operations-or however you please
2. Substitute these 26 words for the 26 letters of the alphabet, to form an
alphabet-of-words
3. Choose a word or phrase (a word or phrase not included in the alphabet-of-
words) to serve as the title of the poem
4. For the letters in the title word or phrase substitute the corresponding words
from the alphabet-of-words. This operation generates line one of the poem
Employs an array (alphabet-of-words)
algorithm (simple substitution procedure)
and input, output files
10. Move from a view of writing as the production
of something static (a codex or file) to a
more dynamic or fluid concept, that is the
action of production (process). From this
perspective, it is the procedure or algorithm
that counts, the output being simply one
by-product of that activity.
-Glazier “Coding Writing, Reading Code
11. Why Python?
Based on Monte Python - a literary source
Natural Language friendly
Open Source
Peps
12. Pep20: The Zen of Python
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
13. google ngram
In the article “Natural Language Corpus Data,” Peter
Norvig aries that counting the number of appearances of
words is relevant: “Why would I say this data is beautiful,
and not merely mundane? Each individual count is
mundane. But the aggregation of the counts–billions of
counts–is beautiful, because it says so much, not just
about the English language, but abut the world that
speakers inhabit. The data is beautiful because it
represents much of what is worth saying.”
-Design for Information, Chapter 6, Textual Structures
14. “In a Sense, Code Resembles Classical Poetry. The
requirements of meter(poetry) and syntax (code)pose
both limitations/challenges for the good poet/
programmer to adhere to and overcome in the process of
writing a great poem/program. Also, in code, there are
certain elements of style followed by good writers.”
-Wilkins
15. Visual Complexity, Mapping Patterns of Information, Manuel Lima
Design for Information, Isabel Meirelles
New Media Art, Taschen
Multimedia, From Wagner to Virtual Reality, Randall Packer & Ken Jordan
Poetry and Mathmatics, Scott Buchanan
literature media, friedrch kitler
Art in Technological Times, 010101 SF MOMA
The Mathematical Theory of Communication, Claude Shannon
Digital Poetics, The Making of E-Poetries, Loss Pequeno Glazier
Writing Machines, Katherine Hayles
References