The Hexacoto

Listening to the sound of one hand clapping

Tag: computing

You ain’t so good, Google Neural Net

Google recently launched an interactive web game to train its neural network to recognise objects. The game, Quick Draw, calls on human users to draw a prompted object within a short period of time and the machine tries to guess what it is based on what it has learned so far from all of the inputs of previous players. Quite ingenious, to crowdsource training a machine learning (ML) program since many people are always looking for an excuse not to do work.

I wanted to test its learning limits. I more or less had a sense of how previous inputs for the prompts would look like, since humans tend to draw objects similarly when under time pressure. I wondered if I drew all of the objects from a different perspective, would the program still recognise it as the object — a task which humans are very capable of?

The answer is: not really.

I experimented with drawing in a sequence that would not be obvious what the object is immediately, but the end product would be discernibly apparent. I experimented with odd and skewed perspectives. Google Neural Net failed most of the time.

screen-shot-2016-11-17-at-3-17-20-pm

I think my mountains were really good! I started with a skewed line to not trigger immediate “mountain” responses from Neural Net and then quickly added half lines but by the time I was done, any human would have seen that these are really good mountains.screen-shot-2016-11-17-at-3-30-52-pm

I thought it was cute that my mouth were interpreted as a bear, an owl and a smiley face. What?? I started with the top line forming the nose, lips, mouth, chin and neck, followed by the back of the head. I filled in details and drew an arrow pointing to the mouth. In Neural Net’s fairness, its creators probably never accounted for it to learn the concept of pointing — a task that I don’t think is too difficult given how far we’ve come along in ML. It seems Neural Net has really only been learning to identify objects by scanning them as a whole.screen-shot-2016-11-17-at-5-23-15-pm

I drew a jagged tooth key, instead of a wedge-end key because I thought it’d be too obvious. By the time I finished the key, Neural Net still hadn’t recognized it. I had some time left and literally drew in the words “KEY” hoping it’d help Neural Net along but noooope. It thought it to be a crocodile. Cute croc though.

Looking at what examples Neural Net uses as its learned base to pass judgment, one sees that humans tend to draw things either profile or head-on, and hence how Neural Net learns to identify objects.

screen-shot-2016-11-17-at-5-21-49-pm screen-shot-2016-11-17-at-5-22-04-pm

Come on. My butterfly was clearly the best butterfly all of Neural Net’s learned examples.screen-shot-2016-11-17-at-5-22-35-pm screen-shot-2016-11-17-at-5-22-45-pm

How are some of your examples even mushrooms!? They look more like penises! I declare my mushroom to be mushroomier than your learned examples!

Google Neural Net, it seems you have a long way to go.

 

Bonus pic from a friend:

15129874_10154732065471913_1577713233_n

COME ON. In what universe are these trombones?? I’m starting to think people have never seen what a trombone looks like.

Advertisements

Bot or Not? Poetry does not compute

compupoem

Passing Time
Your skin like dawn
Mine like musk

One paints the beginning
of a certain end
The other, the end of a
sure beginning

Do you think the above poem is written by a human, or generated by a computer program? That’s what site bot or not seeks to achieve: a Turing test where people try to discriminate computer-generated poems from human-written ones. By the way, the above poem, “Passing Time,” was written by a human Maya Angelou.

I have previously written about reconciling the idea of programming code as poetry, whether it’s possible to achieve “poetic beauty” in code. I posited that there might possibly be an inherent “poetic beauty” in poetry that we recognise when we decide a piece of writing is a poem. With bot or not, the idea of what makes poems poetry is taken in a different step: by identifying whether the “poems” are human or computer-generated, there must be something common with human effort that is visibly distinguishable.

That means that any piece of writing that is seen as containing enough of the essence of “poetic beauty” to be counted as a poem, can be further sub-divided into being human effort or algorithm-derived. There must be commonality between “computer poems” and “human poems” that we can decisively say, “Yes, this is the work of a human” or “This is clearly computer-generated.”

The Showcase

The site lists some of the top poems easily recognised as human or computer-written.

Poem

Generated by botpoet using JGnoetry (93% said “bot”)

Published on desserts and from pink. Symptoms
Start, 2013 as other poetry does anyone
Word in thailand and write reading one mother
Order they deserve. Well, 2013 recently released
My pants and serve throw from is a beautiful
Insane surreal once hours playing once.

Personal Space

Generated by botpoet using JGnoetry (87% said “bot”)

