I've been spending a lot of time thinking about how software can be a medium for art, expression, and poetry lately. In college studying computer science, creating software was always framed from a perspective of efficiency, generalizability, and scalability. We needed to find ways to make algorithms that could run fast enough, components that could easily compose, systems that would be sustainable in the long-term. We created systems that were good at what they did, but we didn't go beyond their actual ability to function to think about what they could be good at doing. The result is billion dollar companies and thousands of very valued startups that are built on marvelous engineering systems but have questionable secondary effects or actually don't help people do what they want to do (or sometimes even what the creators intended for them to do).
Maybe because of this, I never really got poetry growing up. I didn't understand its purpose. Sometimes it rhymed and sometimes it didn't. Sometimes they followed proper grammar and sometimes they didn't. Sometimes they invented new words and other times, they used the same words in new ways. As opposed to one of these engineering systems I was familiar with, which was designed to be provably "good," poems had no "proof" for their goodness; often, they were inherently illegible.
I became intrigued by poetry again at the end of last year. I started getting poetic exposure through more poetic and rhythmic prose, and I really loved how poems could capture so much specific and intense feeling in such a small amount of space. I worked through The Best American Poetry 2021 anthology and from some of those works, experienced the wonder of mystery for the first time. Mystery had always felt negative to me. I was uncomfortable with not knowing, with the ambiguity of meaning. I liked black-and-white things. I craved total understanding, relying on analyses of analyses of analyses to make my decisions large and small. Reading some of these poems, I experienced how uncertainty can be beautiful. I saw how questions without answers could mark a heart.
Along with reading more poetry and writing more poetry, I wanted to see if I could merge the composable, efficient systems of software with the enigmatic and playful and boundless verses of poetry.
In that vein, I've worked on a few software poetics that I want to share with y'all :)
8-byte: pacman poem
I worked on this with kelsey as a submission for the 8th issue of taper, a computational poetry magazine. The idea is a subversion of the classic pacman, where instead of eating food, the player eats words to make their own poem. The words come from a very limited word bank, but because they are curated to be multipurpose, the limited word set and constraints of movement on the grid provide a lot of fun playability. I'm really interested in how constraints can enable creativity, especially with writing (which Matthew has and is doing great work looking into).
A small version of it has been accepted (the limit is a 2kb HTML file), but I made a full version available on my website, where you have a history of all the games you've made and the ability to submit to a public gallery. It currently just goes into this coda doc, but I'm thinking of using this as an experiment to use coda as a database, which basically acts as a hosted version of baked data architecture, a concept of using a static file as your database for ease of use and modification.
https://spencerchang.me/pacman-poem
interactive twitter poems
One of the poems that really resonated from the 2021 Best American poetry anthology was "Love" by Alex Dimitrov. It turns out he has a separate Twitter account where he continually writes this poem, one line at a time (and a new one called loneliness).
I built the Twitter Pack for Coda recently (an integration that lets you live-sync data from Twitter into Coda, where you can take action on it), and I thought this was a great way to show how you can combine poetics with the composability of software. Bringing Twitter data into Coda allows me to leverage these general building blocks that Coda provides, which enables me to make a randomizer for lines of these poems (and color code which poem it's coming from).
https://coda.io/@spencer/twitter-poems
verses verses: transforming poem playground
This is an expansion of the telescopic text open-source library I worked on with Jacky. This is a poem gallery for the verses community and broader (an open submission form!) that shows off how you can make interactive, transforming poems with the library. It also includes a playground for creating your own from plain text (nested bullet points).
I would love to see what y'all create :) Give it a try and let me know what you think! It also produces live code that you can copy + paste into your website to enable it.
Some link gifts from this week that have particularly made an impact on me...
A letter from a dying mother to her daughters with the advice to "live a life worth living"
the concept of idea machines as a means of influence
and finally, one of my recent poems... first one i'm sharing publicly, so I'd love to hear thoughts :)
As always, I hope you are living life to the fullest and being honest to yourself,
Spencer
everything about this is so interesting! love the pacman poetry project! im a fan of poetry and im just excited to see that software and poetry could intersect
kitchen dancing is one of my fav activities...ty for sharing spencer!!🤍