Talks

(PDF)

Presentation: Adding HTML5 to your Native Android Application

There are many reasons for integrating web content into your native Android applications, for example formatting and styling text or reusing content between platforms. Either way, a thorough understanding of how the web component works, and what you can and can't do with it, is the key to successfully implementing a hybrid application.

In this presentation the different techniques used to integrate HTML5 content into an native Android application will be demonstrated.

The audience will learn how to communicate between Android and the web component, customizing the web component, taking care of resource loading, handling errors, and making the web view blend into the native application.

Martin Gunnarsson

Martin Gunnarsson, Axis Communications

Great programmers are usually lousy designers, and vice versa, but Martin is one of those rare crossbreeds who can handle both. Graphics programming and GUI design suits him particularly well, but being a true perfectionist, heʼs rarely satisfied with the results of his own work. Martin comes from a Java/Swing background, but has been working almost entirely with JavaScript and Objective-C the last few years.

Pär Sikö

Pär Sikö, Jayway

Pär is a passionate developer who's been working with client side Java for more than ten years and that is hoping for another ten years filled with challenges and new technology. Pär is a fast learner with a need to always learn more and never being satisfied, always wanting more. This is a good thing since GUI programming always ends up on pixel level where the details are of utter most importance.

(PDF)

Quickie: AirCasting - Crowdsourcing Environment Data

I'd like to introduce you to AirCasting, a platform for recording, mapping, and sharing health and environmental data using your smartphone. Measure humidity, temperature, gases (NO2, CO), noise and your own heart rate. With an Android, and Bluetooth-powered sensors. Plus a few Arduino-powered devices, LEDs, all tangible.. Except for the few hiccups Android served us along the way.

Andrzej Grzesik

Andrzej Grzesik, LunarLogicPolska

I like programming. I do it a lot, mostly on the JVM, usually writing fancy backends for big, distributed systems. I also display a particular affection to continuous delivery.. UI, unless quickly hacked, is not my play ;-)

I believe that most problems we deal with are people problems, so I mix and match tools with technologies to achieve my goals, make people happy and achieve world peace :-) I believe in software quality, am one of the organizers of GeeCON, Polish JUG, Krakow Software Craftsmanship, Cracow Hadoop User Group. In my free time, I read paper books and cycle, a lot!

Video: Introduction

(PDF)

Presentation: An app is not enough

Native or web? That seems to be one of the biggest questions on the market right now. But what do you do when an app is not enough? How can you create something that works great on a 4" phone as well as on a 60" television? Responsive web design can be the answer for you and it's one of the hottest trend in web design right now. Joakim will use this technique to give you an understanding of how to design and code web applications for 2013 and beyond. The result will be shown in a demo that will possibly change the way you think about the web.

Joakim Kemeny

Joakim Kemeny, Callista Enterprise

Joakim Kemeny is working as a consultant and he helps his customers by creating great user experiences for web applications, mobile devices and public web sites. His interests spans from creating a solid web architecture that can support a high performance web application to getting his hands dirty in CSS rules that make Internet Explorer shine. Joakim has been making web sites since 1996 so when he started sharing his thoughts as a public speaker it was natural to focus on the different things that makes a great front end developer.

(PDF)

Presentation: Apache Cassandra in Action

Cassandra is the scalable NoSQL database powering modern applications at companies like Netflix, eBay, Disney, and hundreds of others. This talk will cover Cassandra use cases, features, and a taste of what developing against Cassandra is like.

Jonathan Ellis

Jonathan Ellis, DataStax

Jonathan is CTO and co-founder at DataStax as well as Project Chair of Apache Cassandra. Prior to his work on Cassandra, Jonathan built a multi-petabyte, scalable storage system based on Reed-Solomon encoding for backup provider Mozy.

(PDF)

Presentation: Are Your GC Logs Speaking to You

Getting GC logs is cheap and easy. Just set a couple of switches on the command line and you'll be given the insight into what this performance critical piece of the JVM is up to. For example, many applications are starved for memory in at least one of their internal memory pools. A simple check of the GC logs will tell you if your suffering from starvation. That same data can then be used to calculate a configuration that can result in huge differences in the performance of your application. But it's not only starvation that can be a problem. Having too much memory or an unbalanced configuration can be equally problematic. Or your problem may be as simple as your application's calling System.gc(). All these conditions can be, and in some cases, can only be, diagnosed by listening to what the logs are telling you. In this session we will look some interesting GC logs as well as tools that can be helpful in identifying anti-performance conditions.

Kirk Pepperdine

Kirk Pepperdine, Kodewerk Ltd

 Kirk's career began in Biochemical Engineering, where he applied his researching skills in attaching computers to sheep and cats, synthesising radio-active tylenol and developing separation techniques using High Performance Liquid Chromatography for Ottawa University and the National Research Council of Canada. Subsequently, he became employed by the Canadian Department of Defense. Kirk admits that his work at the DoD involved programming Cray supercomputers as well as other Unix systems, but he refuses or is unable to divulge the exact nature of the applications in the department other than that they involved databases and high performance systems.

Kirk is a principle consultant for Kodewerk where he has focused on performance tuning. Kirk has been involved with object technologies and performance for almost 20 years. In addition to being a co-author of ANT Developers Handbook, he contributes to www.javaperformancetuning.com and is an editor for TSS www.theserverside.com

(PDF) (Video)

Presentation: BeagleBoard, RasberryPi, HTML5 and Java

Usually Java developers do not create code for embedded devices because there was no good Java support on these devices. Oracle figured out that there is a huge market for embedded devices and decided to support Java and JavaFX on hardware like the very popular Raspberry Pi and the BeagleBoard xM. With Java technology available on these platforms it's very interesting to see what you can do with this. This session will give you a short overview on the available technologies and will explain the interaction between different technologies and where they make sense. The uses case will be a temperature monitoring application where a Raspberry Pi running on Java7 embedded is measuring the temperature and sends the measured data to other devices. One of these devices is a BeagleBoard xM running Java7 incl. JavaFX for ARM which is visualizing the measured data from the Raspberry Pi on a touch screen. Also involved in the use case will be a desktop application running JavaFX to visualize the data and at least a mobile device visualizing the measured data using HTML5 Canvas.

Gerrit Grunwald

Gerrit Grunwald, Canoo Engineering AG

Gerrit Grunwald is working as a software engineer at Canoo Engineering AG (Basel, Switzerland). He is responsible for visualizations of all kinds. His technical interests include Java desktop development and specifically the subareas - JavaFX, Java Swing and HTML5 controls. He's a decent frequent blogger (http://www.harmonic-code.org), founder and leader of the Java User Group in Muenster (Germany), where he's also living. He has been involved in the IT industry since 1996, when he began to study physics at the University of Applied Sciences Muenster (Germany).

(PDF)

Tutorial: Behaviour Driven Development with Cucumber for Java

Cucumber has been around a long time in the Ruby world. It is a popular tool that allows development teams to describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated test and development-aid - all rolled into one format. Cucumber-JVM has been available to the Java community since March 2012.

I will develop an example where we can see how a model will grow from the desired external behaviour. The developed model doesn't yet have a GUI. I will extend the example with a GUI without changing the wanted behaviour and test it using Selenium.

Feature: A system need to be developed to show BDD
-Given a requirement
-When we develop a model
-Then we have a working system

Feature: Add GUI to the system developed
-Given a model
-When we add a user interface
-Then we will not need to change the specifications

I will finally show you how Cucumber can be fitted into your continuous integration/delivery system using Maven and thus be a crucial part of your automated acceptance test suite.

Thomas Sundberg

Thomas Sundberg, Waymark

Thomas Sundberg is a consultant and developer at Waymark in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. Thomas has been working as a developer since 1988 and a Java developer for more than ten years. He has also worked as a lecturer at The Royal Institute of Technology, KTH, one the leading technical universities in Sweden, teaching programming. Thomas has an obsession for technical excellence which translates to Software Craftsmanship, Clean Code, Testing and Automation.

Thomas runs a blog where he write tutorials, it can be found at http://thomassundberg.wordpress.com/

(PDF)

Presentation: Benefits of Java to the embedded Ecosystem

Gemalto provides M2M solutions for more than 15 years. Gemalto has introduced a new generation of Java-enabled Cinterion modules to deliver a powerful and flexible hub for a wide range of embedded applications. The Technology benefits the entire end-to-end solution. Vertical applications benefit from easier integration of very specific vertical applications and customization. The module provides resources for processing tasks and extended functionalities. The backend connection to the module is simplified through the protocol hosting capabilities of Java on the module. The Module can function as a management gateway to the application deployed in the field. Find out more about the technical details of the new Module, the Java implementation and how the module can be used.

Axel Hansmann

Axel Hansmann, Gemalto

As vice president of strategy and marketing for Gemalto M2M, Axel Hansmann brings more than 15 years of telecommunications and technology management experience to the management team. In this role, he?s responsible for developing strategies to drive business growth in new and existing markets, enhancing the customer experience worldwide and building brand awareness as the market leader in M2M technology. Before joining Gemalto, Mr. Hansmann was with boardeleven Management Consultants where he focused on evaluating market entry and strategic growth options in the M2M industry for a leading module manufacturer and mobile network operators. Prior to that, he worked for eight years at Telefónica O2, a leading telecommunications carrier in Europe where he took on various responsibilities covering network technology, product management and business strategy.

(PDF)

Presentation: Big Data Real World Use Cases

OK, so recently or in the near future your boss (or inner voice) will tell you "We need to figure out how we can utilize Big Data". Maybe you've heard about Hadoop, but you haven't really had the time yet to wrap your head around how to actually get more value out of new types and huge sets of data. What can Hadoop do for you? This is a talk giving examples of how Hadoop can be used for real world use cases. Attend this talk to get inspired and educated on how to use Hadoop to analyze social media data, and learn from a walk-through of gaming giant King.com's impressive use case which will offer insights and "gotchas" and will provide steps on how to get your first results using this popular Big Data processing framework.

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 joined Cloudera in 2012 to help drive the future of Cloudera's Distribution of Hadoop.

(PDF)

Presentation: Building Rich Web Applications with Ext JS

Ext JS is a powerful JavaScript platform which allows you to create great cross-browser web applications. The library includes everything from an advanced class system, to all the widgets you need such as data bound grids, trees and forms. Its greatest strength however, is perhaps its component model and clean extensibility. This makes it very easy to customize, extend and create your own widgets. We?ll be looking at what Ext JS offers out of the box and I will also demonstrate how easy it is to write a custom component.

Mats Bryntse

Mats Bryntse, Bryntum

Passionate about all things involving web, JavaScript, HTML5. Addicted to Sencha's web technologies (Ext JS, Sencha Touch) since 2007. Mats runs a small Swedish company called Bryntum, that makes web based Gantt chart components as well as a JavaScript unit testing tool called Siesta.

(PDF)

Presentation: Building Scalable, Highly Concurrent and Fault-Tolerant Systems: Lessons Learned

The skills of building Scalable, Highly Concurrent and Fault-Tolerant Systems are becoming increasingly important in our new world of Cloud Computing, multi-core processors, Big Data and Real-Time Web. Unfortunately, many people are still doing it wrong; using the wrong tools, techniques, habits and ideas. In this talk we will look at some of the most common (and some not so common but superior) practices; what works - what doesn't work - and why.

Jonas Bonér

Jonas Bonér, Typesafe Inc.

Jonas Bonér is a geek, programmer, speaker, musician, writer and Java Champion. He is the CTO and co-founder of Typesafe and is an active contributor to the Open Source community; most notably founded the Akka Project and the AspectWerkz AOP compiler (now AspectJ). Learn more at: http://jonasboner.com

Quickie: Busy Developer's Guide to HTML5 Development

HTML5 has suddenly become a hot item, even in the Java ecosystem. How do the 'old' technologies of HTML, JavaScript, and CSS relate to Java developers and can Java developers really be productive in this new/old world? In this session, you'll learn everything you need to know and see a hands on demo illustrating the relevance of HTML5 in the Java world, using simple and intuitive tools that have been especially created for this purpose!

Geertjan Wielenga

Geertjan Wielenga, Oracle

Geertjan Wielenga is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer, primarily focused on the NetBeans IDE and the NetBeans Platform. He blogs daily at http://blogs.oracle.com/geertjan.

(SLIDES)

Presentation: Continuous Delivery Patterns for Large Software Stacks

