Sessions

^ top
David  Kaneda, Creative Director at Sencha
David Kaneda - Creative Director at Sencha
Tue - 02:45-03:45 PM, Ballroom B
Frameworks

David Kaneda will cover the benefits of abstracting CSS by taking a deep look at Sass and Compass. The presentation will include general benefits of abstracted CSS as well as a live-coding demo to show, first-hand, how to get started.


Presentation
^ top
Willem Larsen, President, Language Hunters
Willem Larsen - President, Language Hunters
Tue - 04:00-05:00 PM, Ballroom A
Agile

Language Hunting is a group learning methodology developed to save endangered languages through the tools of accelerated learning. Effective group learning is synonymous with effective group communication and high performance. Willem Larsen, President of Language Hunters, will lead participants in an experiential understanding of how accelerated team learning works.


Presentation Video
^ top
Chris  Converse, Partner, designer and developer at Codify
Chris Converse - Partner, designer and developer at Codify
Wed - 02:45-03:45 PM, Ballroom E
Mobile

Responsive Web Design has gained incredible momentum over the past year, and has lead to various strategies in web authoring. In it’s simplest form, CSS3 media queries allow us to manipulate elements of our page to fit multiple screen sizes. This alone can be enough to implement your web content to a broad array of users. When we combine features of CSS, such as absolute positioning and background images, with alternate HTML markup techniques, we can begin to alter the user expereince in addition to layout. Using HTML element as ‘containers’ for imagery allows us to use alternate imagery based ont he user’s screen size, decreasing download speeds on mobile devices. In addition, re-positioning elements gives to the ability re-order the appearance of elements, instead of simply resizing them.

When we add AJAX into the mix, we can begin to load advanced user experiences into our web pages. Adding JavaScript detections to our web pages allows us to load more engaging expereinces, while maintaining the advantages of optimized user expereinces. What’s more, the experience we load can be adapted to the device viewing the web page, such as mobile web experience framework.

Want to try it for yourself? Chris will be providing a free template to ETE attendees!


Article - Responsive Web Design Article - Responsive Web Experience
^ top
Arlo Belshee, Sr. Program Manager, OData
Arlo Belshee - Sr. Program Manager, OData
Wed - 10:15-11:15 AM, Ballroom D
Agile

There are many stages of practice for each practice. These are the details that get lost in most discussions. What does it mean to practice Continuous Integration, TDD, or Pairing? If you use a CI server, are you doing CI? That depends. The Civiliation games have a “Tech Tree” that show the hundreds of technologies available. They are broken into branches (sea exploration, flight, etc), with dependencies between the branches. We will build a similar tech tree for agile practices, showing how the agile practices interleave and how they change as you develop each branch further.

^ top
Josh Long, Developer Advocate, SpringSource
Josh Long - Developer Advocate, SpringSource
Wed - 10:15-11:15 AM, Ballroom A
Frameworks

We’ve all been there. Every night, data in one bucket needs to be put in another bucket. Lots of data. This usually implies iterating through large result sets and hoping that the process doesn’t fall down before it’s finished. It’s tedious, delicate work, and if you had the time, you’d write more robust code. But, you don’t have the time. And frankly, you shouldn’t need to. There is a better way: Spring Batch. Spring Batch is an open source batch processing framework from SpringSource, the people behind the Spring framework. Spring Batch has a large user base and a good track record in production systems, but what is it all really about, and why does it work? This presentation provides a short bootstrap to get a new user started with the Batch domain, showing the key concepts and explaining the benefits of the framework. Then it goes into a deeper dive and looks at what holds it all together, with a close look at some of the most important but least understood features, including remote chunking and partitioning.


Presentation
^ top
Andre Dhondt, Executive/Agile Software Coach
Andre Dhondt - Executive/Agile Software Coach
Wed - 11:30-12:30 PM, Ballroom B
Agile

Runners find that they can go faster with a lower perceived effort when they exercise in a pack. The same thing happens when our software teams gel, and when our management teams decide to work together for mutual benefit. We are, by nature, social beings—but culture teaches us to hold back and avoid deep connection. What do we need to do to bring back the tribal mentality so we can excel as teams? Find out what companies of all sizes, like Comcast (100k employees), ING Direct (2500 employees), and SmarTesting (30 employees) are doing to successfully adopt and improve Agile development!

Paraphrasing from Margaret Mead: “never doubt that a small group of thoughtful, committed [employees] can change the [company]”. This talk is based on personal experience as well as the work of Seth Godin, Jim Collins, Christopher McDougall, Dan Mezick, Christopher Ryan, Cacilda Jethá, and Katherine Kirk.


