The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Lorinda Cherry
@ 2022-02-22  0:02 Brian Walden
  2022-03-01 21:51 ` Terry Jones
  0 siblings, 1 reply; 48+ messages in thread
From: Brian Walden @ 2022-02-22  0:02 UTC (permalink / raw)
  To: tuhs

I enjoy this dc(1) discussion.  I am a daily dc user, and since my fisrt
calculator was an HP-45 (circa 1973) RPN felt right. However I think
dc pre-dates ALL HP calculators, since there was one in the 1st Edition
written in assembly.

I extened my version of dc (way before gnu existed)
based on common buttons I used from HP calculators:

    CMD    WHAT
    #      comment, to new line
    ~      change sign of top of stack (CHS key)
    |      1/top of stack (1/x key)
    e      push 99 digits of e (2.718..) on the stack
    @      push 99 digits of pi on the stack (looks like a circle)
    r      reverse top of stack (x<>y key)

I had been fascinated with pi stemimg from the Star Trek epsiode Wolf
in the Fold where Spock uses it to usa all computing power

   "Computer, this is a Class A compulsory directive. Compute to
    the last digit the value of pi."

   "As we know, the value of pi is a transcendental figure without
    resolution. The computer banks will work on this problem to the
    exclusion of all else until we order it to stop."

As it was supposed to be "arbitrary precision" here was my tool.

So I wrote Machin formula in dc slowing increasing the scale and printing
the results. In the orginal dc, yes the whole part was arbitrary, but the
decimal part (scale) was limited to 99. Well that became a disappiontment.
(this program is lost to time)

So I decided to rewrite it but increasing pi as a whole numbers instead
of increasing scale (ex. 31415, 314159, 3141592, ... etc)

I still have that program which is simply this --

[sxln_1ll*dsllb*dszli2+dsi5li^*/+dsn4*lelzli239li^*/+dse-dlx!=Q]sQ
1[ddsb5/sn239/se1ddsisllQx4*pclb10*lPx]dsPx


if you run it you'll notice the last 1 to 2 digits are wrong due to precision.

The next problem became small memory. I still have thes saved output before
it crashed at 1024 digits. No idea what specs of the machine it was run
on anymore its really old --

3141592653589793238462643383279502884197169399375105820974944592307816\
4062862089986280348253421170679821480865132823066470938446095505822317\
2535940812848111745028410270193852110555964462294895493038196442881097\
5665933446128475648233786783165271201909145648566923460348610454326648\
2133936072602491412737245870066063155881748815209209628292540917153643\
6789259036001133053054882046652138414695194151160943305727036575959195\
3092186117381932611793105118548074462379962749567351885752724891227938\
1830119491298336733624406566430860213949463952247371907021798609437027\
7053921717629317675238467481846766940513200056812714526356082778577134\
2757789609173637178721468440901224953430146549585371050792279689258923\
5420199561121290219608640344181598136297747713099605187072113499999983\
7297804995105973173281609631859502445945534690830264252230825334468503\
5261931188171010003137838752886587533208381420617177669147303598253490\
4287554687311595628638823537875937519577818577805321712268066130019278\
76611195909216420198938095257201065485862972
out of space: salloc
all 8587356 rel 8587326 headmor 1
nbytes -28318
stk 71154 rd 125364 wt 125367 beg 125364 last 125367
83 11 0
30 IOT trap - core dumped


But I was much happier with that.

On a side note: programming dc is hard. There was no comment character.
And it's a pain to read, and it's a pain to debug.

When I discovered the Chudnovsky algorithm for pi, of course I implemented it
in dc --

[0ksslk3^16lkd12+sk*-lm*lhd1+sh3^/smlx_262537412640768000*sxll545140134+dsllm*lxlnk/ls+dls!=P]sP
7sn[6sk1ddshsxsm13591409dsllPx10005v426880*ls/K3-k1/pcln14+snlMx]dsMx

At 99 digits of scale it ran out in 7 rounds, but now with that limitation
removed and large memeories it just goes on and on.....

-Brian

PS: Thanks for the fast OpenBSD version of dc, Otto.

Otto Moerbeek wrote:
> On Thu, Feb 17, 2022 at 01:44:07PM -0800, Bakul Shah wrote:
>
> > On Feb 17, 2022, at 1:18 PM, Dave Horsfall <dave at horsfall.org> wrote:
> > >
> > > On Thu, 17 Feb 2022, Tom Ivar Helbekkmo via TUHS wrote:
> > >
> > >> Watching the prime number generator (from the Wikipedia page on dc)
> > >> running on the 11/23 is much more entertaining than doing it on the
> > >> modern workstation I'm typing this on:
> > >>
> > >> 2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x
> > >
> > > Wow...  About 10s on my old MacBook Pro, and I gave up on my ancient
> > > FreeBSD box.
> >
> > That may be because FreeBSD continues computing primes while the MacOS
> > dc gives up after a while!
> >
> > freebsd (ryzen 2700 3.2Ghz): # note: I interrupted dc after a while
> > $ command time dc <<< '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' > xxx
> > ^C       11.93 real        11.79 user         0.13 sys
> > $ wc xxx
> >    47161   47161  319109 xxx
> > $ size `which dc`
> >     text   data     bss      dec       hex   filename
> >   238159   2784   11072   252015   0x3d86f   /usr/bin/dc
> >
> > MacOS (m1 pro, prob. 2Ghz)
> > $ command time dc <<< '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' > xxx
> > time: command terminated abnormally
> >         1.00 real         0.98 user         0.01 sys
> > [2]    37135 segmentation fault  command time dc <<<  > xxx
> > $ wc xxx
> >     7342    7342   42626 xxx
> > $ size `which dc`
> > __TEXT      __DATA  __OBJC  others  dec     hex
> > 32768       16384   0       4295016448      4295065600      100018000
> >
>
> MacOS uses the GNU implementation which has a long standing issue with
> deep recursion. It even cannot handle the tail recursive calls used
> here and will run out of its stack.
>
>       -Otto

^ permalink raw reply	[flat|nested] 48+ messages in thread
* Re: [TUHS] Lorinda Cherry
@ 2022-02-18  3:18 Norman Wilson
  2022-02-18  9:10 ` Peter Jeremy via TUHS
  0 siblings, 1 reply; 48+ messages in thread
