Past Meetup

LDN Talks July 2018

This Meetup is past

47 people went

Details

Agenda:

• Welcome & networking
• News and Announcements
• Main Speaker: Emily Toop - Project Mentat: an store for evolving data in Rust
• Speakers: Antonio Verardi, Flavien Raynaud - How to write Rust instead of C, and get away with it
• Lightning Speaker: Connor E. - Project Finch

We're being hosted by Mozilla.

More details on how to get to the office to follow.

Project Mentat

Mozilla has a data storage problem. There is no unified strategy for storing new user data and moving it between devices, which has led to a proliferation of stores and strategies and a fragile mechanism for syncing that only handles a subset of data collected. Project Mentat was born to help resolve these issues - a structured data store that is designed to be replicated and synchronized and written in Rust to ensure security, safety and maximum portability between platforms.

This talk is about why we decided to "build" rather than "buy", how Mentat is designed to address the problems and requirements associated with data storage and syncing in an environment with strong client-side encryption, - as well as the challenges encountered and lessons learned while using Rust to create portable, performant, persistent, syncing, structured data storage.

How to write Rust instead of C, and get away with it

Have you ever tried optimizing a super-slow Python application and thought: “Oh! I wish I could just write this bit it in Rust”? Well, turns out you can! We will show you how Rust is a better alternative than C to make your programs lightning fast, and how to get away with it; without your users even noticing.

As Infrastructure Engineers at Yelp, the challenge we face everyday is: scale. Yelp is mostly a Python shop and while this is great for development velocity, our work often revolves around making Python applications run faster. Until now, we have been using different techniques: faster interpreters, or, more often, C code.

Given its safety guarantees, performance and promise of better tooling than C, we decided we had to give Rust a try. The initial results helped reinforce that there was a lot of opportunity for Rust to play an important role in our production code.

Yelp heavily relies on the Apache Avro (https://avro.apache.org/) serialization format for its internal infrastructure. During the talk, we will show how we implemented an Avro serialization/deserialization library in Rust, how we were able to call it from Python (and in theory from any other language) with very little code, using tools such as cbindgen (https://github.com/eqrion/cbindgen/), CFFI (https://cffi.readthedocs.io/en/latest/) and Milksnake (https://github.com/getsentry/milksnake/).

This talk would outline how easy it is to write performant code in a language like Rust and call it from Python applications without users even realizing it, making this a great solution for production services.