Live data from Hacker News

You Don't Need a GUI

github.com

61–70 of 439 posts

Re: You Don't Need a GUI

#61
post #58

Once learned the GUI actions are impossible to forget. Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list. The reason is simple: the brain can associate the GUI actions to many concepts from the real world. CLI concepts exist on computers and nowhere else. That knowledge is too abstract and too expensive to be kept unused in our brain's cache non-stop.

Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list.

As someone who uses both GUI and CLI, and has taken month-long travels where I don't use a computer at all, I don't think this is true, at least for me. CLI is like a language; once you've really learned, it takes a long time to forget.

Re: You Don't Need a GUI

#62
I think many people are missing the point. I'd say the emphasis in the title is more on the "need" than the "don't".

Sometimes, you're in the terminal and something needs to be done quickly and knowing the correct command might be the best option. The author is merely trying to help people out with some useful commands for these instances.

I would, however, prefer that the author recommended using the interactive and verbose option for commands like `cp`, `mv` and `rm`, which I've personally found super helpful. Here's what I have in my `config.fish` (with a bonus for cp that preserves "mode, ownership and timestamps"):

alias rm="rm -iv"

alias mv="mv -iv"

alias cp="cp -piv"

Re: You Don't Need a GUI

#63
post #33
post #5

Most the things in this list are things that you technically don't need a GUI for, but a GUI is so much better that doing it in command line is pointless. For instance, you could do all those file operations in the terminal, but chances are you're already browsing files using a GUI file manager so opening a terminal to do those things is pointless. Terminal is great if you want to do something complicated that a GUI…

No kidding. I laughed at this part: "STOP DOUBLE CLICKING ON A FILE " "Instead type '$ xdg-open file'" Yeah, because that's way faster and more convenient than double clicking on an icon. This one is great too: Don't open the file explorer! Instead you should type "find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'" Seriously?

Yeah, because that's way faster and more convenient than double clicking on an icon.

It is if you happen to have both hands on the keyboard.

That said, I usually navigate a GUI file explorer using the keyboard too, so pressing Enter to open a file is even faster.

(This comment was submitted entirely using the keyboard.)

Re: You Don't Need a GUI

#64
post #58

Once learned the GUI actions are impossible to forget. Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list. The reason is simple: the brain can associate the GUI actions to many concepts from the real world. CLI concepts exist on computers and nowhere else. That knowledge is too abstract and too expensive to be kept unused in our brain's cache non-stop.

It used to be the case. These days I find that online GUIs (but not only) change every few days completely messing up any muscle memory.

Re: You Don't Need a GUI

#65
post #32

Earlier quoted context omitted.

Undoing isn’t a feature of a GUI though, but rather running in a context that maintains history/state. There’s no reason a command line program couldn’t do something like this in theory.

No need to be abstract and think of “theory”. Vim for example has undo.

Yep, Vim is the first thing to come to mind. I'm not sure there's any program with better undo-ability.

I also am not quite sure what the post above means by "GUIs support undo". Yes, most apps,e g., on Windows, support CTRL-Z for undo. But this functionality depends on each app implementing its own undo, nothing OS-wide, and results will vary. I'm not sure what there is in GUIs that supports "undo" other than an app/user convention like CTRL-Z, which hardly seems to rise to the level of "supports undo".

Re: You Don't Need a GUI

#66
post #39

Earlier quoted context omitted.

Undoing isn’t a feature of a GUI though, but rather running in a context that maintains history/state. There’s no reason a command line program couldn’t do something like this in theory.

It's been 50 years. Why doesn't bash in a friendly system like Ubuntu have undo for mv.

alias undo=mv $2 $1

Re: You Don't Need a GUI

#67
post #60
post #58

Once learned the GUI actions are impossible to forget. Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list. The reason is simple: the brain can associate the GUI actions to many concepts from the real world. CLI concepts exist on computers and nowhere else. That knowledge is too abstract and too expensive to be kept unused in our brain's cache non-stop.

That seems like a poor rule. As a dev and systems engineer those shortcuts are codified in my head, but I've noticed other devs won't even know simple ones. I've taken months off and not forgotten them. GUIs change, get deprecated, can vary by medium etc... so the same can be said for them. Generally, whether I'm making a CLI or a GUI, I establish contracts for display, input, and output. This at least allows for som…

I struggle with memorizing CLI commands' parameters and special characters. This happens with git commands too and I use them all the time. Something like CLI autocomplete would be awesome.

Re: You Don't Need a GUI

#68
post #10

I’d argue that if you’re using an ncurses based UI, you no longer have a command line interface, and you’re not scriptable anymore. Which is fine of course, but what you really have at that point is a rather ugly and limited GUI...

I agree. Although for most tasks I tend to prefer having a command line interface, just because of things like programmability and my typing speed, I'd be lying to go as far as to say the CLI is _always_ the best way to do something. For example, I like to construct git commits using a GUI, since I'm faster at selecting lines to commit than I am sifting through potentially hundreds of changes looking for the right on…

> For example, in the command line, deleting a file doesn't send it to the "Recycle Bin" or your OS's equivalent, it simply deletes it.

Use trash-cli: https://github.com/andreafrancia/trash-cli

Re: You Don't Need a GUI

#69
post #9

This is terrific. But... GUIs support the concept of undo. It would be great if all shells indicated the command to undo what you just did, and you could turn off that warning message with an environment variable. And, almost none of these work in the Windows command prompt. I've tried powershell and while there are some great ideas, nothing behaves as I would expect after using bash for 20+ years. These are the reas…

Undoing isn’t a feature of a GUI though, but rather running in a context that maintains history/state. There’s no reason a command line program couldn’t do something like this in theory.

> There’s no reason a command line program couldn’t do something like this in theory.

Which makes it all the more infuriating to the user that they don't.

Re: You Don't Need a GUI

#70
post #58

Once learned the GUI actions are impossible to forget. Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list. The reason is simple: the brain can associate the GUI actions to many concepts from the real world. CLI concepts exist on computers and nowhere else. That knowledge is too abstract and too expensive to be kept unused in our brain's cache non-stop.

Being away from the computer for two weeks will make you forget 80% of the CLI commands from the author's list. As someone who uses both GUI and CLI, and has taken month-long travels where I don't use a computer at all, I don't think this is true, at least for me. CLI is like a language; once you've really learned, it takes a long time to forget.

Yeah, like a language. However if I ommit a commmmma or mispel or abbreviate smth you'll still be able to understand me. A computer on the other hand...
Post reply on HN