Egregoros

Signal feed

Timeline

Post

Remote status

cli tools not just walking me through it and instead having me ace the flags, is really just a niggerlicious holdover from the 80s and I don't care that I'm a noob and don't have 20000 hours grinding away at moldy ass system code.

it should be able to detect if you were running from cli or a shell script, and if it is the former, it should just tell you what it is gonna do if you hit enter, which is the default, and if you want something else just have a little wizard that assembles the command into a line at the bottom so then when you walked through the options, you have
>$ foo --flag-one 12 --flag-two /path/to/file ...
and so on and then you just hit enter and it runs it and you can copy-paste the command for later.

I really don't see what the problem is just doing it like that except it would take a bit of work to set up the wizard. if everything had wizard support though, you could make it be "$ wizard foo" though, instead of "$ man foo" and then it wouldn't really take that long to make one

RT: https://poa.st/objects/d58b406a-d72c-430b-8755-e6a35c5bae4d

Replies

50
@WandererUber i'm not really up to speed on generating autocomplete scripts, but maybe they'd get you 85% of the way there
feels like there has got to be an autocomplete for yt-dlp out there somewhere, path that bitch and see if it works?
i think most cli tools just want you to make your own shell scripts if you want to get froggy
i mean it's not a crazy idea, but we can't get peeps to settle on config file formats, an auto-generated logic tree for cli options will just cause total war and everybody gets killed
@JoshuaSlocum >an auto-generated logic tree for cli options will just cause total war and everybody gets killed
I know, that's what I'm saying. This is bad. We should instead do that. Get off my ass with your bs and just make the utility you provide as frictionless for the user as possible.
I'm not saying it should replace anything, I just think the default mode shouldn't be "either you remember all the flags and put them in the right format or I crash and tell you to read the man page"
it should be I run it and like in counter-strike I press 1 2 8 4 for my loadout. Like even tar's obtuse xyge options would work better than yt-dlp, is my point. Just give me options and let me learn them over time if I actually need them. It's insane to have a fucking MANUAL just to make a COMPUTER which is ten trillion times faster than I am, extract the audio from a youtube video. Just ASK me and do it, preferably while the video is already downloading but that's going too far
@WandererUber i mean, that's a fine idea as far as it goes, but linux cli tools historically are loathe to fiddle with things because some bit of perl script that is currently keeping the world financial markets from imploding depends on the options being stable
IIRC homebrew does a lot of these things and tosses them in /etc/bash_completions.d or something like that
(i don't use homebrew anymore because in the past it made such a goddamn mess of things i had to exorcise my mac and now i'm gunshy)
in any event any wish that this glorious future will come to pass is for naught because people will just ask an LLM to spit out whatever command is needed and that'll be the Done Thing until the sun burns out
@WandererUber interestingly (well, interesting to me anyway), i've been teaching teenagers how to navigate the command line
i understand the frustration as well as anybody could
but as i told the kids who more or less ask the same questions you're asking, developer time is a zero sum game
have you ever looked into how a man page is made? there are tools to make it simpler, but even so, groff is like it's own DSL
for pretty much all commandline tools, the man page is the single source of truth outside of reading the source
if you're going to ask the developers to also generate something on top of that, man, that's not going to happen
spend some of your own precious time and come up with an interactive shell script wrapper for yt-dlp and see how easy (or not) it is to do so, maybe you'll get an idea of the complexity of this
for that matter, bone up on some tcl/tk and make a gui version, that's kind of tcl/tk's raison d'etre, and tcl is pretty simple
@WWIII_ENJOYER @WandererUber i suppose it could be as easy as what he imagines
i vaguely recall various olde timey OSes that had something along these lines, which is basically a method for self-discovery
but the unix ways became The Way, and it's far too late to turn this ship around now
it's like those nerd-funny checklist responses on "So you think you have a solution to fix spam emails, and here is why you are wrong"
https://atarax.is/posts/spamsolutions/
@WWIII_ENJOYER @JoshuaSlocum it's really water upon my mill that writing a man page is also its own huge thing, because basically all I'm proposing is an interactive man page, or at least have some pages of the manual be interactive and walk you through the common options.
You're not discussing the utility, you're not discussing if it is "the way" to do it, you're not even explaining why what I am talking about would be comparatively hard. In the end you just want to signal that you are an expert. Which is especially stupid because I never even said it was easy or was naive about it. But apparently is/ought goes over your head. very silly. Let's just have an actual discussion about it, like Joshua and I did.
@WWIII_ENJOYER @WandererUber okay, i dug through my brain (i googled increasingly absurd things until i found it) and what i was thinking of was Pick OS
"discoverability" may be an overly generous adjective for it, but it was supposed to be extremely easy for non-sysadmins to run and use, so i'm going with that as an example
when i first read about it i looked into it a bit and found it terribly interesting, and not just because it was made by a guy named Dick Pick
@WandererUber @WWIII_ENJOYER >it's really water upon my mill that writing a man page is also its own huge thing
well, not really
it is done that way for historical reasons, and changing it in a substantial way has not yet proved worth the trouble
(see: GNU's info pages not doing much of anything at all outside of GNU tools)
the basics of your idea isn't particularly new, OpenDoc, CORBA, OLE are at their core a version of this sort of thing, and none of them caught on
partially because "oh God, not another thing", but also because the complexity of this sort of thing grows exponentially and turns into a mess quite quickly
the history of computing is bad ideas getting baked in "because compatibility", but nobody complains too much so long as the unix "do one thing, use text streams for I/O, never bathe" way is followed
@JoshuaSlocum @WWIII_ENJOYER The point is that building man page is not "the easy thing" and what I said "the hard thing", that's what's water upon my mill. They're already investing a ton of time into it, just into something, that was my initial claim, is inferior.

please don't explain to me why it is the way it is. I know that.

>OpenDoc, CORBA, OLE
not at all what I am talking about
Bro thinks about some weird architecture changes when all I want is a literal wizard so I can learn the tar flags on the go. Why are the simplest things the hardest to explain?
@WandererUber @WWIII_ENJOYER i understand what you're saying, and i'm giving several examples to explain why it's a) not practical, b) difficult even if it was practical, and c) unlikely to make much headway
i think your incessant need to find conflict where there is none is getting in your way
but i'll try once more
if you read any man page for a sufficiently complex tool, you'll find something that says "this switch has no effect when this is called with this other switch", or "this switch does not work unless you also declare a file path"
it's full of these things, and the current way to handle user failure to use the tool correctly is to throw an error
that is (2) places where these cases are handled, explaining what you need to do and handling what happens if you do it wrong
those are not going away, but now you want to add... something, i'm not entirely sure what, but i imagine it as tab-completion, which will add a third place to put this information, with all the concomitant tests needed
i'm not sure how else to put it other than this is difficult
if you want to say "it should have been done better," well, yeah, and we should have picked our own cotton too, that's done now
fwiw, there is nothing stopping you from writing a new tool that will divine exactly what you want from the man page
call it "magicnigger"
you type "magicnigger tar" and then start tabbing
it will do whatever magic you can invent by sorting through the man page and offering options, with the accompanying text
you will go mad at some point, but there it is
btw, a lot of tools have some version of what you're talking about, "command help <whatever switch or option you want to know>"
it's not interactive as you're talking about, but it's there
but complaining about how all those programmers did all this work and they didn't do it to your liking and they're stupid because of that is pretty nigger tbh
@JoshuaSlocum @WWIII_ENJOYER you keep going off into the woods and that is why I think you still DON'T understand what little I even was proposing, actually.
But you can continue to talk about the intricacies of complex cli tooling when literally all I wanted is not have to remember what the silly flag is called for the most common operation of a small tool, nothing 100% nothing that covers weird edge cases on IBM mainframes from the 90s or what have you, just something that covers the basics.
If I want something custom, I need to read the manual. I know that.
If I go to youtube, I don't have to read the manual to know how to search. Imagine if websites worked like CLI tools. If you didn't go to youtube.com/search?q=foo then it wouldn't do it.
That is stupid. If I need the most common functionality of a cli tool, it can just open, I hit 3 for "3. Audio extraction, as mp3" and it prints all the flags, does it, is done.
@LivingSpaceStudios @professionalbigot69 idk if it's that deep for the thing I want. I mean text user interface is one thing, but this is just a wizard but on the command line.
I don't wanna click around with the mouse like a retard, keyboards are just faster. and just making it a bit faster and less annoying was the whole point. and people be chewing my ear off about conventions and unix architecture 💀
@WandererUber @WWIII_ENJOYER >That is stupid. If I need the most common functionality of a cli tool
often found in the "EXAMPLES" section of the man page, so now i'm not sure if you've even read a man page
but previously you wanted in-line explainers for every switch for tar, so yeah, i guess i don't know what you're asking for, but in my defense it seems you don't either
@JoshuaSlocum @WWIII_ENJOYER I do. You just don't understand it because you think it's good for some reason to remember the flags and input them manually. I don't understand why you think this, but you do. It was literally just a small little annoyance that I felt like talking about, but all you experts kept jerking each other off about how it's "junior" to say this. Which it isn't. Because it's not a huge change that would require tons of hours or something computationally unusable, just a small UX improvement.
@WandererUber @professionalbigot69 To be honest, most of the old conventions and contrivances are based around hardware that was slower than most modern calculators that they give to school children.

In the modern era, there's nothing actually stopping anyone from developing a command line program that automatically does manual lookups and suggests common command line strings to the user similar to the auto complete systems available in every modern programming IDE.

It's always strange how people push beginners to use the command line in Linux and then poopoo fixing Terminal or Konsole to make them more useful or user friendly.
@LivingSpaceStudios yeah. I've been reading the unix haters handbook a bit since Lain recommended it to me a couple times, and they have a point with some of it, I gotta say.
All these silly contrivances people have stacked and stacked for decades at this point are just cruft and they feel cumbersome and stupid.

>developing a command line program that automatically does manual lookups and suggests common command line strings to the user similar to the auto complete systems available in every modern programming IDE.
that's actually super cool and if if it did that by building a db of all available flags that would be even better. What's crazy is that even less than that is apparently too much to ask. Stuck in the 1980s forever