OSCON 2012 Speaker Slides & Video

Presentation slides will be made available after the session has concluded and the speaker has given us the files. Check back if you don't see the file you're looking for—it might be available later! (However, please note some speakers choose not to share their presentations.) Also, check out the presentation files from the 2011 edition of OSCON.



With an infinite marketplace, every product must compete for resources and attention. Most projects turn into a resource management issue; how much do you have and how what do you use it on? One of the most successful ways to get the resources you need is to secure your own financing. This tutorial examines popular alternatives and gives free culture case-studies to identify best practices.
The use of Open Source Software in products or services can create numerous benefits; however, it simultaneously presents security challenges that are often overlooked. How do you learn of new vulnerabilities in OSS that you use? How do you effectively manage and track those issues? How do you disclose issues to your customers? This session will address these questions and many more.
Presentation: external link
Why do you decide to use Open Source Software? How do you choose one Open Source project over another? Join us for a discussion of the critical factors to consider to "mitigate risk" when choosing to use a project, including techniques for living with that choice. We'll talk about several different projects that we have integrated to various ends: success, forking, adoption, and abandonment.
What is the single most valuable part of an open source project? Its brand. When everyone can fork your code on their own, a project's brand is the most important thing to understand and maintain for the benefit of the project's core technical community. Learn how communities can intelligently manage their reputation, and companies can respectfully use the brand.
We've assembled the first comprehensive history of open source in the US government -- all the major events, publications, policy, and code releases we could collect. And it's mashable. From that data, we learn how the government adopts open source, how policies affects adoption, and how governments have most effectively encouraged their own open source use.
Companies are thinking long & hard about legal & regulatory implications of cloud computing. No matter what efficiency gains are, Legal often directs IT to steer clear of any service that eliminates their ability to keep sensitive information out of the hands of Federal prosecutors. As the fog clears on the US Patriot Act, best practices are emerging to enable corporations to move to the cloud.


With its latest release (2.4.0), Apache httpd is ideally suited for the cloud, both in performance and capability. See what enhancements have been made so that you can also take advantage of Apache 2.4.0.
This presentation will cover how OpenStack (an open source infrastructure as a service platform) and Puppet (an open source configuration management language) can be integrated to deploy and manage your own private cloud.
Learn how GoDaddy.com built its Cloud Computing IaaS product with a team of less than 10 people. See how we leveraged open source and existing technologies to accelerate our development, what worked, and what didn’t. Learn how we built a reliable infrastructure on top of non-reliable messaging and an eventually consistent model using Redis, Apache CouchDB, Node.js, and Apache ZooKeeper.
Private cloud computing has become an integral part of global business. While each platform provides a way for virtual machines to be deployed, implementations vary widely. It can be difficult to determine which features are right for your needs. This session will discuss the top open source private cloud platforms and provide analysis on which one is the best fit for you.
An introduction to high availability for the OpenStack cloud stack, using the Pacemaker cluster management framework.
The "cloud stack" development environment—one that lets you not just build cloud-based app for the web, but actually build them while on the Web—is a reality. Using open source, standardized software and management tools, it’s now possible to code, test, debug, and deploy web based solutions; all from a modern browser.
SDN is the promise of bringing comparable programmability to the network by abstracting a logical view from the underlying infrastructure for more agility, flexibility, scalability but also for more innovation, looking at networks in a new way and allowing for better synergies with applications running on it. 2012 is poised to be a pivotal year with production deployments, new players and more.


The strength of your community is the best predictor of your project's long-term viability. What happens when that community is gradually infiltrated by assholes, who infect everyone else with their constant negativity and personal attacks? This talk will teach you about the dramatic impact assholes are having on your organization today and will show you how you can begin to repair it.
Based on our experiences with the LJC and other OSS projects we cover several tips and tricks used to build a vibrant community of thousands of passionate developers and get those communities working with each other and how to deal with conflicts and other war stories!
Change is hard for individuals, and harder for organizations. Understanding how to navigate the forces affecting our habits and willpower will enable you to set about effecting real change in your organization. Discussed in terms of grassroots, clouds, elephants and jockeys, this practical perspective redefines the challenge of cultural change.
A fun, comprehensive tutorial on how to host a successful code sprint, hackathon, (un)conference or workshop.
Long-time open source advocate in government Deb Bryant takes off the gloves and talks about legislators and lobbyists, policy wonks and pundits, bureaucrats and and advocates. It's just the fodder you’ll need to get behind a new national technology imperative; recycle US Federal investments in software into the innovation economy while taking control of their own software destiny.
Greenlightforgirls.org is a Brussels-based, international NGO promoting science, technology, engineering and mathematics to girls of all ages and backgrounds. We promote female role models from technical sectors to youngsters, and run events which inspire girls to study and pursue careers in technical areas, including computers. With this knowledge, we believe girls will save the world!
We have had a history of taking a different approach that has been highly successful in turning small emails and twitter comments into people programming with us on our OSS projects. In this session we will share our stories so that you can also the harness good intentions of others and turn those intentions into committable code.
Presentation: external link
Grow, Grow, Grow! People are the life-blood of Open Source Communities. Mozilla has always recognised this in regards to their own success, and are now undertaking a project to expand the community even further with the Mozilla Reps program. This talk will discuss the successes and challenges we have had, and our plans for continued momentum.
In your open source project's community, some people contribute. Most people don't. By analyzing the typical open source project's on-ramp for new contributors through the lens of user experience design, we provide practical tips to make any project more approachable and that diversify the community.
Formed by a group that included Tim O'Reilly, OSI has been the cornerstone of the movement OSCON aims to gather in plenary. Hear how OSI is transforming itself into the new voice of the global open source community
In this session, we’ll talk about strategies for nurturing, empowering and rewarding community leaders to help scale your open source community.