Presentation
^ top
Debasish Ghosh, Author, DSLs In Action
Debasish Ghosh - Author, DSLs In Action
Wed - 01:30-02:30 PM, Ballroom A
Infrastructure

Event Sourcing is emerging as a powerful technique to build systems that support retroactive processing. Instead of committing to the current state of the system, events let you reconstruct your system as of any particular timeline in the past. This leads to easier traceability of your system, helps you go back in time, fix errors retroactively and rebuild the timeline without losing any historical context.

Event sourcing can be implemented using the asynchronous model of computation that helps make systems scale easily.This is because events are typically stored once but need to cater to multiple consumers concurrently. One of the main tenets of event sourcing is to ensure a separation of the command and query models (CQRS). While the command store persists the events, they also need to be propagated to multiple consumers like the query model and any other downstream systems with which we interact. Actors are a good fit to manage this asynchronous processing. This section of the talk will discuss various examples from popular libraries like Akka and Finagle to establish how actor and future based models can help scale out your event based system. The next section of the talk will discuss how functional domain models that use data structures like type-lenses form a beautiful dual to event sourced systems


Presentation
^ top
Aaron Mulder, CTO, Chariot Solutions
Aaron Mulder - CTO, Chariot Solutions
Wed - 10:15-11:15 AM, Ballroom B
Frameworks

In this talk we’ll look at the state of the art in building real-time Web applications. Based on actual projects such as a real-time monitoring console, we’ll look at Bayeux, Web Sockets, and similar approaches for pushing real-time data to the browser, data management and event-driven UI updates with Backbone.js, decoupling background tasks and calculations using Web Workers, rendering real-time charts with Smoothie, and more. We’ll look at both the latest Web standards, and fallback options for maximum portability. You’ll leave with the tools you need to build a responsive, real-time Web application.


Presentation Code
^ top
Chiu-Ki Chan, Creator, Monkey Write
Chiu-Ki Chan - Creator, Monkey Write
Wed - 01:30-02:30 PM, Ballroom E
Mobile

Unlimited bandwidth? Always connected? Yeah right! Truth is, wireless coverage is spotty, and sometimes the internet is simply not available. In this talk, I am going to discuss a few design patterns that make your app snappy when connected, fully-functional when not.

  • Caching strategies: persistent vs temporary
  • Progressive loading: use placeholders while fetching data
  • How to communicate freshness to the user in face of cached data
  • How to keep offline-generated data in sync with the server

Presentation
^ top
Doug Bellenger, VP of Products, Movitas
Doug Bellenger - VP of Products, Movitas
Wed - 04:00-05:00 PM, Ballroom E
Mobile

During this talk, Doug will walk through Movitas’ successes and failures in creating a cross platform application that integrates destination information, communication functionality (messaging and calling), and social interaction for hotel and destination travelers. He’ll walk through the some of the development they’ve done to serve content to mobile web, hybrid applications, tablets, and desktops. He’ll also touch on the tools they used, working with multiple programming languages, creating API’s for internal use, hybrid versus native apps, and adjusting the presentation for different devices to meet users expectations.


Presentation
^ top
Trotter Cashion, co-founder of Mashion
Trotter Cashion - co-founder of Mashion
Wed - 02:45-03:45 PM, Ballroom D
Infrastructure

Cloud Foundry is an open source platform as a service. Think of it as an open source Heroku that you can run inside your own firewall. In this talk, we’ll cover why it’s essential to the enterprise (and many small businesses as well), how you can use it, and most interestingly, how it’s implemented. You’ll learn a lot about PaaS and a lot about how to build a robust distributed system.


Presentation
^ top
Aaron Patterson, Rails Core Developer
Aaron Patterson - Rails Core Developer
Wed - 01:30-02:30 PM, Ballroom C
Frameworks

In this presentation, we’ll be looking at some of the innards of Rails. Column caching strategies, database interaction, object design, and view rendering will be discussed. We’ll form links from the back end to the front, looking at the meat of the system. We’ll use the information we learn along the way to mold a view of what the future for Rails will hold. Don’t worry, we won’t bite off more than we can chew!

Sausage making may also be discussed.


Presentation
^ top
Jim Weirich, Creator of the Ruby build tool, rake
Jim Weirich - Creator of the Ruby build tool, rake
Wed - 04:00-05:00 PM, Ballroom C
Agile

Connascence (noun) is defined as (1) the common birth of two or more at the same tome; production of two or more together, (2) That which is born or produced with another, or (3) the act of growing together.

In software, connascence is a rough measurement of the amount of coupling amount the components of a software system. Components that are “born” together will often need to change together over time. Excessive connascence in our software means that the system is hard to change and hard to maintain.

At least that’s the theory. How well does connascence hold up as a measurement tool in evaluating real software? In this talk, we will examine two different architectures for a common web application and evaluate each with respect to the amount of connascence and coupling in the system.


Presentation
^ top
Stacia  Viscardi, co-author, The Software Project Manager's Bridge to Agility
Stacia Viscardi - co-author, The Software Project Manager's Bridge to Agility
Tue - 01:30-02:30 PM, Ballroom A
Agile

“Culture Eats Agile Practices for Breakfast” (quote adapted from Peter Drucker)
Without the right mindset, Agile practices will stagnate, even hurt your agile transformation initiatives. Learn how to prepare for and implement sticking change in this one-hour lecture/workshop. Stacia will guide you through numerous tips and tricks resulting from real-life examples from the hard knocks of agile and management consulting.


Presentation
^ top
Tony Morris, creator, Scalaz extension to core Scala Runar Bjarnason, Sr. Software Engineer, Capital IQ
Tony Morris - creator, Scalaz extension to core Scala
Runar Bjarnason - Sr. Software Engineer, Capital IQ
Wed - 11:30-12:30 PM, Ballroom D
Languages

In this talk, we take a look at some specific Functional Programming patterns that regularly arise in everyday programming. These patterns are used to solve the same problems that DI attempts to by decoupling data types from their dependencies.

We explore the algebraic properties of these techniques and discover how they give rise to useful programming properties that we may apply in our typical work. This talk focuses on the techniques rather than any particular programming language, since none of these techniques are monopolized by a specific language. Various programming languages will be used for demonstration to emphasize this point; Haskell, Scala, Java and C# for example.

The audience should expect to walk away from this talk with a slight amount of bewilderment, a clear understanding of some FP subjects, but importantly, with the invigorated inspiration to explore these techniques further.


Presentation
^ top
Dani Diaz, Microsoft Developer Evangelist
Dani Diaz - Microsoft Developer Evangelist
Tue - 10:15-11:15 AM, Ballroom B
Mobile

We will look at the innovative Windows Phone platform and explain the philosophy behind its user experience design Metro. In this session we will show you how to take advantage of the Windows Phone platform and design principles that allow developers of all skill levels to create engaging and intuitive apps. We will cover the new features and how developers can benefit from the worldwide market opportunity. By the end of this session, you would learn how to design and architect an Windows Phone app from concept to reality.


Presentation
^ top
Joshua Suereth, Software Developer - Typesafe
Joshua Suereth - Software Developer - Typesafe
Wed - 04:00-05:00 PM, Ballroom B
Languages

A talk on general best practices in Scala, taken from real world experience and examples in the book Scala In Depth. This covers everything from what is an implicit to programming with expressions. If you’re not comfortable with the Scala, this talk will show you how to make use of this elegant language in day-to-day situations.


Presentation
^ top
Bill Pugh, inventor, Skip Lists; lead, FindBugs
Bill Pugh - inventor, Skip Lists; lead, FindBugs
Wed - 10:15-11:15 AM, Ballroom C
Languages

FindBugs is a static analysis tool that finds coding mistakes in Java programs. It is widely popular, with more than a million downloads. In a student involving hundreds of engineers at Google, the issues identified by FindBugs were evaluated as should fix or must fix issues 81% of the time. However, many projects and developers use FindBugs on an ad-hoc basis, with individual developers running FindBugs sporadically. Some projects use FindBugs as part of their continuous build system, but find themselves unsure of the return on their investment and wondering if there might be a more effective way to use FindBugs. When first applying FindBugs is a large project and seeing hundreds or thousands of issues, others simply give up on using FindBugs. I’ll briefly review FindBugs, and describe techniques for cost-effective integration of FindBugs into the software development process for medium to huge software projects, with a focus on new features available in FindBugs 2.0. Topics include how to customize FindBugs to prioritize and filter issues important to your project, how to store bug data in a cloud so that everyone working on the project shares information about when the issue was first seen and whether people think the issue is important to fix, and ways to use annotations to help FindBugs detect even more errors in your code.


Presentation
^ top
Yehuda Katz, SproutCore, Ruby on Rails & jQuery core teams
Yehuda Katz - SproutCore, Ruby on Rails & jQuery core teams
Tue - 11:30-12:30 PM, Ballroom C
Frameworks

Ember.js is a new JavaScript framework that uses data bindings to strip away common boilerplate in web applications. By making it easy to bind objects together, all the way through to your HTML templates, you can think about your application in terms of the state of your model objects. You’ll never have to worry about parts of your view remaining out of sync with updates made by other parts. Because all views reflect the current state of the same shared objects, you can manipulate those objects and let Ember update your views.


Presentation
^ top
Alex Payne, CTO, Simple Finance
Alex Payne - CTO, Simple Finance
Wed - 08:45-09:45 AM, Grand Ballroom
Keynote

