/postmortem

POST mortem poem collection for Amandatory 2023

Primary LanguageHTML

POST mortem

This is a little utility to put together an Exquisite Corpse poem for the Taskmaster-inspired Amandatory 2023.

The task

Post Mortem

Create an Exquisite Corpse poem. Begin a poem then mail your unfinished work to another person. Have that person add to the poem & mail to another person etc... Each recipient must add to the poem. YOUR POEM MUST BE 25 WORDS.

You will present your poem at AMANDATORY 2023.

Points are awarded for greatest distance traveled via post. A bonus point will be awarded for best poem.

You have until AMANDATORY 2023 (date redacted) to complete this task.

Your time starts now.

The plan

While "via post" is more often used in British English, it's still likely to be understood to mean "by mail" in American English. However, that's not the only thing it could mean. To software engineers, "via post" can also mean "using the HTTP POST verb".

Interpreting "post" as POST, and the verb "mail" to refer to electronic mail, it's reasonable to interpret emailing links to a web application as adhering to the letter of the task.

Thus this little app allows a group of people to collaboratively add to a poem, copying it and a URL to add to it for emailing to the next person.

The distance

Thanks to the magic of public cloud providers and SSH tunnels, I've set up a server for the app in Seattle, and SSH jump hosts in Sydney and Tokyo. A reverse proxy runs on the same machine as the proxy, but points at the app via an SSH tunnel routed through the two jump hosts. (See OpenSSH's ProxyJump configuration, or the -J command-line option.) If every user adding to the poem is connecting from the San Francisco Bay Area, the total distance the POST travels from browser to app is 29,132 km.

I squeeze further distance out of this setup by making the front-end need to send a POST for every word and every newline added to the poem.