Molly Holzschlag - Developer Relations, Opera Software
Wednesday, April 27, 2011 - 08:45 to 09:45 AM Grand Ballroom
In this keynote session, Molly will compare the core principles of the Web as it was envisioned to the Web we have today. Are we moving toward or away from those original ideas, and if so, is that helping or harming the Web? This thought-provoking talk covers the influences of the W3C, browser companies and most importantly how we as an industry are truly agents of change. And look out, audience! There will be some enjoyable anecdotes from the bad old days of the Web, and the audience should be prepared to be asked about their own misdeeds along the way.
Stormy Peters - Head of Developer Engagement at Mozilla
Thursday, April 28, 2011 - 08:45 to 09:45 AM Grand Ballroom
One of the things about the open source community and web developers that continues to baffle those non-open source people is, why do you do it? People and companies work on open source software and open web applications for a number of reasons from scratching an itch to gaining a reputation to building a resume to contributing to a good cause. The interesting problem comes when money enters into the equation. Research shows that when someone works on something for free for internal rewards, those internal rewards are replaced if you start paying them. Then if you stop paying them, they will stop working on it. So when people get paid to work on open source software, does that change things? If their free web application starts making money, does that change things? How can companies work with these open processes and technologies in a productive way? Why are open technologies important to business?
Wednesday, April 27, 2011 - 10:15 to 11:15 AM Ballroom B
After about fifteen years in the “Agile” business, Ron and Chet look back over that time and discuss what to do now, in the light of what has gone before. Has Scrum been a good thing for the world, a bad thing, or both? How should we think about fitting Lean ideas or Kanban ideas into the Agile approach? What are the primary pitfalls that occur again and again when trying to implement Agile, and how can they be avoided.
Ron and Chet plan that this talk will be as close to a rant as the audience can tolerate. At this time, they are not saying whether their slides will consist primarily of pictures of cats, or not.
Wednesday, April 27, 2011 - 01:30 to 02:30 PM Ballroom C
We believe that one should never have to choose between productivity and scalability, which has been the case with traditional approaches to concurrency and distribution. The cause of that has been the wrong tools and the wrong layer of abstraction – and Akka is here to change that. Akka is using the Actors together with Software Transactional Memory (STM) to create a unified runtime and programming model for scaling both UP (utilizing multi-core processors) and OUT (utilizing the grid/cloud). Akka provides location and network transparency by abstracting away both these tangents of scalability by turning them into an operations and configuration task. This gives the Akka runtime freedom to do adaptive automatic load-balancing, cluster rebalancing, replication and partitioning. In this talk you will learn what Akka is and how it can be used to solve hard scalability problems. We will also walk you through a real-world case-study using Akka to implement a highly scalable and fault-tolerant compute grid. Akka is available at http://akka.io (under Apache 2 license).Presentation
Camille Bell - Independent Agile Coach
Thursday, April 28, 2011 - 02:45 to 03:45 PM Ballroom B
So your company or organization has been sold on the Agile flavor of the month. You are planning to start using those agile practices or perhaps already have, but something doesn’t fit. Are you doing it wrong or is something missing from your process?
In this session, Camille Bell will explore many common Agile transformation issues and what you can do about them.
Such issues will include:
- No on-site customer for XP.
- No single Product Owner in Scrum.
- The user stories are too big.
- The user stories are too vague.
- Bug count is going up or not going down.
- Customer/Stakeholders/PO never choose technical stories for next
- Customer/Stakeholders/PO won’t take the time to prioritize their backlog.
- Even though story points match prior velocity, there seems to be too
- Stand-up or Scrum meetings take forever.
- Stand-up or Scrum meetings are short, but no one talks about real problems.
- Management doesn’t value removing impediments quickly.
- Velocity seems to be slowing down.
- So many hoops to jump through that it takes forever to get anything done.
Yehuda Katz - SproutCore project team
Wednesday, April 27, 2011 - 10:15 to 11:15 AM Ballroom D
In version 3.1, Rails finally realizes the dream of fully reusable slices of functionality. Thanks to Piotr Sarnacki, one of last year’s Ruby Summer of Code students, Rails Engines have gone from a quirky cousin of Rails plugins to a full-fledged application that can be reused cleanly and reliably.
In this talk, Yehuda will describe how the Rails Admin interface leverages the new features in Rails 3.1 Engines, and how you can use Engines to build your own truly reusable functionality.
Eduardo Jezierski - VP of Engineering for InSTEDD
Thursday, April 28, 2011 - 11:30 to 12:30 PM Ballroom B
What can a remote clinic in Africa teach us about enterprise architecture? What can a Southeast Asian Ministry of Health with a critical mission, but no CTO and no budget teach us about our agile methods? More than you would think!
In this session I will share my experiences from working as an architect at Microsoft to working on health and emergency technologies in low-resource settings. Learn how we work everyday with mobile and cloud technologies, in a setting that may challenge a lot of your assumptions about the patterns that underly robust enterprise architectures and methods.Presentation
Jim Weirich - Creator of the Ruby build tool, rake
Wednesday, April 27, 2011 - 02:45 to 03:45 PM Ballroom B
And yet, testing remains hard. The tests we love to write are brittle and tend to break when we refactor. Although we talk about the tests being the specification of our code, too often the specify “how it’s implemented” rather than “the expected behaviour”.
This talk is about how to improve the way we do testing, how to move away from merely specifying how our software is implemented to capturing the true essence of how it should function. Although the code samples are Ruby-focused, many of the testing principles are applicable to other languages.
Dan Allen - Principal Software Engineer, JBoss
Wednesday, April 27, 2011 - 10:15 to 11:15 AM Ballroom A
This talk unveils the missing link in enterprise Java development: simple, portable integration tests. For many, this void has long made enterprise Java development an arduous undertaking. While development life is simple with unit tests and mocks, they only take you so far. Eventually, you need to validate how your components interact and operate in their intended environment—you need real integration tests. Yet, writing integration tests has meant assuming the burden of bootstrapping all or part of your infrastructure. That’s time lost and it places a mental barrier on testing.
Arquillian, a container-oriented testing framework layered atop TestNG and JUnit, tears down this barrier. It does so by bringing your test to the runtime rather than requiring you to manage the runtime from your test. Picking up where unit tests leave off, Arquillian enables you to test real components that rely on real enterprise services in a real runtime. What’s the secret ingredient?
This talk will show how Arquillian simplifies integration testing by providing a component model for tests, just as Java EE 5 simplified server-side programming by providing declarative services for application components. The test component model consists of container lifecycle management, test enrichment (dependency injection), container deployment and in-container test execution. Using a component model means your tests are portable and able to move between different environments, from single embedded or remote to multi-server to multi-cloud nodes.
Attend this talk to learn about the future of Java enterprise testing.Presentation
Terry Ryan - Author and evangelist for Adobe
Thursday, April 28, 2011 - 01:30 to 02:30 PM Ballroom A
The BlackBerry PlayBook is RIM’s entry into the world of tablets. It’s been architected from the ground up to be a high-performing device that can be easily adapted to the enterprise through custom applications based on the Adobe AIR runtime. This session will give you an introduction to the ins and outs of AIR development on the PlayBook, and give you the tools to get started. Topics covered will include:
- What is AIR?
- What is the PlayBook?
- What you can do with AIR on the PlayBook?
- Building your first AIR application on the PlayBook.
Wednesday, April 27, 2011 - 01:30 to 02:30 PM Ballroom D
- Capabilities and limitations of the popular mobile platforms and mobile browsers.
- Solutions to common mobile development challenges when using web standard technology.
David Kaneda - creator of jQtouch; creative director at Sencha
Wednesday, April 27, 2011 - 02:45 to 03:45 PM Ballroom C
Josh Clark - author of Tapworthy: Designing iPhone Interfaces for Delight and Usability
Wednesday, April 27, 2011 - 10:15 to 11:15 AM Ballroom C
Fingers and thumbs turn design conventions on their head. Touchscreen interfaces create ergonomic, contextual, and even emotional demands that are unfamiliar to desktop designers. Find out why our beloved desktop windows, buttons, and widgets are weak replacements for manipulating content directly, and learn practical principles for designing mobile interfaces that are both more fun and more intuitive. Along the way, discover why buttons are a hack, how to develop your gesture vocabulary, and why toys and toddlers provide eye-opening lessons in this new style of design.
Stuart Sierra - Clojure/core team member
Wednesday, April 27, 2011 - 04:00 to 05:00 PM Ballroom D
Clojure is a new dynamic programming language for the Java Virtual Machine. Clojure introduces innovative ideas around state management and concurrency, while inheriting the best ideas from the long history of Lisp-like languages. It is a language designed to solve real problems, some of which are so pervasive in current programming practice that we don’t even recognize them as problems. This talk will provide an introduction to Clojure’s syntax and key concepts, with examples of how they can make a real impact in large, complex systems.Presentation
David A. Black - author of Ruby for Rails and The Well-Grounded Rubyist
Thursday, April 28, 2011 - 10:15 to 11:15 AM Ballroom C
We’ve all heard it: “Don’t worry about that just yet” followed by the famous Hoare and/or Knuth dictum, “Premature optimization is the root of all evil.”
So why does the dictum always feel neither exactly right, nor completely wrong?
Like soap operas, many software projects are engineered to go on forever. Releases more than a few months old seem already covered in cobwebs. Given such a paradigm for the project life-cycle, when does “premature” give way to “mature”? At what level of granularity in the project and/or the code does maturity emerge—and how do you know? Do rules rooted in the concept of “maturity” even have a place?
This talk will use some of these observations and questions as a point of entry for consideration of small-scale code optimizations. We’ll look at the ways in which most of us already optimize, sometimes unconsciously, and try to fit the pieces of the maturity/optimization puzzle together in a satisfying manner.Presentation
Ryan Dahl - creator of node.js
Thursday, April 28, 2011 - 10:15 to 11:15 AM Ballroom E
Node presents a simple environment for scripting a single threaded process. The non-blocking nature of the architecture allows for many hundreds or thousands of concurrent connections to that single process. For a large number of programs one process is enough. Massive internet programs are expected to be distributed not only across the different CPUs on a machine but across the world. This talk will describe why Node is a good foundational building block for these massive scale programs and announce a new framework for building networks of Node processes.
Mark Chadwick - Chief Architect at Invite Media, Google
Wednesday, April 27, 2011 - 04:00 to 05:00 PM Ballroom B
When dealing with high-volume distributed systems, even the most mundane tasks can be daunting challenges. This talk describes some of the steps, as well as missteps, made while building such a system. It will work through the discovery of such (what such pain points? not sure what that’s referring to) pain points, as well as describe their resolutions with specific technologies or patterns.
Over the course of three years, Invite Media built a high-volume system for serving online advertisements from the ground up. Some of the more interesting challenges revolved around operating routine services at scale, such as distributing requests, logging diagnostics, and keeping track of simple transactions.
This talk will dive into some of these problems, showing the evolution of simple systems at scale, with a strong bias towards cloud-hosted applications. It will include details about the discovery and resolution of bottlenecks we experienced, as well as specific technologies and pattens discovered in the process.
It may serve as a springboard for ideas when building distributed cloud-based systems, as well as hone a sense of when components may be reaching their tipping point.Presentation
Debasish Ghosh - author of DSLs in Action
Thursday, April 28, 2011 - 02:45 to 03:45 PM Ballroom C
The biggest benefit of DSL driven development is the ability to collaborate with your domain experts as well as your fellow programmers as you flesh out your APIs. A DSL needs to speak the language of the domain. But when you design a DSL, it’s not only the linguistic aspect that you need to consider – the underlying semantic model also has to be malleable enough. It’s how this model interacts with your language syntax that shapes your DSL implementation. The expressiveness of the language and the succinctness of implementation both depend a lot on the ability to design abstractions at the proper level.
When you want to design a DSL that models the ubiquitous language of the domain, there’s always a tension between the degree of expressiveness that you offer to your users and the ease and elegance of the underlying implementation. A successful DSL is one that finds the right compromise between the two forces. In this talk I will discuss how to design abstractions at the proper granularity so that they compose beautifully when you weave them during your language evolution.Presentation
Dmitry Sklyut - Consultant at Chariot Solutions
Thursday, April 28, 2011 - 04:00 to 05:00 PM Ballroom A
Eclipse Virgo (http://www.eclipse.org/virgo/) is fully modular OSGi runtime. Virgo is based on the dmServer 2.0 code based donated by Spring Source to Eclipse foundation. Virgo is hard at work to simplify migration of existing java applications to a modular OSGi based environment.
During this session we will discuss key features of Virgo such as: regions, deployment plans and repositories. We will also see how Virgo helps building dynamic and modular enterprise applications by integrating with Eclipse Gemini (http://eclipse.org/gemini/)components.
Aaron Feng - Principal Software Engineer, Algorithmics
Thursday, April 28, 2011 - 04:00 to 05:00 PM Ballroom B
I have been practicing pair programming for more than 6 years with two different organizations and over many projects. Pair programming is undoubtedly hard work. In order to create a sustainable pace and reap the most benefits from pairing, the mechanics are crucial.
In this presentation, I’ll explain the mechanics of pair programming and how to best leverage it within your organization. Even if you are only able to pair occasionally, it will have a profound impact on your career and organization.
If you are new to pairing, this presentation can increase your chances of getting off to a good start.
If you have been pairing for a while, this presentation is aimed to improve your overall pairing experience.
Kevin Smith - author, Erlang in Practice screencasts
Wednesday, April 27, 2011 - 02:45 to 03:45 PM Ballroom D
This talk will introduce webmachine, a toolkit for building REST services in Erlang. Erlang was originally developed by Ericsson to build their telecom equipment. The past few years have seen Erlang spread into a number of areas including databases (CouchDB), messaging middleware (RabbitMQ), and networked servers. Hear why Erlang is also a great platform for building rock-solid web services.
Robert Hanson - co-author of GWT in Action
Thursday, April 28, 2011 - 02:45 to 03:45 PM Ballroom D
Google Web Toolkit Ten killer features
Mike Brocious - Lead Architect, Visibiz
Thursday, April 28, 2011 - 04:00 to 05:00 PM Ballroom C
So you’ve heard about MongoDB and it sounds really sweet (BTW, it is!). Now you’re thinking about using it in your application. We can’t tell you if it’s right for your application, but we can tell you how we’re using it at Visibiz and that might help you with your implementation.
This presentation provides a use case of MongoDB at Visibiz. It first discusses why we chose to use MongoDB as our application’s primary datastore (what were the relevant application requirements and perceived benefits). It then covers how we’re using MongoDB in the application, touching on schema design of the primary collection and listing several secondary uses for it in the architecture. We also touch on lessons learned, as well as pros and cons.Presentation
Mark Silver - Global Demand Manager Health Services, Siemens HealthCare
Wednesday, April 27, 2011 - 01:30 to 02:30 PM Ballroom E
Social media has been written about ad nauseam. Hardly a day goes by without someone somewhere talking up or down the latest social media site. And much of that focus has been on the individual and their interactions. Little has been written or said from a corporate perspective.
How do corporations leverage their internal processes, policies and structures to wring benefit from social media platforms. Mark Silver, based on more than a decade’s experience with marketing and communication, as well as having worked in Government and the private sector, brings a fresh corporate perspective to the social media paradigm. With views that are sometimes controversial, but backed by common sense and sound research, Mark will shed some light on what can be a corporate conundrum. You should walk away from the presentation with some practical strategies to build your own corporate social media team.Presentation
Jon Moore - Chief Engineer, Comcast Interactive Media
Thursday, April 28, 2011 - 01:30 to 02:30 PM Ballroom E
REST is the new “black” in web API development RESTful APIs are all the rage due to the great scalability and simplicity of the REST architecture in general. Most folks are familiar with many of the REST constraints, often paraphrased as “everything is a resource” and “use HTTP as your application protocol” (read with GET, update with PUT, add with POST, etc.). However, Roy Fielding’s thesis also mentions a less commonly seen and understood constraint: using “hypermedia as the engine of application state.” In this talk, we’ll explain what this constraint means and show how it can provide an architecture with looser coupling between clients and servers – making it possible to upgrade the server without breaking clients (or, seen another way, making clients more robust to server-side changes). We’ll show an example API that uses XHTML as the media type (rather than the usual JSON or XML suspects) and talk about how this aids with API discoverability. Finally, watch as we do some live coding during the talk to carry out multiple server side upgrades without breaking a pre-compiled client, evolving a very chatty protocol into one that makes fewer, coarser HTTP requests, again, without requiring client-side changes.
Robert Rennie - CIO, Florida State College
Wednesday, April 27, 2011 - 10:15 to 11:15 AM Ballroom E
The rapid pace of technology change, ever shorter technology life cycles and the massive demand to move consumer technologies into the enterprise are just a few of the technology and leadership challenges facing today’s CIOs.
Organizations that are successful in making the jump from one technology curve to the next realize significant business advantage and create extraordinary value for their customers and stakeholders. Florida State College at Jacksonville has excelled at making successful technology moves, reaped significant rewards from innovation and early adoption and emerged as a technology leader while providing its over 84,000 students with an exceptional educational and service experience.
In this presentation Dr. Rob Rennie will present the concepts, organizational philosophy, planning models and operational methods that have led to the college’s success. He will provide examples of technology innovation and adoption at the college including iPhone and iPad deployment, large scale cloud initiatives, and new ways of delivering traditional services while extending the value of legacy systems.
Joe Rafter - AVP, Change Mangement for Yellowbook
Wednesday, April 27, 2011 - 11:30 to 12:30 PM Ballroom E
Keep it simple.
Improve your end to end deliver by understanding your environment, identifying key change capabilities, and integrating key performance indicators into your transformation plan. This session will give you hard and soft tools with pragmatic real life examples of change management from inside one of the most challenging transformations happening right now! You will leave with a new perspective on developing your business transformation plan and driving it to execution.
Jim Stogdill - Senior Director, Architecture Innovation, Accenture
Wednesday, April 27, 2011 - 02:45 to 03:45 PM Ballroom E
The corporate enterprise is hierarchical, planned, and controlled. Projects are too-often conceived, funded, delivered and rolled out from the center to the edge. The web and open source communities on the other hand are largely about decentralization, emergence, and adoption.
What can the enterprise learn from the web and those open source communities? Can we mix our metaphors and plan for emergence? With the right architectures and platforms can we make it intentional while turning corporate innovation into a broadly participative sport?Presentation
Joseph Campbell - Senior Software Architect, Comcast Interactive Media
Thursday, April 28, 2011 - 02:45 to 03:45 PM Ballroom A
In the real world, developers are often asked to cut corners to meet deadlines. Many times the cut corners end up making the end software product difficult to operate: either less easily monitored or brittle when coping with remote dependency failures. JRugged is a set of Java libraries that makes accounting for operability, reporting/monitoring and remote system status simple and easy to incorporate. In this talk we’ll show how easily JRugged can make your code more “rugged” and production-ready.Presentation
David Chelimsky - RSpec Lead Developer
Wednesday, April 27, 2011 - 01:30 to 02:30 PM Ballroom B
The DRY Principle (Don’t Repeat Yourself) suggests that “every piece of knowledge must have a single, unambiguous, authoritative representation within a system.” A powerful guideline, but it is often heeded without a clear understanding of its underlying motivations, nor consideration for other principles that might lead the code in other directions. In this talk, we’ll explore duplication in code in a variety of forms and the risks associated with each. We’ll look at strategies for reducing duplication without sacrificing design basics like encapsulation, low coupling, and high cohesion. We’ll look at other principles that are often left behind in the name of keeping the code DRY, and how to balance them to keep your code flexible and maintainable.Presentation
Bruce Tate - author of Seven Languages in Seven Weeks
Thursday, April 28, 2011 - 11:30 to 12:30 PM Ballroom C
Every foreign language you learn makes you a little smarter, and even shapes the way you think. In the Pragmatic Programmer, Dave Thomas and Andy Hunt say that a developer should learn a new programming language every year. In the book Seven Languages in Seven Weeks, Bruce takes this challenging advice to the extreme. The book helps a developer solve a nontrivial problem in each of seven different programming languages, spanning four different programming paradigms. In this talk, Bruce will take a light-hearted look through the evolution of programming languages, paying special attention to the seven languages in his book, Ruby, Io, Prolog, Scala, Erlang, Clojure, and Haskell.
Mark Fisher - Spring Integration team lead; co-lead of Spring AMQP
Wednesday, April 27, 2011 - 11:30 to 12:30 PM Ballroom A
This session provides an overview of Spring’s support for scheduling, messaging, and enterprise integration. You will learn how these features provide a platform for message-driven architecture. You will also learn about Spring’s support for Hohpe and Woolfe’s Enterprise Integration Patterns. This includes demos of several basic patterns such as Message Channel, Message Transformer, and Message Router, as well as composite patterns such as Scatter/Gather using a Splitter and Aggregator. The examples will also cover different options for adding custom integration logic within the configuration-driven context. Those options include not only POJOs, but also Spring 3.0’s Expression Language and Groovy scripts. Finally, you will see Channel Adapters and Messaging Gateways that support JMS, Web Services, Email, and more.Presentation
Gordon Dickens - co-Author Spring Roo in Action
Thursday, April 28, 2011 - 11:30 to 12:30 PM Ballroom E
This session will focus on integrating with social media with your Spring projects. The Spring Social project allows developers to interact with Twitter, LinkedIn, Facebook & TripIt in web and mobile projects. We will discuss security concerns with OAuth 1.0 & 2.0 and how Spring templates make our job easier.
- Spring Greenhouse – reference implementation of Spring Social
- Spring Mobile – integrating Spring Social with iPhone & Android
- Security with OAuth
- Accessing Social data with REST, JSON & XML
- Examples of Spring Social Media Templates
Dave Johnson - Master of Awesome at Nitobi
Wednesday, April 27, 2011 - 11:30 to 12:30 PM Ballroom D
The goal of the PhoneGap project is to become a reference implementation of HTML5 for mobile applications, it is not there yet and needs your help!
Ola Bini - JRuby Core Team Member; creator of Ioke
Wednesday, April 27, 2011 - 11:30 to 12:30 PM Ballroom C
We are facing more and more complex problems and our current approaches aren’t as effective any more. One of the newer trends is to adopt new languages to attack these new problems. But just taking up a new language is usually not a very pragmatic solution. A middle ground approach is instead to combine new languages with your current approach. This approach is called polyglot programming, and the goal is to use the strongest features of each language and then combine them together on a platform with strong libraries.
This presentation will discuss the reasons for going polyglot and some patterns on how to make it work.Presentation
Chris Richardson - Head of Cloud Development, SpringSource
Wednesday, April 27, 2011 - 04:00 to 05:00 PM Ballroom A
Relational databases have long been considered the one true way to persist enterprise data. But today, NoSQL databases are emerging as a viable alternative for many applications. They can simplify the persistence of complex data models and offer significantly better scalability, and performance. But using NoSQL databases is very different than the ACID/SQL/JDBC/JPA world that we have become accustomed to. They have different and unfamiliar APIs and a very different and usually limited transaction model. In this presentation, we describe some popular NoSQL databases – Redis, SimpleDB, MongoDB, and Cassandra. You will learn about each database’s data model and Java API. We describe the benefits and drawbacks with using NoSQL databases. Finally, you will learn how the Spring Data project simplifies the development of Java applications that use NoSQL databases.Presentation
Davis Frank - contributor to Jasmine, BDD/JS Framework
Thursday, April 28, 2011 - 02:45 to 03:45 PM Ballroom E
Jay McGavren - Maintainer, Jemini JRuby Game Framework
Thursday, April 28, 2011 - 11:30 to 12:30 PM Ballroom A
Ruboto is Ruby for Android devices. You can access the full Android API from Ruby, giving your scripts all the power of a native application. Even better, you can build and distribute packages that will run on any Android phone, even ones without Ruboto installed.
In this talk, you’ll see how to set up a working development environment (on desktop or phone). More importantly, you’ll learn how to manipulate Android from Ruby, giving you access to widgets (buttons and text fields), canvases (paint to the screen), even sensors (compass and accelerometer). Android novices will learn everything they need to get up and running, and pros will gain a powerful new language for their toolkit.Presentation
Johanna Rothman - author of Manage It! Your Guide to Modern, Pragmatic Project Management
Wednesday, April 27, 2011 - 11:30 to 12:30 PM Ballroom B
Imagine this scenario, You’re a project manager who’s managing two projects and your boss asks you to manage a third. Or you’re a writer who’s supposed to work on two different areas of the product at the same time. Or you’re a developer or tester who’s supposed to work partly on this project, and partly on that one. Or, you’re dragged away from one project to work on another one. Or, part of the project is stuck so badly stuck that it makes no sense to continue there, but to work on another completely different part of the project. Welcome to the wonderful world of multitasking!
Multi tasking is a huge drain on projects. Multi tasking can prevent an otherwise reasonably planned and executed project from completing. But in the face of too few people and not enough time, what can you do?
In this session, we’ll experience some multi tasking, and discuss and practice techniques to deal with senior management, the project team, and ourselves.Presentation
Michael Glaesemann - Senior Data Architect, myYearbook.com
Thursday, April 28, 2011 - 01:30 to 02:30 PM Ballroom D
Millions of lines of code. Terabytes of data. Far too much to wrap our minds around. So how do we handle it?
In this talk Michael Glaesemann gives a history of his work at myYearbook.com where he started as the social network’s first full-time DBA. Starting with little experience with big data but a lot theory and a willingness to learn, application of fundamentals such as the scientific method, understanding the underlying implementation, and reductionism has kept him from being overwhelmed in a fast-paced environment. Along the way he provides examples of approaches and solutions using PostgreSQL, pgBouncer, PL/Proxy, and other technologies that have helped scale the largest social network you’ve never heard of.Presentation
Ken Rimple - co-author of Spring Roo in Action
Wednesday, April 27, 2011 - 02:45 to 03:45 PM Ballroom A
Spring Roo is a tool for enabling rapid application development on the Spring platform. In this talk, Roo in Action author Ken Rimple will present the case for Roo in an interactive demo. He’ll create an application, pulling the model from an existing database, generate a Spring MVC front-end, demonstrate Ajax support, and show how to use the add-on system to rapidly enable features such as RIA, messaging, text searching and testing with tools such as JUnit and Selenium. He will discuss the current state of Roo as well as plans for the future of the tool.Presentation
Yehuda Katz - SproutCore project team
Wednesday, April 27, 2011 - 04:00 to 05:00 PM Ballroom C
SproutCore’s been around for about 5 years, and is the core technology used in Mobile Me and NPR’s new app for the Chrome Web Store. But what’s it really all about? In this talk, Yehuda will walk you through the core concepts of SproutCore. You should walk away from the talk with an understanding of what SproutCore does for you, and an idea of where to go next to start using it in a real project.
He will also talk about how you can use SproutCore without having to use the full framework for smaller projects.
John Willis - VP of Services at DTO Solutions
Thursday, April 28, 2011 - 11:30 to 12:30 PM Ballroom D
Once, IT was limited by the time it took to provision and deploy new infrastructure. With clouds, however, we can launch — and decommission — entire virtual data centers instantly. This accelerates the cycle time of IT. It’s analogous to two other shifts in technology: agile software development methodologies, and the “devops” movement of self-scaling, self-healing architectures. We’ll see how the fates of clouds, agile coding, and devops are intertwined, and what this means for IT professionals.
In this session, John Willis (the co-host of the popular Devops Cafe and the IT Management & Cloud Podcast) will catch you up on what Devops is looking like and how it might help (or harm!) you. This session will give you a pragmatic overview of Devops and leave with a better idea of how Devoops applies to you and your organization.
Ted Neward - author of Effective Enterprise Java; co-author of Professional F#
Thursday, April 28, 2011 - 10:15 to 11:15 AM Ballroom A
Android is a new mobile development platform, based on the Java
language and tool set, designed to allow developers to get up to speed
writing mobile code on any of a number of handsets quickly. In this
presentation, we’ll go over the basic setup of the Android toolchain,
how to deploy to a device, and basic constructs in the Android world.
Attendees should be intermediate to advanced Java developers, as no
time will be spent on Java basics, just the Android parts. Attendees
are encouraged to bring laptops to the session (and your Android-based
device, if you have one) to fill out code as we go, but the limited
time frame means a focus on fast delivery of content and example code;
have your fingers warmed up (and the SDK downloaded!) before you get
Brian McCallister - Distinguished Engineer at Ning
Thursday, April 28, 2011 - 04:00 to 05:00 PM Ballroom E
The fundamental building block of Ning’s application architecture is the Content Store — a datastore abstraction which contains all of the content data for the millions of social networks that have run on Ning. This session steps through the evolution on the content store architecture, through five generations, since 2005 looking at the circumstances, requirements, decisions, and implementations at each step.Presentation
Nick Sieger - JRuby Core Team Member
Wednesday, April 27, 2011 - 01:30 to 02:30 PM Ballroom A
The Ruby programming language makes for great integration glue in enterprise applications. Since Rails is the equivalent glue for web applications, and JRuby allows us to use Rails in a Java environment, introducing Rails into an existing Java application would seem to have its benefits. However, undertaking this task without doing any significant rewriting may not be obvious. We’ll present strategies for incrementally moving portions of a Java web application to Ruby and taking advantage of the productivity of Rails 3 in a legacy Java environment. We’ll also highlight Ruby-centric tools and libraries that can be applied to take productivity to new levels once you’ve begun to harness the power of Ruby and Rails in your existing application.
Daniel Spiewak - writer of Scala for Java Refugees
Thursday, April 28, 2011 - 01:30 to 02:30 PM Ballroom C
The theory and practicum of type inference has been around for literally decades, but it remains a tricky and needlessly dry topic, even in academic circles. This talk will delve into the glorious details and subtle implications of type inference in industrial languages like C# and Scala, as well as highly mathematical languages like Haskell. We will uncover the sordid reasons beyond some of the many unnerving quirks of modern type inference schemes, as well as the the amazing power they proffer.
Love of math is not a prerequisite, though utter dread of such may result in minor hallucinations during the talk. Deep-seated hatred of static typing is welcomed! The primary focus of this talk will be on Scala, Haskell and SML, but prior knowledge of these languages is neither expected nor required.Presentation
Linda Rising - author of The Patterns Handbook; co-author of Fearless Change
Thursday, April 28, 2011 - 10:15 to 11:15 AM Ballroom B
Cognitive scientists tell us that we are more productive and happier when our behavior matches our brain’s hardwiring when what we do and why we do it matches the way we have evolved to survive over tens of thousands of years. One problematic behavior humans have is that we are hardwired to instantly decide who we trust. And we generally aren’t aware of these decisions it just happens. Linda Rising explains that this hardwired trust evaluation can get in the way of working well with others. Pairing, the daily stand up, and close communication with the customer and others outside the team go a long way to overcome our instant evaluation of others. As Linda helps you gain a better understanding of this mechanism in your behavior and what agile processes can do to help, you are more likely to build better interpersonal relationships and create successful products.Presentation
Josh Clark - author of Tapworthy: Designing iPhone Interfaces for Delight and Usability
Wednesday, April 27, 2011 - 04:00 to 05:00 PM Ballroom E
Mobile designer Josh Clark, author of “Tapworthy,” sets the stage for a mobile battle royale: native app vs mobile web. His talk steps back to take a look at the mobile environment and what your options are as a designer to help you choose the right path for you and your audience: do we implement a native app or build a web-based interface? Deciding which platform to target doesn’t hinge only on tech specs or audience reach. Every mobile OS has a different personality, design sensibility, and even government, all of which determine how well your individual app (and its audience) will thrive. Discover the cultural and practical considerations of choosing the right platform(s) for your app and audience, and of crafting a design that works for all.
Thursday, April 28, 2011 - 10:15 to 11:15 AM Ballroom D
We have been managing many thousands of Mac and Linux clients with puppet and we will present our use case in the hopes that our experience can benefit others. We will focus on what Puppet has allowed us to accomplish and will not spend much time comparing it directly to other configuration management solutions.
We will describe our internal OS X release process, in which Puppet plays a key role. Of course not everything has worked out as planned and we will also discuss the pitfalls and failed efforts we have experienced along the way, paying attention to the long term consequences of some early architectural decisions. We will describe the current state of our mac deployment and will wax poetic about some of the interesting projects we’re planning for the future.
Molly Holzschlag - Developer Relations, Opera Software
Thursday, April 28, 2011 - 04:00 to 05:00 PM Ballroom D
Did you know that HTML5 is no more? That’s right, at least according to the WHAT-WG, the group that started the entire HTML5 revolution in the first place! In this session, Molly will first explain what the heck is behind these oft-confusing messages about HTML5. Then she’ll show you how the way we use markup is changing, and how HTML and related APIs are opening up the entire ecosystem of the Web for the desktop and beyond.
Thursday, April 28, 2011 - 01:30 to 02:30 PM Ballroom B
Enterprise Edition? That sounds complex. Who has time for complex these days? We certainly don’t. That’s why in this talk, we’ll showcase how the latest developments in the Java EE platform and ecosystem have brought new meaning to the double E: “Easy” and “Extensible”.
We’ll begin by summarizing the functionality Java EE 6 gives you out of the box. Hint: intelligent defaults replace XML and disparate technologies have been connected by powerful services like CDI. We won’t pretend that one size fits all. You’ll discover that the closed feature set has been abolished with the inclusion of the CDI extension facility. You now have the choice of building new features into the programming model in addition to using what’s provided. That still leaves a lot of work. So we’ll appeal to your practical side and highlight some of the extensions Seam 3 already has prepared for you.
Despite all these features, the code isn’t going to write itself. Or can it? Throughout the talk, you’ll witness how Forge can incrementally assemble an application at your command. At the end of the talk we’ll remind you of the fact that you are doing all this with the Enterprise Edition of Java without any of the pain that would seem to imply. Now that was easy.Presentation