Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Rusty Sword arena: A crash course in Rust

Nathan Stocks (GitHub)
1:30pm5:00pm Monday, July 16, 2018
Emerging languages
Location: B110-112
Level: Intermediate
Average rating: ****.
(4.91, 11 ratings)

Who is this presentation for?

  • Systems-level programmers, developers, engineers, wizards, warriors, and hobbits

Prerequisite knowledge

  • A basic understanding of general programming concepts
  • An intermediate mastery of any programming language (C or C++ is ideal.)
  • Familiarity with low-level issues like manual memory management, alignment, etc.

Materials or downloads needed in advance

  • A laptop with the development environment set up and working (Follow the instructions to install prerequisites and prepare your development environment, ideally before you arrive at OSCON. If you hit any problems, please contact Nathan at nathan.stocks@gmail.com.)
  • Note: This course will be taught using macOS 10.13 High Sierra. Nathan will do his best to use cross-platform libraries, but platform-specific adaptations may be necessary for those choosing to use Linux or Windows. Anyone willing to help test compatibility issues ahead of the conference, please contact Nathan.

What you'll learn

  • Learn life-changing system-level programming paradigms, Rust language specifics, and sword-fighting tips


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—Rusty Sword: Game of Infamy.

Topics include:

  • Why Rust is awesome (safety, concurrency, speed, ownership model, zero-cost abstractions, etc.)
  • Packaging (libraries, binaries, modules, dependencies, publishing, documenting, etc.)
  • Advanced topics (multithreading, traits, structs, networking, etc.)
  • Intermediate topics (pattern matching, testing, benchmarking, functions, strings, etc.)
  • Basic topics (variables, control flow, lifetimes, types, compiling, etc.)
  • 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.

Comments on this page are now closed.


Picture of Nathan Stocks
03/20/2018 8:12am PDT

If you are willing to be a beta tester, please leave a comment on this issue!