Oh gosh hello that’s sorta what I’m building too. CRDT deltas all the way down, any set of deltas can be reduced into a stateful snapshot (constructivist), different users can see different deltas so its relativistic.
-
-
This is still early but the pieces are taking shape. If any object can be decomposed into the processes that it's composed of, if those processes can be reified and 'owned', then everyone can have a local set of processes representing _their_ view of a given object, and share!
1 reply 0 retweets 0 likes -
But the sharing is at the individual delta level, so you really can literally 'dis-integrate' an object into deltas, recombine them, filter them, whatever, then re-integrate into a new object with new properties, etc, all transparently.
1 reply 0 retweets 0 likes -
Replying to @mykola
We're (
@EdBaskerville and I) starting with Datalog (a la Datomic) and sharing histories of (E,A,V,T, assert/retract) tuples. Don't know how closely that maps to your deltas.2 replies 0 retweets 1 like -
I think that'll serve our purposes for at least this year. The goal is to start hosting applications as facts: operations and views as data stored and mutated alongside other facts.
1 reply 0 retweets 0 likes -
Replying to @peidran @EdBaskerville
Makes good sense to me. You're rolling with Clojure?
1 reply 0 retweets 0 likes -
Replying to @mykola @EdBaskerville
No, I wish. We're doing Rust for portability and efficiency. ClojureScript might have been an okay compromise. There's actually some interesting relevant stuff going on in Rust around Datalog though.
1 reply 0 retweets 0 likes -
Replying to @peidran @EdBaskerville
oh neat. Hmm. one thing I would look into if I were in your shoes is serializing your state back and forth into Apache Arrow, which I think we'll see much more of in the coming years as the new heir to protobuff and pandas both - plus easy GPU interop, for ML!
2 replies 0 retweets 1 like -
Replying to @mykola @EdBaskerville
It's hard for me to tell. Is Arrow just for immutable data?
1 reply 0 retweets 0 likes -
Replying to @peidran @EdBaskerville
Arrow is a tool for sticking your data into an array buffer that lives somewhere else. It also then gives you tools to perform data frame operations over your data a la pandas. This is powerful because multiple applications can share the same arrow buffers.
2 replies 0 retweets 0 likes
I'd need to be able to at least append data to it over time. But a mmap'ed column store is definitely where I've assumed we're headed. We're currently using SQLite, which is fine for now.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.