What’s everyone working on this week (11/2016)?


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

What's everyone working on this week (10/2016)?

With the 0.5 release of multipart out of the way, I think I’m going to start working on a prototype of a game concept I’ve been working on for a while.

I described the high-level concept in a reddit post from a while back. Unfortunately, my graphic designer friend never had the time to help me design the game so I’m stuck with programmer art until I can find someone who will help me out.

I haven’t committed much time to actually coding a prototype but I’ve been working on the architecture in my head; I want the core logic to be scalable in parallel so that it can potentially support massive constructions and run them at absurdly high tickrates. I’ll have to do some experimentation with this to decide what is the best approach to process all the gates in parallel: iterate and update with lock-step synchronization, iterate and update with relaxed synchronization via atomics, or a push-update which only recalculates the output of gates which had a change on their input, using an atomic queue and a “tick”, that is just a rate at which regularly updated gates (such as clock signal generators or gates which draw information from outside the circuit) change their output.


Finished the 0.2 release of my gettext crate, my first real library for Rust.

The major hurdle for the 1.0 release will now be parsing the C-like plural expressions, which I’m terrified of since I haven’t ever completed a proper parser. Python, being dynamic, utilizes a beautiful, horrible hack for this: it replaces the C syntax elements with its own (&& -> and, etc.) and evals the resulting string. Sadly (thankfully), we can’t do that in Rust.

Other than that, the usual polish will be required: finishing the API and creating a whole lot more test cases.


The migration to Rust for ProDBG https://github.com/emoon/ProDBG just landed in master. There is still lots to do and no actual debugging is possible yet. Next up is to get some basic window handling running and basic debugging. After that I will likely start to working on a Windowing docking system which will be made as a separate crate for anyone to use.


Working on Parity 1.0 release. Most of the time waiting while Travis actually builds anything


I gave my second talk on Rust!

Slides (in Russian)

Code examples

Quotation of Andrei Alexandrescu on slide 50 is a bit out of context, check the provided link.


Fixed a bunch of issues with my bootleg json macro for Elasticsearch. Now going back to type mapping, which I’m aiming to get in line with rs-es.


I’d just like to add that the benchmarksgame (which is cited in slide 8) has three additional entries in the queue (some of which since September) that would make Rust look faster than C++ overall.


Nice! We need more performance-oriented pictures for presentations :slight_smile: In the talk itself I’ve focused on the results from the Servo paper, but the screenshot of benchmarksgame provided a better picture for the slide.


I’m starting a Rust port of a Python library I’ve been working on, for making it easy to launch shell pipelines. There are many like it, but this one is mine :slight_smile:


If you’re looking for a parser generator, I’ve heard great things about lalrpop.


Working on Mozilla’s Project Link. IoT in Rust, for everyone!


I was planning to hand-roll something, but I’ll definitely look into LALRPOP more. Thanks!


Continuing work on building a safe OpenGL abstraction. I also finally added a license and CONTRIBUTING.md file so that I can start listing Gunship as a repository with mentored issues.


Graph transformations and analyses for the graph utilities in Cripes, a parser generator/optimizer toolkit in its early WIP stages.


Prototyping a Cargo inspired build tool for Atmel AVR MCUs.