diff --git a/README.md b/README.md new file mode 100644 index 0000000..290113c --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# POST mortem + +This is a little utility to put together an [Exquisite Corpse][1] poem for the +[Taskmaster][2]-inspired _Amandatory 2023_. + +[1]: https://en.wikipedia.org/wiki/Exquisite_corpse +[2]: https://en.wikipedia.org/wiki/Taskmaster_(TV_series) + +## 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.