382 karma · joined January 19, 2015
Unconditionally duplicating the array would use more memory and wouldn’t be faster.
I’m also new to a lot of these topics but recently read Rust Atomics and Locks which has helped my understanding quite a bit - at least keeping me above water reading all the discussion in this post. The examples are in Rust but the concepts are at the kernel/cpu level and apply beyond the language. I recommend it.
The process is pretty involved, but to add some clarification - the "indications for use" or "expected use" are things the manufacturer are required to include with their device when submitting for 510k clearance from FDA, so that it can then be marketed for medical use. They can only market it as a medical device once it has 510k from FDA.
>The Framework was developed through a consensus-driven, open, transparent, and collaborative process...
It sounds like they collaborated significantly with parties likely involved with developing AI
Medical devices are marketed for specific medical use, which doctors rely upon to do what’s medically expected. These devices will have an “expected use” and “indications for use” that largely cover how they are design/expected/tested for use. They need 510k clearance to be classified by the FDA as a medical device.
Additionally their support is really good. They added a feature on iOS version (and Android I assume) which copies the TOTP when you use codebook to auto fill a login. However it cleared the clipboard when the TOTP code expired which was sometimes too soon - I suggested they add a buffer of ~15-30 sec which most TOTP validators allow, giving the user a bit more leeway in pasting it. They added it in the next version.
Some cons though: They do lack Linux support. Syncing is manual (I think they mentioned the next big update will make it more automatic), and there aren’t any family/team sharing capabilities. For these reasons I would really only recommend it for tech-savvy individual use. I’ve recommended it to a few colleagues and they have had great experiences and continue to use it for several years now.
To your question about what/how Mercurial helps I'm guessing it's related to this, or other workflows enabled by Mercurial's Evolve/Topic features. It sounds like Sapling has adopted Evolve/Topics and making them functional on Git repositories though I'm not sure what it's doing under the hood.
Many companies/organizations won't hit the size/scale where this matters but there are certainly plenty of companies who have large repositories and contributors that would benefit from something like Sapling over Git/Mercurial. These tools start to become slow. Many addons have been created to ease the problem (LFS or Microsoft's VFSforGit, narrow/shallow checkouts, etc.) but they also add complications (LFS especially in my experience). Monorepos have their advantages [1], and even with disadvantages they exist and won't go away. It's more appealing to migrate a monorepo to a new tool that adds more benefits specific to monorepos than to break apart a monorepo into separate repos.
The architecture that's being moved into seems to be less decentralized which is what Git/Mercurial were initially pioneering. I believe Google has essentially also built their own server-side SCM [2] and made Git/Mercurial clients (or wrappers for a client). I believe Microsoft did something similar forking Git and/or making their own server-side SCM but I don't recall where I came across that.
[0] https://engineering.fb.com/2014/01/07/core-data/scaling-merc...
[1] https://trunkbaseddevelopment.com/monorepos/
[2] https://www.quora.com/Why-do-Google-employees-use-Piper-inst...
In order to work with Git repositories is this essentially the Mercurial client using hg-git on a converted repo under the hood?
https://www.gabrielgambetta.com/client-server-game-architect...
Is there an extension or something for Git to have similar behavior to this?