Talks
(PDF)

Presentation: "git push" Java & Play! Apps to the Cloud

Heroku is a Polyglot Cloud Application Platform that makes it easy to deploy Java & Play! apps on the cloud. Deployment is as simple as doing a "git push". This session will teach you how to deploy and scale Java & Play! apps on Heroku.

James Ward

James Ward, Heroku

James Ward (www.jamesward.com) is a Principal Developer Evangelist at Heroku. Today he focuses on teaching developers how to deploy Java and Play! apps to the cloud. James frequently presents at conferences around the world such as JavaOne, Devoxx, and many other Java get-togethers. Along with Bruce Eckel, James co-authored First Steps in Flex. He has also published numerous screencasts, blogs, and technical articles. Starting with Pascal and Assembly in the 80′s, James found his passion for writing code. Beginning in the 90′s he began doing web development with HTML, Perl/CGI, then Java. After building a Flex and Java based customer service portal in 2004 for Pillar Data Systems he became a Technical Evangelist for Flex at Adobe. You can find him tweeting as @_JamesWard, answering questions on StackOverflow.com and posting code at github.com/jamesward.

Video: Introduction

(PDF)

Presentation: 7 Things: How to make good teams great

Developing a product over years is a tough job. It is hard for the team to stay excited on a day to day basis. So how can you improve motivation and innovation of agile teams and still keep the focus on building a great product? I want to share with you how we at Atlassian used an agile approach to become one of the most successful developer tool companies in the world. This talk will cover topics like FedEx days, 20-percent time, keeping distraction away from developers, lunchtime talks, dogfooding and much more.

Sven Peters

Sven Peters, Atlassian

Sven Peters is a software geek working as an ambassador for Atlassian in Germany. He has been developing JavaEE applications for over 11 years and leading small teams using lean methodologies. Sven likes well written and readable source code and cares about the motivation of software developers.

Video: Introduction

(PDF) (PodCast)

Presentation: A JVM Does What?

Just what the heck is a JVM *supposed* to do? JVMs already provide a host of services. The 'J' part definitely slants the service selection and the 'V' part means that underneath the illusion there's a lot of really cruddy stuff. The success of these illusions has led to the real popularity of JVMs. In particular, JVMs are probably the most popular way to distribute ready-to-use GC technology to the masses, and the 2nd most popular way to distribute ready-to-use compilation technology (just behind "gcc" I'm guessing).

Just what are these illusions? The illusion that bytecodes are fast and have a reasonable cost model : (machine code generation, profiling, JIT'ing). The illusion that you can quickly change the program at any time (dynamic class loading, deoptimization, re-JIT'ing). The illusion of infinite memory (Garbage Collection). The illusion of a consistent threading and memory model (the JMM, volatiles, locks). The illusion of quick time access (i.e. Intel's "rdtsc" is mostly useless for time). The illusion that these other illusions all work on all sorts of machines from cell phones to 1000-cpu mainframes (it's kinda sorta mostly true). But these are not enough! The People cry out for more illusions! The illusion of an Infinite Stack (tail recursion), the illusion that running-code-is-data (closures), the illusion that Integers are as cheap as 'ints' (autoboxing optimizations), or that BigIntegers are as cheap as 'ints' (tagged ints), the illusion that memory supports atomic update (software transactional memory), or the illusion that with enough hard work other language implementation experts can make a JVM run utterly different languages (invokedynamic). Meanwhile, JVM engineers labor under the illusion that they can maintain this giant piggy pile of code, and maybe even expand the provided services without it collapsing under it's own weight.

Here's my take on what services could & should be provided by a JVM, what services probably belong to the next layer up (STMs, new concurrency models), and what services belong to the next layer down (fast time management, sane thread scheduling).

Cliff Click

Cliff Click, Azul Systems

With more than twenty-five years experience developing compilers, Cliff serves as Azul Systems' Chief JVM Architect. Cliff joined Azul in 2002 from Sun Microsystems where he was the architect and lead developer of the HotSpot Server Compiler, a technology that has delivered dramatic improvements in Java performance since its inception. Previously he was with Motorola where he helped deliver industry leading SpecInt2000 scores on PowerPC chips, and before that he researched compiler technology at HP Labs. Cliff has been writing optimizing compilers and JITs for over 20 years.

He is invited to speak regularly at industry and academic conferences including JavaOne, JVM, ECOOP and VEE; serves on the Program Committee of many conferences (including PLDI and OOPSLA); and has published many papers and more than a dozen patents about HotSpot technology. Cliff holds a PhD in Computer Science from Rice University.

(PDF)

Tutorial: A Practical Introduction To Kanban

Kanban is a software development methodology that implements the pull and flow elements of lean thinking. Learn how to use Kanban as a tool that can enhance other methodologies through visualisation of the workflow to highlight bottlenecks, impediments and other problems, limiting work in process to eliminate waste, and more. This talk introduces Kanban from a practitioners point of view which let you get started with Kanban and lean inspired enhancements right away, regardless of what methodology you use today. We will show the mechanics of visualisation, flow, and how to monitor the flow in order to identify bottlenecks, impediments etc, using animations of real bords created with more than 150 photographs. This method has shown to be very popular and successful when teaching the practice of Kanban to many teams. There will also be a case study of a Scrum team that adopted Kanban. This will give attendees an opportunity to learn and discuss how to apply Kanban to their own team and process.

Marcus Hammarberg

Marcus Hammarberg, Avega Group

Marcus has worked as consultant with system development since 1998. During this time he has mostly been working within development teams and almost always been in the team lead role. This has led him in to try to investigate and learn new technolgies that help team-based system development run smother and produce more qualitative software. Marcus enjoys working agile (with Scrum and Kanban) and using techniques such as BDD, Kanban, TDD and Specification by example to achive these goals.

Joakim Sundén

Joakim Sundén, Spotify

Joakim Sundén is a Scrum Master and an Agile Coach at Spotify, making music available and accessible to the world. He helps people improve through teaching, coaching and mentoring at individual, team and organizational levels, often uing Agile and Lean software development methodologies such as Scrum, XP and Kanban. He is an organizer of, and active participant in, conferences, networks and user groups in the Agile and Lean communities.

(PDF) (PodCast)

Presentation: Agile Architecture - Design For Replaceability.

The most important question to be asked when developing a new software system is "How will we replace it?" It is however a question seldom asked. Instead organization focus on reusability, which unfortunately helps create rigid and inflexible architectures. The talk shows how to design systems made up of small parts, why you should standardize on protocol and not platform and how you will end with a system that is easier to scale and maintain.

Marcus Ahnve

Marcus Ahnve, Valtech

Marcus Ahnve is a Senior Consultant at Valtech, a global IT consultancy. He is a agile coach and developer helping software development organizations. Marcus experience in agile software development dates back to 1996 and his first project which was done in Smalltalk. In 2001 he started doing XP development and has since then explored new ways of making development more effective, economical and fun.

(PDF) (PodCast)

Quickie: An Intro to Hadoop

Enterprises today collect and generate more data than ever before. Relational and data warehouse products excel at OLAP and OLTP workloads over structured data. The open-source project administered by the Apache Software Foundation known as Hadoop, is designed to solve a different problem: the fast, reliable analysis of both unstructured and complex data. As a result, many enterprises deploy Hadoop alongside their legacy IT systems, which allows them to combine old data and new data sets in powerful new ways. Technically, Hadoop consists of two key services: reliable data storage using the Hadoop Distributed File System (HDFS) and high-performance parallel data processing using a technique called MapReduce. This technology opens the door to new enterprise solutions, as you no longer have to predict how you want to search or query your data in future use cases! This technology is playing a key role in the new trend of Big Data that is taking off in a rapid speed within huge enterprises. Come see this talk to get an intro to Hadoop, what it is, and what it can do for you - and how you can get involved to influence the future!

Eva Andreasson

Eva Andreasson, Cloudera, Inc

Eva Andreasson has been involved with Java virtual machine technologies, SOA, Cloud, and other enterprise middleware solutions for the past 10 years. Joined the startup Appeal Virtual Machines in 2001, as a developer of the JRockit JVM, which later was acquired by BEA Systems. Eva has been awarded two patents on Garbage Collection heuristics and algorithms. She also pioneered Deterministic Garbage Collection which later became productized through JRockit Real Time. Eva has worked closely with Sun and Intel on many technical partnerships, as well as various integration projects of JRockit Product Group, WebLogic, and Coherence (post the Oracle acquisition in 2008). After two years as the product manager for Zing,the worlds most pauseless JVM, at Azul Systems, she has just joined Cloudera to help drive the Enterprise Cloudera platform future.

Video: Introduction

Presentation: An introduction to NFC, smartphones and you

The number of new mobile devices launched with NFC capabilities are set to explode in 2012. But what does it mean to you as a consumer, a citizen or a developer? The presentation will have an introduction to Near Field Communication technologies and some typical use cases. It will show how to get started developing NFC applications with Android. It will also show how to deploy a Java Card cardlet to a smartphone Secure Element using the Global Platform standard and a USB card reader or an online Trusted Service Manager.

Lars Westergren

Lars Westergren, Mejsla

Lars has worked as a senior consultant at Mejsla for the last four years, he currently working at Ericsson's TSM project. Apart from Java he is also a fan of open platforms, (J)Ruby, agile methods, code quality, and lifelong learning and teaching.

 

(PDF) (PodCast)

Presentation: Android: A Security Analysis

This session provides a security analysis of Android stack (a.k.a Android OS) from software, application development, programming constructs, all the way down to hardware-specific features of Android devices (mobile phones, tablets, and other consumer electronics devices.) Specific attention will be paid to Android applications and use cases where security is not a "nice to have"; rather, it's a "must-have" (such as payment, identity binding, and generic authentication.)

Hadi Nahari

Hadi Nahari, NVIDIA

Hadi Nahari is a software security professional with over 19 years of experience in software development, including extensive work in design and architecture, verification, proof-of-concept, and implementation of secure systems. Hadi has worked on large scale, high-end enterprise solutions, as well as resource-constrained embedded systems, with primary focus on security, cryptography, complex systems design, and vulnerability assessment & threat analysis.

Author of the book: "Web Commerce Security: Design & Development", published by John Wiley & Sons, Hadi is a frequent speaker in the U.S. and international security, mobile, and payment events and has led and contributed to various security projects for Netscape Communications, Sun Microsystems, United States Government, Motorola, MontaVista, eBay, PayPal, and NVIDIA among others.

Hadi is currently in charge of the security architecture of Mobile and Software Solutions at NVIDIA as Chief Security Architect.

(PDF) (PodCast)

Presentation: Application Security for Rich Internet Applications

