From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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 autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [50.116.15.146]) by inbox.vuxu.org (Postfix) with ESMTP id DFF6227FBC for ; Sat, 18 May 2024 22:33:33 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 48F9A43682; Sun, 19 May 2024 06:33:28 +1000 (AEST) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) by minnie.tuhs.org (Postfix) with ESMTPS id 6E1AB43681 for ; Sun, 19 May 2024 06:33:22 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=citron; t=1716064400; x=1716731066; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: mime-version:content-type:content-transfer-encoding:author:from:subject: date:to:cc:resent-date:resent-from:resent-to:resent-cc:in-reply-to: references:mime-version:content-type:content-transfer-encoding:message-id: mail-followup-to:openpgp:blahblahblah; bh=uQe9wsDzEUztxCx3s+BZR/fumQEzn2FA55jh7JdVnlA=; b=AoIuI0BlUNS31Vx80D4NAuZthgQMjzKj621WMj5/Fo/9zVbFCCTC8pCEwa3wuQ5l+gDtnN4z altr3+2QSwmKonKDs5V6iEx/AfD2mCdlUxfxzQ2KXkt6qs6zGGS05Q8D5g2KmabLy92SVD/tFU DmZrnCEDXS9Lcx6Aq/Ttx0eX8dfekDoNIcGxSfZRTjnNSb1yw+D8VocNVK0G+SQpvx1lka7i8q ZnDkM1EGcZa19Vz6k/e9LNQQvqLdHgNAWdwr+pCKkQLnJSGXP1B1ydz3Jn5xSjxP+ea1wUYUTq ypdN87/CosmL3crITK31uBoDAz9EgW8HM9JJo+/jVYln2EaQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=orange; t=1716064400; x=1716731066; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: mime-version:content-type:content-transfer-encoding:author:from:subject: date:to:cc:resent-date:resent-from:resent-to:resent-cc:in-reply-to: references:mime-version:content-type:content-transfer-encoding:message-id: mail-followup-to:openpgp:blahblahblah; bh=uQe9wsDzEUztxCx3s+BZR/fumQEzn2FA55jh7JdVnlA=; b=P2pNn6S/P3AQctR/uhzookT89hsJ5IQESshseWfX2RiQ3Vp+t03coHUUM5qeljacxfLbnUVD KpPiFzhCfeAcDg== Date: Sat, 18 May 2024 22:33:19 +0200 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Douglas McIlroy Message-ID: <20240518203319.3oAKtOSk@steffen%sdaoden.eu> In-Reply-To: References: Mail-Followup-To: Douglas McIlroy , TUHS main list User-Agent: s-nail v14.9.24-621-g0d1e55f367 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: Q3VHKXZ7HOTGNQLKVYIEK6LCMLYPWW6T X-Message-ID-Hash: Q3VHKXZ7HOTGNQLKVYIEK6LCMLYPWW6T X-MailFrom: steffen@sdaoden.eu X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: TUHS main list X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: On Bloat and the Idea of Small Specialized Tools List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Douglas McIlroy wrote in : |I just revisited this ironic echo of Mies van der Rohe's aphorism, "Less = is |more". | % less --help | wc | 298 |Last time I looked, the line count was about 220. Bloat is self-catalyzin= g. I do not buy that. You are working on Windows and in the meantime have switched to one of those graphical browser monsters (i think) where each instance has more code active than the entire Unix history altogether. less(1) can now Unicode, and that is not as easy with ISO/POSIX as it was on Plan9 for example which simply goes UTF-8 and has some (smart) lookup tables (now in go, more or less, last i looked), but that is not the whole picture of it. It can those ANSI / ISO 6429 color sequences that everybody wants, as you have them everywhere, even GNU's yacc, bison. The OpenBSD people took a port done by an OpenSolaris (i think, that scene, anyhow) guy, and together they stripped it down massively. But i do not use it, because after almost exactly a decade i got upstreamed to Nudelman's less(1) the necessary patches to have active hyperlinks on the terminal, in a normal Unix (roff mdoc) manual. (These work via OSC-8 escape sequences; it was a "15 files changed, 601 insertions(+), 9 deletions(-)" patch, which included careful quoting of file paths etc. for man(1) openings (ie, such code gets lengthy), but he did it differently a bit, and left off some things i wanted, included others (good), but if you use --mouse with his one then you have a real browser feeling. I have problems with --mouse, unfortunately, because when used you can no longer copy+paste -- he would need to add clipboard control in addition i'd say.., adding even more code.) You know, it may be viable for some tools, but for others, .. not. You say it yourself in your "A Research UNIX Reader": "Electronic mail was there from the start. Never satisfied with its exact behavior, everybody touched it at one time or another". In the meantime the IETF went grazy and produced masses of standards, and unfortunately each one adds a little bit that needs to be addressed differently, and all that needs documentation. Now mail is an extreme example. And almost a quarter of a century ago i wrote a small pager that even had a clock, and it required less CPU on a day with some scrolling than less/ncurses for a one time scroll through the document. But that pager is history, and less is still there, running everywhere, and being used by me dozens to hundreds time a day. Also with colours, with searching, and now also with ^O^N ^On * Search forward for (N-th) OSC8 hyperlink. ^O^P ^Op * Search backward for (N-th) OSC8 hyperlink. ^O^L ^Ol Jump to the currently selected OSC8 hyperlink. And prepared mdoc manuals can now display on a normal Unix terminal in a normal (actively OSC-8 supporting $PAGER) a TOC (at will, with links), and have external (man:, but also http: etc; man is built into less(1) -- yay!) links, too. For example here =E2=88=9E is an external, and =E2=80=A0 are internal links: The OpenSSL program ciphers(1)=E2=88=9E should be referred to when creat= ing a custom cipher list. Variables of interest for TLS in general are tls-ca-dir=E2=80=A0, tls-ca-file=E2=80=A0, tls-ca-flags=E2=80=A0, tls-ca= -no-defaults=E2=80=A0, tls-config-file=E2=80=A0, tls-config-module=E2=80=A0, tls-config-pairs So ^O^L on that ciphers(1) opens a new man(1)ual instance. For all this functionality a program with 221K bytes is small: 221360 May 18 22:13 ...less* Also it starts up into interactive mode with --help. So you could have "full interactivity" and colours and mouse, and configurability to a large extend, which somehow has to be documented, in just 221 K bytes. I give in in that i try to have --help/-h and --long-help/-H, but sometimes that -h is only minimal, because a screenful of data is simply not enough to allow users to have a notion. So less could split the manual into a less.1 and a less-book.7. The same is true for bash, for sure. (And for my little mailer.) But things tend to divert, and it is hard enough to keep one manual in sync with the codebase, especially if you develop focused and expert-idiotized in a one man show. |What prompted me to look was another disheartening discovery. The "small |special tool" Gnu diff has a 95-page manual! And it doesn't cover the |option I was looking up (-h). To be fair, the manual includes related |programs like diff3(1), sdiff(1) and patch(1), but the original manual for |each fit on one page. --End of --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)