|
|
|
|
|
by sbazerque
1745 days ago
|
|
I agree with the author on the merits of the file abstraction, but I think the concept should be updated for networked devices. We need file formats that support both offline usage and seamless sync over the network. For example, here I use a merkle DAG-based file format to represent CRDT-like types: https://www.hyperhyperspace.org The resulting abstraction can be universally looked up using a hash (or short sequence of words), can be modified offline and synchronized flawlessly. It's still WIP (for example, you still can't export it to an actual file, hehe). |
|
Developers dont want to rewrite their data models to reflect a strange API or weird model. I dont want to pollute my domain objects with MutableReferences or extend HashedObject. So while I think the ideas in Hyperhyperspace are good, the programming model needs revisiting if you want people to actually use it. You need to use plain old objects and spider them for references.
ORMs dont require you to use MutableReferences, they let you use your actual data model as is.
If we can get the backend storage to be P2P then any application outside the backend storage can be written traditionally.
I am personally interested in distributed SQL databases and have written a simple distributed SQL database that could in theory be used as a P2P application backend with distributed joins
I think a combination of event sourcing and CRDTs could be used to provide arbitrary synchronisation and merging between peers that handles bad actors through web of trust.
I have started a discussion of P2P storage backends on Infinity family which is a community of inventors (I can provide invites). I have mentioned Hyperhyperspace there.
https://0oo.li/intent/74001/distributed-data-storage#1630701...