We will look at common patterns for building larger software stacks and discuss their advantages and disadvantages. We will also present a new build and promotion patterns that scales even with very large software stacks and allows you to integrate as early as possible but at the same time keep the delivery pipeline for new features flowing. This is a critical problem for many teams. The presenter will share many stories of real life projects, how they were affected by a dysfunctional pipeline and what it took to improve their situation. There are quite a few larger projects for which a naive practice of early integration between their components lead to constant breakages and a defect delivery pipeline. Thus they were not capable to successfully build a new version of the software stack for days or even weeks. Obviously the problem of that is dramatic as no regular manual testing and capacity testing is taking place. Not only is this a massive waste of testing resources, it also leads to very long and therefore expensive feedback cycles that severely affect your time-to-market of new features. It also a likely source of conflict between the CI team and software development, as with no other means at hand, there is a desire to create stability by not adding new features or doing important refactorings.

Hans Dockter

Hans Dockter, Gradleware

Hans Dockter is the founder and project lead of the Gradle build system and the CEO of Gradleware, a company that provides training, support and consulting for Gradle and all forms of enterprise software project automation in general.

Hans has 13 years of experience as a software developer, team leader, architect, trainer, and technical mentor. Hans is a thought leader in the field of project automation and has successfully been in charge of numerous large-scale enterprise builds. He is also an advocate of Domain Driven Design, having taught classes and delivered presentations on this topic together with Eric Evans. In the earlier days, Hans was also a committer for the JBoss project and founded the JBoss-IDE.

(PDF) (Video)

Presentation: Continuous Delivery: from Dinosaur to Spaceship in 2 years

The SAP ID Service is SAP's identity management system for its websites and cloud operations. The team that built it came from a background of writing web applications in Java 1.4 for an ageing and proprietary platform where it took up to a week just to deploy a new release after it had passed mostly manual QA. With the SAP ID Service project starting in 2010 the team rebooted itself: we adopted Scrum and started building the SAP ID Service using a lean, modern and standards-based application server built from open source components and using Continuous Delivery for build, test and deployment. We are now at the stage where each commit leads to a build with automated test coverage via Cucumber followed by a blue/green deployment to a production-like QA landscape which is provisioned from a cloud and configured automatically using Chef. A similar deployment to production is just a couple of clicks away, and the cloud-based technology used for this also enables developers to provision their own landscapes using a simple web-based tool. This talk will describe our journey, not only sharing our experiences but also welcoming questions and stories from others in the room.

Darren Hague

Darren Hague, SAP

Darren Hague is an engineering architect in SAP Global IT's Cloud Center of Excellence. He has spent the last 10 years working in the area of identity management and single-sign on, specialising in the use of Java in the SAP ecosystem. Although his title says Architect he writes code more often than he writes PowerPoint slides, and he has spent the last couple of years working in the team that built a core component of SAP's cloud offering, the SAP ID Service. A speaker at JavaZone, SAP TechEd and SAP Community Day conferences, he is also a SAP Mentor alumnus, co-organiser of SAP Inside Track London events, and author of the SAP Press book "Universal Worklist with SAP NetWeaver Portal".

Tutorial: Continuous Integration with Jenkins

Jenkins is a continuous integration server that facilitates the automation in software development. In this talk, I'll discuss what's new in the project, as well as various techniques to get more out of your Jenkins server, such as distributed build techniques, some key plugins, larger scale choreography that spans across many jobs for sophisticated automation, and so-called "unbreakable builds" set up that allows Jenkins to inspect incoming changes before it is made available to other team members.

Kohsuke Kawaguchi

Kohsuke Kawaguchi, Cloudbees

Kohsuke is the creator of Jenkins and wrote the majority of the Hudson core single-handedly. He has over 10 years of experience in software development, ranging from Java to C++ and .NET to x64 assembly and including the Windows, Linux and Solaris platforms. His experience was a key enabler in developing various advanced features of Jenkins. Kohsuke was also involved in JAXB, Metro web services stack, GlassFish v3 and RELAX NG at Sun. In addition to Jenkins, he is known for many other open-source projects, including: args4j, YouDebug, com4j, Animal Sniffer, Sorcerer, wagon-svn, MSV and Parallel JUnit extension

(PDF)

Quickie: Creating a Configuration Standard for Java EE

A recurring problem that developers and devops face is when they deploy an existing Java EE application in a different environment and want to configure it for the new environment without having to crack open the archive. We will introduce a potential JSR proposal that will go about solving this problem by defining a new Java EE configuration service. Such a service would provide the ability to create one or more configurations independent of the applications that use them. We will describe how such a service could provide other kinds of configuration features as well, including tenant-based configuration, configuration change notification, versioned profiles, and more. Come see how Java EE is getting more devops friendly!

Mike Keith

Mike Keith, Oracle

Mike Keith has been an object-oriented programming, enterprise, distributed systems and persistence expert for over 20 years. He works at Oracle as an architect on the Enterprise Java platform and contributes to Java EE and many of the subspecifications that make up the Java EE portfolio.
He has represented Oracle on numerous expert groups and is a reknowned speaker and author. He is also currently the project lead of the Eclipse Gemini project that produces reusable enterprise modules supporting Java EE-based applications.

(PDF)

Presentation: Delivering high performance Internet of Things and M2M services

Yanzi delivers a horizontal platform that brings simplicity and performance to a new level. The advanced JAVA architecture allows software to be moved between the cloud servers and the gateways. All sensors are kept low cost and stateless, while all intelligent decision making and state is left for the JAVA platform.
Based on the Internet Protocol (IP) suite, the platform addresses the challenges of running multiple applications and devices on a common networking infrastructure, dramatically improving efficiency, lowering costs and ensuring reliable delivery of services.
Currently, Yanzi provides services for remote monitoring with streaming video, temperature, energy flow and several other sensors. This talk will present the platform and the technical challenges and solutions selected to become a world class IoT platform.

Lars Ramfelt

Lars Ramfelt, Yanzi Networks AB

Lars Ramfelt, CEO and founder of Yanzi Networks. Yanzi designs and builds intelligent M2M broadband solutions for remote access of smart objects such as video cameras and ambient sensors using standard Internet technologies. Lars holds a PhD in Computer Systems Networking and Telecommunications and has founded several networking companies in Sweden and Silicon Valley.

Presentation: Design Patterns in modern JVM Languages

The GOF design patterns were quite centered around OOP languages. Now that we have dynamic and functional languages on the JVM, there are quite a few other patterns that come in handy with these capabilities. In this presentation we will explore patterns that allow us to make better use of closures and functional style of programming.

Venkat Subramaniam

Venkat Subramaniam, Agile Developer, Inc.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is the co-author 2007 Jolt Productivity Award winning "Practices of an Agile Developer," the author of "Programming Groovy: Dynamic Productivity for the Java Developer" and "Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine" (Pragmatic Bookshelf). His latest book is "Programming Concurrency on the JVM: Mastering synchronization, STM, and Actors".

(PDF)

Presentation: Designing HTML5 Components

Many toolkits offer a wide range of widgets for building rich web applications on top of HTML5 platform. For a real world application these are rarely enough, making development of custom user interface components a necessity. Unfortunately, designing reusable components is far from trivial.

In this presentation we discuss best practices for designing reusable web components. During the presentation we review all the steps for building a new user interface component starting from an early idea up to packaging and distributing the component. The component is prototyped in HTML and JavaScript, implemented Google Web Toolkit and Vaadin Framework usign HTML5 canvas. All of these technologies are introduced during the presentation.

Joonas Lehtinen

Joonas Lehtinen, Vaadin Ltd

Joonas Lehtinen has a PhD in computer science and is one of the core developers of Vaadin, a Java-based framework for building business-oriented Rich Internet Applications. Joonas has been developing applications for the web since 1995 with a strong focus on Ajax and Java. He is the founder and CEO of the company behind the Vaadin framework.

(PDF)

Presentation: Do you like coffee with your dessert? Java and the Raspberry Pi

The Raspberry Pi has caused a huge wave of interest amongst developers, providing an ARM powered single board computer running a full Linux distro off an SD card and all for only $35! This session will look at how Java can be used on a device like this. Using Java SE for embedded devices and a port of JavaFX we will show a variety of demonstrations of what the Raspberry Pi is capable of. The Raspberry Pi also provides GPIO line access and we?ll cover how these can be used from Java applications. Prepare to be amazed at what this tiny board can do.

Simon Ritter

Simon Ritter, Oracle

Simon Ritter is a Java Technology Evangelist at Oracle Corporation. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time he started working with Java technology and has spent time working both in Java technology development and consultancy. Having moved to Oracle as part of the Sun acquisition he now focuses on the core Java platform and Java for client applications. He also continues to develop demonstrations that push the boundaries of Java for applications like gestural interfaces. Follow him on Twitter, @speakjava and on his blog at blogs.oracle.com/speakjava.

(PDF)

Presentation: Easy Scaling with Open Source Data Structures

Today's applications are getting more and more distributed everyday and it is well-known that distributed programming is hard. With Hazelcast though, distributed programming is easy and lots of fun. A common reaction of Hazelcast users is 'Ooh my God, this cannot be that easy'. Hazelcast is an open source, highly scalable, transactional, distributed/partitioned implementation of queue, map, set, list, lock and executor services for Java. Hazelcast is for you if you like to easily: share data/state among many servers (e.g. web session sharing), cache your data (distributed cache), cluster your application, partition your in-memory data, send/receive messages among applications, distribute workload onto many servers, take advantage of parallel processing or provide fail-safe data management

Talip Ozturk

Talip Ozturk, Hazelcast

Talip Ozturk is the founder of Hazelcast. He has been working with enterprise Java since 1999. He worked as a consultant at MIC (Virginia), developer at a start-up company, Syncline (Boston) and sales architect at Itochu Technologies (New York). In 2003, he got fascinated by Jini and developed an implementation of JavaSpaces. In 2008, his passion for distributed programming led him to develop Hazelcast. Before Hazelcast, Talip was the director of technology at Zaman Media Group (Istanbul). In his free time, he enjoys playing soccer.

(PDF)

Presentation: Eclipse M2M: Open Source building blocks for the Internet of Things

