6 ms·
Sure. Sometimes. Othertimes, you have to recognize that you aren't an expert, and that the real "why" is beyond your reach. If you're in this situation, you'
by sbov 10y ago
Sure. Sometimes. Othertimes, you have to recognize that you aren't an expert, and that the real "why" is beyond your reach. If you're in this situation, you're probably better going with the herd.
I run across this sometimes with my boss. He asks why we do X, can't we do Y? I respond: X is common and a well vetted practice, I don't know the security implications of Y. Then he says: lets use Y unless you can think of a concrete reason not to.
In the meantime, I'm not really qualified to analyze Y in the way X has been analyzed. I would rather stick with X, even if my reason is dogmatic.
- skj 10y agoThat's just your boss being dogmatic. Your reason for wanting to do X seemed valid to me, but then again I have no idea what Y was or why your boss wanted to do it.
- Paul-ish 10y ago>X is common and a well vetted practice, I don't know the security implications of Y. What isn't concrete about this? Does your boss invent his own HMAC schemes?
- deleted 10y ago[deleted]
- jacobolus 10y ago> Othertimes, you have to recognize that you aren't an expert, and that the real "why" is beyond your reach. If you're in this situation, you're probably better going with the herd. Yep. And as a society we are great at this, which makes it almost impossible to improve any part of our culture basic enough to be taken for granted. That’s how we end up with a base ten number system, a weird irregular calendar, really silly spelling rules, suboptimal mathematical abstractions, inflexible shoes, office furniture and computer input devices which cause serious injuries, roughly the same computer architecture since the 60s, or the marvelous absurdity that is the modern web software stack, not to mention bloody centuries-old feuds between neighboring tribes. Also the main reason advertising and propaganda work so well. “Everyone else does it, so you should too” is an incredibly effective way to shortcut reasoning.
- dasil003 10y agoI think you're conflating cargo culting with pragmatism though. The generalized reason that everything is messy is because it's too much work to gather all the knowledge and consider all the angles and do a big reset, and even when you do, you run into unforeseen issues that may end up being just as bad (see Gall's Law). Consider a pet peeve of mine: The Turkish Problem. Specifically, when Turkish was latinized almost a century ago, they had the brilliant idea to use lowercase i and capital I as separate letters, and then introduce their counterparts İ and ı as new letters. This now means you can't upcase or downcase the letter i/I unless you know the language. Note that it took 11 years for Firefox to handle this correctly (https://bugzilla.mozilla.org/show_bug.cgi?id=231162 https://bugzilla.mozilla.org/show_bug.cgi?id=231162), and even then you have fractal complexity if you're dealing with an internationalized site. I had the pleasure of working on a film site that was localized to Turkish, where I realized that it is not enough to know the language of the document, you must indeed know the language of every string in the site. In the case of film titles for instance, many films in Turkey are known by their English title, and in that case you must use normal capitalization rules, so now every film title has to have the original language flagged. This is not a small issue because if you are a Turkish speaker it just looks wrong if you don't get it right. Why do I go into this digression? Because from a programmers perspective, this is insane. In retrospect it would have been infinitely better just to invent a new letter or use an accent or something that fit the alphabetical semantics of other latin languages. But they didn't. This decision went into effect in 1929 when the concept of character encodings was something only maybe a handful of engineers and mathematicians had even considered, and the concept of Unicode would have been beyond science fiction; it probably seemed a perfectly reasonable hack at the time. If we were to reverse it now in order to ease technical concerns think about all the fallout with all the existing documents and printed materials. It's just too big a price to pay. The world is full of these things, there's just not a big enough ROI to justify overhauling these old systems. That's very different from the more actionable problem of people who go through the motions without ever questioning how they do things.
- adrianratnapala 10y agoMost of the things you mention are not things engineered by small -- or even large -- teams, but are evolved products of whole societies. And for all their absurdities they also embed a lot of knowledge about how to get things done in the real world.