I thought it was floss -> mouthwash -> brush, but either way brush was always last because the toothpaste fluoride is what you wanted left on your teeth at the end of the process with the mouthwash serving as a base layer.
AF447 wasn't a security breach. You're talking about an entire separate class of human-machine interaction problem that has little relevance to the lack of security around access to OT operational surfaces.
Not OP, but the point seemed clearly to be that if sensor input is wrong, then it can result in catastrophic results even when all control systems are normative. The inference then is if hackers can affect sensor readings then they can still effectively control a system - like putting an ice cube on a non-adjustable thermostat.
If hackers can "affect sensor readings" before they feed into the control system, sure. But that is not read only access to the sensor... The trivially simple example is a webcam streaming the thermostat output. The hacker can watch that stream all day - it's not gonna cause any issues with the refrigerator. Even if the hacker had control of the stream, worst they could do is disrupt any monitoring system that uses the stream (e.g. make it appear that there is a fake issue or mask a real one) - but that is significantly lower risk than having remote access to trigger a semipermanent defrost cycle that spoils all the food.
For some reason this reminds me of the theory of false vacuum decay, where the universe could exist at a local minima rather than an absolute minima and if something ever disturbed that and decayed out of the local minima the whole universe is obliterated. Fun time.
I guess the relation would be that the useful state of being is somehow not the most stable.
If you use the typing system (which I do religiously) Python becomes a lot easier to reason about in larger projects it also makes linters and refactoring tools easier to use.
Maybe I'm just using it wrong, but typed Python seems a long way behind typed JS (i.e. TypeScript).
In Python in seems like there are multiple type-checkers with widely differing levels of coverage, so it's not at all obvious which one to use, and typing is really spotty in third-party libraries. So you can get some level of type-safety but it doesn't feel very dependable.
In TS, there's one canonical checker and the others work hard to stay compatible with it; and typing in third-party libraries is generally very solid. There are still some old libraries without types, but I think those headaches are mostly in the past now (similar to the Python 2 -> 3 switch).