From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id c2971a50 for ; Sun, 12 Jan 2020 20:33:06 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 002F39BD54; Mon, 13 Jan 2020 06:33:04 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id F41F39BD14; Mon, 13 Jan 2020 06:32:44 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 03C0D9BD14; Mon, 13 Jan 2020 06:32:42 +1000 (AEST) Received: from mcvoy.com (mcvoy.com [192.169.23.250]) by minnie.tuhs.org (Postfix) with ESMTPS id 865329BD0F for ; Mon, 13 Jan 2020 06:32:41 +1000 (AEST) Received: by mcvoy.com (Postfix, from userid 3546) id 2A65635E104; Sun, 12 Jan 2020 12:32:41 -0800 (PST) Date: Sun, 12 Jan 2020 12:32:41 -0800 From: Larry McVoy To: Kevin Bowling Message-ID: <20200112203241.GB9174@mcvoy.com> References: <202001121343.00CDhYHK132101@tahoe.cs.Dartmouth.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [TUHS] Tech Sq elevator (Was: screen editors) X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society , Doug McIlroy Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" I'll counter with Linux's /proc where everything is a string. It's super pleasant and I say that coming from SysV /proc where it was all a mess. If performance is the metric, everything is a string is not so much. If performance is not the high order bit, a /proc that you can read with cat or grep is super pleasant. On Sun, Jan 12, 2020 at 01:25:13PM -0700, Kevin Bowling wrote: > This is kind of illustrative of the '60s acid trip that perpetuates in > programming "Everything's a string maaaaan". The output is seen as > truth because the representation is for some reason too hard to get at > or too hard to cascade through the system. > > There's a total comedy of work going on in the unix way of a wc > pipeline versus calling a length function on a list. Nonetheless, the > unix pipeline was and is often magnitude easier for a single user to > get at. This kind of thing is amusing and endearing to me about our > profession in modern day. > > Regards, > Kevin > > On Sun, Jan 12, 2020 at 9:57 AM Warner Losh wrote: > > > > > > > > On Sun, Jan 12, 2020 at 6:44 AM Doug McIlroy wrote: > >> > >> Mention of elevators at Tech Square reminds me of visiting there > >> to see the Lisp machine. I was struck by cultural differences. > >> > >> At the time we were using Jerqs, where multiple windows ran > >> like multiple time-sharing sessions. To me that behavior was a > >> no-brainer. Surprisingly, Lisp-machine windows didn't work that > >> way; only the user-selected active window got processor time. > >> > >> The biggest difference was emacs, which no one used at Bell > >> Labs. Emacs, of course was native to the Lisp machine and > >> provided a powerful and smoothly extensible environment. For > >> example, its reflective ability made it easy to display a > >> list of its commands. "Call elevator" stood out amng mundane > >> programmering actions like cut, paste and run. > >> > >> After scrolling through the command list, I wondered how long > >> it was and asked to have it counted. Easy, I thought, just > >> pass it to a wc-like program. But "just pass it" and "wc-like" > >> were not givens as they are in Unix culture. It took several > >> minutes for the gurus to do it--without leaving emacs, if I > >> remember right. > > > > > > It should have been something like (list-length (command-list-fn)) but I'll bet that ? was bound to a complicated function that just displayed the results and didn't properly abstract out the UI (printing) from the data collection (getting a list), which is what made it so hard. I've had so many gnu emacs experiences like this over the years, but to the community's credit, there's fewer and fewer as time goes by. > > > > ObUnix: This shows the power of having the right abstractions and being disciplined to code to those ideal abstractions any time there might be reuse... > > > > Warner -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm