OSCON 2014 Tutorials

The first two days of OSCON (July 20-21) feature two full days of 3-hour tutorials led by experts. These half-day tutorials give you a chance to dive deep into the subject matter and offer a more participatory classroom experience. You must register for an OSCON pass which includes Sunday and/or Monday tutorials to attend.

The purpose of this tutorial is to train web developers working on a Linux/UNIX ENV on production, development ENVs, or both.
Often, these developers, while proficient in say, PHP, lack UNIX system knowledge and therefore come across a brick wall when debugging production issues.
Often times, because the development ENV is different than production.
Read more.

Clojure: it's a Lisp that runs on the JVM and it's gotten a lot of buzz in the last few years. What is it actually good for? In this tutorial, you'll learn about Clojure's radically simple approach to data and state and how it can help you build real-world projects from web applications to servers to mobile apps.
Read more.

Have you always wanted to create hardware devices to interact with the real world? Heard about the Arduino electronics prototyping platform but not sure how to get started? When you attend this workshop you will: set up an Arduino board & software; learn how the Arduino fits into the field of physical computing; and make your Arduino respond to button presses and blink lights. Hardware is fun!
Read more.

How accessible are your development projects? This session puts development to the ultimate accessibility test. The presenters will guide you through an experience of accessibility for people who are blind and then go on to cover best practices, testing, and pitfalls in implementing accessible web and program design. You will walk away with actionable tips to use in your development projects.
Read more.

Elasticsearch provides a powerful combination of clustered full-text search, synonyms, faceting, and geographic math, but there's a big gap between its documentation and real life. We'll tell hard-won war stories, work through hands-on examples, and show what happens behind the scenes, leaving you equipped to get the best use out of Elasticseach in your projects.
Read more.

Building on last year’s critically acclaimed ‘Demystifying SELinux: WTF is it saying?’ talk Demystifying ‘SELinux Part II: Who’s policy is it anyway?’ is an extended tutorial which has attendees work through real life examples of SELinux configuration and policy construction.
Read more.

Curious about OpenStack, but don't know where to start? In this hands on tutorial we will walk you through the basics of OpenStack, the OpenSource cloud computing platform that is used to build private and public clouds.
Read more.

Advanced math for business people: “just enough math” to take advantage of new classes of open source frameworks. Many take college math up to calculus, but never learn how to approach sparse matrices, complex graphs, or supply chain optimizations. This tutorial ties these pieces together into a conceptual whole, with use cases and simple Python code, as a new approach to computational thinking.
Read more.

You've heard the hype about Docker and container virtualization now see it in action. This tutorial will introduce you to Docker and take you through installing it, running it and integrating it into your development and operational workflow.
Read more.

This tutorial explores a set of simple and practical techniques for giving better, more effective, more entertaining technical presentations. Discover how to capture an audience, hold their interest, convey your message to them clearly…and maybe even inspire them.
Read more.

Scala powers some of the biggest companies in the world, including Twitter, Intel, and LinkedIn. Come learn what led them to choose this powerful JVM language and try it out yourself. You’ll get a hands-on intro to Scala and functional programming concepts by building your own performant REST API. No FP experience needed--if you can build apps in Java, Python or Ruby you’ll do great in this class.
Read more.

AngularJS is relatively new, meteorically popular, and functionally powerful. However, a lot of AngularJS’s workings are very opaque and confusing. In this tutorial, my goal is to walk you through building a basic app, and introduce you to concepts, patterns, and ways of thinking that will allow you to comfortably dive further into using AngularJS for future projects.
Read more.

The shift to the cloud is old news. Unfortunately, the pain of developing distributed architectures is not. Apache Mesos handles the hard parts of building distributed systems and lets developers focus on what makes their application special. In this workshop, we will illustrate how to write applications on Mesos by walking through the implementation of an example framework.
Read more.

In this tutorial, we will develop a working Android application using open source libraries for key platform components: HTTP client, JSON parsing, Async image download and caching.
You will learn how to manage dependencies using Gradle and best practices for building Android apps using open source libraries.
Read more.

The new Arduino Yun contains both an Arduino Leonardo and a full Linux system on a chip with built-in Ethernet and Wifi. This intermediate level hands-on tutorial will teach you how to use the Yun to communicate between Yun and Yun, Yun and laptop, and Yun and internet services, such Gmail, Twitter, and other services with APIs
Read more.

Are you a software person? An artsy type? Never thought you would like hardware? Or perhaps you love hardware? No matter what your skill level, this workshop is for you. Get in on the open hardware movement and join ChickTech to create your own “soft circuit” using conductive thread, fabric, inputs/outputs, and a microcontroller!
Read more.

This Introduction to Ceph tutorial will include a mix of lecture and instructor-led demonstrations that will introduce students to the Ceph distributed storage system, the challenges it addresses, its architecture, and solutions it offers.
Students will leave understanding how Ceph works, how it can be integrated with your services and applications, and how it works alongside OpenStack.
Read more.

