O'Reilly logo
live online training icon Live Online training

OSCON Open Source Software Superstream Series: Live Coding—Go, Rust, and Python

Topic: Programming
Rachel Roumeliotis
Kelsey Hightower

Sponsors

IBM Capital One

About the OSCON Superstream Series: This three-part series of half-day online events gives attendees an overarching perspective of software development from which to make decisions that strengthen and grow companies and industries, a deep knowledge of key open source technologies to make it happen, and a community in which both they and their companies can thrive.

Series schedule:

  • Event 1: Live Coding—Go, Rust, and Python - June 18, 2020
  • Event 2: Cloud Strategies and Implementation - July 16, 2020
  • Event 3: Infrastructure - August 13, 2020

NOTE: With today’s registration, you’ll be automatically signed up for all sessions in the Superstream series. We’ll continue to update this page. Check back to see speakers and sessions for later events.

Description: We want to get deeper into actual coding, and one way to do that is to outlaw slides. That’s right, these sessions all incorporate live-coding. From minute one, these sessions will walk you through coding best practices and new ways of getting the most out of languages like Python, Go, and Rust.

What you'll learn-and how you can apply it

  • Understand fundamental Rust concepts, such as structs, traits, modules, threads, and more
  • Write and implement Kubernetes Operators in Go
  • Discover when and how to use design patterns in your Python code

This Superstream is for you because...

  • You’re a developer looking to improve your core coding skills.
  • You’re already experienced in other programming languages but are curious about how Python, Go, or Rust can improve performance in your applications.
  • You’re an experienced developer who wants to learn new tools and techniques from expert programmers in a dynamic live-coding environment.

Prerequisites

  • Come with your questions
  • Have a pen and paper handy to capture notes, insights, and inspiration

About your hosts

  • Rachel Roumeliotis is vice president of content strategy at O'Reilly, where she leads an editorial team that covers a wide variety of programming topics ranging from full stack to open source in the enterprise to emerging programming languages. She’s been a programming chair for the O'Reilly OSCON, Fluent, Strata, Software Architecture, and Security Conferences. She’s currently the programming chair for the OSCON and Strata Data & AI Superstream Series on O'Reilly online learning. She's been working in technical publishing for 10 years, acquiring content in many areas including mobile programming, UX, computer security, and AI.

  • Kelsey Hightower has worn every hat possible throughout his career in tech and enjoys leadership roles focused on making things happen and shipping software. Kelsey is a strong open source advocate focused on building simple tools that make people smile. When he isn’t slinging Go code, you can catch him giving technical workshops covering everything from programming to system administration.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introduction: Rachel Roumeliotis and Kelsey Hightower - 11:00am–11:10am PT

  • Rachel Roumeliotis and Kelsey Hightower welcome you to the OSCON Open Source Software Superstream Series.

Ellen Körbes: Write a Kubernetes Operator in Go (60 minutes) - 11:10am PT | 2:10pm ET | 7:10pm UTC/GMT

  • Kubernetes monitors and maintains state for many aspects of your cluster, but what about those out-of-the-box ideas no one’s thought of yet that are essential to the success of your program? Enter Kubernetes Operators: state-management machines for self-defined resources. See Kubernetes Operators in action as Ellen Körbes live-codes one in Go—showing you their practical application and everything you need to write your own.

  • Ellen Körbes ran DevRel at both Tilt and Garden—two of the very few companies 100% focused on the development experience side of Kubernetes. They got their start building Kubernetes CLI tooling under SIG-CLI. They've since spoken about Go and Kubernetes at many world-famous events.

Session (30 minutes) - 12:10pm PT | 3:10pm ET | 8:10pm UTC/GMT

  • More to come

Nathan Stocks: High-Performance Rust—Learn the Basics by Coding a Simple Terminal Game (60 minutes) - 12:40pm PT | 3:40pm ET | 8:40pm UTC/GM

  • Nathan Stocks offers an introduction to Rust fundamentals by live-coding a simple terminal game. You’ll explore structs, traits, methods, functions, modules, threads, and packages as well as trickier aspects specific to Rust such as ownership issues and timing—ensuring you can write high-performance code without worrying about crashes or security vulnerabilities.

  • Nathan Stocks is an engineering manager of Git storage at GitHub by day; by night he teaches Rust and works on indie game dev projects. He likes maple trees, frisbee, spending time with his wife and kids, eating food, and dreaming about running his own artisan software shop with a small team of smart, happy people.

Reuven Lerner: Design Patterns in Python—How, Why, and When (60 minutes) - 1:40pm PT | 4:40pm ET | 9:40pm UTC/GMT

  • Python developers often roll their eyes at the phrase "design patterns," saying that Python makes them unnecessary. But it turns out that design patterns can be useful in Python code to express relationships among parts of a program. Reuven Lerner takes you through a number of common design patterns and shows you how to implement them in Python. You’ll learn what these patterns are trying to express and when they are (and aren't) a good idea to use in your code.

  • Reuven Lerner is a full-time Python trainer and author. Reuven’s free weekly Better Developers newsletter, about Python and software engineering, is read by more than 15,000 developers around the globe. His Trainer Weekly newsletter is similarly popular among people who give corporate training.

Rachel Roumeliotis and Kelsey Hightower: Closing Remarks (20 minutes) - 2:40pm PT | 5:40pm ET | 10:40pm UTC/GMT