You’ve seen this exchange time and again: a new programming language is announced and the first loud response is an exasperated “why do need yet another language?” We’ll start by answering this question once and for all. Then, borrowing from the experience of organizing two events featuring some of the most interesting new programming languages around, we’ll take a tour of some of the language landscape. Learn about languages and concepts that just might transform the way you work.


Presentation
^ top
Alex Hillman, Co-Founder, Indy Hall
Alex Hillman - Co-Founder, Indy Hall
Tue - 04:00-05:00 PM, Ballroom E
Management

As companies grow, the ability to undo decisions becomes more costly and more challenging. This talk is a reminder that technology decisions, unlike diamonds, aren’t forever. This talk will explore the legacy of a 40 year old company with 15 year old set of technology decisions that left them at a dead end for growth.

We’ll discuss the unique (and sometimes difficult) set of tech and strategic decisions we made which have led this company to reduce annual technology costs by over 70% and simultaneously open up multiple new channels of previously unattainable revenue.

This kind of makeover isn’t just a new haircut or a pair of designer jeans – it’s a whole new way of seeing yourself in the mirror.


Presentation
^ top
Sean  Brown, Sr. Director of Advanced Apps & Engineering at Comcast Interactive Media
Sean Brown - Sr. Director of Advanced Apps & Engineering at Comcast Interactive Media
Tue - 01:30-02:30 PM, Ballroom E
Management

I’ll talk about how we created an Advanced Applications Engineering team at Comcast, in Philadelphia to develop the XFINITY TV app for iOS and Android and how we are using that team to drive innovation and keep up with mobile app development demands for Xfinity and beyond.


Presentation
^ top
Daniel Spiewak, Author, Scala for Java Refugees series
Daniel Spiewak - Author, Scala for Java Refugees series
Tue - 01:30-02:30 PM, Ballroom C
Languages

Of all of the controversial topics in the field of (serious) software development, static typing is probably the most divisive. While the topic leads to fewer homicides than the perennial Vim vs Emacs conflagration, it still arouses passions and anger usually reserved for Gungans and fans of Visual Basic. This talk dives head-long into the controversy and anti-typing rhetoric, looking at things through the lens of a language designer and enthusiastic type theorist. We will explore the many areas in which modern static type systems have failed (often in spectacular ways) and gain a deeper understanding of how future languages can reap the benefits of static typing without being awful.


Presentation
^ top
Scott Chacon, CIO, GitHub
Scott Chacon - CIO, GitHub
Tue - 02:45-03:45 PM, Ballroom C
Agile

GitHub consists of a bunch of employees who have worked at other companies in the past and despised it. Okay, maybe they weren’t all terrible jobs, but a lot of us remain skeptical of most software development practices.

We do things differently at GitHub. We don’t have meetings, we don’t have managers, we don’t do traditional code review, and we aren’t always in the same room, much less on the same continent. And we couldn’t be happier about it. We ship code quickly, without a lot of red tape, and still maintain an incredibly high level of code quality.

It’s a great way to keep your developers happy, and we think it can work in your company, too.


Presentation
^ top
Rob Spectre, Twilio Evangelist
Rob Spectre - Twilio Evangelist
Wed - 10:15-11:15 AM, Ballroom E
Mobile

Infrastructure-as-a-service can reduce your scale problems to triviality, lower the capital expenditure of your product launch, and other great buzz phrases.

But can it help you rock the mic on karaoke night? Rob Spectre from Twilio finds out by live coding a karaoke machine from an empty project.


Presentation Code
^ top
James Ward, Principal Developer Evangelist at Heroku
James Ward - Principal Developer Evangelist at Heroku
Wed - 11:30-12:30 PM, Ballroom E
Frameworks

The way we build applications is rapidly changing. HTML5, Scala, non-blocking IO, real-time push, and the cloud are welcome advancements in the world of web apps. Play Framework makes using these technologies a pleasure. In this session you will learn how to build next generation applications with Play Framework and deploy those applications on the cloud.


Presentation
^ top
Brian McCallister, Distinguished Engineer at Ning
Brian McCallister - Distinguished Engineer at Ning
Wed - 04:00-05:00 PM, Ballroom D
Infrastructure

A fantastic, fictional, fable of a distributed system and the tooling and teams who herd it. Follow two teams learning that the design of their systems includes everything about how it is developed, tested, deployed, and managed — not just what it looks like in production.

Along the way, learn about the tools and practices that enable their eventual success — in particular Atlas, a new, open source, systems modeling and management tool developed by Ning.

This talk is a deep dive into the ideas behind Atlas, as well as the particular implementation, which embraces the fact that parts of real systems are always being built at different speeds, by different people, and run in many different places at the same time.