New poetry I might help you currently
Have been, snapping male, but it’s a rocket,
Kid man been forever idea of
My wearing a punk and brought old robot
Smog thing. Professional grown-up looking
In dusty old men remaining his tibia.

Bright

Generated by Jim Carpenter using Erica T Carter (85% said “bot”)

The name ghosts second, destroying.
The quite normal letter to the dutch throne after one year destroying the still stuck ridged snow, interpreted.
Undimmed radiance curves, primming like the column.
Lounging, as other as very high score.
Loafing a booby.
Lounging and spends.
Normal occasion joints.
Early letter gets the personal experience from the individual.
Getting, tarries however in cell.
Lounging.
Obsesses the disturbed surface.
Obsesses the abyss.

As can be seen, the above poems are mostly verbiage, and make no sense. We compare that with the poems most recognised as being written by humans.

The Fly

William Blake (87% said “human”)

Little Fly,
Thy summer's play
My thoughtless hand
Has brushed away.

Am not I
A fly like thee?
Or art not thou
A man like me?

For I dance
And drink, and sing,
Till some blind hand
Shall brush my wing.

If thought is life
And strength and breath
And the want 
Of thought is death;

Then am I
A happy fly,
If I live,
Or if I die.

Untitled

Shelby Asquith (86% said “human)

His smile was loud,
and me in my silence—
I thought it was meant
for me. Momma warned
me about boys like him.
Told me that the kinds
of boys that shined a little 
too bright might just be 
trying to distract me from 
the balled fists, the fury.
I was a fly and he lured
me straight into the light.
And oh how he burned
me, how he burned me.

O Fool

Rabindranath Tagore (84% said “human”)

O Fool, try to carry thyself upon thy own shoulders! 
O beggar, to come beg at thy own door! 

Leave all thy burdens on his hands who can bear all, 
and never look behind in regret. 

Thy desire at once puts out the light from the lamp it touches with its breath. 
It is unholy---take not thy gifts through its unclean hands. 
Accept only what is offered by sacred love.

Especially with Blake’s poem, these top poems display some things that computers can scarcely replicate. In Blake’s poem, there is a very strong meter and rhyme scheme going on. The other two read very coherently, where the ideas contained within the lines agree with each other, and a message flows from the poem to the reader. What does it take for a piece of writing/poem to resemble human effort? We look at computer-generated poems that people thought looked human.

#6

Generated by Janus Node using Janus Node (69% said “human”)

you

  are

      inscribed
          in the
           lines on the
     ceiling

      you

 are

   inscribed in
         the depths
   of
         the
    storm

A Wounded Deer Leaps Highest

Generated by Poets using Ray Kurzweil’s Cybernetic Poet (67% said “human”)

A wounded deer leaps highest,
I've heard the daffodil
I've heard the flag to-day
I've heard the hunter tell;
'Tis but the ecstasy of death,
And then the brake is almost done,
And sunrise grows so near
sunrise grows so near
That we can touch the despair and
frenzied hope of all the ages.

some men

Generated by Every Google User using Google Predictive Search (67% said “human”)

some men just want to watch the world burn 
some men just want to watch the world learn 
some men just want breakfast

In these instances, how did algorithmically-generated sequences of words suddenly gain the verisimilitude of human effort, whereas the computer-like computer-generated attempts shown above failed? Finally, we look at poems written by humans that people thought were computer generated.

Cut Opinions

Deanna Ferguson (76% said “bot”)

cut opinions tear tasteful
hungers huge ground swell
partisan have-not thought
green opinions hidden slide
hub from sprung in
weather yah
bold erect tender
perfect term transparent till
I two minute topless formed
A necessarily sorry sloppy strands
hot opinions oh like an apple
a lie, a liar kick back
filial oh well hybrid opinions happen
not stopped

Cinema Calendar Of The Abstract Heart – 09

Tristan Tzara (69% said “bot”)

the fibres give in to your starry warmth
a lamp is called green and sees
carefully stepping into a season of fever
the wind has swept the rivers' magic
and i've perforated the nerve
by the clear frozen lake
has snapped the sabre
but the dance round terrace tables
shuts in the shock of the marble shudder
new sober

Red Faces

Gertrude Stein (69% said “bot”)

Red flags the reason for pretty flags.
And ribbons.
Ribbons of flags
And wearing material
Reason for wearing material.
Give pleasure.
Can you give me the regions.
The regions and the land.
The regions and wheels.
All wheels are perfect.
Enthusiasm.

The Experiment

