Introducing Versioning Poems
September 7, 2015
In London we have a fantasic group of people that discusses cutting edge ideas, the group is called the Palo Alto Supermarket test11 It abbreviates as PST, maybe it is worth looking for an interesting acronym, e.g. Policy, Society and Technology. Please ping me on twitter if you want to join in.. A recurrent topic has been Post-Internet art which we think it can be the next artistic expression trend.
In this post, I would like to introduce one way of writing Post-Internet poetry that mixes traditional poetry and coding poetry: Versioning Poems - I hope to inspire a new generation of poets, please update me @nicolagreco if you write some.
Versioning Poems
A versioning poem has two characteristics:
- Versioning tool: The poem written in commit messages using a versioning tool
- Commit diff: Each line has a commit diff that has code related to the message
In this way, one could clone a repository and just list the commit messages. The following is a poem of mine 9*19 Flowers poem.
Understanding requirement 1
As you can see each line shows up as a poem
$ git clone https://github.com/nicola/flowers-poem
$ git fetch origin poem
$ git checkout poem
$ git log --format="%C(yellow)%h%Creset %Cgreen%s%Creset%n%b"
ea814f4 POEM: 9*19 flowers
02d0dc0 Handcraft flowers from maths and lines,
aa14064 Choose the colors to make them shine,
ad4e12c Till the soil to plant the seeds.
700b967 .
7cea9e1 See me to make me glow
93c57f8 Touch me to give you more
e023bd0 Touch me you'll never stop
e146d2c Please touch me again.
Understanding requirement 2
The difference added by 93c57f8 Touch me to give you more
relates to a piece of code that adds the function start_touching
93c57f8 Touch me to give you more
+ function start_touching(d, i) {
+ var flower = d3.select(this);
+ flower
+ .transition()
+ .delay(10)
+ .duration(1000)
+ .attr("d", handcraft_flower)
+ .style("stroke", "#ccc");
+ }
Conclusion
Figure 1: Detail of 9*19 Flowers poemYou can get very bizarre, the code does not need to work necessarely. In the case of my flowers, the final commit brings up a final working version of a visualization of the poem (See Figure 1).
I challenge your engineering skills and creativity to surprise me with a poem of yours.
- Nicola Greco,
Keep on rocking the decentralized web