normaljoe
With auto pilot on the car is watching you. If you take eyes off the road it issues more pay attention nags. Failure to comply removes FSD Beta. So you have a feedback loop where paying attention becomes more important then your phone.
Brittle materials are more temperature sensitive and can rapidly fail. Brittle fracture is no joke look for WWII Liberty ships split in two as an example. We didn't really understand why at that point in time.
The answer though is actually pretty simple and why you can't get a perfect material. The lattice structure of the molecules connected to each other can be soft (plastic) or hard (steel).
In the plastic example just take a milk jug and poor boiling water into it. Don't actually do this without protective gear (oven mit should be fine). The molecules holding everything together get excited from the energy (heat) move around and since they are not closely bonded end up in a different configuration. Your milk jug at this point does not look the same and is deformed.
In the hard example just boil the water you are using for the plastic test. The pot you used does not change because the molecules are tightly bonded.
It turns out the the tighter the molecules are bonded there is still a point where that bond will break. Hence the brittle fracture, which is every molecule mic dropping and going home at the same time.
While I could go down another rabbit hole to the atomic, subatomic, level of how those lattice structures work. I won't as I think this example gives you what you need.
Finally in this case we have a very old, by modern space technology, structure that is made of material that was most likely never expected to last this long. If you want a space ship to last you just have to make sure the engineers understand what "last" means. :)
What really got to me was it was ER visit and the Doc(extortionist) spent maybe 5 minutes with me before having the nurse fix me up. After insurance $250 to hospital, and $2000 bill for the Doc.
Where can I even find a Teletype that might actually be close to working and if do find it can I get a little more notes?
I think the better argument here is that iOS and MacOS use RC in the underlying objc libs. Having a CPU that works better around that makes sense to increase performance for those particular OSes.
If I have to get the clock to reach 2 cores/units at the same time that is easier then say 4 cores/units. As you increase the clock speed the time to reach all the cores decreases. So if you are wider you would need to reach more cores/units in the same period of time, hence "harder".
EDIT (To make it a little more clear) To make it more clear the voltage change is typically represented in books as a vertical line, but that is not the case it's diagonal and fuzzy. By fuzzy I mean not a straight line but will have some tiny mini downs on the way up.
Different parts of the circuits are going to respond to the up or the down. They are also can vary based on the exact voltage. For example if I have a 5V up one circuit might consider 4.8V to be up and another could be 4.9 or 4.7.
Silicon has improved, but there still is limits of scale based on size, volts and timing.
Granted the too high mark could still be perfectly fine to throw into a landfill and not impact anything, but nobody wants that in their neighborhood.
As to high level stuff which is what you are asking about, the spent stuff is really hot. To recycle, it would need to cool down first. Commercial plants place that in cooling pools, which is kind of bad if you have a Tsunami hit your plant (Japan), our something else.
So as to the waste element think I have 2% enriched object that is 100 cubic meters. The same in a highly enriched say 90% would only be about 2 cubic meters. This means my pools would be smaller, my overall size is smaller, and I can contain the smaller pool easier preventing the release.
On the politics side the idea of highly enriched is dangerous because it could be used for other purposes, however when those decisions were made I don't think anyone every imagined the concept of a dirty bomb in which enrichment is really going to matter one bit.
I am not as familiar with the commercial side but I can say the military model is safe as all get out and produces less waste since you only need to refuel ever few decades or so.
Also NRC is very much still involved with Military applications, which at this point just involves moving expensive war ships around.
SV labor is expensive compared to other markets (see below). I have worked in SV and elsewhere and mostly elsewhere is 1/2 the pay as SV and without the things like free lunch / coffee bar / shuttle service.
SV doesn't need unions because the turnover rate is so high that the companies are basically providing what unions would negotiate just to compete (free lunch / coffee bar / shuttle service). It's still a buyers market from the employee standpoint.
I do think SV is not quite at the inflection point just yet, but it is moving in that direction.
The irony in this is actually that the cost of labor is high because the cost of living is high. The cost of living is high because of the NIMBY folks preventing multiunit housing. If the ballon collapses those NIMBY folks would see their precious house values decline.
Finally as to superior products most Japanese and German cars sold in the US are still built in the US, just not Detroit because of.... Wait for it.... Union Workers.
The old MS/Apple relationship is kind of weird almost like the Gates/Jobs relationship. For you young folks it may be hard to believe but Excel started as a Mac App.
ISO C and C++ doesn't provide tooling, nor should any language. Tooling is better handled by third parties and implementers. Language should be focused on application and execution of the language. Unfortunately for PHP the language and implementation are tightly coupled as is Java and Swift.
A well constructed modern PHP project using composer has the tooling needed to statically validate. Personally I use PHPStorm but I also use IntelliJ for Java and Android. There are others out there as well.
Autoloading used correctly is no more than Java using a package line or namespace.
I find no problem with TypeScript and others. I however have a 10+ million line code base of PHP that predates TypeScript and others and needs to get a viable transition path. This gets things closer with real type errors at runtime. That is way better than my mainframe COBOL counterparts who have no path forward at the level of modern code.
I don't see the need for abstraction either especially with Postgres which has a very good type casting system. I can insert a float into an integer column without any trouble and can return the same. Postgres even has a great syntactical sugar of :: for casting such that value::int or value::numeric just works.
Finally if this is a true requirement Postgres fully supports domains which are custom data types. They are not difficult to deal with and could provide for a syntax which would handle that. You might need a little work but I can have a domain which would include the int type and float type as a single data type. This still requires some plumbing to create a true union however it's not that far off. The downside however is again the DB has to store in binary so a domain like that would have two values stored for a single value which would be less than optimal solution.
The true value for PHP programmers here is that we can get closer to type validation in a duck typed system. This provides multiple type validation of scalars as parameter to a function. Less interesting to Java, Python, Ruby developers where everything is an object except in a few cases. Scalars are still widely used in PHP and this feature allows for not sending "banana" as a parameter to a function, that in the past would just cast this to 1. If you think banana == 1 then you are going to have logic bugs.
Most likely this is a result of one of the mother of most bracket based languages specifically C and it's children. BCPL did not have multiple data types which I would guess was an artifact of it's time. I am not certain if this is still the case, but a language that was built in the 60's clearly had limits that are no longer valid. With no types it would be natural to define a boolean as a 0 and 1 in binary which would give you your 0 is falsey.
I was not born yet, and I expect you probably where not as well, when these pivotal decisions where made. It is still interesting to look back and see how what we do today was the result and the why of our forefathers in computer science. For example at the time I can see why Ken Thompson would make the choice of = as assignment instead of := to save bytes and use == for comparison. Assignment being a more often operator would indeed save space, but the amount of bugs it's created since then he probably would not have made that decision.
I have a single pg admin in current project and he can throw most tasks to the Oracle (running on Linux) admins or even junior Linux admins.
While "complex" they are still fairly basic to command line admins.
Anything with less than 3 pipes or one regex should be simple to command line *nix person. Granted to excludes you including a complex AWK script or inline perl execution on the command line instead of in a file like a normal sane person.