Up close with computer programmer Robert 'r0ml' Lefkowitz

Robert Lefkowitz
"There's a thing which in retrospect will be obvious - we need an Alcuin of York."

Robert Lefkowitz, who is nearly always referred to as 'r0ml', is an old skool hacker, programmer and thinker who switched from studying nuclear physics to computer programming in the 1970s.

He met up with our sister magazine Linux Format for a wide-ranging conversation.

Linux Format: Do you think computers and programming languages should be easier to understand?

Robert Lefkowitz: So Charlemagne was concerned, in 789, he has this capitulary called The Adminitio Generalis, in which he reasons that monks learn how to read, so that they can read the word of God, so that they can follow God's law more effectively. If that's the case, why wouldn't you want every boy to learn to read? In fact, in this capitulary he says we will establish schools to teach every boy to read, freeman and serf. That, as near as I know, is the first aspiration to universal literacy.

The other one is what the Scandinavians did a couple of hundred years later, if the emperor in those times puts out a capitulary, how is everyone in the empire going to follow it effectively - at least one person in every village has to know how to read it so that everybody will have roughly the same interpretation. So it's a way of creating cohesion for the empire.

But the difficulty was that the technology was so bad that it was very difficult to read and required a lot of effort and training. My personal favourite is one of the things Alcuin (of York) shortly after invents is spaces between words.

LXF: Why weren't we taught this in school!

RL: It's one of those things that everyone takes for granted, "Obviously you're going to have spaces between words." But especially in Latin, there are a lot of phrases and a lot of mistranslations because if you look at the sequence of letters, you could break it in any one of two places and get two different things - and which one is correct?

That's why they illuminated manuscripts because reading was so complicated. You needed pictorial hints so you knew what it was about.

LXF: They added images before spaces?

RL: And every scriptorium, since these things were hand-done, they each had their own hand, so there was no standard font. So, York comes down and he comes up with this standard font that's called the Carolingian minuscule to which all modern fonts trace their ancestry. He invents things like standard height ascenders, standard height descenders lengths, and then you add spaces between words and all of a sudden you have this ability to see the whole words as shapes. There's a whole number of innovations around making it possible for people to read that Alcuin kicked off.

The next fifty years or so is called the Carolingian renaissance. This mini renaissance happens before the big famous renaissance later. I argue we're at that cusp where we're starting to say. 'Oh, we should teach everybody how to code,' but it's so complicated and difficult, and there's a thing like spaces between words which in retrospect will be so obvious; that makes it so much easier that we haven't thought of yet - we need an Alcuin of York.

LXF: We're waiting for the spaces between words… it's not Python then?

RL: (laughs) Well, I gave this talk out of PyCon, in fact, where I said a big revolution is to make spaces significant. So the Python audience can certainly relate to the concept that maybe that's the thing. But it was more than just the spaces between words. So maybe Python is that thing, but it's one of those things that's difficult to know except in perhaps a 100 years later when we look back…