From grog at lemis.com Sun Jul 20 10:36:09 2025 From: grog at lemis.com (Greg 'groggy' Lehey) Date: Sun, 20 Jul 2025 10:36:09 +1000 Subject: [COFF] Not really Emacs wars (was: foreground/background vs. Windowing) In-Reply-To: References: <73b781b8-f804-4116-8dfe-2b0af7f67506@skogtun.org> Message-ID: [Somewhat off-topic for TUHS; please follow up at COFF] On Saturday, 19 July 2025 at 17:37:34 -0600, Warner Losh wrote: > > Also, there are no GUI emacs versions I like.. You have me curious. How many do you know? And what don't you like about them, when you clearly use Emacs? Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA.php -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From imp at bsdimp.com Sun Jul 20 11:27:40 2025 From: imp at bsdimp.com (Warner Losh) Date: Sat, 19 Jul 2025 19:27:40 -0600 Subject: [COFF] Not really Emacs wars (was: foreground/background vs. Windowing) In-Reply-To: References: <73b781b8-f804-4116-8dfe-2b0af7f67506@skogtun.org> Message-ID: On Sat, Jul 19, 2025 at 6:36 PM Greg 'groggy' Lehey wrote: > > [Somewhat off-topic for TUHS; please follow up at COFF] > > On Saturday, 19 July 2025 at 17:37:34 -0600, Warner Losh wrote: > > > > Also, there are no GUI emacs versions I like.. > > You have me curious. How many do you know? And what don't you like > about them, when you clearly use Emacs? Most of the emacs GUI adaptations assume that it's THE instance of the editor. With multiple terminals, I can have multiple editors with different contexts. With the GUI, it all gets dumped together. It may just be an odd quirk of when I grew up and always having job control and just always using that all the way back to the 4.2BSD Vax 11/750 days. Warner > Greg > -- > Sent from my desktop computer. > Finger grog at lemis.com for PGP public key. > See complete headers for address and phone numbers. > This message is digitally signed. If your Microsoft mail program > reports problems, please read http://lemis.com/broken-MUA.php From will.senn at gmail.com Sun Jul 20 23:52:09 2025 From: will.senn at gmail.com (Will Senn) Date: Sun, 20 Jul 2025 08:52:09 -0500 Subject: [COFF] editor wars Message-ID: I remember having discussions about vi vs emacs in the mid 1990's. I'm curious if those were the first public wars about editors, or if y'all remember earlier flamewars on the subject? Maybe KEDIT vs EDIT?  I grew up on DOS, so edlin vs edit was quite the battle ground in discussions, but I don't remember flames... I find the vi/emacs divide quite insurmountable. As a vi guy, I cannot even understand emac's appeal. I've tried countless times, even going emacs only for a while... when I went back to vi, it was like old shoes, very comfortable. I didn't get the flamewar at all - you do you... but I did and still do find the passion on either side endlessly fascinating. Two other debates are quite similar - one to do with spaces vs tabs, the other top-posting vs bottom-posting have provided me with hours of entertainment... I prefer tabs over spaces and top-posting, but I get the other points of view on these... Will From clemc at ccc.com Mon Jul 21 01:25:25 2025 From: clemc at ccc.com (Clem Cole) Date: Sun, 20 Jul 2025 11:25:25 -0400 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: On Sun, Jul 20, 2025 at 9:52 AM Will Senn wrote: > I remember having discussions about vi vs emacs in the mid 1990's. I'm > curious if those were the first public wars about editors, or if y'all > remember earlier flamewars on the subject? Maybe KEDIT vs EDIT? > Hmm I don't think it was really a new thing, as I think the UNIX and VMS editor wars occurred long after earlier conflicts. Hey, even UNIX had way more than just ex/vi and emacs. There was the Rand Editor and Fred, to name two others, who were popular in the early PDP-11 UNIX days. Also, remember that for the early DEC PDPs 1/6/10 machines, there were Stopgap, SonOfStopgap (*a.k.a.* SOS - which became DEC's EDIT), Teco, and eventually EMACS [remember UNIX emacs is a clone of the original TOPS-10/ITS EMACS]; and probably others that I am forgetting - those the ones I used in PDP-10 days. In fact, I learned Emacs on the PDP-10, but neither Gosling nor Zimmerman had yet written their C versions. I used Fred as my first video editor on UNIX and did not learn ex(1) until a few years later, when I was at Tektronix, as it was not available on the CMU systems. By the time EMACS arrived (and required a 32-bit system), I was fluent with it and never bothered to go back. I'll also note that the PDP-8 and PDP-11 families had their own set of editors, and that was just in the DEC world. The IBM world was really not any different. Any interactive system needs an editor. In all cases, the line editors were first because that was what you could use with a Teletype Model 28 and later Model 33 ASR or a Friden (Singer/Link) Flexowriter. With the advent of the "glass tty," the editor wars took on new life as several editors emerged on different systems.. As I said, UNIX had a number before ex/vi. The Rand Editor was the most widely used in the UNIX world early on. [ I don't remember why we used Cornell's Fred over the Rand Editor at CMU in those days, but I know we had both]. To make matters worse, until UNIX came along, the concept of file types and "access methods" was fairly well ingrained in those systems. So features like embedded line numbers (or not) would get into the war. The DEC PDP 1/6/10 Stopgap family added line numbers that compilers and other tools were aware of. IBM ISAM files did the same thing, which is how we sometimes prepared our source code TSS, as you could create card images from ISAM file easily. At the time, I remember there were arguments about needing line numbers or not. A dirty secret about me, I turn on line numbers in vi, because I often find it faster to refer to things that way. That is probably because I learned the TSS editor first on the IBM 360 and then used SOS on TOPS, all before I started using Unix. So when I did, I learned to use ed(1) with its dynamic line numbering and never stopped, even when vi mode showed up in ex(1). Clem -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.winalski at gmail.com Mon Jul 21 01:43:10 2025 From: paul.winalski at gmail.com (Paul Winalski) Date: Sun, 20 Jul 2025 11:43:10 -0400 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: On Sun, Jul 20, 2025 at 10:02 AM Will Senn wrote: > I remember having discussions about vi vs emacs in the mid 1990's. I'm > curious if those were the first public wars about editors, or if y'all > remember earlier flamewars on the subject? > I recall the editor flame wars going on in the Usenet and ARPAnet world during the 1980s. Mainly in the Human Factors Usenet group. Within DEC's software engineering groups the debate (not a flame war) was between TECO and EDT. I remember one amusing (to me) incident in the vi vs. emacs flame wars. Jerry Pournelle, the science fiction author, was one of the early adopters of the home PC. He wrote a column on PCs for Byte magazine and set himself up as a computer pundit. We professional software engineers, who worked on "real" computers, not those feeble PC toys, held him in polite contempt. Then came the tragic day when AOL started carrying Usenet newsgroups. I say tragic because there was a major culture clash between the AOL user community and the Usenet community. Usenet messages were propagated for the most part over low-speed dial-up connections between the various servers. Terseness and brevity were therefore highly valued. AOl, on the other hand, had centralized servers and, since they charged their customers based on connect time, encouraged verbosity and garrulous writing style. So Pournelle got Usenet access. His professional scientific training was in operations research and human factors, so it wasn't long before he discovered the Human Factors Usenet group. The HF group was in the middle of a particularly viscous vi vs. emacs flame war at the time. Pournelle stuck his nose in and posted that his editor of preference was Electric Pencil. This triggered a discussion about Pournelle, along the lines of: "Who is this bozo?" "He's Jerry Pournelle, the lousy SF writer who thinks he knows something about computers." Both sides of the editor flame war dropped their differences and started flaming Pournelle. I don't recall ever seeing Pournelle post on Usenet again. -Paul W. -------------- next part -------------- An HTML attachment was scrubbed... URL: From imp at bsdimp.com Mon Jul 21 01:48:50 2025 From: imp at bsdimp.com (Warner Losh) Date: Sun, 20 Jul 2025 09:48:50 -0600 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: On Sun, Jul 20, 2025 at 9:43 AM Paul Winalski wrote: > So Pournelle got Usenet access. His professional scientific training was in operations research and human factors, so it wasn't long before he discovered the Human Factors Usenet group. The HF group was in the middle of a particularly viscous vi vs. emacs flame war at the time. Pournelle stuck his nose in and posted that his editor of preference was Electric Pencil. This triggered a discussion about Pournelle, along the lines of: "Who is this bozo?" "He's Jerry Pournelle, the lousy SF writer who thinks he knows something about computers." Both sides of the editor flame war dropped their differences and started flaming Pournelle. I don't recall ever seeing Pournelle post on Usenet again. The more things change... You could tell the same store today about Discord, forums, etc. Warner From paul.winalski at gmail.com Mon Jul 21 04:27:42 2025 From: paul.winalski at gmail.com (Paul Winalski) Date: Sun, 20 Jul 2025 14:27:42 -0400 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: On Sun, Jul 20, 2025 at 1:52 PM Clem Cole wrote: > > Also, remember that for the early DEC PDPs 1/6/10 machines, there were > Stopgap, SonOfStopgap (*a.k.a.* SOS - which became DEC's EDIT), Teco, and > eventually EMACS [remember UNIX emacs is a clone of the original > TOPS-10/ITS EMACS]; and probably others that I am forgetting - those the > ones I used in PDP-10 days. > TECO (Text Editor and COrrector) was interesting in a couple of ways. All of its commands were a single character. It was also programmable in a very powerful way. EMACS was first implemented as a set of TECO macros (the name EMACS is an acronym for Editor MACroS). -Paul W. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lars at nocrew.org Mon Jul 21 04:29:18 2025 From: lars at nocrew.org (Lars Brinkhoff) Date: Sun, 20 Jul 2025 18:29:18 +0000 Subject: [COFF] editor wars In-Reply-To: (Clem Cole's message of "Sun, 20 Jul 2025 11:25:25 -0400") References: Message-ID: <7wo6tepvgh.fsf@junk.nocrew.org> Clem Cole wrote: > Teco, and eventually EMACS [remember UNIX emacs is a clone of the > original TOPS-10/ITS EMACS] EMACS ran on ITS, TOPS-20, and TENEX, but not TOPS-10. TOPS-10 had Emacs-likes FINE and AMIS. From lars at nocrew.org Mon Jul 21 04:31:38 2025 From: lars at nocrew.org (Lars Brinkhoff) Date: Sun, 20 Jul 2025 18:31:38 +0000 Subject: [COFF] editor wars In-Reply-To: (Paul Winalski's message of "Sun, 20 Jul 2025 11:43:10 -0400") References: Message-ID: <7wjz42pvcl.fsf@junk.nocrew.org> Paul Winalski writes: > Both sides of the editor flame war dropped their differences and > started flaming Pournelle. I don't recall ever seeing Pournelle post > on Usenet again. He was also kicked off ARPANET. http://www.art.net/~hopkins/Don/text/pourne-smut.html From paul.winalski at gmail.com Mon Jul 21 04:35:19 2025 From: paul.winalski at gmail.com (Paul Winalski) Date: Sun, 20 Jul 2025 14:35:19 -0400 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: On Sun, Jul 20, 2025 at 1:52 PM Clem Cole wrote: > > So features like embedded line numbers (or not) would get into the war. > Line numbers of course were critically important in the punch card days. Card columns 73-80 were reserved for line sequence numbers. Some of the fancier keypunches could read a card deck and put the line sequence numbers in for you. A sequenced deck was a godsend if you happened to drop the deck on the floor. Just put the deck in a card sorter and sort on cols. 73-80 and you're back in business. In editors for non-screen terminals the line numbers provided an easy way to reposition the editor within the text stream. -Paul W. -------------- next part -------------- An HTML attachment was scrubbed... URL: From clemc at ccc.com Mon Jul 21 04:43:53 2025 From: clemc at ccc.com (Clem Cole) Date: Sun, 20 Jul 2025 14:43:53 -0400 Subject: [COFF] editor wars In-Reply-To: <7wo6tepvgh.fsf@junk.nocrew.org> References: <7wo6tepvgh.fsf@junk.nocrew.org> Message-ID: On Sun, Jul 20, 2025 at 2:29 PM Lars Brinkhoff wrote: > > EMACS ran on ITS, TOPS-20, and TENEX, but not TOPS-10. TOPS-10 had > Emacs-likes FINE and AMIS. > Thanks -- you're right. FINE was what we had on the PDP-10s, not pure EMACS, which we did not get until we started running TOPS-20. As I said, i used it for such a short time and never really mastered it but the time I switched to UNIX. Which set me on a path to ex/vi and by the time Gosling EMACS was available, I had never went back as ex/vi was getting the job done and ran on both PDP-11s and Vaxen. It was just not worth re-learning it as vi was by the, everywhere from MS-DOS to the Cray 1 and EMACS wasn't. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stuff at riddermarkfarm.ca Mon Jul 21 05:21:46 2025 From: stuff at riddermarkfarm.ca (Stuff Received) Date: Sun, 20 Jul 2025 15:21:46 -0400 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: <624db07c-7b3e-6ee3-91c5-7fd99cc846d3@riddermarkfarm.ca> On 2025-07-20 11:43, Paul Winalski wrote (in part): > I remember one amusing (to me) incident in the vi vs. emacs flame wars. > Jerry Pournelle, the science fiction author, was one of the early > adopters of the home PC.  He wrote a column on PCs for Byte magazine and > set himself up as a computer pundit.  We professional software > engineers, who worked on "real" computers, not those feeble PC toys, > held him in polite contempt. I recall one of his "Chaos Manor" columns about a UNIX-PC sent to him by ATT. The first thing inside the box was a very thick licensing agreement that he declined to sign. I use both vi and emacs. One day, I was modifying my .emacs file with vi -- I do not remember why. A colleague, walking by, asked what I was doing. When I told him, he fixed me with a cold stare, said "Scurrilous", and walked away. S. From g.branden.robinson at gmail.com Mon Jul 21 05:26:07 2025 From: g.branden.robinson at gmail.com (G. Branden Robinson) Date: Sun, 20 Jul 2025 14:26:07 -0500 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: <20250720192607.igasgoagnwks65my@illithid> At 2025-07-20T11:43:10-0400, Paul Winalski wrote: > The HF group was in the middle of a particularly viscous vi vs. emacs > flame war at the time. The world needs a formula to compute the Reynolds number of an online discussion. :D Regards, Branden -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From crossd at gmail.com Mon Jul 21 06:26:52 2025 From: crossd at gmail.com (Dan Cross) Date: Sun, 20 Jul 2025 16:26:52 -0400 Subject: [COFF] Personal Preference vs Group Productivity (was Re: [TUHS] Re: End of an era: the last ATC (USENIX Annual Technical Conference)) In-Reply-To: References: <878B2F53-F2DE-42FC-99F9-A317EA11FBED@iitbombay.org> <5wCXba6s3vZTN7uVsyRthHTn0yeKK0Cil7AUnz8USPWK2g_-qmyqwcgVM0NBhrltwTXcTlCagaCw91kqBruNyKOgFeMrTbXGNcBSPNj7OgY=@protonmail.com> <20250718100902.GI30582@mcvoy.com> <9b4bd127-5c12-40bc-81b2-f535ece830ac@gmail.com> <20250718125210.GL30582@mcvoy.com> <4c86e5b1-d694-48ef-b4ed-b0a182ba98d4@gmail.com> <20250718194349.GG8625@mcvoy.com> <6c1b72c2-97cc-480d-bf56-fcb1e1e5f726@gmail.com> <20250720075908.w6tetlcb3zhowbby@illithid> <20250720113802.GP15357@mcvoy.com> Message-ID: [TUHS to Bcc; Cc'ed to COFF to redirect for follow-ups] On Sun, Jul 20, 2025 at 8:24 AM Christian Hopps wrote: > Larry McVoy writes: > > I wasn't trying to tell Will he can't use whatever editor he wants, I was > > trying to tell Will I wouldn't tolerate this much back and forth about his > > personal preferences distracting us from shipping product. My team had > > emacs people and vi people, nobody cared so long as you got your job done. > > > > What we didn't have is editor arguments clogging up our thinking. > > To jump in here before everyone poo poos this thread too much. I agree with this sentiment when it's time to get work done. > > That said, I've enjoyed this thread b/c I like getting other peoples perspectives, especially from folks that I think have some clue. Sometimes I learn something new or a new perspective and I end up adapting new tools or practices b/c of it -- even now that my beard/hair is grey. > > I find these are actually fun conversations to have occasionally -- maybe in a cafe/bar or even on a mailing list. Maybe not everyday or all the time, but sometimes. :) I think some folks may have interpreted Larry's statements as stating that, if you worked for him, you used the tools he mandated. But I don't think that's what he meant (at least not about text editors), and I think that your interpretation is correct: use whatever works for you, but don't waste a bunch of other people's time pushing the virtunes of your preferred tools on those who already have things that work for them. I think that's fair. That said, there is a qualitative difference between the sort of banter people may bat around over lunch, and someone seriously trying to get everyone else to use their preferred editor (editors are just one example, though interesting in this regard because choosing them seems to be such a deeply personal thing). I think the discussions on these mailing lists are closer to the former than the latter, and as long as it remains friendly, I really don't see any harm in that. But this got me thinking that surely there are decisions made on a project basis, where individual preference by itself is not, and cannot be, the deciding factor for use. Perhaps the most obvious is code-formatting styles, but others may be choice of build tool, revision control system, implementation language, and so on. Where does one draw the line between the tools an individual chooses for their own use, and those mandated by the group? I suspect there is no one, good, universal answer. Take implementation language as an example: "I'll write my part in C, you write yours in FORTRAN..." sounds highly suspect at first, but _might_ make sense if "I'm" tasked with writing the IO part and "you're" taking on the numerical bits and have to interface with a numerical library written in Fortran. Indeed, I've found that when people try to define some kind of general rule for deciding this or that, they tend to be trying to simplify really complex things in a very superficial way that's not reflective of actual practice. But maybe there is some utility in thinking about this generally. Perhaps a reasonable first-order approximation for finding a dividing line might be taken from the answer to the question, "is this something that really only impacts me, or is it going to have an impact on my peers, as well?" Editors sort of make sense here; by and large, as long as I can use the tools effectively, my peers aren't going to be impacted if I use tool A to enter text versus tool B. Similarly with whether I prefer light text on a darker background, or dark text on a lighter background, what font I use, type size, what window manager I use, and so on. But on the other hand, if I demanded that I be able to use My preferred code formatting style regardless of what the rest of the code used, then that _does_ have an impact on those around me, so deserves more thought. And _that's_ the kind of thing that people can argue about endlessly until finally someone just makes a decision. I've said this before, but Google's style guides were a great case in point here. To be honest, I didn't like them and thought that the resulting code was ugly. But after a few weeks, I just stopped noticing that, and I had to admit that they were a great aid in being able to approach a codebase with billions of LOC in it. When `clang-format` came along and took out a lot of the tedium of making your code conform to the style guide, it really freed up a lot of mental capacity to start thinking about real problems, design, and so on, and not just where the braces went. But that was all predicated on someone just Making a Decision. > FWIW for coding/email/organizing/scheduling I now use some franken-setup project called "spacemacs" which is emacs, but the UI of vi, launching much faster, that uses a meta-configuration that makes it simple to enable all those features (and yes I still write lisp when needed but that's almost never to get what I want anymore). > > For quick editing I still just type `vi` and use ^Z, even though I also use tmux and long running disconnected remote sessions. Personally, I've found it very helpful to maintain some level of proficiency in a variety of different text editors, using different tools for different things. Part of this is the whole, "when in Rome, do as Romans do..." sort of thing: I'm not looking for `vi` on VMS or Multics or VM/CMS or something, but I'll also happily use emacs to write Lisp, and on plan 9, I'll use sam or acme for C or troff or whatever. On my Mac, Zed or VSCode work pretty well. On remote Unix machines, a lot of the kids are hip on this "Helix" thing these days. Speaking of plan 9.... One nice thing about a system that embraces true resource sharing is that, when one can construct an environment that contains the set of all the resources one needs to work with and then one can bring one's local toolset to bear on those resources. Plan 9, where resources are represented by files in mutable namespaces, really exemplifies this, which is distinct from a more "remote access" model, where I use something like ssh or mosh or telnet to login to a remote system. In the remote access model, I'm constrained by whatever tools are available on a remote system. So if I'm logging into some remote server over SSH or something, it's handy to know whatever editor may be on the distant end. It's a shame more systems aren't like plan 9 in this way, but they aren't, and for better or worse, I've still got to use them, and it's so much less personally aggravating to care deeply about what tools are available in that context. - Dan C. From will.senn at gmail.com Mon Jul 21 07:10:07 2025 From: will.senn at gmail.com (Will Senn) Date: Sun, 20 Jul 2025 16:10:07 -0500 Subject: [COFF] COFF Digest, Vol 78, Issue 1 In-Reply-To: <175303653734.8534.10147645064913926007@minnie.tuhs.org> References: <175303653734.8534.10147645064913926007@minnie.tuhs.org> Message-ID: <2A1DE60C-71A3-40A7-9378-317FCBBABABD@gmail.com> Reminds me of one of my favorite editors - wordstar 3… George R.R. Martin used it to write the great bulk of his works! We still carry around more baggage from this editor (arguably word processor) than most folks know . Sent from my iPhone > On Jul 20, 2025, at 1:35 PM, coff-request at tuhs.org wrote: > > Send COFF mailing list submissions to > coff at tuhs.org > > To subscribe or unsubscribe via email, send a message with subject or > body 'help' to > coff-request at tuhs.org > > You can reach the person managing the list at > coff-owner at tuhs.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of COFF digest..." > > Today's Topics: > > 1. Re: editor wars (Paul Winalski) > 2. Re: editor wars (Warner Losh) > 3. Re: editor wars (Paul Winalski) > 4. Re: editor wars (Lars Brinkhoff) > 5. Re: editor wars (Lars Brinkhoff) > 6. Re: editor wars (Paul Winalski) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 20 Jul 2025 11:43:10 -0400 > From: Paul Winalski > Subject: [COFF] Re: editor wars > To: coff at tuhs.org > Message-ID: > > Content-Type: multipart/alternative; > boundary="000000000000095b69063a5e382b" > >> On Sun, Jul 20, 2025 at 10:02 AM Will Senn wrote: >> >> I remember having discussions about vi vs emacs in the mid 1990's. I'm >> curious if those were the first public wars about editors, or if y'all >> remember earlier flamewars on the subject? >> > > I recall the editor flame wars going on in the Usenet and ARPAnet world > during the 1980s. Mainly in the Human Factors Usenet group. Within DEC's > software engineering groups the debate (not a flame war) was between TECO > and EDT. > > I remember one amusing (to me) incident in the vi vs. emacs flame wars. > Jerry Pournelle, the science fiction author, was one of the early adopters > of the home PC. He wrote a column on PCs for Byte magazine and set himself > up as a computer pundit. We professional software engineers, who worked on > "real" computers, not those feeble PC toys, held him in polite contempt. > > Then came the tragic day when AOL started carrying Usenet newsgroups. I > say tragic because there was a major culture clash between the AOL user > community and the Usenet community. Usenet messages were propagated for > the most part over low-speed dial-up connections between the various > servers. Terseness and brevity were therefore highly valued. AOl, on the > other hand, had centralized servers and, since they charged their customers > based on connect time, encouraged verbosity and garrulous writing style. > > So Pournelle got Usenet access. His professional scientific training was > in operations research and human factors, so it wasn't long before he > discovered the Human Factors Usenet group. The HF group was in the middle > of a particularly viscous vi vs. emacs flame war at the time. Pournelle > stuck his nose in and posted that his editor of preference was Electric > Pencil. This triggered a discussion about Pournelle, along the lines of: > "Who is this bozo?" "He's Jerry Pournelle, the lousy SF writer who thinks > he knows something about computers." Both sides of the editor flame war > dropped their differences and started flaming Pournelle. I don't recall > ever seeing Pournelle post on Usenet again. > > -Paul W. > -------------- next part -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 2579 bytes > Desc: not available > > ------------------------------ > > Message: 2 > Date: Sun, 20 Jul 2025 09:48:50 -0600 > From: Warner Losh > Subject: [COFF] Re: editor wars > To: Paul Winalski > Cc: coff at tuhs.org > Message-ID: > > Content-Type: text/plain; charset="UTF-8" > >> On Sun, Jul 20, 2025 at 9:43 AM Paul Winalski wrote: >> So Pournelle got Usenet access. His professional scientific training was in operations research and human factors, so it wasn't long before he discovered the Human Factors Usenet group. The HF group was in the middle of a particularly viscous vi vs. emacs flame war at the time. Pournelle stuck his nose in and posted that his editor of preference was Electric Pencil. This triggered a discussion about Pournelle, along the lines of: "Who is this bozo?" "He's Jerry Pournelle, the lousy SF writer who thinks he knows something about computers." Both sides of the editor flame war dropped their differences and started flaming Pournelle. I don't recall ever seeing Pournelle post on Usenet again. > > The more things change... You could tell the same store today about > Discord, forums, etc. > > Warner > > ------------------------------ > > Message: 3 > Date: Sun, 20 Jul 2025 14:27:42 -0400 > From: Paul Winalski > Subject: [COFF] Re: editor wars > To: coff at tuhs.org > Message-ID: > > Content-Type: multipart/alternative; > boundary="00000000000083cc2d063a6084b5" > >> On Sun, Jul 20, 2025 at 1:52 PM Clem Cole wrote: >> >> >> Also, remember that for the early DEC PDPs 1/6/10 machines, there were >> Stopgap, SonOfStopgap (*a.k.a.* SOS - which became DEC's EDIT), Teco, and >> eventually EMACS [remember UNIX emacs is a clone of the original >> TOPS-10/ITS EMACS]; and probably others that I am forgetting - those the >> ones I used in PDP-10 days. >> > > TECO (Text Editor and COrrector) was interesting in a couple of ways. All > of its commands were a single character. It was also programmable in a > very powerful way. EMACS was first implemented as a set of TECO macros > (the name EMACS is an acronym for Editor MACroS). > > -Paul W. > -------------- next part -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 1147 bytes > Desc: not available > > ------------------------------ > > Message: 4 > Date: Sun, 20 Jul 2025 18:29:18 +0000 > From: Lars Brinkhoff > Subject: [COFF] Re: editor wars > To: Clem Cole > Cc: Will Senn , coff at tuhs.org > Message-ID: <7wo6tepvgh.fsf at junk.nocrew.org> > Content-Type: text/plain > > Clem Cole wrote: >> Teco, and eventually EMACS [remember UNIX emacs is a clone of the >> original TOPS-10/ITS EMACS] > > EMACS ran on ITS, TOPS-20, and TENEX, but not TOPS-10. TOPS-10 had > Emacs-likes FINE and AMIS. > > ------------------------------ > > Message: 5 > Date: Sun, 20 Jul 2025 18:31:38 +0000 > From: Lars Brinkhoff > Subject: [COFF] Re: editor wars > To: Paul Winalski > Cc: coff at tuhs.org > Message-ID: <7wjz42pvcl.fsf at junk.nocrew.org> > Content-Type: text/plain > > Paul Winalski writes: >> Both sides of the editor flame war dropped their differences and >> started flaming Pournelle. I don't recall ever seeing Pournelle post >> on Usenet again. > > He was also kicked off ARPANET. > http://www.art.net/~hopkins/Don/text/pourne-smut.html > > ------------------------------ > > Message: 6 > Date: Sun, 20 Jul 2025 14:35:19 -0400 > From: Paul Winalski > Subject: [COFF] Re: editor wars > To: coff at tuhs.org > Message-ID: > > Content-Type: multipart/alternative; > boundary="000000000000ba9551063a609f1a" > >> On Sun, Jul 20, 2025 at 1:52 PM Clem Cole wrote: >> >> >> So features like embedded line numbers (or not) would get into the war. >> > > Line numbers of course were critically important in the punch card days. > Card columns 73-80 were reserved for line sequence numbers. Some of the > fancier keypunches could read a card deck and put the line sequence numbers > in for you. A sequenced deck was a godsend if you happened to drop the > deck on the floor. Just put the deck in a card sorter and sort on cols. > 73-80 and you're back in business. > > In editors for non-screen terminals the line numbers provided an easy way > to reposition the editor within the text stream. > > -Paul W. > -------------- next part -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 1442 bytes > Desc: not available > > End of COFF Digest, Vol 78, Issue 1 > *********************************** From coff at tuhs.org Mon Jul 21 07:26:07 2025 From: coff at tuhs.org (Warren Toomey via COFF) Date: Mon, 21 Jul 2025 07:26:07 +1000 Subject: [COFF] Code/comment Ratios Style Message-ID: I've written my fair share of code and also taught several languages. I'd estimate my comment to total LOC ratio as about 1/4 to 1/3. But I keep coming across code bases where the ratio is closer to 1/100 and it really bugs me! I just can't read the codebase and work out the nuances of what it is doing. So this isn't a rant so much as a request for alternate perspectives. If you have a spartan commenting style, why? Can you read your code and see all the implications, or do you dislike lots of comments, or do you write more external documentation etc.? When I taught, I had two mantras about comments: Code explains how, comments explain why. Code as if the person who takes over your codebase is a crazed psychopath who knows where you live. Thanks! Warren From lm at mcvoy.com Mon Jul 21 07:46:37 2025 From: lm at mcvoy.com (Larry McVoy) Date: Sun, 20 Jul 2025 14:46:37 -0700 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: <20250720214637.GU15357@mcvoy.com> On Mon, Jul 21, 2025 at 07:26:07AM +1000, Warren Toomey via COFF wrote: > So this isn't a rant so much as a request for alternate perspectives. If > you have a spartan commenting style, why? Can you read your code and see > all the implications, or do you dislike lots of comments, or do you write > more external documentation etc.? Well, in a long lived code base, comments can rot. I'd much rather have to read the code and figure it out than have a comment that is no longer true send me down a wild goose chase (it's happened more than I care to think about). I tend to comment structures quite a bit, globals and locals, have a block comment above the function saying what it is and it gets sparse from there. There may be inline comments but they need to do something a lot more useful than i++; // increment i <-- this sort of comment is worse than useless I also have a style that is int *p = 0; char *foo = 0; int ret = 0; // lots of code err: ret = -1; out: if (p) free(p); if (foo) free(foo); return (ret); } Most of the BitKeeper code follows that style, no unitialized pointers, we did use a lot of unless (p = malloc(whatever)) goto err; style of programming. Memory management in C is primitive so you have to adopt some consistent style to avoid errors just because someone did something different. > When I taught, I had two mantras about comments: > > Code explains how, comments explain why. > > Code as if the person who takes over your codebase > is a crazed psychopath who knows where you live. I always said "optimize for reading, not writing". I've also said "anything that you wrote 6 months ago, you will approach it as if it is someone else's code". From milovelimirovic at gmail.com Mon Jul 21 08:14:15 2025 From: milovelimirovic at gmail.com (=?utf-8?Q?Milo_Velimirovi=C4=87?=) Date: Sun, 20 Jul 2025 17:14:15 -0500 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: <5C33D23C-F676-4FCD-A6C1-2FB9FBE44D47@gmail.com> And nobody’s even mentioned TECO. (Where’s my asbestous suit?) > On Jul 20, 2025, at 8:52 AM, Will Senn wrote: > > I remember having discussions about vi vs emacs in the mid 1990's. I'm curious if those were the first public wars about editors, or if y'all remember earlier flamewars on the subject? Maybe KEDIT vs EDIT? I grew up on DOS, so edlin vs edit was quite the battle ground in discussions, but I don't remember flames... I find the vi/emacs divide quite insurmountable. As a vi guy, I cannot even understand emac's appeal. I've tried countless times, even going emacs only for a while... when I went back to vi, it was like old shoes, very comfortable. I didn't get the flamewar at all - you do you... but I did and still do find the passion on either side endlessly fascinating. > > Two other debates are quite similar - one to do with spaces vs tabs, the other top-posting vs bottom-posting have provided me with hours of entertainment... I prefer tabs over spaces and top-posting, but I get the other points of view on these... > > Will > From jpl.jpl at gmail.com Mon Jul 21 10:21:58 2025 From: jpl.jpl at gmail.com (John P. Linderman) Date: Sun, 20 Jul 2025 20:21:58 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: <20250720214637.GU15357@mcvoy.com> References: <20250720214637.GU15357@mcvoy.com> Message-ID: Norm Schryer used to say "If the code and comments disagree, both are probably wrong." On Sun, Jul 20, 2025 at 7:42 PM Larry McVoy wrote: > On Mon, Jul 21, 2025 at 07:26:07AM +1000, Warren Toomey via COFF wrote: > > So this isn't a rant so much as a request for alternate perspectives. If > > you have a spartan commenting style, why? Can you read your code and see > > all the implications, or do you dislike lots of comments, or do you write > > more external documentation etc.? > > Well, in a long lived code base, comments can rot. I'd much rather have > to read the code and figure it out than have a comment that is no longer > true send me down a wild goose chase (it's happened more than I care to > think about). > > I tend to comment structures quite a bit, globals and locals, > have a block comment above the function saying what it is and it > gets sparse from there. There may be inline comments but they need > to do something a lot more useful than > > i++; // increment i <-- this sort of comment is worse than > useless > > I also have a style that is > > int *p = 0; > char *foo = 0; > int ret = 0; > > // lots of code > err: ret = -1; > out: if (p) free(p); > if (foo) free(foo); > return (ret); > } > > Most of the BitKeeper code follows that style, no unitialized pointers, > we did use a lot of > > unless (p = malloc(whatever)) goto err; > > style of programming. Memory management in C is primitive so you have to > adopt some consistent style to avoid errors just because someone did > something different. > > > When I taught, I had two mantras about comments: > > > > Code explains how, comments explain why. > > > > Code as if the person who takes over your codebase > > is a crazed psychopath who knows where you live. > > I always said "optimize for reading, not writing". I've also said > "anything > that you wrote 6 months ago, you will approach it as if it is someone > else's > code". > -------------- next part -------------- An HTML attachment was scrubbed... URL: From douglas.mcilroy at dartmouth.edu Mon Jul 21 10:30:45 2025 From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy) Date: Sun, 20 Jul 2025 20:30:45 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: I just posted the most heavily commented code I have ever written. It's a radical (mis?)application of m4, which is about as inscrutable as any language short of APL. The ratio of comments to code is more than 3:1. It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be overkill, but I think 2:1 would not be unreasonable. Doug On Sun, Jul 20, 2025 at 5:26 PM Warren Toomey via COFF wrote: > > I've written my fair share of code and also taught several languages. I'd > estimate my comment to total LOC ratio as about 1/4 to 1/3. But I keep > coming across code bases where the ratio is closer to 1/100 and it really > bugs me! I just can't read the codebase and work out the nuances of what > it is doing. > > So this isn't a rant so much as a request for alternate perspectives. If > you have a spartan commenting style, why? Can you read your code and see > all the implications, or do you dislike lots of comments, or do you write > more external documentation etc.? > > When I taught, I had two mantras about comments: > > Code explains how, comments explain why. > > Code as if the person who takes over your codebase > is a crazed psychopath who knows where you live. > > Thanks! > Warren From coff at tuhs.org Mon Jul 21 10:58:19 2025 From: coff at tuhs.org (Chet Ramey via COFF) Date: Sun, 20 Jul 2025 20:58:19 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: On 7/20/25 5:26 PM, Warren Toomey via COFF wrote: > So this isn't a rant so much as a request for alternate perspectives. If > you have a spartan commenting style, why? Can you read your code and see > all the implications, or do you dislike lots of comments, or do you write > more external documentation etc.? I think the age of my code base stacks up pretty well, and I find myself commenting what I think are the complex parts and changes very heavily. Above all, I want to be able to answer this question from my future self: what the hell were you thinking? I find that I'm not nearly as clever as my younger self. Detailed change log entries are essential as well. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/ -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 203 bytes Desc: OpenPGP digital signature URL: From sauer at technologists.com Mon Jul 21 10:58:25 2025 From: sauer at technologists.com (Charles H Sauer (he/him)) Date: Sun, 20 Jul 2025 19:58:25 -0500 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: <41ca5ec4-929e-4317-b083-754df5944b2b@technologists.com> Thanks for doing this. I added dnl https://www.cs.dartmouth.edu/~doug/barem4.m4 to the top of my copy... On 7/20/2025 7:30 PM, Douglas McIlroy wrote: > I just posted the most heavily commented code I have ever written. > It's a radical (mis?)application of m4, which is about as inscrutable > as any language short of APL. The ratio of comments to code is more > than 3:1. > It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be > overkill, but I think 2:1 would not be unreasonable. > > Doug > > On Sun, Jul 20, 2025 at 5:26 PM Warren Toomey via COFF wrote: >> >> I've written my fair share of code and also taught several languages. I'd >> estimate my comment to total LOC ratio as about 1/4 to 1/3. But I keep >> coming across code bases where the ratio is closer to 1/100 and it really >> bugs me! I just can't read the codebase and work out the nuances of what >> it is doing. >> >> So this isn't a rant so much as a request for alternate perspectives. If >> you have a spartan commenting style, why? Can you read your code and see >> all the implications, or do you dislike lots of comments, or do you write >> more external documentation etc.? >> >> When I taught, I had two mantras about comments: >> >> Code explains how, comments explain why. >> >> Code as if the person who takes over your codebase >> is a crazed psychopath who knows where you live. >> >> Thanks! >> Warren -- voice: +1.512.784.7526 e-mail: sauer at technologists.com fax: +1.512.346.5240 Web: https://technologists.com/sauer/ Facebook/Google/LinkedIn/mas.to: CharlesHSauer From stuff at riddermarkfarm.ca Mon Jul 21 11:07:11 2025 From: stuff at riddermarkfarm.ca (Stuff Received) Date: Sun, 20 Jul 2025 21:07:11 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: <9cb88691-bdae-be41-de1b-fb562154b853@riddermarkfarm.ca> On 2025-07-20 20:58, Chet Ramey via COFF wrote: > On 7/20/25 5:26 PM, Warren Toomey via COFF wrote: > >> So this isn't a rant so much as a request for alternate perspectives. If >> you have a spartan commenting style, why? Can you read your code and see >> all the implications, or do you dislike lots of comments, or do you write >> more external documentation etc.? > > I think the age of my code base stacks up pretty well, and I find myself > commenting what I think are the complex parts and changes very heavily. > Above all, I want to be able to answer this question from my future self: > what the hell were you thinking? I concur with this. Some of the code we wrote was highly optimized mathematical code that was far from easy to understand. Separate documents helped but methinks our former use of noweb was better. > I find that I'm not nearly as clever as my younger self. +1 S. > Detailed change log entries are essential as well. > > Chet > From lm at mcvoy.com Mon Jul 21 12:01:18 2025 From: lm at mcvoy.com (Larry McVoy) Date: Sun, 20 Jul 2025 19:01:18 -0700 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: <20250721020118.GZ15357@mcvoy.com> Take the "." off the end of Dougs url. On Sun, Jul 20, 2025 at 08:30:45PM -0400, Douglas McIlroy wrote: > I just posted the most heavily commented code I have ever written. > It's a radical (mis?)application of m4, which is about as inscrutable > as any language short of APL. The ratio of comments to code is more > than 3:1. > It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be > overkill, but I think 2:1 would not be unreasonable. > > Doug > > On Sun, Jul 20, 2025 at 5:26???PM Warren Toomey via COFF wrote: > > > > I've written my fair share of code and also taught several languages. I'd > > estimate my comment to total LOC ratio as about 1/4 to 1/3. But I keep > > coming across code bases where the ratio is closer to 1/100 and it really > > bugs me! I just can't read the codebase and work out the nuances of what > > it is doing. > > > > So this isn't a rant so much as a request for alternate perspectives. If > > you have a spartan commenting style, why? Can you read your code and see > > all the implications, or do you dislike lots of comments, or do you write > > more external documentation etc.? > > > > When I taught, I had two mantras about comments: > > > > Code explains how, comments explain why. > > > > Code as if the person who takes over your codebase > > is a crazed psychopath who knows where you live. > > > > Thanks! > > Warren -- --- Larry McVoy Retired to fishing http://www.mcvoy.com/lm/boat From lm at mcvoy.com Mon Jul 21 12:06:38 2025 From: lm at mcvoy.com (Larry McVoy) Date: Sun, 20 Jul 2025 19:06:38 -0700 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: <20250721020638.GA15357@mcvoy.com> On Sun, Jul 20, 2025 at 08:30:45PM -0400, Douglas McIlroy wrote: > I just posted the most heavily commented code I have ever written. > It's a radical (mis?)application of m4, which is about as inscrutable > as any language short of APL. The ratio of comments to code is more > than 3:1. > It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be > overkill, but I think 2:1 would not be unreasonable. > > Doug Whenever I see something like this, it reminds me of one of my engineers who said you couldn't make BK produce json out put. Hold my beer. http://mcvoy.com/lm/bkdocs/dspec-changes-json-v.txt It's a lot less miserable than the m4 (and I'm a fan of m4). From lm at mcvoy.com Mon Jul 21 12:18:43 2025 From: lm at mcvoy.com (Larry McVoy) Date: Sun, 20 Jul 2025 19:18:43 -0700 Subject: [COFF] Code/comment Ratios Style In-Reply-To: <20250721020638.GA15357@mcvoy.com> References: <20250721020638.GA15357@mcvoy.com> Message-ID: <20250721021843.GB15357@mcvoy.com> On Sun, Jul 20, 2025 at 07:06:38PM -0700, Larry McVoy wrote: > On Sun, Jul 20, 2025 at 08:30:45PM -0400, Douglas McIlroy wrote: > > I just posted the most heavily commented code I have ever written. > > It's a radical (mis?)application of m4, which is about as inscrutable > > as any language short of APL. The ratio of comments to code is more > > than 3:1. > > It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be > > overkill, but I think 2:1 would not be unreasonable. > > > > Doug > > Whenever I see something like this, it reminds me of one of my engineers > who said you couldn't make BK produce json out put. > > Hold my beer. > > http://mcvoy.com/lm/bkdocs/dspec-changes-json-v.txt > > It's a lot less miserable than the m4 (and I'm a fan of m4). It's pretty awk inspired. -- --- Larry McVoy Retired to fishing http://www.mcvoy.com/lm/boat From grog at lemis.com Mon Jul 21 14:03:38 2025 From: grog at lemis.com (Greg 'groggy' Lehey) Date: Mon, 21 Jul 2025 14:03:38 +1000 Subject: [COFF] [TUHS] Re: Not really Emacs wars (was: foreground/background vs. Windowing) In-Reply-To: References: <73b781b8-f804-4116-8dfe-2b0af7f67506@skogtun.org> Message-ID: On Saturday, 19 July 2025 at 19:27:40 -0600, Warner Losh wrote: > On Sat, Jul 19, 2025 at 6:36 PM Greg 'groggy' Lehey wrote: >> >> [Somewhat off-topic for TUHS; please follow up at COFF] >> >> On Saturday, 19 July 2025 at 17:37:34 -0600, Warner Losh wrote: >>> >>> Also, there are no GUI emacs versions I like.. >> >> You have me curious. How many do you know? And what don't you like >> about them, when you clearly use Emacs? > > Most of the emacs GUI adaptations assume that it's THE instance of the > editor. You don't say which. I only know GNU Emacs. Looking at the FreeBSD Ports Collection, not even xemacs seems to have survived. > With multiple terminals, I can have multiple editors with different > contexts. With the GUI, it all gets dumped together. Not in my experience (GNU Emacs 29.4 (build 1, amd64-portbld-freebsd13.3, GTK+ Version 3.24.43, cairo version 1.17.4). I have four displays on my server 0, and also 4 instances of Emacs: one on :0.1 and three on :0.2. You need to start them individually, of course, but that's what shells are for. Each Emacs can open windows on other displays, and that's useful if they're on other machines, but it's not the only way. Can it be that your negative experience was with another version that has since died? What you describe sounds like my pain with web browsers. Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA.php -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From douglas.mcilroy at dartmouth.edu Mon Jul 21 21:13:50 2025 From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy) Date: Mon, 21 Jul 2025 07:13:50 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: <20250721021843.GB15357@mcvoy.com> References: <20250721020638.GA15357@mcvoy.com> <20250721021843.GB15357@mcvoy.com> Message-ID: No awk at all. Much imitation of Lisp and Haskell On Sunday, July 20, 2025, Larry McVoy wrote: > On Sun, Jul 20, 2025 at 07:06:38PM -0700, Larry McVoy wrote: > > On Sun, Jul 20, 2025 at 08:30:45PM -0400, Douglas McIlroy wrote: > > > I just posted the most heavily commented code I have ever written. > > > It's a radical (mis?)application of m4, which is about as inscrutable > > > as any language short of APL. The ratio of comments to code is more > > > than 3:1. > > > It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be > > > overkill, but I think 2:1 would not be unreasonable. > > > > > > Doug > > > > Whenever I see something like this, it reminds me of one of my engineers > > who said you couldn't make BK produce json out put. > > > > Hold my beer. > > > > http://mcvoy.com/lm/bkdocs/dspec-changes-json-v.txt > > > > It's a lot less miserable than the m4 (and I'm a fan of m4). > > It's pretty awk inspired. > -- > --- > Larry McVoy Retired to fishing > http://www.mcvoy.com/lm/boat > -------------- next part -------------- An HTML attachment was scrubbed... URL: From douglas.mcilroy at dartmouth.edu Mon Jul 21 21:19:00 2025 From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy) Date: Mon, 21 Jul 2025 07:19:00 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: <20250721021843.GB15357@mcvoy.com> References: <20250721020638.GA15357@mcvoy.com> <20250721021843.GB15357@mcvoy.com> Message-ID: No awk at all. Much imitation of On Sunday, July 20, 2025, Larry McVoy wrote: > On Sun, Jul 20, 2025 at 07:06:38PM -0700, Larry McVoy wrote: > > On Sun, Jul 20, 2025 at 08:30:45PM -0400, Douglas McIlroy wrote: > > > I just posted the most heavily commented code I have ever written. > > > It's a radical (mis?)application of m4, which is about as inscrutable > > > as any language short of APL. The ratio of comments to code is more > > > than 3:1. > > > It's at www.cs.dartmouth.edu/~doug/barem4.m4. 3:1 may be > > > overkill, but I think 2:1 would not be unreasonable. > > > > > > Doug > > > > Whenever I see something like this, it reminds me of one of my engineers > > who said you couldn't make BK produce json out put. > > > > Hold my beer. > > > > http://mcvoy.com/lm/bkdocs/dspec-changes-json-v.txt > > > > It's a lot less miserable than the m4 (and I'm a fan of m4). > > It's pretty awk inspired. > -- > --- > Larry McVoy Retired to fishing > http://www.mcvoy.com/lm/boat > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tytso at mit.edu Mon Jul 21 21:52:32 2025 From: tytso at mit.edu (Theodore Ts'o) Date: Mon, 21 Jul 2025 07:52:32 -0400 Subject: [COFF] [TUHS] Re: Not really Emacs wars (was: foreground/background vs. Windowing) In-Reply-To: References: <73b781b8-f804-4116-8dfe-2b0af7f67506@skogtun.org> Message-ID: <20250721115232.GC231115@mit.edu> On Mon, Jul 21, 2025 at 02:03:38PM +1000, Greg 'groggy' Lehey wrote: > > With multiple terminals, I can have multiple editors with different > > contexts. With the GUI, it all gets dumped together. > > Not in my experience (GNU Emacs 29.4 (build 1, > amd64-portbld-freebsd13.3, GTK+ Version 3.24.43, cairo version > 1.17.4). I have four displays on my server 0, and also 4 instances of > Emacs: one on :0.1 and three on :0.2. Yeah, it doesn't work that way for me using GNU emacs on Debian either. Many decades ago I did force the behaviour that you describe; it involved setting EDITOR to emacsclient, and then running (server-start) in my ~/.emacs.el. This was a feature back when I was running emacs on BSD 4.3 with a Vaxstation II/RC with 2 MiB of memory (Digital had put epoxy into the backplane so you couldn't add more memory to their memory-starved inexpensive model), but now that I buy my own desktops with 64 GiB of memory, I really don't care that emacs is "eight megabytes and constantly swapping" (well, not swapping; I don't configure swap any more :-) and emacsclient is more annoying than it's worth. - Ted From lars at nocrew.org Mon Jul 21 21:55:49 2025 From: lars at nocrew.org (Lars Brinkhoff) Date: Mon, 21 Jul 2025 11:55:49 +0000 Subject: [COFF] editor wars In-Reply-To: (Paul Winalski's message of "Sun, 20 Jul 2025 14:43:26 -0400") References: <7wo6tepvgh.fsf@junk.nocrew.org> Message-ID: <7wy0shoj0a.fsf@junk.nocrew.org> Paul Winalski writes: > The original version of EMACS was a set ot TECO macros. Yes, but not any TECO. The macros make heavy use of ITS TECO particulars. > TECO ran on TOPS-10, so the TECO macro version of EMACS ought to have > been able to run there, too. No, because TOPS-10 TECO was another flavor. > Or did EMACS depend on features of TECO not implemented on TOPS-10? Yes. Maybe a short history of TECO is in order. TECO started on the MIT RLE PDP-1. It was ported to the AI lab PDP-1, and made to use its display. When the AI lab traded the PDP-1 for a PDP-6, TECO was quickly rewritten for that machine. DEC engineer Bob Clements brought a copy of this PDP-6 TECO to Stanford when overseeing the installation of a PDP-6 here. He ported TECO to run on the PDP-6 Monitor and removed display features. He then brought this version of TECO back to DEC, where it because a popular editor across all of DEC's machines. This flavor of TECO was called Standard TECO. Since it developed from an an early and lobotimized TECO, it doesn't have a rich set of features. Meanwhile back at MIT, PDP-6 TECO was moved to ITS, still keeping the original display features. It developed quickly and acquired many features that never made it to DEC. EMACS eventually appeared as the culmination and merging of many display-oriented TECO macros. The combination of TECO and EMACS was ported to TOPS-20 and TENEX. By the way, there is an "EMACS-11" that runs on TECO-11, and I suppose that is a flavor of Standard TECO. From coff at tuhs.org Mon Jul 21 23:59:54 2025 From: coff at tuhs.org (Chet Ramey via COFF) Date: Mon, 21 Jul 2025 09:59:54 -0400 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: On 7/20/25 9:52 AM, Will Senn wrote: > As a vi guy, I cannot even understand emac's appeal. I've tried countless > times, even going emacs only for a while... when I went back to vi, it was > like old shoes, very comfortable. Because familiarity is very powerful. Lots of people mistake it for intuitiveness. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/ -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 203 bytes Desc: OpenPGP digital signature URL: From lm at mcvoy.com Tue Jul 22 00:12:57 2025 From: lm at mcvoy.com (Larry McVoy) Date: Mon, 21 Jul 2025 07:12:57 -0700 Subject: [COFF] editor wars In-Reply-To: References: Message-ID: <20250721141257.GF15357@mcvoy.com> On Mon, Jul 21, 2025 at 09:59:54AM -0400, Chet Ramey via COFF wrote: > On 7/20/25 9:52 AM, Will Senn wrote: > > >As a vi guy, I cannot even understand emac's appeal. I've tried countless > >times, even going emacs only for a while... when I went back to vi, it was > >like old shoes, very comfortable. > > Because familiarity is very powerful. Lots of people mistake it for > intuitiveness. So many smart people I know love emacs. I forced myself to live in it for a year, not the emacs vi mode stuff, just straigth emacs. I never got to the point that I liked it. I think it's the lisp aspect, if you don't love lisp, I don't think you'll love emacs. vi just works for me. And when I tried to get my kid to try emacs, his comment was "I've watched you in vi, it's magic, I want that". I do some simple stuff, here are the maps I use a lot: # :.,$ , !}fmt @ :1,. So I can be on a paragraph and hit "," and it is reformatted to fit in 80 columns. I can be anywhere and do "#d" and that deletes to the bottom, same thing "@d" and that deletes to the top. Apparently that is "magic" :-) From coff at tuhs.org Tue Jul 22 00:15:51 2025 From: coff at tuhs.org (Chet Ramey via COFF) Date: Mon, 21 Jul 2025 10:15:51 -0400 Subject: [COFF] editor wars In-Reply-To: <20250721141257.GF15357@mcvoy.com> References: <20250721141257.GF15357@mcvoy.com> Message-ID: <5aa82876-b245-4ab6-bede-80260fa53fbc@case.edu> On 7/21/25 10:12 AM, Larry McVoy wrote: > On Mon, Jul 21, 2025 at 09:59:54AM -0400, Chet Ramey via COFF wrote: >> On 7/20/25 9:52 AM, Will Senn wrote: >> >>> As a vi guy, I cannot even understand emac's appeal. I've tried countless >>> times, even going emacs only for a while... when I went back to vi, it was >>> like old shoes, very comfortable. >> >> Because familiarity is very powerful. Lots of people mistake it for >> intuitiveness. > > So many smart people I know love emacs. I forced myself to live in it > for a year, not the emacs vi mode stuff, just straigth emacs. > > I never got to the point that I liked it. I think it's the lisp aspect, > if you don't love lisp, I don't think you'll love emacs. I think it depends. You have to have a passing familiarity with lisp to really take advantage of GNU emacs, but there are plenty of emacs-like editors out there (I maintain one, based on microemacs from way back) that have emacs-style key bindings and similar functionality. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/ -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 203 bytes Desc: OpenPGP digital signature URL: From coff at tuhs.org Tue Jul 22 00:18:19 2025 From: coff at tuhs.org (Chet Ramey via COFF) Date: Mon, 21 Jul 2025 10:18:19 -0400 Subject: [COFF] editor wars In-Reply-To: <20250721141257.GF15357@mcvoy.com> References: <20250721141257.GF15357@mcvoy.com> Message-ID: <8009339f-09ac-4c58-8f68-df9b048272cc@case.edu> On 7/21/25 10:12 AM, Larry McVoy wrote: > I do some simple stuff, here are the maps I use a lot: > > # :.,$ > , !}fmt > @ :1,. > > So I can be on a paragraph and hit "," and it is reformatted to fit > in 80 columns. My editor does that with M-Q, using a user-settable fill column. It's second nature to me. Six of one... -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/ -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 203 bytes Desc: OpenPGP digital signature URL: From paul.winalski at gmail.com Tue Jul 22 00:24:22 2025 From: paul.winalski at gmail.com (Paul Winalski) Date: Mon, 21 Jul 2025 10:24:22 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: <20250720214637.GU15357@mcvoy.com> References: <20250720214637.GU15357@mcvoy.com> Message-ID: IMO the skill of writing and maintaining good, useful comments is one of the things that distinguishes software engineering from mere programming. I learned early in my software engineering career that sometimes even after a few months away from the code I wrote I couldn't remember all the fine details of the design. So I wrote comments for my own self-preservation, let alone giving another developer a fighting chance of knowing what's going on if they had to change my code. On Sun, Jul 20, 2025 at 7:42 PM Larry McVoy wrote: > > Well, in a long lived code base, comments can rot. I'd much rather have > to read the code and figure it out than have a comment that is no longer > true send me down a wild goose chase (it's happened more than I care to > think about). > > True, and that is why I've always considered the comments to be an integral part of the code, and when doing code reviews I've refused to approve code changes where the comments are too sparse or where the comments don't match the code. -Paul W. -------------- next part -------------- An HTML attachment was scrubbed... URL: From imp at bsdimp.com Tue Jul 22 00:24:28 2025 From: imp at bsdimp.com (Warner Losh) Date: Mon, 21 Jul 2025 08:24:28 -0600 Subject: [COFF] editor wars In-Reply-To: <7wy0shoj0a.fsf@junk.nocrew.org> References: <7wo6tepvgh.fsf@junk.nocrew.org> <7wy0shoj0a.fsf@junk.nocrew.org> Message-ID: On Mon, Jul 21, 2025, 5:55 AM Lars Brinkhoff wrote: > By the way, there is an "EMACS-11" that runs on TECO-11, and I suppose > that is a flavor of Standard TECO. > TECO-11 was, but it had didplay features. We had a screen oriented editor written in TECO that I hacked on. But it has .TES files that was TECO written with comments and whitespace. Those comment and whitespace where removed with MUNGE. There is some connection to make (which make have been part of it). There was a 60s joke burried in 'make love' where it would print 'not war' that I added to FreeBSD make for a number of years. The TECO-11 macros like this were nothing at all like EMACS. And IIIRC, many of the TOPS20 Emacs macros had migrated to assembler, at least that's what I recall seeing when I used the display macro source feature back in school. Many were still in teco and made my head spin. Warner > -------------- next part -------------- An HTML attachment was scrubbed... URL: From coff at tuhs.org Tue Jul 22 00:27:57 2025 From: coff at tuhs.org (Chet Ramey via COFF) Date: Mon, 21 Jul 2025 10:27:57 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: <20250720214637.GU15357@mcvoy.com> Message-ID: <81b42620-212e-48be-af67-0d1207323c7a@case.edu> On 7/21/25 10:24 AM, Paul Winalski wrote: > IMO the skill of writing and maintaining good, useful comments is one of > the things that distinguishes software engineering from mere programming. > > I learned early in my software engineering career that sometimes even after > a few months away from the code I wrote I couldn't remember all the fine > details of the design.  So I wrote comments for my own self-preservation, > let alone giving another developer a fighting chance of knowing what's > going on if they had to change my code. To answer the eternal question: what the hell were you thinking? :-) -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/ -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 203 bytes Desc: OpenPGP digital signature URL: From crossd at gmail.com Tue Jul 22 00:28:02 2025 From: crossd at gmail.com (Dan Cross) Date: Mon, 21 Jul 2025 10:28:02 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: Message-ID: On Sun, Jul 20, 2025 at 5:26 PM Warren Toomey via COFF wrote: > I've written my fair share of code and also taught several languages. I'd > estimate my comment to total LOC ratio as about 1/4 to 1/3. But I keep > coming across code bases where the ratio is closer to 1/100 and it really > bugs me! I just can't read the codebase and work out the nuances of what > it is doing. > > So this isn't a rant so much as a request for alternate perspectives. If > you have a spartan commenting style, why? Can you read your code and see > all the implications, or do you dislike lots of comments, or do you write > more external documentation etc.? My major gripes about comments are that people tend to write them poorly, and they aren't generally checked by the compiler/interpreter: a poor, out of date, comment can be worse than no comments. But comments also have issues around discoverability and locality; I have found that they are not good as a means for system-level documentation, serving best to explain rationale at some very local level of code. Crucially, those comments are only really useful when I already know where to look for them, and while they may explain a particular quirk of some code, they often don't help me understand the system/interface/tool as a whole. However, the "not checked by the compiler" thing has some exceptions these days. Some languages have the notion of "documentation tests", in which one can write unit tests in a comment, flanked by special syntax so that they are checked by the compiler and are executed as tests when invoked a certain way; this is useful for keeping code examples up to date as interfaces change. Rust is a good example here: https://doc.rust-lang.org/rustdoc/write-documentation/documentation-tests.html > When I taught, I had two mantras about comments: > > Code explains how, comments explain why. An issue is that people try to go beyond this and use comments for more general documentary purposes, for which they are not well suited; at least not without significant additional tooling. Google mandated that C++ header files all contain comments that described classes _and how to use them_ at length; this was useful, but sometimes really do want an external document of some kind that describes things at a higher level. But comments are just one way of introducing documentation into a system, even at the source code level. Python and many dialects of Lisp both have a notion of "docstrings", for example, that are accessible from the REPL, and serve an overlapping purpose, but are semantically different objects than comments at the language level. "Doc comments", used for automatically generating system-level documentation, are increasingly common, whether part of the language or its canonical toolchain itself, or retrofitted with external tooling. > Code as if the person who takes over your codebase > is a crazed psychopath who knows where you live. Ah, this old saw. :-) For me personally, I try to minimize my _need_ for comments, to whatever extent that I can. This may take the form of introducing a named, but perhaps otherwise unnecessary, intermediate variable to hold some part of a computation, where the alternative is to make the computation itself part of a larger expression that would then be less obvious. Similarly, I may introduce a function returning a boolean to encapsulate some predicate behind a descriptive name. If a well-aimed type can make a comment superfluous, say by encapsulating some invariant of the data, and the language supports it, then by all means introduce a new type. If this sort of technique can make a comment entirely redundant with the code, then I favor removing the comment. On a related note, John Ousterhout recently had a long-running online "debate" with Robert Martin, the agile influencer. They recorded the results of this in a text file that was then uploaded to Github; I heard about it when John wrote to the mailing list for his book, "A Philosophy of Software Design". The subject of comments featured heavily in this discussion, as Martin is infamously averse to them and Ousterhout views them as essential. You may find it interesting: https://github.com/johnousterhout/aposd-vs-clean-code I'm not sure why Ousterhout, who has a long track record of building real systems, chose to give Martin, who does not have a track record of building real systems and further displays all the trappings of a charlatan, a platform for these topics, but he did. Sadly, when Ousterhout mentioned it on the mailing list, it failed to generate very much discussion. I had my own response, much of which I cleaned up and consolidated in my own response to their Java prime number generator example, and that I pushed to Github here: https://github.com/dancrossnyc/literateprimes/ - Dan C. From clemc at ccc.com Tue Jul 22 00:36:49 2025 From: clemc at ccc.com (Clem Cole) Date: Mon, 21 Jul 2025 10:36:49 -0400 Subject: [COFF] editor wars In-Reply-To: <20250721141257.GF15357@mcvoy.com> References: <20250721141257.GF15357@mcvoy.com> Message-ID: On Mon, Jul 21, 2025 at 10:13 AM Larry McVoy wrote: > > So many smart people I know love emacs. ditto. > > > I... I think it's the lisp aspect, if you don't love lisp, I don't think > you'll love emacs. > You might have a hit on something here. I learn TECO and then, as Lars pointed out, FINE on the PDP-10s before I saw UNIX. At the same time, I had been introduced to LISP in our comparative languages course (I wrote a mancala game, and Alpha/Beta solved using it). But I was never a LISP hacker on the PDP-10s. We primarily used SAIL and BLISS, so I suspect that's why, when I finally had the chance to switch to UNIX and learned EX, I decided it was too much trouble. There were just too many commands and weird sequences to learn again; I wasn't as good with it, so I gave up. I also suspect that since >>UCB<< original version of ex/vi was ubiquitous (and had been ported to PCs and eventually TOPS-20 but my PDP-10/20 days were long gone). The fact was that Emacs was not in those days (yes, there were lots of flavors, but each was different for the pc's, but it was not on other UNIX systems for a while), so that may have tainted my thinking. But when it did show up, Gosling EMACS (which begat Gnu) != Zimmerman Emacs [similar to the nvi/cim war of today]. However, I suspect that if I had grown up in the Lisp world, the comfort of having that would have been a strong drive to want it everywhere. But without that, the (re)learning curve was just too high and I >>was<< comfortable. It got the job done. BTW, I feel the same way about troff and LaTeX. I gave up Scribe from the PDP-10s/20s when I went to UNIX. The tool I had was nroff/troff. I became very proficient with it - better than I had ever been with Scribe. Scribe became unobtainium and Tex became the standard in PDP-10 and VMS land. Then folks tried to import a lot of Scribe into Tex, creating Latex, but by the time I had access to it, it was just too different; it was not worth the effort. -------------- next part -------------- An HTML attachment was scrubbed... URL: From will.senn at gmail.com Tue Jul 22 00:45:49 2025 From: will.senn at gmail.com (Will Senn) Date: Mon, 21 Jul 2025 09:45:49 -0500 Subject: [COFF] editor wars In-Reply-To: <5aa82876-b245-4ab6-bede-80260fa53fbc@case.edu> References: <5aa82876-b245-4ab6-bede-80260fa53fbc@case.edu> Message-ID: I love lisp, but emacs, not so much. I do a lot of different operating systems and I found vi to be much more consistent, but I’m not knocking emacs, just not my cup of tea. Will Sent from my iPhone > On Jul 21, 2025, at 9:15 AM, Chet Ramey wrote: > > On 7/21/25 10:12 AM, Larry McVoy wrote: >>> On Mon, Jul 21, 2025 at 09:59:54AM -0400, Chet Ramey via COFF wrote: >>>> On 7/20/25 9:52 AM, Will Senn wrote: >>> >>>> As a vi guy, I cannot even understand emac's appeal. I've tried countless >>>> times, even going emacs only for a while... when I went back to vi, it was >>>> like old shoes, very comfortable. >>> >>> Because familiarity is very powerful. Lots of people mistake it for >>> intuitiveness. >> So many smart people I know love emacs. I forced myself to live in it >> for a year, not the emacs vi mode stuff, just straigth emacs. >> I never got to the point that I liked it. I think it's the lisp aspect, >> if you don't love lisp, I don't think you'll love emacs. > > I think it depends. You have to have a passing familiarity with lisp to > really take advantage of GNU emacs, but there are plenty of emacs-like > editors out there (I maintain one, based on microemacs from way back) > that have emacs-style key bindings and similar functionality. > > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/ > From lm at mcvoy.com Tue Jul 22 01:00:54 2025 From: lm at mcvoy.com (Larry McVoy) Date: Mon, 21 Jul 2025 08:00:54 -0700 Subject: [COFF] editor wars In-Reply-To: References: <20250721141257.GF15357@mcvoy.com> Message-ID: <20250721150054.GG15357@mcvoy.com> On Mon, Jul 21, 2025 at 10:36:49AM -0400, Clem Cole wrote: > On Mon, Jul 21, 2025 at 10:13???AM Larry McVoy wrote: > But I was never a LISP hacker on the PDP-10s. We primarily used SAIL and > BLISS, so I suspect that's why, when I finally had the chance to switch to > UNIX and learned EX, I decided it was too much trouble. There were just > too many commands and weird sequences to learn again; I wasn't as good with > it, so I gave up. Please don't take this as an insult, Clem, you know I respect the heck out of you. And we've shown to have similar approaches to a lot of stuff, so in my view, maybe we have similar brains. At least in my case, I don't consider myself to be as smart as most of the really smart people I've worked with. In order to keep up, I had to work harder than they appeared to work. I'm wondering if maybe us "less smart" people, just don't have the extra cycles it takes to love emacs? Is it possible that if we had cycles to spare, we'd like emacs too? Is it possible that it takes more cycles to run emacs effortlessly? Maybe we like vi because it takes less of our brain so there is more left over for the actual work we are trying to do? And I don't consider myself or Clem to be not smart, we've both done a lot that shows intelligence. But I absolutely do not consider myself to be the smartest of the smart, not even close. On the last team I built, all of the core of that team were crazy smart, way, way ahead of me. It was hard work to keep up with them and I didn't always keep up. One of them read string theory papers in his spare time "for fun" he said. Bigger brain than mine for sure. --lm From clemc at ccc.com Tue Jul 22 01:05:56 2025 From: clemc at ccc.com (Clem Cole) Date: Mon, 21 Jul 2025 11:05:56 -0400 Subject: [COFF] Code/comment Ratios Style In-Reply-To: References: <20250720214637.GU15357@mcvoy.com> Message-ID: On Mon, Jul 21, 2025 at 10:24 AM Paul Winalski wrote: > .. that is why I've always considered the comments to be an integral > part of the code, and when doing code reviews I've refused to approve code > changes where the comments are too sparse or where the comments don't match > the code. > Amen. I've mentioned this to Paul before, but Mary Shaw's trick from the old CMU sophomore software engineering course was spot on. You were 3-4 person teams, and the entire class was working on the same project [when I took it, we were building an airline ticketing and equipment reservation system]. The first part required each team to write a specification for the project (which was collected and compared/graded against one that TAs had written). Then the TA gave everyone their "common" spec, which your team started to program for the first part of their spec. Then, two weeks later, the TA handed over your codebase to another team (and you were given the code from another team still). This process was repeated over the 12 weeks, 4 or 5 times as each part of the project was completed. You were not allowed to use your code base; instead, you had to build on the base provided by the TA for each section. [There was an escape clause of going to the TA if the code you got was a disaster, but then you got a different group's code, and you just lost time working on the earlier version - so it was easier/faster to fix any bugs you found]. People never wanted to be cursed by their classmates. The first thing you always did was do a code review and then run both the tests you had been given and your own against the base to see what you had. As a result, the students learned to write code that was clean, well-tested, and properly commented and documented, because their peers would be reviewing and depending on it. If you were serious, you certainly did not want to get a reputation for writing crap. The sad part is that I believe CMU discontinued that course a few years ago, because the graduate student TAs hated it. It could be a tremendous amount of work for them. BTW: IIRC that course was when I had a future Turning Award winner as well as someone else who would make a name in the Multics community as programming partners. Clem -------------- next part -------------- An HTML attachment was scrubbed... URL: