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

Tutorials

These expert-led presentations on July 15-16 give you a chance to dive deep into the subject matter. Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on Monday or Tuesday.

Monday, July 15

Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Location: Portland 255
VM Brasseur (Juniper Networks)
Average rating: *****
(5.00, 12 ratings)
From unresponsive recruiters to pointless interview questions, a job hunt can be a demoralizing and dehumanizing process. VM (Vicky) Brasseur walks you through how to make it more productive and less stressful. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Location: D138-140
Nathan Stocks (GitHub)
Average rating: ****.
(4.64, 25 ratings)
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, updated for Rust 2018 for maximum learning and fun. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Location: Portland 251
Priyanka Sharma (GitLab), Cullen Taylor (GitLab)
Average rating: **...
(2.21, 28 ratings)
Break the shackles of vendor lock-in. Sébastien Goasguen and Priyanka Sharma walk you through deploying serverless functions to any cloud provider of your choice. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Location: C120-122
Lorenzo Fontana (Sysdig), David Calavera (Netlify)
Average rating: ****.
(4.00, 3 ratings)
Lorenzo Fontana and David Calavera dive into how to understand and use extended Berkeley Packet Filters (eBPF) programs on Linux. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Location: Portland 252
Ken Kousen (Kousen IT)
Average rating: ****.
(4.33, 9 ratings)
The Spring Framework is the leading open source project in the Java world. Join Ken Kousen to learn how to build applications with the Spring Framework, including web applications, RESTful web services, and more. You'll also discover how to use Spring Boot to initialize and autoconfigure an application, customize it, and generate an executable JAR file suitable for deployment. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Location: Portland 256
Neal Ford (ThoughtWorks)
Average rating: ****.
(4.71, 41 ratings)
Unsure about the basics of software architecture? Neal Ford walks you through the foundational topics of software architecture, illustrating his points with examples. You'll learn architecture characteristics, how to derive components, architecture patterns and selection, and documentation. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 15, 2019
Location: Portland 255
Sander Mak (Luminis Technologies)
Average rating: ****.
(4.19, 16 ratings)
Java's moving faster than ever. Join Sander Mak to catch up with everything that's happened between Java 8 and Java 12, with hands-on examples. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 15, 2019
Location: Portland 252
Average rating: ****.
(4.25, 16 ratings)
Join Justina Petraityte to get hands-on experience developing intelligent AI assistants based entirely on machine learning and using only the open source tools Rasa NLU and Rasa Core. Along the way, you'll learn the fundamentals of conversational AI and best practices for developing AI assistants that scale and learn from real conversational data. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 15, 2019
Location: D138-140
Josh Berkus (Red Hat)
Average rating: ***..
(3.70, 10 ratings)
Once, nobody ran a database on top of Kubernetes or OpenShift. Now everyone's doing it, and you can too. Josh Berkus walks you through deploying and managing two different databases so you can get a taste of cloud native database hosting. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 15, 2019
Location: Portland 256
Paris Buttfield-Addison (Secret Lab), Mars Geldard (University of Tasmania), Tim Nugent (lonely.coffee)
Average rating: ***..
(3.80, 20 ratings)
Games are wonderful contained problem spaces, making them great places to explore AI—even if you’re not a game developer. Paris Buttfield-Addison, Mars Geldard, and Tim Nugent teach you how to solve AI and ML problems using the Unity game engine and Google's TensorFlow for Python to train, explore, and manipulate intelligent agents that learn. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 15, 2019
Location: Portland 251
Stuart Williams (Investors Group | Mackenzie Investments)
Average rating: ***..
(3.61, 23 ratings)
Have software engineering experience in any language? Join Stuart Williams for a very fast introduction to Python. Instead of a traditional top-down presentation of Python's features, syntax, and semantics, you'll explore the language from the bottom up, tackling hundreds of small examples using the interactive interpreter to quickly gain familiarity with most of the core language features. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 15, 2019
Location: C120-122
Jamiel Sheikh (Chainhaus)
Average rating: ****.
(4.21, 14 ratings)
Jamiel Sheikh walks you through building an Ethereum decentralized application (DApp) using Solidity. You'll learn some basic Solidity syntax, how to send ether to a smart contract, how gas works, how to programmatically compile and deploy Solidity code, and how to invoke a smart contract from Remix. Read more.

