Rust does not prevent race conditions. You're getting confused with data races.
However GC's solution to data races (make every load/store act as very relaxed atomic instructions) makes race conditions much easier to write.
1,987 karma · joined March 10, 2021
Rust does not prevent race conditions. You're getting confused with data races.
However GC's solution to data races (make every load/store act as very relaxed atomic instructions) makes race conditions much easier to write.
owning_ref is unsound and shouldn't be used. self_cell/yoke/ouroboros are much better alternatives, ableit more complex
Isn't this what MIRI already does?
On the other hand statically checking bounds for (dynamic and non) arrays is very very hard in the general case.
OpenAI and Anthropic were losing money too until recently, when they started focusing more on increasing revenue (which is also part of why companies are now looking more at Chinese models to reduce costs).
Push-based designs instead "push" changes to their dependants, which can be quite efficient especially in the case where the update doesn't propagate much. However it has the downside of potentially requiring to update nodes that are no longer used, or updating nodes multiple times.
Then sure, go ahead. Define your own model of computation, one not based on turing machines and which somehow allows for infinitely big lookup tables, and then see what great insight it provides you.
I wonder discoveries you will be able to make in a system where you can say that the solution of a problem is just its solution.
Moreover it only works with bounded inputs. If your input is unbounded (as is this case with multiplication over arbitrarily large numbers) then an infinitely big lookup table is just not possible because it's part of the algorithm and hence needs to be finite.
If infinitely-big lookup tables were allowed you could for example write an algorithm that solves the halting problem, just index into the lookup table for its solution. And actually you could do this for any problem! So any problem, even so called "non computable" ones, admit a solution that runs in time linear to their input. I hope you see that this is nonsensical and it's why lookup tables are considered part of the algorithm and hence need to be finite.
> You might not "want" something in a proof, but if it works then it works.
And at the same time you don't get to change the definition of algorithm to allow your "proof" to be valid, otherwise you're just talking about nonsense.
In general any problem can be solved in 1 step with a lookup table, so here you go P=NP solved.
When considering multiplication algorithms the parameter N is the number of digits of the two numbers. In that model adds do not complete in negligible time, and instead take O(N) time.
That's base 5 then. It needs to go from -2 to +1 if you want base 4
If I have to guess it's because the temporal inconsistency tradeoff can actually affect the current page too, since it might depend on the previous pages for layout, references, etc etc.
Typst on the other hand aims to have no inconsistencies due to incremental compilation.
This simplification relies on the fact that after making a multiplication the cost of merging it with the result of another is always less than the cost of performing the multiplication, so it doesn't change the overall complexity.
This is not true in your proposed algorithm: a lookup is O(1), but merging is O(N), so you cannot do the same simplification and have to count the complexity of performing adds as well.
You're confusing fraud as in unauthorized payments with fraud as in you not receiving what you paid for. The latter is not prevented by 3DS in any way.
> I can recall when we first tried 3DS in the US
Exactly, it has been a fiasco in the US, but it's working quite well in Europe.
> When we finally decide we don't want to get lapped by India and Brazil in payment tech
They are indeed ahead, but they still work based on some kind of user authentication that's not a plaintext credit card number. That's the same disruption as 3DS, except normalized and a better executed.
For example how would you use it to return a list of events and, for each event, the list of attendees in that event?
Also note that with a randomized pivoting you _might_ hit a O(n^2) worst case, it's just that it's incredibly rare and cannot be forced by an attacker controlling your input, so for most practical purposes can be ignored.
So do you want the VCS to be the source of truth or not?
That's not entirely true, if the VCS's tag changes the proxy might not pick it up.
I don't even consider those when shopping online.