HN user

davidrusu

376 karma

github.com/davidrusu

mail: davidrusu.me@gmail.com

Posts9
Comments97
View on HN

Really nice to see BFT starting to be taken seriously in CRDT research. I had done some research in this area last year and came to a lot of the same solutions (i.e. BRB protected CRDTs when dealing with VClock based CRDTs):

https://github.com/davidrusu/bft-crdts

We ended up moving away from VClock crdts entirely for our work and going with grow-only hash-graph CRDTs as they have don't need the BRB overhead (as Martin has found in his research as well).

I will stop looking into this now, I have to get back to my work. The colorful language doesn't make it easy for someone who follows the literature to review your idea.

I still have doubts that you can handle a dropped message or how much control a faulty node has over decisions, but I'll leave that to you to work out.

Ok, the red flag to me is the reliance on all neighbours responding to a proposal.

Suppose we have a faulty node heart-beating correctly but not responding to proposals, or selectively responding to proposals.

This would seem to imply that dishonest nodes have full control over which decisions are made.

n ∈ N (p), where N (g) is the set of gnomes who can hear g, including himself. Note that h ∈ N (g) ⇐⇒ g ∈ N (h).

Each gnome g tracks the spread of the proposal in the following way: once all his neighbors n ∈ N (g) say their k-neighborhood (or bigger) is aware of the proposal

If I understand this correctly, a single node crashing would stall it's entire neighbourhood. @gritzko, can you confirm?

Varies by business, for sure.

I'd say the chance is much higher for B2B businesses. Say my Shopify store fails so I cancel my subscription. But I'll likely come back and try my luck again with Shopify on my next idea since I've learned the platform.

These companies should realize they are playing an iterated prisoners dilemma game with their customers. Just because your services aren't right for me today, doesn't mean I won't come back in the future and pay for your services again now that I know what you do.

But I doubt I'd come back if my last experience with a company has been a bad cancellation procedure.

3% conversion on a product that costs $20k is normal? I don't think so.

As to your cynical meta-analysis, these people are doing something really difficult. I'm very happy to celebrate with them in any of their little victories, good on them! I hope to see more from them in the future

Firefox Lockbox 8 years ago

AFAIK pass won't handle conflicts for you (please correct me if I'm wrong!).

This isn't a big problem for a password manager since conflicting changes are very uncommon, but for other apps this starts to get more important.

Firefox Lockbox 8 years ago

I've been working on this distributed offline-first datastore that uses the Git protocol as the network layer. I'm calling it GitDB (but the Git trademark is getting more strictly enforced these days so that'll need to change).

The idea is that we should be able to build tools where the user can understand and manage where data is stored while at the same time keeping many of the conveniences of modern apps, like cross-device sync.

As a user, you can decide if you trust Github, Gitlab, Bitbucket, etc. and pay them to host your data.

The first tool I wanted to build with GitDB was a password manager but seeing this post made me wonder if there would be enough people who wanted this level of control over data, does this sound like something you'd be into?

This work is all super early, but would love to gauge the interest from others.

If someone wants to help build this thing: https://github.com/the-gitdb-cooperative/gitdb

That's not fair. The argument you seem to be advocating for is that we can make people happier by reducing scarcity, they are offering you a counter example.

'happy' is hard, it could very well be that suffering is an important part of happiness... who knows, but it's a valid line of argument.

I see what you are saying, and I agree with you that betting on any of the current abstractions is probably not a good idea.

But I really believe someone will figure this problem out, and at that point Dev Ops will be done. There is just to much money to be made.

No. Abstraction is for higher level thinking. Dev Ops is still young so we are seeing many attempts at providing these abstractions but it is a very large domain to abstract over and thus hard to make a non leaky abstraction.

Given a non leaky abstraction, ignorance of whats under the hood is just fine.

They are convinced of the vision and have an unwavering belief that they will achieve this vision, but there are many paths one can take. So to act rationally when encountering a failed attempt, given their belief, is to learn and try something else. :)

That's great to hear! It is a very interesting project

Can you explain why your goal is to implement these optimizations in llvm? Why not have Souper as one of the optimization passes?