Tuesday, July 16

Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: C120-122
Emily Xie (Sotheby's)
Average rating: ****.
(4.67, 9 ratings)
Emily Xie demonstrates how to make algorithmic art using p5.js, an emerging open source visual programming framework built for the web. You'll get drawn in by her work and learn to create a generative art piece of your own. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: Portland 255
Brent Laster (SAS)
Average rating: ****.
(4.08, 13 ratings)
Brent Laster offers a brief, practical introduction to Jenkins as well as a guide to leveraging its automation and integration with other open source technologies to create a simple, working build and deployment pipeline that implements principles of continuous integration and continuous delivery. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: Portland 252
Russ Miles (ChaosIQ)
Average rating: ****.
(4.57, 7 ratings)
Russ Miles walks you through establishing effective chaos engineering teams at scale. You'll learn how chaos experiments and chaos APIs based on open standards provide the foundation for both organizational and industry learning when it comes to improving system resilience. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: D138-140
Average rating: *****
(5.00, 2 ratings)
You've got the code part down, but now there's a problem. You've got to get people interested in your project and attract contributors. Or if you have contributors, you have to express your vision and intent. Alison Spittel explains why you need documentation and blog posts. Then you'll workshop a content strategy for your open source project, from audience targeting to an outline of a blog post. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: Portland 256
Elmer Thomas (Twilio SendGrid), Craig Dennis (Twilio)
Average rating: **...
(2.62, 13 ratings)
Elmer Thomas and Craig Dennis take you through designing, building, and deploying a Python-powered application within a microservices architecture deployed to AWS. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: C123-124
Tim Berglund (Confluent), Brandon Bird (Confluent)
Average rating: ****.
(4.54, 13 ratings)
Join Tim Berglund to learn how to produce and consume a Kafka topic, integrate Kafka with a database using Kafka Connect, and perform real-time stream processing on Kafka data. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Location: Portland 251
Grishma Jena (IBM)
Average rating: ***..
(3.64, 14 ratings)
With the advent of voice-based assistants and chatbots in our homes, our phones, and our computers, businesses, stakeholders, and developers want to learn about language processing. Grishma Jena introduces you to natural language processing (NLP) using Python. You'll start off with textual data and learn how to process it to derive useful insights that can be used in real-world applications. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: C123-124
Average rating: *....
(1.80, 5 ratings)
Given the growing demand for fairness, accountability, and transparency from machine learning (ML) systems, Animesh Singh, Svetlana Levitan, and Tommy Li demonstrate how to build an ML pipeline that's open, secure, and fair and that fully integrates into the AI lifecycle, using open source tools like AI Fairness 360 (AIF360) and Adversarial Robustness Toolbox (ART), among others. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: Portland 252
Anubhav Mishra (HashiCorp)
Average rating: *****
(5.00, 1 rating)
Kubernetes is a popular application delivery platform, but its built-in secret-management system does not serve the diverse needs of many organizations. Anubhav Mishra demonstrates how to run HashiCorp Vault on Kubernetes and use Vault to store and retrieve secrets for applications running on Kubernetes. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: D138-140
Tim Nugent (lonely.coffee), Jon Manning (Secret Lab), Paris Buttfield-Addison (Secret Lab)
Average rating: ****.
(4.33, 21 ratings)
Using Another Tool for Language Recognition (ANTLR) Tim Nugent, Jon Manning, and Paris Buttfield-Addison build an entirely new programming language starting from nothing and ending up with a working interpreter. It will probably be a bad language, but it'll be ours and no one can take that from us. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: C120-122
Dan Anghel (Google)
Average rating: ****.
(4.50, 6 ratings)
The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable, and scalable. Dan Anghel gives you on a hands-on introduction to Kubeflow and Kubeflow Pipelines for ML, both from the command line and from a notebook. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: Portland 251
Bridget Kromhout (Microsoft), Aaron Wislang (Microsoft)
Average rating: ***..
(3.80, 5 ratings)
Going to production with Kubernetes means new considerations that come with many acronyms. Kubernetes is configurable to meet your needs while open source tooling such as Helm, Brigade, and Duffle enable better ongoing operability. Bridget Kromhout and Aaron Wislang walk you through role-based access control, custom resource definitions, and pod disruption budgets. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: Portland 256
Eve Porcello (Moon Highway), Alex Banks (Moon Highway)
Average rating: ****.
(4.70, 23 ratings)
If you want to work with GraphQL but aren't sure where to get started, this is for you. No matter where you fit into the stack, Eve Porcello and Alex Banks give you everything you need to start building powerful GraphQL services that sit on top of any kind of data sources from the core features through adoption. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Location: Portland 255
Christian Nwamba (Microsoft)
Average rating: **...
(2.80, 10 ratings)
Join Christian Nwamba to master VS Code, the most popular open source code editor that can help improve your day-to-day productivity. You'll get your hands dirty as you learn how to customize your editor, speed up development with code snippets, enhance your workflow through the use of powerful extensions, and more. Read more.