The Eclipse M2M Industry Working Group (http://m2m.eclipse.org) is an open-source initiative delivering a set of building blocks for creating IoT solutions. This talk will walk you through the different projects and technologies this group is developing (from embedded application framework, to communication protocols, including development tools) and a live demo will show you how you can very quickly combine the components we provide with Open-Source Hardware platforms (Arduino & Raspberry Pi) to build a complete solution. Join us if you want to learn more about the Lua programming language, the MQTT protocol, and all the cool technologies that we use :)

Benjamin Cabé

Benjamin Cabé, Sierra Wireless

Benjamin is Open Source Evangelist at Sierra Wireless. He has a longtime passion for Eclipse and its ecosystem, and is a committer on several Eclipse projects (e4, PDE, ...) and contributor to numerous other open source projects. He leads the Koneki and Mihini projects and actively participates to the M2M Industry Working Group. In his day-to-day job, he supports the community and advocates the use of innovative technologies (Lua, modeling, ...) for the Internet of Things. When not wandering on the Koneki forum, he is building crazy communicating devices using Arduino kits! You can find him online on Twitter (@kartben) or on his blog: http://blog.benjamin-cabe.com.

(PDF)

Presentation: Effective Scala

Everything you always wanted to know about Scala but were afraid to ask. If you want to be able to optimize your use of the Scala programming language to solve real world problems without explosions, broken thumbs or bullet wounds then this is the session for you.
During the presentation there will be a lot of do's and don't's in order to guide you into how to become a better Scala developer. The target audience is intermediate to advanced Scala developers.

Henrik Engström

Henrik Engström, Typesafe

Henrik has worked as a professional software developer since 1998. During these years his main focus has been highly transactional systems within the finance, retail and online e-gambling industries. He is currently based in Sweden and works in the Akka team at Typesafe.

Tutorial: First steps to Scala

In this session we will provide an introduction to the Scala programming language, a language that fuses object oriented programming with functional programming.

The session will cover topics including:
Using the Scala REPL
Control structures in Scala (while, if, try)
Type inference
Classes, Objects and Traits
Function Literals and Closures
Introduction to the Scala collections API
Avoiding nulls
For expressions
Approaching functional programming in Scala

and more if there is time. The material will be presented in 2 sessions of 1.5 hours each, and we will get through as much as possible in the time allotted.

Dick Wall

Dick Wall, Escalate Software

Dick Wall is a veteran Java developer who converted to Scala about 4 years ago and has never looked back. He is currently self employed and offers Scala training and consulting service in a partnership with Bill Venners called Escalate Software. In addition, Dick is founder of the Bay Area Scala Enthusiasts, one of the first Scala user groups in the US, and also founder and co-host of the Java Posse, a popular Java development podcast.

(PDF)

Presentation: Functional Groovy

In recent years functional programming has gained ground over object oriented mainly due to the advancement in computing power. The JVM is no exception, you can find powerful contenders in Clojure and Scala. However Groovy doesn't stay behind. The Groovy programming language contains a wide array of APIs and features that facilitate a functional programming style, such as closure composition, memoization, trampolines, iterator methods and more. We'll explore all of these features that are sure to spice up your daily experience.

Andres Almiray

Andres Almiray, Canoo Engineering AG

Andres is a Java/Groovy developer and Java Champion, with more than 12 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He has also been teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member and current project lead of the Griffon framework. He blogs periodically at http://jroller.com/aalmiray. You can find him on twitter too as @aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.

(PDF)

Quickie: Git Deploy!

We are utilizing the strengths of Git in a novel way to replace existing methods of client and server software distribution and deployment in a large organization with locations all across Norway.
Come see how Git helps us solve issues like missing software updates, early distribution of new versions, clients running test versions in production, and more!

Fredrik Vraalsen

Fredrik Vraalsen, Knowit

Fredrik's main interest as a developer is languages, techniques, methods and tools that can improve efficiency, quality and not least the joy of programming. The last couple of years his focus has been on alternative JVM languages like Scala and Clojure, in particular the functional programming aspects. He likes to find ways to apply these principles in his daily work as Java developer/consultant at Knowit. Fredrik has over 10 years of experience as a software developer working with Java EE, Swing client applications and Java/C++ on mobile devices. Currently he does design and development on a large back-end sales system and client application for NSB (Norwegian railways).

BOF: GWT and Vaadin Open BOF

GWT has moved to be under control of a steering committee comprising developers from Google, Sencha, Red Hat, ArcBees, Vaadin, mgwt and other GWT advocates such as Thomas Broyer, Christian Goudreau and Daniel Kurka.
Vaadin Framework version 7 is the first new major version of the rich web framework in over three years of iterative evolution. The first goal for Vaadin 7 is to give more freedom to use underlying technologies with ease.
Come to this Open BOF to discusses GWT and new features of with people from GWT steering committee and core developers of Vaadin.

Joonas Lehtinen

Joonas Lehtinen, Vaadin Ltd

Joonas Lehtinen has a PhD in computer science and is one of the core developers of Vaadin, a Java-based framework for building business-oriented Rich Internet Applications. Joonas has been developing applications for the web since 1995 with a strong focus on Ajax and Java. He is the founder and CEO of the company behind the Vaadin framework.

(PDF)

Hands-on lab: Hands-on Lab: Deadlocks and Concurrent Testing in Java

One of the hazards of multi-threaded code is that if we are not careful, we might cause a deadlock in our program. The simplest of these is the "deadly embrace", where locks are acquired by multiple threads in different orders. The simple deadlocks can be detected automatically with the deadlock detection tool in the ThreadMXBean. However, there is another class of deadlock that requires us to analyze the stack traces of all the threads. In this hands-on-lab, we will explain what causes deadlocks and how we can find them. You will then be given a body of code to test for deadlocks using the techniques learned. We will also present techniques for testing concurrent code and show some of the pitfalls where the HotSpot profiler overoptimizes our code, thus leading either to code that does not fail, though it should, or that only fails in certain JVMs.

Heinz Kabutz

Heinz Kabutz, JavaSpecialists.EU

Dr Heinz Kabutz is best known for his creation of The Java Specialists' Newsletter, read in 120 countries by 50000 Java experts. In his newsletter, he examines advanced aspects of Java that have helped Java developers around the world to produce better code. As someone remarked on the Sun website: "Heinz Kabutz is a hero in the Java Developer Community. His newsletters have saved companies millions by helping burgeoning and experienced programmers deliver high quality products."

In order to fund the newsletter, Heinz writes Java code on contract and runs seminars. His latest creation, the Java Specialist Master Course, examines ten areas of advanced Java. It is one of the only courses specifically aimed at the seasoned Java professional. He is a regular speaker at conferences such as JavaOne, Devoxx, Jfokus and Server Side conferences in USA and Europe.

Video: Introduction

(PDF)

Hands-on lab: Hands-on Lab: Developing JAX-RS Web Applications Utilizing Server-Sent Events and WebSocket

This hands-on lab guides attendees through building a Web application with the new JAX-RS 2.0 API. It shows how to use some value-added features of Jersey (the open source JAX-RS reference implementation) and Tyrus (the early draft implementation of Java API for WebSocket [JSR 356]) for leveraging HTML5 technologies such as server-sent events and WebSocket.

Markus Eisele

Markus Eisele, msg systems ag

Markus is a principal 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/)

Arun Gupta

Arun Gupta, Oracle

Arun Gupta is a Java evangelist working at Oracle. Arun has over 16 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 1300 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. You can catch him at @arungupta.

(PDF)

Hands-on lab: Hands-on Lab: The Mocca Raspberry Pi Hands on Lab

The Raspberry Pi is a very cheap Linux machine designed for getting high school students interested in 'real' computer science. It's become very popular with hobbyists as well and is a great platform to see how embedded devices and applications can be developed. This hands on lab will show how Java and JavaFX can be used for applications on the Raspberry Pi, and how you can do some really cool stuff.

Simon Ritter

Simon Ritter, Oracle

Simon Ritter is a Java Technology Evangelist at Oracle Corporation. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time he started working with Java technology and has spent time working both in Java technology development and consultancy. Having moved to Oracle as part of the Sun acquisition he now focuses on the core Java platform and Java for client applications. He also continues to develop demonstrations that push the boundaries of Java for applications like gestural interfaces. Follow him on Twitter, @speakjava and on his blog at blogs.oracle.com/speakjava.

(SLIDES)

Hands-on lab: Hands-on Lab: The President is.... (a Google App Engine Hands-On Lab)

Imagine you are tasked with putting together a web application offering information about an ongoing presidential election up to the moment the (new) president is finally announced. Obviously this application needs to scale to support many citizens for a given country. We'll build this application together, starting from scratch and using Google AppEngine. This will offer both PaaS newbies as well more advanced developers a very large tour of the requirements and capabilities of Google's flagship cloud service. Specific features covered include JSP/Servlet, user API and authentication, DataStore writes and queries, memcache optimisation, Cron jobs, sharded counter, blobstore uploads, sending/receiving email, and of course deployment, management and monitoring of the application running in Google's cloud.

Ludovic Champenois

Ludovic Champenois, Google

Ludovic Champenois is a software engineer at Google San Francisco working on the Google App Engine team. In the past he was one of the architects for the GlassFish application server.

Alexis Moussine-Pouchkine

Alexis Moussine-Pouchkine, Google

After more than a decade spent advocating Java at Sun Microsystems and Oracle, Alexis is now part of Google's Developer Relations team and is based out of the Paris GooglePlex.

Matt Stephenson

Matt Stephenson, Google

Matt Stephenson is a builder and engineer of fine things Software and otherwise. He works full time on Google App Engine in San Francisco. His past is littered with devops projects including the deployment engine used to run AWS, the OpenStack Nova project, and the multi-cloud java library jclouds.

(PDF)

Presentation: How To Do Kick-Ass Software Development

With Kick-Ass Software Development you actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Less mangers managing, less testers testing and less IT-operators operating. The developers take the power back, making them much happier. Sound like paradise? It is! This session will show you how we do Kick-Ass Software Development at Atlassian. I will talk about how we: use pull requests for better code quality; collaborate fast to develop ideas; avoid meetings to get more stuff done; tighten our feedback loops to fail faster; shorten our release cycles; and work together happily on different continents. It's a great way to develop software and we think it can work in your company, too.

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)

Presentation: How to fail a software project fast and efficiently?

Software development is an industry that has been around for a little bit more than 50 years. There are a lot of really smart people working in this industry. How is it possible that these smart people are so good at failing? How can we as an industry continue year after year with failing or really slow development?
There are many anti patterns that can be applied to software projects.
We will look at a selection of these anti patterns and see why they are so bad and the problems they contribute with.

Just looking at bad examples may be depressing. But if you can identify a bad example in your own project or product then you have a chance to do something about it. Understanding and accepting that you have a problem is always the first step to fix it.

Thomas Sundberg

Thomas Sundberg, Waymark

Thomas Sundberg is a consultant and developer at Waymark in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. Thomas has been working as a developer since 1988 and a Java developer for more than ten years. He has also worked as a lecturer at The Royal Institute of Technology, KTH, one the leading technical universities in Sweden, teaching programming. Thomas has an obsession for technical excellence which translates to Software Craftsmanship, Clean Code, Testing and Automation.

Thomas runs a blog where he write tutorials, it can be found at http://thomassundberg.wordpress.com/

(PDF)

Presentation: How to participate in the future of Java

The Java Community Process (JCP) is key to the evolution of Java. This session emphasizes the value of transparency and participation in the JCP program, Java user groups (JUGs), and the Adopt-a-JSR program. You will also hear about some upcoming changes to the Java Specification Request (JSR) process through the JCP.next effort, and learn how you can get involved. Come with your questions/suggestions and leave with the motivation and information you need to become an active participant in advancing the Java platform.

Heather VanCura

Heather VanCura, Java Community Process

Heather VanCura manages the JCP Program Office and is responsible for the day-to-day nurturing, support, and leadership of the community. She oversees the JCP.org web site, JSR management and posting, community building, events, marketing, communications, and growth of the membership through new members and renewals. Heather has a front row seat for studying trends within the community and recommending changes. Several changes to the program in recent years have included enabling broader participation, increased transparency and agility in JSR development.

Video: Introduction

(PDF)

Presentation: How we took our server-side application to the Cloud and liked what we got

Taking traditional Java server-side applications to the multi-tenant Cloud introduces lots of challenges. In this session, we will share our experience of creating a SaaS offering, which is currently being used successfully by the Java community. We will start by reviewing the challenges we faced during the SaaS conversion. Next, we will share our experience with the EC2 platform. We will discuss the importance of automation and how we use tools like Chef and Puppet for SaaS provisioning. Finally, we will describe how creating a SaaS version of our product shifted our way of thinking about software release. We will recommend what?s required to successfully release both SaaS and downloadable versions of your product.

Noam Tenne

Noam Tenne, JFrog

Noam has gained many XP points by developing with a slew of JVM languages over the past 10 years. As a Senior Developer at the JFrog R&D team, Noam Tenne aspires to one day know what a software developer actually does for a living; In the meantime, he tries to solve developer pains by ideating, designing, developing and building software systems such as JFrog's flagship product Artifactory and newborn SaaS platform Bintray!

While not working on these products, Noam is developing open source plugins and extensions to various Continuous Integration and Deployment tools including Gradle, Maven, Jenkins, Hudson and others.

Noam blogs at http://blogs.jfrog.org & tweets as @NoamTenne

Video: Introduction

(PDF)

Presentation: HTTP, WebSocket and SPDY: Evolution of Web Protocols

This session will run you through the history and future of web protocols, starting from HTTP, then moving to WebSocket and finally to SPDY (the new protocol on the block), analyzing pros and cons of each protocol, its browser and server support, with a final look at what HTTP 2.0 might look like and how web servers such as Jetty 9 may need to change architecture to support these new protocols.

Simone Bordet

Simone Bordet, Intalio

Simone Bordet is a Java Senior Engineer at Webtide, now part of Intalio. Active open source developer, he founded and contributed to various open source projects such as Jetty, CometD, MX4J, Foxtrot, LiveTribe, and others. Simone has been technical speaker at various national and international conferences such as Devoxx, JavaOne, CodeMotion, etc., and is an active contributor to the Java User Group of Torino, Italy. Simone specializes in server-side multi-thread development, J2EE application development, in Comet technologies applied to web development, web network protocols and in high performance JVM tuning.

(PDF)

Presentation: Introduction to Vaadin 7

Vaadin Framework version 7 is the first new major version of the popular rich web framework in over three years of iterative evolution. It includes Google Web Toolkit (GWT) to provide best of the Java based UI development - both of the server and client-side. The presentation describes the new features and design decisions and explains the implications of including GWT.

