Hacker News new | past | comments | ask | show | jobs | submit | another-cuppa's comments login

The person who wrote that did something useful with his life. You are not doing anything useful with yours.


We've banned this account for repeatedly violating the site guidelines. Would you please not create accounts to do that with?

https://news.ycombinator.com/newsguidelines.html


That's because Google knows where you live.


Apple also knows where I live and where I drink my morning coffee (pls sea the other comment I made reguarding this).


Apple doesn’t. Your phone does.


And any day of the week, with their lawyers' approval, apple can release an update where they pester you with a fullscreen notification until the end of time asking you to upgrade to a new OS version where they do send all of that data back


If you have a contact card for yourself and have set it as ‘me’ than Apple of course knows everything on that contact card.


Apple does not.


Gee, I wonder how your address book shows up on icloud.com then. Magic?


If you're not already a lisper I would recommend learning Common Lisp from one of the many excellent books. Learning the differences for Emacs Lisp afterwards is a breeze, and you get a much a more general purpose view of Lisp.


Already have a basic experience with that. But it seems Emacs provides a lot of APIs, for instance for Widgets.


Have you actually watched a film like Earthlings, though? Why don't you watch it before you go to "Texas Roadhouse"?


Watching it right now. Pretty gruesome so far, up to the kosher part but it's still not a deterrent.

edit: Finished. I'm still going to eat that steak but some of those scenes will probably pop into my head while I'm eating. A bit annoying tbh.


Tbh you just sound like someone who knows what the right thing to do is but is too damn weak to do it for yourself. Your posts are screaming out "if it's the right thing, why won't someone make it easy for me to stop?"

Sadly you are just like most people throughout human history. We're ashamed of some of the things people have done in the past, and in the future people will be ashamed of this.


Hah, hardly. I only care about my enjoyment when it comes to this. There is a difference between a person unable to control their desire to eat animals in the face of the suffering those animals undergo versus eating animals because they enjoy it and not giving a damn. Do you consider it wrong? Maybe. Do I? Not even slightly. I would sooner bludgeon and cut the animals myself than eat only vegetarian food. I'm not sure how this is hard to grasp.

Your assumptions about me are mistaken, don't be a jerk.


Whether you meant to or not, you basically trolled this thread. That's destructive. Please don't do it again.

https://news.ycombinator.com/newsguidelines.html

https://news.ycombinator.com/newswelcome.html


noted.


Now you're beginning to sound psychopathic.


Wilful ignorance and indulging in the illusion presented by supermarkets and their suppliers. Such people dislike vegetarians and vegans because they are worried that they might remind them about the illusion.

This is all covered in The Matrix.


Phones started to get too small in the 2000s. I can't remember which phones in particular but some definitely had buttons too small for most people's hands.


