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


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

PS.: if you haven’t yet, please take a few minutes for the Rust Survey!


After having implemented the first procedural texture, I’m going to implement the usage of real textures:

I think after having the first test scene rendering correctly, it is time to invest into multi-threading, before continuing with a new test scene and global illumination (GI) …


Still working through sqrt, cbrt, and recip implementations for uom (type-safe zero-cost dimensional analysis). I’m not sure if I’ll implement some additional methods next or review test cases for different storage types.


I posted on Reddit a few times, let’s try here for a change.

I’m working on Pris, a domain-specific language for designing slides and other graphics, implemented in Rust. It links against Cairo and Harfbuzz and a few more C libraries to do drawing and text shaping. This weekend I added support for subframes internally, which will allow something similar to \pause in Beamer. Now I need to expose this and add syntax for it. Unlike Beamer, graphics in Pris are first-class, so graphics that consist of multiple subframes can be manipulated (delayed, placed after a pause, play two animations at the same time) and inspected.


Participating in the Libz Blitz review for reqwest, which is a great experience. It still needs your help, so please jump on that thread and help evaluate reqwest, come up with cookbook samples and give feedback on your experience using it! There’s a bunch of other upcoming crate reviews too that will need support. :slight_smile:

On that note I’ve pinched the Libz Blitz checklist template and plan to run it over my own crates and get them polished up. I can already think of a bunch of things to fix.


Learning Rust and starting to write a basic Imap Server :slight_smile:


Writing a tool to parse my bank transactions and match them against filters so I can fill out my tax returns properly.

More details when it’s done, but basically:

  • User exports bank transactions, and configure filters for each “item” they care about
  • The program uses the filters to match transactions to an item.
  • The program tells the user the total amount for each “item”, as well as invalid cases (a transaction shouldn’t be matched twice, no transactions should be missed by all filters - they must be explicitly suppressed)

For those curious, it’s the IR3R New Zealand rental income form.


Shuffling around some thoughts on a better GUI performance profiling tool for Linux. Unfortunately, for now, all I can do is take notes: too many other things to do.


In my quest of generating (limited) bindings to Qt for my Rust plugins I ended up writing a small “API description” format that can be seen here https://github.com/emoon/ProDBG/blob/plugin-ui/tools/ui_gen/src/api.def In order to parse this I found the most excellent pest crate https://github.com/pest-parser/pest which I can highly recommend for people doing similar things (like parsing program language style text)

The implementation of the parsing can be seen here https://github.com/emoon/ProDBG/blob/plugin-ui/tools/ui_gen/src/api_parser.rs

Also pest has a bunch of examples to show more complex cases like Lua parser and there is also an example of json in here https://github.com/pest-parser/pest/tree/master/tests


WOW some of these are awesome!
I’m still working on my Lighting Control System for control of DMX lighting fixtures during my spare time.


In service of some sccache investigations I made a tool I had started on earlier work more reliably: https://github.com/luser/tracetree

It’s Linux-only, but it lets you run a command and get a tree view of all processes that were spawned from that process and how long they took to execute. I find it a lot nicer than trying to grep the same thing out of strace’s output!


Got a few active projects:

  1. I started a new fat32 no_std library project. My original intent is to use this with SD cards and microcontrollers, but it looks like the Tock people might be interested as well. I’d also like to architect it so it could work with ruse-fuse. I already have it parsing directory entries on real file systems and a ton of unit tests. I’m hoping to get it to a demo state where it can find files in a file system by the end of this week and put it up in a repo.
  2. Mainly I’m still pushing to get a new 2.0 release of serialport-rs. The thing holding this up is the big 0.3 release of winapi-rs, so I’ve been working on triaging PRs there to move that process along.

Edit: Already put my fat-rs crate up in a repo.


After coming across an interesting thread mentioning how Rust could be used to make better libraries for embedded devices like 3D printers I thought I’d start up a no_std crate for parsing gcode on the fly (github).

I’ve finished most of the ground work and can parse some non-trivial programs into a low level representation. My next step is to transform that low level representation into something more high-level and type safe, and find people to help test it on real hardware.

If anyone is interested, let me know. I’ve already created an issue for people who want to experiment and are wanting help or to provide feedback.