Building apps that run everywhere with HTML5, CSS, JavaScript, and Apache Cordova

Jonathan Stark (Jonathan Stark Consulting)

It’s a fact: if you have a working knowledge of HTML, CSS, and JavaScript, you already have the tools you need to develop your own web or hybrid apps for mobile. In this session, you’ll learn how to use these open source web technologies to design and build apps for the iPhone, iPad, Android, etc. on the development platform of your choice—without using Objective-C, Swift, or Java.

1:30pm-5:00pm (3h 30m)
Architecture

Introduction to microservices

Chris Richardson (Chris Richardson Consulting, Inc)

In this tutorial, you will learn about the motivations for using the microservice architecture and how it compares with more traditional monolithic architecture. We discuss the benefits and drawbacks of microservices. You will learn about strategies for refactoring a monolithic application into a set of microservices.

9:00am-12:30pm (3h 30m)
Foundations

Decorating drones: Using drones to delve deeper into intermediate Python

Matt Harrison (MetaSnake)

Got the basics of Python down but want to dig in a little more?
Have you wondered about functional programming, closures, decorators,
context managers, generators, or list comprehensions, and when you
should use them and how to test them? This hands-on tutorial will
cover these intermediate subjects in detail, by applying them to
programming a drone.

It’s a big world for small devices, and you need to be able to design not just for Android and iPhone, but the mobile world beyond as well. Over the course of this tutorial, you’ll learn critical skills in thinking about problems in a mobile context, how to apply these skills to address app design problems on any mobile platform, and how to design for future improvement.

9:00am-12:30pm (3h 30m)
Scale

Docker 101: Introduction to Docker

Andrew Baker (Twilio)

Docker was one of last year’s most talked about open source projects - but what is it? And what does it mean for deploying applications?
This tutorial will explain what Docker is and where it fits in with other deployment and configuration management techniques. Students will then learn the basics of working with Docker containers, how to “dockerize” an app, and some emerging best practices.

1:30pm-5:00pm (3h 30m)
Scale

Intro to React and effective design patterns

Brian Holt (Microsoft)

One of the new, hot libraries in the JavaScript world is React, and there is reason that it is getting so much attention: it offers some productivity gains you will not believe. In this workshop, we will cover React at a high level and then get in and write some code.

9:00am-12:30pm (3h 30m)
Scale

Get started developing with Scala

Jason Swartz (Mesosphere)

Scala powers some of the biggest companies and fastest applications in the world. Find out why so many programmers are enamored of this language. We'll start with the basics of Scala, try out the features in the REPL, and then build an application. If you already know Javascript, Ruby, Python, or Java then you'll do great in this class.

1:30pm-5:00pm (3h 30m)
Scale

Nim - The ultimate introduction

Andreas Rumpf (3DICC)

Nim is an emerging programming language that brings together the indentation-based syntax of Python, the speed of C, and the meta programming of Lisp. Nim scales from simple script-like programs up to full-blown system programs like compilers or 3D engines thanks to its layered language design.

9:00am-12:30pm (3h 30m)
Teaching

Building a mobile app with Meteor.js, Cordova, and MongoDB

Josh Owens (Meteor Club)

Join Meteor expert Josh Owens as he walks through live coding a Meteor.js app from scratch and gets it working with the built-in Cordova support. Learn how easy it is to build a new mobile app with Meteor.js.

1:30pm-5:00pm (3h 30m)
Data

Building a Python web application using Flask and Neo4j

Nicole White (Neo4j)

Flask, a popular Python web framework, has many tutorials available online which use an SQL database to store information about the website’s users and their activities. In this tutorial, we will replace SQL with Neo4j, an open source graph database, in order to build a simple microblog application with social features that are otherwise too complex to model and express in SQL.

9:00am-12:30pm (3h 30m)
Collaboration

Community leadership workshop

Jono Bacon (Jono Bacon Consulting)

In this new workshop, Jono Bacon, leading community manager from Ubuntu and XPRIZE, author of _The Art of Community_, and founder of the Community Leadership Summit, will share key lessons for how to build a strong and empowered community, navigate internal teams, build buy-in and governance, manage conflict, and more. Come and get the behind-the-scenes recipe for building a strong community.

1:30pm-5:00pm (3h 30m)
Design

Design Sprints for Developers

C Todd Lombardo (Fresh Tilled Soil)

Design sprints are a time-boxed, disciplined way to get validation on a concept so you write code that gets used and not trashed. This workshop will take you through a mini-design sprint so you can get first-hand experience of what it's like to participate in one. You’ll walk away with ideas and the knowledge of how to implement these frameworks in your organization.

9:00am-12:30pm (3h 30m)
Architecture

Reactive Architecture with Play, Akka, and Scala

Henrik Engstrom (Lightbend)

Reactive Applications are the next major evolution of the Internet. They allow for applications to be responsive, scalable and resilient by building on a fully event-driven foundation. Typesafe’s Reactive Platform, consisting of the Play Framework, the Akka middleware and the Scala programming language embraces this new programming paradigm.

1:30pm-5:00pm (3h 30m)
Collaboration

Introduction to planning and running tech events

Kara Sowles (Puppet)
et al

The open source world has a vibrant, never-ending calendar of community events. This session will cover best practices and pitfalls to avoid in planning and executing events for your technical community.

9:00am-12:30pm (3h 30m)
Craft

Presentation Ninjutsu

Damian Conway (Thoughtstream)