That we have seen the most human-like human/computer-written poems, and most computer-like human/computer-written poems, can we draw parallels for what constitutes human effort in poetry? On the technical side, can we say that, as per Blake’s poem, prosodic and auditory cues such as stress, meter, and rhyme give poems a sense of human effort, such as where by reciting “Tiger, tiger, burning bright/In the forests of the night,” we can not only hear the rhyme but feel a sense of constant rhythm to the poem?

Surely that can only be achieved by humans? Not rightly so. Assuming a bot program has access to a dictionary, and the stress, meter, and phonetics of all words contained therein all mapped out, how hard would it be to code for something that reads like human poetry? (Following is not real code, but an idea of how the code should behave)

<write human poetry>
component: alternate stress, strong-weak
component: vowels at end of line match; SET1:AAB SET2:CCB
SET1
component structure line1: [pronoun][conjunction][pronoun]
component structure line2: [verb][preposition][location]
component structure line3: [verb][noun]
SET2
component structure line1: [pronoun][verb]
component structure line2: [conjunction][verb][noun]
component structure line3: [conjunction][pronoun][verb]
And I just described:

Jack and Jill
went up the hill
to fetch a pail of water.

Jack fell down
and broke his crown
and Jill came tumbling after.

A bot could browse through a dictionary and probably come up with something similar. Granted, I “retro-wrote” the code, where I already had a poem in mind and wrote the “code” after, but if I can break “Jack and Jill” down into an algorithm that can be reproduced, using auditory and prosodic cues, then surely it is solely not that that determines human effort in poetry? However, if a program relies solely on prosodic and auditory cues, what’s to prevent it from putting in random words that fit those cues but make no sense in sequence? For example:

Bird and ball
swirled by the mall
and cocked a round of seaweed

Truth flew out
where running lout
and cops were sniffing soft beads

The prosodic and auditory cues of the above poem match “Jack and Jill” yet it makes no sense, and it is likely that people would judge it to be written by a bot. So what else is required for poems to be recognised as human effort?

The other thing you’ll notice where human-like poetry trumps computer-like poetry is coherence of ideas. In the poems that read human, most of them have ideas that agree with either a general theme, or the lines preceding and following them. The ideas contained in each line also display a progression, where there is something being explored or developed. The computer-like poems tend to show disjointedness of ideas.

Perhaps humans are predisposed to pass continuity and coherence as hallmarks of humanity.

Is coherence then unique to humans, or can computers imitate coherence as well? Let’s see if we can imitate coherence with an algorithm as well, with added prosodic and auditory cues. To achieve that, we need thematic cues. I’m going to use the following poem, “I wandered lonely as a cloud” by William Wordsworth.

I wandered lonely as a cloud
That floats on high o’er vales and hills,
When all at once I saw a crowd,
A host, of golden daffodils;
Beside the lake, beneath the trees,
Fluttering and dancing in the breeze.

<write coherent poem>
component: alternate stress, weak-strong
component: SET last line: [alternate stress, weak-strong]=false
component: vowels at end of line match; SET:ABABCC
component: [CENTRAL X(n)] designate IDEA
component: [CENTRAL X(n)]; X=verb, noun, adverb, preposition, adjective
component: [CENTRAL X(n)] must agree with THEME
component: [CENTRAL X(n)] must agree with [CENTRAL X(n±≥1)]
component: [CENTRAL X(n)] either expand or progress [CENTRAL X(n±≥1)]
SET
component structure line1: [pronoun][CENTRAL verb(1)][adjective][preposition][CENTRAL noun2]
component structure line2: [conjunction][CENTRAL verb3][adjective][preposition][CENTRAL noun4][conjunction][CENTRAL noun5]
component structure line3: [conjunction][adverb][pronoun][CENTRAL verb6][noun]
component structure line4: [noun][adjective][CENTRAL noun7]
component structure line5: [preposition][CENTRAL noun8][preposition][CENTRAL noun9]
component structure line6: [CENTRAL verb9][conjunction][CENTRAL verb10][preposition][CENTRAL noun11]
THEME:nature
(1) verb-noun agrees with (2); (2) agrees with THEME
(3) verb-noun agrees with (2);(4),(5) agrees with (2); (4),(5) agrees with THEME
(6) verb-noun agrees with (7)
(7) agrees with THEME
(7) preposition agrees with (8),(9); (8),(9) agrees with THEME
(10),(11) verb-noun agrees with (7); (10),(11) agrees with THEME
IDEA1:[(1),(2)]–>IDEA2:[(3),(4),(5)]
IDEA3:[(6)(7)]–>IDEA4:[(8),(9),(10),(11)]

