Martin Pool's blog

Coming soon

Bill Joy on writing vi

The Register quotes a Linux Mag interview with Bill Joy on the design constraints for writing vi:

What happened is that Ken Thompson came to Berkeley and brought this broken Pascal system, and we got this summer job to fix it. While we were fixing it, we got frustrated with the editor we were using which was named ed. ed is certainly frustrating.

We got this code from a guy named George Coulouris at University College in London* called em - Editor for Mortals - since only immortals could use ed to do anything. By the way, before that summer, we could only type in uppercase. That summer we got lowercase ROMs for our terminals. It was really exciting to finally use lowercase.

So we modified em and created en. I don't know if there was an eo or an ep but finally there was ex. [laughter] I remember en but I don't know how it got to ex. So I had a terminal at home and a 300 baud modem so the cursor could move around and I just stayed up all night for a few months and wrote vi.

Linux Mag then asked: "So you didn't really write vi in one weekend like everybody says?"

No. It took a long time. It was really hard to do because you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. It was just barely fast enough. A 1200 baud modem was an upgrade. 1200 baud now is pretty slow.

9600 baud is faster than you can read. 1200 baud is way slower. So the editor was optimized so that you could edit and feel productive when it was painting slower than you could think. Now that computers are so much faster than you can think, nobody understands this anymore.

The people doing Emacs were sitting in labs at MIT with what were essentially fibre-channel links to the host, in contemporary terms. They were working on a PDP-10, which was a huge machine by comparison, with infinitely fast screens.

So they could have funny commands with the screen shimmering and all that, and meanwhile, I'm sitting at home in sort of World War II surplus housing at Berkeley with a modem and a terminal that can just barely get the cursor off the bottom line.

It was a world that is now extinct. People don't know that vi was written for a world that doesn't exist anymore - unless you decide to get a satellite phone and use it to connect to the Net at 2400 baud, in which case you'll realize that the Net is not usable at 2400 baud. It used to be perfectly usable at 1200 baud. But these days you can't use the Web at 2400 baud because the ads are 24KB.

Even now latency from (say) Australia to the US is high enough that being able to type a long way ahead in the way that vi supports is quite worthwhile.

George Coulouris writes, about vi:

The system support person (I don't recall his name, but I have a vague recollection that he went to Bell Labs later. Bill Joy might be able to tell you his name) said something like: "That's very nice, but if we made it available to all of our users the overheads associated with running in raw mode (a process swap on each key depression) would swamp the cpu".

I was rather depressed by this reaction, thinking "I guess I have been unrealistic in developing an editor that is so expensive to run - it's ok in our small system, but it's no use in the big Unix environment at Berkeley".[...]

By the way, 'em' stands for 'editor for mortals' - I christened it that after Ken Thompson visited our lab at QMC while I was developing it and said something like: "yeah, I've seen editors like that, but I don't feel a need for them, I don't want to see the state of the file when I'm editing".

The View from Utah

Off GROKLAW's forum: mobucote talks about embarrasment that McBride is causing to Mormons:

When a fellow Mormon is mentioned in the media I usually feel excitement for the accomplishments of that person. However Darl McBride's behavior is hardly something to feel pride over. I feel his business ethics are questionable and embarrassing to his religious community. I hope no further reference in the media will be made to Darl McBride and his religion for the sake of all Mormons.

I think Mobucote (whose MT "Reply" link is broken) is a little oversensitive. "$company_name, a $location based $category company today announced" is absolutely standard cliched boilerplate for the start of a business news story. A fair fraction of the stories mention that IBM's headquarters are in Armonk NY, as if that has anything much to do with their global operations.

Aside from that - yes, Utah is a slightly unusual location for a software company (i.e. it's not California). No more strange than mentioning "Ottawa", or "Helsinki" or "Sydney". Yes, I realize Novell and WordPerfect are in Utah. Making the connection to them is one reason why it's interesting to mention the location.

Another reason is the presence of the Canopy Group in many Utah technology companies. Apparently they have a deeper involvement in this shambles than merely being a SCO shareholder. IBM's subpoena of Canopy may bring out more details.

Why does the Economist and other publications mention McBride's Mormon belief? Partly just human color for the story. Partly because if you publicly make some kind of commitment to a particular moral code, people are going to expect you to live up to it on little matters like honesty and fair dealing.

Musings on LCA Papers

I'm reading through the paper abstracts submitted to LCA. This is really hard: there are so many good papers and only a limited number of slots.

The breadth of the submissions makes me happy too. We have technical breadth (sound recording to databases) and depth (Linux in schools to kernel hackery). There are submissions from people on six continents, and in particular more interest from Asia than in previous years. LCA seems to be gaining quite a reputation.

Making decisions about which papers will work well implies some idea of what the focus of the conference ought to be. We probably have enough submissions to run an Australian Kernel Summit if we wanted, and I for one would go to every session. But I don't think that best advances our World Domination mission: we need topics that will be approachable and exciting for people relatively new to Linux, and even old farts can benefit from looking up from their keyboard to see what else is happening.

I'd like people to go home from LCA feeling excited about what's happening with Linux and free software and motivated to deepen their involvement. Perhaps they'll install some new bit of software they heard about; perhaps they'll try modifying their kernel; perhaps they'll install Linux at their work.

Archives 2008: Apr Feb 2007: Jul May Feb Jan 2006: Dec Nov Oct Sep Aug Jul Jun Jan 2005: Sep Aug Jul Jun May Apr Mar Feb Jan 2004: Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 2003: Dec Nov Oct Sep Aug Jul Jun May