Show HN: Kvass, a personal key-value store
121–129 of 129 posts
Re: Show HN: Kvass, a personal key-value store
#122I have so many questions about this. Much of the architecture seems off to me. I like the concept, but it doesn't seem as secure as it could be. For the README, I'd hope to find a bit more information about the way data is stored and transmitted. For example, this seems to just be a SQLite database with values in fields? Is there a separate encryption key for the database itself? Otherwise anyone with access to the f…
Hi mbreeze! > this seems to just be a SQLite database with values in fields? Sqlite is used as a storage format ("SQLite competes with fopen()"). The key-value pairs are stored as a modified Append-Only CRDT. The LUB-Operation (to merge to states while syncing) is implemented here: https://github.com/maxmunzel/kvass/blob/e32fdabdc86b039f716c... > anyone with access to the file would be able to see all data stored? Ye…
Re: Show HN: Kvass, a personal key-value store
#123I’m wondering what sorts of use-cases people would use a personal key-value store for. Maybe it’s just a useful foundation for building other tools on top of, like a password manager.
Re: Show HN: Kvass, a personal key-value store
#124I’m wondering what sorts of use-cases people would use a personal key-value store for. Maybe it’s just a useful foundation for building other tools on top of, like a password manager.
More importantly, it has Firefox and Chrome extensions for auto-filling passwords on the web https://github.com/passff/passff https://github.com/browserpass/browserpass-extension
Re: Show HN: Kvass, a personal key-value store
#125I’m wondering what sorts of use-cases people would use a personal key-value store for. Maybe it’s just a useful foundation for building other tools on top of, like a password manager.
Honestly a password manager would probably be technically better—or a bunch of flat files lol—but there was a certain charm to having it displayed / function exactly as I like it, and lightning quick with nothing I didn’t need.
IDE would be another natural place for a lot of my usages, but I kept finding I needed to leave it in a pull request review or slack conversation or similar, not necessarily programming myself.
Re: Show HN: Kvass, a personal key-value store
#126Earlier quoted context omitted.
I feel like that has changed over the past few years. Many restaurants in my area started using them for menus, and I recently saw them used to setup wifi while on vacation.
Maybe it's just were I live? The only places I see qr codes is on my phone to share the WiFi password and on products to scan for compitions and from time to time on advertising at bus stoos
Re: Show HN: Kvass, a personal key-value store
#127Earlier quoted context omitted.
If the CRDT part is done correctly, then replaying a message that sets a key will not change anything, ever. If the message is: Key: Foo Reference CRDT node ID: 7654321 (the last node that the clients knows of that updated the value of ‘Foo’) Operation: Update Value: Bar The ID of this new node: 1122112211 (Omitted for simplicity: Timestamps, hashes, …) Replaying that message won’t do anything if the target already k…
I see, thanks. I was focusing on the "idempotent" part but yeah a CRDT would protect against replays. Still not a great design though, still opens yourself up to issues, in case not all messages are part of the CRDT, or you have a buggy CRDT implementation.
write '1' @ 0
write '2' @ 0
write '1' @ 0 (replayed through a duplicated packet)
the duplicated write RPC reverts the second write. Duplicated link and rename RPCs are even worse. They added a replay detection cache in the server later to prevent some common error cases, but it fails if the server reboots in the middle.Anyway, CRDT correctness is hard enough that I'd be reluctant to trust it against an adversary who can inject replays.
[0] https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=75...
Re: Show HN: Kvass, a personal key-value store
#128Earlier quoted context omitted.
I feel like that has changed over the past few years. Many restaurants in my area started using them for menus, and I recently saw them used to setup wifi while on vacation.
I just paid my lunch tab by scanning a QR code on a receipt, and then tapping Apple Pay. It was rad.
Re: Show HN: Kvass, a personal key-value store
#129i just have a directory in git and store everything in files can anyone help explain what i'd use this for?
I got it running on a free GCP Compute VM and linked it through to my PC so that the VM hosts the Kvass server and my PC (and in future laptop) set/get stuff on there.
I plan on using Kvass to pass things between my laptop and PC - links, files, images... etc. Will see how that goes - perhaps I don't end up using it at all.
If it seems useful I'll try hook my web domain in so that I have a more static domain to use it with.