2018 icon indicating copy to clipboard operation
2018 copied to clipboard

i've never picked a protected flower (concrete unicode poems)

Open everestpipkin opened this issue 5 years ago • 4 comments

screen shot 2018-12-03 at 8 17 08 pm

i've never picked a protected flower is a book of concrete unicode poems, assembled each run by a program written in node.js. this is one example of output.

the pdf; http://ifyoulived.org/never.pdf

the basic;

  • the poems included in this book use titles scraped forum posts, from users of wordreference.com. their usernames are in the back of the book.
  • the font is gnu unifont, and semantic grouping was based on conceptnet
  • a hacked version of jscii formed the base of the text field generation
  • some deterministic random functions borrowed from loren schmidt

the complicated;

  • this code for this book was written in a few parts.
  • the full dataset was scraped from the wordreference forums with a python script. the compiled source material is hundreds of thousands of post titles, as well as the username associated.
  • this data was then cleaned, removing phrases that did not meet certain standards (specific grammatical questions, or those that included slurs), as well as removing parts of phrases - things in brackets, etc. a fair amount of the work of this was mindfully cleaning this data to make it feel more lyrical.
  • then, using 'related words' in the concept net api, i moved through this textual database, pulling specific lines that matched these words. for instance, the word 'ocean', may return 'boat', 'sea', 'fish', 'shark', etc- so the resultant poem fits a theme.
  • then i pull the related words of one of these returned phrases, so the next poem may be about 'shark'. moving this way through the database, the poems slowly track and change.
  • after assembling a long list of poems (in a node.js program), it generates the final product, an html page. to generate this page, it copies an html template into a new file with the poems as a variable, which has the text-field generator built in.
  • this text field generator (the unicode patterns that the poems are embedded in) works like this; it generates small canvases of pattern, then converts them to ascii planes. the unicode is selected randomly from 17,000 characters of the unicode set.
  • then, it embeds each line of the poem inside the pattern. monospace all-unicode fonts were important in this, so the patterns do not get terribly off register.
  • these completed text fields are attached to the dom element as a div, with a page-break after each one.
  • the pdf is saved off from an html page from the print dialog.
  • i ended up running the program twice, once with the poem embedding turned on and once with it turned off, and auto-merging the two pdfs with automator because my browser couldn't render 400 pages at once

the whole project file/code is here (sorry, under-commented but, viable. just add your own data set!)

and, again, here is the pdf! http://ifyoulived.org/never.pdf

thank you! -everest pipkin

everestpipkin avatar Dec 04 '18 02:12 everestpipkin

everest this is just an absolute joy

emmawinston avatar Dec 04 '18 12:12 emmawinston

These are excellent.

danielsinderson avatar Dec 13 '18 00:12 danielsinderson

I love this outcome. I think this is a work of beauty and exactly what I was looking for when searching for inspiration for art. :)

B-Lemke avatar Dec 19 '18 02:12 B-Lemke

this is great

rchrdlln avatar Jan 25 '19 04:01 rchrdlln