Live data from Hacker News

You can't do that because I hate you

bvisness.me

111–120 of 216 posts

Re: You can't do that because I hate you

#111

The unstable warning preventing you from wrapping the comments actually seems pretty reasonable to me. It is implemented, but there are probably edge cases where the proper way to wrap and retain the best possible formatting is still disputed. Since a lot of people format on save, via commit hooks or during CI, having this feature enabled as stable and _changing the behavior later_ would cause massive annoying diffs…

Gating it behind nightly is just bizarre though. Today's nightly, where the feature is available, will turn into 1.76 or whatever, but then the feature will become unavailable again. That is not how normal software works.

[deleted]

Re: You can't do that because I hate you

#112
post #101

I have a similar pet peeve in software, what I refer to as ‘Don’t Suck’ Buttons. A ‘Don’t Suck’ Button is a setting, turned off by default and usually hidden in a corner of the UI or configuration file, which fixes a common issue that new users experience, and/or turns on the behavior that everyone wants from the product in the first place. The best examples of ‘Don’t Suck’ Buttons involve settings with no obvious di…

Emacs is full of these. In its defense, Emacs predates most modern UI paradigms (including, y'know, Ctl-C/V for copy-paste, or calling things "windows" vs "frames"), and is very conservative about updating defaults due to inertia.

Do you have a list of favorites?

Re: You can't do that because I hate you

#113

The unstable warning preventing you from wrapping the comments actually seems pretty reasonable to me. It is implemented, but there are probably edge cases where the proper way to wrap and retain the best possible formatting is still disputed. Since a lot of people format on save, via commit hooks or during CI, having this feature enabled as stable and _changing the behavior later_ would cause massive annoying diffs…

Gating it behind nightly is just bizarre though. Today's nightly, where the feature is available, will turn into 1.76 or whatever, but then the feature will become unavailable again. That is not how normal software works.

I don't know the intention of the Rust team, but maybe it's because of the difference in release cycles: if a bug is found in an unstable feature today, it can be fixed by tomorrow's nightly build, but it won't make it into stable until at least February. Presumably, the maintainers don't want to release code that is in flux and under active development under the same 6-week release cycle that they release stable, well-tested code.

Re: You can't do that because I hate you

#114
post #12

Earlier quoted context omitted.

> The removal of that CLI flag forced the user to actually figure out the root cause of the problem rather than paper it over with a workaround they didn’t really understand, which would inevitably metastasize and explode later in an even more frustrating way. I wish the author had written what the real issue is. It feels like they are contributing the the very problems they are complaining about with a flippant line…

The problem was a strange monorepo setup where multiple packages came from the same GitHub repo. Then I tried to switch one of them to my fork. The error message did not help me understand this reality at all; I only figured it out the very hard way after blowing up my project in two different ways.

[deleted]

Re: You can't do that because I hate you

#115

All this time after writing this article, I’m now realizing a better way to sum up the issue: It’s like when you ask “can I go to the bathroom” and the teacher says “I dunno, CAN you?”

Your rant is very valid by the way. I didn’t have these particular problems but you captured the essence of similar experiences I’ve had with other tools. Just the thougt of tinkering with something im not familiar gives me the goosebumps, maybe a little nausea, shortness of breath. Maybe it’s some form of PTSD gradually accumulated over the years. In the end it’s no big deal if you don’t expect things to work logically and things to work from the first try.

Re: You can't do that because I hate you

#116
post #101

I have a similar pet peeve in software, what I refer to as ‘Don’t Suck’ Buttons. A ‘Don’t Suck’ Button is a setting, turned off by default and usually hidden in a corner of the UI or configuration file, which fixes a common issue that new users experience, and/or turns on the behavior that everyone wants from the product in the first place. The best examples of ‘Don’t Suck’ Buttons involve settings with no obvious di…

At In-n-Out, you have to say a magic chant to have them make the food taste better (and even then it still tastes bad).

Re: You can't do that because I hate you

#117
post #101

I have a similar pet peeve in software, what I refer to as ‘Don’t Suck’ Buttons. A ‘Don’t Suck’ Button is a setting, turned off by default and usually hidden in a corner of the UI or configuration file, which fixes a common issue that new users experience, and/or turns on the behavior that everyone wants from the product in the first place. The best examples of ‘Don’t Suck’ Buttons involve settings with no obvious di…

Emacs is full of these. In its defense, Emacs predates most modern UI paradigms (including, y'know, Ctl-C/V for copy-paste, or calling things "windows" vs "frames"), and is very conservative about updating defaults due to inertia.

Emacs is unbelievably full of them, but at the very least if it's missing a switch you can program it yourself easily (and fix any bugs yourself too). Not sure if that's a pro or a con, but the option is there.

Re: You can't do that because I hate you

#118
post #40
post #28

Earlier quoted context omitted.

Except in the case of the 'exit' clearly this is accepting and parsing imprecise input in order to guide the user. If the code wasn't looking for 'exit' in order to correct the user (to use 'exit()'), it would just spit out some other error for 'I don't know what you're talking about'. Instead, they actually detect the intent by specifically coding for it... and then ignore it anyway. That's bloody minded.

How do you feel about java/c++ compiler that give hints like "missing semicolon"? Clearly it knows what's wrong. Why not automagically fix that for you[1]? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

I'd actually love that feature!

We have AI now that can write the entire code for you. Surely it's not much to ask that a compiler, as it parses your code and likely already has high confidence you need a semicolon in a certain spot, can just correct it for you and move on. Maybe have a --fix-errors option to the compiler command line or something.

Re: You can't do that because I hate you

#119
post #18
post #6

the trouble with "do what I mean" is that if the software guesses, and guesses wrong, the results are far worse than just not doing it. an "if you really meant to do this here is the correct incantation" error message seems like the best possible thing to do.

The problem with this argument is the low hanging fruit. EXIT is pretty unambiguous. I HATE that some tools the help argument is -? and others use --? when everyone COULD just print help on both is maddening, especially when you use the "wrong" one and it just says "do the other for help". You KNEW what I wanted, and didn't do it, just like the article says. Yes, mindreading is tricky, but sometimes you don't need to…

The worst is a few tools where when you type:

    the_command -foo
...and the tool responds with:

    -foo: No such option. You probably meant --foo
Well shit! Thank you for that burst of empathy. If you, developer, are that confident that's what I meant why couldn't you just make both inputs do the same thing? You went out of your way to make the code handle -foo, but only to have the program fire off that snide remark instead of doing what you know the user meant to do. Maddening.

Re: You can't do that because I hate you

#120
post #101

I have a similar pet peeve in software, what I refer to as ‘Don’t Suck’ Buttons. A ‘Don’t Suck’ Button is a setting, turned off by default and usually hidden in a corner of the UI or configuration file, which fixes a common issue that new users experience, and/or turns on the behavior that everyone wants from the product in the first place. The best examples of ‘Don’t Suck’ Buttons involve settings with no obvious di…

> “Allow HDMI Devices to Control this TV”

It would IMO be nice to have a default-off option to disable CEC on a specific port. Or to disable certain CEC features.

Post reply on HN