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

Live coding

Want to get deeper into some actual coding—no slides allowed? Then this track is for you. From minute one, these sessions are actual coding best practices and new ways of getting the most out of languages like Python, R, Java, and C#. Attendees will use Jupyter Notebook, complete with runnable coding examples, to follow along and have a takeaway. Be prepared to cast off the crutch of slides and get your hands dirty coding…mistakes included.

Add to your personal schedule
9:00am12:30pm Monday, July 16, 2018
Location: Portland 255
Level: Intermediate
Jess Portnoy (Kaltura Inc)
Prometheus is an open source monitoring and alerting toolkit. Grafana is the leading open source software for time series analytics. This hands-on session will walk attendees through erecting an end to end monitoring and alerting infrastructure with the Prometheus stack. Read more.
Add to your personal schedule
9:00am12:30pm Monday, July 16, 2018
Location: E143/144
Level: Intermediate
Ian James (FamilySearch), Matthew Larson (FamilySearch)
Many popular services like Uber and Google Docs are employing real-time data to engage users, but traditional web technologies like REST and Ajax were not designed for the real-time web. In this tutorial, we'll explore an alternative approach to real-time data that is straightforward and scalable using Redux and Websockets. And just to spice things up, we'll learn by building a multi-player game! Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 16, 2018
Location: E143/144
Level: Intermediate
Catherine Nikolovski (Hack Oregon), Ryan Brown (Hack Oregon), Zachary Neumann (Hack Oregon)
Catherine Nikolovski, Ryan Brown, and Zachary Neumann offer an overview of Hack Oregon's CIVIC, a new approach to interactive computing inspired by complex information challenges in the civic space, which packages real-world data into universal standards and provides integration tools and powerful cloud computing to anyone with an internet connection. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 17, 2018
Location: D137/138
Level: Intermediate
Robert Aboukhalil (Invitae)
On most days, Bash is a great tool for quick-and-dirty file manipulation and system management. As we'll cover in this live coding tutorial, however, the command line allows us to do a whole lot more than meets the eye, including arrays, functions, parsing JSON, and process substitution. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 17, 2018
Location: D139/140
Level: Intermediate
Rabimba Karanjai (Rice University | Mozilla)
Excited about augmented reality? Waiting to get your hands on that new shiny Magic Leap device? Think ARKit and ARCore are the best things to happen to mobile AR? Rabimba Karanjaiall explores all these examples in detail and explains how you can build your own mixed reality experiences using them together in an open platform—the web—running directly from the browser in your mobile device. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 17, 2018
Location: D137/138
Level: Intermediate
Alyssa Columbus (University of California, Irvine)
This tutorial aims to get attendees started with building data visualizations using the R Shiny web framework. Attendees will work along with the instructor to build simple Shiny applications with interactive elements and customized layouts while learning best practices to make these applications suitable for production deployment. Read more.
Add to your personal schedule
11:00am11:40am Wednesday, July 18, 2018
Location: Portland 252
Tara Z. Manicsic (Progress)
Tara Manicsic walks you through coding out a system for your plants that updates you on light and moisture levels using a Tessel board and React UI, demonstrating how to retrieve and utilize sensor data. May another plant never die on your watch. Read more.
Add to your personal schedule
11:50am12:30pm Wednesday, July 18, 2018
Location: Portland 252
Level: Beginner
Anjana Vakil (Mapbox)
The lambda calculus lets us represent our programs - all their logic and data - as pure, anonymous functions. Booleans, numbers, operators, control flow, data structures… lambda can do it all! Let’s live-code our way to a deeper understanding & admiration of the computational power of the almighty little lambda, an abstraction fundamental to functional programming. Read more.
Add to your personal schedule
1:45pm2:25pm Wednesday, July 18, 2018
Location: Portland 252
Level: Intermediate
Matt Sullivan (Google), Emily Fortuna (Google)
Flutter is a new, open source, mobile SDK. This talk will live code a Flutter app from scratch to finish, including designing a UI using Flutter's sub-second hot reload, pulling in live data over a network, managing that data using streams, and even accessing some native code for those tricky platform-specific APIs. Then show the same app running at 60 fps on both iOS and Android. Read more.
Add to your personal schedule
2:35pm3:15pm Wednesday, July 18, 2018
Location: Portland 252
Level: Intermediate
Joel Grus (Allen Institute for Artificial Intelligence)
I'm going to live-code a deep learning library from scratch (well, from NumPy) and train a couple of models. I'll place particular emphasis on writing readable code, creating a usable library, and using good abstractions. If I do my job right you'll learn a good bit about both deep learning and library design. Read more.
Add to your personal schedule
4:15pm4:55pm Wednesday, July 18, 2018
Location: Portland 252
Level: Beginner
Eve Porcello (Moon Highway)
Heard of GraphQL but you’re not sure where to get started? In this live coding demo, Eve Porcello will start with an empty folder and take you through the process of standing up and querying a GraphQL server. Along the way, we’ll cover GraphQL schemas and discuss how to incrementally adopt GraphQL at your organization. Read more.
Add to your personal schedule
5:05pm5:45pm Wednesday, July 18, 2018
Location: Portland 252
Level: Beginner
Lachlan Evenson (Microsoft)
Building complex or even simple event-driven pipelines on Kubernetes has always been somewhat of an elusive task—until now. Enter Brigade, a lightweight open source event-driven tool that accepts a JavaScript expression of a pipeline that gets seamlessly converted into the associated Kubernetes runtime objects. Lachlan Evenson demonstrates how to build event-driven pipelines on Kubernetes. Read more.
Add to your personal schedule
11:00am11:40am Thursday, July 19, 2018
Location: Portland 252
Level: Intermediate
Josh Butikofer (Adobe)
Blockchain == Buzzword * 10^10. By now, most of us have heard something about blockchains. Do you want to dig deeper in the tech beyond hearing about yet another altcoin to invest in? In this live Python coding session we will build a very basic blockchain to understand how the underlying technologies work and what they might be good for beyond the cryptocurrency use case. Read more.
Add to your personal schedule
11:50am12:30pm Thursday, July 19, 2018
Location: Portland 252
Level: Beginner
Josh Long (Pivotal)
Spring Framework 5 is here! It introduces the Java developer to growing support for reactive programming, starting with a new Netty-based web runtime called Spring WebFlux, and then continuing to Spring Data Kay, Spring Security 5.0, Spring Boot 2.0 and Spring Cloud Finchley. Join me, Josh Long (@starbuxman), and we'll look at how to build reactive, resilient microservices in _Reactive Spring_. Read more.
Add to your personal schedule
1:45pm2:25pm Thursday, July 19, 2018
Location: Portland 252
Level: Beginner
Pierre DeBois ( Zimana Analytics )
This session will show beginning programmers and data scientists how to conduct a sentiment analysis in R programming using Twitter. Learning sentiment analysis can reveal how people are truly responding to a product, service, or a social issue. Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 19, 2018
Location: Portland 252
Level: Intermediate
Jess Portnoy (Kaltura Inc)
FFmpeg is a FOSS, cross-platform, solution to record, convert and stream audio and video. This session will focus on using the CLI tools included in this project [ffmpeg and ffmprobe] to accomplish everyday video manipulation and streaming tasks. Read more.
Add to your personal schedule
4:15pm4:55pm Thursday, July 19, 2018
Location: Portland 252
Level: Beginner
Paris Buttfield-Addison (Secret Lab Pty. Ltd.), Tim Nugent (lonely.coffee), Jonathon Manning (Secret Lab Pty. Ltd.)
Live coding is the future of programmer learning, and Swift is the open source future of programming for Apple’s platforms. Learn Swift with live coding in Apple’s Playgrounds environment, on either and iPad or a macOS computer, and find out why Swift is one of the most fun, engaging, thoughtful languages. This intro to Swift will cover the basics, from control structure, to types, to algorithms. Read more.
Add to your personal schedule
5:05pm5:45pm Thursday, July 19, 2018
Location: Portland 252
Level: Intermediate
Josh Deprez (Google Australia)
Many utilities are about prettifying text-based code, but what if a program was written "diagram-first"? (This isn't a new idea.) Goroutines and channels make sense on a canvas. This is a live demonstration of SHENZHEN GO, a pragmatic blend of visual and textual programming. Read more.