The whole point of "no nullability bombs" is to make it obvious in the type system when the value might be not present, and force that to be handled.
Javascript:
let x = foo();
if (x.bar) { ... } // might blow up
Typescript:
let x = foo(); // type of x is Foo | undefined
if (x === undefined) { ...; return; } // I am forced to handle this
if (x.bar) { ... } // this is now safe, as Typescript knows x can only be a Foo now
(Of course, languages like Rust do that cleaner, since they don't have to be backwards-compatible with old Javascript. But I'm using Typescript in hopes of a larger audience.)
> "this program should not crash on any input" [...] though I expect those will be the last to be amenable to formal verification,
In the world of Rust, this is actually the easiest to achieve level of formal proofs.
Simple lints can eliminate panics and potentially-panicking operations (forcing you/LLM to use variants with runtime error handling, e.g. `s[i]` can become `s.get(i).unwrap_or(MyError::RuhRoh)?`, or more purpose-specific handling; same thing for e.g. enforcing that arithmetic never underflows/overflows).
Kani symbolically evaluates simple Rust functions and ensures that the function does not panic on any possible value on it's input, and on top of that you can add invariants to be enforced (e.g. search for an item in an array always returns either None or a valid index, and the value at that index fulfills the search criteria).
(The real challenge with e.g. Kani is structuring a codebase such that it has those simple-enough subparts where formal methods are feasible.)
> (if anyone knows how to verify HIBP does only what it says it does [rather than blindly trust and hope for the best], would love to read more about it)
I recall HIBP documents their hashing protocol so that it should be possible to have a non-web client you can trust more.
I'm a Finn. I personally interpret that survey as Finland being the least unhappy place. There's a social safety net, health care is taken care of, you know your life won't get destroyed by the slightest misfortune, you get a good education for free, your surroundings are generally safe and well maintained, you feel safe & are fairly certain nothing bad will happen, there are people around you who share your values, life is good.
Things that for example the article author's favorite USA does not have. But of course a Murkin' can't accept that. I fully expect him to gripe that somehow the Corruption Perceptions Index is also somehow unfair to his favorite country too, and just cannot be right.
And maybe check what Finland is doing with its military and what happened around World War II before saying that USA pays "most of our defense".
What's really rich is Americans deciding they no longer like their self-assigned World Police role, and managing to blame their supposed allies for that. Never underestimate the quality of Russian psyops, I guess.
These are America's choices. And it's America's choice whether to wield these in world-leading competitiveness or as ossified self-serving bureaucracy.
Other countries make other choices about where to do world-leading R&D (that Americans can take advantage of as lower prices). Chinese solar, for example.
That's not even a server, that's a GPU. There's often 2-4 H100 cards per 1U of server, so a 4U server could have 8 of those. This whole satellite hosts something like 1/168th of a rack of compute, and the GPU only causes only about 100W of heat.
I guess the Nordic societies have to really equal then, because I can't remember ever even hearing of anyone donating anything to a single school. Like.. there's nothing in the system for a school to even be prepared to even own a donation. A school over there doesn't manage a financial fund, it runs on an annual municipal budget. It's all tax money.
The parent commenter put it well, philanthropy is just the rich convincing [America] that things are fine.
My absolute favorite is toasts that stay on screen just long enough for me to realize there was an "Undo" button in the toast. What action did I just accidentally perform and why can't I undo it after the 0.3 second toast disappears?
Javascript:
Typescript: (Of course, languages like Rust do that cleaner, since they don't have to be backwards-compatible with old Javascript. But I'm using Typescript in hopes of a larger audience.)reply