Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

OSCON Tutorials

On Monday, May 8 and Tuesday, May 9, choose from all-day and half-day tutorials. These expert-led presentations give you a chance to dive deep into the subject matter. Please note: to attend, your registration package must include tutorials on Monday and Tuesday; does not include access to training courses.

Monday, May 8

Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Meeting Room 9
Level: Beginner
Bart Miller (University of Wisconsin-Madison), Elisa Heymann (University of Wisconsin-Madison)
Average rating: ****.
(4.38, 8 ratings)
Securing your network is not enough. Every service that you deploy is a window into your data center from the outside world—a window that could be exploited by an attacker. Bart Miller and Elisa Heymann explain how to minimize the security flaws in the software you develop or manage. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Meeting Room 18 A/B
Level: Beginner
Jeffrey Goff (Evozon Systems)
Average rating: **...
(2.50, 2 ratings)
Jeffrey Goff introduces Perl's new multiparadigm, highly concurrent sister language Perl 6 with activities drawn from real-world use cases. Jeff offers an overview of basic Perl 6 scripting, data types, and text manipulation, covers data structures, functions, and the basics of testing, and walks you through creating a Perl 6 module you can use in your own code. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Meeting Room 18 C/D
Level: Beginner
Cedric Williams (PayPal), Danese Cooper (PayPal), Silona Bonewald (PayPal)
Average rating: ****.
(4.50, 4 ratings)
InnerSource applies the best lessons from open source to proprietary engineering and transforms the cultures that use it. Danese Cooper, Cedric Williams, and Silona Bonewald explain how PayPal and other companies started redesigning their engineering approaches and ended up changing how they work and outline techniques any team can use to build an InnerSource practice in their organization. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Ballroom F
Level: Intermediate
Jérôme Petazzoni (Docker), AJ Bowen (Dominant Paradigm Subversion, Inc)
Average rating: ****.
(4.48, 21 ratings)
Jérôme Petazzoni and AJ Bowen demonstrate how to set up a production-grade Docker cluster and use it to build, ship, and run an app built around a microservices architecture, employing the native orchestration features offered by SwarmKit to implement centralized logging, metrics collection, scaling, load balancing, rolling upgrades, and high availability for both stateless and stateful services. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Meeting Room 12
Level: Intermediate
Daniel Hinojosa (Evolutionnext.com)
Average rating: *****
(5.00, 2 ratings)
RxJava is a relatively new way of expressing and composing streams of data as well as asynchronous computations. Daniel Hinojosa demonstrates how to use RxJava safely and effectively in both greenfield and legacy projects, allowing you to write expressive, thread-safe, and well-performing code on both the server and mobile devices. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Meeting Room 17 A
Level: Intermediate
Hadi Hariri (JetBrains)
Hadi Hariri explains the basics of functional programming using Kotlin—where it fits in with the object orientation paradigm and how to use it in your everyday work. Along the way, Hadi covers important functional programming concepts and demonstrates how and where to apply functional patterns to cut down boilerplate code and keep it maintainable. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Ballroom E
Level: Intermediate
Aaron Maxwell (Powerful Python)
Average rating: ****.
(4.00, 5 ratings)
Python decorators are key to many popular Python frameworks, including Flask, Django, pytest, and SQLAlchemy. While using decorators is easy, writing them requires a sophisticated understanding of Python's memory model, function abstractions, and generic programming. Aaron Maxwell helps you attain fluent mastery in writing and leveraging Python decorators. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Ballroom G
Level: Beginner
John Chapin (Symphonia), Mike Roberts (Symphonia)
Average rating: ****.
(4.18, 11 ratings)
Serverless is the latest trend in application and system architecture, but it’s not obvious or intuitive how to architect, build, or operate serverless applications. John Chapin and Mike Roberts discuss the benefits, trade-offs, concepts, and patterns of serverless architecture and walk you through building, deploying, and running a serverless application. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
SOLD OUT
Location: Meeting Room 10 A/B
Level: Intermediate
Jean Joswig (Google)
Average rating: ****.
(4.62, 8 ratings)
Members of Google’s Site Reliability Engineering (SRE) team guide you through the principles of systems engineering. You'll work in small groups to solve a systems problem, using ideas from distributed computing to build a sample system and gain practical experience with the issues surrounding large-scale system design. Read more.
Add to your personal schedule
9:00am12:30pm Monday, May 8, 2017
Location: Meeting Room 14
Duane O'Brien (PayPal)
Average rating: ****.
(4.00, 1 rating)
Have you ever wanted to give an Ignite talk but didn't know where to start? Are you new to public speaking and having trouble arranging your talk? Or maybe you're a savvy speaker who needs tips to fine-tune short form talks or just want to work on your presentation skills. If any of this sounds familiar, this workshop is for you. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Ballroom E
Level: Intermediate
Barbara Fusinska (Katacoda)
Average rating: ***..
(3.56, 9 ratings)
Machine learning is growing increasingly popular. R is an open source platform that offers numerous libraries and implementations of machine-learning algorithms. Barbara Fusinska demonstrates how to use R to prepare data, create a predictive model, and display the results. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Meeting Room 9
Level: Intermediate
Brent Laster (SAS)
Average rating: ***..
(3.38, 13 ratings)
Brent Laster explains how to use Jenkins 2.0 and illustrates how to easily integrate it with other open source technologies, such as Git, as he walks you through building a simple multistage deployment pipeline (managed and automated through Jenkins) that implements principles of continuous integration and continuous delivery. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Meeting Room 18 A/B
Level: Intermediate
Carl Albing (US Naval Academy)
Average rating: ***..
(3.50, 4 ratings)
Everyone thinks they know bash if they can type a few commands. Hey, you don’t know bash! Carl Albing leads a fast-paced tour of some of the newest features and most useful idioms in bash—the shell everyone needs to know—for better scripting, faster sysadmin-ing, and everyday work in open source development. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Meeting Room 17 A
Level: Intermediate
Jonathan Lebensold (Paradem)
Average rating: ****.
(4.50, 4 ratings)
Jonathan Lebensold walks you through building a picture-tagging application for iOS and Android, sharing best practices for cross-platform development with React Native and touching on sharing code, camera integration, and mapping along the way. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Meeting Room 10 A/B
Level: Beginner
Jeremy Wilken (VMware)
Average rating: ****.
(4.00, 3 ratings)
Understanding data as it streams is vital today. Using Angular and D3, Jeremy Wilken demonstrates how to build out an example visualization application that consumes a live stream and shows meaningful metrics that could help businesses make critical, real-time decisions. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Ballroom F
Kelsey Hightower (Google)
Average rating: ***..
(3.26, 19 ratings)
Kelsey Hightower offers a hands-on demonstration of Kubernetes, teaching you how to package your applications as Linux containers, manage secrets with Vault and custom controllers, create and manage metrics with Prometheus, implement distributed tracing with Zipkin and OpenTracing, implement service discovery and keep your sanity, and expose your applications to external users and clients. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, May 8, 2017
Location: Meeting Room 12
Level: Beginner
Matt Lucas (IBM)
Average rating: ***..
(3.75, 4 ratings)
Matt Lucas demonstrates how to develop a realistic blockchain application using the Linux Foundation's Hyperledger fabric. Read more.

