The Summer of Protocols, which started in May, is close to ending its run. We spent the last week of July at a retreat just outside Seattle, mainly partaking in meet-and-greet exercises and collaboration sessions, as well as a focus on an ur-product that encapsulates the entire program, and the impact we want it to have. All in all it was a pretty professional and collegial atmosphere, easily the highest concentration of super intelligent, accomplished, and self-actualized people I had interacted with in a while. Plus, the fact that the site of the retreat was on a lake, deep inside a state park, in a far corner of a bedroom community—where the bar closed at 10pm—meant there were scarce opportunities to get too rowdy. I myself was up at six every morning treading lake water—not so much a brag as the product of not quite having adjusted to the time zone change. There was always at least one other researcher—usually Rafa (coming from Berlin)—in the same situation.
I think the clearest take-home I got from my experience at the retreat was that nobody understood what the heck I’m working on. I was hoping to have a fully-assembled prototype in time for the retreat, and that way I could just show people instead of trying to hand-wave about it, but I had only just dreamt up the final design a couple weeks earlier—that, and an all-too-welcome name change. I did, and continue have some good conversations with affiliate researcher Shuya Gong about it, and a Zoom call upon my return with another researcher, Olivia Steiert, helped me frame up the fact that my “protocol artifact”, as we’re calling them, has not one or two, but five distinct constituencies. Each has different (and not always overlapping) interests, goals, skills, and values. Ironically, the thing that would help me manage the messaging to all these groups at once is the very thing I’m making.
Starting the week of the 7th, then—I had some other stuff to handle in the interim—I started writing what would turn out to be a script for a video essay. I spent the following (last) week shooting (which only took a few hours, despite having to re-shoot due to technical issues), collecting B-roll content (an extraordinary effort), and editing (there is nothing “quick” about video editing), and that brings us pretty much up to now:
This half-hour video is the result of the last two weeks’ work. It is arguably 25 minutes too long, but I didn’t have time to make a shorter one.
I am much more satisfied with how this turned out than previous attempts to describe my project. First off, the name: Intertwingler
. I like it. Cheeky yet entirely appropriate on a number of levels. The old name, RDF::SAK
—for Resource Description Framework Swiss Army Knife—just told you what it was. Intertwingler
—provided you’re familiar with historical hypertext jargon—tells you what it does.
And if you aren’t familiar, the video will tell you within the first fifteen seconds.
This distinction is important. My earlier motivation and rationale essay also anticipated multiple constituencies, but I organized it in terms of general outcomes rather than specific ones. By contrast, I spend 23 minutes of this video talking about concrete objectives I was trying to achieve but couldn’t, because Intertwingler
doesn’t exist yet. The decision on the format was also important, as the video is brimming with content that would transcribe poorly to text. A half-hour video is likewise less of a time investment (both to produce and to consume) than a 5,000-word essay, and it would probably take me twice that many words to do what would ultimately be an inferior job of getting the point across.
I use
org-mode
and write the script as bullet points. I find it easier to read back that way. As for reading, I categorically do not have time to memorize and perform a half-hour monologue, and I have no interest in cutting up a huge number of takes. As such I will always be reading these kinds of videos, and going as long as I can before cuts. One investment I am seriously considering is some kind of teleprompter, as well as a camera with a longer focal length. While my laptop is equipped with an HD camera, the field of vision is so wide that my green screen—which is large—doesn’t cover the frame. I have to sit super close to my desk with the green screen just a few inches behind me. This isn’t ideal because even with two soft boxes the light is so harsh that the green reflects off my (rapidly graying) hair. Being able to put a little more space between me and the green screen would be ideal, but that would take a better camera.You can buy relatively inexpensive teleprompter setups that commandeers an iPad or even a phone. I don’t even need that; just a one-way mirror in a box so I can see through to one of my many monitors. In fact, I may just build one.
I was underwhelmed with the performance of the chroma key, but I decided I wasn’t going to sweat it too hard. A better camera would mean I could put more space between me and the backdrop, plus tweak the lighting. You can see the green screen in a few places where I do a dissolve, and as a matter of technique I’m not sure what to do about that. My only idea so far is to do the chroma key on the raw source video and save it out with an alpha channel (huge!), and then do my edits on that.
One other footnote, as I anticipate many of you are wondering: that is an illustration of off-brand Rice Krispies flying through space that I cut off a cereal box and scanned one time when I was visiting my dad’s house, because it was too mesmerizingly bizarre not to. I started using it as a Zoom background a few months ago on a lark and it is rapidly becoming part of my, uh, brand.
The plan is to triangulate this video back to a new text that will ultimately be my essay, one half of my Summer of Protocols deliverables. This video will be its companion. A dichotomy I’ve been thinking about a lot appeared in a recent talk by Rory Sutherland, in which he wonders aloud why it is in organizational culture that we require people to win an argument before we let them have the resources they need to solve a problem. Such institutional dynamics, he suggests, are bound to select for more legible endeavours, because they are easier to argue.
I should note here that I am grateful to the Ethereum Foundation for granting me the space to solve a problem without having to win any arguments—notwithstanding the argument I won to get the appointment at the outset.
I am nevertheless concerned about legibility, because it’ll be lamentable if I put all this effort into making a thing that nobody ends up using. It’s already much too late for any of the affiliate researchers, for instance, to use Intertwingler
on their projects—for that I really should have had a serviceable alpha release out by the end of June. (Recall I didn't finalize the design until mid-July.) Even if I finish it in time for the end of August—which I should—I wouldn’t trust it yet to be sufficiently load-bearing to run in production for properties other than my own, for which I can guarantee special babysitting treatment. So Intertwingler
is shaping up to be ready to ship just in time to not be of use to anybody else in the program—at least, for the purpose of the program itself.
My original plan was to bang off the refactor of what was then still called RDF::SAK
, and then spend the rest of the summer doing advocacy for what would be a serviceable product. I definitely underestimated the overhead of simply participating in the program, which in retrospect I would place at about 25% of the total available hours. I likewise must have missed a memo, as I was unaware until quite far into the project that a working draft of the essay component was expected by week 9, which is why my motivation and rationale document, which I was writing for the purpose of organizing my thoughts on the matter, was ultimately conscripted into that role.
Venkat suggested I reorganize the essay deliverable around a section therein called It’s the URLs, Stupid, and I think I just might.
Writing Intertwingler
has been kind of like writing a poem—and I mean this in a very specific way. Not the pompous sense you sometimes see online, the exact guys you would expect calling themselves “code poets” and such, but in a much more mechanical way: the footprint of a poem, in terms of the raw number of words, is minuscule, but it is of utmost importance what each of those words says. Another way of saying this is the task of physically writing the artifact is dwarfed by that of determining what to write. Such has been the experience of writing Intertwingler
—there’s almost nothing to it, but the part of it that isn’t nothing has turned out to be extraordinarily elusive to articulate.
Indeed, the code repository is littered with false starts. I anticipate being able to cut half of the code out, once I’ve decided on the half I intend to keep. I spent weeks agonizing over the names of different concepts, only to ultimately abandon them sometime around week 10. I also question the wisdom of treating this project as a refactor rather than starting fresh, especially since I ended up renaming it. After all, I started RDF::SAK
back in May of 2018. It only became Intertwingler
about a month ago. I’ve been using it this entire time to manage a bunch of websites, so have been keeping an eye toward preserving its existing functionality. Imagine having to sort a box full of knickknacks without emptying it out first—that’s how it’s felt to overhaul this thing.
I’ve roughed in the skeleton for the design I’m ultimately shipping, and going to spend the next week doing nothing but work on it. We’re kind of at the point where two or three solid coding binges will push it into the zone where other people can use it. See you on August 31.
The Nature of Software still lives
I utterly failed to broadcast the fact that I had shipped chapter 7 of The Nature of Software: Local Symmetries several weeks ago. Subscribers would have seen it, naturally, but I didn’t announce it with the usual fanfare. I have managed to set some time aside for writing it—I’ve made a sizable dent in chapter 8, and finishing it is the first thing on my list once Summer of Protocols concludes—but I chalk the relative lack of hype up to a general feeling of discombobulation with respect to my social media presence. It now takes four times as long to post announcements and isn’t clear that they’re even landing anywhere. Yes there is of course this newsletter, which represents probably the single most concentrated following I have at the moment, but newsletters take considerably more effort than just firing off a tweet. I’m pretty sure I have at least a couple dead drafts in here from the last couple months that I didn’t send for lack of a handful of contiguous hours to polish them up.
What is on the horizon for The Nature of Software, as I mention in the video, is a complete subsumption into the Intertwingler
engine. Or rather, I should say, it’s already in there, but it’s static, and there are some things I want to do to it—like enable subscribers to annotate the chapters—that require a live engine running. So best I concentrate on getting said engine working.
Back to it then; see you soon.
I dug this extremely.
How might this relate to the Wolfram Alpha project? Or does it?