Live data from Hacker News

You Don't Need a GUI

github.com

351–360 of 439 posts

Re: You Don't Need a GUI

#351
post #328

Earlier quoted context omitted.

> 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.

You did not get the point the parent (me) and grandparents made. They are not graphical programs. They are generally recognised as TUI programs. If these are graphical then so is Vi or the fancy powerline prompt. Our point was that you can also have command lines in graphical applications and WIMP in text mode applications. https://en.wikipedia.org/wiki/Text-based_user_interface https://en.wikipedia.org/wiki/WIMP_(co…

Actually even this two axis classification is imprecise. CLI programs like the coreutils are actually sort of missing a user interface. They are just programs that receive arguments on launch.

How should we classify the following?

- Programs like coreutils that receive arguments and return a result

- Programs that start a menu or wizard in text mode

- Programs that start a interactive command line like various database CLI interfaces, shells

- Programs like Vim that have a TUI and are command line driven.

- Programs like Tilda that have a WIMP TUI

I think the last four have graphical equivalents (eg. Windows installers, Jupyter, VSCode, Notepad++ respectively) and what is missing is a graphical interface for passing arguments to programs.

Re: You Don't Need a GUI

#352
post #174

Earlier quoted context omitted.

I like your point about discoverability. What if there was such a thing as a right click menu for command line programs? Like if I type ffmpeg or youtube-dl with no args, it lists the 3 most common ways to use it, and maybe allows an interactive CLI menu where you can build up the correct argument list by answering a few questions. I would love the most useful commands to look like: ffmpeg --resizeVideoTo input.mp4 5…

That's basically what cheat.sh does. It's an editable wiki that contains common use cases (cheat sheets) and can be called directly from the command-line, e.g.: curl cheat.sh/ffmpeg curl cheat.sh/youtube-dl curl cheat.sh/cd curl cheat.sh/find It gives quite a bit more than 3 use cases, but you could do: curl -s cheat.sh/ffmpeg | head For more details you can go to the site in a browser or use: curl cheat.sh curl chea…

I like cheat.sh. I have this in .bashrc to allow "cheat " from bash shell:

    function cheat() {
        curl cht.sh/$1
    }

Re: You Don't Need a GUI

#353
If you learned computing in Windows, some of these realizations are completely new.

If your physiology differs substantially from the majority of the population, then yeah. You probably need a GUI.

Imagine if the CLI had received the attention the GUI has over the last 40 years in terms of user-accessibility.

Re: You Don't Need a GUI

#354

Earlier quoted context omitted.

I would like to see a PowerShell equivalent to the autocompile feature in Visual Basic.Net where error checking is done after each character pressed.

I like powershell, but I find its Syntax very hard to learn for casual usage. -eq is just cruel if you are used to proper programming languages. I'd love to see a sane script language ala typescript established as general purpose shell/shell scripting language! TypeScript is not yet expressive enough for direct shell usage, but not much is missing imo (most importantantly a pipe operator).

Agreed. Having recently written a bunch of PowerShell scripts that were too big for their own good[0], I'm pretty much in love with it, but the language itself does bug me constantly. Operators are one of the big annoyances. -eq, -gt, -icontains, -match...

But I get it. It's the consequence of trying to use the same language for code and command line input. > and , it would be really dangerous for it to have context-dependent meanings. And then foo -match bar is more CLI-input-friendly than foo.match(bar) or match(foo, bar). You can get a similar experience if you try to use (or design) a Lisp shell. S-expressions are awesome, but having to move the caret back and forth to add/modify structure in your command is too annoying for a shell language. For shells, you essentially want as much appending and as little editing as possible.

And as much as I don't like JavaScript ecosystem, I would like something like TypeScript in the shell. Personally, my main requirements are 1) optionally typed, and 2) piping structured data instead of unstructured text/byte streams.

