From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17428 invoked from network); 28 Feb 2022 19:36:04 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 28 Feb 2022 19:36:04 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id A7F609CFE8; Tue, 1 Mar 2022 05:36:01 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 233949CC02; Tue, 1 Mar 2022 05:35:18 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="c1lPj/Y/"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 771F89CC02; Tue, 1 Mar 2022 05:26:17 +1000 (AEST) Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) by minnie.tuhs.org (Postfix) with ESMTPS id 46B319CBCE for ; Tue, 1 Mar 2022 05:26:16 +1000 (AEST) Received: by mail-oi1-f182.google.com with SMTP id p15so14181369oip.3 for ; Mon, 28 Feb 2022 11:26:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/3+a4Uh745F7xczblMPf+t5EbavH3lzKtbor5KljnLI=; b=c1lPj/Y/yziHhqJ5c0OjVtWfPOQhCuSUCmUaVnybksdpJR7LcKx4piBQdJWpPyACfi fVwUdyLlDx3W3aaCMjyMTFkg6X1+pis8Vz7HYAAJHpz0q+HX8cWStDt+UxvLTy5wZlhs aHxmWpDJBgLtMahYFdaDpvOUC2PTxhfWAJ83hMJQN3Br7TtAlWDN50jkhoJZ2pWt4mMJ nUVjB5Z5iYVzGs6f51mw1xD4qQwot8NNRBYZNAeFvW3Cqo8W06pOmFroQ8NZ6n6gwbE2 nt5z7v2nxyYa3xpHUpQSPf3S97aqvj+JWDQx7ImAMVWsrTxcY5LF+1NoFxK3VqNkizQ9 FtuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/3+a4Uh745F7xczblMPf+t5EbavH3lzKtbor5KljnLI=; b=SGpMfzF+n06ECmITnfKy8uzLl5ejVy4OBL3LnfTk/kbvvikAjCPMlAqJIIPfSRj333 MYi1nXe4tQgNViz6pTl4mRmU1rBk67nK0a/LpkwvA5ZRAL0SSolsuUucUE5QkgoWsQej jUi78paUhs9F/5GIQeJ4h51y46GOXoC3xoan2KIZ8dCQxezX11+14/+XlHoOkDa/Zyw7 T0KEnwGv32wHgQ1tcLWKGiyKHpEjhRcLfn8qKymJXHpRzzLcm/j6Zm4QcKiEtHO3ytqf kXtdca2qdqXvpaVpVmIVPmR4EQjcG/3+695cfW/5upRgPzDqT/qp448Oywut2wX10jCE SO2Q== X-Gm-Message-State: AOAM533Rod4VC2aiV7iQg4N16Xao8r9NE+IMmW1w0nUpY662rLe/eicB YpWoVgmcgGpqhWgUzpukL79jT2j9Zs7KJZEWfJQSq2BESB0= X-Google-Smtp-Source: ABdhPJxzk2rowS2mD1tCq+2vleQ4tKjkjIvkAtcWdV3MAF3234KEKRBlRY20Q3BwOVJYfYcR/Jh0R9qygH4eoK4IQIs= X-Received: by 2002:a05:6808:2022:b0:2d4:752b:dfb5 with SMTP id q34-20020a056808202200b002d4752bdfb5mr10137715oiw.174.1646076375494; Mon, 28 Feb 2022 11:26:15 -0800 (PST) MIME-Version: 1.0 References: <20220228140715.GQ21168@mcvoy.com> In-Reply-To: From: Dan Cross Date: Mon, 28 Feb 2022 14:25:39 -0500 Message-ID: To: Larry McVoy Content-Type: multipart/alternative; boundary="000000000000a272db05d91905e8" Subject: Re: [TUHS] run commands at login in v6 and stty 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: TUHS main list , Douglas McIlroy Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000a272db05d91905e8 Content-Type: text/plain; charset="UTF-8" On Mon, Feb 28, 2022 at 1:47 PM Dan Cross wrote: > [snip] Oops, I forgot to mention something. I imagine a lot of readers of this list are familiar with this paper, but for those that aren't, this resonates: https://www.usenix.org/legacy/publications/library/proceedings/sa92/spencer.pdf On a personal note, when I was learning to write C for Unix, I read a lot of open source code to see how to do it. So much of it was riddled with complex #ifdefs that I kind of got the impression that that was how things were _supposed_ to be written. Then I read the Spencer/Collyer paper, and modified some program that I'd written to use abstract interfaces; it was so much easier to reason about that I was kind of shocked that others didn't do the same. I suppose the point is that many programmers learn by copying what has come before. However, so much of what's out there is a poor example of how to do things; we're stuck with a feedback loop of poor design. - Dan C. --000000000000a272db05d91905e8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Feb 28, 2022 at 1:47 PM Dan Cross <crossd@gmail.com> wrote:
> [snip]
<= br>
Oops, I forgot to mention something. I imagine a lot of readers of t= his list are familiar with this paper, but for those that aren't, this = resonates:


On a personal note, when I was learning to write C for Unix, I read a= lot of open source code to see how to do it. So much of it was riddled wit= h complex #ifdefs that I kind of got the impression that that was how thing= s were _supposed_ to be written. Then I read the Spencer/Collyer paper, and= modified some program that I'd written to use abstract interfaces; it = was so much easier to reason=C2=A0about that I was kind of shocked that oth= ers didn't do the same.

I suppose the point is= that many programmers learn by copying what has come before. However, so m= uch of what's out there is a poor example of how to do things; we'r= e stuck with a feedback loop of poor design.

=C2= =A0 =C2=A0 =C2=A0 =C2=A0 - Dan C.


--000000000000a272db05d91905e8--