raft.tla
grapl
raft.tla | grapl | |
---|---|---|
2 | 8 | |
426 | 671 | |
- | - | |
10.0 | 9.8 | |
over 1 year ago | over 1 year ago | |
TLA | Rust | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
raft.tla
-
Introduction to Curp Protocol
For those interested in this sort of thing, see also Raft's TLA+ specification: https://github.com/ongardie/raft.tla
- TLA+ specification for the Raft consensus algorithm
grapl
-
Rust – Faster compilation with the parallel front-end in nightly
https://github.com/grapl-security/grapl/
I just did a clean build `cargo build`, 19 minutes 44 seconds.
I added 1 line (`dbg!("foo")`) and it took 14.76s
-
Introduction to Curp Protocol
Awesome. So, CURP was pretty inspiring for the work I did on Grapl. Grapl Schemas had to define conflict resolution algorithms.
https://github.com/grapl-security/grapl/blob/main/etc/exampl...
As you can see here, there are some special built-ins that aren't important (keys, timestamps) but you can see there's @immutable (FWW) and @increment_only.
This meant that our graphs formed a big CRDT, which meant that every operation commuted, which meant that we could do weird things with our consensus. Reads could happen on stale data, writes could be dropped, we could read from two inconsistent databases and resolve the inconsistency in memory, etc. I even hacked this into ScyllaDB by encoding each merge function into an integer, and setting that as the TIMESTAMP, for when replication merging happened to the values - this meant we could perform writes (repeatedly) without reading a value first, and with no coordination between nodes. What I didn't have was a native solution that could take advantage of these constraints.
As you can tell, this project is obviously very interesting to me. I ran through this pretty quickly but I'll dig in more soon. I'm just excited to see this.
- Transitioning to Rust as a company
- Rust for cyber security
-
Why Rust is a great choice for startups
Rust, Python and Go. Props to you for being sensible with technology choice.
https://github.com/grapl-security/grapl
-
Is Rust Web Yet?
That's great for you and your team, but looking at https://github.com/grapl-security/grapl it seems like your needs are pretty different from most web developers.
- NPM malware and what it could imply for Cargo
What are some alternatives?
paxi - Paxos protocol framework
ntex - framework for composable networking services
stateright - A model checker for implementing distributed systems.
cargo-deny - ❌ Cargo plugin for linting your dependencies 🦀
raft
demo-rust-axum - Demo of Rust and axum web framework with Tokio, Tower, Hyper, Serde
py2many - Transpiler of Python to many other languages
nodo - Pre-emptively created repository so the design can be discussed on the issue tracker before commits are made (repo name may change)
Xline - A geo-distributed KV store for metadata management
rfcs - RFCs for changes to Rust
rust-wiki-backup - A backup of the Rust wiki
cargo2nix - Granular builds of Rust projects for Nix