Does the above make any sense? It took me a while to try to break down “I wandered lonely as a cloud” into a vague enough algorithm that in my opinion still represents the poem while hypothetically still able to reproduce another poem. Let me explain the above “code.”

The poem has various components, including a weak-strong stress meter; but the last line of the set breaks the meter. The last phonetic features of certain lines must match; in this case ABABCC. Within the poem, there are certain things, designated as [CENTRAL X] where X can be a verb, noun, preposition, adverb, or adjective. These [CENTRAL X] designate a contained IDEA, which is a sense of what that line means. The [CENTRAL X] must agree with a preset THEME, which in this case, is “nature”; where the words must be somehow relevant to “nature.” such as “hill,” “daffodil,” and “cloud” being all words related to “nature.” Not only must [CENTRAL X] agree with THEME, it also has to agree with each other, one or more preceding or following it. It does so not only grammatically, but also has to expand or progress it in a logical way.

IDEA1 contains [CENTRAL (1),(2)], which progresses into IDEA2, containing [CENTRAL (3),(4),(5)]. IDEA3 contains [CENTRAL (6),(7)] which progresses into IDEA4, containing [CENTRAL (8),(9),(10),(11)].

You know, even after so much postulating, I’m still not sure I have successfully “retro-coded” Wordsworth’s poem. Maybe it is coherence of idea that seem unique to human effort, and that humans are predisposed to finding order in nature. My head hurts from trying to break poems down like that. Maybe someone else can do this better than I can. Feel free to leave comments.

How cheating has made me grow as a person and a gamer

Everyone deplores cheaters. The word ‘Gameshark’ is always muttered under dark breaths. The idea of getting something without having to work for it irks people.

OMG HAX

However, I’m here to sing a different tune. As a kid, when I discovered the joys of the clunky plug-in Gameshark device for the Playstation 1 as a kid, I was thrilled by the countless possibilities. Oh I can finally get that KOTR materia without all that nasty chocobo inbreeding now. Oh 1337 stats and infinite items? Yes please!

And thus began my cruise onto the internets to source for hundreds and hundreds of hexadecimal codes, all those 8001117D etc. which I copied dutifully by hand onto paper and then manually inserted into the device. Yes, through using the Gameshark device, I learnt what the hexadecimal system was in fifth grade, and learnt about the basics of programming, and how tweaking numbers can change values in a game. I learnt that things in a game, such as stats and items, correspond

But strangely, even as I infinite-HP’d my way through Monster Rancher, I didn’t get the satisfaction I thought I would. Oh sure, being able to plough through the games without the fear of dying was thrilling. As Winston Churchill once said, “There’s nothing quite as exhilarating as being shot at and missed” and indeed this exhilaration gripped me initially. I was practically omnipotent, with infinite resources at my disposal.

Yet, after a while, I opted for max HP/MP cheats instead of infinite HP/MP, because the games got too easy. I would look for codes that maxed my life that could be depleted instead of an infinite one. Slowly, I rescinded on the codes I used. Instead of a max all stats cheat, I would perhaps only max just one aspect. Soon after, I stopped using stat altering cheats and went for unlocking exclusive feats (unlockables, hard-to-obtain items etc).

Till today, I don’t really regret that I used a Gameshark to get a Mew in Monster Rancher 2 simply because I didn’t have a ‘Madonna the Immaculate Collection’ CD to spawn it.

This….

…spawns this. True story. Why? I dunno.

The point is, when everything was so easily available through cheating, I began to appreciate the value of effort more. Through being able to easily obtain Arceus and Darkrai on Pokemon Diamond/Pearl made me realize that their availability made them no more precious than a regular Bidoof or Zubat. Thus, to make my Pokemon experience special, I discovered EV training (I wasn’t a very good competitive trainer but going on that journey was interesting) and the Pikachu with the Volt Tackle that I got from the (crappy) Wii Game ‘Pokemon Battle Revolution’ as the first Pokemon I ever EV trained (and Ditto-raped for nature). I still kept all the rare Pokemon I cheated with for collection purposes, as I realize I would probably never be in Japan when promotions reel around, but within this game, residing side-by-side with the ill-gotten Pokemon, were Pokemon I put so much effort and time with. My Diamond cartridge truly felt like a culmination of experience, of learning through the disappointment I got through cheating, the determination I gained about the value of effort and so forth.