Tuesday, May 9

Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Ballroom E
Level: Non-technical
Simon Wardley (Leading Edge Forum)
Average rating: ****.
(4.62, 8 ratings)
Simon Wardley offers an introduction to situational awareness within business, explaining why it matters and why most companies lack it. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 9
Level: Intermediate
Dave Forgac (American Greetings), Ian Zelikman (IBM Watson Health)
Average rating: ***..
(3.69, 13 ratings)
Dave Forgac and Ian Zelikman demonstrate how to use a contract-first approach to API development using the OpenAPI Specification (formerly called Swagger) and other open source tools. Dave and Ian walk you through defining a simple API specification, using it to generate documentation, a mock server, and stub code, and implementing a working API based on the specification. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Ballroom F
Level: Intermediate
Brent Laster (SAS)
Average rating: ***..
(3.33, 9 ratings)
If you are doing anything with open source these days, the chances are very high that you are working with Git. Many know enough basic Git operations to get started but don't have the time (or even know where to look) to learn about Git's advanced functionality. Brent Laster explains how to take your Git skills to the next level. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 10 A/B
Level: Beginner
Joshua Long (Pivotal)
Average rating: ****.
(4.33, 3 ratings)
Microservices invite architectural complexity that few are prepared to address. Joshua Long explores how high-performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud, moving beyond mere theory to implement real code to support a microservices system, live. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 18 A/B
Level: Beginner
Quinn Murphy (GitHub), Byron Schaller (RoundTower Technologies)
Average rating: **...
(2.75, 4 ratings)
Terraform is a great tool for managing cloud infrastructure, but where you should you start? Quinn Murphy and Byron Schaller offer an overview of Terraform and guide you through building a simple demo to illustrate Terraform best practices. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 18 C/D
Level: Beginner
Jonathon Manning (Secret Lab Pty. Ltd.), Tim Nugent (lonely.coffee), Paris Buttfield-Addison (Secret Lab Pty. Ltd.)
Average rating: ****.
(4.00, 2 ratings)
Jonathon Manning, Tim Nugent, and Paris Buttfield-Addison explain how to use Swift to build apps on the server side. Whether you’re coming from an existing server background or client-side work, you’ll come away with useful skills for producing the counterparts to your Swift frontend software. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 17 A
Level: Intermediate
Tessa Kelly (NoRedInk)
Average rating: ****.
(4.17, 6 ratings)
Elm is a nice-to-write and nice-to-read language designed to make frontend developers happy. Tessa Kelly explores some of the open source work that contributes to making Elm code maintainable, safe, and fun, from in-editor tools to package management to great libraries. Kelly walks you through basic syntax as you work toward publishing your first Elm package. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 19
Level: Advanced
Jim Blandy (Mozilla Corporation)
Average rating: **...
(2.00, 1 rating)
Jim Blandy shows you how to write a networked game in Rust, the new systems programming language from Mozilla, covering networking, graphics, and asynchronous I/O. At the end of the tutorial, we'll all play a game together. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, May 9, 2017
Location: Meeting Room 12
Level: Intermediate
Aaron Schumacher (Deep Learning Analytics)
Average rating: ***..
(3.25, 8 ratings)
Aaron Schumacher takes a building-block approach to exploring the tools TensorFlow provides so you can build the systems you need and write your own TensorFlow—not just run other people's scripts. Aaron discusses the many aspects of TensorFlow—including data management, machine learning, distribution, and serving—by comparing them with similar functionality in other toolkits. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Ballroom F
Level: Beginner
Steve Francia (Google), Ashley McNamara (Rackspace)
Average rating: ****.
(4.00, 15 ratings)
Ashley McNamara and Steve Francia demonstrate how to create user-friendly command-line interfaces and command suites before walking you through building your own app. By the end of the workshop, you’ll have a working knowledge of Go and your very own functioning CLI app. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 10 A/B
Level: Beginner
Bradley Kuhn (Software Freedom Conservancy), Karen Sandler (Software Freedom Conservancy)
All staff involved in production of any product that contains software must know the basics of license compliance, and copylefted and GPL'd software is in nearly everything. The GNU General Public License (GPL) requirements are both technical and legal. Bradley Kuhn and Karen Sandler share the information you need to ensure your company's compliance with the GPL and related licenses. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 17 A
Level: Beginner
Trevor Sullivan (Art of Shell)
Average rating: ***..
(3.00, 3 ratings)
Object-oriented shells are important for developers and engineers alike. Now that PowerShell is open source and runs natively on Linux, Trevor Sullivan explores how to take advantage of this new capability. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 18 A/B
Level: Beginner
Kelsey Hightower (Google)
Average rating: ****.
(4.83, 6 ratings)
Measure all the things. It’s a great mantra for any organization that wants the benefits of cloud computing while maintaining solid operational stability. But how? With what tooling? Kelsey Hightower guides you through hands-on tutorials using open source software that empowers you to continue down the journey of measuring the right things using open source tools. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 19
Level: Non-technical
Jonathon Manning (Secret Lab Pty. Ltd.), Tim Nugent (lonely.coffee), Paris Buttfield-Addison (Secret Lab Pty. Ltd.)
Average rating: ****.
(4.22, 9 ratings)
Jonathon Manning, Tim Nugent, and Paris Buttfield-Addison teach you how to design games and gameplay. Along the way, you'll play, discuss, disassemble, modify, and re-assemble pen-and-paper games, as Jonathon, Tim, and Paris share how and why they work the way they do. You'll leave ready to start thinking about your own games. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 18 C/D
Level: Intermediate
Marc Sugiyama (Erlang Solutions, Inc)
Average rating: ****.
(4.00, 2 ratings)
Elixir and Phoenix combine the performance and scalability of the Erlang virtual machine with the core concepts behind Ruby on Rails. Marc Sugiyama walks you through creating a website, demonstrating Elixir basics and the principles behind Elixir's scalability and performance. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Ballroom E
Level: Intermediate
Ben Sigelman (LightStep), Yuri Shkuro (Uber), Priyanka Sharma (LightStep )
Average rating: **...
(2.50, 4 ratings)
You’ve heard distributed tracing is awesome but hard to integrate. Ben Sigelman, Yuri Shkuro, and Priyanka Sharma help you go from zero to useful traces in under an hour with OpenTracing, walking you through visualizing the critical path for transactions with microservices, enabling debugging, latency monitoring, and overall performance gains. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 9
Level: Intermediate
William Lyon (Neo Technology)
Average rating: ****.
(4.75, 4 ratings)
William Lyon explains how to use a graph database to generate real-time recommendations using real-world data. William introduces graph data modeling and querying concepts using Neo4j and Cypher, the query language for graphs to import and query data, before demonstrating how to apply graph algorithms and NLP using Python data science tools to enhance your recommendations. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, May 9, 2017
Location: Meeting Room 12
Level: Advanced
Susan Sons (Center for Applied Cybersecurity Research, Indiana University)
Average rating: ****.
(4.70, 10 ratings)
Susan Sons demonstrates how to refactor complex and possibly very broken systems and software while in operation, covering architecture, project management, and security aspects. Read more.