You are reading content from Scuttlebutt
Feed of @davidrusu

open source, photography and books. That' what I'm into these days.

Currently working on gitdb + mona

A transparent password manager built on top of git.

Followed @Derek Powazek
Voted ![butt_summaries_image.jpg](&cIBYD4wh/L/Ivqb1Zyqc3uwFQJOB6Sgnlv3lITD/urY=.s
Voted ## Community [@dan hassan](@NeB4q4Hy9IiMxs5L08oevEhivxW+/aDu/s/0SkNayi0=.e
Voted [@Dominic](@EMovhfIrFk4NihAKnRNhrfRaqIhBv1Wj8pTxJNgvCCY=.ed25519) [shared t
Voted would be really interesting to see about plugging #darkcrystal into somethi
Subscribed to channel #mona
Followed @dan hassan
Voted Just wanted to post another update on the waste-to-energy system I'm workin
Voted # New Meta Summaries in #Patchwork! (coming soon) I'm currently working on

#dev-diaries #gitdb #mona #database


I've been working for the past little bit on a database that uses git as the network layer, the thinking is that we should be able to build applications that allow users to choose who they trust to host their private data.

The main use case for this database would be apps that aim to help you organize your life a bit, things like password managers, note taking apps, todo apps, etc.

current status

I had implemented a very naive key value database that stored each entry as a separate encrypted file, this meant that git could do it's thing and replicate only the changed blobs. But it made queries super slow.

I've now start working on a new implementation built on top of a #rust embedded database: #sled.
This should improve the performance a great deal and give us a much more robust storage layer.

The current work is in turning sled into a CRDT so that we can handle merge conflicts automatically.

The plan is to implement an ORSWOT based map CRDT, assuming you don't have too many devices, the CRDT overhead is super minimal. We'll need to store a map global vector clock and an additional two vector clocks per entry, not bad :smiley:

Show whole feed
Join Scuttlebutt now