codework parenthetical insertions
If the dull substance of my flesh were thought,
Inju:r.io[t]us :d.ist[:r.es[cue]:s.e[x]d]ance :s.ho[t:g.u[n]n]uld not stop my :w.a[r]y;
For then :d.es[ire]pite of space I would be brought,
From limits far re:m.ot[her]e, where thou dost stay.
No :m.a[d]tter then although my foot did stand
Upon the farthest earth remov’d from thee;
For nimble thought :c.a[r]n jump both :s.e[x]a and land,
As soon as :t.hi[ef]nk the :p.la[ne]ce where he would be.
But, ah! thought :k.il[ler]ls me t:h.at[e] I am not thought,
To :l.ea[der]p large l:e.ng[aged]ths of miles when thou art gone,
But t:h.at[e] so much of earth and :w.a[r]ter wrought,
I must at:t.en[:s.e[x]]d, time’s lei:s.ur[gery]e :w.i[n]th my moan;
Receiving nought by elements so slow
But :h.ea[rt]vy tears, badges of either’s woe.
Jan 7, 2011, Shakespearean Sonnet transformed by “codework insertion” mappings. Generator: JanusNode.
I dig Mez Breeze. Seriously. If I was a poet from Australia and didn’t know how to code I’d probably want to be just like her. But since I can’t be her maybe I can write a program to be her instead. (huh… I gotta run that by my therapist…)
Anyways, I was reading some pretentious BS about “Net.Writing” and some info about Mez in particular to get a sense of what’s worthwhile in her technique. (I tried navigating her web page to read her poetry, but for some reason I kept getting forwarded to Russian spam sites. see, that’s what happens when you cleverly set up a separate domain name for every page – you gotta keep an eye on every domain!) Some of it seems to be simplistic IRC transformations “2″ for “to”, “c u” for “see you”, etc. The more interesting part was the insertions. Florian Cramer (who seems all right) quoted Mez’s line:
and talked about the multiplicity of readings that the parentheticals create (arthroscopic, nintendos, intentions, etc.) Well, that’s cool, but how to automate it?
First thing I did was look around the web to find some appropriate data – I came across a list of words that some psychologists had collected and ranked by various affective metrics. I sorted them by “arousal” (that’s a technical term – no lie!) and took the top 200. So the list of words looked like this:
Then I wrote a perl script to create a JanusNode mappings file that would replace an appropriate fragment with a parenthetical insertion:
so if it saw that your text had the fragment “org”, from “organization” perhaps, it would replace “org” with “org[asm]” to create “org[asm]anization”, see? Well, that was the theory at least; since JanusNode does repeated one-to-one replacements, it would do “org[asm]anization”, then see the “org” part again and do “org[asm][asm]anization” then see the “org” part again and do “org[asm][asm][asm]anization” etc. until it finally climaxed (ha!) at “org[asm][asm][asm][asm]anization” and gave up, presumably to smoke a cigarette or something. Well, that wouldn’t do. So I edited my perl script, to produce:
The period gets rid of the recursion, see? So the insertion is only done once. (I saved a joke about “insertions” just for you, eRoGK7.) Only this broke up the sentence in a way that made it hard to read the newly-created word that the parenthetical insertion made, so I added a colon at the beginning of the replacement:
it wasn’t TOO bad of a hack ’cause Mez herself uses colons and periods like that (well, at least she used to 10 years ago, I think these days she’s doing Twitter-based roleplaying or something.)
There’s still a bit of a recursion problem here, because JanusNode does replacements on the replacements, too. So if it sees
it may first insert “distressed” to create:
but then it sees the possibility of inserting “rescue”:
not to mention good ol’ “sex”:
Furthermore, JanusNode’s selection of rules is not deterministic, so the creation of these multiply-embedded insertions will vary each time you run it. I thought about getting around it by adding more periods or other punctuation, but I kinda like it this way! And hey, I notice that in “digital poetry” whenever you run across some technical limitation you rationalize it with jargon. It’s a poetics determined by the constraints of the medium, or something. (help me out here, you guys.)
A bit more problematic is the case in which your original text has a word that would be created by a parenthetical insertion. So if your text has the word “killer” in it, the insertion will nevertheless create:
which is kinda neat effect, but wasn’t really what I was going for. I thought about getting around this by transforming the problematic word (killer) into something that would not be replaced, like leet text, and then replacing it back after the insertions were done… but that was a little TOO hackish for me (and maybe not even possible with JanusNode), so I left it the way it is.
Anyway, there you have it! Not sure how useful this will be, but run your JanusNode text through this and all of a sudden you’re a “code-worker”! OK, the file is “codework – parentheticals” in the “for-Mappings” directory in the usual place. :s.e[x]e ya!