> I'm only a hobby programmer and the experience wasn't encouraging.
I have come across elitist communities like on SO, also regarding C++. I was downvoted and told to intentionally be spreading misinformation by using the word 'struct', because as you should know, in C++ there are only classes...
I haven't encountered that kind of vitriol when I asked beginner questions about how loops work, on 4chan out of all places.
But there were also times where I spent hours with people chatting on IRC while learning, where people were forgiving and encouraging.
In both places however, it seemed to be unfathomable for people that someone was trying to learn to program, not because they had to because of school or uni.
No, #FFF is white, and it's up to the client to decide what white should look like.
Arguing that we should use, say, #CCC for white, is like saying that instead of rating things out of a 100, you should rate them out of 70 instead. All you've done is narrow the scale.
For me, the small contrast on pages like HN (in particular with any of the gray text) strains my eyes because it’s more effort for me to see the letters.
But I also read a reasonable amount of PDFs (black on white) which is relatively comfortable on most of my monitors (LCDs with generally low brightness setting to have less light shine into my eyes).
I think what I am saying is, I agree that what is comfortable depends on the user, so websites not moving off the defaults is better, because then users can configure what works for them.
Addendum: The low contrast example on the article is very uncomfortable to read for me.
I once had a hard to track down bug in some code making use of conduit[0], which is introduced using examples like `main = runConduit $ (yield 1 >> yield 2) .| mapM_C print`.
Dutifully replacing every occurrence of (>>) with (>), because it was more modern, suddenly changed the semantics somewhere, due to the fact that (>>) is defined with fixity `infixl 1 >>` and (>) as `infixl 4 >` - i.e. both are left-associated operators, but (*>) binds tighter than (>>) and some of the myriad of other operators you may encounter.
This is a bit surprising. Why replace `>>` with `*>` "because it's more modern"? Can't you just stick with what's working? The former hasn't been deprecated.
You are absolutely correct and I was an idiot without a proper understanding of premature abstraction or unnecessary complexity.
If I were to start a new side-project using Haskell today (I probably won't), I would just stick to do-notation and even concrete types (instead of mtl-style or what have you) where possible.
Wait, Twitter/X blocks FF? How does that work? Is that only in some countries? I'm in Canada and I still use X on a daily basis in the latest Firefox on Windows and I have not noticed a thing.
I am simplifying in saying that they outright block FF, but the site is broken with Enhanced Tracking Protection enabled [0], and has been for a while. They even mention FF in a dedicated error message, which I have to admit just grinds my gears :)
That's odd. I use X on FF with not only Enhanced Tracking Protection, but also a whole bunch of other privacy extensions (uBlock Origin, Ghosterly, Disconnect.me, DuckDuckGo Privacy Essentials, EFF Privacy Badger) without adding any exception for x.com, and it still works for me.
I am; but for what it's worth, if I open a new private window, I can still browse any public profile on X without logging in, and with Enhanced Tracking Protection enabled.
Just using quotes usually was enough to make these words/phrases “required”. However, I believe there was a change (last year?) where they now sprinkle in other “relevant” results.
"Throwing the baby out with the bathwater" means trying too hard to do something good but accidently overdoing it!?
Just to make sure we're not accidentally giving Google a break, Google+ ended in 2019, if they cared for search at all they would have brought back this feature.
I like the sentiment, but the article ignores that this approach may incur the price of adding complexity to the implementation.
Depending on your architectural constraints, adding an undo operation may not only be hard, it may necessitate changes which in turn make future changes harder as well.
Or it may not, of course - as usual it depends.
But even assuming that you are able to follow this advice, I assume (and have personally witnessed) another side-effect.
Just as people get accustomed to, and ignore, warnings, they will just as well become accustomed to being able to undo mistakes, and as a consequence become less careful about what they're doing.
One may argue that reserving warnings for only the non-undoable operations will improve their signal-to-noise-ratio and compensate for an overall gain, but whether that is true and worth the additional complexity is not black-and-white.
I have come across elitist communities like on SO, also regarding C++. I was downvoted and told to intentionally be spreading misinformation by using the word 'struct', because as you should know, in C++ there are only classes... I haven't encountered that kind of vitriol when I asked beginner questions about how loops work, on 4chan out of all places.
But there were also times where I spent hours with people chatting on IRC while learning, where people were forgiving and encouraging.
In both places however, it seemed to be unfathomable for people that someone was trying to learn to program, not because they had to because of school or uni.