Over the past decade Damian Conway's popular "Presentation Aikido" class has explained and demonstrated the fundamentals of giving great presentations. In this, the long-awaited followup class, Damian delves even deeper into the art and science of presentation, revealing the subtle and unexpected techniques that can lift your presentations from great to extraordinary.

1:30pm-5:00pm (3h 30m)
Foundations

AngularJS tutorial

Sam Helman (Flatiron Health)

AngularJS is relatively new, meteorically popular, and functionally powerful. However, a lot of AngularJS’s workings are very opaque and confusing. In this tutorial, an updated version of the same tutorial from last year, my goal is to walk you through building a basic app, and introduce you to concepts and patterns that will allow you to comfortably dive further into using AngularJS.

9:00am-12:30pm (3h 30m)
Foundations

Introduction to modern PHP

Josh Lockhart (New Media Campaigns)

Are you a PHP beginner or a seasoned veteran upgrading from PHP 4 to PHP 5? Have you read about "PSR"s or the PHP-FIG but don't know what they are? Josh Lockhart will introduce you to modern PHP practices and techniques. Learn about namespaces, traits, and generators. Find out how to use, build, and share components. And find out how to continue learning and get involved with your PHP community.

1:30pm-5:00pm (3h 30m)
Scale

How to run the next generation of enterprise “killer apps” on Apache Mesos

Connor Doyle (Mesosphere.io)
et al

In this workshop, experts from Mesosphere will demonstrate how to operate today’s most popular distributed frameworks on Apache Mesos - from installation, through command line interface, monitoring, and everything in between, in real production scenarios across clustered resources.

9:00am-12:30pm (3h 30m)
Foundations

Linux bootcamp: From casual Linux user to kernel hacker

Tammy Butow (Gremlin)
et al

This will be a hands-on workshop aimed at those who are casually familiar with the Linux operating system. Perhaps you use it on a server or in a virtualbox, but want to gain deeper understanding about the kernel and how Linux actually works.

1:30pm-5:00pm (3h 30m)
Design

Hacking smart electronics

Robert Gallup (XOBXOB)

Prototypes allow us to see, touch, feel, and refine ideas and designs. Starting from zero, this hands-on workshop explores smart hardware prototyping using a micro-controller and basic electronic components. You'll connect LEDs, buttons, and knobs, then program a micro-controller to define behavior. Through this you’ll better understand the tools and process of designing smart, connected products.

9:00am-5:00pm (8h)
Events, Sponsored

Kubernetes Bootcamp: Get up to speed with Docker and Kubernetes (SOLD OUT)

Michael Hausenblas (Red Hat)
et al

This one-day course provides you with an end-to-end understanding of Linux containers and how to operate and orchestrate them at scale. It will teach you about the low-level concepts that make up Linux containers, best practices on Docker containers, as well as how to orchestrate them using Kubernetes.

9:00am-5:00pm (8h)
Training

Microservices – Why, what and how to get there

Adrian Cockcroft (Battery Ventures)

Adrian will run a two-day training class at OSCON. The class will go into more depth on the business need for speed that leads to microservices, and the characteristics of existing microservice architectures. In addition there will be a hands-on exercise to model your existing architecture, a future state, and the step by step migration to get there.

9:00am-5:00pm (8h)
Training

Introduction to reactive programming: Hands-on with Akka, Java, and Scala

Duncan DeVore (Lightbend)
et al

Reactive programming represents a paradigm shift in the way we reason about system design by embracing the fundamentals of distributed computing. It is this paradigm shift that in turn allows us to build applications that "react" to environment changes such as failure and increased load through "self-healing" and elastic scaling.

9:00am-5:00pm (8h)
Training

Go Bootcamp training

William Kennedy (Ardan Labs)

The Go Bootcamp is a two-day class that provides a comprehensive and idiomatic view of the Go programming language. The class covers topics ranging from language syntax, OOP, concurrency, channels, and testing to debugging and more. The class is great for anyone interested in getting a jumpstart on learning Go, or wanting to understand more about the language and internals.

If you're involved in writing anything to do with iPhones, iPads, or Macs, you need to get familiar with Swift. This training will bring you from zero Swift knowledge all the way up to a deep understanding of the subject.

9:00am-5:00pm (8h)
Cultivate

Cultivate: Leading through culture (Presented by O'Reilly and New Relic)

We’re at the cusp of a new network age. The companies defining it are fast, flat, and flexible. They devour data and focus obsessively on their customers. “Analyze and adapt” is their Standing Operating Procedure. At Cultivate, they’ll tell you how they do it—and how you can, too.

5:30pm-7:00pm (1h 30m)
Events

Ignite OSCON (Sponsored by Bluehost)

If you had five minutes on stage what would you say? What if you only got 20 slides and they rotated automatically after 15 seconds? Would you pitch a project? Launch a web site? Teach a hack? We’ll find out at our annual Ignite event at OSCON. Read more.

OSCON 5K Glow Run and After Party (Sponsored by IBM Cloudant, Microsoft and OpenStack)

The OSCON 5k Glow Run/Walk and Finish Line Festival is back. This year expect more glow, a cool new venue, special effects, frothier foam dance floor, beer, and prizes. Same great views and scenic course around the Waterfront Loop, great dance music, beer garden, and food cart. Take the MAX to Skidmore Station/Saturday Market for Ankeny Plaza Pavilion.

7:00pm-8:30pm (1h 30m)
Events

Monday BoFs

Birds of a Feather (BoF) sessions provide face to face exposure to those interested in the same projects and concepts. BoFs can be organized for individual projects or broader topics (best practices, open data, standards). BoFs are entirely up to you. We post your topic and provide the space and time. You provide the engaging topic.