Just wondering what he finds so delicious to eat that he couldn't stop. I find the food in UK absolutlety disgusting, fast food, desserts, breakfast, all of it.
A) The comment was about "food in the UK" not "British food." He's eating food in the UK so his list is of food in the UK.
B) Domino's and McDonald's are not British foods but sausage rolls and pork pies are. Even the American chain food will taste different in the UK vs. the US.
Safe Rust is memory safe and data race safe. There are other forms of safety obviously, like overflow safety, numerous forms of confidentiality and security properties, etc.
It is written in the linked README, but I will state it here.
Rust checks integer overflows at runtime (or not at all, if building for maximum speed). It is safer than not checking at all. But costs performance and can lead to (predictable) crashes.
This tool is a way to prove that overflows can not happen at compile time. Which is extremely hard in the general case.
Also note that the reason that Rust can get away with not checking for integer overflow while still being memory-safe is because indexing operations are bounds-checked, so an overflowing index variable panics anyway.
Unless it overflows all the way to a valid index. Which might lead to unexpected results if the code does not expect to be using a smaller index (for instance, a code trying to access index i+2 might not be expecting it to suddenly access indexes 0 or 1).
Rust promises that safe rust is memory/type safe. You can still get interger over/under-flows, indexing out of bounds, and allocation failures (oom), etc... all of which "panic" - which means that rust will safely unwind the stack and exit in a way that remains memory safe.
In addition to the many other fine points about how Rust doesn't perfectly secure against everything, having a static analyzer out of the compiler means that the static analyzer can continue to develop on its own time frame without being tied to the compiler releases. The importance of this is easy to underestimate. It is really helpful to have external projects able to iterate independently for this sort of thing.
I would say at least half of the remaining 30% are eliminated by Rust's stronger type system and borrow checker too. When I'm writing Rust it feels like I write around 10x fewer bugs than in C++.
From Microsoft[0]: "As we’ve seen, roughly 70% of the security issues that the MSRC assigns a CVE to are memory safety issues."
And from Google[1]: "memory safety bugs continue to be a top contributor of stability issues, and consistently represent ~70% of Android’s high severity security vulnerabilities."
This is a fair question really. Calling it a static analyser is misleading and seems to be editorialised. It's not like static analysers in C++.
It's actually a formal verification tool. They call it a "static verifier" not a "static analyser".
Most static analysis tools seek to find potential problems in your code - generally common mistakes - but they aren't proving anything usually. They have false positives and negatives. Formal verification requires you to write properties about your code and then it proves it.
- I am pretty sure that static verifiers are a subclass of static analysers.
- Prusti does not require you to write any "properties". I just ran it on a piece of code, which has no annotations for Prusti, and it still found a potential integer overflow. Maybe it has some internal annotations for std, but none for my code.
This one will probably take decades to get in a useful state.
For head (or other organ) artificial alive-keeping we still don't know enough about how they work - and in case of especially the head we don't have the adequate technology yet to properly reconnect the neurons.
It might be that we can do this sooner than keeping the full head alive though, given that there is way more investment in such research to help people with spinal injuries regain motor control.
It's more complicated than "only" blood. The hormones and other signalling chemicals involved in the brain-body communication are not really figured out - we don't even know what hormonal balance is "normal" and treat mental illnesses such as depression and schizophrenia with a "shotgun" approach - shoot a lot of loads and see which one has an effect.
I hate meetings with a passion, and I work in HR data for a very large (40k+ employee) government employer in Western Europe.
I got myself in a bit of trouble by attempting to produce an automatically generated "meeting cost" report to dissuade people from having meetings.
The script pulled salary data for attendees of each meeting (pulled from Outlook calendar), length of meeting and even used the Bing maps API to capture travel costs for each attendee.
When I mentioned it to my manager, he promptly killed it. Although he is very much anti-meeting, he pointed out that it could easily be targeted by a Freedom of Information request and used as a political weapon.