<div dir="ltr">Dave,<div><br></div><div>Perhaps you can fill in some missing pieces for me.  Larry Roberts did indeed write RD, a set of TECO macros that implemented a mail user agent.  What I'm not clear about is where it fit in the chronology of mail software.  When Roberts wrote RD, the major parts of mail were working.  His program dealt a file that contained all of the mail that had accumulated in the inbox, or whatever corresponded to the inbox.  I'm not sure we had separate folders in those days.  In any case, mail was already being created and sent before he wrote RD.  So one of my questions is how much had been built and was working before he wrote RD, and my next question is why he had to write RD instead of using whatever was available before.</div><div><br></div><div>His version of RD had a serious performance problem.  He injected the entire file of messages into a TECO buffer and then had various commands for navigating within the buffer.  The format of messages included a count of the number of characters in the message, but the count differed from the number of characters the message occupied in the TECO buffer.  The discrepancy arose because the count in the header treated a new line as a single character, but in theTECO buffer each new line took two characters, one for carriage return and one for line feed.  (I may have this backwards, but it doesn't matter.  The key point is the count in the header differed from the actual number of characters in buffer.)</div><div><br></div><div>Roberts' macro for moving from one message to the next ignored the count in the header and laboriously scanned a character at a time until it got to the next message.</div><div><br></div><div>I was quite facile with TECO at the time.  I had previously built myself a set of macros for managing a set of macros.  A sort of loader macro that took a set of macros and stuffed them into their appropriate buffers.  This made it easy to develop and maintain a set of TECO macros.</div><div><br></div><div>To speed up his program, I changed his scanning code to move a line at a time and then adjust the count.  I suspect the speed up was on the order of twenty to forty times as fast.</div><div><br></div><div>Steve</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 6, 2019 at 11:54 AM Dave Crocker <<a href="mailto:dhc@dcrocker.net">dhc@dcrocker.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 7/6/2019 4:08 AM, Vint Cerf wrote:<br>
> many mourn the demise of TECO....<br>
<br>
<br>
Most folk probably don't know that the first Mail User Agent (MUA) which <br>
enabled manipulating individual emails, was written by Larry Roberts, <br>
while at ARPA, as a set of TECO macros.  (Steve can elaborate, including <br>
on his own role for that.)<br>
<br>
A reimplementation and enhancement effort produced John Vittal's MSG, <br>
which became widely popular.  It was also the first occurrence of <br>
forwarding and replying commands.<br>
<br>
<br>
d/<br>
-- <br>
Dave Crocker<br>
Brandenburg InternetWorking<br>
<a href="http://bbiw.net" rel="noreferrer" target="_blank">bbiw.net</a><br>
_______<br>
internet-history mailing list<br>
<a href="mailto:internet-history@postel.org" target="_blank">internet-history@postel.org</a><br>
<a href="http://mailman.postel.org/mailman/listinfo/internet-history" rel="noreferrer" target="_blank">http://mailman.postel.org/mailman/listinfo/internet-history</a><br>
Contact <a href="mailto:list-owner@postel.org" target="_blank">list-owner@postel.org</a> for assistance.<br>
</blockquote></div>