What's everyone working on this week (7/2017)

New week, new Rust! What are you folks up to?

Still working on polishing quick-protobuf and its codegen pb-rs.

The performance is really great and more and more features are now supported.
The codegen is now in a much better shape and adding new feature is relatively painless.

I plan to add a lot of tests this week before eventually making an announcement on both quick-protobuf and pb-rs.

Continuing to leverage the amazing new Serde 0.9 APIs:

  • In serde_yaml, when an error happens show not only the exact line and column but also the sequence of keys leading to that position in the input file. dtolnay/serde-yaml#43

    font.use_thin_strokes: invalid type: string "tru", expected a boolean at line 51 column 21

    Hoping to bring this to serde_json next.

  • Easy field update syntax for serde_json::Value. serde-rs/json#249

    let mut data = json!({ "x": 0 });
    // replace an existing key
    data["x"] = json!(1);
    // insert a new key
    data["y"] = json!([false, false, false]);
    // replace an array value
    data["y"][0] = json!(true);
    // inserted a deeply nested key
    data["a"]["b"]["c"]["d"] = json!(true);
  • Arbitrary-precision number handling in serde_json. serde-rs/json#252

    #[derive(Serialize, Deserialize)]
    struct Account {
        id: String,
        balance: serde_json::Number, // infinite precision
  • ... and so much more. It's a great time to try Serde if you haven't played with it yet!


As a part of preparation to v1.0.0 this week I'll continue working on performance optimisation of my Cassandra driver.

This weekend I was able to eliminate almost all of unnecessary clone() calls. It significantly improved performance of parsers on big amount of data.

I've just started with Rust not too long ago so nothing too exciting. Been putting together a library of algorithms used in programming language implementations as a way of learning more about Rust. Hopefully by the end of the week I'll have something approximating Hindley-Milner type inference added to it.

I finished my first "real" Rust project, a mini VM, recently :tada:.

1 Like

Working on my text editor still, and college assignments. One of my college units is Project Management, and I've been granted approval for basing that project around Xtensis :smile: - so I'm quite pleased there!

1 Like

I've got a more substantial example for elastic merged in. It's got the bones of a simple CQRS setup going so I'll keep evolving that over time into a proper command-line or web app.

This week I'm working on the docs, then will work on overhauling the crummy date format parser I wrote a year ago and make it work as a custom derive.

1 Like

:+1: Would love this for JSON. I spent too much time counting symbols in really long JSON data from REST servers!

New Rustacean—Crates You Should Know: clap—because @kbknapp's fantastic library deserves to be used all over the place. (Made a shout-out to @BurntSushi's docopt implementation, too, and will probably cover it in a future episode.)

1 Like