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.
Python developer since ages, Rust addict since some time pre 1.0. I love mix and match languages, and find the right tool for the job, especially if learning a new language can change my way of thinking about programming.
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.
I’m Adam, a student in Ireland who’s into math, science and computers. I have been working on quantum computing with Python with a healthy amount of Rust every day.
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.
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.