Live data from Hacker News

Terminals Are Sexy

terminalsare.sexy

41–50 of 84 posts

Re: Terminals Are Sexy

#41

I hate non-discoverable UI's. The first thing I do with any software, is click through all possible menu's, windows, ribbons, whatever. After some time, I usually get quite a grasp on what the software is capable of. The two notable exceptions are textbased UI's (terminals, dsls, ...) and softwar requiring domain specific knowledge (e.g. geomodeling software, specific 3D modeling software, ...). I never understood th…

I hate them too. There are a number of things wrong with them, discoverability is one of them but what really gets me is tracking state. Why do I need to guess at the state of things inside my head as I'm running commands, or query the machine to tell me, when the actual state is sitting there in memory the whole time?

Re: Terminals Are Sexy

#42

This is a lot to take in. Not sure if you're the author, OP, but in case the author is reading: Where would you suggest someone starts? (Note: Don't answer here! Use your answer to shape the organization of information on the site!) For example, I use ZSH. Should I switch to fish? The list suggests I'd be sacrificing power and the ability to write scripts but gaining, uh, intelligence and user-friendliness? Is that t…

I've been developing an opinion lately that what we need is fewer roundups and "objective" reporting and more opinionated here's the end-to-end stack I use and I think is good and here are the tradeoffs. With a diversity of stacks and opinions, this represents most of the roads you can go down and lets you pick the person whose approach or philosophy most closely aligns with yours.

https://usesthis.com/

Re: Terminals Are Sexy

#43

I hate non-discoverable UI's. The first thing I do with any software, is click through all possible menu's, windows, ribbons, whatever. After some time, I usually get quite a grasp on what the software is capable of. The two notable exceptions are textbased UI's (terminals, dsls, ...) and softwar requiring domain specific knowledge (e.g. geomodeling software, specific 3D modeling software, ...). I never understood th…

Well hopefully this is not a sentiment that continues to grow in the technical community. All nice things have a cost. For all the efficiency gained from the web-view, consider the cost of building the web-view, maintaining it, hosting, and the other myriad of frontend activities. Contrast that process with downloading a few popular libraries, coding up some methods, exposing them via a cli lib, and then publishing to one of the many package managers. I can do the later in an afternoon, but I may never release if I think all my users should have a web-view.

I suspect if all technical users simply stopped considering text based ui acceptable, we'd actually have less quality software overall. There are too many programmers like myself, who can make decent programmatic interfaces, but simply can't put together a usable web-interface to save their life.

Re: Terminals Are Sexy

#44

I hate non-discoverable UI's. The first thing I do with any software, is click through all possible menu's, windows, ribbons, whatever. After some time, I usually get quite a grasp on what the software is capable of. The two notable exceptions are textbased UI's (terminals, dsls, ...) and softwar requiring domain specific knowledge (e.g. geomodeling software, specific 3D modeling software, ...). I never understood th…

If you don't understand the appeal, do you think you should pass judgement? Hate is quite a strong word. Terminal interfaces are quite "discoverable," more so than GUI's I could argue. You can often display the list of available commands, see their documentation, etc. Terminals are universal interfaces to many different types of software. With GUI's, you must learn the different ways people have decided to hide away commands in convoluted menus. I am personally a reformed GUI-holic, so I understand where you are coming from, and know from my refinement that it is a place of misunderstanding.

Re: Terminals Are Sexy

#45
post #6

"neovim - Literally the future of vim." I'd rather say Vim 8.2 is the future of Vim.

Yeah, I find the list needlessly opinionated and not sure how it adds to e.g. https://www.google.com/search?q=awesome+cli

that's not editorializing, that is neovim's tagline: https://neovim.io/

Re: Terminals Are Sexy

#46

I hate non-discoverable UI's. The first thing I do with any software, is click through all possible menu's, windows, ribbons, whatever. After some time, I usually get quite a grasp on what the software is capable of. The two notable exceptions are textbased UI's (terminals, dsls, ...) and softwar requiring domain specific knowledge (e.g. geomodeling software, specific 3D modeling software, ...). I never understood th…