My old Nokia (don't remember the model) had buttons so small I had to use my nails instead of my fingertips!


I had a phone that had almost no buttons. At least there were gaps.

https://i.ebayimg.com/images/g/0S0AAOSwaB5Xp-lT/s-l300.jpg


That's the risk you run when you choose convenience over sustainability. If you spent some time and used syncthing you'd get something that won't just disappear some day.


The parents and girlfriends of technical people (like mine).


Yep. Siblings, wife, and in-laws here.


Fedora is a community distro.


Training yourself to be tolerant of mistakes on the command line seems like a very bad idea. Carpenters have a rule: measure twice, cut once. Train yourself to do the same.


It's almost like typing commands isn't the friendliest human-computer interface. But because we have been utterly incapable of taking the Unix paradigm to the graphical world, we have settled for the error-prone, zero-discoverability atrocity of a command line.

Don't get me wrong, I love the command line because there isn't a more powerful interface, but I'm appalled to see that there aren't any attempts to make it better. 70 years isn't enough to come up with something better?


It's a combination of the command line itself, and the actual command line apps.

For me, this is the single biggest use case for thefuck:

  $ git push
    fatal: The current branch my-branch-name has no upstream branch.
    To push the current branch and set the remote as upstream, use

      git push --set-upstream origin my-branch-name

  $ fuck
    git push --set-upstream origin my-branch-name [enter/↑/↓/ctrl+c]

  (enter)

I'm pretty unrepentant about that one - I _could_ waste brain cells on keeping track of whether my branch already exists upstream, and I _could_ waste keystrokes typing out the more verbose command myself. But I'm not gonna. Life's too short.


Same here, but then, I just ran the following and branches are now auto-created

    git config --global push.default current


Admittedly this isn't a concern for all repo setups, but what about the odd time you don't actually want to autocreate a branch?

Saying/typing fuck won't help you now! Basically, thefuck does give some friction and force you to think about things - not much, but maybe just enough.


From the examples, it looks like you’re given an interactive list of ‘corrected’ commands to cycle through, and it won’t proceed until you hit <enter>.

So if you don’t want to do what it suggests, just bail out.


Tab autocomplete works nicely when configured


CLI is like speech. Therefore, I don't get for why people think it isn't a friendly human computer interface since it is so close to the original human-human interface. And just like with speech, things can be ambiguous and easily mistook. The way we've dealt with speaking is just learning to speak clearer, not by turning everything we say into a movie.


> CLI is like speech.

You must be kidding here. CLI is like speech only if imagine you are in a completely dark room full of people, and you can't talk to anyone unless you know their name and their job description, and although you can get a list of names, you need to figure out the job descriptions yourself.

On top of all that, everyone speaks a slightly different dialects, the adjectives and verbs are slightly out of order. And although that's not hard to memorize, you have to speak flawlessly in order to be understood.


Hmm? Apart from the "dark room" bit, how is it not analogous? "Get the bag of chips." Who? Which bag of chips? What is the context?

If there is a special context say, there is only one person and one bag of chips, which is similar to there being one file and one program to open it with certain options say, and you do it often enough, an apt shell user would bake that into either an alias or a short shell script. It's rare that I use more than 4 options on a command before baking it into a script. That's very analogous to language: things like slang, contractions, and sayings that make sense in certain contexts form naturally between people or even in some situations, are decided explicitly.

Of course, come times of ambiguity, then you have to explain yourself, just like when a script you usually use as a shortcut doesn't match a certain need, and you crack open the original call, which man helps with, and may be you write another script if need be.


That's entirely not true, the shell remembers a lot for you, the current state and the execution of commands can depend in any measure on environment variables and set them, also current directory and time of day, calling script, current history, the name used to call the script (if it has many links), your current line of input (in autocompletion handler).

The shell can also indicate it's state however you want - synchronously, asynchronously, before every input (PS1, PS2, etc.)


Mostly because when you forget to put a ./ in a conversation with me I don't burn your house down.


Alright, so I want to be careful here, because what I'm going to say will come off as elitist, and it is in a way, but it's helpful because it demonstrates why some of us don't feel the way many of you do, and how you can feel more comfortable if not productive in the shell.

Many of us who work extensively in the shell simply use best practices and hacks in order to not worry or deal with the problems that many of the people in the replies to my comment are expressing. One is "too many options" another, like yours, is "foo" will write zeroes to my drive, if I don't properly include the path. Another is "humans are more understanding of ambiguity" which ignores the myriad times humans do not understand ambiguity. (that said, of course humans understand ambiguity more than computers).

For the too many options, learn to use alias or scripts. The reason for 90 options in commands is not for humans, who can't process more than 5 items simultaneously in the mind's working memory. It's for being able to craft scripts that you can use can use for cases that suit you. Of course, it helps to memorize a couple, but I don't think anyone expects any normal user to remember all of mplayer's options. That's what man is for.

For the ./ bit, there's a reason that . is not in your path. There's a reason there's a path in the first place and it's to avoid doing things you'd rather not. If you worry about being having scripts you write being mistaken based on the path, there is a very smart fix for that, don't name your scripts things like delete,rm,dd,unlink,mount, etc that can be mistaken for commands elsewhere. If you use scripts, best to append an ending to them (.py for python scripts, even .sh for shell scripts although I admit I don't do this) so you can distinguish them. That way, when you try to run doit.py, it won't accidentally doit, at worse, it will complain about not knowing what doit is.

A lot of these bits I learned just by using the terminal. May be there are classes out there, which is great too. Regardless, understand that CLI's have existed for decades and people are extremely proficient in them, and it has nothing to do with people being smarter or more elite than others, they just have practice. The same can be said for any profession, be it carpentering, repairing cars, or selling and presenting. Of course, CLIs can always be improved, but don't discount them completely. There is a reason they have persisted, it's not merely tradition and intertia.


I love the command line for some things and would never trade it, but like anything, I believe it's about using the right tool for the job, and frequently, humans work well with shiny gadgets over memorizing spells.


We've also dealt with it by being extremely flexible, error-tolerant, and context-aware on the parsing end.


> I don't get for why people think it isn't a friendly human computer interface

Because the human is not friendly and has near 0 margin for error.

> The way we've dealt with speaking is just learning to speak clearer,

No, the way we've dealt with that is also to understand less clear speech.

Doo u undrstnd mi? None of those words were even actually correct yet I imagine most people had a good guess at what I said.

An unfriendly human interface that acts like many CLIs:

Hello I'd like a burger

NOT UNDERSTOOD I'D

Hello, can I have a burger?

NOT UNDERSTOOD CAN

Hello, burger?

ERROR ITEM BURGER NOT FOUND

Hello, cheese burger please

Good evening sir, thank you for placing your order.


How about

man 6 mcrestaurant

mcrestaurant offers... cheese burgers


Every time this point comes up, ultimate conclusion isn't the CLI is bad or can't be improved, but the VT220 and similar emulation that's holding things back. Any person who has developed a terminal emulator can attest to that. There have been and are attempts at a much better CLI, but until we drop the legacy baggage, we can't have nicer things, at least in a sane way. But if we do that, we don't really have enough incentive to use the newer tools. Its a catch 22 after all.


Mh, did you ever tried modern shell like zsh or fish, with a reasonable config? Or even better, despite a bit steep learning curve, eshell (Emacs) if you already know Emacs and elisp a bit or xonsh if you are already familiar with Python.

As an Emacs (EXWM) user I agree that pure CLI is limited and pure text-based interfaces without terminal emulators limits are far superior but... Well, today outside Emacs we only have CLIs, the rest is so limited and limiting that can be used only for desktop end-user stuff. Even Microsoft Windows mandate CLI for serious system use/management...


Sounds like someone needs to just Do it.


> zero-discoverability

Is your TAB key broken?

Do the letters `ls` and `grep` not work on your keyboard?


To be fair, tab helps you discover commands about as well as a dictionary helps you discover words. I'm personally looking for something like apropos, but much more powerful.


Closest I could think of would be 'man -k', but a apropos would be cool


Tab completion makes it significantly better. It's a bit like syntax highlighting. If it doesn't tab complete properly then something is probably wrong.


It's funny but tab completion makes CLIs a completely different experience. That and (yes) insert mode. If you've ever dealt without either it becomes much more of an exercise in precision and patience.


I have a linux distro for you: https://qntm.org/suicide


UAU, nice :D

anyway, for accidental files operation protection nilfs2 is a very effective protection, despite super-slow development and actual limited features, it's rock-solid, mainline, live resizable (both grow and shrink) and in years does not loose a bit of information for me :-)


this is amazing. thanks for sharing.


To that end, I highly recommend the command line utility 'sl', which runs an unskippable ASCII animation of a steam locomotive. Makes for great fun explaining it to the flummoxed coworker borrowing your computer!


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: