15 Feb 2012

Tid

Rum A1

Rum A2

Rum A4

Rum C1

Rum C3

08.00

Utställningen öppnar

9.00-
9.50

7 Things: How to make good teams great
Sven Peters, Atlassian
(PDF)  
JSR107: The new Java Caching Standard
Greg Luck, Terracotta
(PDF)  
Functional Thinking
Neal Ford, ThoughtWorks, Inc
Building iOS applications in Java
Johannes Häyry, Vaadin Ltd
(PDF)  
PaaSing a Java EE Application
Arun Gupta, Oracle
(PDF)  

9.50

Kaffe

10.10-
11.00

Lambdas in Java 8
Angelika Langer, Angelika Langer Training/Consulting
(PDF)  
HTML5 with Play Scala, CoffeeScript and Jade
Matt Raible, Raible Designs
(PDF)  
Tackling Android fragmentation
Glenn Bech, Inmeta Consulting AS
(PDF)  

11.10-
12.00

The Art of (Java) Benchmarking
Cliff Click, Azul Systems
(PDF)  
Up and out: Scaling software with Actors
Viktor Klang, Typesafe
(PDF)     (PodCast)
So whats so cool about Android 4.x
Lars Vogel, vogella.de
(PDF)  

12.00

Lunch och utställning

13.00-
13.50

Android: A Security Analysis
Hadi Nahari, NVIDIA
(PDF)     (PodCast)
Retrospective from the year of DevOps
Daniel Fröding, Diabol AB
(PDF)  

14.00-
14.50

Regex Applied - When Regex is a Winner
Staffan Nöteberg, Rekursiv AB
(PDF)     (PodCast)
What to Expect from HotRockit
Marcus Hirt, Oracle
(PDF)  
Scala in Action
Heiko Seeberger, Typesafe
(PDF)  
Developing portable PaaS applications
Andrew Phillips, jclouds
(PDF)  
C
o
f
f
e

15.35-
15.50

We visualized, we saw, we changed
Leonard Axelsson, Mojang
(PDF)  
Tesla - the Maven successor
Anders Hammar, Devoteam
(PDF)     (PodCast)
Lightning intro to CloudFoundry
Josh Long, SpringSource, a division of VMware
(PDF)  

16.00

CLOSING KEYNOTE

Cool Code
Kevlin Henney, Curbralan
(PDF)  

17.30

Tack för i år, vi ses 2013

EnglishWhat to Expect from HotRockit

Marcus Hirt, Oracle

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.

EnglishDeveloping portable PaaS applications

Andrew Phillips, jclouds

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.

EnglishIt Is Possible to Do Object-Oriented Programming in Java

Kevlin Henney, Curbralan

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.

EnglishJava EE 7: Developing for the Cloud

Arun Gupta, Oracle

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.

EnglishZero Downtime Continuous Deployment of Java Web Applications

Fabiane Bizinella Nardon, RBS

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.

EnglishLambdas in Java 8

Angelika Langer, Angelika Langer Training/Consulting

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.

EnglishDeveloping Mobile Web Apps with PhoneGap

Pamela Fox

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.

EnglishPaaSing a Java EE Application

Arun Gupta, Oracle

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.

English"git push" Java & Play! Apps to the Cloud

James Ward, Heroku

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.

EnglishOne-liners are your friend: Increasing Productivity with Scala

Thomas Alexandre, DevCode Consulting

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.

EnglishDeveloping Enterprise-Scale Java Applications on Windows Azure

Brian Prince, Microsoft

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.

EnglishSo whats so cool about Android 4.x

Lars Vogel, vogella.de

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.

EnglishTackling Android fragmentation

Glenn Bech, Inmeta Consulting AS

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.

EnglishRegex Applied - When Regex is a Winner

Staffan Nöteberg, Rekursiv AB

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.

EnglishBuilding iOS applications in Java

Johannes Häyry, Vaadin Ltd

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.

EnglishRetrospective from the year of DevOps

Daniel Fröding, Diabol AB

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.

EnglishThe Art of (Java) Benchmarking

Cliff Click, Azul Systems

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.

English7 Things: How to make good teams great

Sven Peters, Atlassian

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.

EnglishSQL, NoSQL, NewSQL? What's a developer to do?

Chris Richardson

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.

EnglishAndroid: A Security Analysis

Hadi Nahari, NVIDIA

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.)

EnglishAn introduction to NFC, smartphones and you

Lars Westergren, Mejsla

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.

SwedishTesla - the Maven successor

Anders Hammar, Devoteam

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.

SwedishWe visualized, we saw, we changed

Leonard Axelsson, Mojang

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.

EnglishJSR107: The new Java Caching Standard

Greg Luck, Terracotta

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

EnglishCool Code

Kevlin Henney, Curbralan

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.

EnglishLightning intro to CloudFoundry

Josh Long, SpringSource, a division of VMware

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.

EnglishFunctional Thinking

Neal Ford, ThoughtWorks, Inc

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.

EnglishHTML5 with Play Scala, CoffeeScript and Jade

Matt Raible, Raible Designs

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.

EnglishUp and out: Scaling software with Actors

Viktor Klang, Typesafe

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.

EnglishIntroducing Scalate, the Scala Template Engine

James Strachan, FuseSource

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.

EnglishScala in Action

Heiko Seeberger, Typesafe

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.