Presentation
^ top
Manoj Vadakkan, Agile Coach and Trainer
Manoj Vadakkan - Agile Coach and Trainer
Wed - 04:00-05:00 PM, Ballroom A
Agile

Scrum attracts many organizations because of its apparent simplicity and its potential to deliver results faster. Many do not realize the cultural changes that they need to make in order to become a hyper-productive team. This session will discuss why cultural aspects are important and how cultural changes make the mechanics of Scrum effective. During this session, we will discuss the five Scrum Values and how those values will make the Practices in Scrum effective. We will also discuss potential dangers when Scrum is practiced without these values.


Presentation
^ top
Gordon Dickens, Consultant at Chariot Solutions
Gordon Dickens - Consultant at Chariot Solutions
Tue - 11:30-12:30 PM, Ballroom D
Frameworks
Developer’s are now being tasked with writing applications for the cloud. Although that is a simple buzzword, what does it mean to me, the developer? When developing Java Enterprise applications targeted for cloud deployment, what configuration or code changes do I need to be aware of? Will Java EE 7 make it easier? Whether you are using pure JEE or the Spring Framework, can we simply deploy our enterprise applications in the cloud? This session will give an overview of why the cloud is gaining momentum, what are the key facets that one needs to understand to deploy enterprise applications in the cloud. We will look at the differences between CloudFoundry, CloudBees, Heroku and Amazon Beanstalk. Including a demonstration of configuring an existing application and deploying it to the cloud.
Presentation
^ top
Trevor Lalish-Menagh, Co-Creator, EnvJasmine
Trevor Lalish-Menagh - Co-Creator, EnvJasmine
Wed - 02:45-03:45 PM, Ballroom B
Frameworks

Martin Flower states that the definition of legacy code is code without tests. You test your server-side code, but if you are working on a site with a fair amount of non-trivial JavaScript (ajax call, extensive callbacks, etc.) you really should be testing your JavaScript as well. All the untested JavaScript code we are writing today is, in effect, legacy code, but we can address this with
JavaScript unit testing!

One of the biggest problems with testing JavaScript is the need for a browser to do it. This makes it hard to integrate your test suite into CI servers, like Jenkins and Anthill Pro. I’ll show you how to get around this with EnvJasmine to allow you to test your front-end code and get it passing within any CI server that understands how to run Maven, Ant, or Rake jobs.


Presentation
^ top
Douglas Crockford, Senior JavaScript Architect at Yahoo!
Douglas Crockford - Senior JavaScript Architect at Yahoo!
Tue - 10:15-11:15 AM, Ballroom C
Languages

Computer programs are the most complicated things that humans make. They must be perfect, which is hard for us because we are not perfect. Programming is thought to be a “head” activity, but there is a lot of “gut” involved. Indeed, it may be the gut that gives us the insight necessary for solving hard problems. But gut messes us up when it come to matters of style.

The systems in our brains that make us vulnerable to advertising and propaganda also influence our programming styles. This talk looks systematically at the development of a programming style that specifically improves the reliability of programs. The examples are given in JavaScript, a language with an uncommonly large number of bad parts, but the principles are applicable to all languages.


Presentation
^ top
Ken Rimple, co-author of Spring Roo in Action
Ken Rimple - co-author of Spring Roo in Action
Wed - 02:45-03:45 PM, Ballroom A
Frameworks

Spring Roo is a powerful productivity tool that helps Spring developers get a leg up on productivity. It can quickly configure and speed development of JPA, JMS, Email, security, full text searching, several popular web frameworks such as Spring MVC and JSF, and much more.

But what if it doesn’t do what you want it to? Maybe you’ll want to integrate it with a framework it doesn’t yet support. Maybe you want to give your developers an add-on to integrate into your own back-end systems, with a productive command set to automate building those classes. Or perhaps you’ll want to hook into the latest and greatest web or back-end infrastructure framework. All of this is possible with Roo, and you can help yourself AND the Roo community by building these extensions as Roo add-ons.

Ken Rimple, co-author of Manning’s Spring Roo in Action, will show you how to write Roo add-ons, beginning with an overview of the OSGi platform that comprises the Roo shell. He’ll demystify the various OSGi services used to configure new maven artifacts, parse and generate various file types, and transactionally manipulate and generate files in your project. He’ll do this while building a new add-on from the ground up.

Ken will also discuss how to use and deploy your add-ons, including how to use the Roobot to register your add-on for others to use.

Don’t miss this talk if you want to get the most out of Roo, and would be interested in contributing add-ons to the ecosystem.


Presentation
^ top
Brian Leroux, Phone Gap Hacker
Brian Leroux - Phone Gap Hacker
Tue - 01:30-02:30 PM, Ballroom B
Mobile

