Live data from Hacker News

Ask HN: Good examples of interactive command-line user experience?

news.ycombinator.com

31–40 of 83 posts

Re: Ask HN: Good examples of interactive command-line user experience?

#31
for the TUI - aptitude, midnight commander, back in the days the Turbo Vision was awesome, which I think has some ports for Linux.

I'm constant midnight commander (linux/osx), FAR commander (windows) user. I'm so glad that it works flawlessly almost anywhere there is terminal support...

Re: Ask HN: Good examples of interactive command-line user experience?

#32
There was a talk at Pycon 2017 about this [0] that's pretty good. He(amjith) goes through several examples with his favorite being bpython [1] and even covers writing such a thing in python live on stage.

[0] https://www.youtube.com/watch?v=hJhZhLg3obk [1] https://bpython-interpreter.org/

Re: Ask HN: Good examples of interactive command-line user experience?

#33
post #13
post #6

git

For the love of your chosen deity, please do not take git as a good example to base your CLI UX on..

Why is it bad? Genuine question, and please don't give me the "it's so unintuitive" answer, that's why programs come with documentation.

Re: Ask HN: Good examples of interactive command-line user experience?

#34
post #6

git

Sad to see this in the grey. Git is unintuitive to those who don't understand it. If you read about its internals and learn how it works, the command line gets much better. It's well documented and it gives you a whole lot of power and insight into the inner workings of the VCS. Things like launching your editor to do more complex commands, plugging a script into git bisect, these are all great design choices.

All of what you say is correct. git is great in many ways and not too difficult to use once you grok the internals.

But git's user interface is inconsistent, has got weird error messages and confusing terminology with too many ways to do some things.

Good thing that it has quite decent manpages which explain these things thoroughly. The UI gets the job done but it sure isn't a great example of a well designed command line.

Re: Ask HN: Good examples of interactive command-line user experience?

#35

Earlier quoted context omitted.

it was awful, it is getting better and I think it's a good example in several occasions (I mean when it's not an unpredictable sequence of commands that need to be passed to accomplish something outside of a regular workflow)

I'm using git cli. Already tried sourceTree, gitkraken, intellij plugins, atom plugins.... all these attempts ended up in "I do not know which branch I am in" or "How do I get a diff to remote"?

Agreed, part of why I love the integrated terminal in VS Code... mostly doing git, node and npm commands while working on my projects. About the most GUI I use, is the active diff tool in VS Code. But that's not CLI based. I've also tried a few gui tools for git, and none seem to be quite as easy as just using the CLI for it.

Probably the cli that I find the most useful beyond git that I use regularly is docker... It's pretty useful if you aren't in a linux environment but need to build something in one... In my node lambda builds, I'll do something like:

    docker -i -v "${PWD}/dist":/app -w /app node:6.10 npm i
Which is usually enough to give me something I can zip and upload for use in a lambda... Though, like git, if I'm doing something not usual, I often wind up having to google it. Like anything in git more complicated than a simple rebase or add/commit/push.

Re: Ask HN: Good examples of interactive command-line user experience?

#36
post #32

There was a talk at Pycon 2017 about this [0] that's pretty good. He(amjith) goes through several examples with his favorite being bpython [1] and even covers writing such a thing in python live on stage. [0] https://www.youtube.com/watch?v=hJhZhLg3obk [1] https://bpython-interpreter.org/

Python prompt toolkit is worth a look https://github.com/jonathanslenders/python-prompt-toolkit/bl...

Re: Ask HN: Good examples of interactive command-line user experience?

#37
post #6

git

Sad to see this in the grey. Git is unintuitive to those who don't understand it. If you read about its internals and learn how it works, the command line gets much better. It's well documented and it gives you a whole lot of power and insight into the inner workings of the VCS. Things like launching your editor to do more complex commands, plugging a script into git bisect, these are all great design choices.

It didn't matter how powerful it is. It's still inconsistent and a bad example of ux. Some trivial examples: "tag -d", but "remote remove"; exiting editor after "commit" aborts, but after "rebase -i" continues operation; etc.

There are other projects that interact with git and are really good: tig, for example. But git itself? Someone wrote a good paper about it already. "What's wrong with git?" was the title, I believe.

Re: Ask HN: Good examples of interactive command-line user experience?

#39
post #6

git

Sad to see this in the grey. Git is unintuitive to those who don't understand it. If you read about its internals and learn how it works, the command line gets much better. It's well documented and it gives you a whole lot of power and insight into the inner workings of the VCS. Things like launching your editor to do more complex commands, plugging a script into git bisect, these are all great design choices.

git has a terrible UI, IMO. git reset, for instance, does like 17 different things. And what does checkout have to do with creating branches as in "git checkout -b"? Not that git branch is that much better, it's conflating creating, listing and deleting under one command (named after a verb or singular noun). Compare to hg's branch/branches or fossil's even clearer convention of noun + action, like in "fossil branch new ...".

That said, you are right that understanding the git model helps a lot and for that, I recommend the "Getting Git" talk. https://vimeo.com/14629850

Re: Ask HN: Good examples of interactive command-line user experience?

#40
post #21

tig is pretty solid

I'll second that. I use tig daily.

Another tui I like is for networkmanager. For whatever reason, nmtui always seems to work better than the gui frontends.

I think PyPy deserves a special mention -- it's been a few years since I built it, but the last time I did it drew the Mandelbrot set as a progress indicator.

Post reply on HN