This session presents how can MySQL replication be used in advanced setups for aggregating data from multiple masters, scaling out to hundreds of servers or even to integrate data into more esoteric slaves like non-relational stores.
Watch as data models compete for the top prize. Who will win? Contestants will be judged on performance, ease of querying, and scalability. Join us to find out who will be America's Next Top Data Model.
These days it is not uncommon to have 100s of gigabytes of data that needs to be sliced and diced then delivered fast and rendered quickly. This talk seeks to cover some strategies for caching large data sets without tons of expensive hardware, but through software and data design.
Presentation: external link
Learn the basics of R for data science: what makes R special as a language, and what R packages are most important for data manipulation, visualisation and modelling.
Data, data everywhere, but not a structured bit. Open data is all the rage, but often this data is poorly formatted or not very accessible. This session will discuss various ways to pry open the oyster of public data.
Presentation: external link
The optimizer is the "brain" of the database, interpreting SQL queries and determining the fastest method of execution. This talk uses the explain command to show how the optimizer interprets queries and determines optimal execution.
This is a general session on InnoDB; give a brief overall of InnoDB architecture and its main features; Discuss the current state of InnoDB; also covers InnoDB roadmap.
A tutorial on setting up MySQL Cluster 7.2 and developing hybrid SQL/NoSQL applications using the Cluster/J and Memcached APIs.
MySQL's configuration file is often the focus of too much attention, and too much tweaking of variables that make no difference -- or worse, have the potential to negatively impact performance. The sample default configuration files that come with MySQL are unfortunately not very helpful or good, either. We'll looking in creating a better one in this session.
Turning billions of events into near-realtime analytics is hard. Urban Airship collects events from hundreds of millions of mobile apps and turns them into meaningful analytics using open source technology like Hadoop, Kafka and HBase. We’ll cover near-realtime big data scaling techniques from the architectural level to the operational level.
Building sensor networks, while challenging, can be a data rich endeavor. But what do you do with all of the data you collect? How do you store and make sense of the results? Where do you store the information? This session explores the options available and demonstrates how to store the data in a database system for easy retrieval.
Presentation: external link
Social media has become the true mirror of the society & no doubt, Twitter is silver behind the glass. An understanding of the underlying network models reflected by the tweets & associated metadata enables one to infer and predict. In this tutorial, we will derive domain metrics like Cliques and Brand Rank by applying SNA principles via Twitter APIs.
This session provides an overview of PostgreSQL 9.1 Foreign Data Wrappers, a mechanism for retrieving data from remote data sources. We will contrast the native C interface with the Python interface provided via the Multicorn project. A real-world example will retrieve business data from salesforce.com and combine it with data held in native PostgreSQL tables using a simple SQL JOIN.


Medical devices can no longer be seen as standalone components because of the significant clinical data they collect. Creating connected devices is a major requirement for most manufacturers and this talk with show how to use modern, open source and open software architecture techniques to build connected devices.
For more than a decade, people have imagined a future where the sequencing of a person's DNA would be as routine a medical practice as a visit to the doctor. We now stand on the cusp of this future, but the volume and complexity of the data exceed our ability to interpret it. Within this challenge lies a major opportunity for software to make a difference in the future of medicine.
What are the advantages and disadvantages of building Health IT platforms instead of out-of-the box systems? How can people building these systems share tools and resources with others in different countries who may do very different work? This panel of participants in the OpenMRS community will share their real-world experiences from multiple continents on a variety of scales.
Your body is a machine. If you jog or run, then by mixing things up, you can help make that machine run more efficiently. This talk will cover the basics of how to establish a performance baseline, constructing a training program to improve performance, and then measuring the improvements.
Open standards and open architecture support developing countries to build systems in a more thoughtful and pragmatic way. Through this approach, and using these tools, we can follow an example of how Rwanda has begun to design and develop a national health information system, and how this will allow other countries to do the same, more quickly and more effectively then ever before
The Department of Veterans Affairs spawned in July 2011 the creation of OSEHRA, a non-profit organization whose mission is to apply best practices of open source software development to the improvement and maintenance of Open Source EHR information systems that are freely available for all. Please join us in this session to hear about the current activities and future plans of OSEHRA.

Open Hardware

This session aims to give you the tools to import the real world into the programming scope of your trusty $30 microcontroller, by covering the technology fundamentals and integration essentials of a wide variety of sensors and actuators, as well as providing a few alternative power schemes and even mobility options to increase the variety of your design arsenal.
Presentation: external link
There are more options for home automation than ever before --- a growing number of inputs and outputs can be harnessed to make your home life easier. This presentation ties shows how sensors, temperatures, wireless devices, and telephones can be tied into lights, sounds, and even coffee pots to make your home "smart".
A quick intro to embedded Linux development and a survey of the capabilities and limits of the most interesting hardware available for experimenting by hardware hackers, and the skills needed to make effective use of it. Ranging from Plug Computers to bare development boards, miniaturized systems and rooted hard drives, the ever-growing bestiary of ARM devices at our disposal for projects is fun!
The hacker community has enthusiastically embraced the Arduino microcontroller. Linux and Open Source hackers are some of the most sophisticated and forward thinking in the business. This talk with give them plenty of ideas for building highly capable, remote sensor projects.
Printable electronics have the potential to enable a revolution in open hardware design. We present a prototype electronic material printer based on a commercial desktop 3D printer, demonstrate its capablities, and present a roadmap for the development of printable, open components based on unconventional electronics.


