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


#1

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


#2

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.


#3

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!


#4

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.


#5

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:.


#6

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!


#7

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.


#8

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


#9

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.)