by Stephen Chin and Laurel Ruma
Opening remarks by the OSCON Java program chairs, Laurel Ruma and Stephen Chin.
by Steven G. Harris
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.
Keynote by Raffi Krikorian, developer, Twitter.
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?
by Joseph Darcy
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.
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.
by Greg Luck
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.
by Arun Gupta
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.
by Josh Long
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.
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?
by Joseph Darcy
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.
by Chris Richardson
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.
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.
by Tim Berglund
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.
by Neal Ford
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.
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
by Bob Lee and Joshua Bloch
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.
by Ian Dees
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.
Meet Clojure, a new dynamic language for the JVM, with innovative ideas for state management and concurrency.
by Bob Lee
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.
by Wayne Beaton
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.
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.
by Andrew Phillips
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.
by Toby Crawley
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.
by Martijn Verburg and Ben Evans
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. This session will explain why these Interesting Times represent the best opportunity in Java’s history for passionate developers to get involved and help to steer Java’s open course as the premier VM and platform for software development. If you’ve been frustrated by shortcomings in Java standards then this is the place to come and throw fruit at us! As your newly elected community representatives to Java’s executive committee our mandate is to reform and streamline the standards process and make it accessible to you, the Java developer.
by fabianenardon and Bruno Souza
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?
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.
by Andrew Bayer
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.
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.
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.