3 ms·
People learn to tolerate minor bugs in software because most software is buggy. If I became upset at every minor (or even major) bug I encountered in day-to-day
by jmillikin 3y ago
People learn to tolerate minor bugs in software because most software is buggy. If I became upset at every minor (or even major) bug I encountered in day-to-day life, there would be no time to do anything else. On rare occasions I get blocked enough to track down and report/fix the bug[0], but mostly I just try to find a workaround and carry on toward whatever my original goal was.
Even if every bug were to be fixed, one would be frustrated by behaviors that are clearly intentional but stupid, usually because someone tried to over-simplify something[1], hack in a "helpful" shortcut[2], or has aesthetic preferences against supporting complex use cases[3].
Finally, beyond those two great lakes of bugs and bad ideas, we come to the endless ocean of missing minor functionality. The comic reader that lets page order be swapped for manga but doesn't change which arrow "next page" is bound to; the web browser that doesn't allow translating a page unless its language heuristics get tickled in the right way; the mobile keyboard that couples auto-punctuation with spelling correction.
It's like the joke about wine snobs -- if you don't know much about wine then most wines taste fine, but if you take a wine appreciation course then you'll never be able to enjoy it again.
[0] three weeks ago: https://bugs.ghostscript.com/show_bug.cgi?id=706551 https://bugs.ghostscript.com/show_bug.cgi?id=706551
[1] A lot of GNOME's applications fall into this category, for example its "Document Scanner" vs xsane, or "Music Player" vs Rhythmbox/Banshee.
[2] two weeks ago: https://mstdn.io/@jmillikin/110211856191257399 https://mstdn.io/@jmillikin/110211856191257399
[3] I am annoyed daily by crates.io lacking per-user namespaces, and the primary objection to adding them seems to be driven by a preference for single-token package names.
- couchand 3y agoMost of your comment is strong but reducing nuanced discussion about something as foundational as package namespacing to "aesthetic preference" is not one of your strong points here.
- jmillikin 3y agoPackage namespacing in Rust is not foundational -- the compiler and toolchain are decoupled from the identifier used by crates.io and Cargo. Non-Cargo build systems (such as Bazel) are able to work with arbitrary package names without problem. There are three general directions crates.io package namespaces might take, and aesthetics plays a major role in not currently having any of them: 1. Use human-readable strings as on Github, yielding package names like `jdoe/some-package`. The crates.io maintainers prefer to avoid this due to potential operational load from people requesting changes to their username. 2. Use opaque (but stable) namespaces such as an integer user id, yielding package names like `user-12345/some-package`. Some people have a strong aesthetic aversion to this. 3. Assign each package a UUID. This is technically possible in current crates.io if the leading character is [a-f], but I've never felt mean-spirited enough to actually do it.
- yjftsjthsd-h 3y agoThen what's the better reason?