In this session, you'll learn about the top security risks in web applications, and, with demos, how REST backends and rich JavaScript applications map to these risks. Current and upcoming countermeasures include new HTTP headers, double submit cookies, and escaping input client-side to avoid DOM-based XSS. We will look at each of these, discuss the techniques you?ll want to add to your developer toolbox.

John Wilander

John Wilander, Svenska Handelsbanken

John Wilander is a frontend software developer at Svenska Handelbanken, the second strongest bank in the world according to Bloomberg Markets. He has been researching and working in application security for ten years and recently organized the OWASP Browser Security sessions in Portugal, with participants from the security teams behind Chrome, Firefox, Internet Explorer, Flash, and PayPal. During his years in academia he was elected best computer science teacher twice and nowadays gives 5-10 professional talks per year. Java developer (and teacher) until less than a year ago. Nowadays a JavaScript and web junkie.

(PDF)

Presentation: AST Transformations

AST Transformations are how many language features are implemented, and is the magic behind frameworks like Lombok, Groovy, Mirah, IDEA Inspections, CodeNarc, Spock, and Groovy++. This session reviews these approaches including examples of how and why we'd want to do this. Come see the newest language tools, look in-depth at production deployed AST Transforms, and view libraries based on these techniques.

Hamlet D'Arcy

Hamlet D'Arcy, Canoo Engineering AG

Hamlet D'Arcy has been writing software for over a decade, and has spent considerable time coding in Java, Groovy, and C++. He's passionate about learning new languages and different ways to think about problems. Hamlet is the founder of the Basel-based Hackergarten open source coding group, and regularly participates and speaks at local and international user groups and conferences. Hamlet is a committer on the Groovy and CodeNarc projects, and is a contributor on a few other open source projects (including JConch and IntelliJ IDEA). He blogs regularly at http://hamletdarcy.blogspot.com

Tutorial: Building a web page with HTML5

This tutorial will walk you through all the different facets of HTML5 and how to use them. From new HTML elements and what you can do with them to JavaScript APIs to dratically improve the web page experience, it will show you code and practical examples on how to utilize all these new possibilities.

Robert Nyman

Robert Nyman, Mozilla

