Alan is a software developer with a background in electronics engineering, who lives in Namibia and spends his days coding JavaScript and composing choral pieces. He saved his first program onto a cassette tape and then proceeded to pop the tape into a stereo just to hear what itâd sound like. Turns out thatâs a whole genre of music.
Lee Baillie herds Rubies and wrangles JavaScripts (occasionally also tending to the Rust garden) at Tilde in Portland, OR, mainly in the context of building Skylight, a Rails performance profiler. In their spare time, they enjoy hanging out with their dog JPEG, exploring the beautiful outdoors of the PNW, and lifting heavy things only to put them down again.
In our new âProject Highlightâ keynote format we selected an important, interesting and successful projects/initiatives and invite their leaders & contributors to talk about their work, experiences, and the things they have learned along the way to benefit the larger Rust community.
In Rome Ashley Williams, Alan Kavishe and Lee Baillie will be presenting the Increasing Rustâs Reach project highlight.
Aaron Turon is the current lead of the Rust project, building the Rust language and ecosystems together with an incredible, worldwide community of contributors. Aaron has an academic background in concurrency as well as verification and programming language design. He currently lives in Portland, Oregon.
On the eve of Rust 2018, we have so much to celebrate! From the core language to tools to community outreach to adoption, the Rust project has made enormous strides. But with success comes new challenges. Looking ahead to the next Edition of Rust, this keynote will lay out some of these challenges along three dimensions: Stakeholders, Governance, and Product. Iâll pitch some personal ideas for how to grapple with these challenges, taking a frank look at whatâs working well and what needs to change, and inviting community-wide discussion as we go into our planning for next year.
A conflict-free replicated data type (CRDT) is a data structure that can be replicated, each replica can be updated independently and it is always mathematically possible to merge the replicas back without conflicts. The simplest CRDT is an append only Set, where the merge is the Set union, building upon this idea we can compose more complex data types. In this talk we will explore how to implement a cli
for a CRDT shopping list, see how Traits are emerging during the code evolution, use cargo to include some useful crates with no pain, and document the code with runnable examples.
Justus started to work on GnuPG in 2015 to support maintenance and development in all areas. He was full time employed by g10code from 2015 to 2017. He is a founding member of the GnuPG e.V.
Prior to starting work on Sequoia in the fall of 2017, Neal was employed for 2.5 years by g10code to work on GnuPG. In addition to help maintain GnuPG, he implemented a new trust model, TOFU, which is based on sshâs host key checking mechanism. Neal also spent time evangelizing GnuPG by presenting his talk âAn Advanced Introduction to GnuPGâ across Europe and North America. Currently, Neal is employed by PEP to develop Sequoia.
OpenPGP is best known for its use in email encryption. But, OpenPGP is, perhaps more importantly, used to secure software updates, sign commits, and protect backups. Historically, OpenPGP has been hard for both end-users and developers to useâwe know, we actually worked on GnuPG! In Sequoia, we are trying to change that. Sequoia is a new OpenPGP implementation that places as much emphasis on usability as on security. Sequoia is also written in Rust. This talk will focus on the challenges that weâve faced using Rustâinfinite types, streaming iterators, designing a clean APIâand our solutions.
Rust seems like a perfect candidate for scientific computing, building fast and efficient algorithms for scientific research and data science, but why isnât it there yet? Explore the state of scientific computing in Rust, from where it shines to it falls down, to where we can improve as a community, and learn about Rust in an area that has so much potential.
Dr. Yiming Jing is a senior security scientist at Baidu X-Lab. He has been working on Android security research and building secure software systems. He is the author and maintainer of MesaLink, a TLS library providing OpenSSL compatible C APIs.
Efficient FFI bindings are one of the core features of Rust; however dereferencing raw pointers, conversion between Rust and C types, memory allocation, âŚ, all could possibly go wrong in FFI code and undermine the memory safety guarantee of Rust. The Rustonomicon and a few previous talks at RustFest discuss the topic of Rust FFI; but overlook the challenges in writing correct and safe FFI code. In this talk, we discuss a taxonomy of common pitfalls in Rust FFI with real-world examples. Moreover, we will review relevant principles and share our approach to effectively avoid the pitfalls.
Ryan Levick is a programmer working at Microsoft in Berlin creating apps. In his day job he gets to program in many different programming languages but always enjoys it most when he gets to use Rust. Besides writing Rust, Ryan loves exploring spaces in Berlin and other cities, cooking/eating and dancing with reckless abandon.
The magical thing about Rust is its ability to remove the fear of learning new things. My journey with Rust has led me to the world of hardware emulators - specifically old gaming machines from the 80s and 90s. Join me as we explore what it takes to implement a fully working Game Boy emulator. Weâll take a look at the ins and outs of this 30 year old gaming wonder, learning a lot along the way about how computers and Rust work! By the end weâll have our emulator running in a web browser, a window on our Desktop and even a mobile phone!
Software Engineer at heart, mostly JIT compiler engineer (Mono, Unity3D, V8 in Google), now deploying Virtual Reality worlds on the web in Hyperfair, and Robot enthusiast as a hobby. I am using this passion for robotics as an excuse to learn Rust better, putting it into any robot I program.
Lately as a hobby I am participating to robotic competitions where autonomous robots fight according to various rules (usually speed races or Sumo fights). Lately I am putting Rust into every robot I program, from bare metal (arduino-like AVR and ARM Cortex-M), to Linux on higher level boards (Raspberry PI, Beaglebone), and even on a real time OS running on the Lego Mindstorm ARM-v5 CPU. In this talk Iâll show embedded Rust programming in all of these environments, with a focus on getting things done!
Pascal Hertleif works as a freelance software developer and has been active in the Rust community since 2014. He is the author of multiple open source libraries and co-organizer of Rust Cologne. Currently, he is leading the CLI working group to deliver an awesome experience for writing command line apps with Rust. You might also know him as the MC at RustFest ZĂźrich.
One of the secret ingredients in many successful, big code bases is that they found a good level of abstraction. One helpful technique is to write declarative code: You describe âwhatâ you want to do, but donât mix it with the âhowâ. While this is not specific to Rust, the language and its ecosystem help us write declarative code. This talk will go over some examples, covering famous crates and APIs as well as more obscure ones, to then dive into ways to use this to your advantage in your own code.
Primarily involved in Rust with IDE support and tooling (helps maintain RLS since mid-2017). Being a good Rustacean, he decided to use his bachelorâs thesis group project as a good excuse to support the ecosystem work on Servo, where he managed to tame C++ dragons and JavaScript spider monkeys using nothing but the power of oxidation.
This talk will focus on some of the challenges encountered while working on integrating SpiderMonkey JavaScript engine with the Servo web browser engine (written in C++ and Rust, respectively). We will explore how Rustâs rich type system made it possible to enforce many ServoâSpiderMonkey interface rules and safety considerations at compile time and how a custom compiler plugin was developed to verify against project-specific errors at a language level.
An electronic technician by training, I switched careers for I found software development more interesting and accessible (more cheap to practice, and more free learning resources). Iâve been in Python ecosystem for a number of years and have now switched to Rust for some reason. Iâve done quiet a bit of doc work for both ecosystems, and some code contributions. I would like to be a solid developer some day.
If itâs a mystery what actually goes on when you do a âcargo runâ, then this talk is for you. It explores the sequence of steps taken to get to a working executable, from high-level code, to machine code, and what happens in-between. Weâll do a simple example and see what each representation looks like, while touching on the steps in-between. In the end, weâll look at the generated RISC-V assembly.