3,108 karma · joined February 21, 2007
Even the CDC is now promoting cloth masks:
https://www.cdc.gov/coronavirus/2019-ncov/prevent-getting-si...
There are a number of embeddings of classical logic into intuitionistic logic. The most popular/obvious is the double-negation embedding that maps a proposition to its double negation.
I'm trained in the field (on the math side, actually at the same institution as Vern Paulsen quoted in the article), and I never got the impression that the answer was universally assumed to be true. One of the major consequences of a positive answer would have been that every countable discrete group is hyperlinear, which would have violated a well-known heuristic principle of Gromov that every property of all finitely generated groups is either false or trivial.
The frustrating aspect about the refutation via quantum information theory is that there is no obvious way to transfer the insight to also refute the consequences of a positive answer to the problem.
Compilers do deliberately look to optimize loops with signed counters by exploiting UB to assume that they will never wrap.
Doesn't SeL4 need -O1 codegen to make their extraction from the generated code (and the thus the rest of the formal proof) work out?
How does Rust solve the ambiguities with const generics?
The grammar ambiguity is resolved as follows: In a context where one possible interpretation of a sequence of tokens is an Arguments production, if the initial sequence of tokens forms a syntactically correct TypeArguments production and is followed by a '(' token, then the sequence of tokens is processed an Arguments production, and any other possible interpretation is discarded. Otherwise, the sequence of tokens is not considered an Arguments production.
Most languages that use angle brackets for generics (e.g. C++, Rust, Swift) also allow you to explicitly instantiate generics, which leads to a syntactic ambiguity, e.g. is
a < b > (c)
a function call or two comparisons? The usual way to disambiguate in these cases is to check whether b is plausibly a type and treat it as a generic, but this is ugly on a few different levels.There are apparently a large number of cases that work differently, with hypoxemia prior to any evidence of severe lung dysfunction:
https://www.atsjournals.org/doi/pdf/10.1164/rccm.202003-0817...
There are also discussions of this phenomenon on Twitter by emergency medicine professionals from NYC, e.g.
https://twitter.com/ericleemd/status/1243613497243639809
Some of them propose that early mechanical ventilation in these patients can actually cause lung damage.
It would be different if this belief was pushed by a few isolated theorists, but it's the major focus of the field and they will likely ask for billions of dollars of new public investment for accelerators to continue the goose chase, with no promising leads from any of the previous experiments.
The usual problem with these sorts of CPU microarchitectures for general-purpose computing is that they can't absorb variable cache/memory load latency. How is this one any different?
There is no ordinary compilation scheme that will solve this, even with complete omniscience, since the same function with different arguments will observe different latency. Maybe some magical feedback-driven JIT could do it, but that was tried in the Itanium era and never really worked either.
To solve this, you would need to either use a hierarchical decomposition of subsystems or do some crazy mocking to run subsystems outside of the full kernel.
There is a recent project (KUnit) to add a unit testing framework to the Linux kernel, but it remains to be seen how much adoption it will get.
Java only became fast after the HotSpot server compiler, which was written by Cliff Click (and Micahael Paleczny / Christopher Vick) and takes a different approach than Smalltalk / Self compilers.
Isn't the new policy for local storage being copied from an existing policy for cookies? How can they switch to cookies?