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.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, 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 634d3bdd for ; Sun, 12 Jan 2020 20:25:56 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id B95C29BD4E; Mon, 13 Jan 2020 06:25:54 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 5AC129BD14; Mon, 13 Jan 2020 06:25:30 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=kev009.com header.i=@kev009.com header.b="AoDSQFP6"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id AB1959BD14; Mon, 13 Jan 2020 06:25:25 +1000 (AEST) Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) by minnie.tuhs.org (Postfix) with ESMTPS id 334039BD0F for ; Mon, 13 Jan 2020 06:25:25 +1000 (AEST) Received: by mail-io1-f67.google.com with SMTP id d15so7414668iog.3 for ; Sun, 12 Jan 2020 12:25:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=lw5ozJQ438lYJ1tLfxgCmaCTIhT0487KSnlVLH+ullA=; b=AoDSQFP6YVY0AyCOIw6zzlkvple1olgOo1JpQiGnDGtNvSliE7Y5AkhXsclA4WOtvG 6f5YXKx4bqcyarEA24TX67UdGjf/N+6Nvdg0LSb5MTJOQ5NIju2nWW80dwn/8kEMZePP Jy8fakQ+VaJtJbD3s4fLYrue1SZaXajxv9sYc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=lw5ozJQ438lYJ1tLfxgCmaCTIhT0487KSnlVLH+ullA=; b=FPq+ThZyr1eanhII6NFr3RqDtu/qXRRBrD5Hk0naInnLraMeTr2URQJCkCAH4FYNHc Ou86S/F8w/2hSHTUqg9VEqdRAxhOJk/euA68w1brZEx2S4+6E4cXFWegDGoIEDoNMdRz P3Gs+Hln6omiKmCTV9frIhzERiqVXH5d4h3K9k+8jzE0GP88pXm9zN9d/IRH91wg4Cfe 6bN8E4MQAMZPUWfo+nWxbUcd1eZ/VTpxG0acGrGG2nzr7KahC+J4hOJ8PXfxmLIE8gTA uhJRwrGNFvfYJh5DqiLDcuccgoI9I5a/9f1AWKgTSVo8SdgDAHx7yIWL2VeNl456BReF kdwQ== X-Gm-Message-State: APjAAAWA/RgYayVsJPiJpzxRBXR6rDRRH3Og6ZwY7RmRBuTk3Pq4lsem 8PBanyz6hrbp3wOv6Jm8XiB1qWdCcLWOJXrNaiCjdcg1LwM= X-Google-Smtp-Source: APXvYqx1NHwMwzeHWnhRaAuu+06Yh0FXTUKJljE2ok9BbniDS+4dBEQYmbSk4daPZ9QPx1ow+dJV3rVy+6byijflDdE= X-Received: by 2002:a02:b38f:: with SMTP id p15mr11577580jan.56.1578860724060; Sun, 12 Jan 2020 12:25:24 -0800 (PST) MIME-Version: 1.0 References: <202001121343.00CDhYHK132101@tahoe.cs.Dartmouth.EDU> In-Reply-To: From: Kevin Bowling Date: Sun, 12 Jan 2020 13:25:13 -0700 Message-ID: To: Warner Losh Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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" 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 wrot= e: >> >> 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 co= llection (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 cred= it, there's fewer and fewer as time goes by. > > ObUnix: This shows the power of having the right abstractions and being d= isciplined to code to those ideal abstractions any time there might be reus= e... > > Warner