Many gamers decry the methods of cheaters, but in the writings of John Stuart Mill’s ‘On Liberty’, through a ‘free marketplace of ideas’ where both the good and the bad opinions are allowed to be aired, the good shines in comparison through conflict with the erred and to deprive truth and good that opportunity would be to do people a disservice. Cheaters have the potential to learn the value of effort and hard work through cheating too.

I suppose in real-world situations, it’s not as if the actions of an individual gamer has no social implications, especially in today’s gaming situations, with MMOs on the rise, cheating and bots do impinge on the gaming experience of other people and that’s when things go bad. Nobody wants to play a game with a person who has gold farmed from a bot or a gold farmer and upsets the meta-economy. My cheating history was a mostly cloistered one, since I wasn’t rich enough to play MMOs. Battling online on Pokemon though, can be where the “do no harm” principle flounders sadly like a Magikarp — one does see outrageously hacked “hackmons” while battling, and the ones without a cheating device is usually left disadvantaged.

It seems that the concept of cheating has gained more consequences with the rise of socially-integrating games then. The motif of the Mills ‘Harm principle’ where “The right to swing my fist ends where the other man’s nose begins” becomes challenged more and more as games develop, but it also brought into the discussion some merits of cheating that would have otherwise been overlooked.

Originally written on 27th December 2010 on 1up.com, edited for content and clarity.

Insert: Code Poetry

First Stanford code poetry slam reveals the literary side of computer code

The high-tech poetry competition, which explored how computer code can be read as poetic language, is accepting submissions for the next competition.

By Mariana Lage
The Humanities at Stanford

Leslie Wu presents her code poem
Leslie Wu, a Stanford graduate student in computer science, presents her code poem, ‘Say 23,’ which won first place in the Stanford Code Poetry Slam. Image: Mariana Lage

Leslie Wu, a doctoral student in computer science at Stanford, took an appropriately high-tech approach to presenting her poem “Say 23” at the first Stanford Code Poetry Slam.

Wu wore Google Glass as she typed 16 lines of computer code that were projected onto a screen while she simultaneously recited the code aloud. She then stopped speaking and ran the script, which prompted the computer program to read a stream of words from Psalm 23 out loud three times, each one in a different pre-recorded-computer voice.

Wu, whose multimedia presentation earned her first place, was one of eight finalists to present at the Code Poetry Slam. Organized by Melissa Kagen, a graduate student in German studies, and Kurt James Werner, a graduate student in computer-based music theory and acoustics, the event was designed to explore the creative aspects of computer programming.

With presentations that ranged from poems written in a computer language format to those that incorporated digital media, the slam demonstrated the entrants’ broad interpretation of the definition of “code poetry.”

Kagen and Werner developed the code poetry slam as a means of investigating the poetic potentials of computer-programming languages.

“Code poetry has been around a while, at least in programming circles, but the conjunction of oral presentation and performance sounded really interesting to us,” said Werner. Added Kagen, “What we are interested is in the poetic aspect of code used as language to program a computer.”

Ian Holmes explored Java language in a Haiku format

Ian Holmes, a Stanford undergraduate studying computer science and materials and science engineering, explored Java language in a Haiku format. Image: Mariana Lage

Sponsored by the Division of Literatures, Cultures, and Languages, the slam drew online submissions from Stanford and beyond.

High school students and professors, graduate students and undergraduates from engineering, computer science, music, language and literature incorporated programming concepts into poem-like forms. Some of the works were written entirely in executable code, such as Ruby and C++ languages, while others were presented in multimedia formats. The works of all eight finalists can be viewed on the Code Poetry Slam website.

With so much interest in the genre, Werner and Kagen hope to make the slam a quarterly event. Submissions for the second slam are open now through Feb. 12, 2014, with the date of the competition to be announced later.

Giving voice to the code

Kagen, Werner and Wu agree that code poetry requires some knowledge of programming from the spectators.

“I feel it’s like trying to read a poem in a language with which you are not comfortable. You get the basics, but to really get into the intricacies you really need to know that language,” said Kagen, who studies the traversal of musical space in Wagner and Schoenberg.

Wu noted that when she was typing the code most people didn’t know what she was doing. “They were probably confused and curious. But when I executed the poem, the program interpreted the code and they could hear words,” she said, adding that her presentation “gave voice to the code.”

“The code itself had its own synthesized voice, and its own poetics of computer code and singsong spoken word,” Wu said.

One of the contenders showed a poem that was “misread” by the computer.

“There was a bug in his poem, but more interestingly, there was the notion of a correct interpretation which is somewhat unique to computer code. Compared to human language, code generally has few interpretations or, in most cases, just one,” Wu said.

Coding as a creative act

So what exactly is code poetry? According to Kagen, “Code poetry can mean a lot of different things depending on whom you ask.

“It can be a piece of text that can be read as code and run as program, but also read as poetry. It can mean a human language poetry that has mathematical elements and codes in it, or even code that aims for elegant expression within severe constraints, like a haiku or a sonnet, or code that generates automatic poetry. Poems that are readable to humans and readable to computers perform a kind of cyborg double coding.”

Werner noted that “Wu’s poem incorporated a lot of different concepts, languages and tools. It had Ruby language, Japanese and English, was short, compact and elegant. It did a lot for a little code.” Werner served as one of the four judges along with Kagen; Caroline Egan, a doctoral student in comparative literature; and Mayank Sanganeria, a master’s student at the Center for Computer Research in Music and Acoustics (CCRMA).

Kagen and Werner got some expert advice on judging from Michael Widner, the academic technology specialist for the Division of Literatures, Cultures and Languages.

Widner, who reviewed all of the submissions, noted that the slam allowed scholars and the public to “probe the connections between the act of writing poetry and the act of writing code, which as anyone who has done both can tell you are oddly similar enterprises.”

A scholar who specializes in the study of both medieval and machine languages, Widner said that “when we realize that coding is a creative act, we not only value that part of the coder’s labor, but we also realize that the technologies in which we swim have assumptions and ideologies behind them that, perhaps, we should challenge.”

Mariana Lage is a visiting doctoral student in the Department of Comparative Literature.

When I was younger, I scoffed at the idea of programming language being a real language. “It is an efficient language, but lacks the capability for beauty,” I thought back then. That’s why we can achieve poetry with living languages and not programming.

Turns out people have been trying to prove that wrong. The folks at Stanford created a code poetry slam that attempts to bridge the gap between a language I (and many others) long-derided for being incapable of beauty, with poetry, the very art of turning language beautiful. It’s interesting to see how one takes a language with “stripped-out” syntax, one void of auxiliaries and other linguistic features, and tries to work with its sparseness to turn it into poetry.

This begs the question of “What is beauty? What makes word poetry beautiful?”

We find beauty in poetry in a number of ways: Some find the words used per se beautiful — word-image evocation. Some find the conjured images from metaphors beautiful — visual/thematic image evocation. Some even find the structures used to arrange the words beautiful — structural inspiration. The bottom-line is, there is some sort of inspiration or reaction drawn from the reader by the poem, and this reaction is essentially what we call the “beauty” we find in poetry.

When I shared this article on Facebook, a friend, who does programming, says that code can be beautiful too. He says, to him, an efficient code is a beautiful code; if an algorithm can figure out the solution to a problem in 10 lines where it takes him 50, the code is beautiful to him. While there exist similarities between the two, in that he is inspired by the efficiency of the “beautiful code,” that beauty is not the same sense of beauty that exists in natural language poetry, and the people at Stanford are trying to bridge that difference.

Where my friend equates the idea of efficiency to be beauty, “code poetry” tries to go beyond mere efficiency. Efficient “beautiful code” is just efficient code, and I think those at Stanford are trying go beyond just “beautiful code,” and trying for the same sense of “beautiful” that people find in imprecise written word with the precise structure of coding. The creativity from code poetry isn’t in the creative licence common to written poetry or in the ingenuity of finding a way to make the code more efficient, but possibly using a code that lies in-between.

In that, a code poet might end up with a slightly unwieldy, bulky code that programmers might think to be “ugly,” but appreciated beyond its efficiency, and applying the image-evocation processes of natural language poetry that traditional poetry beauty can be seen in code. At times, the code need not even solve anything, and in programming, that is just redundant code. But redundancy is very important in natural language, and by breaking away from the strictures of what makes good code, and eschewing snobbish ideas of natural language poetry superiority, can we begin to see the start of a novel way of understanding how beauty and structure can co-exist hand in hand.

Of course, as highlighted in the article, there’s the problem of access: those who do not understand programming cannot understand code poetry. Would this be a short-coming? Who would then be the arbiters of what makes good code poetry? Would we need masters of both the computing and natural language to dictate which poem highlights the sensibilities of both sides? I think not, actually. Take the Java haiku in the article above. I don’t understand Java, but I think there’s an element of beauty in that. I think anyone, as long as they’re willing to abandon what traditionally defines good code or good poetry, and listen to what inspires, what is beautiful to the mind, can appreciate good code poetry.