PhoneGap hacker Brian LeRoux will talk about new breed of cross platform capabilities from the W3C called Device APIs, their relationship to HTML5, web standards, WebKit and mobile development with the most popular platforms. If you are interested in mobile web dev for iOS, Android, BlackBerry and Windows Phone you’ll really enjoy this talk. You can expect live code, remote debugging and cloud compilation too.


Presentation
^ top
James Shore, Author, The Art of Agile Development
James Shore - Author, The Art of Agile Development
Wed - 02:45-03:45 PM, Ballroom C
Agile

Agile methods work beautifully for a single team. But what do you do when you have multiple, interdependent teams, all working on a single product or product suite? How can Agile scale without losing sight of its core principles? In this session, we’ll examine how to apply Lean and Agile principles to the problems of large-scale Agile. We’ll combine a pinch of theory, a dash of experience, and a heaping helping of crazy ideas to give you something to try on your large-scale projects.


Presentation Presentation (Quicktime)
^ top
Naeem Hussain, Managing Partner, Agile Trailblazers Brian Barr, Managing Partner, Agile Trailblazers
Naeem Hussain - Managing Partner, Agile Trailblazers
Brian Barr - Managing Partner, Agile Trailblazers
Tue - 02:45-03:45 PM, Ballroom E
Management

Leadership is at the heart of sustainable and continuous agile product delivery.

For instance, are your associates motivated by a shared reward system targeted at delivering outstanding customer outcomes? Leaders that create smart incentives make this happen. Has a developer been empowered to make a wholesale change to your solution delivery process? Leaders that create scorn-free environments make this happen.

There have been numerous writings about agile tools and methodologies, but very little mentioned about the critical leadership aspects behind continuous agile product delivery. In this talk, we will connect leadership characteristics to drivers that enable organizational capabilities that have resulted in 8x improvement in productivity along with 3x improvement in quality.


Presentation
^ top
Scott  Delap, Scalability Architect, Riot Games
Scott Delap - Scalability Architect, Riot Games
Tue - 02:45-03:45 PM, Ballroom A
Infrastructure

In this talk, we will cover the challenges and lessons-learned of scaling and operating the PvP.net Platform that supports millions of League of Legends global players daily.

In addition to covering software architecture and design choices in building PvP.net, we will cover the often-overlooked (in the race to market) aspects of monitoring, deployment, analytics, testing and automation.


Presentation
^ top
Adrian  Holovaty, Co-Creator, Django
Adrian Holovaty - Co-Creator, Django
Tue - 04:00-05:00 PM, Ballroom D
Frameworks

Django co-creator Adrian Holovaty shares his ideas on the future of server-side Web frameworks. Are the current batch of frameworks getting long in the tooth? Should we really still be generating HTML from scratch on each page request? Can we automate some of the new best practices, such as Pjax?

No Django knowledge is necessary to understand this talk; the thoughts apply equally to Ruby on Rails and other circa-2005 frameworks.


Presentation
^ top
Douglas Crockford, Senior JavaScript Architect at Yahoo!
Douglas Crockford - Senior JavaScript Architect at Yahoo!
Tue - 04:00-05:00 PM, Ballroom C
Infrastructure

Douglas Crockford outlines the basic principles of designing secure software, with a focus on web applications. With his usual sardonic wit, he starts at the beginning (almost literally — with the invention of language itself) and makes a strong case for designing secure software based on fundamental principles rather than specific techniques, tricks, or hacks.


Presentation
^ top
Rick Nucci, CTO, Dell Boomi
Rick Nucci - CTO, Dell Boomi
Tue - 11:30-12:30 PM, Ballroom E
Management

CIOs today have the opportunity to become cloud champions in their organizations, building innovative new IT models that drive new business opportunities. Whether your business is purchasing a single cloud application or driving a company-wide cloud strategy, it is essential to centralize, secure and manage the flow of information in and out of your firewall and to and from the cloud. In this session, Rick Nucci, general manager of Dell Boomi, will outline why every successful cloud strategy must start with an integration strategy and how this can help CIOs take the reins in their cloud strategies.

^ top
Chad Fowler, VP Engineering, LivingSocial
Chad Fowler - VP Engineering, LivingSocial
Tue - 08:45-09:45 AM, Grand Ballroom
Keynote

How do you apply engineering discipline to the thing that matters most: yourself? We’re software engineers or systems engineers or network engineers. We have learned lessons the hard way. These lessons boil down to immutable laws; some things work and some things don’t.

Successful engineers apply these hard-won lessons to their professions. We use the same techniques day in and day out to create systems to make other people’s lives better. But few of us apply the same kind of systems thinking to our own lives, careers, jobs, or organizations.

