SecAppDev 2020 Workshop Details

Hands-on introduction to Rust

Jake Goulding - Carol Nichols
Thursday March 12, 09:00 - 17:30
Abstract

Haven't done any Rust? Want to know what makes Rust so special? Want the ability to ask two highly experienced Rust developers nuanced questions? Join us as we go hands-on with Rust, starting from an empty file and learning about the Rust ecosystem, pervasive and unique-to-Rust concepts, and areas where Rust truly shines.

Topics
  • Cargo, the Rust build tool and dependency manager
  • Syntax basics and documentation
  • Iterating and iterators
  • Making our own types
  • Strings and user input
  • Error handling
  • The module system
  • Ownership and borrowing
Learning goal

Common programming concepts like control flow and variables, then unique-to-Rust ideas like ownership and borrowing.

Content level

Introductory

Target audience

Anyone who wants to experience Rust for the first time or get further than "Hello, World!".

Prerequisites

Basic knowledge of the command line and programming concepts.

Technical requirements

A laptop with the current version of Rust installed, capable of compiling the default Rust "Hello, World!" program and a preferred text editor.


Jake Goulding

Jake Goulding

Co-founder, Integer 32

Jake Goulding started his career writing performance-minded C code before pivoting to web applications in Ruby on Rails. He is a member of the Rust Infrastructure Team, maintainer of the Rust Playground, and manages several Rust crates in the areas of error handling, parsing, XML, hashing, and assembly intrinsics. He may be best known for being the number 1 contributor on the Rust tag on Stack Overflow.

Full speaker profile

Carol Nichols

Carol Nichols

Co-founder, Integer 32

Carol is the co-author of The Rust Programming Language book and a member of the Rust core team. She's a co-founder of the world's first Rust-focused consultancy, Integer 32. She enjoys connecting folks by running the Rust Belt Rust Conference. She's interested in how we can improve our fundamental assumptions and tools as an industry to prevent causing harm to the people using the software we write.

Full speaker profile


Related low-level security sessions

How Rust helps us make safer and more secure code

Lecture by Jake Goulding

Rust promises to help us write better, safer code, but how exactly does it do so? Marketing can only convince us of so much. Join us to learn about the details for yourself.

Low-level security Tuesday March 10, 14:00 - 15:30

Rust - A Language for the Next 40 Years

Lecture by Carol Nichols

This session provides a high-level overview of the safety and stability of the Rust programming language in its historical context.

Low-level security Friday March 13, 11:00 - 12:30

Trusted Execution and how far you can trust it

Lecture by Jan Tobias Muehlberg

Modern processors provide Trusted Execution Environments that allow you to protect software components even from an untrusted operating system. Learn when and how to use them!

Low-level security Wednesday March 11, 09:00 - 10:30

Security of embedded devices - an introduction

Lecture by Lennert Wouters

This session introduces the main components of the embedded device ecosystem and some of the common security pitfalls. We do this by looking at real world examples and by demonstrating easy to use techniques.

Low-level security Friday March 13, 09:00 - 10:30

Introduction to low-level software security

Lecture by Frank Piessens

Learn about memory management vulnerabilities, the attack techniques to exploit them, and the countermeasures that can be taken to defend against them.

Low-level security Tuesday March 10, 11:00 - 12:30