Terminals don’t suit this approach of trying to get an overview of what a program does. Personally I find trying to get an overview of a complex program/concept/project/anything quite taxing and laborious. Terminals are a welcome relief from this issue. They are precisely as complicated as they need to be for a given task. A GUI will never have this property.

Re: Terminals Are Sexy

#47
A pet peeve of mine is confusing the terms "terminal", "shell", "CLI" etc. They are not interchangeable and the distinction is important to understand.

- shell: the "top level" user interface for the operating system. Can be text-based or graphical, command-line based or point and click etc. It's how you do things once you've loaded an OS. Examples: sh, bash, zsh, fish, eshell (emacs).

- terminal: A hardware device for input/output of text. Originally teletype machines (ttys) but later used CRT monitors instead of a printer. Example: DEC VT100,

- terminal emulator: a piece of software that emulates a terminal. Examples: xterm, GNOME Terminal

- CLI: command-line interface. A user interface based on typing commands one line at a time. Does not include text-based UIs like htop etc. Examples: git, curl.

- TUI: text-based UI. Essentially a GUI but works on more advanced terminals (ie. not actual ttys). Examples: htop, emacs, vim.

Re: Terminals Are Sexy

#48

I hate non-discoverable UI's. The first thing I do with any software, is click through all possible menu's, windows, ribbons, whatever. After some time, I usually get quite a grasp on what the software is capable of. The two notable exceptions are textbased UI's (terminals, dsls, ...) and softwar requiring domain specific knowledge (e.g. geomodeling software, specific 3D modeling software, ...). I never understood th…

Figure this is a troll post, but I'll bite.

As an example of composability... Say you have an api that returns products, but you want to find out how many have the word aliens: curl # gets the api responses grep # searches input wc # counts input. jq # parse and query json

Streaming those together:

  curl api.myapi.com/products | jq .name | grep 'aliens' | wc -l
You have your answer quickly without thinking (after you know all this cold).

Most of the commands are also mnemonic -r is usually reverse, -R recurse, -a all.

I recently in 5 minutes took the API response from one api and constructed sql queries into a test db for test data using roughly the above method. Another fun, trolling type command, a product manager that wanted daily updates got a scrum.sh that ran on cron and posted summary of what people did on slack.

I don't know how you can work effectively as a software engineer without knowing something about it.

Re: Terminals Are Sexy

#49
post #22

Earlier quoted context omitted.

Neat! That could be useful in certain situations. In case you're suggesting Linuxbrew is unnecessary (I don't think you are, but just in case), there's definitely something way more convenient about just using Linuxbrew to install everything, than to track down what software is best installed from what repository.

Out of curiosity, for how long have you been using Linux as a daily driver?

To respond to the implied dig, I've spent months to years using the following distros on desktops and laptops, in no particular order:

Gentoo, Red Hat, Fedora, Ubuntu, Debian, Mandrake

So I've had plenty of exposure to three major package management systems and a bunch of distro-managed repos, from the perspective of a desktop user (I've used Linux on the server plenty, too, but that's less directly relevant). I've poked around in a few others in a desktop context—Slackware, Arch, Nix, probably more that I'm forgetting.

I also used Macports for over a year.

Homebrew's the most pleasant overall solution for managing user-facing desktop software that I've used, by a long shot.

Re: Terminals Are Sexy

#50

I hate non-discoverable UI's. The first thing I do with any software, is click through all possible menu's, windows, ribbons, whatever. After some time, I usually get quite a grasp on what the software is capable of. The two notable exceptions are textbased UI's (terminals, dsls, ...) and softwar requiring domain specific knowledge (e.g. geomodeling software, specific 3D modeling software, ...). I never understood th…

A command line interface lets you communicate to the computer using language. Learning a language is something you can practise and get better at until you find that you're able to communicate very complicated tasks that the original authors of the programs had never even imagined.

Graphical user interfaces are a caveman interface. You go to the market, see what's on offer, point to it and grunt. That's fine as long as you see what you want. But you'll never do anything that you can't already see.

It's not easy, though. Nobody pretends that it is. But learning to read and write wasn't easy either and you managed that. What if our education systems didn't enforce that? How would you ever know the power you're missing out on?

Post reply on HN