Live data from Hacker News

Vanadium – Create distributed applications that can run anywhere

v.io

21–30 of 53 posts

Re: Vanadium – Create distributed applications that can run anywhere

#21
post #8

Earlier quoted context omitted.

Also something about Syncbase on Youtube. https://www.youtube.com/watch?v=2cHzd8pBYmU

Hilariously awkward video. But the key points: -) All data is encrypted both on the wire and "at rest" (presumably on disk) -) All options are versioned to allow merging -) Provides builtin policies for resolving conflicts (eg last one wins) -) Handles structured data (nosql api) and binary data (blob api) -) Fine grained ACLs for permissions -) Apparently offers p2p syncing without a central server

It's written to be security and offline first. Most systems have this bolted on afterwards which is notoriously difficult to do and never quite right.

You're also missing:

- a very sophisticated ACL/role model all built off cryptography that allows me to do things like grant Bob permission to watch my TV if Bob is within 100ft of a vanadium-powered Bluetooth device that can verify his proximity. And that's just the tip of the iceberg.

- solves RPC in a cross-platform way, handles bi-directional steaming, and data marshaling

- solves decentralized DNS using something called mounttables that can work just as well for servers in a cloud environment as routing to your IoT devices

- basically reinvents how devices talk to each other in many other ways that are too much for a HN comment.

Re: Vanadium – Create distributed applications that can run anywhere

#23

Earlier quoted context omitted.

> Syncbase: "Offline-first and peer-to-peer, Syncbase provides local storage that opportunistically syncs data". I have an application for that _right now_. Syncbase doesn't look ready though, does anyone know of an alternative data store that ticks all those boxes? e.g. I was looking at Cognito, but it lacks peer-to-peer.

Nothing else does what vanadium does, especially at its sophistication level. I don't know if I'd use it in production yet unless you are willing to put in some engineering resources, but you're unlikely to find something else as well made elsewhere. This is the product of a very elite team... which means it's also very complicated to use.

This is the product of a very elite team... which means it's also very complicated to use.

That's an unfortunate assumption. Looking back at historic examples, the Windows API was complicated to use while the NeXTSTEP API wasn't. Is there any question which was created by an "elite team"?

Re: Vanadium – Create distributed applications that can run anywhere

#24
post #10
post #6

Earlier quoted context omitted.

How did you find the association with Google? But you are probably right: page is in material design, the repos are mostly Dart or Go.

Their intro video is done by 2 Google engineers.

And they say 'working on here at Google' in the video

Re: Vanadium – Create distributed applications that can run anywhere

#25
post #15
post #4

After 10 minutes, here's what I found out: - The authors are either Google and/or heavily affiliated with Google - On their website, the two highlighted projects/products are Syncbase and Vanadium Core. - Syncbase is a distributed, works-offline datastore, with well-defined ways of doing reconciliation. Think, git merges, or collaborative docs, or y'know anything with vector clocks but approached from the side of the…

The core repository has an AUTHORS file, and the only entry is "Google, Inc." Disclaimer: I work for Google, but I have no idea what this is.

You keep using that word ("disclaimer"), I do not think it means what you think it means.

Re: Vanadium – Create distributed applications that can run anywhere

#27
The cool thing I really like about Vanadium is a unified worldview it provides with the ability to access every object in the Vanadium ecosystem through its powerful naming/mounting mechanism. In Vanadium, you can "mount" things on your namespace (think Unix VFS) on a hierarchical namespace and invoke RPC methods on the objects. The method invocation is mutually authenticated with ed25519 keys and end-to-end encrypted on the wire. I sometimes jokingly called it "Plan 10". It is certainly not just another "synchronizing database" though that is a subset of it.

Disclosure: I very briefly worked on it at Google and I can attest the team behind it is brilliant beyond imagination.

Re: Vanadium – Create distributed applications that can run anywhere

#28
post #23

Earlier quoted context omitted.

Nothing else does what vanadium does, especially at its sophistication level. I don't know if I'd use it in production yet unless you are willing to put in some engineering resources, but you're unlikely to find something else as well made elsewhere. This is the product of a very elite team... which means it's also very complicated to use.

This is the product of a very elite team... which means it's also very complicated to use. That's an unfortunate assumption. Looking back at historic examples, the Windows API was complicated to use while the NeXTSTEP API wasn't. Is there any question which was created by an "elite team"?

Syncbase is the attempt to simplify it and abstract a lot of it. It's API is much more straightforward and is fairly easy to work with.

Part of the complexity is that it's solving like 15 major problems at the same time in an interconnected way. It's also solving them for people like google which means there are a lot of requirements for all the things it needs to do.

Because it does new things, in addition to old things in new ways, there's a steep learning curve for all of its concepts. I totally agree that doesn't mean it couldn't be more elegant and "simple," but the win32/nextstep analogy isn't fair as they were far more similar than vanadium is to anything else. Vanadium is like a hybrid of (to use existing concepts) dns/http/ssl/json/bluetooth/nosql/ntp/kerberos and more. When you put it all together there isn't a lot of existing references or cognitive frames to help you "get it" righ away.

Re: Vanadium – Create distributed applications that can run anywhere

#29
post #15

Earlier quoted context omitted.

The core repository has an AUTHORS file, and the only entry is "Google, Inc." Disclaimer: I work for Google, but I have no idea what this is.

You keep using that word ("disclaimer"), I do not think it means what you think it means.

You're right :). But I've also seen "disclaimer" commonly used in specifically this context (disclosing your affiliation with a company you're mentioning), which is why I use it that way. "Disclosure" would be more accurate, but that's not what people actually say.

Re: Vanadium – Create distributed applications that can run anywhere

#30
post #23

Earlier quoted context omitted.

This is the product of a very elite team... which means it's also very complicated to use. That's an unfortunate assumption. Looking back at historic examples, the Windows API was complicated to use while the NeXTSTEP API wasn't. Is there any question which was created by an "elite team"?

Syncbase is the attempt to simplify it and abstract a lot of it. It's API is much more straightforward and is fairly easy to work with. Part of the complexity is that it's solving like 15 major problems at the same time in an interconnected way. It's also solving them for people like google which means there are a lot of requirements for all the things it needs to do. Because it does new things, in addition to old th…

The outcome I'm looking for is basically CRDT (or something very like it) using only BYO smartphone & laptop devices (acting as both the forwarding nodes and the application client), robust against nontechnical user mishap and patchy/absent Internet connectivity.

I was looking at http://www.opengarden.com/meshkit.html but they don't seem interested in my scale.

Post reply on HN