Let’s start thinking of our daily lives and work as a system, just like a system we would create or maintain in our professions. How would you approach your life differently if it were a system you were creating for a client? How do you define success? How do you measure it? How do internal and external quality differ?


Video
^ top
Chris Richardson, Senior Developer Advocate, SpringSource
Chris Richardson - Senior Developer Advocate, SpringSource
Tue - 01:30-02:30 PM, Ballroom D
Infrastructure

The database world is undergoing a major upheaval. NoSQL databases such as MongoDB and Cassandra are emerging as a compelling choice for many applications. They can simplify the persistence of complex data models and offering significantly better scalability and performance. But these databases have a very different and unfamiliar data model and APIs as well as a limited transaction model. Moreover, the relational world is fighting back with so-called NewSQL databases such as VoltDB, which by using a radically different architecture offers high scalability and performance as well as the familiar relational model and ACID transactions. Sounds great but unlike the traditional relational database you can’t use JDBC and must partition your data.

In this presentation you will learn about popular NoSQL databases – MongoDB, and Cassandra – as well at VoltDB. We will compare and contrast each database’s data model and Java API using NoSQL and NewSQL versions of a use case from the book POJOs in Action. We will learn about the benefits and drawbacks of using NoSQL and NewSQL databases.


Presentation
^ top
Nathan Marz, Lead Engineer on Twitter's Publisher Analytics team
Nathan Marz - Lead Engineer on Twitter's Publisher Analytics team
Tue - 10:15-11:15 AM, Ballroom A
Infrastructure

Storm makes it easy to write and scale complex realtime computations on a cluster of computers, doing for realtime processing what Hadoop did for batch processing. Storm guarantees that every message will be processed. And it’s fast – you can process millions of messages per second with a small cluster. Best of all, you can write Storm topologies using any programming language. Storm was open-sourced by Twitter in September of 2011 and has since been adopted by numerous companies around the world.

Storm provides a small set of simple, easy to understand primitives. These primitives can be used to solve a stunning number of realtime computation problems, from stream processing to continuous computation to distributed RPC. In this talk you’ll learn:

  • The concepts of Storm: streams, spouts, bolts, and topologies
  • Developing and testing topologies using Storm’s local mode
  • Deploying topologies on Storm clusters
  • How Storm achieves fault-tolerance and guarantees data processing
  • Computing intense functions on the fly in parallel using Distributed RPC
  • Making realtime computations idempotent using transactional topologies
  • Examples of production usage of Storm

Presentation Video
^ top
Trevor Burnham, Author, CoffeeScript: Accelerated Javascript Development
Trevor Burnham - Author, CoffeeScript: Accelerated Javascript Development
Wed - 01:30-02:30 PM, Ballroom B
Frameworks

CoffeeScript, a streamlined language that compiles into JavaScript, has gained devotees at companies ranging from 37signals to Fog Creek to AOL. Not bad for a 2-year-old open-source project.

In this talk, we’ll take a look at some of the areas where CoffeeScript really shines, allowing devs to write cleaner, more maintainable code than would otherwise be possible, both for the browser and for Node.js.


Presentation
^ top
Elika J. Etemad, CSS Working Group
Elika J. Etemad - CSS Working Group
Tue - 04:00-05:00 PM, Ballroom B
Languages
We’ll explore the evolution of CSS’s layout capabilities from CSS 1 to CSS 3 and beyond. Along the way we’ll talk about why equal-height columns were such big a problem, what the CSS Working Group is currently working on, and what challenges are presented by taking print design capabilities and translating them for the Web.
Presentation
^ top
Corey  Latislaw, Sr. Mobile Architect, Chariot Solutions
Corey Latislaw - Sr. Mobile Architect, Chariot Solutions
Tue - 11:30-12:30 PM, Ballroom B
Mobile

Android is evolving. Gingerbread and Froyo won’t last forever.

Bit rot sets in the moment you commit, but your code base can evolve by leveraging new APIs and best practices. Don’t wait until you’re left behind. Start using Fragments now so you won’t be relegated to the oldest OS versions on the market!

Corey will show you several techniques for starting a fresh project, renovating an existing Android code base, balancing use of new APIs, while remaining backward compatible, and optimizing for Android tablets. She has been using Fragments as long as they have been around in the XfinityTV app as well as her personal projects. She’d never start a new project with out them!


Presentation
^ top
Coda  Hale, Infrastructure Architect, Yammer
Coda Hale - Infrastructure Architect, Yammer
Tue - 11:30-12:30 PM, Ballroom A
Infrastructure

