David A. Harding
Sunday, 19 Dec 2004
So in about two weeks I wil be giving a presentation on vi as part of a meeting dedicated to ``vi versus emacs''. Friday I started writing up the script from which I'll make my slides. I started the typical history of vi talking about ed, then em, then en->ex and then vi.
I decided I wanted to include a bit about the history of ed, of which I knew nothing. A google later and I had an article by Ritchie informing me that all that was good about ed came from some mysterious program called `QED' that Thompson really liked. In the course of reading and further research I learned all about how Thompson wrote the first NDFA regex engine (NDFA is still used today in perl, python, etc...), about why one of the fields in /etc/passwd is called `GECOS', about Butler Lampsons contributions to computing, about scripting QED, and a whole bunch of other geeky trivia.
Over the course of the weekend I've written a page-and-a-half of formated text on QED, drawn a QED family tree, and still haven't written A SINGLE WORD about ed. I think I can now probably write most of a history of ed, em, en->ex and vi from memory, which is good because I think the only way I'm gonna focus is `ifconfig eth1 down'.
Here is the graphical family tree of QED which relates to vi. Much of this is based on a usenet post I found with an ascii text tree. That one was confusing and at least a bit inacurate.