Well, in practice you're likely to have hard dependencies between services in some respect, in that the service won't be able to do useful work without some other service. But I agree that in general it's a good idea to have a graceful degradation of functionality as other services become unavailable.
As we are talking about micro services, K8s has two patterns that are useful.
A global namespace root with sub namespaces will just desired config and current config will the complexity hidden in the controller.
The second is closer to your issue above, but it is just dependency inversion, how the kubelet has zero info on how to launch a container or make a network or provision storage, but hands that off to CRI, CNI or CSI
Those are hard dependencies that can follow a simple wants/provides model, and depending on context often is simpler when failures happen and allows for replacement.
E.G you probably wouldn’t notice if crun or runc are being used, nor would you notice that it is often systemd that is actually launching the container.
But finding those separation of concerns can be challenging. And K8s only moved to that model after suffering from the pain of having them in tree.
I think a DAG is a better aspirational default though.
Both, usually. A language's semantics can limit how much a compiler can speed up the language. Python, for example, is extremely difficult to make fast due to the fact that almost everything has the semantics of a hashmap lookup. C, in comparison, has relatively little in it that can't be mapped fairly straightforwardly to assembly, and then most of it can be mapped in a more difficult way to faster assembly.
The other issue with USB PD without a battery is that most chargers with multiple ports will drop the connection and renegotiate if any of the ports are plugged or unplugged (whether they need to in order to supply the new device or not).
(Relatedly, there's an empty niche in the market for a USB-C power bank that can act as a UPS: able to charge and discharge at the same time without interrupting the discharge port when the charge port is disconnected)
I confirm, baseus chargers really reset all ports when you change the number of consumers. But I think you usually have a choice between caring about a custom power source or using a standard one. IMHO, using a dedicated PD charge is still more convenient than alternatives.
I think I've used the phrase 'I actively don't want X' to emphasize unwant before. In my work I do try to disambiguate between the things I care about and don't, especially when delegating to people.
Is it treated differently from other kinds of advertising? A lot of planning and permitting has a bit of a 'if it's known about and no-one's been complaining it's OK' kind of principle to it.
Only if you're returning a reference or wrapping it in something that will only ever return a reference. If you return an object by value ('owned'), then you can do what you like with it and 'mut' is just an light guardrail on that particular name for it.
Even for layout, CSS took a long time to catch up with tables in some areas. Tables were not designed for layout, but there's a lot of aspects to them which are easier to grasp and work with than trying to get the same effect with early CSS.
Standards also benefit the industry as a whole, and it's generally in the interests of the companies involves to participate in the standardisation process anyway. Charging for the description of them is just a cherry on top (compared to e.g. licensing any relevant patents), I don't believe it's at all required to incentivize a standardization process.
(this is of course looking at interoperation standards - regulatory bodies are going to be more concerned with e.g. safety standards)
reply