Isn’t this what ctrl+r is for? 😅
Yesterday I showed a local business owner how he could set up the signboards and menus in his shop using a raspberry pi. The guy is a windows guy. the second he saw the boot screen he balked. I told him they needed to be set up one time and the rest of the time he could manage them with a windows program (winscp). I don’t expect to hear back.
They fear CLI.
Another local guy had a huge archive of forestry images. They were all folders that had been renamed for the location and time they were taken but underneath they were all the standard filenames you get from a digital camera. It was nearly twenty years of pictures and he was getting five figure quotes to rename them all to match the folder names. I told him I could build a script to do it so he brought me one of his backups and I promptly did it using CLI before I was going to build a script. The next day he calls to say he talked it over with one of his vendors and they decided to drop their price down to a two thousand dollars. He wasn’t interesting in me doing it. I hung up and a few years later when he called me to come fix something someone had messed up I hung up again.
I have no doubt the people he was talking to did something similar probably using bash scripts. So now when I tell someone I can sort out their file naming or some other sorting task I don’t let them see how I do it.
Where do I get the $2000 bash script gig?
I was gonna charge the guy 500 dollars to rename thirty thousand images to match the directory names. Since the guy had switched cameras several times it would have involved more than one simple script but I wasn’t being paid for the script. I was being paid to do the job. Except my bash prompt scared the guy. The truth of it is he used me to leverage the company that specialized in data recovery into lowering their price down to a still absurd but much smaller amount.
Its not the first time I’ve seen it but when they do something like that to me they burn a bridge.A related scam is charging absurd amount to convert and catalog microfiche to images or PDF’s. Granted a machine to do this quickly and efficiently is in the 10 to 20 grand range. The process is boring and repetitious and in no way worth the amount some companies want to charge.
It’s is not either or. Also good cli require an eye for design just like gui. Lots of cli suck because there is no eye.
Yeah I totally agree. But still, I feel like there are much more terrible GUI programs out there than terrible CLI programs. The only truly awful CLIs I can think of is that tool for managing MegaRAID controllers that has the weird abbreviations everywhere, and shell interfaces to GUI-first bloatware like Dconf that were probably added as an afterthought. I think with CLI there’s only so many things that the developer can fuck up. It’s all just text. Meanwhile with GUI there are endless opportunities for truly horrid design. Think of Teams. Think of the github web interface. Think of the r*ddit redesign. Or go watch that Tantacrul video on Sibelius. CLI could never have such a breadth of terribleness.
i raise you the man command
Manpages are great though? They’re not the best if you need examples, but as a reference for the behavior of flags? I love’em.
Install tldr if you haven’t already
Eh, I’m fine with man pages. I looked at tldr before, but I’ve been using the command line for many things almost exclusively for like 10+ years now. I usually just need the reference details.
But that’s why I love tldr!
It gives written examples of a handful of the most common use cases with a super brief explanation. It’s perfect for quick reference.
But you do you, I don’t own any tldr stock or anything.
thanks for the reminder! I’ll try it out
The good thing about CLIs is that if they suck too much, you can easily create a wrapper around them.
Arch’s package manager is pretty terrible.
Here’s two commands. See if you can guess what they might do:
pacman -S package_name pacman -Syu
Solution
The first command installs a package.
The second command updates all packages.I believe, there’s some sort of logic to the letters, but man, most users seriously do not care. They just want to install, update and remove packages 99% of the time, so they shouldn’t need to learn that intricate logic for three commands.
I guess, you could usepkcon
to do that instead, but that doesn’t really help new users…You think that’s bad? For as much as I love seeing a well-configured Nix system, it’s beginner-unfriendly learning curve is almost as bad as “compile everything yourself” distros.
As a beginner, do you have a question about Nix? RTFM. You did? Well, wrong Nix. You wanted to learn something about Nix the language, but those docs were about Nix the OS and Nix the package manager.
You just read a guide for using the nix command and wanted to install a program with nix-env? That’s an outdated guide. You should be using flakes and
nix profile
. You tried that, but it said the nix command is experimental so you didn’t do it? No, you were supposed to edit /etc/nix/nix.conf to enable them first.Don’t get me wrong here though, I like Nix. It just desperately needs an actual beginner-friendly beginner guide for flakes and
nix command
commands that doesn’t assume everyone is a software developer. 80% of the Nix documentation tutorials aren’t even relevant to regular users, only package maintainers and NixOS users.Arch presumes that the user has some familiarity with CLI tools and can read documentation. You couldn’t even install it without using the terminal until archinstall became a thing. If it’s an issue, Arch is the wrong OS for you.
Besides:
pacman -S
- synchronises packages between the remote and local repo.pacman -Q
- queries the local repo.pacman -R
- removes packages.pacman -F
- queries the files of a package.
Et cetera.
I figured, I’d ruffle some feathers by saying that. 😅
But yeah, I stand by my point. Just because your target users are capable of dealing with complexity, doesn’t mean you should be making use of that rather than simplifying usability, since your users have plenty other things they could be learning instead.I will caveat that I can see it becoming worth it to learn an intricate logic for a power user, when things fall into place and make sense at a higher level as you learn more about it.
But in my experience, that’s just not the case with package managers. You need a few specific commands to be obvious and then the special cases can be obscure flags.Ui designers should not presume people are familar with the ui. That’s not design.
I only learned what
pacman -Syu
meant, after literal years of typing it in not knowing anything other than “this updates the packages”, because I got curious and googled it.To me it was just an adeptus mechanicus incantation.
EDIT: And I still have no clue how ‘y’ translates to ‘refresh the database’. Like. Sure. S to synchronise from the server to the computer. And u to mark for update all the updatable packages. But – Why the fuck is ‘y’ the refresh?
The
y
stands for “yoink the database”./s
I think they either just ran out of letters, or
y
was seen as reinforcing the action (as in “yes, download the database too”), withyy
being an even stronger action (“yes, download the database even if there’s nothing to update”).
AFAIK, arch never pretended to cater to new linux/cli users, I’ve always read it as a recommandation for advanced (or at least comfortable with reading docs and using CLI) users.
My first time using arch required me following the arch wiki for install and when I finally got a working system (I’m as bad at following tutorials as I am at following cooking recipes) thepacman
commands were not something I struggled with.
But yeah coming from Debian where I had the gloriously intuitiveapt
syntax, I get your point.Advanced users would still benefit from good design.
I do agree, I’m just not surprised it wasn’t done this way at the start and I’m not bothered enough by it to want a change.
I mean, the reverse is also true, people have memorized which buttons, menus, etc they need to click/drag with do be productive. Sometimes i m OK with all the clicking, but most times I just want to do the thing now.
Type 3 words or click through 9 context menus. 😅
Yeah exactly ANY interface made by humans speaks a design language, and it’s only “intuitive” insofar as the user understands that language. There’s nothing inherently “intuitive” about GUI, it’s a language that you’ve learned through a long process of trial and error. This is painfully obvious to anyone who’s ever had to help Grandma reset her gmail password out over the phone. Same for CLI. At first you’re copy-pasting commands from tutorials and struggling with man pages, but after a while you get used to the conventions. You learn that
-h
helps you out and--verbose
tells you more and so forth. You could make the case that the GUI design language is more intuitive because it’s based of physical objects like buttons and sliders that many people are familiar with, but honestly ever since we abandoned skeumorphic design that argument rings a little hollow.That’s a very nuanced analysis. I’ve explained it this way especially to people who describe themselves as “bad at computers”. Hey, give yourself a break, you’ve learned a lot about how to cope with windows. But this investment leads to a conservatism— they dont want to learn coping skills o a new system. The devil you know.
I’d just add that GUI is more discoverable. When faced with a terminal, what to do? Whereas with a GUI you have a menubar, some icons etc. The GUI gives a lot more hints.
In the terminal (which I love) it is more powerful once you know how to crack the lid.
Exactly. You need documentation to figure out how to do anything in a CLI, and if you forget it’s back to the documentation, but a GUI exposes all its commands immediately, allowing the user to find things on their own.
Except the iOS UI, which is heavily reliant on gestures with varying numbers of fingers, pressure dependent touch commands that are difficult to pull off consistently (seriously, how the hell do you deliberately do the multi-select drag thing?), and hidden menus that are exposed by dragging in from specific portions of the screen at specific angles with no hint that they’re there.
This is an incredibly sane dissection, wasn’t expecting it under a meme
That’s it, I need to hook up a controller to my PC so I can open Htop with a button press
btop could be pretty controller friendly
I love btop!
Personally I just run gotop at startup and keep it on my second monitor. I know it’s a small waste of resources but I enjoy watching the blinkenlights.
If you’re on Xorg, you can also use xwinwrap to make gotop (or any other app) your wallpaper btw. Kinda useless on a tiling WM tho
Make all your windows translucent!
Just use a MIDI controller or an Arduino button box. You can do it!
What are you, a Tintin villain based on Greek stereotypes?
Almost as painful as using vim on your phone without an external keyboard
I genuinely use vim inside of termux on a daily basis. I dunno if I’m sick in the head or what, but I kinda like vim on my phone.
What keyboard do you use? Do you need something like Unexpected Keyboard, or are you still able to be productive in vim with a more “standard” Android keyboard?
Just default Gboard. It’s not pleasant, but it’s good enough for most of what I do.
Yeah I was gonna say that while it sounds completely unusable, it’s surprisingly not too bad actually. Some of the more complex shortcuts can get pretty tedious, but nothing that a good config can’t solve.
I remember once my friend’s laptop died, and while it was in RMA he was using his phone with an external keyboard and mouse to develop a webapp lol. Just goes to show that any computing device that can run a web browser and VIM covers 90% of your daily software needs haha.
“i shouldn’t have to memorise commands just to do basic tasks”
me:
There is nothing productive about searching online for some stupid command that is outdated for 2 years, breaks some shit and then you need another 2 hours to unfuck it because it’s not obvious from the long noodle of a command how to revert it. For something that could just be 3 clicks through control panel that every idiot could navigate without having to use online search engine.
I agree. For regular user facing tasks, the terminal should be a last resort. I say this as someone who will happily defer to the terminal if I need more advanced control. But when basic configuration is subject to just CLI, it’s not as accessible as it could or should be
There are two different “efficiency” and “simplicity” perspectives clashing here. If you already are proficient with the CLI it’s arguably more efficient and/or simple than GUI solutions. If you are not then there’s literally a steep learning cliff in front of you, something many in the first group apparently either forget or otherwise want to ignore. It just sucks, some people in the community do have a lot of knowledge but a complete lack of understanding for people outside of their tech bubble.
Most cli tools have a -h or a tldr entry.
Or a man page
Bold of you to assume that someone struggling with basic cli tools would read a man page.
You’re the type of guy we’re making fun of btw
It’s not the own you think it is…
So, I wonder what happens if we add an option for every single one of those tasks in the UI? O right!
msvc.exe is calling!
Why are you entering commands that you read about online without knowing what they do? There’s a running joke that you need to enter
rm -fr /
to remove the French language from your system; it actually wipes the entire disk mounted to/
.When you know what the commands do, using the terminal is always going to be faster (i.e., more productive) and use fewer system resources than using a GUI. That’s just a fact, sorry if it annoys you when people point it out. Whenever I need to move a lot of stuff around, I will always use
mv
instead of Thunar (my file manager) even though I prefer a GUI for most tasks.Go to a free online AI (or run one locally) and ask it your Linux questions.
That way you won’t have to dig around old forums for answers.
this method saved me years of useless search for real
Windows kept making things easier so people could let their brains rot away.
Software would be more useful if every end-user program has both GUI and minimal TUI modules, as in Dolphin vs cp, mv etc.
Why?
GUI: Year of the Linux smartphone
TUI: Automation, scripting.
For a program at work the scripting language is Delphi and the Documentation is not available. If you want to know something call the support. CLI is not an option.
It’d be really useful to have a CI run, but that is never going to happen.
TUI is a subset of GUI that uses text in a terminal to render UI elements. It does not make automation any easier. What you want is called CLI.
The only thing worse than reading documentation/tutorials about how to do things in GUIs is writing documentation about how to do things in GUIs. It’s just screenshot after screenshot. And following it is like playing a ScummVM game, only less fun and lots more alt+tabbing.
Screenshots? Look at Mr. Speedy Pants over here!
In my experience, half the time it’s a bloody YouTube video. Nothing says “fun” like having to seek back around in a video to find the next step without waiting 20 extra seconds because you already had to seek back and pause the video after it breezed past an overcomplicated and poorly explained step.
Unregistered hypercam 2 + notepad instructions + evanescence is an aesthetic tho
And the audio is text to speech because it was created by some 12-year-old neckbeard (is that a contradiction?) who is too embarrassed to use their voice on the video they made just to get likes and subscribers.
My experience has usually been someone with a very thick accent and an incredibly crappy microphone.
Or loud crappy generic music with notepad open for captions.
If the GUI is good, then it’s self documenting.
I’ve got a new favorite quote: “I don’t need tutorials, I need verbose tooltips.” -Wonderbot
Whenever someone cries about the command line, I just post the link to Cookie clicker for the mousers out there
chad move tbh
Fucking terminal, in many of them ctrl+c and ctrl+v don’t even work. and don’t get me started on how they implement ctrl+z. I’m waiting for a terminal to have the ms-office ribbon menu bar before I’ll use it.
For anyone having the copy-paste skill issue, try
Ctrl+Shift+C
andCtrl+Shift+V
.
I use both Windows and Linux. I also mess around with github programs here and there and they almost all require use of a command line to install or manipulate. And because a command line intrinsically is going to inform you way too little or way too much about what you are doing I end up having way more technical issues because I don’t realize I’m missing a dependency or I glazed over an error that popped up in a sea of text during installation.
Linux’s leaning on CLI is good for extremes: ultra-techy programmers and perfectionists and the exact opposite: people who just want internet and a word processor (who will install like basically nothing anyway so CLI wont bother them and probably keep them from breaking something in a GUI settings page).
People in the middle who are semi-techy end up annoyed because if they want to do some middle of the road changes to their system they have to use a command line or even code something themselves. Instead of just using a search engine to find the 1 out of a billion different little windows based applications that already exist to do the small yet very specific thing to a “good enough” level. Which just requires a minute or two of internet research, clicking download, waiting a bit, then installing a thing. Some of those tasks you can do while doing something else.
Or yes, maybe they end up needing to edit an ini file or a registry file (very rarely in the latter case).
Basically I’m talking about tech users that always use the path of least resistance rather than the most advanced or custom. People who want to do 20% of the work to get 80% of the results.
It’s all a matter of preference anyway (assuming you have both options anyway). CLI is less intuitive and takes longer to learn, but can be wicked fast if you know what you’re doing. GUI is more intuitive and faster to pick up, but digging through the interface is usually slower than what a power user can accomplish in the CLI.
It depends on what your use case is and how you prefer your work flow. The only dumb move is judging how other people like their setup.
A Windows or LInux evangelist who’s also vegan - now that’s a formidable combination.