Many software engineering adjacent courses, starting with AP Computer Science A, are heavy on the Java-style OOP. And you're never designing an actually complex system, just using all the tools to "properly" abstract things in a program that does very little. It's the right idea if applied right, but they don't get a sense of the scale.
The first place this bites a new SWE in the rear, the database. "Let's abstract this away in case we ever want to switch databases."
That's exactly my point about it not being an engineering problem: you can't solve it with reactor design.
But it has been addressed with governance rules, in my country's power plant the guy responsible for safety is hierarchically independent from the guy responsible for running the plant so the later cannot command the former and let his hubris destroy the plant.
There aren't very many nuclear-weaponized countries in the world right now. Otherwise, the whole Iran Nuclear Deal issue would've been moot. Even Russia won't hand over nukes to Iran.
We aren't building these reactors in Iran. In fact, Iran maintains the capability to produce weapons using it's own reactors and centrifuges. It has it's own stockpiles of Uranium.
This was a response to the comment about nuclear weapons proliferation being a cat out of the bag. It's not out of the bag yet. Iran has been "nearly there" for several years already, and that's only wrt the enriched uranium, not the actual weapons.
Another important example because they're at war, Ukraine. And in the vaguely possible event of an Asian Pacific war, Japan and Australia have no nukes, but that's more by choice.
Positive feedback loop isn't the only risk of nuclear power. Fukushima had a negative void coefficient too, right? Rather than pretending there's negligible risk, I'd rather say it's there but the alternatives are worse.
The article. Working a mile down is at the limits of our capabilities. In an emergency situation it’s nearly unobtanium. Like Kernighan’s Law for engineering.
They're describing their app in a way that will make regular users think it's actually secure. Call it what you will, false advertising, deliberately misleading - a lie is a lie.
Their website also used to say that they are forever free, no ads, and that they were going to open source all their code, including the server code. Now they have a free tier, but even they couldn't call it "forever free" anymore. I wouldn't trust anything they write there =)
It's about as secure as any other non-E2EE chat or other kind of service, except it also has E2EE mode, which is limited to 1:1 chats for fair reasons. Plenty of other services advertise themselves as "secure," which doesn't mean a lot. So I don't see anything misleading there.
Aside from that, I don't trust Telegram or its CEO at all, partially because of what you said about open-sourcing (or not) and partially because of his ties to Russia and Azerbaijan.
The worst thing for me was that app versions expire pretty frequently with no warning, then you just stop getting notifications. Which is extra annoying cause I'm only on it for some bar trivia group that totally doesn't need e2ee (or even e).
Also, Facebook Messenger recently added e2ee, which made it glitchier, fussier, and not really any more secure given that the key is a short numeric code.
The first place this bites a new SWE in the rear, the database. "Let's abstract this away in case we ever want to switch databases."