RustFest 2018 in Paris

I attended RustFest 2018 in Paris in the spring. While I did not keep notes then, here I will add some comments on what I found interesting during the days, similar to my IJCAI 2018 notes.

Main conference day

RustFest 2018 started with the main event, a full day of talks. All the talks are available on-line, the ones mentioned here were the ones most interesting for me.

Immutable Data Structures and why Tou want them - Bodil Stokke

Bobil Stokke is the author of the im.rs library, with fast immutable/persistent data structures. The main usage for immutable data structures in Rust is to enable structural sharing of data, since small changes can be stored as deltas. Bodil Stokke gave a very nice presentation showing how the data structures are implemented.

For further reading on immutable data structures in Rust, Niko Matsakisk wrote a nice blog post discussing how Rust’s ownership model takes care of many of the problems an immutable data structure solves in other programming languages.

Vector graphics rendering on the GPU in Rust with Lyon - Nicolas Silva

Where I work we do a lot of geometric algorithms. Nicolas Silva spent a lof of time showing some nice fast triangulation code in the context of SVG shapes, which was very interesting to me. In particular, I liked the very nice visualisations of the triangulation process.

As an added bonus, the whole presentation was a Rust program rendering SVGs on the GPU. Very impressive, and quite a bit overkill. A nice touch was that Silva could switch between filled triangles and outlines easily, showing exactly how the triangulations looked.

Building Reliable Infrastructure in Rust - Tyler Neely

A very enthusiastic Tyler Neely talked about how to build systems that we can count on. The presentation touched on a lot of very general issues, and specific techniques that one can use in Rust to combat these issues.

One thing that I particularly liked was the remark that we all have biases that we build into our code. What we often forget is that we build those biases into our tests also!

Monotron: Making a 80s style computer with a $20 dev kit - Jonathan Pallant

A tour de force of setting very strict constraints on the platform used, and then eeking every last bit of functionality out of it. The description for how to implement a reasonable VGA output without any of the typical platform support needed such as suitable clock generators was very interesting and fun.

Workshop on performance

Sunday was the workshop day. Among the many interesting workshops, I attended one for optimizing code. The workshop was nicely set-up with a project to optimize, and instructions on how to use the valgrind too callgrind and visualizing that in KCachegrind/QCachegrind. I’ve used KCachegrind a lot previously, but I did not know it was available on Mac.

impl days at Mozilla Paris

Mozilla Paris graciously invited those that were interested to stay for two days in their very impressive offices for a joint hackathon on various Rust-projects. I ended up at the CLI working group table. My first idea was to help with fixing clippy issues in clap, which instead led to a lot of debugging of clippy itself since it crashed. We could later resolve that crash by adjusting a lint in macros.

In the end I did not contribute a lot during those two days, but I definitely feel much more at home with contributing to open source software and Rust-projects in particular.

The Hallway Track

A common view for many conferences is that the so-called Hallway Track is often the best track, the discussions with other people. As a new-comer to a Rust community event, it was very easy to find new people to talk and discuss with. I had heard a lot about how open and welcoming the Rust community is, and I fell that the praise was warranted.

Paris

The last time I was in Paris was ten years ago and also for a conference, but an academic one (CPAIOR 2008). Both visits I’ve had some time to explore the city, mostly just walking around taking in the sights. One nice thing this time was that I could go to cafés and sit with my laptop coding while having breakfast, an afternoon glass of wine, or a bite to eat.

Ten years ago I went to the Louvre to enjoy some art. This time, I went to the Musée de l’Orangeri instead. I really enjoyed seeing Monet’s water lillies presented in two oval rooms. Also, the museum is a small one, and compared to the Louvre it is possible to see all of the museum in an afternoon without feeling rushed.

Since I love food and restaurants, I managed to hit a few interesting spots for that as well. Following the recommendations of David Lebovitz, I ate wonderful croissants from Blé Sucré and some amazing ice cream from Berthillon. Rounding it off, a dinner at saturne was everything I could wish for.