Hashing everything based on the byte representation breaks when you have a type where equality does not imply byte equality. Such as… floats (+0 and -0 are equal, but have different byte representation).
Depends on the use-case, hashing can also be used for checking integrity/change in which case you exactly want the behavior that only bit-exact-equality is desired, even for arbitrary structs. Maybe that's somewhat niche, I mention it as I have such a use-case actually.
That seems to be only a Google thing and they haven’t mentioned which law they think is forcing them to do this, co just using different contact/calendar apps should do the trick.
Nothing says "I don't care about neurodivergence" more than someone complaining when I build tools and processes to help me interact with the world better.
I enjoy pressing keys and entering code; I find it to be the most efficient way to communicate with my computer. Why would I not spend my time doing something I enjoy?
I thought you were talking about economic efficiency, not maximizing enjoyment. You can do anything you want with your time if you're not worried about economics, but that sort of contradicts your original statement.
But you can, in principle, understand a compiler. Also they're made by the same people who use them. Did blacksmiths get mad when they invented the first anvils?
While optimization may be done in unpredictable ways, it does not (by definition) change the effective behavior of the program. If you write a program to calculate prime numbers, it will always calculate prime numbers, no matter how the compiler optimizes it. If you tell an LLM to write code to calculate prime numbers, you are at the mercy of chance. (Maybe not for such a simple program, where the solution is directly in the training data, but you get the idea.)
reply