Hacker Newsnew | past | comments | ask | show | jobs | submit | winwhiz's commentslogin

It is also a very Dadaism thing to do. Da!


Really simple answer: Repeatability. I am not saying it is the only one right blessed answer, but if you really want to know why people haven't moved to pure GUI interfaces, imagine describing to someone how to add a new directory to their path.

  fleet $HOME/.config/fish.config
  # ADD this line somewhere
  set -x PATH /opt/git/bin $PATH
Or: 1. Either hit WINDOWS-E and right click on This PC and select properties (it might be called something other than This PC if someone renamed it) or either press WINDOWS key or click Start or click the Windows icon (if you don't see them try mousing into a corner of your screen (typically bottom left) until they and the rest of the bar un-autohide) look for and click a gear symbol (should expand to say Settings if you hover), click System, on the left and the bottom you should see About. 2. Click the text Advanced system settings (on the right), look for a new window with a set of tabs, you want Advanced. Click the button Environment Variables. 3. In the top columnar box EITHER find a variable named Path, highlight and click button Edit, in a new window click button New, type '/opt/bin/git' in a text field that has appeared at the bottom list items, click OK OR click the button New, in a new window enter Path for Variable name and /opt/git/bin for Variable value, click OK (you shouldn't need to Browse Directory or Browse File). 4. Click OK button, click OK button, close Settings window.


Have you ever heard of "abstraction"? People that actually use windows can handle opening the start menu as a single part of a step. There's no conscious checklist for how the UI can be customized.

If you're going to make that into a complicated mess, then you absolutely do not get to assume the user understands "add this line somewhere" or has "fleet" installed and set up the way you expect.


Yes, I think we agree that abstraction is great (with or without "scair" quotes.) My point is that CLIs are valued as tools of explication, repeatable explication. I have actually used Window since 3.1. I cherry picked a particularly juicy example that I run into a lot.

> If you're going to make that into a complicated mess, then you absolutely do not get to assume...

As far as tooling goes the GP mentioned IntelliJ so I rewrote code with fleet, I could have easily have picked emacs or vim or bash or zsh or tcsh instead of fish and the complexity of interface would have remained static. I think HN formatting tools are partly to blame for the messiness but if you look at any quality set of docs describing a complicated computer interaction, to achieve the same level of repeatability as text-based, POSIXy interactions you are going to need a lot of screen shots and a few this or thats. WHICH is fine! Remember software engineering is about trade offs!

EDIT: CLI allows for abstractions like $EDITOR and $SHELL


On Windows it's actually just:

1. Press Win key 2. Type env 3. Choose system or account


It's even better because thanks to the Start Menu randomization process either could appear first in the results. Sometimes they will switch position after being presented.


Thanks! This is what I was secretly hoping for. I am doing this a lot lately.


Your fictional example is not a good comparison -- I just can't imagine the scenario where you need to explain to someone who doesn't know how to modify their path why they need to add something to it.

For someone actually using git (and the CLI, at that) I'd expect to be able to say "oh, make sure git is in your path" and for them to understand how to check and set that, or at least be able to Google it and follow the instructions themselves. Likewise I'd ask something like "Can you cherry pick just that bug fix into a new PR so we can merge and deploy it today?", not give them a series of git CLI commands to paste in.

My observation of git beginners is ones using CLI say things like "oh, I screwed up my repo and had to clone a new copy". Good GUIs don't easily cause this situation, and mostly let you see and fix what happens when you do some weird accidental merge or rebase or someone else has force-pushed.


> I just can't imagine the scenario where you need to explain to someone who doesn't know how to modify their path why they need to add something to it.

Sounds like someone hasn’t had to train fresh graduate engineers for awhile ;)


Insufficient explanation about about how to add something to PATH (specifically the tools for compiling java) meant that I started programming 2 years later than I would have otherwise.


Yeah, I think I conflated a git specific question from the GP and a more general CLI question, my bad.

The argument can be made the interfacing with git is bad whether with mouse or with keyboard. My git secret weapon is to ask myself how do I make git do this thing that is easy in Subversion or Fossil and then I do that thing and I write it down so I can do it again in X number of months.


If the tool calls git(1) then it can show you the script that your actions produced. Magit has something like this but I’ve never used it for that (since I also use git(1)) so I don’t know if it captures the whole context/commands.

I used a GUI frontend to R in a statistics course. Never needed to write R myself.


Don't even need the set -x, can just use fish_add_path for convenience.


I'm not trying to be snarky and now I can't even remember where I heard it... but aren't all of Microsoft's keys still flapping in the wind themselves? Thanks to the work of some state actor?


I hope this experiment fails. It is one cherry picked do-what-I-mean feature that muddies the Go1 Promise and will almost always be covering up a subtle logic error. It also adds a bit more historical knowledge you have to remember: In early part of the second thousand twenty fourth year of our Lord, in version 1.22.0, a subtle change was made that maybe ignored on a per file basis or per module basis as has been done previously in the future as you might recall in 1.20.8 and 1.19.13.

If it doesn't fail I have a couple more ideas, if the compiler can prove my double only ever interacts with ints then... just do what I mean it's provably correct.

package main // YUM! I WANT MOAR DWIMMY.... AND SIGILS AND BLESS AND UNLESS

func easy(one int, won float64) { print(one + won) }

func main() { easy(1, 1) }


Bad headline.


Doesn't Mozilla get most of its money from that filthy Google ad revenue though because Google Search is the default when you install Firefox?


I like Cloudflare's docs as a good starting place.


I have this problem too! I have been trained to roll away from my desk before I stand up. I assumed it was static, and my hat's off to you who tracked this down.

Steelcase Criterion / Dell S2716DG


I bet farmers use waaay more algebra than I do as a fullstack web programmer. I love it I just don't use it. On the other hand farmers are thinking about slopes all day, every day: irrigation rates; fuel, fertilizer, seed rates; growth rates. They don't get paid once or twice a month like I do so their finance maths are much more sophisticated than mine.

I know, I know what about video game programmers? Okay, you got me there.


Wave was what Slack became years later. They had tons of runway to transform it into an actual product before any competition caught up.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: