Lorinda Cherry, author of dc, bc, eqn has died
ncwit.org
ncwit.org
Lorinda, thank you for taking such extensive efforts to encourage my passion and interest in obscure operating systems. I have not lost my drive to explore this area of computing. My only wish is that I had sent you more than one of the coffee cakes from Morton, IL that you loved and said made us even. Hopefully, wherever you are now, you can have as much coffee cake as possible. Thank you again, truly.
things sure were different in the 90s.
Nowadays kids can befriend celebs on Twitter. It's easier, not harder.
It smells like a natural progression from the “old” internet of newsgroups and email.
Is friending a celebrity on Twitter the same as getting an email or phone call from Ken Thompson on how to fix your old Bell hardware just because Lorinda Cherry put him up to it? No, of course not. But that connection could happen over Twitter.
While I'm mostly joking about that last part, Lorinda did always mention that my childishness was expressed in curiosity rather than blatant immaturity. She said that was the key to being able to exist in these professional spaces without drawing undue attention to myself. It also helped that I steeled myself by participating in Usenet, where often times it seemed people were competing to be the most toxic person in the collective.
I have a hunch you’d enjoy it :)
You can't imagine what scarcity of nerds there was back then. These days, every city has hundreds or thousands of programmers. But in the 90s -- for any area of computer interest -- there were only a few hundred of you around the world. It was wonderful to meet someone with the same interests.
Being interested in programming/hardware/security AUTOMATICALLY made you a member of a small club. Most of the other members were glad to help you. And there wasn't a surplus of people all trying to stand out and be noticed on social media. (In fact, because you were into computers for the love of them, you probably weren't even thinking along the lines of "I must get noticed by $celeb so I can ask them for a job". The odious phrase "personal brand" had not been coined yet, and the concept was foreign to most in our computer nerd world.)
It lasted until around 2008 or 2010, I reckon -- about the point at which "go into computers, it has good money", the success of YC, and the rapid growth of FAANGs really made nerds ubiquitous. Then Marvel/Disney turned our niche interests into the mainstream, and we became culturally adrift. We were in sitcoms (Silicon Valley, even Big Bang Theory to a great extent) and fully mainstreamed. At that point, you could ask someone for something but you were just one of an ocean of unremarkable others.
That's how things were different in the 90s and (as a white English-speaking het guy who had Internet access) gosh I miss those times.
Or the Neil Degrasse Tyson story of how he met Carl Sagan.
And there was vast literature. Petzolds programming windows first edition is from 1988 and second from 1990. While the first might have been a niche publication usually there is only a second edition if there is substantial interest. (number of prints would be nice to know).
But even given the prevalence of Windows development, it was still rare to encounter another programmer socially unless you lived in the occasional city where they were common. My point is that nerds finding nerds was a much rarer thing back then.
I co-wrote a noughts and crosses program to run on a Busicom in 1973; and continued programming at university ('74-'77).
See, inter alia, https://en.wikipedia.org/wiki/Cesil, https://en.wikipedia.org/wiki/Busicom.
It did not make nerds ubiquitous. It made nerd wannabes ubiquitous. The ppl with OG nerd-like qualities are actually frowned upon in the industry now. Somehow a SWE needs to be a "well rounded" individual. Technical skills don't matter much anymore.
Way back in the 90's I reached a conclusion that a programmer or sysadmin or hardware guy is now just the new auto mechanic.
'98 or so I was shopping for replacement software for my uncles business (y2k prep) and we went to this firms office, and basically everyone in the office, the owner, all the developers, the sales guy, the guy who would come out to install the hardware... every one of them could have been in their high school football team 10 years earlier. They were doing this kind of job because there was money in it full stop. They took us out to dinner and the conversation only comfirmed that snap perception. You could substitute "propane and propane products" in place of software and IT hardware without changing a thing about any of them.
Perversely today I probably wouldn't use the same comparison because auto mechanic is probably more nerdly and interesing persuit today than it used to be.
I think what I mean to say it's now a trade.
You might be a nerd in that trade just like you might be a nerd welder, but it's no longer required. You don't even have to be a wannabe nerd although many are.
Countless people in those jobs with no special love of it, and no fundamental curiosity.
School counselors told them it was going to be in demand, so they did that.
I think it's both better and worse today since then.
Obviously the sheer mass of IT work needed today, and the sheer mass population of people needed to do it, means that there are a many many people doing IT work that aten't good at it and don't love it.
Obviously today it's no longer special to to work with computers.
And there is also the ever present dislike for intellectuals in general that hurts nerds even at the same time when there is some nerd cache from making money. (actually I bet the nerds don't even make the real money any more. they get harnessed by the business types)
But I think it's also true there are more actual nerds today and they are more accepted than in the past. Still outnumbered by wannabes and everyone else, and the real nerds still not really liked or taken seriously by most, but more and better than 20 years ago.
Tech companies have lost that charm now. I have worked at companies where doin a good job does not even matter anymore. Its all about "projection" and "perception"
They still want to know enough to not get fired, but that’s where it ends.
I kind of feel it pulls the average down though, and it makes my work environment less ideal.
But that particular blog post aside, you do make a good point. The 'nerd' in my head (and / or the one that I am) doesn't score too well on EQ and social skills, or to be even more blunt, is often on the autism spectrum and has to mask to match those expectations from the more neurotypical folk. But that said, I think one has to mask even with other neurodiverse people, because else they will just rub each other the wrong way.
You can also see it in the Seattle sketch comedy "Almost Live" series, whenever they did a bit on Microsoft.
Myself, I learned to avoid mention of my profession when meeting women.
In some ways I think that was the revenge of the "nerd". Although in another way most of these new "nerd" never experience the 80s, 90s and 00s. And they are very different nerds to those in that era. Too much hype, too little engineering.
I really dislike the modern tech industry. I think that money ruined everything. Vast majority of my coworkers over the last decade or so are the type that used to train to be doctors, lawyers and other lucrative careers, with no real passion in computers or tech. It's all about money.
I do dream about changing careers. I know at least one other thing I'd love to do but it would pay a fraction of what I can make now and simply isn't feasible.
Lots of athletic folks.
I think it’s because Ivy League and Wall Street folks have been invading (or taken as captives), and the Ivy League/Wall Street aesthetic is not exactly geeky.
The guy who got me into tech and computers was a former green beret. Most athletic guy I’ve ever known, and a genius with tech.
I don’t think he was a nerd, but this is really subjective.
It was a brilliant moment in time. I was able to routinely chat with an astonishing number of excellent and famous minds when I was young and impressionable in a way that would never happen today. I feel very fortunate to have lived that, it had an enormous impact on my life I think. And it was safe for the people I corresponded with to be accessible back then.
But I'm reasonably sure that if today I bumped into some random kid that was obsessed with anything 'geeky' that makes me fondly remember when I was that age, I'd jump on the opportunity. Wouldn't we all?
In that environment, a lot of adults were willing to give technically minded kids at least some amount of their time because the only reason most of us (kids, at the time) were asking questions was because we just wanted to understand how all this stuff worked for fun rather than working on a get rich quick scheme. I also suspect the adults found this enthusiasm more interesting than the general disdain they probably experienced at the office.
[1] As in, put in some time and develop an area of expertise that someone valued... then you could start making money. Most college grads were viewed as fairly useless for their first few years out of school and their salaries reflected that.
I remember that if you said you mentioned computers people in general would just parrot that back to you in this "nerd" voice as if it was a joke.
It was rare to even read about what was happening in the world of computers in a mainstream newspaper.
To me, a kid at the time, I felt like I was seeing the gateway to a new kind future unrolling but there was just no way to discuss that with "normal" people at the time.
I guess any adult working in that industry would be keen to share that with anyone interested regardless of age because it was all changing so fast and was so damn exciting.
And, welp, here we are.
If you show interest in people’s work, especially if you have questions, corrections, etc. that demonstrate that you are engaging with it seriously, even “famous” people are often happy to respond (but people certainly also often don’t respond to cold emails, for a wide variety of reasons).
I've seen a number of people rag on him, espousing that he's got nothing else to do (they may well be right) but it makes me respect the guy even more to know that he's replying to emails, even when they're dumb, instead of watching TV or browsing Twitter. He's a real consummate professional, even when the people around him aren't.
Can confirm. In 1990, I managed to send him a letter from a borrowed Internet account (I didn't have an email address at the time.) He tracked me down and telephoned me(!!), I still remember his friendly demeanor, and at the end of the conversation he said "Happy hacking!".
There's also that if you're 45 years old, people expect to see some accomplishments, and are skeptical if you don't have any, whereas there is no such bar for 12-year-olds other than perhaps curiosity and ambition.
I am very good at asking stupid questions. Thankfully, my teammates are patient with me.
Can you imagine wasting the time of one of the brilliant minds of our times and it turns out to be user error?
I would say try to sleep on a problem before reaching out for help if time permits. Probably isn't good for business but it is good for my personal development.
> I am very good at asking stupid questions. Thankfully, my teammates are patient with me.
Are your questions really so stupid, are theirs really so much smarter when they ask, or are you being harsh on yourself perhaps.
It wasn’t anything as extensive as what op is talking about but it made a deep impression on me. Something like the nerdling equivalent to getting a baseball hat signed. The potential with email to speak directly with people working in rarefied places was eye opening. It also gave a real confidence boost that I could stumble on interesting things to say.
I wanted to use a purported quote from Maurice Wilkes that I couldn't track down a citation for in the introduction to my PhD thesis, so I emailed him. He must have been well into his eighties by that point. I got a very helpful reply and was able to use the quotation, properly cited (as well as add a "Wilkes, personal communication" to my citation list, which still makes me smile).
Gnot or Blit terminals? Oh man if its a Gnot....
sum from i=0 to infinity x sub i = pi over 2
which would have been entered as something pretty close to that in the first draft design of TeX (the second draft introduced the backslashes), and today as: \sum_{i=0}^{\infty} x_i = {\pi \over 2}
and you can see the evolution. The Wikipedia page has more examples (https://en.wikipedia.org/w/index.php?title=Eqn_(software)&ol... ). Knuth credits Lorinda Cherry explicitly a couple of times in the first draft design (https://www.saildart.org/TEXDR.AFT[1,DEK]):> A special syntax is used in formulas, modeled on that of Kernighan and Cherry, Comm. ACM 18 (March 1975), 151-157. For example, ``sup 9'' in line 41 specifies a superscript 9, ``sub {n+1}'' in line 74 specifies a subscript n+1.
and in the last page/paragraph:
> To conclude this memo, I should explain how TEX is going to work on math formulas. However, I will have to sketch out the code in more detail and it is only fuzzy in my mind at the moment. […] it may be necessary to build the parse tree first as Kernighan and Cherry do.
(Yes indeed TeX builds the parse tree first, as we can see from the second draft: https://www.saildart.org/TEX.ONE[1,DEK] )
The eqn system was a pioneering and capable one: although Knuth did not use any of the code of troff/eqn as-is (not sure if it was available to him; in any case he was targeting "book" quality), clearly it influenced the design, and I imagine it inspired him about what was possible in the first place. Even after TeX became widely used, there have been some math books typeset with troff and eqn.
Reading about Lorinda Cherry's other accomplishments like `typo` and the Writer's Workbench, it's clear we've lost someone who was a pioneer in multiple respects.
eqn -Tpdf - <<eof | groff -me -T pdf > eqn.pdf
.EQ
sum from i=0 to infinity x sub i = pi over 2
.EN
eof
xdg-open eqn.pdf
I did not have much success trying to force it throug groff/troff and render pretty in a (wayland) terminal - with neither `--text` (as below) or `--tty`. But perhaps there is no such "magic" renderer? eqn -Troff -Tutf8 - <<eof | groffer --text |less -R
kEQ
sum from i=0 to infinity x sub i = pi over 2
.EN
eofIndeed - seem to remember (?Brian) comment one journal turned down a paper due to how well typeset is was believing it'd been printed elsewhere before
I've read the closest thing we have to the original sources of `dc` and `bc`: the source bundled with Plan 9. It didn't take me long to read the entirety of the source because they were simple and concise. That immensely impressed me.
However, I hate to say that my youth (compared to Ms. Cherry, at least) caused me to look at the source with disdain, mostly from a lack of handling errors caused by user mistakes.
It took several days for me to think more carefully about the context. She was writing for herself and other programmers, who would probably be able to recognize when they made a mistake and fix it.
The code has a simple elegance that mine will never have. Sure, you might call mine "industrial strength," but I think a quote by ** Gabriel sums up the difference between Ms. Cherry's code and mine:
"I'm always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who'd have guessed sophistication bought such noise?" [1]
And that says nothing of the design of her software.
`dc` was, and in many ways still is, the simplest calculator that could ever exist. It was the simplest shell too, with the `!` command. I personally believe that it was for this reason that `dc` was the first program Bell Labs made run on the PDP-11. [2] `bc`, while more complicated, is also a great design (for the time).
In short, Ms. Cherry was a master of her trade, and I only recognized that from afar.
One of the items I had in my bucket list was to meet Ms. Cherry; because of her work on `dc` and `bc`, I felt a kinship to her having written my own. It is sad to know that item will never happen. Oh, well.
[1]: https://people.csail.mit.edu/alinush/6.824-spring-2015/l07-g...
It sounds like you two would have gotten along splendidly had you met physically, from what I know from the time I spent working with her (albeit mostly virtually).
Much of this was of course due to the lower performance of computing at the time - compilers just weren't highly sophisticated, and it made sense to code simply so as to leverage them as much as possible. That same attitude also extends to old-style "system design", which was often bespoke in a way that would not be very well regarded today. A hardware-portable compiled system like early Unix, designed for practicality and real use, was a huge novelty back then.
https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/dc
https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/bc...
https://github.com/watson/old-unix-spell-checker/blob/master...
There may be some people out there that don't realize these commands are available on your machines. The macOS operating system on every contemporary Apple computer has a core that is build on Unix. Just open a the terminal app and you now have access to the only user interface that all of us old Unix users used for many years. At the command prompt you can learn how to use bc and dc simply by using the man command (short for manual). Type man bc to get the brief page from the Unix manual describing bc (or any other shell command in the same fashion).
One of the next commands you should look up in the manual is the man command itself (type man man). Somewhere, I've got the original thick printed Unix Manual. I used to carry it around just to read before the days when I had a dial-up terminal or personal computer at home.
(In case the title changes, this comment refers to the original HN title: "Lorinda Cherry, author of dc, bc, eqn has died".)
Her demonstration of the capabilities of the (then novel) pipes and scripts of the Unix Operating System is one of the best parts of this documentary:
https://ncwit.org/profile/lorinda-cherry/
Some other material:
+ An interview between Michael S. Mahoney and Lorinda Cherry: https://gist.github.com/telemachus/c01e3a213574a7bdcf79a4802...
+ Some mentions and quotes in this oral history of Unix: https://www.princeton.edu/~hos/frs122/unixhist/finalhis.htm
I’d be curious to see her appearance on the Today Show that McIlroy mentions. She and [Nina Macdonald](https://www.ninamacdonald.com/pub.htm) were on in May of 1981 to talk about Writer’s Workbench, but so far I can’t find any video.
RIP
I knew some people on the dog show circuit a long time ago, and each judge having obvious bias for random dog aspects / ages was well known. Since dog breeders and serious dog show people would have many active dogs simultaneously, for each judge at an event, they would enter their closest matching dog to what the judge liked, and skip entirely if that wasn't your dogs. Thus if you had eight dogs you were currently showing, and a two day weekend event with two judges, you would bring two dogs, one picked for the Saturday judge and one picked for the Sunday judge.
I've used "bc" quit e a few times, thanks & RIP Lorinda.
[1] https://www.princeton.edu/~hos/mike/transcripts/cherry.htm
> 'Cherry: That's hard to say. If you look at the Berkeley Unix system and some of the commands that are similar, the same in Berkeley as what we have here but you look at the Berkeley manual they've added 85 flags to the Cat command or something. It was a very simple elegant thing that did a very simple job. I guess we've always had the attitude that it has to be really useful to be worthwhile putting in. Maybe just 'cause it was a smaller group than at Berkeley or maybe people in Berkeley, everybody needs to find a niche so they've got to put a flag on something, I don't know what the environment is there. But I think it was here to prevent featurism. I think that's the difference between the two systems. And I think that undoubtedly has to do with the university environment where everybody has to do something as opposed to the environment where in some sense everybody had to justify what it is they were doing to your cause. And there is also some hesitancy 'cause it you touched it you owned it, you thought hard about whether you needed to add that flag or whether there was some other way around it. Whether there was some program. You said "I'll find some other way to do this 'cause I don't want to own this program."'
dc -e '3 k 57 47 / p'
Or what have you.
It's pretty useful. I recommend spending an hour or two with it. You'll use it.
One of the nice things about rpn is if you forget something or want to modify things, you'll quickly find out that it's more convenient.
A little syntax weirdness apparently goes a long way in making things ridiculously easier to manipulate.
You can write programs with it btw. Hobby away: https://rosettacode.org/wiki/Category:Dc
Things get delightfully cryptic: https://rosettacode.org/wiki/Generate_lower_case_ASCII_alpha...
Go through a Forth tutorial to get the hang of RPN style programming if that's truly gibberish to you. It won't make it easy, but it will make it readable
10 # pushes 10
20 # pushes 20
+ # pops 20 10 sums, pushes results
p # prints top of stack (peek)
Equal (`=`) is a conditonal macro invocation `=r`: pops two values off stack, invokes (the contents of register) `r` if they are equal. [p]sa # store peek stack top as macro in a
1337
10
20
+
30
=a # Stack should be 1337, 30 (20+10) and 30, so should output 1337
# pops 30 and 30; 30==30;p -> top is 1337I started using dc for shell scripts before I knew that expr existed, and when some UNIX systems I logged on to spat out a bunch of noise on the console whenever bc was invoked. As a result I started thinking in the stack arithmetic way, and just adopted it as my standard way of doing math on UNIX. Eventually I got so used to it that I also preferred using it on Windows (via Cygwin) over calc.exe. It was a sad day when the developer world moved to Git Bash which either never included dc or stopped including it at some point. After a few years of grumbling with calc.exe and ancient versions of GNU dc that didn't work quite right in a Git Bash console, I discovered Gavin Howard's dc, which works well in Git Bash, and now it's once again one of the first things I install on a new computer.
Remarkable how this program written ~50 years ago is still useful today, in whatever rebirthed incarnation. I can't think of many others with such staying power.
That said, I'm glad my `dc` works for you under Git Bash, but it's weird that GNU `dc` wouldn't work.
Fortunately your dc worked out of the box with winpty a couple years back, and - to my delight - I just discovered the latest version works both in a modern Windows console and Git Bash mintty as well, without any winpty wrapping. Great work, thank you!
It would have been so different. What we have now must feel like an Eternal September to anyone who was around back then.
Oh to have been forging that frontier!
Interesting to know that eqn pre-dates TeX, TeX was released in 1978
[la1+dsa*pla10>y]sy0sa1lyx
Still true today!
Thank you to Lorinda and everyone else working on UNIX operatingsystems and their tools, you make my life better.
The U.S. Government could fund some work into this, seeing as how a lot of open-source software is essentially a public good.
Saying she worked on TeX seems incorrect. Can anyone confirm either way?
Bob Morris Sr, the grandfather of The Worm, I assume?
https://web.archive.org/web/20120624081721/http://www.scca-n...
There is a very good non-obit by Doug McIlroy, written when Lorinda got an award in 2018. I was going to post it, but it's in a small listserv archive and I think the list members prefer not to be cited into these kinds of thing. I can't find the text elsewhere which is a shame, it has a really good rundown on her time at Bell Labs and the amazing things she did.
I guess i could cut-paste it here, but that would exceed a 10% quoting rule I try to stick to. They're Doug's words, not mine.
https://minnie.tuhs.org/pipermail/tuhs/2022-February/025390.htmlWho is the next generation? I can't think of any names.
1) our “giants” will be Zuckerberg, Elon, and Bezos. They have taken all the talent that would have gone to bell labs and used it to generate ad revenue.
2) our “giants” are still making their name and working, and we will recognize their accomplishments in 30-40 years.
The future won't be like the 20th century one. It will be less power hungry.
This is pretty unfair to Elon. He took all that talent and started putting things into space. And building the next generation of cars. He seems to be doing amazing work.
Bezos and Zuckerberg, sure. Musk is in a different league, possibly an entirely different game.
He’s obnoxious and yet surgically effective. Seems fair for the results, even when considering how much luck was a component (PayPal).
Your second point seems more reasonable, although I think klyrs makes a cogent point: the "giants passing away" now are primarily the ones who made their names in the pre-internet age. The next generation after them are the folks who were making their names circa 1980–2000, and we can hazard some plausible guesses. It may be too early to say yet who the anointed giants of 2000–2020 will be.
The “ad revenue” comment was snarky and for Elon and Bezos may not be fair because they have had some major impacts to quality of life - Elon with electric vehicles and Bezos with availability of goods, AWS, etc. They both have given really smart people some really interesting problems to work, and we may recognize that in stories as they come out in 30-40 years.
Thinking a bit more about it, I think it takes a company today to make an impact given the complexity of technology. Things like dc and bc have been coded and discovered, and now we’re building advanced products to do advanced things.
Underlying my original comment is my concern for the allocation of brain power in technology today. I don’t know what the right ratio is, but I do feel like we’ve got too many people going toward taking users’ attention and discretionary income rather than working more valuable (on a societal level) problems.
If we compare these to people who contributed to basic science and technology, I think we must draw a line between industry giants and enterprise giants.
Morgan, Ford, Edison, Carnegie, Rockefeller, were enterprise giants.
Tesla, Holonyak, Salk, were industry giants.
Torvalds at 52 is the most clearly "next generation" of those people.
And of course we lost one of the brightest lights way too early in Aaron Swartz.
Funnily enough another hero, Miguel de Icaza, popped up in that thread too.
*: https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_en...