The first goal for Vaadin 7 is to give more freedom to use underlying technologies with ease. We'll show through examples on how to utilize new API:s. The second goal is to embrace the extensibility of the framework with new APIs for adding features. Final goal of the release is to clean up the API. We show what have been changed, how the changes may break your application and give advice on how to upgrade to Vaadin 7.

Joonas Lehtinen

Joonas Lehtinen, Vaadin Ltd

Joonas Lehtinen has a PhD in computer science and is one of the core developers of Vaadin, a Java-based framework for building business-oriented Rich Internet Applications. Joonas has been developing applications for the web since 1995 with a strong focus on Ajax and Java. He is the founder and CEO of the company behind the Vaadin framework.

(PDF)

Presentation: Invokedynamic in 45 Minutes

You've heard about it. Maybe you're even using a language like JRuby that uses it. But what exactly is invokedynamic and how can it help you as a Java developer? In this talk, we'll cover the basics of what invokedynamic is and how you can use it. We'll do step through some simple examples to show the mechanics of the invokedynamic bytecode, the bootstrap method, call sites, and method handles. And finally we'll build a toy language to show how it all fits together

Charles Nutter

Charles Nutter, Red Hat

Charles Oliver Nutter has been co-lead of the JRuby project for the past seven years, working on performance and Java integration, and helping to coordinate community efforts. During that time JRuby has become a premier platform for Ruby users, allowing both a gateway to Java-centric organizations as well as an excellent Ruby implementation. Charles hopes to expand JRuby's success to other JVM languages, building the JVM into the best platform for multi-language development. Charlie is employed working on JRuby full time at Red Hat.

(PDF)

Presentation: Java 8, Java 9, and Beyond

A brief overview of the key new features in Java 8 and some of the features being considered for Java 9 and later releases, with plenty of time for Q&A.

Mark Reinhold

Mark Reinhold, Oracle

Mark Reinhold is chief architect of the Java Platform group at Oracle. His past contributions to the platform include character-stream readers and writers, reference objects, shutdown hooks, the NIO high-performance I/O APIs, library generification, and service loaders. Mark was the lead engineer for JDK 1.2 and 5.0 and the specification lead in the Java Community Process for Java SE 6 and Java SE 7. He currently leads the Jigsaw and JDK 8 projects in the OpenJDK Community, where he also serves on the Governing Board, and he is the specification lead for Java SE 8. Mark holds a Ph.D. in computer science from the Massachusetts Institute of Technology.

(PDF)

Presentation: Java and the Machine

In Terminator 3 - Rise of the Machines, bare metal comes back to haunt humanity, ruthlessly crushing all resistance. This keynote is here to warn you that the same thing is happening to Java and the JVM! Java was designed in a world where there were a wide range of hardware platforms to support. It's premise of Write Once Run Anywhere (WORA) proved to be one of the compelling reasons behind Java's dominance (even if the reality didn't quite meet the marketing hype). However, this WORA property means that Java and the JVM struggled to utilise specialist hardware and operating system features that could make a massive difference in the performance of your application. This problem has recently gotten much, much worse. Due to the rise of multi-core processors, massive increases in main memory and enhancements to other major hardware components (e.g. SSD) means that the JVM is now distant from utilising that hardware, causing some major performance and scalability issues! Martijn Verburg will take you through the complexities of where Java meets the machine and loses. He'll give up some of his hard won insights on how to work around these issues so that you can plan to avoid termination, unlike some of the poor souls that ran into the T-800...

Martijn Verburg

Martijn Verburg, jClarity

Martijn Verburg is the CTO and founder of jClarity - a Java cloud performance tools company. He is the co-leader for the LJC (aka London JUG), from which he runs the global Adopt OpenJDK and Adopt a JSR programmes, two open source projects (PCGen and Ikasan EIP), and is a bartender at the Javaranch. You can also find him answering thorny questions at the Programmers StackExchange. He's a regular speaker at conferences (FOSDEM, JavaOne, OSCON, Devoxx etc) and is the co-author of "The Well-Grounded Java Developer" (Manning publications). Martijn was recently selected a Java Champion in recognition for his contribution to the Java ecosystem There are rumors that he might be the infamous Diabolical Developer, but one should never listen to stories on the Internet.....

Video: Introduction

BOF: Java EE.express BOF

Java EE has a broad array of technologies that can be leveraged in almost any enterprise scenario. While the mature breadth of the platform has definitely been one of its strengths, community involvement has also been a major contributor to its success. As software trends change over time the community voices their opinions about which new technologies and practices should be included or made optional in subsequent platform releases.
This BoF will be an opportunity for developers to express their views about the overall direction of Java EE, as well as make suggestions for features and improvements to individual specifications.
Come out and be heard? or just listen to what others have to say and assert your agreement/disagreement over their opinions!

Markus Eisele

Markus Eisele, msg systems ag

Markus is a principal 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/)

Mike Keith

Mike Keith, Oracle

Mike Keith has been an object-oriented programming, enterprise, distributed systems and persistence expert for over 20 years. He works at Oracle as an architect on the Enterprise Java platform and contributes to Java EE and many of the subspecifications that make up the Java EE portfolio.
He has represented Oracle on numerous expert groups and is a reknowned speaker and author. He is also currently the project lead of the Eclipse Gemini project that produces reusable enterprise modules supporting Java EE-based applications.

(PDF)

Presentation: Java in the Internet of Things. Smart, Small, Connected

The Internet of Things is rapidly happening around us. By 2016, intelligent connected systems are predicted to outnumber mobile phones and personal computers combined and generate the majority of Internet traffic. Intelligent systems are the next frontier for reaching into the world to build new solutions, drive efficiencies, and create business opportunities on a huge scale across a wide range of markets such as healthcare, industrial automation, logistics, security, power distribution and consumption, environmental sensing, and much more.

But this new wave presents a host of challenges. Java technology, with it's cross-platform, productive, and secure design, is already present in almost 10 billion devices around the globe. In this talk, learn about Oracle's "Device to Datacenter" vision and the products we are building to help developers build better embedded solutions, faster. This talk includes demos.

Terrence Barr

Terrence Barr, Oracle

Terrence Barr is a Senior Technologist and Product Manager for Oracle's small embedded Java products. Barr has broad development and architectural experience on embedded systems and platforms including industrial control systems, multiprocessor architectures, implementation and optimization of virtual machines, byte code hardware acceleration, advanced client-side and mobile applications, scalable client-server architectures, and more.
Barr is currently driving key aspects of the embedded Java strategy and product roadmap with Java ME embedded. He regularly participates in industry organizations and standards bodies, has authored or co-authored a number of papers in the U.S. and Europe, and speaks frequently at events around the world.

(PDF) (Video)

Quickie: Java Mission Control - Coming soon to a JDK near you

One of the most popular features from the JRockit will become part of the standard Java SE JDK. JRockit Mission Control will be transformed to Java Mission Control. It's still the same great profiling and diagnostics tool but focusing on the HotSpot JVM. Still usable in production with very low overhead. Still free for development. Come and learn how to it can be used to solve various types of problems, what features will be in the first public version, and what we're working on for future versions.

Klara Ward

Klara Ward, Oracle

Klara has a MSc in Computer Science and has been working with JRockit Mission Control and the JRockit JVM since 2002. She is currently a member of the Java Mission Control dev team at Oracle. If you ask a question on the Mission Control forum, chances are Klara will give you an answer. You can also get hold of her on twitter as @klaraward to get the crochet pattern for the JDuchess mascot.

Quickie: Java.net Community Update

This talk would cover a brief history of the Java community from the Java.net and JUGs perspective, the current ways Oracle is supporting Java.net and JUGs from behind the scenes, our roadmap for the next couple of years, and how to best leverage us to support your projects and JUGs.

Sonya Barry

Sonya Barry, Oracle

Sonya Barry has been with Java.net since she was hired as a graduate student intern at Sun Microsystems in 2005. She took over as Community Manager in February 2009 and has managed the site and worked with the Java community through the transition from Sun to Oracle.

(PDF) (Video)

Presentation: Javascript beyond jQuery

Javascript is the language people love to hate, but it's also a reality if you are doing web development. The aim of this presentation is to give the audience some inspiration and Javascript some love.

John Wilander

John Wilander, Svenska Handelsbanken

John Wilander is a frontend software developer at Svenska Handelsbanken. He has been researching and working in application security for ten years and is an active leader in OWASP, the Open Web Application Security Project. In 2011 he organized the OWASP Summit 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.

(PDF) (Video)

Presentation: Large-Scale Automation with Jenkins

Jenkins is the most adopted open source continuous integration server today, and beyond the automated build and test, it is a platform for launching all kinds of automation tasks. As the use of Jenkins grows inside an organization, people are automating complex activities that need to be choreographed, such as deploying an application, running a load test, cleaning up the environment, and then handing over the build to the operation team. Such orchestration of activities is a very useful building block for continuous delivery, a practice promoted in recent years. This session looks at various patterns and plug-ins that deal with this kind of choreography.

Kohsuke Kawaguchi

Kohsuke Kawaguchi, Cloudbees

Kohsuke is the creator of Jenkins and wrote the majority of the Hudson core single-handedly. He has over 10 years of experience in software development, ranging from Java to C++ and .NET to x64 assembly and including the Windows, Linux and Solaris platforms. His experience was a key enabler in developing various advanced features of Jenkins. Kohsuke was also involved in JAXB, Metro web services stack, GlassFish v3 and RELAX NG at Sun. In addition to Jenkins, he is known for many other open-source projects, including: args4j, YouDebug, com4j, Animal Sniffer, Sorcerer, wagon-svn, MSV and Parallel JUnit extension

(PDF)

Quickie: Lisp is beautiful!

Clojure is a fantastic programming language, but it is a Lisp. Lisp languages have a very different syntactic background than C-inspired languages, like Java. Many Java developers dislike the Lisp syntax, mainly because of "all of those pesky parenthesis".

This lightning talk will show you that the Lisp syntax really is extremely simple, and also very powerful. It is even possible to argue that Lisp does not have a syntax!

Alf Kristian Støyle

Alf Kristian Støyle, Knowit

Alf Kristian is always seeking better ways. He is very interested in lightweight development, joyful programming, and has been an FP enthusiast for many years.

He has more than 8 years of experience within software development and consulting, and he currently works for Know IT Objectnet AS.

(PDF)

Presentation: Making smart meters even smarter with embedded Java technology

David gives a talk on Elvaco's Java-based smart meters and communication infrastructure, Elvaco has for 15 years used an embedded system on chip and GSM, GPRS wireless technology. With Java - on memory constrained hardware - we have been able to develop an application with complete Internet connectivity including support for HTTP/S SNMP SMTP FTP IPv4 and metering protocols such as M-bus. The application has very high demands for uptime, availability and support for remote management.

Coding all this in Java has been a real success for Elvaco. The usage of The Java platform has dramatically lowered the development cost and the time to market. New customer demands have been easily implemented and new features are constantly added on existing products in the field using Java OTAP, which gives new business opportunities and increased addon sales.

David Vonasek

David Vonasek, Elvaco AB

David Vonasek is CEO at Elvaco AB and has worked with embedded and client/server systems for 15 years. In 2007, David selected J2ME as the main platform for Elvaco ABs next generation Smart Metering products. The Elvaco Smart Metering platform build on Java Technology has been a success story with more than 50 000 units sold last year.

(PDF)

Keynote: Making The Future Java...Together

The future course for modern day living, in both the enterprise business world and consumer arena is being positively influenced by the ongoing innovation and value of Java. Under Oracle's stewardship, Java is enjoying a renaissance of investment and innovation which is renewing its relevance and reach to developers, giving them new methods to solve existing development challenges as well as new opportunities to create bleeding edge application use cases. From the continued refinement of the Java Community Process, the increased transparency in the OpenJDK project to influence the future direction of Java, as well as greater ecosystem driven efforts such as the Adopt-a-JSR project to drive broader developer participation, Java's positive future is being made together between Oracle and the community at large. In this keynote you will hear about the most important new directions and how you can directly take part in making the future Java.

Georges Saab

Georges Saab, Oracle

Georges Saab is the chairperson of the OpenJDK governing board, and vice president of development for the Java Platform group at Oracle, which defines and implements the Java language, library, and the Java Virtual Machine.
Saab is a more than 20-year veteran of programming language and platform development. His work with the Java Platform began as a developer of Java Standard Edition at JavaSoft and Sun Microsystems, where he was a founder of the Swing group and Java Webstart, and continued as he ran development of the JRockit JVM for many years at BEA Systems.