Robert is a Technical Evangelist for Mozilla and a strong believer in HTML5 and the Open Web. He has been working since 1999 with Front End development for the web, in Sweden and in New York City, and was one of the Technical Editors (the JavaScript parts) for the book Introducing HTML5 (http://introducinghtml5.com/). Robert regularly blogs at http://robertnyman.com, tweets as @robertnyman and he loves to travel and meet people.

(PDF)

Presentation: Building iOS applications in Java

Vaadin gives a server-centric programming model for building rich web applications in any JVM compatible language. The presentation shows how this development model can be extended to mobile touch devices, how server-side tooling and languages can be used to build rich applications for mobile and what are the limitations of Vaadin in respect to mobile application development. During the presentation, the programming model is introduced by developing a native looking iPhone and iPad applications for managing enterprise wide address book. This is done step by step to teach you how to use the technology to build iPhone and iPad user interfaces for your existing enterprise applications really fast. In the example, Vaadin TouchKit components are used to make the application look and feel like a native iOS application. The same programming concepts can be used to develop applications for Android, Windows Mobile, Symbian and other mobile platforms with modern web browser and if the native look is not required, they can be programmed with just the core Vaadin Framework. As a conclusion the pros and cons of the programming model of Vaadin are compared to developing mobile web applications using JavaScript with jQuery Mobile and developing native applications using the iOS and Android platform SDKs.

Johannes Häyry

Johannes Häyry, Vaadin Ltd

Johannes Häyry recently joined Vaadin as a developer and has since been immersed in the intriguing world of web application development. Before joining Vaadin he had been mostly coding native applications for mobile and other touch devices with .NET, Qt and Android SDK. The mobile web is a natural extension for his interest in mobile platforms. Johannes is passionate about developing user friendly and awesome solutions for people and he loves any well written API.

(PDF)

Tutorial: Building Next-generation Enterprise Applications in Java a.k.a. Duke's Duct Tape Adventures

Java EE 6 contains new APIs that revolutionary change the way you can build enterprise level applications with an even stronger focus on ease-of-development and further reducing the need of boilerplate code and configuration. The result is a strongly simplified programming model, while still keeping enterprise features such as transactions, security, load-balancing and fail-over. In this session we'll demonstrate how to use the APIs together to build a portable, full stack enterprise application and solve real-world problems. We'll not only focus on the APIs but we'll also show you how to set up a vanilla Maven build from scratch and do unit and integration testing going into almost all parts of the Java EE 6 specs. At the end we'll discuss the architectural consequences of this simplified programming model. Do we still need business delegates, transfer objects or DAOs? And what about separation of concerns? The session is fun and very interactive while still showing the technology in depth.

Paul Bakker

Paul Bakker, Luminis Technologies

Paul is senior software engineer at Luminis Technologies where he works on the Amdatu platform, an open source, service-oriented application platform for web applications. He has a background as trainer where he teached various Java related subjects. Paul is also a regular speaker on conferences such as JavaOne, Devoxx and JFall and author for the Dutch Java Magazine. He is also a contributor for the JBoss Forge project.

Bert Ertman

Bert Ertman, Luminis Technologies

Bert is a Fellow at Luminis in the Netherlands. Next to his customer assignments he is responsible for stimulating innovation, knowledge sharing, coaching, technology choices and presales activities. Besides his day job he is a Java User Group leader for NLJUG, the Dutch Java User Group. A frequent speaker on Enterprise Java and Software Architecture related topics at international conferences (e.g. Devoxx, JavaOne, etc) as well as an author and member of the editorial advisory board for Dutch software development magazine: Java Magazine. In 2008, Bert was honored by being awarded the coveted title of Java Champion by an international panel of Java leaders and luminaries.

(PDF) (PodCast)

Presentation: Client-side Storage: When & How

With the increasing availability of HTML5 client-side storage APIs like localStorage and IndexedDB, web developers can choose to store application information locally. But what should you be storing, how long should you store it for, and what technology should you use? In this talk, I'll review the current storage APIs and libraries and give real world examples of how to use them across websites, mobile apps, and browser extensions both to improve performance and add functionality.

Pamela Fox

Pamela Fox

Since discovering web programming as a kid (starting with Java applets, of course), Pamela Fox has loved using web technologies to make web apps and teaching other people how to use them. She went to USC for her bachelors & masters in computer science, spent five years at Google helping developers use the Maps and Wave APIs in their apps, and is now working on her own web apps using a mix of Python, JS, and HTML5.

BOF: Cloud Conversations BoF

In this Cloud Conversations BoF we will have an informal chat about what the Cloud is, whether we should use it, and what the options are. Bring your questions and your expertise for this informal chat about the Cloud.

James Ward

James Ward, Heroku

James Ward (www.jamesward.com) is a Principal Developer Evangelist at Heroku. Today he focuses on teaching developers how to deploy Java and Play! apps to the cloud. James frequently presents at conferences around the world such as JavaOne, Devoxx, and many other Java get-togethers. Along with Bruce Eckel, James co-authored First Steps in Flex. He has also published numerous screencasts, blogs, and technical articles. Starting with Pascal and Assembly in the 80′s, James found his passion for writing code. Beginning in the 90′s he began doing web development with HTML, Perl/CGI, then Java. After building a Flex and Java based customer service portal in 2004 for Pillar Data Systems he became a Technical Evangelist for Flex at Adobe. You can find him tweeting as @_JamesWard, answering questions on StackOverflow.com and posting code at github.com/jamesward.

Video: Introduction

(PDF)

Presentation: CoffeeScript: JavaScript without the Fail

JavaScript. Love it or hate it, in the web development world it's impossible to avoid it. It was designed in one week by one man at Netscape, just to keep the browser from standardising on something even worse—and it shows. Oh, it's not all bad, but the Good Parts—which actually make up a pretty neat language—are well hidden in among all the Bad Parts, which are there to make you, the JavaScript developer, suffer.

CoffeeScript is a language designed to take the Good Parts out of JavaScript and make a new, concise and beautiful language out of them. It runs anywhere JavaScript does—in fact, it compiles to fairly readable JavaScript—so you can already use it in your web applications and wherever else you've been stuck with JavaScript. In this talk, you'll learn what CoffeeScript looks like, how it relates to the JavaScript you know, and what new features it has to offer. In fact, if you already know JavaScript well, you'll probably be perfectly fluent in CoffeeScript after this—it's that easy. And trust me, your life will be so much better for it.

Bodil Stokke

Bodil Stokke, Steria

Bodil spends her days working as a Java developer at Steria, while silently plotting to overthrow the ancien régime, replacing current programming fashions with the Next Big Thing. She hopes the Next Big Thing will have lots of parentheses, but will settle for anything without checked exceptions.

She is on intimate terms with JavaScript and the web platform, having been the senior JavaScript developer on one of Scandinavia's biggest web based mapping application—kartor.eniro.se and friends—and has since taken an active interest in CoffeeScript and Node.JS as worthy challengers to the Ruby on Rails hegemony.

(PDF) (PodCast)

Presentation: Comparing JVM Web Frameworks

One question developers often ask is "What web framework should I use to build my application?" High-traffic sites (e.g. eBay, LinkedIn, Twitter, Overstock) have proven that the JVM is a great platform for web scaling. This session takes a look at the top web frameworks for the JVM and discusses various methodologies for choosing one. It describes two different techniques (a matrix and performance testing) and pros and cons of the top frameworks from each.

Framework included: Grails, GWT, JSF 2, Lift, Play, Ruby on Rails, Spring MVC, Stripes, Struts 2, Tapestry 5, Vaadin, Wicket

Matt Raible

Matt Raible, Raible Designs

Matt Raible has been building web applications for most of his adult life. He started tinkering with the web before Netscape 1.0 was even released. For over 14 years, Matt has helped companies adopt open source technologies (Spring, Hibernate, Apache, Struts, Tapestry, Grails) and use them effectively. Matt has been a speaker at many conferences worldwide, including Devoxx, No Fluff Just Stuff, JavaZone, ApacheCon, and a host of others. Matt is an author (Spring Live and Pro JSP), and an active "kick-ass technology" evangelist on http://raibledesigns.com. He is the founder of AppFuse, a project which allows you to get started quickly with Java frameworks, as well as a committer on the Apache Roller and Apache Struts projects. Matt has had quite a ride in the past few years, serving as the Lead UI Architect for LinkedIn, the UI Architect for Evite.com and the Chief Architect of Web Development at Time Warner Cable. He recently enjoyed an awesome ski season in Utah while consulting at Overstock.com.

Video: Introduction

Tutorial: Continuous Delivery

Getting software released to users is often a painful, risky, and time-consuming process. This workshop sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and operations, delivery teams can get changes released in a matter of hours, sometimes even minutes, no matter what the size of a project or the complexity of its code base. In this workshop we take the unique approach of moving from release back through testing to development practices, analyzing at each stage how to improve collaboration and increase feedback so as to make the delivery process as fast and efficient as possible. At the heart of the workshop is a pattern called the deployment pipeline, which involves the creation of a living system that models your organization?s value stream for delivering software. We spend the first half of the workshop introducing this pattern, and discussing how to incrementally automate the build, test and deployment process, culminating in continuous deployment. In the second half of the workshop, we introduce agile infrastructure, including the use of Puppet to automate the management of testing and production environments. We?ll discuss automating data management, including migrations. Development practices that enable incremental development and delivery will be covered at length, including a discussion of why branching is inimical to continuous delivery, and how practices such as branch by abstraction and componentization provide superior alternatives that enable large and distributed teams to deliver incrementally.

Neal Ford

Neal Ford, ThoughtWorks, Inc

Neal Ford is Software Architect and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations, and author and/or editor of 6 books spanning a variety of technologies, including the most recent The Productive Programmer. He focuses on designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 250 developer conferences worldwide, delivering more than 1000 talks. Check out his web site at nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.

(PDF)

Keynote: Cool Code

In most disciplines built on skill and knowledge, from art to architecture, from creative writing to structural engineering, there is a strong emphasis on studying existing work. Exemplary pieces from past and present are examined and discussed in order to provoke thinking and learn techniques for the present and the future. Although programming is a discipline with a very large canon of existing work to draw from, the only code most programmers read is the code they maintain. They rarely look outside the code directly affecting their work. This talk examines some examples of code that are interesting because of historical significance, profound concepts, impressive technique, exemplary style or just sheer geekiness.

Kevlin Henney

Kevlin Henney, Curbralan

Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He helps teams adopt techniques and improve their software development through training, mentoring and reviewing. He has been a columnist for various magazines and web sites. Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know site and book.

Tutorial: CQRS & Event Sourcing, a crash course

In this tutorial we will look at Command and Query Responsibility, Segregation and how it can be applied with Event Sourcing. Subjects included will be what the patterns are, what problems they can solve, and how to apply the patterns. Attendees need bring nothing but an open mind and some experience in "enterprise" development.

Greg Young

Greg Young

Greg Young is an independent consultant who lives in two suitcases (literally). When not travelling around working for clients throughout the world you can often find him on the domain driven design list, blogging at codebetter.com, or floating upside down in a kayak through rapids.

 

Presentation: Dart Language and Modern Web Apps

Modern Web apps are rich, snappy, and work offline and mobile, too. In this talk, we'll look at the frameworks and HTML5 features that make these possible and introduce Dart, a new language for structured Web programming. In particular, we'll take a look at the motivation for Dart, language syntax and features, the Dart Editor, using the Dart JS compiler, and improvements to the DOM. We'll take a look at several sample apps built with Dart and see how easy it is to use Dart with HTML5+CSS to create rich client applications.

David Chandler

David Chandler, Google

David Chandler works with the Google Developer Tools Team in Atlanta. An electrical engineer by training, Chandler got hooked on developing database Web applications in the days of NCSA Mosaic and has since written Web applications professionally in a variety of languages, including C, perl, ksh, ColdFusion, Java, JSF, and GWT. Prior to joining Google, Chandler worked on Internet banking applications with Intuit and launched a non-profit startup built with GWT and App Engine. Chandler holds a patent on a method of organizing hierarchical data in a relational database and blogs about Java Web development at turbomanage.wordpress.com.

(PDF)

Presentation: Developing Enterprise-Scale Java Applications on Windows Azure

The Windows Azure Platform is an open and interoperable platform which supports development using many programming languages and tools In this session you will see how to build large-scale applications for the cloud using Java, Eclipse Tools, Apache Tomcat, and the Windows Azure SDK for Java. You will also learn how to leverage the latest Windows Azure Platform as a Service features.

Brian Prince

Brian Prince, Microsoft

Brian H. Prince is a Principal Cloud Evangelist for Microsoft. He gets super excited whenever he talks about technology, especially cloud computing, patterns, and practices. His job is to help customers strategically leverage technology, and help make Windows Azure the best platform for any language or tool. In a past life Brian was a part of super startups, super marketing firms, and super consulting firms. Much of his super architecture background includes building super scalable applications, application integration, and award winning web applications. All of them were super. Much of his work was based on early versions of Linux, Java, and open source software (for example Hibernate) before crossing over to .NET. Further, he is a co-founder of the non-profit organization CodeMash (www.codemash.org), an event specializing in cross platform and open development. He speaks at various international technology conferences. He only wishes his job didn?t require him to say "super" so much. Brian is the co-author of "Azure in Action", published by Manning Press. Brian holds a Bachelor of Arts degree in Computer Science and Physics from Capital University, Columbus, Ohio. He is also a zealous gamer. He is a fan of Fallout 3, Portal, and pretty much every other game he plays.

Quickie: Developing Mobile Web Apps with PhoneGap

If you decide today that you want to create a mobile application, you have to decide on a development strategy - especially if you want to target multiple platforms. You can either learn to program from scratch for each platform or you can use a framework that abstracts on top of all of the platforms - like Apache PhoneGap. If you decide to use PhoneGap, you still have decide whether to use a library specially designed for mobile applications - like Sencha or jQuery mobile - or whether to use general libraries like Zepto or jQuery. There are a lot of decisions to make, and there's no one best strategy at this point in the game. In this talk, I'll explain my development strategy, why I chose it, and what I've learnt along the way - so that your own decision process is easier.

Pamela Fox

Pamela Fox

Since discovering web programming as a kid (starting with Java applets, of course), Pamela Fox has loved using web technologies to make web apps and teaching other people how to use them. She went to USC for her bachelors & masters in computer science, spent five years at Google helping developers use the Maps and Wave APIs in their apps, and is now working on her own web apps using a mix of Python, JS, and HTML5.

(PDF)

Presentation: Developing portable PaaS applications

In demonstrating how the Java cloud library jclouds makes it easy to work with cloud services in a simple, portable way, we've written a bunch of applications that run on many of today's Platform as a Service offerings, including Google App Engine, CouldBees RUN@cloud, Amazon Elastic Beanstalk, OpenShift, Cloud Foundry and Heroku. In this session, we'd like to share our experience in developing and, just as importantly, managing portable Java PaaS applications. We'll set the context by identifying some pointers to help you decide whether a public or private PaaS makes sense for your application, or whether an IaaS solution in a public or private cloud might be more appropriate. We'll then compare PaaS APIs, provided resources and replacements, and discuss ways of separating your core portable business logic from your "PaaS binding". Finally, we'll look at "live-from-IDE" development, continuous integration and deployment options and touch on monitoring and application management in a multi-PaaS setup.

Andrew Phillips

Andrew Phillips, jclouds

An early believer in the ability of Java to deliver "enterprise-grade" software, Andrew quickly focused on the development of high-throughput, resilient and scalable Java EE applications. Specializing in concurrency and high performance development, Andrew gained substantial experience of the intricacies, complexity and challenges of enterprise application environments while working for a succession of multinationals. Continuously focused on effectively integrating promising new developments in the JVM space into corporate software development, Andrew joined XebiaLabs in March 2009, where he is responsible for product management of their deployment automation product Deployit. Amongst others, he worked on Multiverse, the open-source Java STM implementation behind Akka, and contributes to jclouds, the leading Java cloud library. He's also enjoying the wide variety of JVM offerings, especially Clojure and Scala.

BOF: Duchess BOF - How to benefit from networking with other women in IT.

Duchess is a network of women who are interested in Java technology, created to support and promote women in the Java industry. If you are both female and interested in Java technology, join us to network and share your knowledge and experiences. This BOF is organized by Duchess World Wide and Duchess Sweden. We will have a discussion about the role of women within both Java and IT in general, and we will also discuss how different people can benefit from networking in different ways. We think that these are important topics that need special attention. Everyone will be welcome to join this discussion, men as well as women. We have previous experience with organizing similar sessions, for instance at Devoxx, JavaOne, and others. Duchess: http://jduchess.org/

Helena Hjertén

Helena Hjertén, Mejsla AB

Helena är systemutvecklare med inriktning på Java. Hon är en entusiastisk och positiv person som uppskattar att arbeta med kollegor som är motiverade att tillsammans producera högkvalitativt resultat som uppfyller de förväntningar som satts. Hon har arbetat inom utvecklingsprojekt där många olika typer av teknologier, metoder och verktyg har använts.

Quickie: Eclipse Xtend - A Language for Java Developers

Are you waiting for closures in Java 8 or hoping for more type inference in Java 9? Thinking about switching to Scala or even holding your horses for Ceylon or Kotlin? How about keeping Java where it seems fit, but replacing just its outdated parts with a concise and modern language? What about an enhancement to Java instead of yet another attempt to hire a killer.

Xtend is an open-source programming language hosted at Eclipse.org and built for Java developers. It reuses Java's keywords, terminology and concepts as much as possible, but abandons some dead freight at the same time. Xtend is a very powerful alternative for implementing Java classes and works great with all the existing libraries. Since the language can be seen as a little complementary add-on to Java, it offers many modern language features that you are currently missing in your daily work. Xtend comes with a variety of goodies reaching from type inference over closures and extension methods up to smart string interpolation that make development great fun again. And of course there is powerful Eclipse IDE tooling available.

In this session we will demonstrate why Xtend is so great for everyday programming. You will get an introduction to the seamless integration with the Eclipse Java IDE and an impression of the expressiveness and conciseness of the language.

Sven Efftinge

Sven Efftinge, itemis

Sven is the initiator and project lead of the language development framework Xtext and is the head of a research & development branch of itemis in Kiel, Germany. He is a regular speaker at many international software conferences and (co-)author of a book and many printed articles.

 

Video: Introduction

Presentation: Enterprise Integration Patterns and DSL with Apache Camel

Apache Camel, a very popular integration framework, builds on the principles of the EIPs (Enterprise Integration Patterns) and DSLs (Domain Specific Language). In this talk we show how integration can become much easier and accessible with Camel. By wiring together EIP patterns, processes and transports, integrating becomes as simple as building routes "lego style.", The wiring is done using the Camel DSL. We will cover some of the most used EIP patterns such as Splitter, Aggregator, Recipient List, Dead Letter Channel, Idempotent Consumer etc. And give pointers about tips and tricks along the way. This talk includes live demos that show how to build integration flows in the four DSLs: plain Java, XML, Groovy and Scala. We will also show you how you can use Eclipse tooling to build routes using a graphical drag'n'drop environment, as well how to gain insights into running Camel applications, such as message tracing.

Claus Ibsen

Claus Ibsen, fusesource

Claus Ibsen is a software engineer and integration specialists from FuseSource (http://fusesource.com/). Claus is a full time committer on the open source integration framework Apache Camel (http://camel.apache.org) and author of the "Camel in Action" book (http://www.manning.com/ibsen). Claus is the most active contributor to Apache Camel and is very active in the Camel community. He hang out on the Camel mailing lists, irc-room and often blogs about Camel. At FuseSource he leads the development of Camel and provides consulting and support to customers. Claus is frequent speaker at FuseSource community day events on subjects related to Camel. Claus has spoken at JavaZone, CamelOne, JEEConf, TSSJS and Devoxxl. Prior to joining FuseSource, Claus has worked with integration in all sorts for the last decade.

James Strachan

James Strachan, FuseSource

James is heavily involved in the open source community: he's been an Apache committer for over 10 years, was one of the founders of the Apache ActiveMQ, Camel and ServiceMix projects, created the Groovy programming language and a number of other open source projects including Scalate, dom4j & Jaxen and is a committer on a number of projects such as Apache Karaf and Jersey. James has more than 20 years experience in software development with a background in finance, consulting and middleware.

(PDF) (PodCast)

Keynote: Enterprise Java in 2012 and Beyond

The Java space is facing several disruptive middleware trends. Key factors are the recent Java EE 6 and Java SE 7 platform releases, but also modern web clients, non-relational datastores and in particular cloud computing, all of which have a strong influence on the next generation of Java application frameworks. This keynote presents selected trends and explores their relevance for enterprise application development, taking the most recent Java SE and Java EE developments into account as well. In addition, the Spring Framework will serve as a reference example for an application framework on top of modern deployment platforms. Topics include flexible deployment, web endpoints, caching abstractions, access to alternative datastores, and patterns for concurrent programming.

Juergen Hoeller

Juergen Hoeller, SpringSource, a division of VMware

Juergen Hoeller is co-founder of the Spring Framework project and Principal Engineer at SpringSource, a division of VMware, where he continues to lead the development of the core framework. Juergen is an experienced software architect and consultant with outstanding expertise in transaction management, O/R mapping technologies and enterprise messaging. Juergen is co-author of the bestselling book "Expert 1-on-1 J2EE Development without EJB" and regularly speaks at international technology conferences.

(PDF)

Quickie: From Swing to HTML5 Canvas

Short overview of what you have be aware of when you try to create a HTML5 port of your custom Java Swing components. Unfortunately one could not simply convert the Swing component to HTML5 but with a little knowledge and fortune one could port most of the Java2D code to HTML5 Canvas. As an example a gauge from the Java Swing library "SteelSeries" will be ported to HTML5 Canvas.

Gerrit Grunwald

Gerrit Grunwald, Raith GmbH

Gerrit Grunwald is a team leader of a small group of software developers at Raith GmbH, where he work for around 10 years. His technical interests include desktop software development, preferably using modern, object-oriented and/or component based techniques, and specifically three subareas - Java Swing component development, HTML5 canvas and SunSPOT's. He's a decent-frequency blogger and the leader of the Java User Group in Münster (Germany), where he lives, He's been involved in the IT industry since 1996, when he started studying Applied Physics at the University of Applied Sciences Münster. In 2001, he joined Raith where he started to work as an application scientist, but soon started working in the software development group that he is leading now.

Presentation: Functional Thinking

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. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages. As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional languages as well, using high-order functions, composition, and multi-methods. I take a variety of common practices in OOP languages and show the corresponding mechanisms in functional languages. Expect your mind to be bent, but you?ll leave with a much better understanding of both the syntax and semantics of functional languages.

Neal Ford

Neal Ford, ThoughtWorks, Inc

Neal Ford is Software Architect and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations, and author and/or editor of 6 books spanning a variety of technologies, including the most recent The Productive Programmer. He focuses on designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 250 developer conferences worldwide, delivering more than 1000 talks. Check out his web site at nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.

Tutorial: HANDS-ON LAB: Building an end-to-end application using Java EE 6 and NetBeans

The Java EE 6 platform allows you to write enterprise Java applications using much lesser code from its earlier versions. It breaks the "one size fits all" approach with Profiles and extensively improves on the Java EE 5 developer productivity features. Several specifications like CDI, JSF 2, EJB 3.1, JAX-RS, JPA 2, Servlets 3, and Bean Validation make the platform more powerful. It also enables extensibility by embracing open source libraries and frameworks such that they are treated as first class citizens of the platform. NetBeans, Eclipse, and IntelliJ provide extensive tooling for Java EE 6.

This hands-on lab builds a complete end-to-end application using all different technologies of Java EE 6 with NetBeans. You'll learn the tips and tricks to be more effective in your development and deployment cycles. And you'll also learn how to monitor your Java EE 6 applications more effectively. A quick preview of Eclipse and IntelliJ tooling will also be shown.

Please have the following software pre-installed:
JDK 1.6/1.7 (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
NetBeans 7.0+ "All" or "Java EE" version (http://netbeans.org/downloads/index.html)

Arun Gupta

Arun Gupta, Oracle

Arun Gupta is a Java evangelist working at Oracle. Arun has over 15 years of experience in the software industry working in the Java(TM) platform and several web-related technologies. In his current role, he works to create and foster the community around Java EE and GlassFish. He has been with the Java EE team since its inception and contributed to all releases. Arun has extensive world wide speaking experience on myriad of topics and loves to engage with the community, customers, partners, and Java User Groups everywhere to spread the goodness of Java. He is a prolific blogger at http://blogs.oracle.com/arungupta with over 1200 blog entries and frequent visitors from all around the world with a cumulative page visits > 1.2 million. He is a passionate runner and always up for running in any part of the world.

Tutorial: HANDS-ON LAB: Get started with Play! framework for web development in Java and Scala

Play! framework brings expressive and productive development to the Java world to match Rails, Django etc. This tutorial will teach what is great about playframework, how it differs from traditional java web development and illustrate this with live coding tutorial where participants build a small web application supported by experienced practitioners. We will also briefly touch on common pitfalls, the Scala module, the upcoming 2.0, and other back ends.

Bring a laptop with your favourite editor!

Peter Lundberg

Peter Lundberg, Valtech

Peter is a Senior Consultant at Valtech with over 15 years experience. Working both as architect, coach and developer, he strives for productive development and an agile approach. Rich experience with Java but the last few years also working with Python, Scala etc. Lately also being able to use Play! framework and NoSql for real solutions and also contributing with a Play module and as organizer for the MongoDb meetup in Stockholm.

(PDF)

Presentation: HTML5 with Play Scala, CoffeeScript and Jade

This session shows you how to use some of the hottest technologies today to build a webapp, an API and a mobile application to track fitness workouts. Using HTML5 technologies (specifically geo and local storage), I'll show you how you can track the time, distance and music you listened to while exercising. Play with Scala is used for the backend and services, while CoffeeScript and Jade are used for the front-end templating and Ajax communication. This session will explain limitations encountered with HTML5 and discuss when native apps might work better.

Matt Raible

Matt Raible, Raible Designs

Matt Raible has been building web applications for most of his adult life. He started tinkering with the web before Netscape 1.0 was even released. For over 14 years, Matt has helped companies adopt open source technologies (Spring, Hibernate, Apache, Struts, Tapestry, Grails) and use them effectively. Matt has been a speaker at many conferences worldwide, including Devoxx, No Fluff Just Stuff, JavaZone, ApacheCon, and a host of others. Matt is an author (Spring Live and Pro JSP), and an active "kick-ass technology" evangelist on http://raibledesigns.com. He is the founder of AppFuse, a project which allows you to get started quickly with Java frameworks, as well as a committer on the Apache Roller and Apache Struts projects. Matt has had quite a ride in the past few years, serving as the Lead UI Architect for LinkedIn, the UI Architect for Evite.com and the Chief Architect of Web Development at Time Warner Cable. He recently enjoyed an awesome ski season in Utah while consulting at Overstock.com.

Video: Introduction

Presentation: Introducing Scalate, the Scala Template Engine

In this talk, James will walk you through the different template languages available in Scalate, the Scala Template Engine -- , discussing the pros and cons of each to help you pick the right template language. During the talk you will learn how to add Scalate to your web app, use scalate with servlets or JAXRS, and use the Scalate web console and command line tools.

James Strachan

James Strachan, FuseSource

James is heavily involved in the open source community: he's been an Apache committer for over 10 years, was one of the founders of the Apache ActiveMQ, Camel and ServiceMix projects, created the Groovy programming language and a number of other open source projects including Scalate, dom4j & Jaxen and is a committer on a number of projects such as Apache Karaf and Jersey. James has more than 20 years experience in software development with a background in finance, consulting and middleware.

(PDF) (PodCast)

Presentation: It Is Possible to Do Object-Oriented Programming in Java

OO means different things to different people, but they normally focus on defining terms such as encapsulation, polymorphism and inheritance, and talk about data abstraction, abstract data types and so on. In this talk we take a brief look at what one particular theory of OO suggests and what it means for regular Java programmers and their practice.

Kevlin Henney

Kevlin Henney, Curbralan

Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He helps teams adopt techniques and improve their software development through training, mentoring and reviewing. He has been a columnist for various magazines and web sites. Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know site and book.

(PDF) (PodCast)

Presentation: Java 7 - State of the Enterprise

With Java 7 being GA you can start thinking about putting it to work in the Enterprise. But what are the challenges? How does the adoption path look like? What are the reasons you should do it and when? This session looks at the details about putting Java 7 into production. Tells you about things to keep in mind and gives a brief overview about how Enterprises would put it into production.

Markus Eisele

Markus Eisele, msg systems ag

Markus is a principle technology consultant working for msg systems ag in Germany. Markus is a software architect, developer and consultant. He also writes for IT magazines. Markus joined msg in 2002 and has been a member of the Center of Competence IT-Architecture for nine years. After that Markus moved on to the IT-Strategy and Architecture group. He works daily with customers and projects dealing with Enterprise level Java and infrastructures. This includes the Java platform and several Web-related technologies on a variety of platforms using products from different vendors. His main area of expertise are Java EE Servers. Markus is speaking at different conferences about his favorite topics. Stay up to date with his activities visiting his blog (http://blog.eisele.net/)

Presentation: Java EE 7: Developing for the Cloud

This talk introduces the Java EE 7 platform, the latest revision of the Java platform for the enterprise. The focus of Java EE 7 is on the cloud, and specifically it aims to bring Platform-as-a-Service providers and application developers together so that portable applications can be deployed on any cloud infrastructure and reap all its benefits in terms of scalability, elasticity, multitenancy, etc. Furthermore, Java EE 7 continues the ease of development push that characterized prior releases by bringing further simplification to enterprise development. It also adds new, important APIs such as the REST client API in JAX-RS 2.0, vast improvements to Java Message Service 2.0, and plenty of improvements to all other components.

Arun Gupta

Arun Gupta, Oracle

Arun Gupta is a Java evangelist working at Oracle. Arun has over 15 years of experience in the software industry working in the Java(TM) platform and several web-related technologies. In his current role, he works to create and foster the community around Java EE and GlassFish. He has been with the Java EE team since its inception and contributed to all releases. Arun has extensive world wide speaking experience on myriad of topics and loves to engage with the community, customers, partners, and Java User Groups everywhere to spread the goodness of Java. He is a prolific blogger at http://blogs.oracle.com/arungupta with over 1200 blog entries and frequent visitors from all around the world with a cumulative page visits > 1.2 million. He is a passionate runner and always up for running in any part of the world.

(PDF)

Presentation: JavaFX 2.0 from a developer's perspective

JavaFX is an environment for building rich client applications. Using a scenegraph at its core and providing many advanced features, e.g. effects, animations, media-support, it greatly simplifies the task of implementing expressive user interfaces with engaging user experience. The API is entirely provided as a Java API making it also available for other programming languages that run on top of the JVM. In this talk we will take a look at JavaFX 2.0 from a developer's perspective. Explaining the underlying concepts of the API and touching some of the more advanced features, all major components of the API will be covered. After this talk you will have a clear understanding of the possibilities JavaFX 2.0 provides, which will enable you to make sound decisions how it may help you in your future projects. You will also be aware of the basic concepts which will help you to get started quickly with JavaFX 2.0.

Michael Heinrichs

Michael Heinrichs, Oracle

Michael Heinrichs has been part of the JavaFX development team right from its early days in 2008. During the early access phase until the release of JavaFX 1.0, he was part of the JavaFX Compiler team. After that he joined the JavaFX Mobile team where he was mainly responsible for performance tuning. In 2010 he became the technical lead for the core components of JavaFX: JavaFX Beans and Properties, the Binding API, the new collections and the Animation API. Michael loves to meet people from other cultures, enjoys cooking and spending time with his family.

(PDF)

Presentation: JavaScript bonanza - the modern developer story

There is a bonanza going on in the JavaScript world which changes everything. JavaScript performance is increasing by orders of magnitude enabling web applications no one dreamed possible. Frameworks emerge and evolve at a breathtaking rate. This effects everyone, including you. With small efforts you can ride this wave and benefit from all the greatness. This session will give you the inside scoop on the current JavaScript landscape, how it has evolved and where it is heading. You will see a standard java web application and learn how it can be modified to a cleaner and more responsive architecture by adding JavaScript. I will also show how to run and debug Java and JavaScript together and what tools to use. These skills will make you as a java developer look and feel stronger and more empowered, and you will become best friends with the UX department.

Björn Ekengren

Björn Ekengren, Diversify

Björn Ekengren is a Java professional with over 10 years of experience in the gaming, financial and non-profit industries. Presently Front End Competence Coordinator at Diversify he is very passionate about UX and front end development. As a seasoned entrepreneur and technical evangelist he is known for thinking outside the box to exceed customers expectations. Björn is the founder of It's Alive! mobile games and javascriptpatterns.org. Björn holds a Masters of Science degree in Electrical Engineering from Kungliga Tekniska Högskolan in Stockholm.

(PDF)

Tutorial: JavaScript för Javautvecklare

Trots att Java och JavaScript båda såg världens ljus 1995 så har det dröjt helt nyligen innan JavaScript nådde sin hajp. Orsaken är förstås prestandan i moderna JavaScript-motorer som V8 och den nya vågen rika webbapplikationer. Men också språket, formellt EcmaScript, har utvecklats. Vi går igenom språkkonstruktioner och designmönster i JavaScript och jämför kontinuerligt med Java för att hitta likheter, skillnader och typiska fallgropar. Hur enhetstestar man JavaScript? Finns privata variabler i JavaScript? Hur paketerar man sin kod? Vilka problem uppstår när mängden JavaScript blir stor?

John Wilander

John Wilander, Svenska Handelsbanken

John Wilander is a frontend software developer at Svenska Handelbanken, the second strongest bank in the world according to Bloomberg Markets. He has been researching and working in application security for ten years and recently organized the OWASP Browser Security sessions in Portugal, with participants from the security teams behind Chrome, Firefox, Internet Explorer, Flash, and PayPal. During his years in academia he was elected best computer science teacher twice and nowadays gives 5-10 professional talks per year. Java developer (and teacher) until less than a year ago. Nowadays a JavaScript and web junkie.

(PodCast)

Presentation: JDK 7 Updates & JDK 8

We'll first take a quick look at how the JDK 7 Updates Project in OpenJDK works, how to track changes, and follow along as e.g. the Mac OS X Port gets integrated into future JDK 7 update releases. Then we'll switch gears, take a deep breath, and dive into some of the planned features of the next Java SE Platform, JDK 8 - modularity, lambdas, and more!

Dalibor Topic

Dalibor Topic, Oracle

Dalibor Topić lives in Hamburg, Germany, and works as Java F/OSS Ambassador for Oracle. He joined the OpenJDK project in order to help make it a successful open source project, and stayed for anchoring Java in Linux distributions, and as an all around Java F/OSS community guy. He joined the Java strategy team at Oracle to help provide community feedback into the long-term strategy planning.

(PDF)

Presentation: Jenkins Evolutions

Jenkins is believed to be a continuous integration tool, but in reality it is an orchestration platform with a GUI. The large set of plugins and the loose definition of projects lets you use Jenkins for operations that it was not originally meant for. We use it for building software, artifact propagation, release management, VCS branch propagation, cron replacement, server monitoring etc. In this session, I will go through the different successes and failures that we?ve experienced in the past years of using Hudson/Jenkins to get our products and company off the ground.

Toomas Römer

Toomas Römer, ZeroTurnaround

Toomas is a hackepreneur, geek and a founder of ZeroTurnaround who has profound interest in programming, infrastructure and operations. He thinks he is a good fit for Devops because of his background but in reality he still does not understand what this magic word means. Hudson/Jenkins has been his close buddy for years churning CPU cycles at the server park and the chemical synapses of his brain. In his spare time he plays Go, Squash and enjoys Starcraft at GomTV.

(PDF) (PodCast)

Presentation: jHome: Having Fun with Home Automation and Java

jHome is complete Java EE 6 API for home automation. With jHome you can control wall jackets, lamps, RGB LEDs, gates and much more. The reference implementation application is using EJB's, REST, WebService, JMS, JSF and jQuery to show how you can use Java EE 6 in a totally different application context. The proposed hardware is open-source, so you do it your self. During the talk we will be showing nice and funny demos: - Controlling lamps; - Color RGB led stripe; - Controlling via Twitter; - Feed a web page with a temperature sensors. We also will be showing the software architecture and some pieces of interesting code.

Yara Mascarenhas Hornos Senger

Yara Mascarenhas Hornos Senger, Globalcode / SouJava

Yara Senger is co-founder and director of Globalcode and one of the leads of SouJava. She has also contributed to Glassfish project developing the sample application for JSF 2 Scrum Toys distributed with Netbeans and Glassfish. Passioned by community and conferences she is the main organizer of 11 editions of The Developer's Conference and several other conferences. As speaker she presented at JavaOne , Devoxx, JustJava and several other conferences. Yara published more than 20 articles at Brazilian Java Magazine and is also editor at InfoQ Brasil. This year she won the Duke's Choice Award 2011 with Jhome project with her partner and husband Vinicius Senger.

Vinicius Senger

Vinicius Senger, Globalcode

Working with software development the last 20 years Senger founded Globalcode, the largest Brazilian educational center specialized in software development. Senger had presented more than 200 talks about Software Development, Java, Java EE and open-source hardware.

His project jHome, home automation API based on Java EE, won the Duke's Choice Award 2011 and nowadays he is working on putting Java and open-source hardware together.

Video: Introduction

(PDF)

Presentation: JSR107: The new Java Caching Standard

In this session Greg Luck, founder of Ehcache and spec lead for JSR107 will walk you through this important new caching standard, which will form part of Java EE 7. You will learn how to: ? Abstract your caching implementation, much as with JDBC ? Use the rich and modern API ? Use the new caching annotations ? Use the API before Java EE 7 is released within the Java SE, Java EE 6, and Spring environments ? Plug in Ehcache as the caching provider and configure it for standalone and distributed contexts

Greg Luck

Greg Luck, Terracotta

Greg founded Ehcache in 2003. He regularly speaks at conferences, writes and codes. He has also founded and maintains the JPam and Spnego open source projects, which are security focused. Prior to joining Terracotta in 2009, Greg was Chief Architect at Wotif.com where he provided technical leadership as the company went from a single product startup to a billion dollar public company with multiple product lines. Before that Greg was a consultant for ThoughtWorks with engagements in the US and Australia in the travel, health care, geospatial, banking and insurance industries. Before doing programming, Greg managed IT. He was CIO at Virgin Blue, Tempo Services, Stamford Hotels and Resorts and Australian Resorts. He is a Chartered Accountant, and spent 7 years with KPMG in small business and insolvency.

(PDF)

Tutorial: Jumpstart to Android App development

Getting started with Android is simple. This session presents the basic architecture of Android, demonstrates the Android Development Tools (ADT) for Eclipse, and guides the audience through the base concepts like Activities, Services, Broadcast Receiver and ContentProvider.

During this presentation an Android application is live developed. This application demonstrates the creation of a several Android programs including a drawing program and how to track incoming phone calls. via incoming calls.

After this session the audience should feel comfortable to start developing own Android Applications.

Lars Vogel

Lars Vogel, vogella.de

Lars Vogel maintains the website http://www.vogella.de with many Android and Eclipse related tutorials and with more then 40 000 daily visitors. He works as an independent Android and Eclipse consultant and trainer.

He is a regular speaker at international conferences, as for example EclipseCon, Devoxx, Droidcon and O'Reilly's Android Open. Lars received in 2010 the "Eclipse Top Contributor Award".

(PDF)

Presentation: Lambdas in Java 8

Java 8 will introdude elements of functional programming in to the Java programming language - the so-called "lambda expressions" (formerly known as "closures"). The language extension will include SAM (Single Abstract Method) type conversion, lambda expressions, exception transparency, extension methods, method references und local variable capture. The tutorial will explain the new language features along with their purpose.

Angelika Langer

Angelika Langer, Angelika Langer Training/Consulting

Angelika Langer works as a freelance trainer and mentor with an independent course curriculum of several challenging C++ and Java courses based in Germany. She is co-author of several columns (currently in JavaMagazin), co-author of the books ?The Standard C++ IOStreams and Locales?, 2001 and ?Java Core Programmierung?, 2011, author of the online Java Generics FAQ, and a recognized speaker at conferences all over the world. See www.AngelikaLanger.com for details.

(PDF)

Quickie: Lightning intro to CloudFoundry

Let's face it, the cloud's here to stay.  CloudFoundry represents a promising open cloud platform for Java and Spring applications today, and tomorrow. In this lightning talk, Josh Long will introduce CloudFoundry, it's architecture, and how it can be used with existing Spring applications and new ones, leveraging Spring 3.

Josh Long

Josh Long, SpringSource, a division of VMware

Josh Long is the Spring developer advocate, an editor on the Java queue for InfoQ.com, and the lead author on several books, including Apress? Spring Recipes, 2nd Edition and O'REILLY's "Getting Started with Spring Roo." Josh has spoken at many different industry conferences internationally including TheServerSide Java Symposium, SpringOne, OSCON, JavaZone, Adobe MAX, JavaZone, Geecon, Devoxx, Java2Days and many others. When he?s not hacking on code for SpringSource (github.com/SpringSource) or other open source projects (Activiti), he can be found at the local Java User Group or at the local coffee shop. Josh likes solutions that push the boundaries of the technologies that enable them. His interests include scalability, EAI, BPM, grid processing, mobile computing and so-called ?smart? systems. He blogs at blog.springsource.org or joshlong.com.

(PDF)

Presentation: Maven vs Gradle, On your marks, get set, go!

Ant, Maven, Gradle, Buildr - the choice of built systems for Java based systems is manifold and only discussions about coding styles are getting more heated than discussion on which built system is superior. In this talk we are looking at two built system - the well established veteran Maven against the Groovy based newcomer Gradle. Where are the similarities between these two built systems and what differentiates them? Why and when would you chose one over the other? Both built systems are introduced by examples and the Open Source project Hibernate is used as a case study for a migration from Maven to Gradle. We will learn why this migration took place and what the lessons learned were.

Hardy Ferentschik

Hardy Ferentschik, Red Hat

Hardy Ferentschik is Senior Developer at JBoss and member of the Hibernate development team. His primary interests are in the area of intra- and internet search. Within the Hibernate team he is the project lead of Hibernate Validator and core developer for Hibernate and Hibernate Search. Hardy is a frequent speaker at JUGs and leading software development conferences like JAOO or JFokus.

(PDF)

Presentation: Migrating Spring Applications to Java EE 6

The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.

Paul Bakker

Paul Bakker, Luminis Technologies

Paul is senior software engineer at Luminis Technologies where he works on the Amdatu platform, an open source, service-oriented application platform for web applications. He has a background as trainer where he teached various Java related subjects. Paul is also a regular speaker on conferences such as JavaOne, Devoxx and JFall and author for the Dutch Java Magazine. He is also a contributor for the JBoss Forge project.

Bert Ertman

Bert Ertman, Luminis Technologies

Bert is a Fellow at Luminis in the Netherlands. Next to his customer assignments he is responsible for stimulating innovation, knowledge sharing, coaching, technology choices and presales activities. Besides his day job he is a Java User Group leader for NLJUG, the Dutch Java User Group. A frequent speaker on Enterprise Java and Software Architecture related topics at international conferences (e.g. Devoxx, JavaOne, etc) as well as an author and member of the editorial advisory board for Dutch software development magazine: Java Magazine. In 2008, Bert was honored by being awarded the coveted title of Java Champion by an international panel of Java leaders and luminaries.

(PDF)

Presentation: MongoDB and JVM: Bringing NoSQL and Java Together

MongoDB is a scalable, high-performance, open source, document-oriented NoSQL database. It features document-oriented, JSON-based document storage and dynamic schemas providing simplicity, power and flexibility, combined with full indexes similar to what a traditional RDBMS user would expect. MongoDB also provides solid replication & high availability features as well as an auto-sharding system for transparent horizontal scalability. This talk introduces MongoDB for developers who aren't familiar with it, and discusses various integration points for MongoDB & the JVM including Spring's "Spring Data" component for MongoDB, the Morphia Object Mapper for Java, MongoDB's Scala Drivers (Casbah, as well as a new experimental Asynchronous driver), Akka Durable Mailboxes, Lift's MongoDB Active-Record integration, and MongoDB's Hadoop integration.

Daniel Roberts

Daniel Roberts, 10gen

Daniel is a Solutions Architect based in London. Prior to 10gen Daniel worked at Oracle for 11 years in a number of different positions focusing mainly around Oracle's middleware technologies and strategy. Roles have include consulting, product management, business development and more recently as a presales solution architect for financial services. Daniel has also worked for Novell, ICL and for a period as a freelance contractor. He has a degree in Computer Science from Nottingham Trent University in the UK.

(PDF)

Quickie: One-liners are your friend: Increasing Productivity with Scala

We believe the success of communication through SMSs, Tweets and Facebook Status messages lies in its conciseness (i.e. 140 characters). Similarly, short and expressive code not only reduces maintenance needs but also increases readibility and ultimately affect the productivity of a programmer. This session is about pragmatic examples of such "one-liners" commonly found in enterprise applications development. In particular, we will exhibit the invocation and transformation of REST services with frameworks like Unfiltered and Akka Futures and show how the REPL(Read Eval Print Loop) command tool can save you a lot of time by programming interactively with one-liners.

Thomas Alexandre

Thomas Alexandre, DevCode Consulting

Thomas Alexandre is a senior consultant at DevCode, specializing in Java and Scala software development. He is passionate about technology, enthusiastic about sharing knowledge and always looking for ways to code more effectively through the adoption of new open-source software and standards. In addition to 15 years of Java development, he has focused these past few years on emerging languages and web frameworks such as Groovy/Grails and Scala. Thomas has a PhD in Computer Science from the University of Lille, France, and has spent 2 years as postdoc with Carnegie Mellon University in the fields of Security and E-Commerce.

Video: Introduction

(PDF)

Presentation: PaaSing a Java EE Application

A PaaS offering typically facilitates application deployment without the cost and complexity of managing infrastructure, by providing all of the facilities required to build and deliver services. Current Java EE deployment requires the deployer to provision the various dependent services of an application in that container. To support PaaS deployment scenarios, GlassFish is working to provide a simplified application provisioning and deployment interface to users, with the runtime handling the discovery of service dependencies, provisioning services, and associating service references with these services. Some of the metrics (such as CPU, memory, and response times) can be used to monitor system health. These metrics can then be used to determine if the cluster of virtual machines hosting the Java EE container needs to be dynamically expanded or shrunk to accommodate fluctuations in demand. This session details how Java EE containers such as GlassFish can provide such service orchestration and elasticity capabilities.

This session will take an existing Java EE 6 application and walk through the complete life cycle of taking this application from desktop to a PaaS environment. The session will explain the development, testing, and debugging of such an application in the PaaS envinronment.

Arun Gupta

Arun Gupta, Oracle

Arun Gupta is a Java evangelist working at Oracle. Arun has over 15 years of experience in the software industry working in the Java(TM) platform and several web-related technologies. In his current role, he works to create and foster the community around Java EE and GlassFish. He has been with the Java EE team since its inception and contributed to all releases. Arun has extensive world wide speaking experience on myriad of topics and loves to engage with the community, customers, partners, and Java User Groups everywhere to spread the goodness of Java. He is a prolific blogger at http://blogs.oracle.com/arungupta with over 1200 blog entries and frequent visitors from all around the world with a cumulative page visits > 1.2 million. He is a passionate runner and always up for running in any part of the world.

(PDF) (PodCast)

Presentation: Patterns of Agile Enterprise Architecture

There is widespread acceptance that software development using Agile methods works well. However, there are still areas of software development organisations that view their roles or mandates as incompatible with Agile methods. This talk addresses the legitimate role of an Enterprise Architect and provides concrete recommendations on how Architects can work with Agile development teams to accomplish their objectives. Topics will include concerns about data architecture, addressing the "ilities", and why evolutionary architecture works.

Rebecca Parsons

Rebecca Parsons, ThoughtWorks

Dr. Rebecca Parsons is ThoughtWorks' Chief Technology Officer. She has more than 20 years of application development experience in industries ranging from telecommunications to emergent internet services. She has been published in language and artificial intelligence media, served on numerous program committees, and currently reviews academic articles for several journals.

Before coming to ThoughtWorks she worked as an assistant professor of computer science at the University of Central Florida. She also worked as director's post doctoral fellow at the Los Alamos National Laboratory researching issues in parallel and distributed computation, genetic algorithms, computational biology and non-linear dynamical systems. Dr. Parsons holds a [Ph.D] in Computer Science from Rice University

(PDF) (PodCast)

Presentation: Play Framework 2.0

The Play framework has brought high-productivity web development to Java with three innovations that changed the rules on Java EE: Java class and template save-and-reload that just works, a simplified stateless architecture that enables cloud deployment, and superior ease-of-use. Following Play's rapidly-growing popularity, Play 2.0 will be released in early 2012 with innovations that are not just new in the Java world: type safe view templates and HTTP routing, compile-time checking for static resources, and native support for both Java and Scala.

Type safety matters. After dynamically-typed programming languages such as PHP and Ruby set the standard for high-productivity web development, Play built on their advantages and has created a type safe web development framework with extensive compile-time checking. This is essential for applications that will scale to tens of thousands of lines of code, with hundreds of view templates. Meanwhile, Play avoids the architectural-complexity that is promoted by Java EE-based approaches. The result is that Play 2.0 first enables rapid initial application development and then Play 2.0 helps you build big, serious and scalable web applications.

Peter Hilton

Peter Hilton, Lunatech Research

Senior solution architect and Operations Director at Lunatech Research since 2004. Peter works on web application architecture, design and construction, with technical project management. His interests include Java web application frameworks, agile software development process and practices, and web-based collaboration. Since 2010, Peter has been a committer on the Play framework open-source project. Peter is currently writing a 'Play 2 with Scala in Action' book, with co-authors Erik Bakker and Francisco Canedo.

BOF: Programming Language BOF

Except Java and JavaScript we are just starting to get used to Scala, Groovy Clojure, JRuby, Jython as alternate languages on the JVM... then we have the second wave introducing languages as Kotlin, Ceylon, Xtend, Fantom and a couple of more.

This BoF is for everybody that wants to discuss programming languages. Bring your questions and your expertise for this informal chat.

Marcus Ahnve

Marcus Ahnve, Valtech

Marcus Ahnve is a Senior Consultant at Valtech, a global IT consultancy. He is a agile coach and developer helping software development organizations. Marcus experience in agile software development dates back to 1996 and his first project which was done in Smalltalk. In 2001 he started doing XP development and has since then explored new ways of making development more effective, economical and fun.

(PDF) (PodCast)

Presentation: Regex Applied - When Regex is a Winner

Everyone knows that Regex (Regular Expressions) can make fascinating tricks. Some people know and other people suspect that regex can do valuable things ? sometimes. Some problems are more suited for regex solutions than others. What are the common traits of those problems? How should we think in order to solve them? What alternative solutions are there? Staffan categorizes and exemplifies when you should and should not use regex. He'll also show how to do refactorings using regex, from the Search/Replace dialog in text editors like Eclipse and Emacs.

Staffan Nöteberg

Staffan Nöteberg, Rekursiv AB

Staffan Nöteberg wrote the critically acclaimed productivity book Pomodoro Technique Illustrated. He's been programming for decades. Regex is his favorite among programming languages as well as among productivity tools.
More about Staffan Nöteberg: www.staffannoteberg.com

Video: Introduction

(PDF)

Presentation: Retrospective from the year of DevOps

The way we are developing systems is undergoing a radical change. Starting with the agile movement a few years ago, we are now in a position where organizational walls are falling like domino bricks and people think in new ways to such extent that a paradigm shift is the only suitable description. How can it be possible to have more fun, experiment more, do less boring tasks, while at the same time make business people feel free, happy and innovative - in short - create a more successful company. This talk addresses some of what this is all about and hopefully sends the audience a bit on the way to a full paradigm shift.

Daniel Fröding

Daniel Fröding, Diabol AB

I have been working as a consultant in transactional intense systems as a Java developer, scrum master, application server expert and Java EE architect for over 10 years. I parallel I have been part of the lead in Diabol, the innovative consultant company that puts business in systems. Lately my interest has turned to streamlining the development process from business to customer. We are only in the beginning of the evolution of the profession of creating IT systems. There are so many things we can do to improve how systems are created.

(PDF)

Presentation: Scala in Action

You don't yet speak Scala? Then let us invite you to a journey on which we will explore the outstanding features of this programming language for the Java Virtual Machine. As an intoduction we will breifly talk about Scala's key characteristics. Then we will explore this language and some of its typical applications by means of vivid examples and live coding. As a finalizer we will outline Scala's future directions.

Heiko Seeberger

Heiko Seeberger, Typesafe

Heiko Seeberger is the Director Professional Services at Typesafe. He has been a Scala enthusiast ever since he came to know this beautiful language in 2008. He started his professional career as a software developer in 1993 using programming languages like object-oriented Turbo Pascal, Perth and C++. Since 1998 he has been living almost exclusively in the Java world where he could build deep expertise in technologies for enterprise applications like AspectJ, Spring, Eclipse RCP and OSGi. Soon after he was infected by Scala he started the ScalaModules project, a Scala-based DSL for OSGi, and became a committer to Lift and Akka. Heiko regularly shares his expertise in articles and talks and is the main author of the German Scala book "Durchstarten mit Scala".

(PDF)

Presentation: So whats so cool about Android 4.x

Android 4.0 finally merges the source tree for Handsets and Tablets. In this session we will look at the ActionBar, Fragment support and Drag and Drop and look why these concepts are useful for Android developers.

If time permits we also have a look a the new APIs as for example Calendar and the social API and ViewPager.

Lars Vogel

Lars Vogel, vogella.de

Lars Vogel maintains the website http://www.vogella.de with many Android and Eclipse related tutorials and with more then 40 000 daily visitors. He works as an independent Android and Eclipse consultant and trainer.

He is a regular speaker at international conferences, as for example EclipseCon, Devoxx, Droidcon and O'Reilly's Android Open. Lars received in 2010 the "Eclipse Top Contributor Award".

(PDF)

Tutorial: Spring into the Cloud

Let's face it, the cloud's here to stay. Spring's always been about portability and choice, and the cloud is no different. CloudFoundry, introduced to rave reviews and massive enthusiasm in the NOSQL, Node.js, Ruby, Scala and Java communities, represents the most promising, most open cloud platform for Java and Spring applications today, and tomorrow. In this talk, Josh Long will introduce CloudFoundry, it's architecture, and how it can be used with existing Spring applications and new ones, leveraging Spring 3.

Josh Long

Josh Long, SpringSource, a division of VMware

Josh Long is the Spring developer advocate, an editor on the Java queue for InfoQ.com, and the lead author on several books, including Apress? Spring Recipes, 2nd Edition and O'REILLY's "Getting Started with Spring Roo." Josh has spoken at many different industry conferences internationally including TheServerSide Java Symposium, SpringOne, OSCON, JavaZone, Adobe MAX, JavaZone, Geecon, Devoxx, Java2Days and many others. When he?s not hacking on code for SpringSource (github.com/SpringSource) or other open source projects (Activiti), he can be found at the local Java User Group or at the local coffee shop. Josh likes solutions that push the boundaries of the technologies that enable them. His interests include scalability, EAI, BPM, grid processing, mobile computing and so-called ?smart? systems. He blogs at blog.springsource.org or joshlong.com.

Chris Richardson

Chris Richardson

Chris Richardson is a developer and architect with over 20 years of experience. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with POJOs and frameworks such as Spring and Hibernate. Chris is the founder of the original CloudFoundry.com and works on cloud technology. He has a computer science degree from the University of Cambridge in England and lives in Oakland, CA with his wife and three children.

(PDF) (PodCast)

Presentation: SQL, NoSQL, NewSQL? What's a developer to do?

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.

Chris Richardson

Chris Richardson

Chris Richardson is a developer and architect with over 20 years of experience. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with POJOs and frameworks such as Spring and Hibernate. Chris is the founder of the original CloudFoundry.com and works on cloud technology. He has a computer science degree from the University of Cambridge in England and lives in Oakland, CA with his wife and three children.

(PDF) (PodCast)

Quickie: Stop sleeping, start awaiting!

Testing asynchronous systems is hard. Not only does it require handling threads, timeouts and concurrency issues, but the intent of the test code can be obscured by all these details. Awaitility is a small Java based DSL that allows you to express expectations of an asynchronous system in a concise and easy to read manner. Come and see how easily fragile time consuming tests can be transformed into its more robust and elegant counterpart.

Johan Haleby

Johan Haleby, Jayway

Johan Haleby is a Swedish developer, speaker, and writer with a profound interest in software engineering and testability in particular. He has founded and contributed to numerous open source projects such as PowerMock, REST Assured and Awaitility and has spoken at several conferences and user groups.

(PDF)

Presentation: Tackling Android fragmentation

The number of Android powered devices are sky rocketing. To reach larger audiences, developers want to create applications that are compatible with as many devices as possible. This results in having to cope with different android versions, screen sizes, aspect ratios and pixels densities. The possibilities have become even greater with the introduction of Android 4, Ice cream sandwich. Since Google's latest version of Android is backwards compatible with Honeycomb, developers can potentially adapt their tablet applications to work on the latest phones and reach a larger, and growing user base. An important goal for Android 3 was to make it easier for developers to write applications that can scale across a variety of screen sizes, beyond the facilities already available in the 2.x platform.

The presentation will cover how to use fragments to achieve a high level of code reuse in the UI layer. The presentation will also cover how to use the Android compatibility package to build applications that can be installed, from a single APK, to a wide range of devices including both phones and tablets. A migration path from applications written for phones to tablets, using this package, will also be outlined.

Glenn Bech

Glenn Bech, Inmeta Consulting AS

Glenn Bech manages the Inmeta Consulting Java team and works hands-on in software development projects. He has developed software on the Java platform , mainly server side. for the Banking and insurance industry for the last ten years. For Glenn, as for many a developer, it all started 20 years ago with "Poke 53281,0" on the Commodore 64. Since then, he has programmed a wide range of languages. The first of his now several Android applications was published on the Android market in february 2011. He saw the fun and potential in tablet devices and was quick to embrace Honeycomb. He is now a very passionate Android developer. Glenn is the co-founder of the Norwegian software comminity Baksia (www.baksia.org) that is non-profit and promotes everything scalable and backend related.

(PDF) (PodCast)

Quickie: Tesla - the Maven successor

Tesla is a new build framework by the original founder of Apache Maven, Jason van Zyl. In simple terms it can be described as a superset of the Maven tool and is designed to kickstart the development of software projects. It's fully compliant with Maven builds but has many new features which will help you in areas where Maven comes up short. This talk will cover the basics of Tesla, describe the new features compared to Maven, and also show how Tesla will work in your existing Maven-based development infrastructure.

Anders Hammar

Anders Hammar, Devoteam

Anders is a Maven expert, software architect, and CTO of Devoteam Sweden, working professionally with Java for more than ten years. Anders firmly believes that a good development infrastructure is necessary to allow for developers to focus on solving the business needs, as well as developing good quality software. For the last five years, he has focused on using Maven as the platform for such an environment. In his profession, Anders helps customers improve their Maven-based development infrastructure. Being a true believer of open source, Anders is highly active within the Maven community and also a committer at The Codehaus.

(PDF)

Presentation: The Art of (Java) Benchmarking

People write toy Java benchmarks all the time. Nearly always they "get it wrong" -- wrong in the sense that the code they write doesn't measure what they think it does. Oh, it measures something all right -- just not what they want. This session presents some common benchmarking pitfalls, demonstrating pieces of real, bad (and usually really bad) benchmarks such as the following: SpecJVM98 209_db isn't a DB test; it's a bad string-sort test and indirectly a measure of the size of your TLBs and caches. SpecJAppServer2004 is a test of your DB and network speed, not your JVM. SpecJBB2000 isn't a middleware test; it's a perfect young-gen-only garbage collection test. The session goes through some of the steps any programmer would go through to make a canned program run fast -- that is, it shows you how benchmarks get "spammed." The session is for any programmer who has tried to benchmark anything. It provides specific advice on how to benchmark, stumbling blocks to look out for, and real-world examples of how well-known benchmarks fail to actually measure what they intended to measure.

Cliff Click

Cliff Click, Azul Systems

With more than twenty-five years experience developing compilers, Cliff serves as Azul Systems' Chief JVM Architect. Cliff joined Azul in 2002 from Sun Microsystems where he was the architect and lead developer of the HotSpot Server Compiler, a technology that has delivered dramatic improvements in Java performance since its inception. Previously he was with Motorola where he helped deliver industry leading SpecInt2000 scores on PowerPC chips, and before that he researched compiler technology at HP Labs. Cliff has been writing optimizing compilers and JITs for over 20 years.

He is invited to speak regularly at industry and academic conferences including JavaOne, JVM, ECOOP and VEE; serves on the Program Committee of many conferences (including PLDI and OOPSLA); and has published many papers and more than a dozen patents about HotSpot technology. Cliff holds a PhD in Computer Science from Rice University.

(PDF) (PodCast)

Presentation: The Curious Clojureist

-Why should you learn Clojure now? It?s the coolest new language on the JVM -What makes it so cool? It?s a dynamically typed, functional Lisp that offers sophisticated capabilities like software transactional memory -Why should I learn it? Lisp is the most powerful style of programming language possible (don?t believe me? Come see - I?ll show you), so you get the best language (Lisp) on the best runtime (JVM) -Isn?t Lisp the one with all the parenthesis? Yes. -What?s so compelling about Clojure? It?s fast, expressive, powerful, and allows you to do all sorts of things that other languages won?t let you do. It?s an elegant language. -Why is the entire talk done as question and answer? It?s an homage to a series of books, The Little Lisper and The Little Schemer. Because Lisp?s are simple and homoiconic, this style works nicely for them. Besides, it?s better than 1000 bullets, isn?t it?

Neal Ford

Neal Ford, ThoughtWorks, Inc

Neal Ford is Software Architect and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations, and author and/or editor of 6 books spanning a variety of technologies, including the most recent The Productive Programmer. He focuses on designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 250 developer conferences worldwide, delivering more than 1000 talks. Check out his web site at nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.

(PDF)

Presentation: The Kotlin Programming Language

Kotlin is a new statically typed JVM-targeted programming language developed by JetBrains and intended for industrial use. Kotlin is designed to be fully Java-compatible, and at the same time safer, more concise than Java and way simpler than its main competitor, Scala. Also, IDE support is being developed in parallel with the language itself. Kotlin is under development. Currently, documentation describing the design of the language is available, and an initial beta release of the compiler is planned for the end of 2011. In the presentation, we will give an overview of the language and demonstrate the IDE support capabilities. The features we're planning to cover include: first-class functions (closures), pattern matching, null safety and automatic casts, extension functions, class objects, reified generics and declaration-site variance. Project homepage: http://jetbrains.com/kotlin

Andrey Breslav

Andrey Breslav, JetBrains

Andrey is the lead language designer in Project Kotlin. He started his career at Borland working on language implementations for MDA support. He spent a few years teaching in college and developed courses in Basics of OOP, Software Design and Programming Practice. Andrey joined JetBrains to start Project Kotlin in 2010. He serves as a Java Community Process expert in a group working on JSR-335 ("Project Lambda").

Andrey is a frequent conference speaker delivering talks at venues like OSCON, StrangeLoop and Devoxx.

BOF: The OpenJDK Community BOF

Informal gathering with OpenJDK committers and enthusiasts - bring your questions about OpenJDK and we'll try to answer them.

Dalibor Topic

Dalibor Topic, Oracle

Dalibor Topić lives in Hamburg, Germany, and works as Java F/OSS Ambassador for Oracle. He joined the OpenJDK project in order to help make it a successful open source project, and stayed for anchoring Java in Linux distributions, and as an all around Java F/OSS community guy. He joined the Java strategy team at Oracle to help provide community feedback into the long-term strategy planning.

(PDF)

Presentation: The road to REST

Building REST API's for distributed applications is becoming more and more popular. But, there is one thing that most developers miss, which is the HATEOAS requirement, i.e. linking. This session will explain how exposing use-cases brings a natural solution to this problem, and how this will simplify both API development, documentation, as well as client development.

Rickard Öberg

Rickard Öberg, Neo Technology

Rickard has worked on several OpenSource projects that involve J2EE development, such as JBoss, XDoclet and WebWork. He has also been the principal architect of the SiteVision CMS/portal platform, where he used AOP as the foundation. Now he works for Neo Technology, developing the Neo4j graph database and working with the community. Speaker at Javazone, Javapolis, Jfokus, Øredev, Developer Summit etc

(PDF) (PodCast)

Presentation: Tuning the HotSpot JVM's Garbage Collectors

The HotSpot JVM has been refined and revised with every release of the JDK since the advent of Java in the mid 90ies. Today, Java developers face an abundance of GC algorithms - from plain and simple serial stop-the-world collectors with a single reaper thread to highly parallelized collectors that run several GC threads concurrently with application threads. Each of these collectors can be configured and tuned in various ways in order to control pause times or increase throughput. The number of choices a Java developer has for configuring the JVM:s garbage collection for his application is overwhelming. Hence, garbage collector tuning for the SUN/Oracle JVM is a daunting task. The talk aims to shed light onto the garbage collection strategies in the Sun/Oracle JVM by explaining all algorithms (including Java 7:s Garbage-First collector) and discussing strategies for tuning and configuration of the various collectors.

Angelika Langer

Angelika Langer, Angelika Langer Training/Consulting

Angelika Langer works as a freelance trainer and mentor with an independent course curriculum of several challenging C++ and Java courses based in Germany. She is co-author of several columns (currently in JavaMagazin), co-author of the books ?The Standard C++ IOStreams and Locales?, 2001 and ?Java Core Programmierung?, 2011, author of the online Java Generics FAQ, and a recognized speaker at conferences all over the world. See www.AngelikaLanger.com for details.

(PDF) (PodCast)

Presentation: Unleash Your Domain

Our application runs over 10,000 sustained transactions per second with a rich model. The key? Modeling state transitions explicitly. In today's world many systems have non–functional requirements that prevent them from being single database centric. This presentation looks at how Domain Driven Design can fit into such environments including extremely large scale web sites, batch processing, and even using highly scalable backing stores such as CouchDb or HyperTable. Event streams, a different way of storing the current state of an object, open many doors in this session not only in how we scale and store our domain but also in how we rationalize about it

Greg Young

Greg Young

Greg Young is an independent consultant who lives in two suitcases (literally). When not travelling around working for clients throughout the world you can often find him on the domain driven design list, blogging at codebetter.com, or floating upside down in a kayak through rapids.

 

(PDF) (PodCast)

Presentation: Up and out: Scaling software with Actors

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). With Akka 2.0 this will be taken to a whole new level, and in this presentation we will talk about "Distributed by Design", how it scales from small projects to huge projects, and how we've projected what we've learned during the 1.x series into the 2.x series.

Viktor Klang

Viktor Klang, Typesafe

Viktor Klang, also known as √, is a passionate programmer with a taste for concurrency paradigms and performance optimization. Currently working as Tech Lead for the Akka project at Typesafe.

 

(PDF) (PodCast)

Quickie: Vad Clojure lärt mig om objektorientering (som jag inte lärt mig av Java)

Trots att Clojure är ett i grunden funktionellt språk innehåller det många aspekter av objektorientering. Genom att studera Clojure får man upp ögonen för nyanser av objektorienterad design som man inte stöter på i rena Java-sammanhang. Jag vill ge några tankeväckande exempel på områden där jag tycker att Clojure uppmuntrar objektorientering på ett enklare sätt än Java.

Ville Svärd

Ville Svärd, Agical AB

Ville is software developer of mostly Java-based systems with experience in both architecture and testing. He strives to create and enjoy collaborative environments and sustainable practices. He has a very weak spot for trying out new ideas in software, be it libraries, methods, design or languages.

(PDF)

Quickie: We visualized, we saw, we changed

Realtime monitoring provides everyone on a team, as well as interested stakeholders, with a shared and deepened understanding of how a system performs. Visualize it and you get direct feedback form the heart of your system. In this session we want to share our experiences with introducing monitoring and how the feedback it provided influenced both system design and team collaboration. We will use Graphite, a monitoring tool that makes data gathering no harder than printing "Hello world" and realtime visualization even easier. We will show how a monitoring tool like this; simple, instantly available and used continuously; was instrumental in implementing change in behaviour and collaboration.

Leonard Axelsson

Leonard Axelsson, Mojang

Leonard is a developer with Mojang, the company behind the Java based indie-hit Minecraft. He works mainly with backend development and cloud-based operations. Previously he's worked as a Java consultant with a focus on the JVM and related technologies. He also runs the Stockholm-based Groovy usergroup SweGUG. He has previously spoken at Jfokus, Dyncon and many of Stockholms usergroups, such as GTUG, Javaforum and Agical Geeknight.

(PDF)

Presentation: What to Expect from HotRockit

Oracle is converging the HotSpot and Oracle JRockit JVMs to produce a "best-of-breed JVM." Internally, the project is sometimes referred to as the HotRockit project. This presentation discusses what to expect from the converged JVM over the next two years and how this will benefit the Java community.

Marcus Hirt

Marcus Hirt, Oracle

Marcus is one of the founders of Appeal Virtual Machines, the company that created the JRockit JVM. He is currently working as Team Lead for the JRockit Mission Control team. In his spare time he enjoys coding on his many pet projects, composing music, and scuba diving. Marcus has contributed JRockit related articles, whitepapers, tutorials, and webinars to the JRockit community, and has been an appreciated speaker at various conferences, such as Oracle Open World and Java One. He is also one of the two authors behind a popular book about JVM technology.

(PDF) (PodCast)

Presentation: Zero Downtime Continuous Deployment of Java Web Applications

Continuous Deployment allows to deploy code in production as soon as it has passed the quality assurance tests. This technique can dramatically reduce the release cycles, giving the company the speed expected in today's world, specially for internet based services. With the right tooling and techniques, a company can create an error free and secure process to automatically deploy its applications in production. Continuous deployment, however, is only viable if you can guarantee zero downtime for your application during the deployment process. With dynamic languages like PHP and Ruby, this is straightforward. Just copy the new files to the deployment folder and voilà! With Java web applications, however, things are not so simple. Although many application servers offer autodeploy features, you'll still have a few seconds of downtime while the server is deploying the application. This presentation will show how to create a continuous deployment process with zero downtime for Java web applications. Using tools like Hudson/Jenkins, REST services and open source application servers, you'll learn through real world examples how to create a secure and error free continuous deployment process for your application. We will also show how to deploy to cloud based servers, like Amazon AWS, what are pitfalls and limitations for these cloud offers and how you can overcome them.

Fabiane Bizinella Nardon

Fabiane Bizinella Nardon, RBS

Fabiane Nardon is a computer scientist who is passionate about creating software that will positively change the world we live in. She was the architect of the Brazilian Healthcare Information System, considered the largest JavaEE application in the world and winner of the 2005 Duke's Choice Award. She leaded several communities, including the JavaTools Community at java.net, where 800+ open source projects were born. She is a frequent speaker at conferences in Brazil and abroad, author of several technical articles and member of the program committee of several conferences as JavaOne, OSCON, TDC. She was chosen a Java Champion by Sun Microsystems as a recognition of her contribution to the Java ecosystem. Currently, she works as a tools expert at ToolsCloud and as chief architect at RBS, where she is helping to shape new disruptive Internet based services.

Video: Introduction