How many times does this happen to people?
I mean, in my life i probably spent hundreds of hours writing code and hacking things together - forcing them to work - for tasks that turned out to be...already solved, I just couldn't find it...it was under the sun all along.
Yeah you know, like when that Lenovo Thinkpad's trackpad needed some specific kernel hack on Linux for it to work...
for the more obscure things however, I am glad and I respect those youtube uploaders that literally will post everything they discover just for the sake of sharing knowledge!
Even if you produce interesting videos, you still must MB to get the likes, to stay relevant to the algorithm, to capture a bigger share of the limited resource that is human attention.
The creators are fighting each other for land, our eyeballs are the crops, meanwhile the landlord takes most of the profits.
I just relied on this fact yesterday, so it's kind of a funny timing. I wrote a little script that looks out for shenanigans in source files. One thing I wanted to explore was what Unicode blocks a given file references characters from. This is meaningless on the byte level, and meaningless on the grapheme cluster level. It is only meaningful on the codepoint level. So all I needed to do was to iterate through all the codepoints in the file, tally it all up by Unicode block, and print the results. Something this design was perfectly suited for.
Now of course:
- it coming in handy once for my specific random workload doesn't mean it's good design
- my specific workload may not be rational (am a dingus sometimes)
- at some point I did consider iterating by grapheme clusters, which the language didn't seem to love a whole lot, so more flexibility would likely indeed be welcome
- I am well and fully aware that iterating through data a few bytes at a time is abject terrible and possibly a sin. Too bad I don't really do coding in any proper native language, and I have basically no experience in SIMD, so tough shit.
But yeah, I really don't see why people find this so crazy. The whole article is in good part about how relying on grapheme cluster semantics makes you Unicode version dependent and that being a bit hairy, so it's probably not a good idea to default to it. At which point, codepoints it is. Counting scalars only is what would be weird in my view, you're "randomly" doing skips over the data potentially.
Logitech uses shitty microswitches that either stop working or start 'bouncing' - a single click becomes two or more clicks.
This has been an issue with logitech mice for 10+ years and it's so prevalent it can't possibly be by accident. Their mice are disposable as a revenue model.
Mice should not fail, and in fact, I've never had a non-logitech mouse fail.
A friend heard me say this and said "Well I love my logitech mouse" and I said "and how many have you bought?" They admitted they'd had to replace it several times because...drumroll please...various buttons on it stopped working or started double/triple clicking.
I have gaming buddies who have had their very expensive logitech gaming mice fail, repeatedly, barely months into owning them. My ten year old Razor is still going strong, save for reduced battery life. The battery still lasts for many hours while gaming, which is plenty for my purposes, so I haven't bothered yet.
The real joke would be Xbox Elite controllers. Several hundred dollars and infamous for failing sometimes within months. Never, ever buy one without a replacement plan.