(PDF) (Video)

Presentation: Modern Software Development Anti-Patterns

The Diabolical Developer and Ben Evans (the voice of reason!) present a host of modern software development anti-patterns. This session provides a wealth of tips and tricks to free you from the chains of so call ?modern software development best practices?.
We're not delivering software any more successfully than our forebears! So what?s really going on? Well things like Agile and Software craftsmanship certainly take you down some dangerous paths, and don?t even get us started on Java 7! You?ll learn about topics such as how to unleash the awesome power of:
* Mortgage Driven Development
* Pokemon Patterns
* Conference Driven Delivery
* The AbstractFactoryFactoryManagerBuilder class
* Can Haz Cloud

Martijn Verburg

Martijn Verburg, jClarity

Martijn Verburg is the CTO and founder of jClarity - a Java cloud performance tools company. He is the co-leader for the LJC (aka London JUG), from which he runs the global Adopt OpenJDK and Adopt a JSR programmes, two open source projects (PCGen and Ikasan EIP), and is a bartender at the Javaranch. You can also find him answering thorny questions at the Programmers StackExchange. He's a regular speaker at conferences (FOSDEM, JavaOne, OSCON, Devoxx etc) and is the co-author of "The Well-Grounded Java Developer" (Manning publications). Martijn was recently selected a Java Champion in recognition for his contribution to the Java ecosystem There are rumors that he might be the infamous Diabolical Developer, but one should never listen to stories on the Internet.....

Video: Introduction

(PDF)

Presentation: Mongo for Hibernate/JPA Developers

NoSQL is all the rage these days but sometimes it's hard to figure out where to start when considering all the options. This talk will begin with a basic introduction to mongo and how data is organized. We'll cover at least 3 options (native driver, Morhpia, and jongo) for getting data in and out of mongo. Then we'll walk through an example JPA application and see how it looks using one or 2 mapping options in mongo.

Justin Lee

Justin Lee, Squarespace.com

Justin has been a Java developer since 1996. Since then he has had the chance to work on practically every tier conceivable for applications from web front ends to custom ORM frameworks. Most recently he was responsible for the websocket implementation available in GlassFish and Grizzly and is a member of the JSR 356 websockets expert group. He currently works as a senior software engineer for squarespace.com. He's an active member of the open source community and blogs less frequently than he intends at http://antwerkz.com

(PDF)

Presentation: Nashorn: Optimizing JavaScript Execution on the JVM

There are many implementations of JavaScript, meant to run either on the JVM or standalone as native code. Both approaches have their respective pros and cons. The soon-to-be open sourced Oracle Nashorn JavaScript project is based on the former approach. This presentation goes through the performance work that has gone on in Oracle?s Nashorn JavaScript project to date in order to make JavaScript-to-bytecode generation for execution on the JVM feasible. Aside from covering the Nashorn project itself, we show that the new invoke dynamic bytecode gets us part of the way there but may not quite be enough. Nashorn is also the first JavaScript runtime in the world to achieve 100% EcmaScript compliance. What other tricks did the Nashorn project use? The presentation also discusses future directions for increased performance for dynamic languages on the JVM, covering proposed enhancements to both the JVM itself and to the bytecode compiler.

Marcus Lagergren

Marcus Lagergren, Oracle

Marcus Lagergren has an MS in computer science from the Royal Institute of Technology in Stockholm, Sweden. Lagergren has a background in computer security but has worked with runtimes since 1999. He was one of the founding members of Appeal Virtual Machines, the company that developed the JRockit JVM, which was bought by BEA Systems in 2002. Lagergren has been team lead and architect for the JRockit code generators and has been involved in most other aspects of JVMs over the years. From 2007 to 2010 he worked for Oracle on fast virtualization technology, and since late 2011 has been a member of the Oracle langtools team, investigating dynamic languages on the JVM. Lagergren is also a general runtime futurist, and co-author of the book Oracle JRockit: The Definitive Guide, which, despite the product-centric title, has been praised as the best book ever written on JVM internals in general.

(SLIDES)

Presentation: Netflix OSS Cloud Architecture

This talk presents a general overview of the Netflix cloud architecture built upon the Amazon Web Services (AWS) foundation. It covers how we use existing AWS features to improve the manageability of our cloud objects, and how we add a few abstractions to tie the AWS objects neatly together. It also covers some of the Netflix OSS tools (and a few non-OSS), and how they fit into this picture to help run the show.

Carl Quinn

Carl Quinn, Netflix

Carl Quinn has been developing software professionally for 32 years, starting with BASIC on an Apple II, slogging through C/C++ on DOS, Windows and embedded, and finally landing in the Java-on-Linux world. The one thread through his career has been an inexplicable attraction to developer tools, spending time building them at Borland (C++ & Java IDEs), Sun (Java RAD), Google (Java & C++ build system) and most recently at Netflix (Java build and cloud deployment automation). Carl also co-hosts the Java Posse podcast, the #1 ranked Java technology podcast.

BOF: OpenJDK, JCP and Adopt OpenJDK/JSR Community BOF

This informal BOF will cover latest news and discussions of OpenJDK, JCP and Adopt OpenJDK/JSR, the two JUG lead programs to gain more developer involvement in Java standards as well as the language and the platform itself. All levels of experience are welcome and we will make sure that your questions are answered and that you have some concrete activities you can get started on to help change the future of Java!

Heather VanCura

Heather VanCura, Java Community Process

Heather VanCura manages the JCP Program Office and is responsible for the day-to-day nurturing, support, and leadership of the community. She oversees the JCP.org web site, JSR management and posting, community building, events, marketing, communications, and growth of the membership through new members and renewals. Heather has a front row seat for studying trends within the community and recommending changes. Several changes to the program in recent years have included enabling broader participation, increased transparency and agility in JSR development.

Video: Introduction

Martijn Verburg

Martijn Verburg, jClarity

Martijn Verburg is the CTO and founder of jClarity - a Java cloud performance tools company. He is the co-leader for the LJC (aka London JUG), from which he runs the global Adopt OpenJDK and Adopt a JSR programmes, two open source projects (PCGen and Ikasan EIP), and is a bartender at the Javaranch. You can also find him answering thorny questions at the Programmers StackExchange. He's a regular speaker at conferences (FOSDEM, JavaOne, OSCON, Devoxx etc) and is the co-author of "The Well-Grounded Java Developer" (Manning publications). Martijn was recently selected a Java Champion in recognition for his contribution to the Java ecosystem There are rumors that he might be the infamous Diabolical Developer, but one should never listen to stories on the Internet.....

Video: Introduction

BOF: Opportunities and Challanges with Embedded & Internet of Things

In this open space BOF you can take all your questions on Internet of Things, Embedded and M2M. Will discuss solutions to specific problems as well as discuss business opportunities and challenges in the Embedded space. Bring your knowledge and your questions and be active. This BOF will be shaped us together.

Joakim Eriksson

Joakim Eriksson, SICS

Joakim Eriksson is a researcher in the Networked Embedded Systems group at SICS, Swedish Institute of Computer Science. Joakim's current focus is on enabling IP-communication on resource constrained devices and has been active in recent standardization within IETF and IPSO Alliance.

(PDF)

Presentation: Optimizing Android UI - Pro tips for creating smooth and responsive apps

Building a successful application requires more that just publishing an application full of features on the Google Play Store. You have to ensure your users are delighted by your application's UI and can interact with it seamlessly, with no hiccups, no stutter. In other words, creating smooth and responsive applications is the path to enlightenment! I personally consider, speed is a feature ! In this session we will cover many Android UI development tips and tricks to ensure your application looks blazing fast. We will mainly focus on learning pro tips to speed up the drawing of the UI.

Cyril Mottier

Cyril Mottier, Google Developer Expert

