Tahoe-LAFS
eng-practices
Tahoe-LAFS | eng-practices | |
---|---|---|
9 | 15 | |
1,277 | 19,763 | |
0.1% | 0.2% | |
9.6 | 4.8 | |
about 1 month ago | 8 days ago | |
Python | ||
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Tahoe-LAFS
-
Distributed Network File System
You could also look at Tahoe-LAFS which I keep meaning to try: https://tahoe-lafs.org/
-
Merging with diff3: the “three-way merge”
Then there are Darcs and Pijul, which use a theory of patches.
So Pijul manages to have lossless merges by actually storing a directed graph (though of course, you will still need to decide how to flatten that into a displayed file) :
https://jneem.github.io/pijul/
And because uses more information about the history, it is able to do smarter merges (if I am not mistaken, even compared to the OP ?) :
https://tahoe-lafs.org/~zooko/badmerge/simple.html
https://pijul.org/faq
- The Tahoe-LAFS decentralized secure filesystem Version 1.17.0
-
The Underwhelming Impact of Software Engineering Research (April 2022)
Good news for you: I'm well on the way to solving the problem of better code merging. Specifically, the algorithms I am developing appear to be able to do a correct merge on both [1] and [2]. They also appear capable of merging binary data.
The tradeoff is that people need to write some code to tell the VCS about the format of each binary file type or semantics of each programming language.
The biggest problem is that, like Rust, a new VCS has to be well-executed to make its innovation stick. We'll see if I succeed.
[1]: https://tahoe-lafs.org/~zooko/badmerge/simple.html
[2]: https://tahoe-lafs.org/~zooko/badmerge/concrete-bad-semantic...
- Anybody know of server selfhosted software that can unify or pool multiple cloud storage accounts ?
-
Nextcloud listened to Linus "Unraid Friends" idea (maybe) and implemented P2P backup in Nextcloud Hub II !
u/nextale shared a couple options: Tahoe-LAFS , Duplicati an Retroshare
-
Anything similar to StorJ? For self hosted purposes?
Only thing that comes close is https://tahoe-lafs.org
-
About Linus' WAN show notes about backups and losing data: I think there does exists something that he describes that fits the bill
There is Tahoe-LAFS which is decentralized open-source software where you can add remote storage servers (for example on a friends server) to store your data but the server does not have the encryption keys. Your data is encrypted before it leaves your computer (they call it "Least Authority File System" or LAFS because only you hold the keys, the storage servers just store the data). The data is encrypted in-transit and on-rest and supports multiple nodes so even if one of the servers burn down you still have the same data elsewhere. I believe they offer a commercial storage solution but you and your friends could install it for yourselves and run a closed network.
-
DEFFS - my custom FUSE filesystem
do you know https://tahoe-lafs.org? your goals sound similar.
eng-practices
- Subject-First Commit Messages
-
How to Conduct High-Quality Code Review?
P.S. Learn more about how Google accelerates reviews here: Fast Review.
-
Become a better code reviewer
i think google's resource is really good in this topic: https://google.github.io/eng-practices/
- Google Engineering Practices Documentation
-
[Meta] Why are interpersonal skills seemingly never taught?
For the last point, some places DO teach this, see https://github.com/google/eng-practices for an example. The other bullets have entire volumes of books written about them.
-
Are all organizations this bad?
I think you get the idea. I've never worked anywhere in my 15 years that actually actually enforced high quality code, testing, and process. Google posts there engineering practices (https://google.github.io/eng-practices/) and if they follow what they preach Gmail is probably scrunched harder then the dialysis machine that I worked on.
-
How often do code reviewers on your team suggest minor non-working or un-researched improvements?
There's an open source repo documenting advice for code reviews from the perspectives of both the coder and the reviewer: https://github.com/google/eng-practices
-
The Underwhelming Impact of Software Engineering Research (April 2022)
IMO most of the practical "research" I've seen comes in the form of best practices from Big Co. who a) hire very intelligent people and b) have extreme financial incentives to write the best code & have the best processes possible.
In a world where the dependent variable isn't something that can easily be measured in a lab, the next best we can do is either 1\ Ask experts or 2\ experiment in an environment where it's financially advisable to experiment & measure (AKA an environment where running an experiment with 100 engineers is <1% of your engineering headcount).
I.e. I don't work for Google, but I do share things like [0, 1] with new engineers who join my team.
[0] https://google.github.io/eng-practices/
-
Good Code Review practices?
This is a through explanation of how to do Code Reviews as the author and reviewer https://google.github.io/eng-practices/
-
16 best practices to make your code reviews better
Google's Engineering Practices
What are some alternatives?
Go IPFS - IPFS implementation in Go [Moved to: https://github.com/ipfs/kubo]
eslint - Shared eslint config
GlusterFS - Gluster Filesystem : Build your distributed storage in minutes
software-development - Notes and articles on software development. All content is original. Most of the content reflects the way that our current software team operates.
Ceph - Ceph is a distributed object, block, and file storage platform
Seaweed File System - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs]
Nextcloud - ☁️ Nextcloud server, a safe home for all your data
Camlistore - Perkeep (née Camlistore) is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.
Filestash - 🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
syncthing - Open Source Continuous File Synchronization
Apache Hadoop - Apache Hadoop
filegator - Powerful Multi-User File Manager