RE: https://techhub.social/@rayckeith/116370449957346533

Didn't Windows 95 do this too?!?

For fuck's sake, Apple, get your shit together and stop reinventing 30 year old 32 bit Windows bugs!

@cstross Such bugs are far older than that.

The place I studied as an undergrad had a PDP-10 for campus-wide time sharing. ca. 1979 official IT staff (not that they were called that) moved most of their effort to getting new VAXes going as replacements. As part of that, they cancelled the weekly downtime to run diagnostics on the PDP-10.

That revealed a long-standing bug in TOP-10: some internal counter (I forget what, can't have been simple uptime in clock ticks on a system with 36-bit words) overflowed after about a month of uptime, causing havoc.

I forget whether DEC supplied a fix, IT staff (or us students helping keep the -10 running) rolled our own, or we just scheduled monthly reboots.

@oclsc @cstross TIMEVX:: forever! (I may boot up a VMS emulator and see if mined still compiles on it, someday).

@oddhack @cstross I was happy to leave VMS behind when I left California. I wish I could do the same with Linux and return to something that really feels like Unix, but that doesn't exist any more.

Need to find time to assemble, at long last, my PiDP-11 and run 7/e on it.

@oclsc @cstross Free/OpenBSD do not count?
@oddhack @cstross Both have cat -v and worse.

@oddhack

For context:

The -v option to cat was introduced to AT&T #Unix in 1987 with System 5 Release 3, so @oclsc is looking for something that's older than even late 1980s #Unix.

I don't know what old versions of #Xenix one could get up and running nowadays.

@cstross
#cat #retrocomputing #ComputerHistory

@JdeBP @oclsc @cstross for more context see Norman's paper here: https://vtda.org/pubs/AUUGN/AUUGN-V04.2.pdf
@oddhack @JdeBP @cstross Oh gawd, I'd almost forgotten about that.

@oclsc @JdeBP @cstross that title will be with me until the day I die.

But more to the point, you're making not just the same philosophical point, but some of the same examples today. Consistency FTW!

@oddhack @JdeBP @cstross It's been a few decades. I should read it again.

What really disturbs me about it is how much less energy I have these days. And, to a lesser extent, that it's just not possible for a single person to do that sort of work today, when just the OS kernel is two orders of magnitude bigger. Likewise the sort of stuff we did at the Labs.

@JdeBP @oddhack @oclsc @cstross

I attended a mid-80s Unix conference (Toronto) where Rob Pike complained that “cat went off to Berkeley and came back waving flags”. I think his talk was an early exploration of what would become known as “the Unix philosophy”

@lain_7

It's interesting that not even Pike's paper gives an indication of who actually originated the -v option to cat.

The contemporary literature that I have kept explicitly says that it was new in S5R3, but alas covers AT&T better than BSD.

It doesn't say whether AT&T #Unix got it from BSD or vice versa.

@oddhack @oclsc @cstross
#cat #retrocomputing #ComputerHistory

@JdeBP @lain_7 @oddhack @cstross cat -v came from Berkeley. Rob didn't give a Usenix talk until 1983 but -v existed (and was a target of various naughty emotions amonst us purists) in 4.0 BSD. I just checked my paper copy of the 3BSD and 4.0 BSD manuals; the latter is dated November 1980.

One example of the wrongheadedness (at least as people like me see it): the same cat had options -n and -s to number lines (something pr could already do) and to remove empty lines (sed '/^$/d' works fine).

I think it was Rob who also wrote vis, a little tool that did nothing but convert control characters to visible form. Because that was its primary purpose, it was not intrusive for it to have flags to leave tabs alone and to elide rather than convert unprintables.

@JdeBP @lain_7 @oddhack @cstross
On the other extreme, I think there was a slightly-later Berkeley cat that had an option to report the time, in seconds, it would take to transmit a file via uucp, allowing for protocol overhead, and with yet another option to specify the modem speed in bps. That's the real poster child for bilge-worthy changes to cat. To their credit, after a change in who officially shepherded BSD releases, Berkeley removed that a year or two later.
@oclsc @JdeBP @lain_7 @oddhack There was some hilarious bullshit in the commercial UNIX sector, meanwhile. SCO bought an unlimited SVR3.2 license some time around 1989. But when SVR4.x came out, AT&T wanted more money than SCO could afford. So internally SCO white-room cloned SVR4, keeping only the SVR3.2 copyright headers intact so they could sell their product as "UNIX ™". Then they added a bunch of stuff to bring it into compatibility with X/Open Portability Guide 3 spec. And worse.
@oclsc @JdeBP @lain_7 @oddhack Basically SCO's marketing team wanted a checkbox list of features their enterprise customers were demanding that required SVR4.3, but weren't willing to pay for a 4.3 license, so they shoe-horned it into SVR3.2 at great expense.

@oclsc

Interestingly:

vis has apparently never made it into Debian Linux or Arch Linux (where the command of that name is a text editor), or RedHat Linux. I wrote a multi-platform tool that generated vis-encoded output, and I had to write a minimal unvis for piping its output into on Linux-based operating systems.

FreeBSD, OpenBSD, NetBSD and their derivatives all have #vis. But Illumos and its derivatives do not.

@lain_7 @oddhack @cstross
#Unix #ComputerHistory

@lain_7 @JdeBP @oddhack @cstross I'm pretty sure `Unix philosophy' as a term predated that conference by some years. Certainly the philosophy itself dated back to the early 1970s.

It was in fact Rob who removed from cat the one flag it gained in the Seventh Edition system.

@JdeBP @oddhack @cstross From 1984-1990 I worked in the Bell Labs Computing Science Research Group, the folks from whom Unix originally came. At the time we still ran our own Unix; colloquially we called it Research Unix for cultural reasons.

Our cat had no options at all; it just read as much as it could in each go and wrote the same amount, so -u was no longer needed. That's the way cat should be.

That the completely different group responsible for the commercial System V product, in a completely different part of the company in a facility four miles from Murray Hill accepted that abomination was irrelevant to us.

Research Unix wound down not long after I left, though there is no direct connection between those events.

My standards are unreasonably high, yes. We were an arrogant bunch, yes. But philosophically we were right.

The even-greater iconoclasm visible in Plan 9 comes from the same place.

@oclsc @JdeBP @oddhack @cstross My eye saw "Our cat had no options at all" first, and I wondered what your feline was being subjected to before I read the start and end of the post.

@SteveBellovin @oclsc @JdeBP @oddhack @cstross

I had the same reaction because of the picture, then it clicked. 🤣🤣🤣

@SteveBellovin @JdeBP @oddhack @cstross I had no cats when I lived in NJ. Alas.
@SteveBellovin @oclsc @JdeBP @cstross we could do a survey of what options people have/like and tag it something unique like... hash CatsOfMastodon.

@oclsc @JdeBP @oddhack @cstross

Wait, cat has options?!

Why?

@oclsc @oddhack @cstross There is now a build-a-Linuxoid-from-scratch in 30K SLOC (https://fiwix.org), so perhaps an ultra-old-school UNIX usermode from scratch could make an equally worthy project?
Fiwix :: your small UNIX-like kernel

Fiwix is an operating system kernel written from scratch in ANSI C, based on the UNIX architecture and fully focused on being Linux 2.0 i386 ABI compatible.