Cyril Mottier is a Google Developer Expert dedicated to Android (see https://developers.google.com/experts/ for more information about Google Developer Experts). Passionate about technology and design, Cyril is an avid lover of Android and a multi-skilled engineer. He is actively involved in the Android community and shares his passion writing blog posts, creating open source librairies and giving talks.

Video: Introduction

(PDF)

Presentation: OSGi vs Spaghetti - Part II, The Enterprise strikes back

Software engineering sometimes seems like a struggle against spaghetti. Without lots of care, modern projects risk becoming an unwieldy tangle of closely-coupled code whose behaviour and dependencies are mostly unknowable. OSGi can help keep the complexity at bay, but until recently OSGi didn't play very well with modern enterprise programming models such as dependency injection, WARs, JPA, and application deployment. The Enterprise OSGi programming model is changing all this, and can help keep your applications from descending into a noodly mess. This session will discuss the basics of OSGi modularity, and demo the build tools, middleware, and architectural principles which can be used to turn a chunky WAR into a lean, mean, extensible OSGi web application.

Holly Cummins

Holly Cummins, IBM

Holly Cummins is a senior software engineer developing enterprise middleware with the IBM WebSphere, and a committer on the Apache Aries project. She is a co-author of Enterprise OSGi in Action and has spoken at Devoxx, JavaZone, The ServerSide Java Symposium, JAX London, GeeCon, and the Great Indian Developer Summit, as well as a number of user groups.

(PDF)

Presentation: Patterns for key-value stores

As nosql gathers more and more momentum I have discovered that there is a need for good patterns. You want to organize the data as well as possible. With good organising it will be easier to find the data again.This can be a real challenge when you have little or no experience dealing with key-value stores. If you use good patterns, your database scheme will make sense, you will get better performance and hopefully your code will look better as well. My presentation with look at patterns for all key-value stores, and patterns for Redis, Riak and end with a peek into what good patterns + Redis + Riak can give you.

Ole-Martin Mørk

Ole-Martin Mørk, Bekk Consulting AS

Ole-Martin Mørk is working as a Scientist at Bekk Consulting AS in Oslo, Norway. His role in the company is to focus especially on emerging technologies and spread joy and excitement over new technologies and its possibilites. He graduated in 2000 with a Bachelor in Computer Science from Østfold College. Ole-Martin speaks often at conferences in Norway, like JavaZone, Software and Smidig. He is also involved in different user groups like Oslo XP and javaBin. Se more of Ole-Martin Mørk here: http://twitter.com/olemartin http://vimeo.com/album/1883925 http://www.slideshare.net/olemartinmork/presentations

(PDF)

Tutorial: Performance Optimization Methodology

Performance Optimization has always thought to be a fine art as it could not be easily formalized, or constrained into one solid workflow. However, there are common patterns all performance engineers could follow in their investigations. This session describes some approaches and tools to analyise modern application performance problems in Java and hardware.

Kirk Pepperdine

Kirk Pepperdine, Kodewerk Ltd

 Kirk's career began in Biochemical Engineering, where he applied his researching skills in attaching computers to sheep and cats, synthesising radio-active tylenol and developing separation techniques using High Performance Liquid Chromatography for Ottawa University and the National Research Council of Canada. Subsequently, he became employed by the Canadian Department of Defense. Kirk admits that his work at the DoD involved programming Cray supercomputers as well as other Unix systems, but he refuses or is unable to divulge the exact nature of the applications in the department other than that they involved databases and high performance systems.

Kirk is a principle consultant for Kodewerk where he has focused on performance tuning. Kirk has been involved with object technologies and performance for almost 20 years. In addition to being a co-author of ANT Developers Handbook, he contributes to www.javaperformancetuning.com and is an editor for TSS www.theserverside.com

(PDF)

Presentation: Phaser and StampedLock Concurrency Synchronizers

In Java 7, the Phaser was introduced to give us a more flexible form of CountDownLatch and CyclicBarrier. In this presentation, we will show examples of how Phaser can be used to communicate between threads and how it simplifies your code. A new construct that is being worked on is the StampedLock. This new type of locking mechanism allows readers to access state concurrently, much like the ReadWriteLock. However, it is much more efficient for readers, since you can do so in a more optimistic fashion. In this presentation, we will show how to use it and what some of the common coding patterns are that we can use.

Heinz Kabutz

Heinz Kabutz, JavaSpecialists.EU

Dr Heinz Kabutz is best known for his creation of The Java Specialists' Newsletter, read in 120 countries by 50000 Java experts. In his newsletter, he examines advanced aspects of Java that have helped Java developers around the world to produce better code. As someone remarked on the Sun website: "Heinz Kabutz is a hero in the Java Developer Community. His newsletters have saved companies millions by helping burgeoning and experienced programmers deliver high quality products."

In order to fund the newsletter, Heinz writes Java code on contract and runs seminars. His latest creation, the Java Specialist Master Course, examines ten areas of advanced Java. It is one of the only courses specifically aimed at the seasoned Java professional. He is a regular speaker at conferences such as JavaOne, Devoxx, Jfokus and Server Side conferences in USA and Europe.

Video: Introduction

(PDF)

Tutorial: Practical Guide to Modularity in the Cloud Age

Java EE 6 is an awesome platform and probably the best choice for any kind of enterprise (web) application today. But what about taking it to the next level? How do you design a system that can evolve for many years in production? And how do we run this stuff in the cloud?

Designing a system that can evolve without creating a maintenance nightmare is far from trivial and there are no silver bullets to do this correctly. A service oriented, modular architecture will help a lot to achieve this goal. Modularity forces separation of concerns which, when combined with a service oriented architecture, enables you to replace parts of a system without breaking others. The only mature modularity approach for Java is OSGi. OSGi is a framework that enables low-level modularity and services, but it is not an application framework like Java EE, i.e. you still need APIs to create web applications, use transactions, access data sources etc. Without these APIs you will have a hard time to actually build applications. Unfortunately OSGi and Java EE did not interoperate well in the past; it was very challenging to mix both. But what if we want modularity in our architecture, but also the ease-of-use of Java EE 6?

Luckily times are changing. All major application servers are getting support for deploying mixed Java EE and OSGi applications. This makes it possible to deploy OSGi bundles that contain Java EE 6 code such as EJBs, JPA and JAX-RS resources. CDI can be used to inject OSGi services and EJBs can easily be exported as OSGi services too.

The next question is how to deploy this in the cloud. Of course you could use one of the existing PaaS providers, but these basically deploy your old, monolithic WAR/EAR in the cloud. This doesn't fit modularity very well. How can you update just parts of a running application without breaking the rest of it? We will introduce Apache ACE, an Open Source Provisioning Platform to deploy OSGi bundles (containing Java EE code) and other artifacts to the cloud.

In this presentation you will learn the following things:

1. Understand the benefits of a modular code base
2. Learn how to mix OSGi and Java EE
3. Manage cloud deployments using Apache ACE

..and of course there will be lots of live coding!

Paul Bakker

Paul Bakker, Luminis Technologies

Paul Bakker is a software architect for Luminis Technologies. His current focus is on building modular enterprise applications and the cloud. He believes that modularity and the cloud are the two main challenges we have to deal with to bring technology to the next level, and is working on making this possible for mainstream software development. Today he is working on educational software focussed on personalised learning for high school students in the Netherlands. He is also responsible for pushing technology forward. Luminis strongly believes in open source and all the technology development they are doing happens in the open source community. Paul is an active contributor on projects such as Amdatu, Apache ACE, JBoss Forge and BndTools.

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: Project Lambda: Functional Programming Constructs and Simpler Concurrency in Java SE 8

The big language features for Java SE 8 are lambda expressions (closures) and default methods (formerly called defender methods or virtual extension methods). Adding lambda expressions to the language opens up a host of new expressive opportunities for applications and libraries. You might assume that lambda expressions are simply a more syntactically compact form of inner classes, but, in fact, the implementation of lambda expressions is substantially different and builds on the invokedynamic feature added in Java SE 7. This session will explain the ideas behind lambda expressions, how they will be used in Java SE 8 and look at some of the details of their implementation.

Simon Ritter

Simon Ritter, Oracle

Simon Ritter is a Java Technology Evangelist at Oracle Corporation. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time he started working with Java technology and has spent time working both in Java technology development and consultancy. Having moved to Oracle as part of the Sun acquisition he now focuses on the core Java platform and Java for client applications. He also continues to develop demonstrations that push the boundaries of Java for applications like gestural interfaces. Follow him on Twitter, @speakjava and on his blog at blogs.oracle.com/speakjava.

BOF: Raspberry Pi NightHacking BOF

The Rasberry Pi is a 25 USD, credit-card sized computer that that plugs in to any HDMI TV and USB keyboard/mouse. It includes an ARM chip that is powerful enough to run Linux and a full Java Virtual Machine. The possibilities are endless!

In this BOF we will discuss tips and trix on how to get up and running with the Rasberry Pi. Everyone can join and we are eager to here all about your cool projects and experiences.

Stephen Chin

Stephen Chin, Oracle

Stephen Chin is a Java Ambassador at Oracle specializing in UI technology and co-author of the Pro JavaFX Platform 2 title, which is the leading technical reference for JavaFX. He has been featured at Java conferences around the world including Devoxx, Codemash, OSCON, JFall, GeeCON, Jazoon, and JavaOne, where he twice received a Rock Star Award. In his evenings and weekends, Stephen is an open-source hacker, working on projects including ScalaFX, a DSL for JavaFX in the Scala language, Visage, a UI oriented JVM language, JFXtras, a JavaFX component and extension library, and Apropos, an Agile Project Portfolio scheduling tool written in JavaFX. Stephen can be followed on twitter @steveonjava and reached via his blog: http://steveonjava.com/

(PDF)

Presentation: Real-Time Delivery Architecture at Twitter

With hundreds of millions of users, Twitter operates one of the world's largest real-time delivery systems, large enough and pervasive enough to exert noticeable "pressure" on the overall internet itself. At steady state, Twitter receives thousands of tweets a second that it needs to deliver to disks, in-memory timelines, email, and mobile devices. The name of the game for Twitter is "now", so those deliveries, which multiply according to the graph of who follows whom, need to occur in real-time. In this session, we will dive into both the "write path" and "read path" of Twitter to understand the architecture which supports those tweets, and also how Twitter serves them through one of the world's largest web sites.

Raffi Krikorian

Raffi Krikorian, Twitter

@raffi is the Director of Twitter Platform Services, the custodians of Twitter's core logic and application infrastructure. His teams manage, amongst other things, the business logic, scalable delivery, APIs, and the internal development model of all of Twitter. His group helped create the iOS & OS X Twitter integrations, the "The X Factor" + Twitter voting mechanism, the 3rd party embedded timeline infrastructure, as well as rolling out SPDY support throughout Twitter. Previously, he was the lead of the public APIs as well as being the one of those behind Twitter's Geospatial APIs. He is also the current chair of Twitter's Architecture Group, which manages and looks after Twitter's overall software architecture. Before Twitter he used to create technologies to help people frame their personal energy consumption against global energy production (Wattzon - Business Week's "Best Idea" 2008), and also ran a consulting company building off-the-wall projects. At one point, he used to teach at NYU?s ITP (created the class Every Bit You Make) and spent way too much time as a student at MIT and the MIT Media Lab (Internet 0 - Scientific American September 2004).

Attila Szegedi

Attila Szegedi, Oracle Corporation

Attila Szegedi is a Principal Member of the Technical Staff at Oracle, working on dynamic language features on the Java platform and the Nashorn JavaScript runtime for the JVM. Before joining Oracle, Attila worked as a Staff Engineer in Twitter's Runtime Systems group. He is also known for his work on several Open Source projects, most notably he is a contributor to Mozilla Rhino, an earlier JavaScript runtime for the JVM, a contributor to Kiji, Twitter's server-optimized Ruby runtime, the author of Dynalink, the dynamic linker framework for languages on the JVM, as well as one of the principal developers of the FreeMarker templating language runtime.

Presentation: Robots and Oceans with Liquid Robotics

Liquid Robotics have a growing fleet of autonomous vehicles that rove the ocean collecting data from a variety of on board sensors and uploading it to the cloud. The robots have a pile of satellite uplink/GSM/WiMax communication gear and redundant GPS units. For example, one is a set of robots patrolling the ocean around the Macondo well in the Gulf of Mexico monitoring water chemistry. These craft harvest energy from the waves for propulsion and can stay at sea for a very long time. They can cross oceans.... Slowly.

NOTE: THIS TALK WILL BE STREAMED FROM USA

James Gosling

James Gosling, Liquid Robotics

James Gosling received a BSc in computer science from the University of Calgary, Canada, in 1977. He received a PhD in computer science from Carnegie-Mellon University in 1983, where the title of his thesis was "The Algebraic Manipulation of Constraints". He was previously a vice president and Sun Fellow at Sun Microsystems.

Mr. Gosling has built satellite data acquisition systems, a multiprocessor version of Unix, several compilers, mail systems, and window managers. He has also built a WYSIWYG text editor, a constraint-based drawing editor, and a text editor called Emacs for Unix systems.

At Sun, his early activity was as lead engineer of the NeWS window system. He did the original design of the Java programming language and implemented its original compiler and virtual machine. Mr. Gosling has been a contributor to the Real-Time Specification for Java, and a researcher at Sun Labs, where his primary interest was software development tools. He then served as CTO of Sun's Developer Products Group and CTO of Sun's Client Software Group. Prior to joining Liquid Robotics, Mr. Gosling worked at Oracle (after its acquisition of Sun) and Google.

(PDF)

Quickie: Rocket Propelled Java

It's a well known fact that the Java language is verbose, probably more verbose than what it should be. In the past, developers have relied on external tools such as IDEs to cope with the verbosity level. But what if we were able to workaround the problem with the language itself? Come learn about AST transformations and how they can be applied to the Java language.

Andres Almiray

Andres Almiray, Canoo Engineering AG

Andres is a Java/Groovy developer and Java Champion, with more than 12 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He has also been teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member and current project lead of the Griffon framework. He blogs periodically at http://jroller.com/aalmiray. You can find him on twitter too as @aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.

(PDF)

Quickie: Rocking the Gradle

This presentation introduces the audience to the power of Gradle through many real-world examples that are demonstrated live. By the end of the presentation, you'll understand how Gradle helps to elegantly solve the challenges that we face in our daily builds.

Hans Dockter

Hans Dockter, Gradleware

Hans Dockter is the founder and project lead of the Gradle build system and the CEO of Gradleware, a company that provides training, support and consulting for Gradle and all forms of enterprise software project automation in general.

Hans has 13 years of experience as a software developer, team leader, architect, trainer, and technical mentor. Hans is a thought leader in the field of project automation and has successfully been in charge of numerous large-scale enterprise builds. He is also an advocate of Domain Driven Design, having taught classes and delivered presentations on this topic together with Eric Evans. In the earlier days, Hans was also a committer for the JBoss project and founded the JBoss-IDE.

Presentation: Scala Tricks

Scala is a very powerful hybrid functional pure object oriented language on the JVM. Scala is known for its conciseness and expressiveness. In this presentation we will look at some common tasks you do everyday in developing applications and see how they manifest in Scala. We will look at the strengths of Scala from application development point of view. Rather than focusing on the syntax of Scala, we will focus here on Scala idioms and powerful Scala libraries to perform routine tasks

Venkat Subramaniam

Venkat Subramaniam, Agile Developer, Inc.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is the co-author 2007 Jolt Productivity Award winning "Practices of an Agile Developer," the author of "Programming Groovy: Dynamic Productivity for the Java Developer" and "Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine" (Pragmatic Bookshelf). His latest book is "Programming Concurrency on the JVM: Mastering synchronization, STM, and Actors".

(PDF)

Presentation: Scala your Android

Many of us are aware that it's possible, and quite easy, to use some other language than Java on Android's DVM, but still not many have actually tried it. As it turns out, one of the best languages fit to do Android development is... Scala. Remember how you had to override methods to create menus, and sharing those was quite hard due to Java's inheritance model? Well, Scala's traits solve that problem for you. Or how much boilerplate (with explicit type casting) you had to write to find a view by id? Say hello to Typed Resource! And there's even more pain to be relieved by using some of Scala's features - which, oddly enough, seem to be a perfect `match` for `lazy` Android development... And I assume you're already on the Scala Collections drug? If not - be prepared to get addicted. During this session we'll explore those, and some more techniques that you can use to Develop your Android apps with Scala as well as problems you might encounter.

Konrad Malawski

Konrad Malawski, SoftwareMill

Konrad is passionate about the JVM, and the whole ecosystem that surrounds it. Lately he fell in love with Scala, but that doesn't mean he's not into Java or dynamic languages. Other than that, he's a fan of automating every possible task and ridiculously long keyboard shortcuts. "After hours" he's still bound to programming - as a lead of the PolishJUG, the lead of the Google Developers Group Kraków and helping hand of Software Craftsmanship Kraków he's coding for fun and glory, speaking at conferences, or organising meetups ranging from small hackathons to big conferences like the annual GeeCON. In those rare times when he's not doing something code-related, he's collecting game consoles or playing tennis / squash. He bloggs and tweets.

Video: Introduction

(PDF)

Presentation: Scaling Agile with Tribes, Squads, Chapters & Guilds

Dealing with multiple teams in a product development organization is always a challenge! One of the most impressive examples we've seen is Spotify, a fascinating company that is transforming the music industry. Spotify has kept an agile mindset despite having scaled to over 30 teams across 4 cities and 3 timezones.

So how is this managed? How do handle dependencies? How do we avoid technical debt? How do we synchronize multiple teams? How do share knowledge across the organization? How do we get stuff into production?
And what the heck are tribes, squads, chapters, and guilds anyway?

Anders Ivarsson

Anders Ivarsson, Spotify

Anders works at Spotify as Agile Coach since October 2011. As an agile coach, my goal is to help our squads work as effectively as possible - through continuously improving us, finding better ways of working, making us more autonomous and also to have fun at the same time.
Another key challenge for me is enabling the company to grow very fast, while still staying agile and moving closer to our vision on how we want to work.

Henrik Kniberg

Henrik Kniberg, Crisp

Henrik Kniberg is an Agile/Lean coach at Crisp in Stockholm, currently working with Spotify. He has written 3 popular books on Scrum, XP and Kanban, and enjoys helping companies succeed with both the technical and human sides of software development.

Tutorial: Secrets of an Agile Architect

We architects love a good framework. We like our abstractions, we like to design "enterprise" solutions, we like to mandate complex algorithms, or better yet to prescribe toolkits to enable other teams to implement complex algorithms under our expert guidance. If it looks like a good idea we slap the label "pattern" on it and tell everyone to do it.

Ok, maybe that isn't you. But it's likely you work in an organisation where the other guys do. So what can you do about it? Is this the only way to do architecture?

This toturial looks at strategies and techniques to incrementally architect your way out of a legacy mess, and to set up new applications for success.

Dan North

Dan North, Dan North & Associates Ltd

Dan North uses his deep technical and organisational knowledge to help CIOs, business and software teams to deliver quickly and successfully. He puts people first and finds simple, pragmatic solutions to business and technical problems, often using lean and agile techniques. He believes most technology problems are really about communication and feedback, which explains his interest in organisational design, systems thinking and how people learn. He has been consulting, coding and coaching for over 20 years, and he occasionally blogs at http://dannorth.net/blog.

(PDF) (Video)

Quickie: Secure NFC services with Java Card and a new approach to physical access control

After several false starts, NFC (Near Field Communications) is finally starting to appear in mobile phones. But having an NFC phone does not by itself mean that it can be used for secure services, such as payments or access control. In this presentation, the difference between NFC and secure NFC will be explained and also how the latter relates to Java Card. An alternative use of Java Card as an embedded cryptographic co-processor will also be introduced through the example of Telcred?s innovative model for offline physical access control.

Carlo Pompili

Carlo Pompili, Telcred

Carlo Pompili is the CEO of Telcred and one of the co-founders. He has worked with new business creation in the IT and telecom industries for 15 years as an entrepreneur, investor and consultant. Prior to starting Telcred in 2009 he was responsible for product management at the niche mobile phone operator Nordisk Mobiltelefon (currently Net 1) and before that he was responsible for business development at SICS. From 1997 to 2003 he co-founded and was a partner in Real Venture Group, an early stage investment company focusing on mobile Internet applications. Carlo holds a M.Sc. in Industrial Engineering and Management from Chalmers University of Technology.

(PDF)

Keynote: Simplicity: the Way of the Unusual Architect

It is often said that the difference between architecture and design is one of scale. Architects are concerned with "big" design and "big" integration. As developers become architects and architects become enterprise architects, the systems they build grow ever bigger and more complex. But does big necessarily need to mean complicated?

In this talk Dan argues for a new appreciation of simplicity, using examples from systems design, enterprise integration, build and deployment, and provides strategies to help you extract the simple essence from complex situations and problems, and to distinguish the simple from the simplistic.

"I would not give a fig for the simplicity this side of complexity, but I would give my life for the simplicity on the other side of complexity." - Oliver Wendell Holmes

Dan North

Dan North, Dan North & Associates Ltd

Dan North uses his deep technical and organisational knowledge to help CIOs, business and software teams to deliver quickly and successfully. He puts people first and finds simple, pragmatic solutions to business and technical problems, often using lean and agile techniques. He believes most technology problems are really about communication and feedback, which explains his interest in organisational design, systems thinking and how people learn. He has been consulting, coding and coaching for over 20 years, and he occasionally blogs at http://dannorth.net/blog.

(PDF)

Presentation: Stop doing Retrospective and start your Toyota Kata

You have been doing agile for a few years now. With a regular cadence you have retrospectives and a lot of problems and great improvement opportunities are raised but nothing seems to really improve. Stop doing retrospectives! You should shift your focus form collecting problems and start improving! It is time to take your improvement work to a whole new level!
It is time to create the habits of continuous improvement. It is time to start using Toyota Kata!
Toyota Kata is two behavior patterns, or Kata?s, that is the foundation in Toyota?s continuous improvement work. In this session you will get a practical introduction to Toyota Kata. You will see how a team goes through the two Kata's and improves its way of working.

Håkan Forss

Håkan Forss, Avega Group

Håkan Forss works for Avega Group in Stockholm as a Lean/Agile Coach. Håkan Forss has more than 15 years of experience in the IT industry and his main focus today are Lean/Agile coaching, system architecture and development. He has a great passion for applying Lean and Agile values and tools to continuously improving your people, processes and business. You can find Håkans random thoughts and thinking at http://twitter.com/hakanforss and http://hakanforss.wordpress.com

Video: Introduction

Presentation: Strategies for Loose Coupling in Large Java Desktop Applications

Large Java desktop applications are found throughout the software world, typically in back offices doing behind the scenes work, for example, in air traffic control, defense force simulations, risk managament analysis, and, generally, in the processing and visualization of large sets of data. Such applications will never completely run in the browser, on a tablet, or on a mobile phone.

These applications, typically very well hidden, are doing mission critical work. In this session, you will learn strategies for simplifying the work that needs to be done when creating and maintaining such applications in Java. With Swing or JavaFX (or both) on the frontend, a stable and powerful framework beneath, and modularity natively built in, you will see how the infrastructure of NetBeans can be leveraged as the basis of any Java desktop application, from NATO to Swedish defence force, and from finance to software development tools.

The session focuses on how to create loosely coupled features in large Java desktop applications and includes a panel, with discussion, and interaction from participants. By the end you will know everything to get started creating pluggable and maintainable applications yourself. Stand on the shoulders of giants, stand on the NetBeans rich client platform.

Geertjan Wielenga

Geertjan Wielenga, Oracle

Geertjan Wielenga is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer, primarily focused on the NetBeans IDE and the NetBeans Platform. He blogs daily at http://blogs.oracle.com/geertjan.

(PDF)

Presentation: SubCut - Truly Simple Dependency Injection for Scala

Dependency Injection is a surprisingly simple solution to an age old problem when writing large computer systems, how do I hook everything together but keep it flexible. It has been proven in numerous enterprise settings as an ideal solution combining flexibility and convenience, and yet the frameworks that provide dependency injection must often choose between either flexibility or simplicity, often because of limitations of the host language.

Scala offers the flexibility, power and abstraction necessary to provide a truly simple but powerful solution to the problem. SubCut (Scala Uniquely Bound Classes Under Traits) is a library that anyone can learn and use within minutes, and which will scale up to large software installations without problem. It is actually a combination of dependency injection and service locator patterns, and relies on the power of Scala to make the difficult seem easy. Some of the features that make SubCut unique include:
* Inject instances of classes, but still use "new" to create them
* No mutable state required, injected values can be assigned to vals in the class
* Immutable configuration (with a mutable builder to make life easy)
* A readable, simple DSL that leads you through the process of binding traits to implementation
* Deep type safety, e.g. inject a List[Int] and a List[String] from the same configuration with different values
* Lightweight identification of configuration values with symbols or names
* Compatible with any other library without needing a compatibility layer
* Compile time verification of the presence of a configuration module for any injected class
* Easy modification and combination of configuration modules at runtime (e.g. for testing) but with the original configuration remaining immutable
* A completely optional compiler plugin for drop-dead simple injection
* Works extremely smoothly with all IDEs

SubCut 1.0 got some good use from interested developers, and led to a number of improvements from lessons learned. The recent SubCut 2.0 has improved on most of the features of the original release, without getting much more complicated as a result.

Dick Wall

Dick Wall, Escalate Software

Dick Wall is a veteran Java developer who converted to Scala about 4 years ago and has never looked back. He is currently self employed and offers Scala training and consulting service in a partnership with Bill Venners called Escalate Software. In addition, Dick is founder of the Bay Area Scala Enthusiasts, one of the first Scala user groups in the US, and also founder and co-host of the Java Posse, a popular Java development podcast.

(PDF)

Presentation: Surviving the Zombie Apocalypse of Connected Devices

The zombie apocalypse has begun.
The number of different types of connected devices is increasing. We have already built ourselves a large amount of code duplication between client applications (both native apps and web apps) and it's only getting worse. Also, cheap low-profile devices are getting bigger market shares and users will still expect a good experience when using our software.
To solve the problem of code duplication on the clients, we need to pull as much code as we can from the clients back to the server. A good way to achieve this is to build a Hypermedia API and to use HTML as the media type for the API. A nice side-effect of this is that we can show the received HTML directly to the user, which will be good enough for a majority part of a client application.
The problem of low-profile devices is best solved by using Progressive Enhancement, which will allow us developers to provide the best experience that the device is capable of delivering.
Finally, combining HTML Hypermedia APIs and Progressive Enhancement will allow us to have a single endpoint for our web and our API. Grab your keyboards and join the resistance!

Gustaf Nilsson Kotte

Gustaf Nilsson Kotte, Jayway

Gustaf Nilsson Kotte is a full stack web developer at Jayway with an interest in architecture, design and systems thinking. He has a MSc in Computer Engineering from Chalmers University of Technology, with double specialization in Software Engineering and Computer Languages. Gustaf currently works in Malmö, Sweden.

(PDF)

Keynote: Taking Development to the Edge

Today the world is rapidly changing around us where our desire and dependency on information is growing, information that goes beyond what can be gathered and shared over computers, tablets, and smart devices.

The next frontier known as the "Internet of Things" is the millions, if not billions, of smart devices all connected through intelligent systems that will offer the world new solutions, opportunities and scale for greater productivity.

In this keynote you will learn more about this expanding frontier and how Java can enable developers to participate and build solutions for the ever-growing "Internet of Things" marketplace.

Sharat Chander

Sharat Chander, Oracle, Corp.

Sharat Chander (Group Director - Java Technology Outreach) leads Oracle's Java Evangelism Team with the primary goal of growing awareness and adoption of Java technology in the developer community. He has worked in the IT industry for 18 years, with firms such as Bell Atlantic, Verizon, and Sun Microsystems, Inc. Sharat's background and technical specialty is developer tools, graphics design, and product/community management. He is a frequent speaker and participant in developer programs world-wide and he is the Conference Chairperson for JavaOne. Sharat holds a BS in Corporate Finance from the University of Maryland, College Park and an MBA in International Business from Loyola College, Baltimore. You can find Sharat at multiple global developer events. You can follow Sharat on Twitter: @Sharat_Chander

Henrik Ståhl

Henrik Ståhl, Oracle

Henrik Stahl is a senior director of product management at Oracle, and oversees planning and strategy for the Java Platform. He is tasked with moving Java forward in a way that benefits the overall Java community as well as Oracle and its customers and partners.

Stahl joined Oracle as part of the BEA acquisition. At BEA he had responsibility for the JRockit family of products. Overall he has almost 10 years of working with JVM and Java strategy and development. Prior to BEA, Stahl was co-founder and CTO of Swedish consultancy Omegapoint AB, the lead developer of the Swedish BankID service for issuing digital IDs to Swedish citizens. His experience also includes IT security, system architecture and development, network engineering, and support.

Stahl holds an MS in engineering physics from the Royal Institute of Technology in Sweden. He lives with his family in California and spends his spare time doing random sports, gardening, and playing flamenco guitar.

(PDF)

Presentation: Technologies for the Internet of Things

Networked Society Our findings and experiences, 4 top areas in m2m SDK findings Business Lab Future

John Fornehed

John Fornehed, Ericsson AB

John Fornehed is Head of System Area m2m at Ericsson. Over the past 20+ years, 15 of those in Japan, John has been in charge of Strategic accounts with Japanese & European Operators as Head of Operator Relations, Multi Vendor Integration and bringing 2G and 3G to Japanese operators. John has also been a driver in Ericsson's 50 Billion Program. Currently John drives m2m ecosystem partnership activities and has a major role in Ericsson's Business Lab for m2m.

(PDF)

Presentation: The Java EE 7 Platform: Productivity & HTML5

This talk introduces the Java EE 7 platform, the latest revision of the Java platform for the enterprise. 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 and the long awaited Batch Processing API. Expression Language 3.0 and Java Message Service 2.0 will under go extreme makeover to align with the improvements in the Java language. There are plenty of improvements to several other components. Newer web standards like HTML 5 and Web Sockets will be embraced to build modern web applications.

This talk will provide a complete introduction to the Java EE 7 platform, including different components, and provide a roadmap.

Arun Gupta

Arun Gupta, Oracle

Arun Gupta is a Java evangelist working at Oracle. Arun has over 16 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 1300 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. You can catch him at @arungupta.

(PDF)

Presentation: The Wearable Application Server and Other Adventures in Software Engineering

Mobile technology has so far mostly been confined to the client side, for fairly obvious reasons - traditionally, clients are mobile, and servers are not. However, not only is hardware getting smaller, servers are too. When your application server can run on pocket-sized £25 hardware it opens up some pretty cool possibilities - your server is literally lightweight. Not only can you have location-based services, you can have locatable servers. Servers can run on phones, they can run on the Raspberry Pi, and so they can go almost anywhere you can think of. Modularity gives software the flexibility it needs to cram into these tight spaces without sacrificing power. This talk will demonstrate developing and deploying a web application to an application server embedded in a silly hat.

Holly Cummins

Holly Cummins, IBM

Holly Cummins is a senior software engineer developing enterprise middleware with the IBM WebSphere, and a committer on the Apache Aries project. She is a co-author of Enterprise OSGi in Action and has spoken at Devoxx, JavaZone, The ServerSide Java Symposium, JAX London, GeeCon, and the Great Indian Developer Summit, as well as a number of user groups.

(PDF) (Video)

Presentation: The web performance testing toolbox

So, your web application is slow. You read all the books, follow all advices, but users are still complaining. What now? It turns out that there are really good tools out there to help you, whether your problem is slow loading third party widgets, badly performing javascript or heavy paint times for DOM elements. But which one is right for you?
This hands on session will give guide help you assemble your own toolbox with the the different (mostly free) tools available for analyzing and troubleshooting web performance. You'll learn what you can expect from high level tools that measure page load time through synthetic or real user monitoring, down to low level javascript profiling and graphic rendering. We'll dive straight into the advanced parts of WebPagetest, Chrome Dev Tools, Dynatrace Ajax Edition and others, and you'll also get to know how to do most of this on actual mobile devices.

Tobias Järlund

Tobias Järlund, Aftonbladet

Tobias is a software developer with a passion for web performance, scalability and security. He's been programming for decades, and tries hard to master both front-end and back-end web development, preferably on top of the JVM. Tobias works as lead developer at Aftonbladet, where he's trying to reshape the news industry from within.

(SLIDES)

Tutorial: Thinking and Programming in Functional Style

Functional programming has been around for a while, however, they have sharply raised to prominence on the JVM with the emergence of languages like Scala, Clojure, Groovy, and JRuby. Programming in functional style is not about picking a set of syntax, it is thinking in a particular idiomatic style and programming using a set of constructs. One of the better way to learn this is by doing it. In this workshop, we will take ten different tasks, discuss how to do them with the all-too-familiar imperative style and then how to program it using functional style. We will then implement our design for each task using a language that provides functional style of programming on the JVM.

Venkat Subramaniam

Venkat Subramaniam, Agile Developer, Inc.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is the co-author 2007 Jolt Productivity Award winning "Practices of an Agile Developer," the author of "Programming Groovy: Dynamic Productivity for the Java Developer" and "Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine" (Pragmatic Bookshelf). His latest book is "Programming Concurrency on the JVM: Mastering synchronization, STM, and Actors".

(PDF)

Tutorial: Ways to Build a Modern Web Application

Join us in a tutorial of tools, APIs, and frameworks to build a modern web application with backend and frontend. We will make use of HTML5 (history API, semantics, sandboxed iframe etc), client-side dependency management, templating, and MVC, RESTful services in Java, a CSS preprocessor, and even a dash of web sockets. Live coding style.
The tutorial will be given in Swedish.

Joakim Kemeny

Joakim Kemeny, Callista Enterprise

Joakim Kemeny is working as a consultant and he helps his customers by creating great user experiences for web applications, mobile devices and public web sites. His interests spans from creating a solid web architecture that can support a high performance web application to getting his hands dirty in CSS rules that make Internet Explorer shine. Joakim has been making web sites since 1996 so when he started sharing his thoughts as a public speaker it was natural to focus on the different things that makes a great front end developer.

John Wilander

John Wilander, Svenska Handelsbanken

John Wilander is a frontend software developer at Svenska Handelsbanken. He has been researching and working in application security for ten years and is an active leader in OWASP, the Open Web Application Security Project. In 2011 he organized the OWASP Summit 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.

(SLIDES)

Presentation: Web Components Now

From embeds to widgets to managing complex applications, you constantly face the need for better componentization as a web developer. Don't despair, help is on the way. The web platform is gaining a powerful new set of capabilities designed to better help you build robust, reusable, and packageable components. The component model for the Web, also known as Web Components is the new family of web platform features for declarative composition, to modern browsers today. We'll cover what they do, their status, and how you can start playing with these powerful emerging technologies today. In this talk, you'll learn how all the pieces fit together. Demos will be shown using Dart and how that helps to bring Web Components to modern browsers today.

Seth Ladd

Seth Ladd, Google

Seth is a web engineer and is currently a Chrome Developer Advocate, helping developers of all sizes launch awesome modern web apps. He produced Aloha on Rails, the Hawaii Ruby on Rails and Web Development Conference, and New Game, the conference for HTML5 game developers. Way back, Seth co-authored the Expert Spring MVC book. More recently, he helped release Angry Birds for the web. Seth is on the board of the Academy of Interactive Arts and Sciences.

(PDF) (Video)

Presentation: WebSocket and Java EE: A State of the Union

Java EE is beginning its climb into the cloud. In addition to updates to existing technologies such as JPA and EJB, Java EE 7 is introducing new technologies such as WebSocket that aim to provide bidirectional, asynchronous communication between a client and a server. This session introduces the protocol itself, discussing the various ways it differs from HTTP. It also touches briefly on how it differs from existing asynchronous approaches. From there the presentation moves to examples of existing APIs that provide support for the protocol and then discusses the current state of the JSR and what remains to be done before final delivery of Java EE 7 in the first half of 2013.

Justin Lee

Justin Lee, Squarespace.com

Justin has been a Java developer since 1996. Since then he has had the chance to work on practically every tier conceivable for applications from web front ends to custom ORM frameworks. Most recently he was responsible for the websocket implementation available in GlassFish and Grizzly and is a member of the JSR 356 websockets expert group. He currently works as a senior software engineer for squarespace.com. He's an active member of the open source community and blogs less frequently than he intends at http://antwerkz.com

(SLIDES)

Presentation: What Every Hipster Should Know About Functional Programming

Different programming paradigms serve different purposes. Systems programmers prefer tools that are dumb, imperative and close to the metal. Enterprise programmers prefer tools which foster complexity, increasing billable hours and the client's dependency on the developer.

And, let me just come clean and admit it, functional programmers do it for that delicious feeling of superiority that comes from looking down your nose at the normals in their caves banging together for loops and mutable state to make fire.

Treat yourself to a crash course in the vocabulary of functional programming: lambdas, higher order functions, purity and immutability, the infinite opportunities to throw the word "monad" in the face of anyone who thinks an ironic moustache is enough to justify all that self-assured smugness these days. You'll never have to lose a programming argument again once you've learned where to casually toss terms like "applicative functor" and "Kleisli triple" into the conversation.

This is the War of the Hipsters. Arm yourself now, before it goes mainstream.

Bodil Stokke

Bodil Stokke, Arktekk

Bodil is a developer, frequent speaker and occasional teacher of web technology and anything that favours s?expressions. She is currently serving as the Director of Frontend Development at Arktekk. She is best known as the creator of the Catnip IDE for Clojure, and for her contributions to the field of programming language theory, especially the Facial Hair Theory of Language Design. She holds a Ph.D in applied metaphysics from eBay.

(PDF)

Presentation: What is expected of a PaaS in 2013?

The PaaS landscape is only getting better with time. With configuration becoming simpler, the best possible availability expectations, polyglot runtimes, datacenter distribution choices, choice of persistence layers, a richer set of APIs and features (Full Text Search, Map Reduce, PageSpeed,...) all the time. Come and taste the 2013 Grand Cru! There will also be a good deal of discussion on some features and tools that are in the works right now, but will be out by the time you hear us talk.

Matt Stephenson

Matt Stephenson, Google

Matt Stephenson is a builder and engineer of fine things Software and otherwise. He works full time on Google App Engine in San Francisco. His past is littered with devops projects including the deployment engine used to run AWS, the OpenStack Nova project, and the multi-cloud java library jclouds.

(PDF) (Video)

Quickie: What's new in Android Jelly Bean

A tour of what has happened with the Android platform and ecosystem in the last past year. This presentation focuses on what's new from both a user and developer point of view.

Cyril Mottier

Cyril Mottier, Google Developer Expert

Cyril Mottier is a Google Developer Expert dedicated to Android (see https://developers.google.com/experts/ for more information about Google Developer Experts). Passionate about technology and design, Cyril is an avid lover of Android and a multi-skilled engineer. He is actively involved in the Android community and shares his passion writing blog posts, creating open source librairies and giving talks.

Video: Introduction

(PDF) (Video)

Quickie: Why you should use a Java Cloud platform? Because it's Easy!

Are you still struggling with your own server set-ups? We will show some of the benefits with deploying your application on a Java Paas Cloud instead. Choose your software stack, set the limits for autoscaling and in just a few seconds your environment will be up and running! Without installing and configuring your own. These days you don't need to code against third-party APIs - you just upload your application and start. Simply upload your application package and choose the right environment. If your environment has multiple computing instances, all of them will automatically be updated with Maven and Ant plugins, deployment as simple as mvn:deploy. As your traffic grows, CPU and RAM automatically scale your application needs to handle the load. If your traffic decreases,it will immediately reduce the resources again.

Come and see the next generation of Java hosting platforms which can run and scale ANY Java application with no code changes required! We will use Jelastic, The Duke Choice Award winning cloud platform to exemplify what a modern Java PaaS will provide for you!

(PDF)

Presentation: Will It Float [in Java]?

In this session we will undertake a rigorous, empirical methodology to find out the current state of Java on devices of all sizes and shapes. Using the time-tested technique of technology immersion, the capabilities of running different devices in Java will be physically demonstrated. We will uncover some surprising developments in Java on mobile, embedded, and consumer devices with a look into the future of Java machine-to-machine (M2M) applications. This session will be run by an expert in the field of device buoyancy, so audience members are strongly cautioned against trying these experiments on their own!

Stephen Chin

Stephen Chin, Oracle

Stephen Chin is a Java Ambassador at Oracle specializing in UI technology and co-author of the Pro JavaFX Platform 2 title, which is the leading technical reference for JavaFX. He has been featured at Java conferences around the world including Devoxx, Codemash, OSCON, JFall, GeeCON, Jazoon, and JavaOne, where he twice received a Rock Star Award. In his evenings and weekends, Stephen is an open-source hacker, working on projects including ScalaFX, a DSL for JavaFX in the Scala language, Visage, a UI oriented JVM language, JFXtras, a JavaFX component and extension library, and Apropos, an Agile Project Portfolio scheduling tool written in JavaFX. Stephen can be followed on twitter @steveonjava and reached via his blog: http://steveonjava.com/