← Back to context

Comment by jrmg

20 hours ago

Now I’m wondering how you could create ‘uncomfortable’ versions of simple command line tools (ls, cat, more etc.) or perhaps shells.

Emacs and/or vi, depending on your inclination, have text editors covered already, of course ;-)

Require interactivity (ask for confirmation on cat).

Output success error codes in unexpected range (see: robocopy).

Use special characters to try TUI things but leave the buffer in weird states.

Have many input params, and default to the most useless ones when nothing is passed. Make some params unnecessarily required.

Go on very long tangents for no reason in the manpage, but keep your -h message as just the list of badly named params.

Use stderr as your stdout.

---- I present to you worse-cat:

wcat notes.txt

error: --encoding is required. Exiting.

wcat --encoding=utf-8 notes.txt

┌─────────────────────────────────┐

│ About to display: notes.txt │

│ Are you sure? [y/N/maybe]: │

└─────────────────────────────────┘

y

stdout: ≈3 paragraphs

stderr: [file content]

echo $?

212

(I'll save you the manpage and worse-ls)

Ah yeah thats a cool (coding) exercise! Friction is always an interesting parameter (like Brian Eno Oblique Strategies). Maybe… using a different input device than a keyboard to interact with the CLI? Like move your mouse around to choose or even draw letter?

Well, bash offers vi and Emacs as editing modes. We're already covered on that front. Many of the parameters for ls are cryptic, making it awkward to use for anything other than routine tasks without referencing the man page. more is so limited that many people choose to use a program used to concatenation files (cat) as a file viewer. Those who don't want to reach for their mouse to use their terminal's scrollbar buffer will use less, since it does more than more. Don't bother parsing that last sentence with bison, unless you have a yacc to shave.

Easier to find uncomfortable websites. Back in the 90s with all the Flash, lots of peeps said these sites made them uncomfortable because they couldn’t figure out how to do anything. Couldn’t figure out the navigation.

I instantly recalled a site from this era and amazeballs it’s still there! Superbad.com All hail!

The lowest-key example of this is tools that enforce a particular order of arguments, or where the order of arguments carries semantic meaning. It's the worst. Please don't make me put the file name last, or first. You don't know which part of the command I'm tweaking.

jus used new ubuntu instead of ifconfig (weird name) it had ip couldnt figure from the help how to get actually show the ip

so linux is already there

  • Yeah, Linux has been trending to incomprehensible commands.

    In terms of usability, moving to FreeBSD from Linux is quite a positive experience. Pity that hardware and software support is limited on the BSDs.

Feed all command output through AI to summarize the results instead of actually giving the results.

Results from ls would be a few sentences explaining the types of files in the directory. Add a -l on there and it will give you a general overview of the permissions and size of the files. Ex. “These are rather large files that are primarily, but not exclusively, limited to root.”

Results from cat would give a summary of the file. You’d get the same results, with some degree of randomness from more and less as well.

Using any command with sudo would provide the same type of results, but in all caps.

Trying to pipe commands together would be a slop multiplier.