Fueling innovative software
July 15-18, 2019
Portland, OR

Rusty sword arena: A crash course in Rust

Nathan Stocks (GitHub)
9:00am12:30pm Monday, July 15, 2019
Average rating: ****.
(4.64, 25 ratings)

Who is this presentation for?

  • Systems-level programmers, developers, engineers, device driver engineers, high-performance computists, wizards, warriors, and hobbits




Join Nathan Stocks for a fast-paced, entertaining, and curiously informative hands-on crash course in the Rust programming language. You’ll explore Rust fundamentals as Nathan walks you through creating a fully functional, multithreaded, graphical, networked game client in Rust

Topics include:

  • Why Rust is awesome (safety, concurrency, speed, ownership model, zero-cost abstractions, etc.)
  • Packaging (libraries, binaries, modules, dependencies, publishing, documenting, etc.)
  • Basic topics (variables, control flow, lifetimes, types, compiling, etc.)
  • Intermediate topics (pattern matching, testing, benchmarking, functions, strings, etc.)
  • Advanced topics (multithreading, traits, structs, networking, etc.)
  • Sword-fighting tips—if you survived this long

Note: Nathan uses macOS 10.14 Mojave. He does his best to use cross-platform libraries, but platform-specific adaptations may be necessary for those choosing to use Linux or Windows. If you’re willing to help test compatibility issues ahead of the conference, please contact Nathan and let him know.

Prerequisite knowledge

  • A basic understanding of programming concepts
  • Familiarity with computer hardware and architecture (stack, heap, bits, bytes, etc.) and programming constructs (variables, types, loops, functions, etc.)
  • An intermediate understanding of any programming language (C or C++ preferred)

Materials or downloads needed in advance

  • A laptop with 8+ GB of RAM
  • Follow the instructions to install prerequisites and prepare your development environment before you arrive at OSCON (If you hit any problems, please contact contact Nathan and he will do his best to assist you.)

What you'll learn

  • Learn system-level programming paradigms, Rust language specifics, and sword-fighting tips
Photo of Nathan Stocks

Nathan Stocks


Nathan Stocks is an engineering manager of Git Infrastructure at GitHub by day and a hopelessly naive indie game developer by night. He likes growing maple trees from seed, playing Frisbee, spending time with his wife and kids, eating food, and pretending to be an expert on things he knows little about. He would love to manage to actually make a game in Rust that’s worth playing.