Sponsors

  • Microsoft
  • Nebula
  • Google
  • SugarCRM
  • Facebook
  • HP
  • Intel
  • Rackspace Hosting
  • WSO2
  • Alfresco
  • BlackBerry
  • CUBRID
  • Dell
  • eBay
  • Heroku
  • InfiniteGraph
  • JBoss
  • LeaseWeb
  • Liferay
  • Media Temple, Inc.
  • OpenShift
  • Oracle
  • Percona
  • Puppet Labs
  • Qualcomm Innovation Center, Inc.
  • Rentrak
  • Silicon Mechanics
  • SoftLayer Technologies, Inc.
  • SourceGear
  • Urban Airship
  • Vertica
  • VMware
  • (mt) Media Temple, Inc.

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the convention, contact Sharon Cordesse at scordesse@oreilly.com

Download the OSCON Sponsor/Exhibitor Prospectus

Contact Us

View a complete list of OSCON contacts

OSCON 2011 Schedule

Below are the confirmed and scheduled talks (schedule subject to change).

Customize Your Own Schedule

Create your own OSCON schedule using the personal scheduler function. Mark the keynotes, workshops, sessions, and events you want to attend by clicking on the calendar icon [calendar icon] next to each listing. Then click on "personal schedule" below and get your own customized schedule generated.