Learn about the android.speech package and enable Speech Recognition and Text to Speech functionality in your Android apps today. This presentation will give a brief overview of the basics and best practices of Speech Recognition. Then we will quickly put together an application using Speech Recognition for input and TTS for output that can answer almost any question you put to it. 
Android is the leading mobile operating system. With its growing popularity and adoption, it is important to understand the security architecture of Android so developers can secure their data and also protect the privacy and confidentiality of their users. This session discusses the overall Android security architecture and talks about different security artifacts provided by Android.
Presentation: external link
In this session you'll learn why you can't consider UX and design an optional extra when designing mobile apps for Android, how to tell an awesome app from a terrible app, and the basics of both designing and coding for the latest and greatest Android platform (Android 4.0 and beyond). Stylish apps aren't just for that other mobile platform, and Android is surprisingly easy to get started with.
This presentation will focus on a process for taking open data sources, turning them into beautiful custom maps, using them on mobile in an offline-capable way, and doing it all with entirely open source code.
Organizations and individuals seriously involved in Android development should consider testing as a pillar in their strategy. In this session we will analyze the components available in the Android platform to support unit testing, Test Driven Development, performance tests, test automation, code coverage analysis and Continuous Integration.
jQuery Mobile is a cross-platform framework made for smartphones and tablets. With its HTML5 interface, it looks and feels like an app. This presentation will teach you how to quickly create a mobile front-end with little effort. It will also feature a use-case of adapting an existing web application to the mobile.
Presentation: external link
Build a MongoDB geospatial datastore using Creative Commons licensed world data and an Android client to consume the service for fun and profit!
Create, develop, and deploy mobile applications with JavaScript, HTML, and CSS using PhoneGap.
A logical approach to designing an Android sensor subsystem within a consumer product. At the outset it appears simple but once tasked it is a monumental effort with several complex trade-offs. The approach covers vendor algorithms, power, and latency issues in addition to the overall end to end architecture (sensor selection though plumbing libraries into the sensor frameworks).
The mobile web is now the ubiquitious web. Modern web developers building mobile web applications need to consider the many different devices with many screen sizes and densities. This talk focuses on the different techniques on how to deal with this on the web, regardless of whether this app is a website or a native application built using a framework such as PhoneGap.

Geek Lifestyle

Modern developers use an ever-expanding set of online tools to help them solve problems, develop skills, and get their work done. Analyzing the usage data from one of these tools reveals a surprising amount about emerging technologies and how some developers are learning more effectively.
Getting everyone in your company or development team on the same page can be a challenge. Back for a second year, this on-your-feet workshop will teach fast, fun improv techniques for helping your group to bond as a team. Learn the secrets of improv-based team building from two professionals who have decades of experience working in open source, Internet start-ups and corporate training.
Long before WoW and whatever else the kids are playing these days, we had telnet and multi-user dungeons with huge expansive worlds, clever writing and tons of charm. People still use IRC, why not MUDs? As a huge fan of the genre I wanted to write my own, this is my journey.
Presentation: external link
Grow, Grow, Grow! People are the life-blood of Open Source Communities. Mozilla has always recognised this in regards to their own success, and are now undertaking a project to expand the community even further with the Mozilla Reps program. This talk will discuss the successes and challenges we have had, and our plans for continued momentum.
Long have people dreamed of finding psychokinetic powers. From ancient mythology to the Uncanny X-Men, mental superpowers have been the stuff of legend. Now, with an Arduino and an EEG sensor headset, the amazing power of telekinesis can be yours!
Presentation: Ubuntu Home Hacks Presentation [PDF]
Inspired by a friend's X10-wired house in the 1990's, this talk is a modern take on the "smart home", searching for a more organic connection to our digital selves.

Tools and Techniques

Modern developers use an ever-expanding set of online tools to help them solve problems, develop skills, and get their work done. Analyzing the usage data from one of these tools reveals a surprising amount about emerging technologies and how some developers are learning more effectively.
Blender is a 3D animation suite that excels at every part of the animation pipeline, and has found its way into Hollywood blockbusters and AAA game titles. This introductory presentation will teach you 3D pipeline in a nutshell, followed by a hands-on demo where attendees can model, sculpt and render their first 3D project.
Presentation: external link
Its common to discuss the production environment in public but it is a black art on how to construct the development environment correctly, in fact it is a common problem that development doesn’t closely mirror the production experience. We will address why this is important, some common anti-patterns, and how it can be done correctly.
Web developers dream of continuous deployment: new code in production without a hitch. In this talk I'll cover the full story from building deployable code through working out a build and release process through continuous integration, automation, and continuous deployment. We'll also look at deployment velocity and why CD might not be for you.
Bring your ideas to life! Convince your boss to that open source development is faster and cheaper than the "safe" COTS solution they probably hate anyway. Let's investigate ways to get real-life, functional prototypes up with blazing speed. We'll look at and compare tools for truly rapid development including Python, Django, Flask, PHP, Amazon EC2 and Heroku.
Presentation: Get Better at Git Presentation [PDF]
Matthew McCullough, trainer for GitHub.com, and Tim Berglund, co-presenter of the O'Reilly Git Master Class videos and Mastering Advanced Git videos, will guide you through the fundamentals and a few intermediate elements of Git in three hours of lecture, discussion, and hands-on exercises.
MediaGoblin is a decentralized, extensible, and forward-looking free software media hosting system (and includes cool features like HTML5 video hosting). Hear about the state of the project, why decentralized media hosting matters, lessons learned from organizing the community, and why this is an important direction for the GNU project and free and open source software to head.
In this session, we'll look at the website development process through the lens of Hollywood storytelling. We’ll examine how the narrative structure of various films compares to different process models for site development. And along the way, we'll talk about some best practices for delivering successful projects that are on time, on budget, and meet customer expectations.
Orion is a browser-based open tool integration platform: tools are written in JavaScript and run in the browser. Unlike other attempts at creating browser-based development tools, this is not an IDE running in a single tab. Links work and can be shared. You can open a file in a new tab. Great care has been taken to provide a web experience for development.
Presentation: Scaling to 100+ APIs Presentation [PDF]
So you've shipped an API. But what if you had to ship over 100 APIs? Come hear the lessons Google learned, and the unique challenges we faced, as we scaled our system for developing and serving APIs from a handful to over 100.
Message Queues are a hot topic, but not all are created equal. After reviewing most of the popular choices, I will review my findings and offer suggestions for which to use when, and pros and cons of each. On the list are RabbitMQ, Kafka, Apache Qpid, Kestrel, ZeroMQ and more as time permits.
You know the drill - prototype, code, test, docs. The last part of the chain is either omitted or will rot in Wikis and manuals. This session introduces what Neo4j did to get O'Reilly quality DocBook content out of the codebase without getting in the way of the developers and extending the amount of docs from JavaDoc to PDF-book quality.
Presentation: external link
If you've ever written any code to authenticate wtih Twitter, you may have been confused by all the signature methods and base strings. You'll be happy to know that OAuth 2 has vastly simplified the process, but at what cost?
Presentation: external link
As applications become more distributed, virtual and elastic, many organizations are losing their grip on application performance and scalability. This session will use customer case studies to look at the biggest performance bottlenecks of the past year, as well as best practices around finding and troubleshooting them.
Google makes extensive use of open source software in running Google - both making use and contributing back to that. By using and contributing to open source software, we have been able to fundamentally change how managing an enterprise-size work force and their computing needs.