This tutorial is a quick introduction to the Elixir programming language. We’ll explore the basics of the language, meta programming, and explore why you want to use Elixir to write concurrent, scalable, and robust programs.
Read more.

This tutorial will demonstrate the use of Codename One to develop a cross-platform mobile application in Java. In it you will build a non-trivial application and deploy it to your mobile device.
Read more.

Moose continues to emerge as the new standard for writing OO libraries in Perl. It provides a powerful, consistent API for building classes with a minimum of code. It can be customized with reusable components, making it easier to refactor your code as you go. This tutorial will explain what Moose is, how its parts work together, and how to start using Moose today to get more done with less.
Read more.

In this tutorial you will build a Reactive application with Play Framework, Scala, WebSockets, and AngularJS. We will get started with a template app in Typesafe Activator. Then we will add a Reactive RESTful JSON service and a WebSocket in Scala. We will then build the UI with AngularJS.
Read more.

You've dabbled a little in version control using Git. You can follow along with the various tutorials you've found online. But now you've been asked to implement a work flow strategy and you're not really sure how (or where) to start. You have a lot of choices, we'll help you pick the right one for your project.
Read more.

This full day of community management training is delivered by Jono Bacon, author of The Art of Community, and covers a wide range of topics for community managers and leaders to build fun, productive, and rewarding communities.
Read more.

We want you to leave OSCON with a working cloud account, including supporting infrastructure that Amazon DOESN’T provide but that will make your cloud life way more manageable! Once your account is bootstrapped with Asgard and Aminator, we’ll be baking some of the myriad of @NetflixOSS apps. This tutorial will be meaningful for anyone getting started with or currently using AWS.
Read more.

Learn Test-Driven-Development and how it applies to web applications by building a simple web app from scratch using Python and Django. We'll cover unit testing, Django models, views and templates, as well as using Selenium to open up a real web browser for functional tests.
Read more.

This tutorial will give developers an introduction and practical experience in building applications with the go language. Go expert Steve Francia will lead the class to build a working go web and cli application together teaching fundamentals, key features and best practices along the way.
Read more.

In this tutorial you'll learn why you can't consider UX + design an optional extra when creating mobile apps, and how to tell an awesome app from a bad app. This highly interactive platform-agnostic design-heavy workshop is for programmers of any background. Learn how mobile apps work from a UI perspective, and how + why to build wireframes, and how to evaluate your designs for future improvement.
Read more.

The MySQL world is full of tradeoffs and choosing a High Availability (HA) solution is no exception. We demystify all the alternatives in an unbiased nature. Preference is of course only given to opensource solutions.
Read more.

Most organisations have strategy documents full of implementation, purchasing, tactical and operational choices. Remove this and you're often left with a vague 'why' which normally boils down to copying everyone else. In this tutorial I'll demonstrate how a large number of companies are playing a game of chess in which they can't see the board and how you can exploit this.
Read more.

In this tutorial, we’ll explore three unique technologies, and accompanying use cases, for Node.js development. We’ll divide the tutorial into three one-hour segments, in which you will develop three different Node.js-powered applications.
Read more.

Metaprograming in Python is fun and profitable thanks to its rich Data Model – APIs that let you handle functions, modules and even classes as objects that you can create, inspect and modify at runtime. The Data Model also enables your own objects to support infix operators, become iterable and emulate collections. This workshop shows how, through a diverse selection of examples and exercises.
Read more.

Getting software released to users is often a painful, risky, and time-consuming process. This tutorial sets out the principles and technical practices that enable rapid, incremental delivery of high quality and valuable new functionality to users.
Read more.

Python is quickly becoming the go-to language for data analysis. However, it can be difficult to figure out which tools are good to use. In this workshop, we’ll work through in-depth examples of tools for data wrangling, machine learning, and data visualization. I’ll show you how to work through a data analysis workflow, and how to deal with different kinds of data.
Read more.

This tutorial provides an introduction to Go with a focus on using it for everyday sysadmins tooling. A example of working from iostat is used to show a practical approach to learning the language.
Read more.

Scalding is an open source framework developed at Twitter that provides a high level abstraction over Hadoop MapReduce, letting you concisely specify complex data analysis pipelines using simple Scala operations like map, filter, join, group, and sum. This introductory tutorial does not require experience with either Hadoop or Scala.
Read more.

This training offers the first step in building a good knowledge of graph databases, and covers the core functionality of the open source Neo4j graph database. With a mixture of theory and hands-on practice sessions, you will quickly learn how easy it is to work with a powerful graph database using Cypher as the query language.
Read more.

Getting everyone in your company or development team on the same page can be a challenge. This on-your-feet workshop will teach fast, fun improv techniques for helping your group to bond, generate quality ideas and make quick decisions. Learn the secrets of applied improv from two professionals who have decades of experience working in open source, Internet startups and corporate training.
Read more.

Learn the fundamentals of Erlang - a high productivity, functional programming language used to build scalable, highly concurrent systems. In this tutorial, we'll introduce Erlang by way of a fun problem: building an HTTP server! You'll learn the basic of networking programming in Erlang along with key techniques for performance and scalability.
Read more.