- Don’t use
"*"
dep version requirements. - Add
Cargo.lock
to version control. - Why read to string if you’re going to base64-encode and use
Vec<u8>
later anyway?
"*"
dep version requirements.Cargo.lock
to version control.Vec<u8>
later anyway?keep in mind that it’s hard to get real numbers on LDAC because decoding is proprietary
I used to think the same. But as it turns out, a decoder exists. Maybe some people don’t want anyone to know about it to keep the myths alive ;)
EDIT: Also, as a golden rule, whenever anyone sees the words High-Res in an audio context, they should immediately realize that they are being bullshitted.
I do think it is the future of filesharing
In internet years, Torrenting is old. I2P is old. Even torrenting in I2P is old. Nothing about this is “the future”.
Ideally, the future of file sharing would involve a fully/natively integrated anonymous network with content-addressable distributed filesystem.
But this will probably not happen, as that architecture didn’t see large scale success before, except in Japan where at least some elements of this architecture are used in their popular P2P networks.
The I2P crowd themselves tried with Tahoe-LAFS, but that was never really a network, even aMule over I2P had more traction, and by traction I mean tens or hundreds of users, not thousands or beyond.
Ironically, the one content-addressable distributed filesystem that gained some attraction (outside Japan) is IPFS, which doesn’t offer anonymity, or replication, or anything special really. Yet for some reason, some hype-susceptible techies liked it, together with the NFT crowd, a great fit.
The future of file sharing will depend on where most content will land where it will be easily accessible and quickly grabbable. How those networks will look like? Nobody knows.
Regarding
Cargo.lock
, the recommendation always was to include it in version control for application/binary crates, but not library ones. But tendencies changed over time to include it even for libraries. If arust-toolchain
file is tracked by version control, and is pinned to a specific stable release, thenCargo.lock
should definitely be tracked too [1][2].It’s strictly more information tracked, so there is no logical reason not to include it. There was this concern about people not being aware of
--locked
not being the default behaviour ofcargo install
, giving a false sense of security/reliability/reproducibility. But “false sense” is never a good technical argument in my book.Anyway, your crate is an application/binary one. And if you were to not change the
"*"
dependency version requirement, then it is almost guaranteed that building your crate will break in the future without trackingCargo.lock
;)