Presentation: external link
Finding on host monitoring that works for OSX, Linux and Windows is tough. It is even tougher to do it without CPU and Memory intensive languages. But, we are doing it with virgo. Virgo is a Rackspace project that is creating a tiny daemon using lua, luvit and C to do monitoring across all major OSes fast and securely. Learn how it is built, how you can hack on it, and what it can do.
Presentation: external link
Using the AWS infrastructure, affordable third party services and solid Open Source Software, this talk will focus on setting up a solid operations environment and practice that will scale with your site.
Presentation: external link
Request Tracker (RT) is an enterprise-grade ticketing system. It’s designed to help your organization track what needs to get done and what still needs doing. From basic customer service to advanced back-office workflows, RT is flexible enough to keep your processes smooth and effective.
This talk will talk about how to optimize available hardware resources using a real-world VPS server running a full LAMP stack, including common tuning choke points and misconfigurations.


Modern developers use an ever-expanding set of online tools to help them solve problems, develop skills, and get their work done. Analyzing the usage data from one of these tools reveals a surprising amount about emerging technologies and how some developers are learning more effectively.
The past 15 years have seen many languages be created to solve problems that languages before it couldn't solve or had not solved properly. In 2011, our old and familiar C and C++ languages received an upgrade: C11 and C++11. The changes to C++11 are so important it is almost a new language. This talk will present some of the most interesting changes aimed at making a developer's life easier.
Presentations: external link,
external link
In this talk, Steve will explain how to design your APIs so that they truly embrace the web and HTTP. Just as there's an impedance mismatch between our databases, our ORMs, and our models, there's an equal mismatch between our applications, our APIs, and our clients. Pros and cons of this approach will be discussed, as well as why more people aren't building APIs this way yet.
Why don't more companies practice code review? We all know how beneficial it is, and we've all seen it's successes in open source. What's so hard about bringing it over to the world of commercial software development? Nothing! This is a success story about adopting code review from the open source community and applying it to commercial development. It worked for us. It can work for you too.
Modern web services are expected to be capable of providing realtime services to a large number of concurrent connections from web browsers, and web API clients. Distributed systems are common. The fine grained concurrency, message oriented programming model and transparent distribution capabilities make Erlang well suited for these types of systems. Cowboy brings Erlang's power to the web.
In the Matrix, the hero Neo learns Kung Fu in 30 seconds. But in the real world, it takes a three hour OSCON tutorial to master such a skill! In this tutorial, you'll learn what makes Erlang so powerful and how to use it to build your own scalable, fault tolerant distributed systems. At the end, you you'll wake up, turn to your friends and say, "I know Erlang".
The promises of generic programming – ultimate reuse, unprecedented flexibility, and low abstraction penalties - have been difficult to fulfill. This talk explores how a few difficult generic programming tasks can be realized in the D programming language.
So you know the PHP language back to front, you know all the frameworks, and you've churned out countless native PHP modules in C -- but have you ever wondered how you might toy with the PHP language itself? Come along and learn a little more about the inside of your favourite programming language as I guide you through the process of adding a new keyword to the language.
Have you tried learning functional programming but failed to find practical uses? In this session we will apply our knowledge of SQL to illuminate valuable uses of functional programming. Using underscore.js as a foundation, we will write a SQL DSL for querying arrays of objects. You will unearth ideas you've long known about functional programming and thoughts you've never considered about SQL.
Following on from a popular OSCON 2011 Ignite talk, the Diabolical Developer and Ben Evans (the voice of reason) returns with a full length presentation full of controversy and thought provoking material. In short, this session provides a wealth of tips and tricks to free you from the chains of so call 'modern software development best practices'.
Presentation: external link
Have you ever wished you could know early in a project's development which choices you were making that would later harm the project as it grows in longevity, scale, and complexity? We'll share with you how thanks to software architectural principles and testing discipline, and we'll share with you a few laughs as we relate the bumpy road we took on our way to finding out how ourselves.
Code metrics describe the properties of your source code: the patterns of test coverage, the complexity of individual parts, and so on. When used properly, they can shine a light into your project and help you make informed decisions. When abused, they can kill quality and teamwork. This talk discusses how to pragmatically apply common and ad-hoc measurements.

Java & JVM

