What’s everyone working on this week? (Week 48/2015)


Another week of joyful Rusting! What are you up to this week?


Working on a server with the help of Mio.


Battling XML namespaces. Namespace 3: Me 0.


So I take you are working on your mention in TWiR?

For me, it’s sending around job offers and meeting another week of Rust Hack and Learn \o/.


Trying to generate TOR addresses in Rust. Right now trying to write the network connection code (cleanly and readable) so the tasks can be spread between multiple machines.


One of these days™


More changes to the book. It’s gonna gain some focus over the next few weeks.

More API doc work, I should knock out at least one or two of https://github.com/rust-lang/rust/issues/29429

I’m working on getting the semver crate to 1.0… re-doing the parsing with nom.


Hopefully adding rtl-sdr support to my terminal spectrograph which so far just supports the HackRF. I’d like to eventually pull out the radio support into a separate crate that abstracts over different radios, kind of like gr-osmosdr.


I just created a new project yesterday called “rust_minifb” over here https://github.com/emoon/rust_minifb

The purpose of this project is a simple way to setup a Window and plot some pixels in it. The intention for this lib is mainly for debug use cases when the programmer wants to visualise something by just plotting pixels.

Most of the code is from my old https://github.com/emoon/minifb which supports Mac, Windows and Linux. The Rust version doesn’t really on any externa build system and uses the build script feature in Cargo and the gcc crate to build everything.

Right now only Mac has been tested but I hope to test the other platforms soon and hopefully publish it with some docs done on crates.io


I just started my first cargo project for sole purpose of learning Rust. My plan is to implement elasticsearch apis in Rust.


I’m wrapping up with finals at my university and then I’m on break for a little while until I land a full time job (which hopefully won’t be long :sweat:). Until then I’m finally going to have some time to work on gameplay for my experimental Rust game.


I’m working on stringio, reader and writer for string. I believe it is useful for tests.

Edit: just found out about Cursor :smile:


I’m trying to get a trait or two in place to allow me to write generic code over a few different datastructures for the same logical pile of data (a two-level trie). It is surprisingly hard.

The goal is to write something that is morally the same as a HashMap<K, Vec<(T, Vec<(V,i32)>)>>, and in particular should allow you to get iterators over (&V,i32) pairs from a K and a T, and also an iterator over (&T, ThatIterator<V>). However, you should be able to define the types of the iterators, because maybe you didn’t use a Vec because … reasons.

It seems like I have to end up writing something like IntoIterator, which does some HKT-fu to work. It’s running into some ICEs, and apparently finding some limits in what Rust can do (or I can get it to do, at least).


I got tangled up in some improvements to graphviz-emitting crate dot, so that I can use that for petgraph, which is having a tiny feature explosion.


I’m still implementing REST-API for our web projects, it will handle few web sites (frontend in Angular 2).
What is ready: requests authentication, few endpoints for tables, login and registration (with password hashing by scrypt). Works with Redis, MySQL and Nginx as proxy.



I’m implementing a Red Black tree. The current version is 100% safe. I’ve done the iterator and insertion, but still have the removal code to complete. I only have enough time to work on it for 30 minutes to an hour each day (if at all), but I’ve learned a lot along the way and have reworked some parts multiple times already. I think I’ll blog about it similar to Gankro’s linked list series.


The first safe version is up on github here. I still need to verify a bunch of the cases and make sure I’ve got 100% code coverage with my tests. I also need to do a lot of code clean up and add comments so it’s much easier for beginners to understand. The general idea behind this first implementation is to use recursion in order to traverse fixes up the tree after an insertion or removal. At some point I want to do an unsafe version with parent pointers, and also a version that’s done using a vec as the internal store.