bhtooefr is a user on mastodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

@Elizafox At a certain point this just becomes a criticism of doing anything more than automation in a shell

@Elizafox One thing I think is undercriticized about modern shells is that they still are used like when we first thought them up in the 80s. Your example of the background jobs is a really nice one, since the functionality is good but the usability is terrible - the most many people know about it is "put & to make it go away after pressing enter"

bhtooefr @bhtooefr

@elomatreb @Elizafox A related thing I think is a problem with most modern shells is discovery.

That'll always be a problem with CLIs - you have to know some things to get started. I think it could be better, though.

If I type "ls" on a *nix box, I'll get a directory listing. But, what if I want to customize that listing?

I try "ls -?" to get help, and get an error, but also a mostly useless usage message.

I then do "man ls", and get this monstrosity that pulls me away from my task.

· Web · 2 · 5

@Elizafox @elomatreb Here's where I annoy the Fediverse by talking about IBM i.

On that platform, the equivalent command to "ls" is "WRKOBJ" (note that IBM i tends to use a very rigid three letter word vocabulary in its commands, which ALSO helps discovery some - odds are good that WRK, CHG, CRT, DSP, or STR are going to be the first three letters of your command).

If I issue "WRKOBJ", I get this.

@elomatreb @Elizafox I didn't give it enough arguments, because it needs to know what objects I want to work with, unlike ls (where it assumes I want all files in my current directory).

So, it popped up a form, populated with default values for the things that have defaults.

I can even drill down further, let's say that I'm not sure what my options are for Library. I can hit F4 on that field, and get this. Now I have some more examples to choose from.

@Elizafox @elomatreb So, I've decided I want all objects in the current library (the closest equivalent to just firing a "ls"). This is what my prompt looks like right before issuing the command.

@elomatreb @Elizafox Let's say I want to run that command again, though. Now that I know a bit more about the system, I don't want to go through the form all over again, and I want the values I had before. At my main menu, on the command line, I hit F9, and get this.

Now I know that I can just enter this, and get all objects in my current library. Or, I can change that to, say, "WRKOBJ OBJ(QGPL/*ALL)", to get all objects in the IBM-provided general purpose library.

@bhtooefr @Elizafox I really appreciate these interfaces, they feel really cybre :)

But I feel like this is just trading one kind of complexity for another, now I'd have to consult the manual to see what object types are and what libraries are, etc.

mhm 🤷

@elomatreb @Elizafox FWIW, the point in this case wasn't really to talk about objects vs. files, or libraries vs. directories.

Really, I was going for the user interface of popping up a prompt to provide arguments to commands where you don't necessarily know the syntax or all of the arguments.

I'll use PWRDWNSYS as another example, as it shows another part of this. I can choose how I want to power down, the delay, whether to restart, and where to start from next time - the common options.

@Elizafox @elomatreb Note the "F10=Additional parameters", though.

If I hit that, I get some lesser-used options, that some people will care about - in this case, how the subsystems (which hold the equivalent of daemons) shut down, what happens if it takes too long to shut down, and whether to confirm the shutdown.

A UI like this could be used by a designer to simplify discovery of the more important options, rather than overload a new user with less-relevant options like a man page does.

@elomatreb @Elizafox And, also, part of the point here is the contrast with man pages as the main method of discovery on a *nix system.

They're a good thing to have around, but I'd like also like a form I can fill out with the options I want - it doesn't pull me entirely away from my task, but rather allows me to continue entering my arguments in a more guided fashion. (Also note that in IBM i, if I've already entered some arguments and hit F4, it pre-fills the form with those arguments.)

@bhtooefr @Elizafox I'm not entirely sure about this, because while the huge amount of options is intimidating and/or unwieldy, each individual option is there for a reason and can be useful (speaking as someone who likes weird not necessarily needed things like --group-directories-first)