Something that stuck with me from a previous job is the quote: “don’t underestimate things that have survived many attempts to kill them.”

Think: DNS, bash, C, TCP.

These things have survived this long for a reason. Find out the reason.

Another quote from the same job, upon receiving a page: “I don’t know what this service does, but I can tell you it isn’t doing it.”
@samwho a sense of humor always appreciated
Good lord, people are interpreting this as me saying these things are Good and should not be replaced.

It’s about figuring out what’s truly important. Sometimes good enough is good enough.

I’m glad we’ve all had fun with this.

@samwho also the replacement cost should be considered

@samwho I'm not sure I've seen an argument that Bash is bad, exactly. Weird, I'll grant you. But bad?

(I use Zsh. Feel free to take that as bias in either direction.)

@fishidwardrobe @samwho If you ask me, the inconsistency makes it bad. A weird amalgation of Ksh, Csh, Bourne, ... . Just looking at the huge man page (around 70-80 when printed!) makes me stop wanting to use it 0:-)
@ljrk @samwho Well, compared to what? Zsh doesn't even fit on one man page! I agree it's complex, but it's doing a complex job… and it may have been born (or Bourne…) from a bunch of weird parents, but it's the reference/standard now.

@fishidwardrobe @samwho Compared to /bin/sh :-)

And that's literally standard!

@ljrk @samwho Okay, point. (Although on most distros now, sh is just bash wearing a mustache and glasses. Same executable.)

@fishidwardrobe @samwho Absolutely, but at least in sh compat mode (which also zsh is able to do). I think Debian still uses dash(?)

The nice thing about sh is that the standard's description of it, + a whole BNF grammar + a man page for every POSIX mandated CLI tool together is the same amount of pages w.r.t. documentation. Learning sh is *much* more simple, as is looking up it's behavior.

Of course, sh is still... itself rather crude. And while Bash does attempt to fix that, it adds too much cruft itself to be worthwhile if you ask me :-D

@ljrk @samwho Sounds as if we basically agree. Sh is too basic but Bash is a bit wild.
@fishidwardrobe @samwho Definitely very basic, although I'd argue that most more complex scripts should be written in a more typed language. Personally, I'd like to see something like GoScript or whatnot :-)
@ljrk @samwho This is going to date me, but I miss TCL.

@fishidwardrobe @samwho I mean, we've been talking about ksh and csh already, Tcl can't worsen this :-p

It's great old tech, I mean, Tcl even predates me by 10 yrs but I still had the ... pleasure? to work with it? :-)

@ljrk @samwho At least it's both more powerful and more consistent than shell script, while at the same time being at the command level.

Weirder still, though.

@fishidwardrobe @samwho Oh definitely! My first exposure to Tcl (and Tk) was the TeX Live installer GUI (+ much Perl sprinkled in). Fun times!
@ljrk @samwho I still use plain Tex. It's probably my weirdest personal IT choice… :/

@fishidwardrobe @samwho I know a few people who do! I'm not completely happy with LaTeX and also going back-and-forth to ConTeXt as well, but due to work and other things I usually need to deal with LaTeX itself.

Plain TeX and Metapost are fun though!

@ljrk @samwho I just wish the official reference for Tex wasn't $$$$. I *should* switch to Markdown for my writing. I should. But I don't think I can downgrade.

And Latex is too noisy. I just want text with a bit of Markup in it, but smart quotes and margins.

@fishidwardrobe @samwho You mean the TeX Book? The sources are online, so you can read it that way if you want?

I often need/want custom environments for things like exercises/solutions which I can conditionally compile. Works with TeX but at that point I am effectively reimplementing LaTeX :D Also, LaTeX is nice for helping write German text since KOMA script adjusts a lot of the US centric defaults to German typography standards. IIRC you can use it with plain TeX as well, but at that point... the complexity of KOMA is enough to warrant just using LaTeX ...

Markdown is definitely nice, I use it for my blog through pandoc but also sometimes for authoring simple documents with ConTeXt as an intermediate stage for nicer typography.

It does lack things like being able to use thin-space for German abbreviations like `z.\,Bsp.` as well as `\@` for marking full stops where the TeX heuristic fails. OTOH, one should just not use abbreviations in printed text and I should just use pandoc+Markdown more.

Also, https://www.quarto.org exists to offload certain things to Julia/Python/... . Reminds of the pipe+filter approach taken in roff.

In that regard: BWK is a hard-core roff user, even typeset the beautiful (!) Go book in good old roff (although using GNU/roff).

Quarto

An open source technical publishing system for creating beautiful articles, websites, blogs, books, slides, and more. Supports Python, R, Julia, and JavaScript.

Quarto
@samwho Yup. "Find out the reason" doesn't rule out "the reason is silly" lol.
@samwho Well, in the case of the One True Programming Language(tm) that's the truth -)

@samwho

cf Chesterton's fence

@idlestate yes! I think my team at work are sick of me talking about Chesterton’s fence.

@samwho with every one of those things it’s a combination of entrenched infrastructure, laziness, and conservatism.

The history of tech is about human factors, and we shouldn’t underestimate how regressive and lazy people can be.

@samwho cpp, ssh, vim, emacs, there are more of them.

RegEx... spreadsheets... spreadsheets as database... COBOL as insurance processing code... the QWERTY keyboard... the DVORAK keyboard... mechanical keyboards & rubber-dome keyboards...

@samwho @danyork

@samwho Recently read a very strong and opinionated paper trying to replace all of TCP and felt the same. The author had a **LOT** of credibility, but still felt quite off reading it.

@samwho @jartigag

“The only thing you can guess about a broken down old man is that he is a survivor.”

— “Joe Sarno”, The Way Of The Gun

@samwho As a large scale networker I am deeply amused by the various attempts to replace TCP without understanding why it ate the world.

@samwho server_templates.borg? 🙂

Mind you, then end is in sight now. Or possibly it's an oncoming express train.

@samwho Classic Chesterton's Fence.

@samwho @genehack see also: vim, emacs, irc.

Heck, two of those have been actively trying to put each other out of the running for decades now.

@samwho imap, smtp, http, html, lucene, solr — maybe not the best at the job, without all the bells and whistles, but good enough and free

@samwho @saraislet A collection of tools that “get things done”™

Not always pretty, not always elegant, but when push comes to shove…

@samwho Satan. Satan is the reason.

@samwho I've programmed both Bash and C.

One of my last projects involved MS-DOS. 

@samwho Related 1989 essay: The Rise of Worse is Better https://dreamsongs.com/RiseOfWorseIsBetter.html

#unix

Rise of Worse Is Better

@samwho part of it is higher level than that - POSIX is what's behind most things that reach a certain critical mass and anything newer is always going to struggle
@samwho @tchambers Worked in Bell Labs, used C on a DEC VAX & 68000 microcomputer both running Unix. Moved to Switzerland, started IBM PC project & told them needed C compiler, they said pick one & buy it. Bought Lattice C (later Microsoft C) & wrote an email system with it using IBM PC, DEC VAX, Unknown Unix computers. Best part of C was hardware control on IBM PC, wrote serial port controller in Assembly & linked to it directly from C program 🙂