The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Dan Cross <crossd@gmail.com>
To: Aharon Robbins <arnold@skeeve.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>,
	Doug McIlroy <doug@cs.dartmouth.edu>
Subject: Re: [TUHS] screen editors
Date: Tue, 7 Jan 2020 13:32:29 -0500	[thread overview]
Message-ID: <CAEoi9W4N86uUuJapQYBB=7s8Gc5=Thg9XMx=rWk5gAf16WZ=kg@mail.gmail.com> (raw)
In-Reply-To: <202001071630.007GUrBj030452@freefriends.org>

[-- Attachment #1: Type: text/plain, Size: 3159 bytes --]

On Tue, Jan 7, 2020 at 11:31 AM <arnold@skeeve.com> wrote:

> Larry McVoy <lm@mcvoy.com> wrote:
>
> > I'm a vi guy to this day.  Love it.
>
> In the summer of '82 I did some contract programming at Southern Bell
> on a PDP-11 running USG Unix 4.0.  It had a screen editor called 'se'
> that I only ever saw there, written somewhere in the Bell System and
> squeezed to run on an -11.  Anyone know anything about it?
>
> Unrelated, Georgia Tech had the 'se' screen editor as part of the
> Software Tools Subsystem, based on the 'ed' in the Software Tools book.
> This was later ported to Unix. I modified that code to use curses/termlib
> and posted it to USENET. It's been updated and is available from
> https://github.com/se-editor/se and http://se-editor.org is the home
> page. (Thomas Cort IIRC did that work.)
>
> What's funny is that in doing the work to get 'se' running on Georgia
> Tech's Vax, I had to learn vi.  By the time I was done, vi had become
> my main editor and had burned itself into my finger's ROMs.
>

Ah, this reminds me of something. I assume you've read, "A Software Tools
Sampler"?

A few months ago, I started looking into screen update algorithms for a
(frivolous) retro-computing time sink, er, I mean project.

Naturally, Gosling's redisplay algorithm figured prominently, as it's
famous and well-known. I looked at the Unix emacs code and it's not that
hard to puzzle through, actually, despite the reputation and the (in)famous
skull and crossbones comment. However, Gosling's code assumes that update
commands all have uniform cost (cost here being proportional to the
command's length) which, on real terminals, just isn't true. Meyers and
Miller came up with several algorithms that take into account editing
command cost, and produce potentially far-better solutions than Gosling's
code, though limited by the inability at the time to quickly build suffix
trees (this was about a decade before Ukkonen's algorithm); it's
interesting that none of these algorithms take into account text
attributes, which on most serial terminals are modal. Anyway, at least one
of these algorithms was implemented in a modified version of `se`, as
described in "A Software Tools Sampler." I guess Webb thought that was
easier to work with than an existing editor? Perhaps these "se"s share a
lineage?

What's interesting to me is that redisplay algorithms were clearly an area
of active research at one time, but  interest seemed to dry up almost over
night. One must presume that this evaporation of research activity had to
do with the en mass migration to graphical workstations where the problems
are different, and possibly with curses being "good enough" in e.g. an
xterm. However, one can see some of the fruits of Miller's research in his
later work in genomics.

        - Dan C.

A few random references:
Gosling, James, "A Redisplay Algorithm."
https://dl.acm.org/doi/10.1145/872730.806463
Meyers, Eugene and Webb Miller, "A Simple Row Replacement Algorithm."
https://dl.acm.org/doi/10.5555/52187.52188
Meyers, Eugene and Webb Miller, "Row Replacement Algorithm for Screen
Editors." https://dl.acm.org/doi/10.1145/59287.59290

[-- Attachment #2: Type: text/html, Size: 4333 bytes --]

  parent reply	other threads:[~2020-01-07 18:33 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-07  2:31 Doug McIlroy
2020-01-07  2:37 ` Brantley Coile
2020-01-07  2:38 ` Larry McVoy
2020-01-07 16:30   ` arnold
2020-01-07 16:38     ` Richard Salz
2020-01-07 18:32     ` Dan Cross [this message]
2020-01-07 19:14     ` Thomas Paulsen
2020-01-09  5:01       ` Grant Taylor via TUHS
2020-01-10  8:16         ` ricercar
2020-01-08  0:10     ` Jon Steinhart
2020-01-17 22:06       ` Dave Horsfall
2020-01-08 18:30     ` Mary Ann Horton
2020-01-08 21:41       ` Thomas Paulsen
2020-01-09  8:30       ` arnold
2020-01-07  6:19 ` Dave Horsfall
2020-01-07  8:24   ` Thomas Paulsen
2020-01-07 20:44     ` Dave Horsfall
2020-01-08 15:29   ` Steve Mynott
2020-01-08 23:31     ` Dave Horsfall
2020-01-07  9:43 ` ullbeking
2020-01-07 14:53   ` Dan Cross
2020-01-07 19:35   ` Rodrigo G. López
2020-01-08  5:13     ` Mark van Atten
2020-01-07 15:03 ` Clem Cole
2020-01-08 21:43   ` [TUHS] screen editors (FRED) Greg A. Woods
2020-01-09  0:04     ` Dave Horsfall
2020-01-07 15:50 ` [TUHS] screen editors Thomas Paulsen
2020-01-07 20:45   ` Chet Ramey
2020-01-07 21:20     ` Derek Fawcus
2020-01-07 19:57 Doug McIlroy
2020-01-07 20:17 ` Brantley Coile
2020-01-07 20:47 ` Bakul Shah
2020-01-08  7:39 Thomas Paulsen
2020-01-08 15:58 ` Steve Nickolas
2020-01-08 23:41   ` Dave Horsfall
2020-01-09  1:43     ` Nemo Nusquam
2020-01-08 21:49 ` Dave Horsfall
2020-01-08 22:01   ` Clem Cole
2020-01-17 23:38     ` Dave Horsfall
2020-01-18  0:07       ` Ryan Casalino
2020-01-18 23:02       ` greg travis
2020-01-10  8:13   ` markus schnalke
2020-01-10  8:17     ` U'll Be King of the Stars
2020-01-11 19:58       ` markus schnalke
2020-01-11 20:54         ` Derek Fawcus
2020-01-11 21:27         ` Henry Bent
2020-02-04  8:40         ` Sijmen J. Mulder
2020-01-10 15:31     ` Nemo Nusquam
2020-01-10 16:04       ` Clem Cole
2020-01-10 17:10       ` Dan Cross
2020-01-10 17:18         ` Steve Nickolas
2020-01-18  1:55           ` Michael Parson
2020-01-10 15:58     ` Theodore Y. Ts'o
2020-01-08  9:46 Rudi Blom
2020-01-08 14:15 ` Chet Ramey
2020-01-08 15:15   ` Steffen Nurpmeso
2020-01-08 15:42     ` Steve Mynott
     [not found]     ` <68b3d6df-94f6-625d-39bf-6149b4c177c9@andrewnesbit.org>
2020-01-08 20:56       ` Steffen Nurpmeso
2020-01-08 23:21   ` Dave Horsfall
2020-01-09  0:08     ` Warner Losh
2020-01-09  1:28       ` Larry McVoy
2020-01-09  1:40         ` Bakul Shah
2020-01-09  2:04           ` Clem Cole
2020-01-09  2:07             ` Larry McVoy
2020-01-09  2:12               ` Clem Cole
2020-01-09  2:59                 ` Bakul Shah
2020-01-09  3:08                   ` Larry McVoy
2020-01-09  3:43                     ` Bakul Shah
2020-01-09  3:27                 ` Mary Ann Horton
2020-01-09  3:34                   ` Larry McVoy
2020-01-09  3:49                   ` Bakul Shah
2020-01-09  3:55                     ` Mary Ann Horton
2020-01-09  5:27                       ` Bakul Shah
2020-01-09  4:23                 ` Jon Steinhart
2020-01-09 15:54                   ` Clem Cole
2020-01-09 17:21                     ` Jon Steinhart
2020-01-09 17:30                       ` Warner Losh
2020-01-09 17:56                       ` Bakul Shah
2020-01-18  2:11                         ` Michael Parson
2020-01-09 18:53                       ` Larry McVoy
2020-01-09 19:01                         ` Jon Steinhart
2020-01-09 19:02                     ` Steffen Nurpmeso
2020-01-09 19:19                       ` Steffen Nurpmeso
2020-01-09 20:20                     ` Mary Ann Horton
2020-01-18  2:06                   ` Michael Parson
2020-01-18  3:13                     ` Clem Cole
2020-01-18  3:44                       ` Kurt H Maier
2020-01-18 15:37                       ` Larry McVoy
2020-01-18 22:11                         ` markus schnalke
2020-01-09  2:14         ` Greg 'groggy' Lehey
2020-01-09  2:48           ` Chet Ramey
2020-01-09  9:05       ` Thomas Paulsen
2020-01-08 15:11 ` Nemo Nusquam
2020-01-08 15:37   ` Henry Bent
2020-01-18 14:22   ` Michael Parson
2020-01-09 21:46 Norman Wilson
2020-01-09 22:10 ` Brantley Coile
     [not found] <20200120155946.169b39e0.ref@sagittariusa.cnb.csic.es>
2020-01-20 14:59 ` [TUHS] Screen editors Jose R. Valverde via TUHS
2020-01-20 16:07   ` Toby Thain
2020-01-20 16:20     ` Larry McVoy
2020-01-31 18:21       ` Jose R. Valverde via TUHS
2020-01-29 22:24     ` Dave Horsfall
2020-01-29 22:33       ` Larry McVoy
2020-02-07 23:05         ` Dave Horsfall
2020-02-07 23:54           ` Richard Salz
2020-02-08  3:11             ` Dave Horsfall
2020-02-08  3:38               ` Ronald Natalie
2020-02-08  0:05           ` Bakul Shah
2020-01-29 23:00       ` Thomas Paulsen
2020-01-26 18:28   ` arnold
2020-01-26 18:33     ` Adam Thornton
2020-01-26 18:36       ` arnold
2020-01-26 18:40       ` arnold
2020-01-26 19:11         ` Adam Thornton
2020-01-26 19:40     ` Jon Forrest
2020-01-26 20:08     ` Chet Ramey
2020-01-26 20:32 Paul Ruizendaal
2020-01-26 23:14 ` Thomas Paulsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEoi9W4N86uUuJapQYBB=7s8Gc5=Thg9XMx=rWk5gAf16WZ=kg@mail.gmail.com' \
    --to=crossd@gmail.com \
    --cc=arnold@skeeve.com \
    --cc=doug@cs.dartmouth.edu \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).