Fine, but in practice a data race is just a special case of a race condition so my point still stands. Most multi-threaded code with races is more like my example than the author's and Rust will not magically prevent such race conditions.
Indeed, I like your example, usually I go after external resources being accessed from same threads, database accesses without proper transaction management, or OS IPC, where the Rust threads don't have any visibility about what the other processes are doing.
It's exploitable only by a SSH server that you connect to with agent forwarding enabled (i.e. one that you're already trusting with access to your SSH keys).
What's the software story for the VSPA DSP? Is that going to run user code, or a binary blob that does some filtering and sends I/Q samples to the iMX or USB3?
NXP doesn't share many details on the LA9310. Could just be too early, but it smells like a "you must convince a sales rep you're going to be a qualified customer and sign a stack of NDAs before you dare ask for a datasheet or instruction set manual" situation, which is unfortunate.
NXP are open sourcing a lot of the support stack for the LA9310 to go along with this product release, but I'm afraid they consider the VSPA DSP to be highly proprietary, yes.
SVB didnt lobby to relax the laws against unpaid overtime, faulty advertising etc. Not any banal evil like that. SVB lobbied against laws that protected both the bank and its depositors from the very thing that happened. And succeeded to get an exemption for itself.
Editions only guarantee that old code builds with new compilers, not vice versa. New features are added to all editions unless they require e.g. new keywords that are available only in new editions.
Ah, that is right. I apologize, I think I've learned that three times now, but for some reason my brain refuses to accept it.
I like that previous editions get new features when possible, unlike say C++, but I wish they'd gone with semantic versioning for the language version, like python did when both 2 and 3 were active. Oh well, I just need to remember that the edition is like the major version, and compiler version is sort of like minor version, and both are needed to specify forwards compatibility.
It might make more sense to think of editions as optional changes to the surface syntax, and nothing more. They are not nearly as important as the name makes them sound.
They are often small, but it's a mistake to say they're surface-level. Changes to syntax or semantics only get made when absolutely necessary to allow for essential features or fixes.
V2 is a garbage fire and that was before I knew it didn't scale to zero.
It doubles the cost of V1 and they have the gall to say:
> most Aurora Serverless customers can lower costs by moving to v2 due to a lower starting capacity of 0.5 ACU (vs. 1 ACU in v1)
Oh, why thank you AWS, how kind of you. I can go to 0.5? That doesn't matter at all, the price is the save as 1 ACU on V1.
D1 is interesting but if you want Serverless MySQL then check out PlanetScale [0]. It's free for hobby projects (it will turn off if you go 1 week with no activity) and then it's a flat $30/mo and you can have 2 production branches and 5 development branches. I've been very happy with them so far. The usage-based pricing is a little scary (I know I don't think in rows read/written) but the limits are super high and so far my usage has been barely a blip.