From: Norman Wilson @ 2022-02-18  3:18 UTC (permalink / raw)
  To: tuhs

Perhaps the best irrefutable source for Lorinda's contribution
to dc is that cited by https://en.wikipedia.org/wiki/Lorinda_Cherry?

It is, by the way, Doug's A Research UNIX Reader.  Those who
subscribe to this list and haven't read it ought to do so; it's
full of tidbits of history.

Norman Wilson
Toronto ON

^ permalink raw reply	[flat|nested] 48+ messages in thread
* [TUHS] Lorinda Cherry
@ 2022-02-15 22:31 Douglas McIlroy
  2022-02-15 23:32 ` Steve Nickolas
                   ` (3 more replies)
  0 siblings, 4 replies; 48+ messages in thread
From: Douglas McIlroy @ 2022-02-15 22:31 UTC (permalink / raw)
  To: TUHS main list

Lorinda Cherry, a long-time member of the original Unix Lab
died recently. Here is a slightly edited reminiscence that
I sent to the president of the National Center for Women and
Information Technology in 2018 when they honored her with
their Pioneer in Tech award.

As Lorinda Cherry's longtime colleague at Bell Labs, I was
very pleased to hear she has been chosen for the NCWIT Pioneer
Award. At the risk of telling you things you already know,
I offer some remarks about her career. I will mainly speak of
things I saw at first hand when our offices were two doors
apart, from the early '70s through 1994, when Lorinda left
Bell Labs in the AT&T/Lucent split. Most of the work I describe
broke new ground in computing; "pioneer" is an apt term.

Lorinda, like many women (including my own mother and my wife),
had to fight the system to be allowed to study math and science
in college. She was hired by Visual and Acoustics Research
at Bell Labs as a TA--the typical fate of women graduates,
while their male counterparts were hired as full members of
technical staff. It would take another decade for that unequal
treatment to be rectified. Even then, one year she received
a statement of benefits that explained what her wife would
receive upon her death. When Lorinda called HR to confirm that
they meant spouse, they said no, and demanded that the notice
be returned. (She declined.) It seemed that husbands would not
get equal treatment until AT&T lost a current court case. The
loss was a foregone conclusion; still AT&T preferred to pay
lawyers rather than widowers, and fought it to the bitter end.

