Wednesday, April 23

I recently added the following keybinding to my .vimrc:

map <F5> :wall<CR>
imap <F5> <ESC>:wall<CR>

Which means that hitting the F5 key saves everything currently open in the editor. I don’t think there are any real semantics here. I chose F5 by analogy to F5 in QBasic, which would run the program from scratch or continue it from the last breakpoint, depending. Something about the core of this idea persisted into the browser era, where it’s become a synonym for “reload”, but it’s the mapping to QBasic that really tugs at my heartstrings.

I fired up an actual copy of QBASIC.EXE just now inside of dosbox(1) to check my assertions about UI here, and to see if, in its incarnation as MS-DOS Editor, it could open this file.

Sure enough it can, and I find myself in one of the first pieces of software that ever got deep inside my head. Users of a certain age and inclination must surely be able to conjure this in their minds' eyes: The background is blue - a blue you associate instinctively with Microsoft. Text and a collection of quasi-graphical, “high ASCII” interface elements are off-white. The cursor blinks rapidly. There’s a little collection of menu items across the top of the screen, activated by hitting ALT. Shift lets you highlight text. There are borders around the screen, and primitive scrollbars, almost unreadable as such in these latter days.

It’s striking how this environment feels at once thoroughly primitive and surprisingly modern. On the one hand, it lacks such fripperies as generalized syntax highlighting, word wrap, or an “undo”. It can cut, copy, & paste (this is where I formed the muscle memory for shift+insert as “paste”), but stands a fair chance of destroying vast swaths of work if you don’t save (ALT F S) reflexively.

On the other hand, it’s easy enough to navigate. It’s not an alienating experience the way software of its vintage so often can be. Whoever wrote this code took some real care to file off a lot of the sharp edges and build a welcoming little space.

It makes sense when you think about this editor in the context of QBasic, which was always a good deal better than it had to be, or at least a good
deal better than you’d expect from the modern recollection of DOS as a kind of crippled, brutalist end-user nightmare. QBasic, beneath the surface aesthetics, was a really humane and generous piece of work.

Tuesday, April 15

From another time and a different season, Rexroth, "Blood on a Dead World":

A blowing night in late fall,
The moon rises with a nick
In it. All day Mary has
Been talking about the eclipse.
Every once in a while I
Go out and report on the
Progress of the earth's shadow.
When it is passing the half,
Marthe and Mary come out
And we stand on the corner
In the first wisps of chilling
Fog and watch the light go out.
Streamers of fog reach the moon,
But never quite cover it.
We have explained with an orange,
A grapefruit, and a lamp, not
That we expect a four
Year old child to understand –
Just as a sort of ritual
Duty. But we are surprised.
“The earth's shadow is like blood,”
She says. I tell her the Indians
Called an eclipse blood on the moon.
“Is it all the blood on the earth
Makes the shadow that color?”
She asks. I do not answer.

Thursday, April 10

I rode in to work today for the first time in months, along the foothills down 36 with trucks full of debris and construction materials rattling past, out onto the plains along Nelson Road. Everything has that sort of springtime muzziness about it, the ragged-edgedness of early grass through late-winter grime, the smell of thawed-out earth, a haziness in the air, a certain texture to the wind.

The edges of the state highways and county roads are littered with wintertime gravel and gouged in places from heavy equipment. In fact the scars and disruptions from September’s floodwater can be read all over the landscape, if you’ve got the vocabulary. I think a lot of the people on these roads as the tourist/cyclist/daytripper season starts don’t have the vocabulary.

So it’s late on a Thursday night in April. I’ve been rolling in and out of a heavy sleep for hours now, thinking/dreaming about internet security, Science Fantasy, the sensation of typing, family, code, weather, religion, desperation, dirt.

I’m physically exhausted, in that way that only accumulates across weeks or months. I’ve been working too much and accomplishing too little, going out too many nights and not making it back to the town where I live for days on end, operating on an excess of coffee and irregular restaurant food and torrents of beer. I’m badly dressed because the laundry got ahead of me. As usual, the warm-season transients moving back into Boulder sometimes take me for one of their own.

The other day this guy, a put-together enough looking guy with a good backpack and clean clothes and an expression I mistook at first for sanity, asked me if I was Gabriel. I was rounding the corner into the bus station down on Walnut, and I’d nodded at him sitting on the bench with his pack, and when he asked me this I thought he meant was I somebody he’d met around here. When I said no he told me he’d seen Gabriel in Wahoo, coming out of the wall of the sky in a Polaris-class space ship, or something to that effect, and I realized he meant something a lot more quasi-Biblical in nature. I just kept going towards my bus. As much outright madness as I have encountered in my life, I maybe have less idea what to say when it crops up than I ever have.

The internet broke earlier this week. An important, widely used encryption library turned out to have a bug which leaks memory on the target machine to an attacker.

Every time this kind of thing happens, you get a set of people saying, in essence, “hey, the math works, this is just a software problem”, which has long struck me as being both true and worse-than-useless. I have a real hard time not reading it as “hey, the math works, so it doesn’t matter to me that people can’t trust or even understand the use of encryption”.

It’s not that I don’t grok the distinction between abstract concepts and concrete implementations. If you can’t draw those lines real clear, you aren’t fit to write much code at all, even the kind of glorified clerical apparatus I’m responsible for in my working life. It’s more that, well, encryption is completely fucked for actual human use, and this isn’t some kind of incidental. It’s the whole problem. We haven’t yet figured out how to build secure systems, most of our infrastructure is compromised by various malefactors, privacy is a dead letter, and surveillance is now close to ubiquitous anywhere this side of the industrial revolution. Actually-existing-encryption as a remedy for this situation feels almost hopeless.

I’m coming around to thinking that this has a lot to do with the nature of the underlying thing. The implementations aren’t just broken and confusing because programmers are fallible and software is hard (though those things are true). They’re also broken and confusing because, as much as perfect knowledge of the world is impossible and everything is shot through with secrecy, information will out. Technologies deliberately situated in the domain of entropy and set against the grain of all those leaking bits - well, maybe you’re just going to have a bad time.