Live data from Hacker News

You Don't Need a GUI

github.com

321–330 of 439 posts

Re: You Don't Need a GUI

#321
post #38

Earlier quoted context omitted.

A fair part of what I do includes ERP implementation project work. Way back, when TUI/keyboard centric ERP system dominance was starting to give way to GUI/mouse centric ERP systems, I was working with one client where replacing a TUI with GUI based system. One measure we made during the project was the impact to new employee training time and we saw significant reductions in training time due to the sorts of discove…

Have you looked into pgcli, psql is great but pgcli is a little nicer. https://www.pgcli.com/

I have, but it's been awhile since I looked. My recollection was that it felt sluggish, but that might be a false memory. I think what it brings to the table is helpful, but not enough for me to warrant it's use. When I'm writing simpler queries at the command line, I'm usually well within my knowledge of the databases I'm writing for or would have to appeal to something like the table definition anyway... which as I recall I couldn't really do in pgcli (start writing, flip to the table definition, pick up where I left off).

When the sorts of things that pgcli does becomes most helpful is when I'm writing functions and procedures, but then the command line isn't well suited for that. That's where I'm finding something like DataGrip helpful: a database tool focused on development rather than administration. DataGrip has a lot of faults, but for the past couple of weeks I've been using it, it's been on balance a win.

Re: You Don't Need a GUI

#323

GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file, including some third party programs). But it's bad for composing programs and interoperability, often it's impossible or very hard to automate (how many people are doing UI testing? there is a good reason it's not many -- it completely sucks) TUI/console is very good for interoperability…

> I can right-click to see everything that can be done with the file, including some third party programs

Everything? Almost certainly not! That is the main problem with GUIs. The "everything" is defined by the programmer, not the user. Sometimes that works for you, sometimes it doesn't.

It's important not to confuse TUI with "console". TUIs are essentially the same as GUIs in this discussion. CLI (console) is completely different. CLIs use a language to describe what you need. To use an analogy, imagine ordering food in a restaurant. You could get away with pointing at the menu as long as you're happy with getting the default configuration. If you want to ask for no cheese, or less mayonnaise, you have to use language.

Re: You Don't Need a GUI

#324

Earlier quoted context omitted.

Agreed. It's not easy to accidentally wipe your entire home directory in the GUI, but it's just 9 keystrokes away on the CLI

its 5 keystrokes away on a gui ctrl+a shift+delete enter

Come on. Those are three separate actions of which the last one is to "confirm" the deletion in a modal dialoge. Hardly the same as one command in the CLI. Also if that would really happen, you can go into the trash folder and restore the items. AND of course that would only affect the current directory whereas `rm -rf ~` is a different story.

Re: You Don't Need a GUI

#325
This is an outdated guide. Most of the tools here are genuinely poor replacements for their GUI counterparts. However, there are many alternatives superior to their GUI versions.

If you want something better than Activity Monitor– tells you what (which process?) is lagging your computer, and how (RAM, CPU, or swap?)– with an overall slicker interface, try:

    glances
If you want something better than weather.com– no ads, fast loading– try:

    curl wttr.in
Better than spotlight– full-text search over 128GB drive in less than 30s– try:

    rg "query"
Force quit a program, try:

    pkill -9 ProgramName
Suspend a program and un-suspend it later, try:

    pkill -STOP ProgramName
    pkill -CONT ProgramName
View content of a file with syntax highlighting, try:

    bat file.py
Open a file and copy it to your clipboard, try:

    cat image.png | pbcopy
Go to a recently visited folder with autocomplete that works reliably, try:

    z foldername
Convert units– faster than typing into Google, try:

   units
Find a file by name faster than Spotlight:

   locate "pear" # finds ~/pear/readme.txt, ~/pearidea.txt
To move and copy individual files around, activate the GUI:

   open .
These are just a few examples of CLI tools being superior.

Re: You Don't Need a GUI

#326
GUIs were introduced pre-internet.

Now my discovery process for how to accomplish something on nix typically involves search and most likely Stack Overflow.

The surprise here is that in this context text commands are more* discoverable and easier to communicate than UI flows.

Re: You Don't Need a GUI

#327
post #296

I'm not sure if this is satire or not, but certainly the single worst case of using a terminal is file manipulation. Nothing will ever beat the right-clicks or Ctrl+C/Ctrl+V combos. It's just more natural to "see" things that you move. Now when it comes to more complex applications, I'd stop using the CLI if I had to search the manpages or the internet each time for doing something I already did previously. Since I d…

> It's just more natural to "see" things that you move. This is the fallacy of logos. When I was learning about files and filesystems, the GUI had not even been invented. It is certainly not natural to me to conceive of file operations as cartoons moving around on a TV screen. What's happening here is you're mistaking what you may have first learned for what is normal or natural. That it seems normal or natural to yo…

When I say "naturally" I'm talking about the way we, as humans, naturally interact with our environment. Sight may be the most important of our senses. We don't give orders to physical objects when we want to move them. I guess that's why we call files, well, "files".

Now, as others have pointed out, when it comes to specific operations involving redundant tasks, it's obviously easier to use CLI (`rename JPG jpg *.JPG`, etc.) (though in the case of mass renaming, it's less confusing to use Thunar's Rename right-click option).

Re: You Don't Need a GUI

#328

Earlier quoted context omitted.

The practice you recommend was basically codified as IBM Common User Access, now recognized by some as the UX convention of IBM mainframe software --- one component of CUA was a list of available actions and their assigned function keys, at the bottom of the screen. CUA itself was not widely used, but was highly influential in IBM's greater orbit of software vendors, including Microsoft. As a result, many, but not al…

You touch upon the problem. The space is actually bidimensional instead of unidimensional. On one axis we have graphical (raster mode) at one end and text at the other. On the other we have as you calld them action-oriented (WIMP) and line-oriented (I would call it command-oriented). There are text mode action-oriented apps: ncurses/turbo vision/etc. based applications like *Commander, or the old Borland IDE, or Tild…

> There are text mode action-oriented apps: ncurses/turbo vision/etc. based applications like Commander, or the old Borland IDE, or Tilde, or the old FoxPro, or plenty others.*

These are graphical programs, just with a substandard drawing api.

Re: You Don't Need a GUI

#329

GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file, including some third party programs). But it's bad for composing programs and interoperability, often it's impossible or very hard to automate (how many people are doing UI testing? there is a good reason it's not many -- it completely sucks) TUI/console is very good for interoperability…

A fair part of what I do includes ERP implementation project work. Way back, when TUI/keyboard centric ERP system dominance was starting to give way to GUI/mouse centric ERP systems, I was working with one client where replacing a TUI with GUI based system. One measure we made during the project was the impact to new employee training time and we saw significant reductions in training time due to the sorts of discove…

All GUI apps should be controllable entirely through the keyboard.

This is generally true of built in Windows applications (even if the transition to ribbon interfaces complicated flows). It is spotty for third party applications.

Unfortunately on Linux, at least on KDE (I don't like Gnome since v3), keyboard navigation is broken even on default applications like Dolphin or Discover.

Mac OS, I remember (Tiger -Lion) being pretty good.

Re: You Don't Need a GUI

#330

Earlier quoted context omitted.

What about a system that shows actions in a GUI as a list of equivalent plain text commands. New users would have the discoverability of a GUI while being able to see what goes on command-wise. With time they would be able to convert to plain-text commands and scripting for increased efficency.

AutoCAD sort of does that - actions can be launched both via the GUI and the command line, and all actions launched via the GUI also appear in the command line history, so you can pick up the names of the commands over time as you're using them (alternatively, they're also mentioned in the mouseover tooltip in the GUI).

More applications should do this.
Post reply on HN