Rust Programming Language / RustFest Rome 2018

Add meeting Rate page Subscribe

Rust Programming Language / RustFest Rome 2018

These are all the meetings we have in "RustFest Rome 2018" (part of the organization "Rust Programming Lan…"). Click into individual meeting pages to watch the recording and search or read the transcript.

9 Dec 2018

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.

https://rome.rustfest.eu/sessions/one-thousand-ways-to-die-in-rust-ffi
https://media.ccc.de/v/rustfest-rome-9-one-thousand-ways-to-die-in-rust-ffi
  • 4 participants
  • 31 minutes
rustom
project
meta
reference
communicate
missile
complicated
lab
inka
managed
youtube image

9 Dec 2018

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!

https://rome.rustfest.eu/sessions/fun-with-rusty-robots
https://media.ccc.de/v/rustfest-rome-7-fun-with-rusty-robots
  • 5 participants
  • 36 minutes
robots
robot
robotics
rust
sumo
hobby
experience
fight
talking
time
youtube image

9 Dec 2018

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.

https://rome.rustfest.eu/sessions/simple-crdt-in-rust
https://media.ccc.de/v/rustfest-rome-10-simple-crdt-in-rust
  • 2 participants
  • 19 minutes
implemented
thinking
intuitively
disciplining
reasoning
observe
structure
replicas
important
sig
youtube image

9 Dec 2018

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.

https://rome.rustfest.eu/sessions/sequoia
https://media.ccc.de/v/rustfest-rome-6-sequoia
  • 3 participants
  • 31 minutes
sequoia
pgp
proprietary
project
sipe
commit
public
discovery
tpp
canoe
youtube image

9 Dec 2018

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.

https://rome.rustfest.eu/sessions/behind-the-scenes-of-producing-an-executable
https://media.ccc.de/v/rustfest-rome-8-behind-the-scenes-of-producing-an-executable
  • 2 participants
  • 28 minutes
executable
devs
compiler
processors
developers
implement
project
debugging
intermediate
thought
youtube image

7 Dec 2018

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.

https://rome.rustfest.eu/sessions/rust-for-science
https://media.ccc.de/v/rustfest-rome-4-rust-for-science
  • 3 participants
  • 16 minutes
scientific
programming
science
scientists
computing
implementation
supercomputers
software
simulating
analysis
youtube image

7 Dec 2018

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.

https://rome.rustfest.eu/sessions/declarative-programming-in-rust
https://media.ccc.de/v/rustfest-rome-5-declarative-programming-in-rust
  • 3 participants
  • 33 minutes
programming
programs
introduction
tedious
maintainable
abstractions
cloud
annotations
rust
talking
youtube image

7 Dec 2018

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!

https://rome.rustfest.eu/sessions/gameboy-emulator
https://media.ccc.de/v/rustfest-rome-3-gameboy-emulator
  • 2 participants
  • 26 minutes
emulator
gameboy
emulation
emulating
emulate
playstation
hardware
chip8
assembly
stuff
youtube image

6 Dec 2018

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.

https://rome.rustfest.eu/sessions/keynote
https://media.ccc.de/v/rustfest-rome-1-keynote
  • 4 participants
  • 41 minutes
rust
rusts
rustboro
roadrunners
coyote
roadmap
enthusiasts
fest
themes
thinking
youtube image

6 Dec 2018

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 Alan Kavishe and Lee Baillie will be presenting the Increasing Rust's Reach (http://reach.rust-lang.org/) project highlight.

https://rome.rustfest.eu/sessions/project-highlight
https://media.ccc.de/v/rustfest-rome-11-project-highlight
  • 2 participants
  • 19 minutes
rust
reached
spanned
russ
trans
2018
working
listening
west
aren
youtube image

6 Dec 2018

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.

https://rome.rustfest.eu/sessions/caging-the-spidermonkey
https://media.ccc.de/v/rustfest-rome-2-caging-the-spidermonkey
  • 1 participant
  • 27 minutes
spidermonkey
servo
spider
browser
annotation
helper
project
safety
implicitly
integrate
youtube image