Aparapi provides an API for expressing data parallel workloads in Java and a runtime capable of converting Java bytecode into OpenCL for execution on a GPU. For some data-parallel algorithms, executing on the GPU can offer substantial performance gains. We will introduce Aparapi, demonstrate key features as well as discuss lessons learned during the transition from closed to open-source.
The Disruptor is an open source concurrency framework developed by LMAX, a London financial exchange. While it’s fashionable to use languages to hide away multithreading, the Disruptor does the opposite - enables developers to parallelize their architecture easily. In this session, Trisha Gee will show how to use the Disruptor, proving that concurrent programming doesn't have to be complicated.
This presentation demonstrates the potential of using JavaFX 2 together with alternative languages such as Groovy, Clojure, and Scala. It also will showcase the successor to JavaFX Script, Visage, a DSL with features specifically targeted at helping create clean UIs.
Presentation: external link
The JVM is capable of amazing network throughput and performance when used properly. Different languages (Java, Scala, Clojure), programming approaches (Asynchronous IO, Blocking IO) can greatly affect throughput and latency. This talk will draw on experience building networks of millions of devices to discuss best practices and contrast emerging idoms on the JVM.
This session will introduce you to the JavaFX 2 platform from the perspective of a seasoned Java developer. The breadth of JavaFX APIs will be explained through several examples that we will build out during the course of the session.
Jython is arguably the best Python implementation to target concurrent code. Jython has no GIL, it leverages the Java platform to provide robust support for concurrency in its runtime, and it enables access to a set of high-level abstractions from Java. This talk will walk through a series of motivating examples that emphasize Java integration.
Are you tired of null pointer exceptions, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors? A compile-time tool named the Checker Framework has found hundreds of such errors in Java code. Come learn how you can use the tool to improve your own code. For those who don't use Java, we will explain the concept of pluggable type-checking that underlies the tool.
Like many projects, OpenJDK has technical debt. OpenJDK, being an implementation of the Java platform, bears a greater burden: evolving the platform makes its own implementation go out of date. It's an enormous effort to keep the JDK up to date with Java. This talk examines this kind of technical debt in OpenJDK and presents some paths toward mitigating it.
Presentation: Scala Koans Presentation [PDF]
Koans are small Zen lessons, Scala Koans are small Zen lessons -- in Scala! Koans, as little exercises, are designed to provide tidbits of knowledge that when bundled together provide an in-depth understanding, Each Koan comes complete with their own little epiphanies of joy. Scala Koans have been a favorite for developers helping them make their path to Scala Nirvana. (laptop required)
Metaprograming is the dirty little secret behind the success of many Java frameworks such as Spring and Struts2, and constitutes the backbone of many of the most fundamental APIs across the JEE technology stack. This session aims introduce the topic and highlight with code examples the different mechanisms and techniques to take advantage of this underused feature of the Java Programming Language.
This talk introduces the Java EE 7 platform, the latest revision of the Java platform for the enterprise.
Handling concurrency using events is getting a lot of focus these days, however it's not without its tradeoffs. By using powerful threading and concurrency libraries from the JVM, and the simple elegance of Ruby, developers can solve problems easily with maintainable and understandable code
This session demonstrates how to troubleshoot the common problems that lead to hung and slow Java applications by going through case studies derived from actual problems we have seen on our production systems. Each case study is accompanied by a live demo of the tool best suited for troubleshooting that particular problem.

Javascript & HTML5

Dozens of toolkits offer a range of widgets to build rich web applications, but the included widget set is rarely enough. This presentation shows how a new component can be designed and implemented from scratch. Topics covered include considerations for choosing DOM structure, finding a balance between performance and features, implementation considerations and testing the component.
Unlike some introductions to Node.js that spend time explaining event loops and web sockets, this session start with a typical “Hello, Node” demo and quickly moves to short, fully-functional pps that show how to deal with static files, POST forms, mashups from other servers, file manipulation, data-handling, and even supporting HTTP Authentication.
Presentation: external link
This session takes you through an in-depth look at the HTML 5 Geolocation API. We'll nail down what it is and how to use it effectively. Our tips and tricks will save you a ton of time. We'll demonstrate those key concepts through real-world demos that will also take you to the next step and show you several ways to analyze and make sense of the data.
Presentation: external link
Nowadays many modern web applications are solely relying on JavaScript to render their frontend. But if you want to create mashups, load data from many different places or include external widgets into your site, you are quickly running into boundaries because of browser and security restrictions. In this presentation I will talk about techniques helping you with such problems.
While dynamic languages are extremely popular for rapid development, they're notoriously difficult to debug in production. Despite being a relative newcomer, Node.js has already developed sophisticated tools for both postmortem and runtime analysis that exceed those of many popular languages. We will discuss our work building and deploying such tools, including real-world production experiences.
Testing HTML UIs - can it be done? Most people instinctively say no, but it doesn't have to be like that. Using technologies like Webdriver, Selenium, and Geb, it actually becomes possible, and we'll take a look at how.
There are millions of software users with disabilities worldwide, yet many web application developers aren't aware of the techniques which can be used to make their software accessible. This talk will give an overview of what accessibility means and why it's important to you, a run-down of the technology and techniques for achieving it, and a look at how browsers provide accessibility support.
If you are flummoxed with HTML5 video—browers, codecs, and containers—this is your talk. In a plain-spoken, easy to understand style, Scott Davis will help you cut through the hype and the hope and add video to your website.
Presentation: You Ain_t SPDY Presentation [BIN]
You package your assets. You use CSS sprites. You serve up everything with gzip compression. You obsess over Yslow recommendations. But you are still not SPDY. Fundamental limitations in HTTP and TCP/IP still add up to 60% overhead to your site. Find out how to reclaim that lost bandwidth and increase the robustness of your sites at the same time.


Presentations: external link,
external link
Do you like the idea of repeatable, automated Perl application deployment? Me, too! This talk will show how to make Chef play nice with Perl. You'll learn how to weave together some great tools like perlbrew, local::lib, and carton to isolate your apps and manage them all with Chef.
Presentation: external link
For many Perl programmers, using git is a bit of a black box. This talk hopes to bring some clarity around the rather unintuitive interface of the git distributed version control system. The talk is geared for git beginners, primarily, although some of the content may be interesting to people who are comfortable with the basic git workflow of "add, commit, push."
Presentation: Mastering Perl Presentation 2 [PDF]
In this tutorial, brian d foy will cover aspects of his latest book, Mastering Perl, which is practical advice for working programmers on creating enterprise-quality Perl programs
Why is my process using that much memory? Is there a memory leak, and if so where is it? In this talk I'll show you how to find answers to these questions and more.
Illustrated guide to how to write non-blocking code for Perl (and some Javascript). Goal for this session is to give some familiarity to high-level non-blocking APIs for engineers who want to dig into non-blocking programming.


When dealing with databases, developers frequently run into the N+1 problem, in which they populate domain objects via queries in loops. This causes terrible performance drags. The talk shows how to solve the N+1 problem in plain PHP as well as Postgres. It concludes with a way of automating the PHP side, and includes editorializing about the origins of the N+1 problem in the developer mindset.
Presentation: external link
Dependency Inversion is an important technique of object oriented software design and one of Uncle Bob's S.O.L.I.D. principles. In this talk I'll show you what this means and how modern PHP dependency injection containers can help you massively. I will especially highlight rg\injection, a new, fetaure rich container inspired by google-guice.
Whether you're consumer or provider, getting the API right is a puzzle. This session gives the best practices for making this relationship easier all round, with clear PHP-based examples and a few war stories to go with them.
So you know the PHP language back to front, you know all the frameworks, and you've churned out countless native PHP modules in C -- but have you ever wondered how you might toy with the PHP language itself? Come along and learn a little more about the inside of your favourite programming language as I guide you through the process of adding a new keyword to the language.
Today's web applications require frequent updates, not just by adding or upgrading its features, but by maintaining and improving the software's existing code base. This tutorial teaches PHP developers how to use Jenkins, the popular continuous integration server, to monitor various aspects of software quality through continuous integration and continuous inspection.
Did you know that the newest version of PHP ships with its own development server? This talk discusses when this might be useful (and when it isn't!) and also covers a selection of the other features new in PHP.
A stellar user experience and social indicators can be the difference between the checkout and back buttons. Learn how to work with and integrate facebook's new Open Graph APIs within magento. The session will provide a walkthrough of the facebook and magento setup, along with examples of customized user experiences which make the most of Open Graph and magento.
Automated software testing is an widely-adopted standard today. Unfortunately there exist applications that are not testable by their design. In the first part of the session it is shown how the dynamic nature of PHP can be used to manipulate such dependencies. In the second part of the session an additional layer gets introduced which transforms parts of components into testable code fragments.
Most developers are developers, not DBAs, yet many smaller companies have inadequate database experience in-house. This is largely because databases like MySQL and PostgreSQL don't necessarily require a full-time DBA to administer. It's become more important for developers at smaller companies to have some basic knowledge of how to keep their database happy.


The underlying bootstrapping (i.e. "startproject") and environmental setup process in Django has remained mostly unchanged for many years. Djenesis decouples bootstrapping from Django while allowing a user to choose their template or setup an existing project. Just as important, it also sets beginners up with a smoother learning-curve and simplifies environmental setup.
Twitter and Google+ are examples of the highly active and popular social media scene today. Using Python, you can easily execute searches on both. All you need is a client library (easily found), and you can get going without a lot of effort!
Metaclasses are a commonly misunderstood and misrepresented topic in Python. This session will introduce metaclasses, explore the added functionality they provide, and look at some real world examples of metaclasses as we use them in server-side web development at Vizme.
Presentation: Inside Python Presentation [ZIP]
Ever wondered how you might experiment with your own syntax changes to the Python programming language? Learn about the internals of Python as I dissect the steps required to introduce a new keyword to the language.
Django is a high-level web development framework designed for rapid development of database-backed web sites. This tutorial is designed to introduce developers to Django. It will take attendees from a blank screen to a fully-functional web application. I'll cover all the basics you need to know to get started with Django.
Grace Murray Hopper's famous motto, "It's easier to ask forgiveness than permission", has many useful applications -- in Python, in concurrency, in networking, as well of course as in real life. However, it's not universally valid. This talk explores both useful and damaging applications of this principle.
Are you a woman wanting to break into the engineering field? Or do you know any women wanting to learn how to code, but don't know how to help them? Perhaps our nerdy ladies are a bit shy to ask for help. That's okay! I'll give you some tools to nudge you in the right direction.
An update from last year's well-received public service talk, we'll discuss the evolution of Python & answer common FAQs. There are those who worry that Python 3 is backwards-incompatible to Python 2. We address that issue, discuss what the main differences are, mention migration, the roles of 2.6/2.7 & other transition tools, and conclude with an update on what has been & yet needs to be ported.
The Traveling Salesman Problem is a classic example of an NP-Complete task that is much more difficult than it seems on the surface. There are a number of algorithms available for solving it. In this session, we will look at different options for implementing complex mathematics within Python. We will evaluate the different options in relation to the specific algorithms used.
This talk details the challenges, frustations, horror and ultimately joy, of writing an open-source e-commerce framework in Django.


Learn the essential bits of cognitive psychology to create effect visualisations that convey what you want them to convey.
Presentation: external link
The future of design is everywhere a user touches our product or service—digital or physical. Web and other digital practitioners must move beyond the screen to designing a holistic customer experience that is seamless across channels and devices. In this interactive workshop, Samantha will provide specific tools for designing for a full experience lifecycle across all channels and touchpoints.
This session will explore how storytelling techniques reflect core design approaches. From folklore to modern cinema, the way in which we tell good stories may help guide the way in which we design good user experience.


Microsoft's journey into open source has been eventful, and even unexpected. Ten years ago, few would have predicted the importance to the company of projects such Node.JS, Hadoop and even Linux.
In this talk, Facebook's Frank Frankovsky will examine key moments from the history of open hardware and share learnings from his work on the Open Compute Project — a prominent industry initiative focused on driving greater openness and collaboration in infrastructure technology — to draw out insights on how we can create and sustain open source movements in hardware.
Seamless work and play across phones, tablet and desktops is the goal of Ubuntu's design efforts. Mark will demo some of the latest inventions in UX in Ubuntu, preview new features that will land in 12.10, and outline the key areas of research and discovery as we move into a world where "personal computing" is being redefined and reinvented.
Humans display an immense capacity to act against their own best judgement. Whether it's putting off healthy lifestyle choices, writing our tests and documentation "tomorrow", or having just one more unit of something we know we shouldn't. Learn how to patch your mindware, use cognitive prosthetics, and upgrade your memory to actually get done what you want to be doing.
The 8th Annual O’Reilly Open Source Award winners will be announced.
Through its ubiquitous presence in small business, Open Source has become a key, but unrecognized, driver of the U.S. economy. John will discuss the hidden impact of Open Source and what it means to contributors and project leaders. He’ll also provide important tips on making it easy to increase exposure of projects through code contributors and distribution platforms.
In this keynote, Brian Aker, HP Fellow, will share challenges and best practices from his work with OpenStack software, including how a rich set of APIs must be developed in order to drive broad platform adoption as well as the need for formal APIs.
Open source software was one of the earliest successful examples of a sharing economy that has had huge economic impact. But as alternative energy advocate Steve Baer once noted, ecosystem services are often ignored in economic analysis: when you put your clothes in the dryer the energy you use is measured and counted, but when you hang them on the line, they disappear from the measured economy.
Applied Minds CEO, Danny Hillis will offer an introduction to The Learning Map, a Shared Learning Collaborative initiative organizing online learning material to get the right content to the right student at the right time.
The Web has transformed not only the way we approach modern day science, but a number of other facets of the research cycle: tools for analysis, mediums which now serve as “information inputs”, how we exchange ideas and even discover knowledge. Yet despite the pieces being there, changing practice is like trying to shake a castle.
An open source community depends on its capacity to attract people and the efficiency with which it can harness their energy to create great software. While a compelling mission or killer product can be helpful, effective communities must be responsive and efficient in managing the diverse needs and demands of its members.


Do you dream of spinning up ten, twenty, or a thousand virtual machines in an instant? Discover and repair bottlenecks without moving a finger? Dodge the loss of an entire storage array with no-one noticing? This is no sales pitch; during this tutorial, we'll demonstrate how to leverage truly FOSS tools to build a powerful, scalable cloud that easily competes with those proprietary solutions!
GlusterFS is a community produced, open source, distributed file system capable of scaling to several petabytes(actually, 72 brontobytes!) and handling thousands of clients. The afternoon session of the GlusterFS tutorial will focus on Gluster implementation as a big data solution, development platform and tool for systems administrators.

Sponsored Sessions

In this presentation, ActiveState CTO Jeff Hobbs and Cloud Evangelist Diane Mueller discuss the challenges, drama, and realities of deploying private Platform as a Service (PaaS) on OpenStack and CloudStack.
Watch as we show you how to rapidly build a functional hybrid mobile app starting from conception to a working application for iOS and Android devices – with time left over to discuss various deployment challenges to developing hybrid applications.
Learn how to build UI for and debug HTML5 apps for mobile devices using Rapid Interface Builder (RIB) and Web Simulator, two open-source tools recently released by Intel. This session dives deep into the feature sets of both Web app developer tools, with demos, and shows you how you can influence the future of these open-source projects.
If you can build a DevOps team from the ground up, what would it look like? How do you hire for DevOps? What tools do you use? What about culture and process? We'll share our experiences from building an operations team designed for DevOps.
Compilers don't just turn C into binary, they transform data, and the optimizer is a critical decision-maker in the process. If we understand both, we can often solve tedious data transformation, scheduling or logic problems with very little effort. This presentation will teach you the magic, and convey a wealth of experience. Attendees have been known to subsequently write compilers.
Presentation: external link
X.commerce is a new business unit in the eBay Inc. family that is revolutionizing commerce for consumers, merchants and developers. In this presentation, we will look at how our technology strategy aligns with open source principles and how open source is helping X.commerce achieve its vision, with both technical solutions and a community-driven strategy.
Presentation: external link
Logging infrastructures have traditionally been centered around building human readable logging, but as systems have grown, the volume of log data is impractical for a human to consume.
This session will explain how Apache Cassandra meets OLTP big data needs, and its relationship with big data analytics. Jonathan will explain why Cassandra is the leading big data OLTP solution and how Cassandra delivers linear scale-out capabilities with true high availability, with examples from real-world production use cases.
Applications are only as reliable as the database they use. At Stripe, we've developed a set of practical techniques for running MongoDB without downtime even in the face of catastophic machine failure. This session will cover a range of these techniques (and the tales behind their development).
Presentation: Spring in the Cloud Presentation [PDF]
Let's face it, the cloud's here to stay. Spring's always been about portability and choice, and the cloud is no different. Join Josh Long as he introduces how to use Cloud Foundry and Spring.
The HipHop Virtual Machine (hhvm) is a mostly compatible PHP implementation that Facebook is actively developing.
Have you ever needed to work on applications in two different versions of the same language at the same time? There are many ways to do this, most of which involve a lot of mechanics or are custom to a single language or both.
Learn how to use open source to build an enterprise grade log processing and searching solution that scales. We’ll cover the challenges and all the software that makes a diy solution possible: logstash, elasticsearch, rabbitmq and Kibana. We’ll cover a practical use case with examples and provide you with everything you need to get up and running.


We are bringing a previously unrepresented field, neuroscience, to K12 education with an unheard of method: we are open-sourcing everything. You'll learn how building upon open source technologies and using open licensing on our creations lets us do what no one else has -- bring neuroscience to primary education classrooms around the world!
One of the many parts of the FERPA law is the ability of students to put a restriction on the release of their academic information. While this sounds simple enough, there are many powerful (and sometimes unforeseen) consequences of choosing the Restriction. In this session, we will discuss why you should add the field to your student records, why students opt in, and what side effects can happen.
Benetech's Literacy program is revolutionizing access to educational materials for print disabled students (e.g. blind, dyslexic, quadraplegic). It is accomplishing this goal by leveraging and contributing to an end-to-end ecosystem of FLOSS technologies to make sure that as the educational content landscape rapidly evolves print-disabled students are as “plugged-in” as their peers.
Take a tour of 8 years of lessons learned building, assembling, purchasing and adapting an optimal online learning ecosystem at a forward thinking 5-12 independent school. Find out how to get rapid teacher adoption, maximize resources and influence instructional practices. We will also take a tour of how Eastside Prep's integrated systems support all levels of the school.
Our current public education system was built using industrial age thinking, and is now struggling to adapt to modern educational needs. Open Source philosophies have given us an information age of prosperity. Recent developments mean we can finally use "open source thinking" to transform our educational system into a 21st century success- but it won't look much like it does today.
Self directed, interest based learning needs validation, Mozilla's Open Badges Infrastructure opens learning accreditation to all. We'll cover the current thinking around interest based learning, and dive into the implementation details of the Mozilla Open Badges infrastructure, which provides a framework for recognizing and legitimizing self directed interest based learning.
We've done it. We've created a ton of high quality OER. But how can that material enable a personalized learning environment? How do students find the best material for their unique needs and desires? The Learning Registry coupled with the new LRMI metadata standard provide that infrastructure. Come learn how you can improve your own learning platforms, or write the next generation.
The Darwin Information Typing Architecture (DITA) is an OASIS specification that defines a set of XML doc types for authoring and organizing topic-oriented information, including maps to sequence topics and other resources into structured collections, and taxonomy-driven metadata to classify content. Attend this session to learn about DITA features supporting interop standards for K-12 education.
Presentation: external link
Forget what you think you know about school and education policy: the unevenly distributed future is here. Open source learning is no longer hypothetical. Learners are using open source values, organizing principles and tools to construct experiences and networks that inspire, support achievement, and create previously unimagined opportunity for expansion.

Business Leadership Day

As more and more big enterprises around the world adopt Open Source software for their daily operations, the level of exigence and maturity required to open source has grown over the last few years. This issue has become a great challenge for enterprise-focused open source projects like Liferay. This presentation aims to share our strategy to takle this problem by empowering our community
Presentation: Hire The Right Way Presentation [PDF]
Ever hire someone and have it “just not work out”? How long did that take to figure out? Weeks? Days? Before your morning coffee? The tech industry is currently in the middle of a competitive hiring bubble and it’s really hard to find good people. It’s even harder to retain them. So how do you find good people, and keep them?
Businesses using open source licensed software often confuse FOSS communities and their customers, and no one is happy. Understanding the differences between your community members and customers and what motivates each group will allow a business to better develop a leads pipeline and keep a happy community.
Come join me as I dispel some of the clouds of pollution which obscure the name of marketing, show how it can help your projects, reveal how--whether you realize it or not--you already do (or should) use marketing every day and how that's a very good thing indeed.
In today’s market, even a small startup has to pay attention to licensing, intellectual property, and liability. We will share what we’ve learned in the process of building a 2-person company to develop custom software for a gaming convention. Topics covered will include legal issues and considerations in designing a small program with the potential to grow into a larger product.
This session explores these concepts by first laying out the fundamentals of change and how all industry evolves through a commonly re-occuring pattern. Using this we will examine why one size never fits all in management, the explosion of change from big data and cloud computing to why new forms of organisation are emerging that differ from traditional companies.
As delivered at the 2011 FOSS4G and updated for OSCON Paul Ramsey, a venerable open source geospatial veteran will discuss the unique, evolving nature of open source business models. Paul represents OpenGeo, a open source geospatial organization who themselves are a case study in open source business models.

OpenStack Day

Building a cloud is a tricky business; sustaining one at scale is impossible without the right tools. No not panic - there are open source best practices that can manage cloud infrastructure at scale. This session talks about how to apply DevOps tools to cloud operations (CloudOps ). We'll discuss how to manage rolling deployments and upgrades for OpenStack using Opscode Chef and Dell Crowbar.
In 2010 The University of Oregon won a grant to install a $2 million cluster to support scientific cloud computing at the College of Arts and Sciences. This talk will cover the deployment of OpenStack to the 2000 core ACISS machine, from selecting a cloud computing infrastructure, to the challenges faced in deployment, to how the installation is being used to further research at the UO.
Quantum is an OpenStack project to provide network connectivity as a service between interface devices. It will enable cloud tenants to create rich networking topologies, build advanced network services and innovative network capabilities. Join Cisco's Lew Tucker to understand why Quantum's important, and what it will offer.
Ubuntu Server 12.04 LTS includes Canonical’s Metal as a Service (MaaS) provider, bringing the dynamism of cloud computing to the world of physical provisioning. MaaS makes it trivial to deploy services such as OpenStack, Hadoop, & Cloud Foundry on your servers. It will quickly commission & deploy servers, re-allocate nodes between services dynamically, and keep them up to date & in due course.

Sponsored Tutorials

Do you dream of spinning up ten, twenty, or a thousand virtual machines in an instant? Discover and repair bottlenecks without moving a finger? Dodge the loss of an entire storage array with no-one noticing? This is no sales pitch; during this tutorial, we'll demonstrate how to leverage truly FOSS tools to build a powerful, scalable cloud that easily competes with those proprietary solutions!
GlusterFS is a community produced, open source, distributed file system capable of scaling to several petabytes(actually, 72 brontobytes!) and handling thousands of clients. The afternoon session of the GlusterFS tutorial will focus on Gluster implementation as a big data solution, development platform and tool for systems administrators.


For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or scordesse@oreilly.com.

View a complete list of OSCON contacts