Portland 252
Add Hands On Beginning Python to your personal schedule
9:00am Hands On Beginning Python Matt Harrison (MetaSnake)
Add Advanced Python to your personal schedule
1:30pm Advanced Python Raymond Hettinger (Self-employed)
Portland 251
Add HTML5 & CSS3: The Good Enough Parts to your personal schedule
9:00am HTML5 & CSS3: The Good Enough Parts Estelle Weyl (Standardista.com)
Add HTML 5 Canvas Deep Dive  to your personal schedule
1:30pm HTML 5 Canvas Deep Dive Joshua Marinacci (Nokia), Robert Burdick (Palm)
Portland 255
Add Android Building Blocks to your personal schedule
9:00am Android Building Blocks Marko Gargenta (Twitter)
Portland 256
Add Learning Perl in a Hurry to your personal schedule
9:00am Learning Perl in a Hurry Randal L. Schwartz (FLOSS Weekly podcast), Tom Phoenix (Stonehenge Consulting Services, Inc.)
Add Moose is Perl: A Guide to the New Revolution to your personal schedule
1:30pm Moose is Perl: A Guide to the New Revolution Ricardo Signes (Pobox.com)
D136
Add Presentation Aikido to your personal schedule
9:00am Presentation Aikido Damian Conway (Thoughtstream)
Add Build a Better Team with Improv to your personal schedule
1:30pm Build a Better Team with Improv Wade Minter (TeamSnap), Andrew Berkowitz (TeamSnap)
D135
Add Top Shelf PHP to your personal schedule
9:00am Top Shelf PHP Kristopher Wallsmith (OpenSky), Jeremy Mikola (Exercise.com), Dustin Whittle (AppDynamics)
Add Testing LAMP Applications to your personal schedule
1:30pm Testing LAMP Applications Sebastian Bergmann (thePHP.cc)
E145/146
Add Learning jQuery to your personal schedule
9:00am Learning jQuery Remy Sharp (Left Logic)
Add Learning Node.js to your personal schedule
1:30pm Learning Node.js Tom Hughes-Croucher (Change.org)
D137/138
Add Learning Puppet - A Tutorial for Beginners to your personal schedule
9:00am Learning Puppet - A Tutorial for Beginners Garrett Honeycutt (Puppet Labs)
Add Getting Started with Chef to your personal schedule
1:30pm Getting Started with Chef Joshua Timberman (Opscode, Inc.), Aaron Peterson (Opscode)
E143/144
Add Inkscape: Basic Tools and Techniques to your personal schedule
9:00am Inkscape: Basic Tools and Techniques Donna Benjamin (Creative Contingencies)
Add Get Started with the Arduino - A Hands-On Introductory Workshop to your personal schedule
1:30pm Get Started with the Arduino - A Hands-On Introductory Workshop Philip Lindsay (rancidbacon.com)
D139/140
Add Intro to Rails (AKA. Rails for Zombies) to your personal schedule
9:00am Intro to Rails (AKA. Rails for Zombies) Gregg Pollack (Envy Labs), Eric Allam (Envy Labs), Tyler Hunt (Envy Labs), Carlos Souza (Envy Labs), Jason VanLue (Envy Labs), Nick Walsh (Envy Labs)
Add Rails Best Practices to your personal schedule
1:30pm Rails Best Practices Gregg Pollack (Envy Labs), Eric Allam (Envy Labs), Carlos Souza (Envy Labs), Tyler Hunt (Envy Labs), Jason VanLue (Envy Labs), Nick Walsh (Envy Labs)
7:00pm TBC
A105
Add JRuby: Pushing the Java Platform Further to your personal schedule
10:40am JRuby: Pushing the Java Platform Further Charles Nutter (Engine Yard, Inc)
Add Testing in Scala to your personal schedule
11:30am Testing in Scala Daniel Hinojosa (evolutionnext.com)
Add Seven Things You'll Love About Grails to your personal schedule
1:30pm Seven Things You'll Love About Grails Tim Berglund (GitHub)
Add Clojure: Lisp for the Real World to your personal schedule
2:20pm Clojure: Lisp for the Real World Stuart Sierra (Relevance, Inc.)
Add Coding over Configuration to your personal schedule
4:20pm Coding over Configuration Robert "r0ml" Lefkowitz (Sharewave)
B110-111
Add Building Better Clients with Spring to your personal schedule
10:40am Building Better Clients with Spring Josh Long (Pivotal)
Add Android is Client Java to your personal schedule
11:30am Android is Client Java Zigurd Mednieks (Surfaceable.com)
Add Java Puzzlers—Scraping the Bottom of the Barrel to your personal schedule
1:30pm Java Puzzlers—Scraping the Bottom of the Barrel Josh Bloch (Google), Bob Lee (Square Inc. )
Add Introducing the Eclipse Rich Client Platform 4.x to your personal schedule
2:20pm Introducing the Eclipse Rich Client Platform 4.x Wayne Beaton (The Eclipse Foundation)
Add TorqueBox: The Beauty of Ruby with the Power of Java to your personal schedule
3:30pm TorqueBox: The Beauty of Ruby with the Power of Java Toby Crawley (RedHat, Inc.)
Add The Future Java Developer to your personal schedule
4:20pm The Future Java Developer Fabiane Nardon (RBS Group), Bruno Souza (SouJava)
A106
Add Theory of Caching to your personal schedule
10:40am Theory of Caching Greg Luck (Terracotta)
Add Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone to your personal schedule
11:30am Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone Chris Richardson (Chris Richardson Consulting, Inc)
Add Functional Thinking to your personal schedule
1:30pm Functional Thinking Neal Ford (ThoughtWorks)
Add Implement Your Own JVM Compiler  to your personal schedule
2:20pm Implement Your Own JVM Compiler Ian Dees (Tektronix)
Add Java Standards Annoyances to your personal schedule
3:30pm Java Standards Annoyances Ben Evans (jClarity), Martijn Verburg (jClarity)
Add Seven Habits of Highly Effective Jenkins Users to your personal schedule
4:20pm Seven Habits of Highly Effective Jenkins Users Andrew Bayer (Cloudera, Inc.)
A107/108
Add The State of JDK and OpenJDK to your personal schedule
11:30am The State of JDK and OpenJDK Joe Darcy (Oracle)
Add Above the Clouds: Introducing Akka to your personal schedule
1:30pm Above the Clouds: Introducing Akka Martin Odersky (Typesafe)
Add Apache TomEE - Tomcat with a Kick to your personal schedule
4:20pm Apache TomEE - Tomcat with a Kick David Blevins (Apache Software Foundation)
B118-119
Add NoSQL @ Netflix to your personal schedule
10:40am NoSQL @ Netflix Siddharth Anand (LinkedIn)
Add Building Web Applications with MongoDB to your personal schedule
1:30pm Building Web Applications with MongoDB Roger Bodamer (10gen)
Add Redis: CS101 Data Structures via the Network to your personal schedule
2:20pm Redis: CS101 Data Structures via the Network Ezra Zygmuntowicz (VMware Inc)
Add Whirr: Open Source Cloud Services to your personal schedule
3:30pm Whirr: Open Source Cloud Services Tom White (Cloudera)
Add Welcome to your personal schedule
9:00am Plenary
Room: Oregon Ballroom 201/202
Welcome Laurel Ruma (O'Reilly Media, Inc.), Stephen Chin (Oracle)
Add Open Source, Java, and Oracle – Cracking the Code to your personal schedule
9:10am Plenary
Room: Oregon Ballroom 201/202
Open Source, Java, and Oracle – Cracking the Code Steven G. Harris (Oracle)
Add Twitter: From Ruby on Rails to the JVM to your personal schedule
9:30am Plenary
Room: Oregon Ballroom 201/202
Twitter: From Ruby on Rails to the JVM Raffi Krikorian (Twitter)
Add Working Hard to Keep It Simple to your personal schedule
9:45am Plenary
Room: Oregon Ballroom 201/202
Working Hard to Keep It Simple Martin Odersky (Typesafe)
Add JDK 7 in a Nutshell to your personal schedule
10:00am Plenary
Room: Oregon Ballroom 201/202
JDK 7 in a Nutshell Joe Darcy (Oracle)
C121/122
Add MySQL Replication Update to your personal schedule
10:40am MySQL Replication Update Lars Thalmann (Oracle)
Add HandlerSocket: NoSQL via MySQL to your personal schedule
11:30am HandlerSocket: NoSQL via MySQL Ryan Lowe (Percona), Haidong Ji (Percona)
Add Ephemeral Hadoop Clusters in the Cloud to your personal schedule
1:30pm Ephemeral Hadoop Clusters in the Cloud Greg Fodor (Etsy)
Add MVCC Unmasked to your personal schedule
2:20pm MVCC Unmasked Bruce Momjian (EnterpriseDB)
Add MySQL for the Large Scale Social Games to your personal schedule
3:30pm MySQL for the Large Scale Social Games Yoshinori Matsunobu (DeNA)
Add InnoDB: Performance and Scalability Features to your personal schedule
4:20pm InnoDB: Performance and Scalability Features Inaam Rana (Oracle), Calvin Sun (Twitter)
C123
Add Introduction to Hadoop to your personal schedule
10:40am Introduction to Hadoop Tom Hanlon (Cloudera)
Add Architectural Anti-patterns for Data Handling to your personal schedule
11:30am Architectural Anti-patterns for Data Handling Gleicon Moraes (7co.cc)
Add What Every Data Programmer Needs to Know About Disks to your personal schedule
1:30pm What Every Data Programmer Needs to Know About Disks Ted Dziuba (eBay Local/Milo.com)
Add Esperwhispering: get your real-time data game on to your personal schedule
2:20pm Esperwhispering: get your real-time data game on Theo Schlossnagle (OmniTI/Circonus)
Add Distributed Data Analysis with Hadoop and R to your personal schedule
3:30pm Distributed Data Analysis with Hadoop and R Jonathan Seidman (Orbitz Worldwide), Ramesh Venkataramaiah (Orbitz Worldwide)
Add QYZ: LaTeX, R and Redis for Beautiful Analytics  to your personal schedule
4:20pm QYZ: LaTeX, R and Redis for Beautiful Analytics Noah Pepper (Lucky Sort), Homer Strong (Lucky Sort)
C124
Add Playful Explorations of Public and Personal Data to your personal schedule
10:40am Playful Explorations of Public and Personal Data Andrew Turner (GeoIQ)
Add Developing and Deploying Hadoop Security to your personal schedule
11:30am Developing and Deploying Hadoop Security Owen O'Malley (HortonWorks)
Add OpenTSDB: A Scalable, Distributed Time Series Database to your personal schedule
1:30pm OpenTSDB: A Scalable, Distributed Time Series Database Benoit Sigoure (StumbleUpon, Inc.)
Add YARN - Next Generation Hadoop Map-Reduce to your personal schedule
2:20pm YARN - Next Generation Hadoop Map-Reduce Arun Murthy (Hortonworks Inc.)
Add Real-time Streaming Analysis for Hadoop and Flume to your personal schedule
3:30pm Real-time Streaming Analysis for Hadoop and Flume Aaron Kimball (Magnify Consulting)
Add Querying Riak Just Got Easier - Introducing Secondary Indices to your personal schedule
4:20pm Querying Riak Just Got Easier - Introducing Secondary Indices Rusty Klophaus (Basho Technologies)
C125/126
10:40am TBC
Add Welcome to your personal schedule
9:00am Plenary
Room: Oregon Ballroom 203/204
Welcome Sarah Novotny (NGINX), Bradford Stephens (Drawn to Scale)
Add Finding the Perfect Match to your personal schedule
9:05am Plenary
Room: Oregon Ballroom 203/204
Finding the Perfect Match Tom Quisel (OkCupid)
Add Benjamin Black to your personal schedule
9:20am Plenary
Room: Oregon Ballroom 203/204
Benjamin Black Benjamin Black (Boundary)
Add What Would You Do With Your Own Google? to your personal schedule
9:40am Plenary
Room: Oregon Ballroom 203/204
What Would You Do With Your Own Google? Steve Yegge (Google)
Add Q & A to your personal schedule
10:00am Plenary
Room: Oregon Ballroom 203/204
Q & A
Add Ignite OSCON to your personal schedule
7:00pm Event
Room: Oregon Ballroom
Ignite OSCON
10:10am Morning Break
Room: Exhibit Hall C
12:10pm Lunch
Room: Exhibit Hall C
3:00pm Afternoon Break
Room: Exhibit Hall C
12:30pm Lunch
Room: Exhibit Hall E
Add Monday Birds of a Feather Sessions to your personal schedule
9:00pm Plenary
Room: See BoF Schedule for Locations
Monday Birds of a Feather Sessions
Add Android Happy Hour to your personal schedule
5:00pm Event
Room: Gather (Double Tree Hotel bar)
Android Happy Hour
9:00am-12:30pm (3h 30m) Programming, Python
Hands On Beginning Python
Matt Harrison (MetaSnake)
Python is used all over the place and gaining in popularity. This introduction to Python assumes you know how to program, but don't know Python. You'll learn the basics, write some code and hopefully leave being able to grok Python.
1:30pm-5:00pm (3h 30m) Python
Advanced Python
Raymond Hettinger (Self-employed)
Have your Python skills have hit a plateau? Come learn from Python core developer and consultant Raymond Hettinger about how to move up to the next level. In this tutorial we focus on what you need to know to say that you’re truly mastering the language
9:00am-12:30pm (3h 30m) Javascript & HTML5
HTML5 & CSS3: The Good Enough Parts
Estelle Weyl (Standardista.com)
HTML5 and CSS3 are the new buzz words. Recruiters will soon be asking for 5 to 10 years of HTML5 experience. While we can't give that to you, we can help you stay ahead of the game! In this workshop you will learn what CSS3 and HTML5 features are implementable and how to implement them.
1:30pm-5:00pm (3h 30m) Javascript & HTML5
HTML 5 Canvas Deep Dive
Joshua Marinacci (Nokia) et al
The Canvas element is one of the most exciting features added to HTML since the marquee tag. You can draw 2D graphics, implement special effects, edit photos at the pixel level, and bring rich animation to both desktop and mobile browsers alike; no plugins required! This workshop will cover Canvas in depth, from basic shapes to advanced pixel buffer effects, and even a few experimental APIs.
9:00am-12:30pm (3h 30m) Mobile Platforms
Android Building Blocks
Marko Gargenta (Twitter)
Learn to develop an Android application from start to finish. In this hands-on tutorial, you will learn design principles and we provided code snippets to put together an Android application. By end of this tutorial, you will understand main building blocks for Android application development.
1:30pm-5:00pm (3h 30m) Mobile Platforms
Hands On Lab - Building Multi-screen Mobile Applications with Flex and Spring
Keith Sutton (Adobe Systems Inc)
This hands on tutorial will lead attendees through the entire process of building their first mobile application using Adobe's Open Source Flex SDK ( http://opensource.adobe.com/wiki/display/site/Home) and compiling it, packaging and installing it on Android and BlackBerry operating systems. Beginners are welcome!
9:00am-12:30pm (3h 30m) Perl
Learning Perl in a Hurry
Randal L. Schwartz (FLOSS Weekly podcast) et al
Randal Schwartz condenses the seminal Learning Perl ("the Llama book") into a high-energy 3-hour presentation.
1:30pm-5:00pm (3h 30m) Perl
Moose is Perl: A Guide to the New Revolution
Ricardo Signes (Pobox.com)
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.
9:00am-12:30pm (3h 30m) Tools and Techniques
Presentation Aikido
Damian Conway (Thoughtstream)
The class examines (from a geek perspective) seven basic principles of good presentation, covering preparation, content selection, delivery techniques, and handling questions...or the lack thereof. It also explores a dozen simple and practical techniques for making your slides not suck.
1:30pm-5:00pm (3h 30m) Business, Community, Education
Build a Better Team with Improv
Wade Minter (TeamSnap) et al
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 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.
9:00am-12:30pm (3h 30m) PHP
Top Shelf PHP
Kristopher Wallsmith (OpenSky) et al
An in-depth tutorial on today's cutting edge PHP libraries including Symfony2, Doctrine2, Doctrine MongoDB ODM, Twig and Assetic. Get up to speed on PHP 5.3 in a hurry!
1:30pm-5:00pm (3h 30m) PHP
Testing LAMP Applications
Sebastian Bergmann (thePHP.cc)
Packed with in-depth information and step-by-step guidance, this tutorial sets you on a path to create, maintain and extend sustainable software of high quality with PHP. You will learn how to plan, execute and automate tests for the different layers and tiers of a Web application.
9:00am-12:30pm (3h 30m) Javascript & HTML5
Learning jQuery
Remy Sharp (Left Logic)
Learn how to master the most popular and powerful JavaScript library by writing less and doing more.
1:30pm-5:00pm (3h 30m) Javascript & HTML5
Learning Node.js
Tom Hughes-Croucher (Change.org)
Learn how to build scalable Internet applications with Node.js, the event-driven server-side JavaScript framework. You'll see how Node.js solves many scaling and speed problems that weigh down other web application frameworks.
9:00am-12:30pm (3h 30m) Cloud Computing
Learning Puppet - A Tutorial for Beginners
Garrett Honeycutt (Puppet Labs)
Puppet is an enterprise systems management platform that standardizes the way you deploy and manage infrastructure in the enterprise and the cloud. By the end of the tutorial we’ll produce a simple Puppet architecture that can manage a few services and applications as well as discuss best practices and common design patterns.
1:30pm-5:00pm (3h 30m) Cloud Computing
Getting Started with Chef
Joshua Timberman (Opscode, Inc.) et al
Chef is a powerful open source system integration framework, built to bring the benefits of configuration management to the entire infrastructure. This tutorial will cover key concepts and how to get started using Chef to manage systems and integrate them together to build fully automated infrastructure.
9:00am-12:30pm (3h 30m) Tools and Techniques
Inkscape: Basic Tools and Techniques
Donna Benjamin (Creative Contingencies)
Inkscape is a cross platform, GPL, graphics editor. Its native file format, Scalable Vector Graphic (SVG) is a W3C open standard. This tutorial guides participants through a series of tasks designed to introduce Inkscape's interface and tools, and build foundation skills for creating and modifying vector graphics.
1:30pm-5:00pm (3h 30m) Open Hardware
Get Started with the Arduino - A Hands-On Introductory Workshop
Philip Lindsay (rancidbacon.com)
Always wanted to create hardware devices that can 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!
9:00am-12:30pm (3h 30m) Ruby
Intro to Rails (AKA. Rails for Zombies)
Gregg Pollack (Envy Labs) et al
This is an introductory course which teaches the basics of web application development using the Ruby language with the most recent release of the Ruby on Rails framework. If you've never tried Rails or you've only "played with it" at home, then this tutorial is for you.
1:30pm-5:00pm (3h 30m) Ruby
Rails Best Practices
Gregg Pollack (Envy Labs) et al
As the Rails community has matured several conventions have emerged, in the form of best practices. In this 5 part lab, we will walk through the most common of these practices and get some hands on experience refactoring Rails.
7:00pm-8:00pm (1h)
Session
To be confirmed
10:40am-11:20am (40m) Java: JVM
JRuby: Pushing the Java Platform Further
Charles Nutter (Engine Yard, Inc)
JRuby is just a Ruby implementation for the JVM, right? Wrong! JRuby has gone well beyond other language implementations by supporting arbitrarily-encoded strings, native library calls, reloadable applications, and much more. This talk will explore how JRuby is pushing the JVM and Java platform in new directions, and how you can take advantage of this new power.
11:30am-12:10pm (40m) Java: JVM
Testing in Scala
Daniel Hinojosa (evolutionnext.com)
The best way to learn a new language happens to be the best way to program - with a test. Learn test-driven development in Scala with this introductory presentation to some of Scala's most popular tools like SBT, Specs, ScalaTest, Borrachio, and Scala Check.
1:30pm-2:10pm (40m) Java: JVM
Seven Things You'll Love About Grails
Tim Berglund (GitHub)
In the bewildering array of Java and JVM frameworks, Grails is emerging as a standard choice in environments ranging from startups to the enterprise. It's a full-stack solution build on rock-solid components, fully relying on convention over configuration, and using the best application language the JVM has yet seen: Groovy. This is the place to be for web apps on the JVM.
2:20pm-3:00pm (40m) Java: JVM
Clojure: Lisp for the Real World
Stuart Sierra (Relevance, Inc.)
Meet Clojure, a new dynamic language for the JVM, with innovative ideas for state management and concurrency.
3:30pm-4:10pm (40m) Java: JVM
Future-proofing Collections: From Mutable to Persistent to Parallel
Martin Odersky (Typesafe)
Multicore processors are on every desk now. How are we going to make use of the extra power they provide? A promising solution is parallel programming using collections. Programing by transforming and aggregating collections is simple and powerful, and can be parallelized well. In this talk I will describe the design principles behind the Scala collections framework which implements these ideas.
4:20pm-5:00pm (40m) Java: Craftsmanship
Coding over Configuration
Robert "r0ml" Lefkowitz (Sharewave)
Many Java frameworks and servers depend on a maze of twisty XML files wherein many get lost. In a system where the source code is unavailable, such an approach allows for customization. But when you can modify the source, the configuration files are unnecessary. After all, you can make the code do what you want. And it is less verbose and more understandable.
10:40am-11:20am (40m) Java: Client
Building Better Clients with Spring
Josh Long (Pivotal)
Today's users expect their applications and data to follow them beyond the web-browser as they go mobile, watch TV, and work with their local operating system environment. In this talk, Josh Long introduces common ways to build these applications and how Spring can help simplify things both on the server side and client side.
11:30am-12:10pm (40m) Java: Client
Android is Client Java
Zigurd Mednieks (Surfaceable.com)
One theme of Programming Android is that Android is now client Java. Client Java is what every Java coder started with when they start learning Java, but then, when it gets down to working for a living, it's all server Java now. So you have millions of coders who are primed for a successful client Java, and many of them work in enterprise IT. How will Android impact the work of Java coders?
1:30pm-2:10pm (40m) Java: Trends
Java Puzzlers—Scraping the Bottom of the Barrel
Josh Bloch (Google) et al
How can they do it? How can Josh Bloch and Bob keep coming up with such great programming puzzlers year after year? They can't! In this, the eighth installment of the perennial crowd pleaser, Click and Hack the Type-It brothers are truly scraping the bottom of the barrel. But some of the dregs they come up with may still astonish, delight, and educate.
2:20pm-3:00pm (40m) Java: Client
Introducing the Eclipse Rich Client Platform 4.x
Wayne Beaton (The Eclipse Foundation)
The Eclipse Rich Client Platform (RCP) is a run-time platform with first-class development support for delivering Java technology-based applications. Far more than just a widget toolkit, RCP is rich client middleware that provides a comprehensive framework for building, deploying, and running applications that are modular, extensible, and updatable.
3:30pm-4:10pm (40m) Java: Trends
TorqueBox: The Beauty of Ruby with the Power of Java
Toby Crawley (RedHat, Inc.)
The power of enterprise Java is now available through the expressiveness of Ruby. More and more projects are suited to new technologies and frameworks such as Ruby on Rails. Using TorqueBox, a team's members can leverage their knowledge, investments, skills, and trust in Java while exploring the cutting edge of new development models.
4:20pm-5:00pm (40m) Java: Trends
The Future Java Developer
Fabiane Nardon (RBS Group) et al
New languages, work environments, technologies, and devices. Clouds roll in bringing new rules. Is open really the source of the future? If the future is now, what comes later? Java developers thread on a fine line between working standards and bleeding edge science-fiction experiments. What are the possibilities for the future?
10:40am-11:20am (40m) Java: Trends
Theory of Caching
Greg Luck (Terracotta)
This supplies the theory behind caching and introduces CAP theorem, N * Problem, SOR Coherency Problem, and the tradeoffs made by cache designers, and much more.
11:30am-12:10pm (40m) Java: JVM
Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone
Chris Richardson (Chris Richardson Consulting, Inc)
Covers the benefits and drawbacks of using NoSQL databases. Uses a use case from the book POJOS in Action to compare and contrast popular NoSQL databases – Redis, SimpleDB, MongoDB, and Cassandra.
1:30pm-2:10pm (40m) Java: Craftsmanship
Functional Thinking
Neal Ford (ThoughtWorks)
Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples.
2:20pm-3:00pm (40m)
Implement Your Own JVM Compiler
Ian Dees (Tektronix)
Writing a compiler used to be a big deal. Nowadays, we have an abundance of good tools to help us: parsing frameworks, bytecode generators, and rich runtimes. In this introductory talk, we'll see how to design and implement a rudimentary compiler in about half an hour for a simple programming language on the JVM.
3:30pm-4:10pm (40m) Java: Trends
Java Standards Annoyances
Ben Evans (jClarity) et al
Oracle is evil!! Java and open source are doomed! The standards body is a zombie! .NET is going to eat our lunch. Larry's planning on turning you into pet food for his Velociraptors. You've all heard these types of comments and many Java developers feel out of the loop and powerless to make a difference.
4:20pm-5:00pm (40m) Java: Craftsmanship
Seven Habits of Highly Effective Jenkins Users
Andrew Bayer (Cloudera, Inc.)
A look at using Jenkins for continuous integration, focusing on three different use cases at three different companies, along with a general update on the state of the project.
10:40am-11:20am (40m) Java: Client
GlassFish 3.1: Deploying Your Java EE 6 Applications
Arun Gupta (Oracle)
GlassFish 3.1 adds support for clustering, high availability, and centralized administration. It provides a RESTful interface to administration, allows SSH-based provisioning, application-scoped resources. This talk will guide through the features introduced in GlassFish 3.1 that allows you to easily deploy and manage your Java EE 6 applications in a multi-instance cluster.
11:30am-12:10pm (40m) Java: JVM
The State of JDK and OpenJDK
Joe Darcy (Oracle)
Starting in 2006, portions of the JDK code base were released under open source, starting the OpenJDK effort. Today OpenJDK 6 derived binaries are found in most Linux distributions and OpenJDK 7 is being used for the reference implementation of Java SE 7. Learn about the ongoing work in OpenJDK 6, hear about the new features in JDK 7, and get an overview of the functionality expected in JDK 8.
1:30pm-2:10pm (40m) Java: Cloud
Above the Clouds: Introducing Akka
Martin Odersky (Typesafe)
Akka is using the Actors together with STM to create a unified runtime and programming model for scaling both UP (multi-core) and OUT (grid/cloud). Akka provides location transparency by abstracting away both these tangents of scalability by turning them into an ops task. This gives the Akka runtime freedom to do adaptive automatic load-balancing, cluster rebalancing, replication & partitioning
2:20pm-3:00pm (40m) Java: Trends
The Ghost in the Virtual Machine: A Reference to References
Bob Lee (Square Inc. )
Ever wondered whether you should use a weak reference or a phantom reference? If you answered "yes" or "phantom who?," this is the talk for you. Walk in with a working knowledge of the language, and walk out an expert in references, referents, reclamation and other garbage collection necromancy.
3:30pm-4:10pm (40m) Java: Cloud
Know Your Cirrus From Your Cumulus: How Clouds Differ Beyond Cost And Speed And How That Affects You
Andrew Phillips (jclouds)
As adoption of cloud platforms grows, both in dedicated and "mixed-use" configurations, the original Cloud 1.0 vision of "run anything, anywhere" has been extended and refined to cover a number of considerations that are turning out to be essential across various cloud usage models.
4:20pm-5:00pm (40m) Java: Server
Apache TomEE - Tomcat with a Kick
David Blevins (Apache Software Foundation)
Apache TomEE, pronounced "Tommy", is a simple all-Apache stack aimed at Java EE 6 Web Profile certification where Tomcat is top dog. Built on a plain Tomcat zip file, Apache TomEE fills out the missing pieces in a way that is simple, to-the-point, and focused on the singular task of delivering the Java EE 6 Web Profile in a minimalist fashion. Get more from Tomcat without giving up anything.
10:40am-11:20am (40m) Data: NoSQL Databases
NoSQL @ Netflix
Siddharth Anand (LinkedIn)
Over the past few years, Netflix has migrated to the cloud. This talk details Netflix's transition away from relational databases and towards high-availability (NoSQL) storage systems. We rely on a combination of proprietary (e.g. SimpleDB and S3) and open-source (e.g. Cassandra and HBase) NoSQL technologies.
11:30am-12:10pm (40m) Data: NoSQL Databases
The Right Tool For The Right Job: Choosing The Best Data Storage Option
Patrick Lightbody (New Relic)
Between the NoSQL movement and new cloud offerings, it seems there are new storage options popping up every day. How do you select which one is the best for your project? The truth is that it's unlikely one option is best for all your needs. This session walks you through the various options considered by one startup and how it selected five separate storage engines - and has no regret doing so!
1:30pm-2:10pm (40m) Data: NoSQL Databases
Building Web Applications with MongoDB
Roger Bodamer (10gen)
In this workshop, one of the core MongoDB committers will present the fundamental principles of MongoDB, how to set up and interact with the database, and what to consider when building applications using a document-based data model.
2:20pm-3:00pm (40m) Data: NoSQL Databases
Redis: CS101 Data Structures via the Network
Ezra Zygmuntowicz (VMware Inc)
Redis is an entry in the new breed of nosql databases. But it takes a different approach that makes it much more interesting then most of the other key/value stores in the same category. Come learn what makes redis so useful that it seems everyone is adding it to their toolbox.
3:30pm-4:10pm (40m)
Whirr: Open Source Cloud Services
Tom White (Cloudera)
Apache Whirr is a way to run distributed systems - such as Hadoop, HBase, Cassandra, and ZooKeeper - in the cloud. Whirr provides a simple API for starting and stopping clusters for evaluation, test, or production purposes. This talk explains Whirr's architecture and shows how to use it.
4:20pm-5:00pm (40m)
Gearman: From the Worker's Perspective
Brian Aker (HP)
Many people view topics like Map/Reduce and queue systems as advanced concepts that require in-depth knowledge and time consuming software setup. Gearman is changing all that by making this barrier to entry as low as possible with an open source, distributed job queuing system.
9:00am-9:10am (10m)
Welcome
Laurel Ruma (O'Reilly Media, Inc.) et al
Opening remarks by the OSCON Java program chairs, Laurel Ruma and Stephen Chin.
9:10am-9:30am (20m) Keynote
Open Source, Java, and Oracle – Cracking the Code
Steven G. Harris (Oracle)
Mystified as to how Oracle’s decisions on open source fit together? Stop looking at your crystal ball and get insight into how Oracle views open source and the role Java plays in the developer community. Find out where Oracle sees Java heading and how you can navigate the best path as an open source Java developer and decision-maker to participate in moving Java forward.
9:30am-9:45am (15m) Keynote
Twitter: From Ruby on Rails to the JVM
Raffi Krikorian (Twitter)
Keynote by Raffi Krikorian, developer, Twitter.
9:45am-10:00am (15m) Keynote
Working Hard to Keep It Simple
Martin Odersky (Typesafe)
Today's world of parallel and distributed computing poses hard new challenges for software development. A rapidly increasing number of developers now have to deal with races, deadlocks, non-determinism, and we are ill-equipped to do so. How can we keep things simple, in spite of the complexity of the underlying runtimes?
10:00am-10:10am (10m) Keynote
JDK 7 in a Nutshell
Joe Darcy (Oracle)
Come hear a lively overview of the new features in JDK 7, including the language changes of Project Coin, the filesystem and other I/O features from NIO.2, and the new invokedyamic JVM instruction.
10:40am-11:20am (40m) Data: Relational
MySQL Replication Update
Lars Thalmann (Oracle)
We describe the new replication features in MySQL 5.5 (GA) and MySQL 5.6 (Development release).
11:30am-12:10pm (40m) Data: Relational
HandlerSocket: NoSQL via MySQL
Ryan Lowe (Percona) et al
With most modern web applications, there are requirements for both SQL access to complex data as well as simple Key-Value look-ups. This session will cover how to use the HandlerSocket Plug-In for MySQL to get exponentially faster look-ups for simple access patterns.
1:30pm-2:10pm (40m) Data: Hadoop
Ephemeral Hadoop Clusters in the Cloud
Greg Fodor (Etsy)
The data & analytics teams at Etsy build up and tear down more than a thousand independent Hadoop clusters on EC2 each month. This talk discusses the benefits of this approach, where Elastic Map Reduce serves as a "meta-cluster" in which on-demand Hadoop clusters can be created, used, and shut down quickly and easily.
2:20pm-3:00pm (40m) Data: Relational
MVCC Unmasked
Bruce Momjian (EnterpriseDB)
Multiversion Concurrency Control (MVCC) allows Postgres to offer high concurrency even during significant database read/write activity. MVCC specifically offers behavior where "readers never block writers, and writers never block readers". This talk explains how MVCC is implemented in Postgres and highlights optimizations which minimize the downsides of MVCC. This talk is for advanced users.
3:30pm-4:10pm (40m) Data: Relational
MySQL for the Large Scale Social Games
Yoshinori Matsunobu (DeNA)
We at DeNA (largest social game provider in Japan) handle over 2 billion page views per day with MySQL. We heavily use SSD and tune Linux. We run non-trivial solutions such as non-stop, automated MySQL master failover. We also use MySQL not only as traditional RDBMS but also an extremely high performance NoSQL. I'd like to introduce our MySQL solutions to make our social games scale better.
4:20pm-5:00pm (40m) Data: Relational
InnoDB: Performance and Scalability Features
Inaam Rana (Oracle) et al
There are many exciting InnoDB performance and Scalability features in MySQL 5.5 and its upcoming release. But how to best use them? What are the caveats? At this session, we will describe those performance and Scalability features in depth. We will also present some benchmark results that explore the performance of those features.
10:40am-11:20am (40m) Data: Hadoop
Introduction to Hadoop
Tom Hanlon (Cloudera)
Hadoop gives you the ability to process massive amounts of data at scale. This presentation will show you how hadoop makes use of commodity hardware to allow you to build a system that scales, that deals gracefully with failure of individual nodes, and gives you the power of Map/Reduce to process Petabytes.
11:30am-12:10pm (40m) Data: Roulette
Architectural Anti-patterns for Data Handling
Gleicon Moraes (7co.cc)
Ever had to dig into a system that misused the most basic features of a RDBMS ? Better yet - after the whole NoSQL storm had you wondered why it didn't shown before when you had to twist your schema to fit into something it was not designed for ? Check on this anti-patterns collection and feel better that you are not alone - and how you can benefit from it even not having big data around.
1:30pm-2:10pm (40m) Data: Roulette
What Every Data Programmer Needs to Know About Disks
Ted Dziuba (eBay Local/Milo.com)
What happens when you write data to disk? We'll explore everything between your programming language and the spinning platters - both optimizations and dangerous pitfalls.
2:20pm-3:00pm (40m) Data: Real-Time and Streaming
Esperwhispering: get your real-time data game on
Theo Schlossnagle (OmniTI/Circonus)
The art of dealing with real-time data is not new. In fact, much of the world's economy is propped up my making decisions on data sub milliseconds. The technology is there, we have the power. We'll take a whirlwind tour of the open-source Esper system and understand how to integrate it into your stack to enable rapid decision making on real-time data from anywhere in your architecture.
3:30pm-4:10pm (40m) Data: Analytics and Visualization
Distributed Data Analysis with Hadoop and R
Jonathan Seidman (Orbitz Worldwide) et al
An overview of the state of the art for bringing together the analytical power of the R language with the big data capabilities of Hadoop.
4:20pm-5:00pm (40m) Data: Analytics and Visualization
QYZ: LaTeX, R and Redis for Beautiful Analytics
Noah Pepper (Lucky Sort) et al
We produce gorgeous LaTeX reports while harnessing the power of R on the backend. The data is pulled from our PostgreSQL database, the analysis and visualizations are fast and distributed thanks to Redis. We'll talk about weaving together open source tools to build powerful analytics reporting engines that rival the commercial alternatives.
10:40am-11:20am (40m) Data: Roulette
Playful Explorations of Public and Personal Data
Andrew Turner (GeoIQ)
We're being surrounded by data: Open government data, streaming media, and data we're creating as we track our lives and connect with our communities. Learn how to leverage easy to use tools to combine this together for our personal and organization decision making without requiring complex processes or training.
11:30am-12:10pm (40m) Data: Hadoop
Developing and Deploying Hadoop Security
Owen O'Malley (HortonWorks)
Adding security to an existing product is never easy, but our team at Yahoo added strong authentication to Apache Hadoop by integrating it with Kerberos. This project was delivered on time and is currently deployed on all of Yahoo's 40,000 Hadoop computers. Come learn how we added security to and why it matters.
1:30pm-2:10pm (40m) Data: Real-Time and Streaming
OpenTSDB: A Scalable, Distributed Time Series Database
Benoit Sigoure (StumbleUpon, Inc.)
OpenTSDB is an open-source, distributed time series database designed to monitor large clusters of commodity machines at an unprecedented level of granularity. OpenTSDB enables operations teams to keep track in real-time of all the metrics exposed by operating systems, applications and network equipment, and makes the data easily accessible.
2:20pm-3:00pm (40m) Data: Hadoop
YARN - Next Generation Hadoop Map-Reduce
Arun Murthy (Hortonworks Inc.)
YARN is the next generation of Hadoop Map-Reduce designed to scale out much further while allowing for running applications other than pure Map-Reduce in a highly fault-tolerant manner.
3:30pm-4:10pm (40m) Data: Real-Time and Streaming
Real-time Streaming Analysis for Hadoop and Flume
Aaron Kimball (Magnify Consulting)
This talk introduces an open-source SQL-based system for continuous or ad-hoc analysis of streaming data built on top of Flume-based data collection for Hadoop. Attendees will understand how to use a new tool to extend their Hadoop data collection pipeline with real-time streaming analytics.
4:20pm-5:00pm (40m) Data: NoSQL Databases
Querying Riak Just Got Easier - Introducing Secondary Indices
Rusty Klophaus (Basho Technologies)
The Basho engineering team has been working to make Riak more queryable with the addition of built-in indexing plus a SQL-style query language. In this talk, Rusty describes the usage, benefits, limitations, and evolution of this this functionality, called Secondary Indices. He also covers the challenges and pitfalls of adding indexing to a distributed datastore.
10:40am-11:20am (40m)
Session
To be confirmed
11:30am-12:10pm (40m) Data: Products and Services
Hadoop - Enterprise Data Warehouse Data Flow Analysis and Optimization
Aurelian Dumitru (Dell, Inc)
In this session Dell will discuss the analysis of the data types suitable for transfer between Hadoop and EDW, EDW/Hadoop data lifecycle, Data governance between Hadoop and DBMS, and ETL performance tuning and best practices (i.e. Hadoop/DBMS connector, node and network designs, etc.)
1:30pm-2:10pm (40m) Data: Products and Services
DataStax’ Brisk – A More Powerful, Real-time, And Easier To Deploy Hadoop, Powered By Apache Cassandra
Jonathan Ellis (DataStax)
Brisk is an open-source Hadoop and Hive distro that utilizes Cassandra for its core services. Brisk provides integrated Hadoop MapReduce, Hive and job and task tracking, while providing an HDFS-compatible storage layer powered by Cassandra. By accelerating the time between data creation and analysis with DataStax’ Brisk, users experience greater reliability, simpler deployment and lower TCO.
9:00am-9:05am (5m)
Welcome
Sarah Novotny (NGINX) et al
Opening remarks by the OSCON Data program chairs, Sarah Novotny and Bradford Stephens.
9:05am-9:20am (15m) Keynote
Finding the Perfect Match
Tom Quisel (OkCupid)
Dive into the distributed system that powers OkCupid’s match searches. Learn how we use C++, event-based programming, and SSDs to solve problems that crop up when building a high performance, high availability distributed system.
9:20am-9:40am (20m) Keynote
Benjamin Black
Benjamin Black (Boundary)
Keynote by Benjamin Black, Co-founder, fast_ip.
9:40am-10:00am (20m) Keynote
What Would You Do With Your Own Google?
Steve Yegge (Google)
It's 2021. You have a petabyte drive on your keychain, your startup company leases bulk cloud storage by the exabyte, and you have a million cores for data crunching. You even can have your own copy of the entire world's public semantic data. What do you do with it? If you're not sure yet, I've got plenty of ideas for you.
10:00am-10:10am (10m) Keynote
Q & A
An open microphone question and answer session with the morning's keynote speakers.
7:00pm-9:00pm (2h) Event
Ignite OSCON
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’re going to find out when we conduct our third Ignite event at OSCON.
10:10am-10:40am (30m)
Break: Morning Break
12:10pm-1:30pm (1h 20m)
Break: Lunch
3:00pm-3:30pm (30m)
Break: Afternoon Break
12:30pm-1:30pm (1h)
Break: Lunch
9:00pm-11:00pm (2h) Event
Monday Birds of a Feather Sessions
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 online and onsite and provide the space and time. You provide the engaging topic.
5:00pm-7:00pm (2h) Event
Android Happy Hour
Join other Android developers for happy hour at Gather in the Double Tree Hotel on Monday evening. Meet face-to-face and share experiences with other developers working on Android. The first 100 people there get a free drink ticket.