Hacker Newsnew | past | comments | ask | show | jobs | submit | hem777's commentslogin

Agreed, the undoing and replying isn’t exactly non-fancy. Peristent B+Tree is also not very non-fancy.


Cool to see a write up on this! Discovered the same method years ago and also wondered why it doesn’t show up in academic literature.

I implemented this in a decentralized context and as a CRDT though, so that the properties hold (commutative, idempotent and associative).


If the idea is to have an alternative to CRDT, what did you gain from building it as CRDT?


It wasn’t really that we wanted to have a CRDT per se, but as it was implemented on top of an op-based append-only log CRDT, it turned out to hold those properties, which makes it a CRDT. We wanted to have the edits to be able to arrive in any order or after delays due to network partitions (this was for a p2p network).


Not if 1 million people install and monitor them instead of 100 people.


100 huge batteries are going to be monitored and maintained far better than 1 million.


Given how the average consumer monitors, maintains, and secures their home PC ... this is a level of assurance we want to put on the power grid?


There’s also OrbitDB https://github.com/orbitdb/orbitdb which to my understanding has been a pioneer for p2p logs, databases and CRDTs.


Number two is calling for nukes, anywhere by anybody. Nobody else brings that to the conversation.


My non-techie brother has been staking his 1 ETH he bought couple of years ago and has earned today, in his words, “slightly more than from my insurance savings account in the past 10 years”. I think that’s a really nice use case.


One way to do authorization is to sign each operation/message and then verify the signature to match a public key in an access control list. This also enables CRDTs to work in a peer to peer context.

But as aboodman says in a sibling comment, if there’s a server as an authority, it can simply reject messages from unauthorized clients.


Great analogy! Well done.


Are you or your people being, or have been, slaughtered by a fascist, barbaric military?

If yes, I’m sorry and I understand your position. If not, gtfo.


Anything goes in war eh? Sad, you should reconsider your humanity before it’s too late


Can you run Redis in browser? You can’t.

Is an in-process, in-memory database faster than making a query over network? Yes it is.



no need an extra layer of abstraction to get an "in memory" database in javascript. no need, babel, webpack, ChatGpt, npm and 10000 libraries for this really. Let me show (works even on the browser):

const KV = {};

KV["credentials"] = {access_key: "XXXX", secret: "YYYY"};

console.log(KV["credentials"].secret);


Maybe? Depends on the rest of the software you’d be developing and what features and abstractions you’d need.

The point was that “just use redis” is a poor and incorrect advice.


Now show me the rest of the functionality of the OP library like TTL.


Someone already replied to this in another comment.


Run Redis on the same machine. No network latency. You only have a few memcpys and context switches versus an in-process solution, and if those make a difference you shouldn't be using JS anyways


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: