noms
hyperhyperspace-core
noms | hyperhyperspace-core | |
---|---|---|
11 | 10 | |
7,502 | 194 | |
- | 0.5% | |
1.9 | 5.7 | |
over 2 years ago | 7 months ago | |
Go | TypeScript | |
Apache License 2.0 | MIT License |
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.
noms
-
How Dolt Stores Table Data
This is from 2022. It is based on Noms [1], which is no longer maintained (they forked it).
I think the Noms doc linked from this article [2] is clearer than the article itself. That said I sill cannot turn my head around to grasp how this entire thing work tbh. I hope they wrote a peer reviewed paper to serve the audience better.
[1] https://github.com/attic-labs/
[2] https://github.com/attic-labs/noms/blob/master/doc/intro.md#...
-
I was wrong. CRDTs are the future
I am. But i know very little about CRDTs lol, so we'll see how that goes. I'm interested in converting some immutable, local-first data warehouse tooling i enjoy to a CRDT version. Prior it was more.. Git-like. Basically just Git with data structures inspired-massively from Noms[1].
The thing i've found most interesting is it appears[2] that CRDT backends need to expose CRDT flavored types to users. Which is to say how i'm writing this combines the notion of a type, say `[i32]` with how you want the merges to work. CRDT works great but based on my amateur-hour researching on the subject i don't feel you can write a single CRDT merge strategy for a single data type ala `[i32]` and have it be always correct. Applications need to indicate enough context on what makes sense for a given data type.
So yea, i agree with you. I'm interested in making a database-like thing, backed by CRDTs, but i also have seen very few general purpose implementations with CRDTs. It feels like i'm breaking "new ground", while having no idea what i'm doing and having no intention of being an actual researcher here. I'm just making apps i enjoy heh.
[1]: https://github.com/attic-labs/noms
- Building a decentralized database
-
Picking low-hanging memory usage bugs of an open source database
Most of the changes are in the noms package which used to live in a separate repo (https://github.com/attic-labs/noms), but Dolt has since adopted them.
-
Downsides of Offline First
Not much more to say other than Noms was my favorite project (https://github.com/attic-labs/noms) for a while until acquisition and the engineers are now the ones behind Replicache (https://replicache.dev/).
I think this is going to be the next "Realm" that works everywhere.
- calling Format() on a time struct in a golang program changes the default Location's timezone information in the rest of the program
-
Steps to build Database System from sratch?
The storage layer based on Noms: https://github.com/attic-labs/noms
- Noms: The versioned, forkable, syncable database
-
Dolt is Git for Data: a SQL database that you can fork, clone, branch, merge
Noms might be what you’re looking for (https://github.com/attic-labs/noms). Dolt is actually a fork of Noms.
-
CondensationDB: Build secure and collaborative apps [open-source]
People that are interested in a similar feature set should check out https://github.com/attic-labs/noms and the SQL fork of Noms, https://github.com/dolthub/dolt
hyperhyperspace-core
- Ask HN: What Are You Working on This Year?
- HyperHyperSpace – Make all data local. Communicate only through data sync
- Thin Platforms
-
I was wrong. CRDTs are the future
Not all CRDT libraries focus on text editing. For example, I'm working on a Byzantine fault tolerant general-purpose data sync library loosely based on CRDTs: https://www.hyperhyperspace.org
I'm finding it painfully difficult but it is evolving steadily.
-
AWS is playing chess, Cloudflare is playing Go
I'm thinking there's an interesting parallel between my browser-based p2p project [1] and cloudflare workers / DurableObjects. Instead of DurableObjects, we got HashedObjects [2], and instead of workers running on an edge network somewhere, we got in-browser p2p nodes running a browser-to-browser mesh network.
[1] Hyper Hyper Space: https://www.hyperhyperspace.org
-
The Future Needs Files
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).
-
The data model behind Notion's flexibility
> I've been kicking around the idea of writing a CRDT-based editor using this model.
I got around to creating a data layer (p2p, browser-based, CRDT-backed) for something like this:
https://github.com/hyperhyperspace/hyperhyperspace-core
I'd be interested in collaborating on your editor
-
The Web’s Missing Interoperability
I'm working on it, Ben [1].
Believe me, it is not easy thing to do.
[1] https://github.com/hyperhyperspace/hyperhyperspace-core
-
Solid Project: All of your data, under your control
Look at Hyper Hyper Space!
https://github.com/hyperhyperspace/hyperhyperspace-core
Its goals are similar, the approach is more pragmatic (p2p data layer using standard web browsers and webrtc).
What are some alternatives?
rqlite - The lightweight, distributed relational database built on SQLite.
svelt-yjs - A library for your Svelte app that lets you build Svelte stores from Yjs types.
dat - Go Postgres Data Access Toolkit
solid - Solid - Re-decentralizing the web (project directory)
dolt - Dolt – Git for Data
fusionauth-issues - FusionAuth issue submission project
sql-migrate - SQL schema migration tool for Go.
token-list - The community maintained Solana token registry
skeema - Declarative pure-SQL schema management for MySQL and MariaDB
examples - Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more.
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
miniflare - 🔥 Fully-local simulator for Cloudflare Workers. For the latest version, see https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare.