Code poetry - poems written in code, through code or any combination of the two - has existed online for years. However, like computer code itself, the art form is more often seen than heard.
Melissa Kagen, a German studies doctoral candidate at Stanford, wanted to change that. She helped throw what was likely the world's first code poetry slam in December at Stanford, and followed it up on Thursday with 15 poets selected from a pool of 50 entries. Events are set to be held at Stanford twice a year, Kagen said.
Rules of poetry
Code poets find resonance between the constraints of programming and the traditional rules of poetry, where forms like the sonnet dictate strict rhyme schemes and syllable counts. But adding performance raises new possibilities, Kagen said.
"A slam is a different way to do code poetry," she said. "We're very interested in the performance. It's not that all the entries compile - some of them are playing on different ideas."
At Thursday's slam, some kept it simple. Aimee Norton's "Apache Code Errors" arranged common error classifications like "303 see other," "302 found" and "409 conflict" to build a minimalist narrative.
Others read aloud from code then ran the program, using the compiled result for a sort of programmer's punch line. Julian Bliss, a 20-year-old computer engineering student from Santa Clara University, presented a code that appeared to spell out "hello, world" - a test phrase programmers often use when picking up a new coding language. But when he ran the program, it produced the word "hi" - and the audience laughed.
Hunter Bacot won with "21st Century Prophecies," a Ruby program that pulled together the most recent tweets from luminaries such as Beyonce, the pope and Elon Musk. A key part of the victory was the performance, done by Keshav Dimri, since Bacot lives in New York.
Instead of simply reading the code, Dimri inserted some interpretation and drama - for instance saying the line "virtues << medium.user("KingJames").tweet.text" as "Let Lebron James' text be added to the list of virtues." Once the code compiled the tweets, Dimri read them aloud, enunciating each hashtag in a booming voice.
After the slam, contestants stuck around to wax poetic about the nature of code and poetry, debating whether higher-level languages were better for code poetry than clunkier ones like C, or whether punctuation - which is key in programming (tough luck, e e cummings) - should be spoken aloud.
One poet used a repeating loop of code to describe the repetitive nature of a bad relationship. As long as the number for the variable "Grievances" was greater than one, the argument would repeat - a common programming function applied to a human situation.
Michael St. Clair, a drama and design teacher at Stanford, said such loops can mirror real life, but that computers have a different perspective on endlessness.
"Computers give us access to this infinite loop thing without it hurting," he said. "If this is a cycle of death and rebirth, it's painless. They can die and be reborn over and over again, and we don't have to do that. We can put all that suffering, all of that labor on them."
Bliss had a more succinct take on why some computer functions appeal to poetic emotions.
"It's because programmers are sad, and infinite loops are sad," he joked.
(с) Ellen Huet