Lorinda moved to my department in Computing Science when
the Unix operating system was in its infancy. Initially she
collaborated with Ken Knowlton on nascent graphics applications:
Beflix, a system for producing artistically pixillated films,
and an early program for rendering ball-and-stick molecular
models.

She then joined the (self-organized) Unix team, collaborating
on several applications with Bob Morris.

First came "dc", an unlimited-precision desk calculator,
which is still a Unix staple 45 years on. Building on dc,
she would later make "bc", which made unlimited precision
available in familiar programming-language notation and became
the interface of choice to dc.

Then came "form" and "fed", nominally a form-letter generator
and editor. In fact they were more of a personal memory
bank, a step towards Vannevar Bush's famous Memex concept--an
interesting try that didn't pay off at that scale. Memex had to
sleep two more decades before mutating into the Worldwide Web.

Lorinda had a hand in "typo", too, a Morris invention that
found gross spelling mistakes by statistical analysis. Sorting
the words of a document by the similarity of their trigrams
to those in the rest of the document tended to bring typos to
the front of the list. This worked remarkably well and gained
popularity as a spell-checker until a much less interesting
program backed by a big dictionary took over.

Taken together, these initial forays foretold a productive
computer science career centered around graphics, little
languages, and text processing.

By connecting a phototypesetter as an output device for Unix,
Joe Ossanna initiated a revolution in document preparation. The
new resource prompted a flurry of disparate looking documents
until Mike Lesk brought order to the chaos by creating a macro
package to produce a useful standard paper format.

Taking over from Lesk, Lorinda observed the difficulty of
typesetting the mathematics (which the printing industry counted
as "penalty copy") that occurred in many research papers,
and set out to simplify the task of rendering mathematical
formulas, Brian Kernighan soon joined her effort. The result
was "eqn", which built on the way people read formulas aloud
to make a quite intuitive language for describing display
formulas. Having pioneered a pattern that has been adopted
throughout the industry, eqn is still in use forty years later.

Lorinda also wrote an interpreter to render phototypesetter
copy on a cathode-ray terminal. This allowed one to see
typeset documents without the hassle of exposing and developing
film. Though everyone has similar technology at their fingertips
today, this was genuinely pioneering work at the time.

You are certainly aware of Writers Workbench, which gained
national publicity, including Lorinda's appearance on the Today
Show. It all began as a one-woman skunk-works project. Noticing
the very slow progress in natuaral-language processing, she
identified a useful subtask that could be carved out of the
larger problem: identifying parts of speech. Using a vocabulary
of function words (articles, pronouns, prepositions and
conjunctions) and rules of inflection, she was able to classify
parts of speech in running text with impressive accuracy.

When Rutgers professor William Vesterman proposed a
style-assessing program, with measures such as the frequencies
of adjectives, subordinate clauses, or compound sentences,
Lorinda was able to harness her "parts" program to implement
the idea in a couple of weeks. Subsequently Nina MacDonald,
with Lorinda's support, incorporated it into a larger suite
that checked and made suggestions about other stylistic issues
such as cliches, malapropisms, and redundancy.

Another aspect of text processing that Lorinda addressed was
topic identification. Terms (often word pairs) that occur with
abnormal frequency are likely to describe the topic at hand. She
used this idea to construct first drafts of indexes. One
in-house application was to the Unix manual, which up until
that time had only a table of contents, but no index. This
was a huge boon for a document so packed with detail.

In her final years at Bell Labs, Lorinda teamed up with AT&T
trouble-call centers to analyze the call transcripts that
attendants recorded on the fly--very sketchy prose, replete
with ad-hoc contractions and misspellings. The purpose was
to identify systemic problems that would not be obvious from
transcripts considered individually. When an unusual topic
appeared at the same time in multiple transcripts, those
transcripts were singled out for further study. The scheme
worked and led to early detection of system anomalies. In one
case, it led AT&T to suspend publication of a house organ that
rubbed customers the wrong way.

