3 ms·
I'm well aware of UniPress (didn't they start out selling Brian Reid's Scribe commercially?) and Michael Shamus' rather jailhouse-lawyer-ish behavior. But hear
by cpr 10y ago
I'm well aware of UniPress (didn't they start out selling Brian Reid's Scribe commercially?) and Michael Shamus' rather jailhouse-lawyer-ish behavior.
But hearing that GNU Emacs started from Gosmacs is just hard to believe. If you were there and say so, I'll have to believe. ;-) It was certainly nowhere near as extensible as GNU Emacs, at least in my years of experience with it.
- hga 10y agoI was so there that RMS and I were roommates when he started the GNU Project ^_^ (much early history omitted, we were in the same social circle...). This of course came a bit later, I started working for a UniPress subcontractor in December of 1984 on the MS-DOS port, and then a year later directly for UniPress. But I absolutely, positively guarantee you they shared a common code base, something I confirmed for myself towards the end of or after more than a year of becoming intimately familiar with the UniPress Gosling Emacs C lower level code base. And it doesn't take much effort with Google to find confirmation from RMS, e.g. here's a 2013 Slashdot AMA (https://features.slashdot.org/story/13/01/06/163248/richard-stallman-answers-your-questions https://features.slashdot.org/story/13/01/06/163248/richard-...): Favorite hack by vlm Give me your best hack.... RMS: I can't remember all the hacks that I was proud of, so I can't pick the best. But here's something I remember fondly. The last piece of Gosmacs code that I replaced was the serial terminal scrolling optimizer, a few pages of Gosling's code which was proceeded by a comment with a skull and crossbones, meaning that it was so hard to understand that it was poison. I had to replace it, but worried that the job would be hard. I found a simpler algorithm and got it to work in a few hours, producing code that was shorter, faster, clearer, and more extensible. Then I made it use the terminal commands to insert or delete multiple lines as a single operation, which made screen updating far more efficient. Note that he might be overstating the significance of this, Gosling started his Emacs in 1981 per Wikipedia at a time CMU's researchers were somehow happy with running their fixed line terminals at the 1,200 baud default (they were capable of more, this story told to me by Ted Anderson, who coincidentally was the author of SINE, which Craig Finseth's list http://org.ntnu.no/emacs/implementations.html http://org.ntnu.no/emacs/implementations.html says was actually SINE Is Not EINE and therefore "the first known doubly-recursive acronym"). In general if you were using a standard terminal of the era, especially with a modem, you were desperate for cleverness from your redisplay code, it was e.g. a couple of years before the Ann Arbor Ambassador came out, and maybe longer before its firmware was up to snuff, VT-100 like, and could run at a flat out 9600 baud with 60 lines of text thanks to a fast microprocessor. And that might be why the Gosling Emacs redisplay code didn't do those multi-line operations, maybe they weren't possible on earlier terminals, or didn't buy you enough. Michael Shamus? That wasn't the famous figure UniPress broke away from. By the time I showed up in late 1984/early 1985, their two big things were handling the distribution and support of a Unix for Apple computers (Lisa? Mcintosh? Can't remember), and having or having access to one of most every type of popular Unix system available, so they could port the other software they were distributing including Gosling Emacs, provide binaries, fix bugs and provide real support, etc.
- cpr 10y agoGreat history! Yes, sorry, Shamus was not associated with UniPress, but his own company Unilogic, started to commercialize Scribe (Reid's CMU PhD project). My only excuse is it's been a long time. Ah, happy memories of terminal multi-line operation optimization in Twenex Emacs. (We did a lot of that kind of hacking when I was at Columbia in the very late 70's.)