What's everyone working on this week (EO'15)

The year's coming to an end – who still Rusts on?

Currently Rusting away on https://github.com/emoon/ProDBG here at the 32c3 Rust Assembly :slight_smile:

Over the last week, I started up http://intermezzos.github.io/ , and hopefully will get a lot more done on it this week.

7 Likes

Same as last week - Christmas does not a productive programmer make.

I published a pair of crates for interacting with the Z3 SMT solver. Very preliminary, just a handful of functions exposed in any convenient fashion. Mostly just bindgen output still.

Very nice experience, though. Y'all have improved rust a lot in the past couple years.

9 Likes

Working on my first "real-world" Rust project: rewriting one of our Python daemon with Rust + Iron + Hyper. Iron is an awesome framework - lightweight and with almost all the features I need.

A few struggles:

  1. trying to write less verbose error handling code without too much unwrap()

  2. implementing iron::typemap::Key trait for a struct that has a reference field to a trait object (currently sovled by Box<Obj + Send + Sync>)

  3. live without global states (e.g.: MySQL db connections), which means I have to pass them around

Things not learned from tutorials (maybe I didn't read thoroughly):

  1. extern crate should only be placed at main.rs
  2. to_string() vs to_owned() for string literals

Hi iwinux,

I've written a very small web application with rust and iron:

https://github.com/willi-kappler/slurm_inspector

and I really like Iron and also had some small issues but luckily solved them after some research.

Regarding your third point:

Have you looked at iron persistent ? GitHub - iron/persistent: Middleware for sharing data between requests
(Or did you actually use it already and refer to the way it handles shared things with your second point (iron::typemap::Key) ?)

I am currently experimenting if and how the ownership model can help with designing a good GUI library.

Hi willi_kappler,

Thanks for your code. I'd look into that.

I put my global states inside an Application struct, which is stored in iron::typemap via persistent::Read.

The tricky part is, every function that needs to talk to MySQL has an argument named db_conn - currently this is fine, but what if they also use Redis, my app config, and so on? Maybe I just pass in the whole app struct?

I'm working on a tldr implementation in Rust: GitHub - dbrgn/tealdeer: A very fast implementation of tldr in Rust.

Translating ownership, reference and borrowing into Azerbaijan language from Rust book

1 Like

This week, I finally completed my work to get libpnet working with beta Rust, as well as nightly! When Rust 1.6 is released later this month, libpnet should finally work on stable Rust for the first time ever!

https://github.com/libpnet/libpnet/pull/147

1 Like