"Rules" often contradict each other. For example, in software development, "keep it simple" often directly conflicts with "dont repeat yourself" as it takes increased complexity to achieve reuse of code. I often see keeping it simple take a back seat in newer developers as they slavishly follow the don't repeat yourself trail. The end result is routinely a brittle, rigid, and overly complex solution.
DRY is about knowledge management. The intention is to not avoid duplication of code which is a knowledge representation of the same thing. It does not mean every coincidentally similar looking code must be made into a function, as it would result in a premature abstraction, etcetera etcetera. It's why "minimum three duplication" principle is effective, because it filters which duplication represents the same knowledge and which does not.
DRY I would argue doesn't conflict nearly as much with a nuanced approach. "Apply Aggressive Compression to Your Code" certainly flies in the face of many other nice features of code as a working body, though
My more nuanced take I guess is "don't duplicate logic, except if it may in fact be mutable data". It does take some forward thinking to think that this e.g. list of 10 rules should be unrolled and not compressed by meaningless helpers, etc
> For example, in software development, "keep it simple" often directly conflicts with "dont repeat yourself" as it takes increased complexity to achieve reuse of code.
KISS and DRY are different paradigms, i.e. come from different schools of programming.
> but a properly security-paranoid home automation aficionado wouldn't be caught dead giving some proprietary black box power and network inside their own home.
Don't even get me started. :( It gives me pangs of cognitive dissonance every time I use my Android phone to type up a rant about how creepy Google is. I'd love to walk the talk, but my impression is that FOSS Linux phones aren't really viable yet if you're interested in things like, you know, functional power management or a Bluetooth stack that actually works.
Sure, if data from US would be enough to understand and fight disease. Otherwise, you need to create some sort of world health organization to share meaningful data and investigate inside all country participant without the appearance of [or actual] invasion of sovereignty.
Thus, we have the WHO. You wanna replace it, it's gonna take a decade to get to another agreement if one even is made. Then it will have its own set of issues. During a pandemic, seems better to me to work with and hold accountable the one we have... kinda like the WH is doing today.
We don't need it for this. Intelligence organizations know that biological threats like this are intelligence problems. They just didn't think them likely or that the sick guy would be our enemy.
However, now we know the adversary is truly an adversary. China will suppress information on pandemics started within its borders.
The game has changed. You don't listen to China about whether China is sick. You listen to Keyhole and your guys on the ground.
Also "Frictionless sharing and collaboration" seems not valid at all when it exists in the closed ecosystem that is Apple. Probably the decision is to follow with Android and web [windows+linux].
Software development technology is getting close. A couple few more years maybe and that problem will start to go away fairly rapidly [relatively speaking], like possible 30-40% cross platform by the end of maybe 5 years-ish. 12 year android dev here seeing the light at the end of the tunnel with some newer performant (dev wise and user wise) frameworks and architectural patterns. Of course this all depends on Apple not saying FU to the entire industry in a dramatic, squashing those frameworks with their iron fist sorta way.
Something along the lines barring the compilation of iOS apps with 3rd party tools or some such in TOS or blocking apps made with them from the App Store outright. Not saying the would, but if they had reason to fear they are losing control of something in their ecosystem, no telling what they would do. Just would not give a zero chance of something crazy as such happening.