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 256
Level: Intermediate
Jess Portnoy (Kaltura)
Prometheus is an open source monitoring and alerting toolkit, while Grafana is the leading open source software for time series analytics. Jess Portnoy explores the Prometheus architecture and its various tools and walks you 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: C123/124
Level: Intermediate
Ian James (FamilySearch), Matthew Larson (FamilySearch)
Many popular services like Uber and Google Docs employ real-time data to engage users, but traditional web technologies like REST and Ajax were not designed for the real-time web. Ian James and Matthew Larson share an alternative approach to real-time data that is straightforward and scalable using Redux and WebSockets. And just to spice things up, you'll learn it by building a multiplayer game. Read more.
Add to your personal schedule
1:30pm5:00pm Monday, July 16, 2018
Location: D139/140
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: Portland 255
Level: Intermediate
Robert Aboukhalil (Invitae)
On most days, bash is a great tool for quick-and-dirty file manipulation and system management. Join Robert Aboukhalil to learn how the command line allows you to do a whole lot more, including arrays, functions, parsing JSON, and process substitution. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 17, 2018
Location: B110-112
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: B110-112
Level: Intermediate
Alyssa Columbus (University of California, Irvine)
Alyssa Columbus walks you through building data visualizations using the R Shiny web framework. You'll learn how to build simple Shiny applications with interactive elements and customized layouts and discover 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 you represent your programs—all their logic and data—as pure, anonymous functions. Booleans, numbers, operators, control flow, data structures. . .lambda can do it all. Anjana Vakil leads a live-coding deep dive into the lambda calculus, demonstrating 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. Matt Sullivan and Emily Fortuna walk you through live-coding a Flutter app from scratch. You'll learn how to design a UI using Flutter's subsecond hot reload, pull in live data over a network, manage that data using streams, and even access some native code for those tricky platform-specific APIs. 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)
Joel Grus live-codes a deep learning library from scratch—well, from NumPy—and trains some demonstration models, placing particular emphasis on writing readable code, creating a usable library, and using good abstractions. 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)
Are you interested in GraphQL but aren't sure where to get started? Eve Porcello offers a live-coding walk-through of GraphQL, giving you the foundation to build your own GraphQL servers. Starting with an empty folder, you'll learn how to stand up and query a GraphQL server. Along the way, Eve covers GraphQL schemas and explains 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. Josh Butikofer walks you through building a very basic blockchain to demonstrate how the underlying technologies work and what they might be good for besides the cryptocurrency use case. Join in to go beyond yet another alt-coin to invest in and dig deeper into the tech. 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 Java developers to growing support for reactive programming, starting with a new Netty-based web runtime called Spring WebFlux and continuing with Spring Data Kay, Spring Security 5.0, Spring Boot 2.0, and Spring Cloud Finchley. Join Josh Long to learn how to build reactive, resilient microservices with Spring. Read more.
Add to your personal schedule
1:45pm2:25pm Thursday, July 19, 2018
Location: Portland 252
Level: Beginner
Pierre DeBois ( Zimana Analytics )
Sentiment analysis can reveal how people are truly responding to a product, service, or a social issue. Pierre DeBois demonstrates how to conduct a sentiment analysis in R programming using Twitter. Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 19, 2018
Location: Portland 252
Level: Intermediate
Jess Portnoy (Kaltura)
FFmpeg is a FOSS, cross-platform solution to record, convert, and stream audio and video. Jess Portnoy explains how to use the CLI tools included in this project (ffmpeg and ffprobe) 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. Join Paris Buttfield-Addison, Tim Nugent, and Jonathon Manning to learn Swift with live coding in Apple’s Playgrounds environment and find out why Swift is one of the most fun, engaging, thoughtful languages. 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. Josh Deprez leads a live demonstration of Shenzhen Go, a pragmatic blend of visual and textual programming. Read more.