Humans, you may have noticed, are not exactly rational. And yet here we are, trying to get them to build software. It’s a bit of a mess. But there is some good news: by drawing on modern theories of human cognition we can begin to optimize our tools for how people think, not how computers work. I’ll talk about our experience at Yammer building human-centric tools for engineers, lay out the sociotechnical challenges facing organizations trying to build transparent architectures, and mention in passing how all of this relates to making money.


Presentation Video
^ top
Sean OMeara, Technical Evangelist for Opscode
Sean OMeara - Technical Evangelist for Opscode
Wed - 11:30-12:30 PM, Ballroom A
Infrastructure

Computer networks and the applications that run on them are growing in size and complexity at an ever faster rate. Managing their configuration by hand became intractable long ago. Various schemes have been devised by systems administrators from all over the world to ease this burden. These usually manifest themselves as a mess of duct tape scripts wrapped around complex change management policies. There is a better way.

In this presentation, I will cover the history and evolution of configuration management strategies, as well as the concepts that power modern configuration management frameworks like Opscode Chef.


Presentation
^ top
Chad Fowler, VP Engineering, LivingSocial
Chad Fowler - VP Engineering, LivingSocial
Wed - 11:30-12:30 PM, Ballroom C
Frameworks

Technologists should not identify themselves with their tools. I’m not a Rubyist. You’re not a Windows person. Operating systems, programming languages, database engines, and application frameworks are just tools we use to get things done. Identifying ourselves with our technology choices is both a career- and business limiting mistake.

This session will cover how what is ostensibly a “Rails shop” is actually far from being a Rails shop and how important that distinction is for the success of a real business. We’ve all heard the notion that Rails “doesn’t scale”. It turns out to be true. And it’s a universal truth of all technology choices. We’ll talk about how we get around the limitations of our platform of choice as well as some general strategies for opening the mind to better architectural choices by embracing technological heterogeneity.

^ top
Dr. Benjamin Pierce, Author, Types and Programming Languages
Dr. Benjamin Pierce - Author, Types and Programming Languages
Tue - 02:45-03:45 PM, Ballroom D
Languages

Robin Milner (1934-2010) was a gentle giant of computer science. Among many fundamental contributions, his insights on the role of types in the theory and practice of programming have been perhaps the farthest reaching. This talk combines a historical perspective on Milner’s early work with a look at how these ideas continue to unfold — in particular, the idea that types constrain not only structure but also behavior. Examples will include abstract and object types, types for concurrent and distributed systems (session and choreography types), and new work on type systems for privacy-preserving querying of sensitive databases.


Presentation
^ top
Joonas Lehtinen, Vaadin Core Developer
Joonas Lehtinen - Vaadin Core Developer
Wed - 01:30-02:30 PM, Ballroom D
Frameworks

Get introduced to the Vaadin framework by one of its core developers. The Vaadin provides a desktop-like programming model on the server for creating Rich Internet Applications (RIAs) in plain Java – without the need for HTML, XML, plug-ins or JavaScript.

In this session, Joonas lays out the key concepts of the server-side RIA development model and compares it to client-side RIA. To demonstrate the use of framework, an example application is developed during the session step-by-step. The presentation is concluded with pointers on how to start developing your own applications with Apache-licensed Vaadin-framework.

You’ll learn:
  • How to create a desktop like web application in Java
  • Difference between page oriented, client-side RIA and server-side RIA architectures
  • How Vaadin can be extended with Google Web Toolkit

Presentation
^ top
Anna Bloom, Code for America Fellow Jeff  Friedman, City of Philadelphia
Anna Bloom - Code for America Fellow
Jeff Friedman - City of Philadelphia
Tue - 10:15-11:15 AM, Ballroom E
Management

Online connections have inspired offline action when it comes to political campaigns. How can a city leverage the power of online organizing to inspire new city leaders and make neighborhoods better offline? What is its role? And what are some of the challenges and barriers to inspiring community leaders to work with the city? In this discussion, we will explore what happened when the City of Philadelphia launched Change by Us, an online marketplace for community projects and offer some key lessons learned in the process. We will discuss how Code For American helped in this process.


Presentation
^ top
Jeff Brown, Core Member, Grails team, Sr. Engineer, SpringSource.
Jeff Brown - Core Member, Grails team, Sr. Engineer, SpringSource.
Tue - 10:15-11:15 AM, Ballroom D
Frameworks

In this session, Grails core developer Jeff Brown will deliver an update on the latest and greats features of the Grails framework – a dynamic, web application framework based on the Groovy language and designed for Spring. Jeff will cover all the new features of Grails 2.0 including agent-based reloading, unit testing mixins, really powerful new ways to express GORM queries and more. Attendees will gain key knowledge of the latest techniques for building Grails applications on the Spring platform.This talk will be very interesting to new users, and even more so for Grails 1.x developers looking to upgrade.


Presentation