To clarify, as long as 5 and 10 are constants, this is entirely possible in C++ and Rust^1, neither of which are dependently typed (or at most are dependently typed in a very weak sense). In general, neither can ensure at compile time that an index only known at runtime is in bounds, even if the bounds themselves are statically known. A proper dependently-typed language can prevent runtime out-of-bound errors even if neither the indices nor the bounds are known at type check time.
^1 And weakly in many other languages whose builtin array types have compile-time bounds. But C++ and Rust let user-defined generic types abstract over constant values.
“Ratianolising” is the word used in the most wrong way. The word normally describes inventing post-hoc reasons for some decision or behavior.
“Negotiating” is a big list of aphorisms which pull in different directions. Some of the advice sounds like amateurish art-of-the-deal tips which encourage you to extract as many concessions as you can from the other side. Some of the advice pulls in the opposite direction. And then, to mix everything up, the advice to compromise and meet half-way rears its ugly head.
The more I read in this article, the worse my opinion gets. I’m stopping.
:-(
I think if you already have well-developed thoughts about persuasion and social interaction, it might not add much, but it was useful for me.
Isn't this backwards? In real life, if you have a dependent, you are responsible for it. On the other hand, if you have a dependency on something, you rely on that thing, in other words it should be responsible for you. A package that is widely used in security-critical applications ought to be able to be held accountable if its failure causes harm due to downstream applications. But because that is in general impossible and most library authors would never take on the risk of making such guarantees, the risk of each dependency is taken on by the person who decides it is safe to use it, and I agree package managers sometimes make that too easy.
If applications followed the UI guidelines, Enter behaved like Return if enter didn’t make sense in the context and vice versa. Yes, that was mostly (when do you have UI to enter a multi-line text to be processed as a separate unit?) but when it mattered, return started a new line, and enter sent entered text to be processed by the application.
MPW shell was a (?the?) prime example. In its editor, Return started a new line, Enter executed the current selection or, if there was none, line.
I would not be surprised to find out that Synology is seeing a smaller market year over year and becoming desperate to find new revenue per person who is shopping for a NAS today.
With the size of data we're dealing with, loading everything from cloud all the time would slow analyses down to a crawl. The Synology is networked with 10G Ethernet to most of our workstations.
If you focus on fast typing/editing skills to level up, but still have bad decision-making skills, you'll just end up burying yourself (and possibly your team) faster and more decisively. (I have seen that, too.)