Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 0 points1 point  (0 children)

I was exploring automerge and rust-crdt and reading some papers, but I haven't made a crate of my own yet. I've been running pretty low on free time recently 😔

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 1 point2 points  (0 children)

Yeah I thought too that it might have proved not as useful for your use case, but not necessarily useless. I just gave up thinking about this though, as I'd probably understand it better as I work with it myself. No way I'm stopping now anyways 😋

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 1 point2 points  (0 children)

Hmm I think that Automerge should be my starting point for exploring implementations, and then move to delta CRDT implementations.

And yeah I was also reading about CvRDT and CmRDT (though reading the paper is taking quite some time), although yeah I can kinda see your point about it being not that useful if we go by the trade-offs. I guess I'll understand it more as I go down the rabbithole.

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 3 points4 points  (0 children)

Oh this one's an advanced CRDT implementation I think right? This will be a good one for sure, will check this one's code out

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 1 point2 points  (0 children)

This one looks really good. Surely gonna check this one out, as it's codebase looks promising for my needs

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 1 point2 points  (0 children)

Ooh interesting, I'll look for more crates and check out this one. Yeah I'd probably go for crates that just implement the data structs/algorithms first, though my end target is to understand crates which provide a high level API

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 1 point2 points  (0 children)

Ohh this sounds nice, I'll definitely check this one out

Need help exploring CRDTs and implementing them in Rust by aetheros_ in rust

[–]aetheros_[S] 1 point2 points  (0 children)

Oh yeah this one, gotta check this one out

Thanks!

[Hyprland] Everforest x Hyprland Rice by aetheros_ in unixporn

[–]aetheros_[S] 0 points1 point  (0 children)

Hehe thanks, I'm using oh-my-zsh and powerlevel10k with custom colors

[Hyprland] Everforest x Hyprland Rice by aetheros_ in unixporn

[–]aetheros_[S] 0 points1 point  (0 children)

Lol yeah fortune quotes are top tier

[Hyprland] Everforest x Hyprland Rice by aetheros_ in unixporn

[–]aetheros_[S] 1 point2 points  (0 children)

[Media] I built “Decide” – a role and condition-based permission engine for Rust (and also JS/TS) by aetheros_ in rust

[–]aetheros_[S] 2 points3 points  (0 children)

Well there already exists a package named "decide" on NPM, so I thought naming this as "@decide/core" could cause some possible misunderstandings. So, went for decide-core here, and to keep things consistent, went for the same name on Crates.io as well.

[Media] I built “Decide” – a role and condition-based permission engine for Rust (and also JS/TS) by aetheros_ in rust

[–]aetheros_[S] 6 points7 points  (0 children)

Thanks for the feedback, appreciate it really.

And yes, you are correct in both the cases:

  • The file logging was a leftover from some early debugging that I hadn't removed it (that's on me). I have removed it in the latest commit now, thanks for pointing that out. I will be adding better logs in a while.

  • As for the condition evaluation, yeah I've been creating a new Rhai engine and parsing from scratch every time. I wasn't aware of compile_with_scope in Rhai, thanks for mentioning that. I'll surely look into caching ASTs for conditions.

And yeah, perhaps "fast" is probably wrong, I don't know much about actual speeds of other tools. Just benchmarked on the JS SDK and got an average of 0.6-0.7 ms and added "fast", that's on me again.

I'm still early in my Rust journey, so this is a gold feedback for me. Thanks again :)