(And then I'd like a terminal emulator that makes full use of type system in pipes and command arguments.)

--

[0] - They started simple, then they grew, and before I noticed, they've crossed the threshold where, if I were to write them again, I'd use a regular programming language. I think the point in which I started including bits of C# code in the scripts should've been a wakeup call... but on the other hand, isn't it just cool you can drop down to C# in the middle of a script and have it Just Work?

Re: You Don't Need a GUI

#355
post #308

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…

>GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file... You know the secrets on how to use the Microsoft Windows 95 GUI so it's easy for you. Consider the person who has not been trained over years in its use. The concept of a context menu that pops up at the mouse position when clicking button number two is not intuitive or discoverable.…

> You know the secrets on how to use the Microsoft Windows 95 GUI so it's easy for you. Consider the person who has not been trained over years in its use.

it's easy because MS has spent years in formal user studies for almost every element of the 95 UI to make sure that it was easy for pretty much everyone.

Re: You Don't Need a GUI

#356
post #308

Earlier quoted context omitted.

>GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file... You know the secrets on how to use the Microsoft Windows 95 GUI so it's easy for you. Consider the person who has not been trained over years in its use. The concept of a context menu that pops up at the mouse position when clicking button number two is not intuitive or discoverable.…

> " People need to be very careful when making an argument that something is better because it's what they're familiar with as if they are some definitive exemplar. " That is not the argument they made, they said right-click acts as a "tell me what I can do with this file" discoverability tool, not that right-click is itself discoverable. There is approximately no way to discover this on a command line, but if you ri…

what if your mouse doesn't have two buttons? In fact, some mice don't have any buttons. (apple, over the years)

Re: You Don't Need a GUI

#357

I have a problem with the very first entry: ``` cp readme.md documents/ ``` It misses the point of: "How did I get to the place where the "readme.md" file is ? How did I know I wanted to put it in `documents/` ? I'd argue that this is not what most users are really doing is. A real-life scenario is: 1. I need to send a file to Bob. Where the hell is that file ? I think it's in the "Files" directory. No wait, is it in…

One of my favourite snippets of bashrc code for navigating directories below. Whether it beats navigating with a file explorer is up to you but I drastically prefer it.

export MARKPATH=$HOME/.marks

function jump {

  cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: 
$1"

}

function mark {

mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$1"

}

function unmark {

rm -i "$MARKPATH/$1"

}

function marks {

ls -l "$MARKPATH" | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo }

To bookmark a directory:

$/home/user/Documents> mark

To jump to it

$/tmp> jump Documents

source: https://datascienceworkshops.com/blog/quickly-navigate-your-...

I can't find the orginal HN discussion on this but it has shown up a few times with incremental improvements like tab completions added.

Re: You Don't Need a GUI

#358

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'm surprised there is a distinction between the two at this point. What we have are "user interfaces" and both are graphical, whether it's interacting with text or graphics.

I think the main issues of usability are paradigm-independent—how do you make the UX more discoverable for text interfaces? How do you make the GUI more powerful and accessible to scripts? GUI development was introduced to make computers more tactile, and feel more life-like and accessible; and it works.

The reason Text-UIs work better for automation is that programming languages these days are text-based. How might one shift to a more graphical-programming paradigm? Machine learning I think has a lot of potential in this area and I would love to see some new work in this space.

Re: You Don't Need a GUI

#359
> view an image

>

> $ imgcat image.png

> # Note: requires iTerm2 terminal.

I wasn't aware of imgcat. I always use the display command that comes with ImageMagick.

Re: You Don't Need a GUI

#360

Earlier quoted context omitted.

> chances are you're already browsing files using a GUI file manager I haven't had a GUI file manager installed on any of my desktop computers since the early 2000s, and the last time I used one regularly was the mid 1990s. Hacker News in 2021: Where the "hackers" think that "doing it in command line is pointless."

Anyone know about a place like Hacker News, but without the gatekeeping?

https://lobste.rs, https://tilde.news
Post reply on HN