Lorinda was not cut from the same mold as most of her
colleagues. First she was a woman, which meant she faced
special obstacles. Then, while there were several pilots
among us, there was only one shower of dogs and only one car
racer--moreover one who became a regional exec of the Sports
Car Club of America. For years she organized and officiated
at races as well as participating.

Lorinda was always determined, but never pushy. The
determination shows in her success in text analysis, which
involves much sheer grit--there are no theoretical shortcuts
in this subject. She published little, but did a lot. I am
glad to see her honored.

Doug McIlroy

^ permalink raw reply	[flat|nested] 48+ messages in thread
* [TUHS] Lorinda Cherry
@ 2022-02-15 21:17 John P. Linderman
  2022-02-15 21:26 ` Dave Horsfall
  2022-02-15 21:33 ` Jeffrey Joshua Rollin
  0 siblings, 2 replies; 48+ messages in thread
From: John P. Linderman @ 2022-02-15 21:17 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

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

I got his from a friend today (15 February):

===========

I'm sorry to report that Lorinda passed away a few days ago.  I got a call
from her sister today.  Apparently the dog walker hadn't seen her for a few
days and called the police.  The police entered the house and found her
there.  Her sister says they are assuming either a heart attack or a stroke.

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

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2022-03-01 23:38 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-22  0:02 [TUHS] Lorinda Cherry Brian Walden
2022-03-01 21:51 ` Terry Jones
2022-03-01 23:36   ` [TUHS] Time for a subject change John P. Linderman
  -- strict thread matches above, loose matches on Subject: below --
2022-02-18  3:18 [TUHS] Lorinda Cherry Norman Wilson
2022-02-18  9:10 ` Peter Jeremy via TUHS
2022-02-15 22:31 Douglas McIlroy
2022-02-15 23:32 ` Steve Nickolas
2022-02-15 23:43   ` Jim Capp
2022-02-15 23:51     ` Larry McVoy
2022-02-16  0:54       ` Will Senn
2022-02-16  2:58         ` Steve Nickolas
2022-02-16  0:09 ` George Michaelson
2022-02-16  0:24   ` Dave Horsfall
2022-02-16  7:54     ` arnold
2022-02-16  8:13       ` markus schnalke
2022-02-16 14:54         ` Leah Neukirchen
2022-02-16 22:27           ` Dave Horsfall
2022-02-16 22:40             ` Andrew Diller
2022-02-17 10:14               ` Peter Jeremy via TUHS
2022-02-17 15:50                 ` Adam Thornton
2022-02-17 20:23                   ` Dave Horsfall
2022-02-17 10:24               ` Andy Kosela
2022-02-17 16:05                 ` Andrew Hume
2022-02-17 16:38                   ` Warner Losh
2022-02-16 22:42             ` Larry McVoy
2022-02-16 22:56               ` Clem Cole
2022-02-16 23:49                 ` Paul Winalski
2022-02-17 12:36             ` Stuart Remphrey
2022-02-17 19:59           ` Tom Ivar Helbekkmo via TUHS
2022-02-17 21:18             ` Dave Horsfall
2022-02-17 21:44               ` Bakul Shah
2022-02-18  8:33                 ` Otto Moerbeek
2022-02-22 10:39                   ` Ralph Corderoy
2022-02-22 15:53                     ` Otto Moerbeek
2022-02-20 17:29                 ` Derek Fawcus
2022-02-17 22:00               ` David Arnold
2022-02-18  9:58               ` Tom Ivar Helbekkmo via TUHS
2022-02-16 19:08   ` Diomidis Spinellis
2022-02-16 20:55     ` John P. Linderman
2022-02-16 21:17       ` Andrew Hume
2022-02-16 21:59       ` Marshall Conover
2022-02-17  5:51     ` arnold
2022-02-17 22:09     ` Will Senn
2022-02-16  0:35 ` Andrew Hume
2022-02-16  8:02 ` Thomas Paulsen
2022-02-15 21:17 John P. Linderman
2022-02-15 21:26 ` Dave Horsfall
2022-02-15 21:33 ` Jeffrey Joshua Rollin

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).