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 2e8f550a for ; Tue, 11 Feb 2020 18:27:14 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id DC4109CD7F; Wed, 12 Feb 2020 04:27:12 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 339129CD73; Wed, 12 Feb 2020 04:26:56 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 0AF1C9CD73; Wed, 12 Feb 2020 04:26:53 +1000 (AEST) Received: from fourwinds.com (fourwinds.com [63.64.179.162]) by minnie.tuhs.org (Postfix) with ESMTPS id 88C379CD72 for ; Wed, 12 Feb 2020 04:26:52 +1000 (AEST) Received: from darkstar.fourwinds.com (localhost [127.0.0.1]) by fourwinds.com (8.15.2/8.15.2) with ESMTPS id 01BIQpWa1764364 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Tue, 11 Feb 2020 10:26:51 -0800 Received: from darkstar.fourwinds.com (jon@localhost) by darkstar.fourwinds.com (8.15.2/8.15.2/Submit) with ESMTP id 01BIQp2A1764361 for ; Tue, 11 Feb 2020 10:26:51 -0800 Message-Id: <202002111826.01BIQp2A1764361@darkstar.fourwinds.com> From: Jon Steinhart To: The Eunuchs Hysterical Society In-reply-to: <20200211170501.0N1Pu%steffen@sdaoden.eu> References: <202002101546.01AFkOSc001266@freefriends.org> <202002110933.01B9XqQX004159@freefriends.org> <20200211170501.0N1Pu%steffen@sdaoden.eu> Comments: In-reply-to Steffen Nurpmeso message dated "Tue, 11 Feb 2020 18:05:01 +0100." MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-ID: <1764359.1581445611.1@darkstar.fourwinds.com> Content-Transfer-Encoding: 8bit Date: Tue, 11 Feb 2020 10:26:51 -0800 X-JON-SPAM: local delivery Subject: Re: [TUHS] V9 shell [was Re: Warner's Early Unix Presentation] 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: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Steffen Nurpmeso writes: > Rob Pike wrote in > : > |My general mood about the current standard way of nerd working is how \ > |unimaginative and old-fashioned it feels. There are countless ways \ > |we could be interacting with our terminals, editors, and shells > |while we program, but for various sociological and historical reasons \ > |we're pretty much using one from decades ago. I'm sure it's productive \ > |for almost everyone, but it seems dull to me. We could be > |doing something much more dynamic. I mean, xterm is hardly more sophisti\ > |cated than the lame terminal code that ran in mpx (ca. 1982), other \ > |than colors and cursor addressing, which date from the 1960s > |via early PCs. IDEs don't sing to me, although they are powerful, because \ > |they don't integrate well with the environment, only with the language. \ > |And they are just lots of features, not a coherent > |vision. No model to speak of. > | > |Compare what happened with our shell windows with what happened with \ > |our "smart" phones in the last 20 years and you'll get some inkling \ > |of what I think we're missing. It's not that we should program the > |way we use iPhones, but that there are fields where user interface \ > |work has made a real different recently. Not so in programming, though. \ > |We're missing out. > > I cannot imagine any other real step forward but control-by- > thought, aka brain computer interfaces. (I personally am even > convinced we will get the brain implant -- ever since i got all > those B and C Hollywood movies from the 50s wrong, back when i was > a kid. It is convincing still, automatic emergency calls, health > record and cases of incompatibility at hand when needed, and not > to talk about the hints it will give the law enforcement side of > the road.) > > Just last year i have seen a report on the current stage of > affairs, Carnegie-Mellon and Minnesota Universities seem to have > build a non-invasively controlled robotic arm, pretty high > precision. > > "Wir haben erhebliche Fortschritte im Bereich > Robotervorrichtungen mit Gedankensteuerung über Gehirnimplantate > gemacht. > We have made substantial progress in the region of > thought-controlled robotic devices via implants. > > Das ist hervorragende Forschungsarbeit", sagt He. > "That is superb research work", says He [Professor Bin He, > Carnegie-Mellon]. > > "Nichtinvasiv ist jedoch unser ultimatives Ziel. > Fortschritte in der neuronalen Dekodierung und der praktischen > Auswirkungen auf die mögliche Entwicklung nichtinvasiver > Nutzbarkeit nichtinvasiver Roboterarmsteuerung werden erhebliche > Neurorobotik haben." > > "Albeit non-invasive is our ultimate goal. > Progress in neuronal decoding, and the practical usability of > non-invasive control of robotic arms will have substantial > effect on the possible development of non-invasive > neuro-robotics." > > |But I'm a grumpy old man and getting far off topic. Warren should cry, \ > |"enough!". > > I personally would love it, if it where only in the hands of > empathic beings, capable of reflection. Yet it is us. ^_^ > > --steffen Well, I'm gonna give my two cents on this before Warren tells us that it's off-topic :-) One way to look at it is that there are two stages to programming or any other problem-solving discipline. First, clearly express the problem. Second, implement a solution. There's been a lot of improvement in both of these areas during my lifetime. Especially when I look at the "everybody must learn to code" movement I see people looking for a magic bullet; they just want to think of something and have it magically appear. Problem is that the thinking of something isn't that easy. People want DWIT (do what I think), a step beyond DWIM :-) I'm reminded of the awful virtual reality panel at SIGGRAPH some decades ago now where people stood up and said "with virtual reality there will be no misunderstanding and people will be able to know exactly what you're thinking." My response was "wow, if people knew exactly what you were thinking they'd kill you." The fuzziness of our brains is an asset here, not a liability. So I'm not thinking that translating thoughts directly into programs is a good thing. All that said, there is an area that I think needs some work, which reminds me that I wrote Tamara Munzner at UBC about this and need to ping her again. My current troublemaking project is to make an unfortunately necessary change to linux to accomplish something that I want to do. Because I haven't mucked around in the kernel before I've been keeping notes as I try to figure it out; sort of a travelogue. One of the things that's important to me is writing code for the reader, not the writer. Being old, I remember working for companies where there was warranty support for products, and that maintenance and support cost way more than development. So I've always written code for the maintainers because I never wanted to become one because nobody could figure out my code. Oh, Jon's rambling here, how is this relevant? Something that I never gave much thought about until I was a reviewer for Tamara's book is that my coding style tries to maximize the brain's pre-attentive mode. A lot of hunting around in code involves visually scanning for patterns (vgrep), and one would like to be able to do that in fixed time as opposed to linear time. In my opinion, the linux code sucks at this. The coding style of breaking up functions to keep the number of indent levels low has what I'm calling poor "meatspace locality of reference." People have caches too, and we'd never write code for a computer that thrashes as badly as code written for people. Anyway, what I've been wondering about is whether anybody has examined the UIs of different IDEs from a pre-attentive standpoint. One of the weird things about how our brains manage pre-attentive mode is that there are only a handful of things that we can do in that mode before popping out, and that those things have weird interactions. So, for example, does coloring things work? Does bracket matching work? Do they still work if you do both? A good thesis topic for someone younger than me. Jon