Dan Allen

Dan Allen, Red Hat, Inc

JBoss, Red Hat - Seam Community Liaison Dan is the community liaison and member of the Seam, Weld and Arquillian project teams at JBoss, by Red Hat, the author of Seam in Action, a representative for Red Hat on the JSR-314 Expert Group (JSF 2.0) and a speaker at major industry conferences including JavaOne, Devoxx, NFJS, Jazoon and JSF Summit. He was inducted into the JavaOne Rock Star Hall of Fame for his talk about conversations and pageflows in JSF at JavaOne 2009. Dan become deeply involved in Free and Open Source software (FOSS), namely Linux and Java enterprise frameworks, shortly after graduating from Cornell University. His passion for these technologies continue to drive him today. You can keep up with Dan's discoveries by subscribing to his blog at http://mojavelinux.com or follow what he's currently doing at http://twitter.com/mojavelinux


Tutorial: Seam 3: Portable, modular, typesafe extensions for CDI & Java EE6

This talk reintroduces Seam as a portable, modular and type-safe framework built atop JSR-299: Contexts and Dependency Injection for the Java EE platform (CDI). We'll look at how and why Seam 2 evolved into CDI. You'll be taken on a brief tour of the CDI programming model, learn about it's relationship to EJB 3.1 and JSF 2.0 and discover how it unifies, enhances and extends the Java EE platform. We'll briefly visit Weld, the JSR-299 Reference Implementation, before looking ahead to Seam 3. You'll discover how Seam 3 is layered on this new foundation as a set of portable CDI extensions, offered as individual artifacts or stack releases. We'll wrap up the show with some demos that showcase the productivity this stack of technologies provides you.


Presentation: Extensible Java EE: Using CDI and Weld Extensions to make a better Java EE

Java EE 6 is a vast improvement over previous iterations of the platform. But regardless of how large incremental releases are, it's not long before we want more. In this talk, you'll discover that waiting for Java EE 7 isn't your only option, thanks to the portable extension integration SPI introduced into the platform by JSR-299. To prove that the Java EE platform is truly extensible, we'll focus on examples rather than promises. We'll go over the options you have for enhancing the application, from registering custom beans, interceptors and decorators, to customizing dependency injection points, to augmenting the annotation-metadata on registered beans, to introducing custom scopes. The talk will cover when and how you weave these enhancements into the container lifecycle using the CDI eventing system. Having looked at some standard examples, we'll unlock some shortcuts and shorthands that are provided by the portable Weld Extension library. Examples we'll be taken from the growing ecosystem of open-source portable extensions.

Anton Arhipov

Anton Arhipov, ZeroTurnaround

Software Engineer and JRebel Product Lead at ZeroTurnaround. Prior to joining ZeroTurnaround worked as a developer and team leader in one of the largest banks in the Baltics. Apart of every day work co-ordinating the local developers community group in Tallinn. Meanwhile, studying computer engineering at PhD level in Tallinn University of Technology. Blogging at http://arhipov.blogspot.com


Quickie: Binary patching of Java classes for fun (and profit).

The what/why/how of runtime binary patching of JAVA applications, frameworks and application servers to provide custom integration. We will follow the JRebel integration story from dirty bytecode insertions to readable Java code patches. The session is intended for advanced Java developers interested in patching or integrating with binary java applications. We will look at the different problems that arise when doing runtime binary patching of different Java applications and frameworks. * What and why is a binary patching? * Tools, methods and tips. * Sample use-cases of binary patching different systems * Pros/cons

Roger Bodamer

Roger Bodamer, 10gen

Roger Bodamer has over 20 years of experience of building and delivering great and innovative products to market and has deep expertise and knowledge of database architectures and internals. Roger holds several patents for database and middleware technology. His experience leading product development and engineering teams includes 12 years with Oracle’s Database and Application Server development organization where he pioneered products that delivered heterogeneous interoperability, as well as several years as SVP of product operations and engineering at Apple’s PowerSchool division. Roger also held leadership positions at OuterBay and Efficient Frontier. He earned a Bachelor's degree in computer science from the HogeSchool Enschede.


Presentation: NoSQL consistency models and transactional semantics

NoSQL technologies often use different models for failover, high availability, and multi-data center support than traditional databases. In this session we will review approaches for different products such as Dynamo, BigTable, Yahoo PNUTS, CouchDB, and MongoDB. Discussion will include topics such as eventual consistency and CAP theorem. The CAP Theorem states that we cannot achieve consistency, availability, and tolerance to network partitions in a distributed data system.

In this session we will review how traditional database deployments have traded off these items, and how NoSQL sometimes offers a different approach to the problem. Different non-relational database products take different approaches: for this reason we will examine how different products deal with replication, multiple copies of information, consistency, failover, high availability. We will examine the implications of different approaches when working with multiple data centers and also in terms of performance.

Jonas Boner

Jonas Boner, Scalable Solutions

Jonas Bonér is a programmer, teacher, mentor, speaker and author who spends most of his time consulting, hacking on open source as well as lecturing and speaking at developer conferences world-wide. He has worked at Terracotta, the JRockit JVM at BEA and is an active contributor to the Open Source community; most notably created the Akka Project, AspectWerkz Aspect-Oriented Programming (AOP) framework, committer to the Terracotta JVM clustering technology and been part of the Eclipse AspectJ team. Read more on his blog: http://jonasboner.com

(PDF) (PodCast)

Presentation: Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors & STM

We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. Akka is here to change that. Akka is using the Actor Model together with Software Transactional Memory (STM) to raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. For fault-tolerance it adopts the "Let it crash" model which have been used with great success in the Telecom industry to build applications that self-heals, systems that never stop. Akka's Remote Actors, backed by a scalable non-blocking IO implementation, provides the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications. In this talk you will learn what Akka is, how it can be used to solve hard problems and the ideas behind its design and implementation. Akka is available at http://akkasource.org/

Alex Snaps and Sergio Bossa

Alex Snaps and Sergio Bossa, Terracotta Inc. / Bwin Italy

Alex Snaps is a software engineer at Terracota Inc, with significant experience in web application development and highly concurrent systems. Before working on the Terracotta platform and product line, he participated in medium to large projects as coach, development lead and architect. He speaks regularly about Java development at events such as JavaOne, JavaPolis, Devoxx, JavaZone, Jazoon or XP Days as well as JUGs around the globe. He is currently working on Ehcache, the Quartz enterprise scheduler and the Terracotta Toolkit.

Sergio Bossa is a pragmatic programmer with a true passion for open source software and open communities. As a long time open source contributor, he worked as a committer for Spring Framework Modules and Terracotta Forge, led the development of the open source Atlassian Jira clustered version and is now the founder of the Terrastore distributed document store. He currently works as a software engineer in the online gambling and casinos industry for Bwin Italy, where he's focusing on building robust and scalable software for the company backend platform.


Presentation: To be relational, or not to be relational? That's NOT the question!

With distributed computing being a reality, whether between clouds or within data center walls, programmers and architects are facing new challenges. In traditional enterprise development, we?ve been relying on the database to be the keeper of our data and constraints, but since the pattern didn't scale, NoSQL recently came to our rescue. Now what does all that mean? And more importantly, what does it mean to you and your application? This session aims at guiding you on the journey from using a single relational database server, to making it as scalable as possible and choosing proper alternative solutions: explaining pros and cons of tools available depending on your needs, their impact on your architecture, the concepts and algorithms under the hood, and when NoSQL should really be Not Only SQL. This session should be attended by developers and architects that plan on delivering applications in the next couple of years, as the future is now and you can't get struggled with hamletic questions!

Sergio Bossa

Sergio Bossa, Bwin Italy

Sergio Bossa is a pragmatic programmer with a true passion for open source software and open communities. As a long time open source contributor, he worked as a committer for Spring Framework Modules and Terracotta Forge, led the development of the open source Atlassian Jira clustered version and is now the founder of the Terrastore distributed document store. He currently works as a software engineer in the online gambling and casinos industry for Gioco Digitale, where he's focusing on building robust and scalable software for the company backend platform.

(PDF) (PodCast)

Quickie: Terrastore: document database for developers.

This is a rundown on the Terrastore "NOSQL" store, providing a quick introduction to its most important features and how it will boost your productivity in developing data-centric applications.

Roger Brinkley

Roger Brinkley, Oracle

Roger Brinkley is the Community Leader for the Mobile and Embedded Community at Oracle. He is responsible for community development related to Java ME technologies. He is part of the Evangelism and Blueprints team in the Java Platform Group, was a member of Sun's Open Source Group, the Java.Net Management Board, and serves as a Track Lead for the JavaOne Program Committee.

Roger has more than 30 years of industry experience with over 14 years at Sun. He is a frequent speaker at technical conferences around the world and cohosts the weekly Java Mobility Podcast with Terrence Barr.

Prior to becoming the Mobile and Embedded Community Leader he was the specification lead for JSR 97 JavaHelp 2.0 Specification and was the community leader for both the JDK and JavaDesktop communities. He has a Bachelors Degree in Computer Science and Quantitative Analysis and a Masters Degree in Business Administration.


Presentation: It's All About ME (Mobile and Embedded)

Devices are now equipped with sensors such as 3G accelerometers, full GPS tracking units, along with Bluetooth and Zigby type communication protocols that allow mobile and embedded devices to be much more than an phone and device to play games. The talk is meant to show how one developer has used these system enhancement to make one of his favorite hobbies more enjoyable, but the overlying purpose is to encourage the attendees to develop programs that will benefit their lives and make mobile phones, and to a lesser extend embedded devices, much more than just a phone, text, and game player. The presenter in this talk is the Java Mobile & Embedded Community Leader and a golfer. This talk will present a number of free open source programs that have been created to make his golfing life easier and to play better. Devices used in the presentation will include a cell phone, SunSPOT, and Trackbot. Software used build the programs will include the Java ME Platform, SunSPOT software, Light Weight UI Toolkit, the Java SE platofrm (possibly with Java FX). The programs written will help the golfer to fully analyze his swing, including such key features as swing path, angle of attack, speed, and face angle; on course caddy information including distance to green, club selection, and club distance; and on green information including slope and green mapping.

Michaël Chaize

Michaël Chaize, Adobe

Michaël Chaize is a Flash Platform Evangelist at Adobe where he focuses on Rich Internet Application and Enterprise Integration. Based in Paris, he works with large accounts that need to understand the benefits of rich user interfaces, leverage the existing back-ends to add a rich presentation layer and measure the impact on the existing IT teams. He believes that intuitive user experiences in the Enterprise are key to successful developments of effective, efficient, engaging, easy to learn and error free applications. He loves to promote concepts such as "Productivity by design" or "User Experience oriented architectures". Before joining Adobe, Michael founded a software company and taught RIA languages such as Flex and PHP in IT engineering schools.


Presentation: Building mobile applications with Flex

With the rise of a wide range of Internet connected devices, a new class of application is emerging to work across multiple kinds of devices. Developers are now faced with new challenges to provide the most engaging user experiences on any screen. New device input methods like touch and gestures require developers to rethink interaction models. Screen size constraints also require developers to optimize real estate usage. With so many different mediums for delivering rich Internet applications code, reuse becomes incredibly important. This session will help developers get up-to-speed on how they can use Flash Player and Adobe AIR to deploy a consistent runtime environment for Web content and applications across devices, both within and outside the browser. The last version of the open source Flex SDK lets you building this new generation of mobile apps.

David Chandler

David Chandler, Google

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

(PDF) (PodCast)

Presentation: What's New in Google Web Toolkit

Google Web Toolkit (GWT) lets you build and optimize rich browser-based apps without having to be an expert in browser quirks, XMLHttpRequest, or JavaScript. In this talk, we'll look at powerful new capabilities in GWT 2.1 including MVP architecture with Activities and Places, client-server communication with RequestFactory, visual layout with GWT Designer for Eclipse, and performance optimization with SpeedTracer.

Patrick Chanezon

Patrick Chanezon, Google

Patrick Chanezon manages the Client and Cloud Advocacy team at Google, making the web better as a development platform with open web standards, GWT and Google App Engine. He has been a Developer Advocate at Google since 2005, building and growing developer ecosystems for OpenSocial, Google Checkout and the AdWords API. Previously he has been working on portals, blogs and syndication feeds at Sun Microsystems, AOL and Netscape. He has done a bit of open source (ROME project,  OSSGTP group).
Apart from programming and reading books, his main interest in life is spending time with his wife and 3 kids. More on his blog at http://wordpress.chanezon.com/

(PDF) (PodCast)

Presentation: Google Cloud Computing for Java Developers: Platform and Monetization

This session will provide developers with an overview of Google Cloud computing services and monetization opportunities: * Google App Engine Java: Developers can leverage Google's cloud infrastructure to run their Java applications at scale, leveraging Java standards such as Java Servlet, Java Data Objects, and Java Persistence API. * Google App Engine for Business: targeted at Enterprises, with SLA, paid support, and SQL * Google Storage, Prediction and BigQuery APIs: storage, machine learning and interactive analytics services powered by Google infrastructure. * Google Apps Marketplace: allows developers to integrate Google Apps in their applications and sell them to Google Apps customers.

Adrian Cole

Adrian Cole, Cloud Conscious

Adrian founded the open source project jclouds last march, and is actively engaged in cloud interoperability and devops circles. Recently, he's worked at VMware helping make vCloud relevant to developers and ISVs.  He's also put in effort at Opscode on java-chef integration.  Adrian's currently consulting under Cloud Conscious LLC


Presentation: Java Power Tools: the cloud edition

John Ferguson Smart's book Java Power Tools, introduces many powerful tools for unit testing, build, and deployment activities. How do these tools relate to the cloud? During this session, we'll review tools in the jclouds ecosystem that connect to build, test, deploy concerns: Arquillian runs your testng or junit tests in any cloud. Hudson spawns slaves in the cloud to build your app faster. Whirr stands up Hadoop clusters to run your jobs. Pallet builds customized stacks and deploys your applications to them. At the end of this talk, you'll have a few more tools in your box, and a good sense of how cloud fits in.

Emil Eifrem

Emil Eifrem, Neo Technology

Founder of the Neo4j graph database project and CEO of Neo Technology. Programmer by passion the first 15 years on this planet and by passion & profession the remaining 15. First free software project at age 16. Now mainly focused on spreading the word about the powers of graphs and preaching the demise of tabular solutions everywhere. Presents regularly at conferences such as JAOO, Jfokus, JavaOne, QCon, and OSCON.


Presentation: Overview of NOSQL

It seems like everywhere we look there's talk about next-gen databases. Under the rallying cry of "NoSQL," several close-kept secret databases have gone open-source recently, giving everyone many exciting and confusing new opportunities. Some perform like crazy, some scale out to football field size, some just keep going no matter what, but none can do it all.

In these days, databases for huge, rich internet sites is all about making the right trade-off in the CAP theorem, not trying to cling to ACID semantics. Instead of trying to be another one-RDBMS-fits-all, these NoSQL databases typically address one or a few particular scenarios in the best way.

This talk is an overview of the four main categories of NoSQL databases: Key-Value Stores, ColumnFamily implementations, Document and Graph databases. We'll compare and contrast the major players of each type. You will take a way a better understanding of what your choices are, and what scenarios each database type is meant to solve.

Presentation: Use Cases for Graph Databases with Neo4J

Use Cases for Graph Databases with Neo4J

Daniel Brolund and Ola Ellnestam

Daniel Brolund and Ola Ellnestam, Agical

Daniel Brolund has a small working memory.  He tries to compensate for his bad memory by using and spreading solid working habits, like limited work-in-progress, TDD, and automation.  He is a co-creator of the Mikado Method, a process and memento for large transformations of legacy systems. The method has enabled him to actually perform such transformations, in spite of his memory shortage! If you meet him, please refresh his memory and tell him your name.

Ola Ellnestam likes to combine technology, people and business. Which is why he finds software development so interesting. After coming in contact with eXtreme Programming he realized that developing software doesn't necessarily mean big and seemingly endless projects. There are flexible and fun ways to develop software too. More than anything else, Ola likes to share his knowledge with others because he believes that this is how new knowledge and insights are created.



Presentation: Transforming Legacy Systems - An introduction to the Mikado Method

For any code-base, ill- or well-structured, there comes a time when you want to improve portions of it to meet new functional requirements, a new business model, new market demands, or just change it to make it more comprehensible. When these changes become extensive, it is easy to get lost in a jungle of dependencies, or on a sea of broken code. This session introduces The Mikado Method, a way to handle tricky situations where you want to improve systems and code bases.

Eric Evans

Eric Evans, Domain Language

Eric Evans is the author of Domain-Driven Design, (Addison-Wesley 2003). He has specialized in domain modeling and design in enterprise systems since the early 1990s. He has coached and trained teams in Extreme Programming and has helped integrate agile processes and sophisticated design into diverse projects. http://www.domainlanguage.com

Presentation: Folding Together DDD and Agile

After a decade of heavy process, the Agile revolution of the late '90s threw off the dead hand of big upfront design. The bloody purge that followed was needed!

There were unintended consequences. Too many teams interpret "Agile" as a permit to not think about design. But if they have ambitious goals, Agile teams need more than standup meetings and iterations. Many teams get off to a quick start, building lots of features in early iterations, but end up with a "Big Ball of Mud". Without clear and well–structured code, they cannot sustain their pace and also put themselves at risk of, one day, encountering a critical feature they simply cannot deliver.
Without the common understanding between developers and stakeholders that is forged in domain analysis, one of the greatest benefits of iteration, the deepening communication about what the software should do and how it should do it, is never realized.

We must not return to the "Analysis Paralysis" that we used to endure (and that many teams still do), but interpreting "Do the Simplest Thing"
as "Do the Easiest Thing" doesn't work either.

This talk will consider ways of incorporating modeling and design into the iterative process in a lightweight way that increases communication with stakeholders and decreases the likelihood of painting ourselves into corners, without returning to the dead–hand of the analysis phase.
As a concrete example of how such techniques can be incorporated into the Agile framework, we'll have an overview of a simple process Domain Language has used with its clients for the last six years.

The right kind of modeling and design, far from bogging down a project, leads to a livelier and more sustainable development pace.

Manne Fagerlind

Manne Fagerlind, HiQ Stockholm AB

Manne is a system developer and software architect with a strong interest in agile technologies. With a passion for building scalable and maintainable software he find that the Java ecosystem (although not necessarily the Java language) is a good platform to build such software on. Further, I find that agile methodology is usually a great help in making the customer happy.


Quickie: Hållbar testdriven utveckling - en praktisk handledning

De flesta förstår att testdriven utveckling är en bra idé - i teorin. I verkligheten blir testerna ofta bräckliga och svåra att underhålla, och till sist kan de bli en belastning och inte en tillgång. I detta föredrag får du tips om hur du får testdriven utveckling att fungera i praktiken, inte bara i teorin.

Robert Folkesson

Robert Folkesson, Microsoft

Robert Folkesson has been working with Internet based development for fourteen years. Robert previously worked as a consultant with various Microsoft related technologies and has also been a technical trainer holding courses in BizTalk Server development. Today Robert is an architect in the Developer & Platform group at Microsoft Sweden where he focuses on cloud services, RIA architecture and interoperability. Robert blogs at http://blogs.msdn.com/b/robf/ and you can follow him at twitter @rfolkes


Presentation: Free your data with the Open Data Protocol

There is a vast amount of data available today and data is now being collected and stored at a rate never seen before. Much, if not most, of this data however is locked into specific applications or formats and difficult to access or to integrate into new uses. Public data is often unfortunately held private or needlessly buried behind random, inefficient, and cumbersome interfaces. The Open Data Protocol (OData) is an open REST based protocol for sharing data. It provides a way to break down data silos and increase the shared value of data by creating an ecosystem in which data consumers can interoperate with data producers in a powerful way, enabling more applications to make sense of a broader set of data. In this session we will examine the Why, What and How?s of the protocol and look into detail how to produce OData services and how to consume these services using different server and client platforms such as Java, PHP and .NET.

Neal Ford

Neal Ford, ThoughtWorks

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


Tutorial: The Productive Programmer

The Productive Programmer consists of two parts: mechanics & practice. In the mechanics section, I identify 4 principles of productivity: acceleration, focus, automation, and canonicality. This session defines the principles and describes their use, but the primary focus of this workshop is real-world examples of how you can use these principles to make yourself a more productive programmer. The second part of this workshop covers 10 ways to improve your code, derived from the practices section. This workshop includes tons of examples, all culled from real-world projects.


Presentation: Visualizations for Code Metrics

Judicious use of metrics improves the quality of your code. But interpreting metrics presents a challenge. You have a list of numbers for a project - what does it mean? And what does it tell me about the health of the project overall? This sessions shows how to produce visualizations for software metrics, making them easier to understand and more valuable. It covers metrics at the individual method level all the way up to the overall architecture of the application. This isn't just a talk about how some tools produce visualizations: this session shows you how to generate your own visualizations, allowing you to customize it to the level in information density that shows real value on your project. I show how to produce projected graphs from dependencies, heat-maps for cyclomatic complexity and code coverage, using XSLT to extract visual information from XML configuration documents, and others. Metrics can't help you if you can't understand them. By creating visualizations, it helps leverage metrics to make your code better.

(PDF) (PodCast)

Presentation: Emergent Design

This session describes the current thinking about emergent design, discovering design in code. The hazard of Big Design Up Front in software is that you don't yet know what you don't know, and design decisions made too early are just speculations without facts. Emergent design techniques allow you to wait until the last responsible moment to make design decisions. This talk covers four areas: emergent design enablers, battling things that make emergent design hard, finding idiomatic patterns, and how to leverage the patterns you find. It includes both proactive (test-driven development) and reactive (refactoring, metrics, visualizations, tests) approaches to discovering design, and discusses the use of custom attributes, DSLs, and other techniques for utilizing them. The goal of this talk is to provide nomenclature, strategies, and techniques for allowing design to emerge from projects as they proceed, keeping your code in sync with the problem domain.


Keynote: Abstraction Distractions

Computer science is built on a shaky tower of abstractions, but we've been distracted by other things until we believe it is reality. This Keynote teases apart some of the tangled abstractions that have become so common they are invisible yet impact important decisions. It will cover languages, tools, platforms, and burrow all the way down to fundamental concepts.

Eric Evans and Patrik Fredriksson

Eric Evans and Patrik Fredriksson, Domain Language / Citerus

Eric Evans is the author of Domain-Driven Design, (Addison-Wesley 2003). He has specialized in domain modeling and design in enterprise systems since the early 1990s. He has coached and trained teams in Extreme Programming and has helped integrate agile processes and sophisticated design into diverse projects. http://www.domainlanguage.com

Patrik Fredriksson is by Eric Evans, Domain Language, Inc certified instructors. Patrick is a partner in Citerus and works as a consultant in software development. He has been developing in Java since 1996 and finds a powerful force in working to get software development projects to become more efficient, more successful and more fun!

Tutorial: Domain-Driven Design: Putting the Model to Work

Large information systems need a domain model. Development teams know this, yet they often end up with little more than data schemas which do not deliver on the productivity promises for object design. This tutorial delves into how a team, developers and domain experts together, can engage in progressively deeper exploration of their problem domain while making that understanding tangible as a practical software design. This model is not just a diagram or an analysis artifact. It provides the very foundation of the design, the driving force of analysis, even the basis of the language spoken on the project.

The tutorial will focus on three topics: The conscious use of language on the project to refine and communicate models and strengthen the connection with the implementation. A subtly different style of refactoring aimed at deepening model insight, in addition to making technical improvements to the code. A brief look at strategic design, which is crucial to larger projects.

Anna Gos and friends

Anna Gos and friends, Duchess

Duchess is a network of women who are interested in Java technology, created to support and promote women in the Java industry. If you are both female and interested in Java technology, join us to network and share your knowledge and experiences.

BOF: Women in IT

Duchess is a global network for women in Java technology. We provide a platform through which women can connect and get involved in technology.

JDuchess organize this BOF at Jfokus. We will have a discussion about the role of women within both Java and IT in general. We think that these are important topics that need special attention. Everyone will be welcome to join this discussion, men as well as women. We have previous experience with organizing similar sessions, for instance at Devoxx, JavaOne, and others. Duchess: http://jduchess.org/

Mario Fusco

Mario Fusco, NumberFour AG

Mario joined the Java developers community during his studies at university, and has been a Java enthusiast since. He has a more than decennial experience as Java developer having been involved in (and often leading) many enterprise level successful projects in several industries ranging from media companies to the financial sector. At the moment he lives and works in Lugano (the biggest town in the italian speaking part of Switzerland) where he also founded the local JUG.

Among his interests there are also the functional programming and languages, mostly Scala, and the development of Domain Specific Languages. By leveraging these 2 passions he also created the open source library lambdaj with the purposes of providing an internal Java DSL for manipulating collections and allowing a bit of functional programming in Java.


Presentation: No more loops with lambdaj

Lambdaj is an open source library that makes easier to manipulate collections in a pseudofunctional and statically typed way. To iterate over collection, especially in nested loops, is often error-prone and makes the code less readable. Lambdaj alleviates these problems by employing some functional programming techniques, without losing the static typing of Java in order to make refactoring easier and safer. Lambdaj partially eliminates the burden to write poorly readable loops while iterating over collections by allowing to filter, convert, group, aggregate, and sort their items without a single explicit loop. Beginning with its 2.0 release, lambdaj also makes it possible to define and use pseudoclosure in the same DSL style.

Jeff Genender

Jeff Genender, Savoir Technologies

Jeff Genender is a Java Champion and Java Open Source consultant specializing in SOA and enterprise service implementations. He is the author of Professional Apache Tomcat 6, Professional Apache Geronimo, and Enterprise Java Servlets as well as an Apache member and committer on several open source projects including ServiceMix, CXF, Geronimo, OpenEJB, ServiceMix, Mina, and Open Terracotta. Jeff serves on the JSR-316 Java EE6 expert group committee. He is a frequent speaker at such events as TheServerSide Symposium, Jfokus, JavaZone, and numerous Java User Groups on topics pertaining to Service Oriented Architectures (SOA). He is the author of Professional Apache Tomcat 6, Professional Apache Geronimo, and Enterprise Java Servlets as well as an Apache member and committer on several open source projects including ServiceMix, CXF, Geronimo, OpenEJB, ServiceMix, Mina, and Open Terracotta. Jeff serves on the JSR-316 Java EE6 expert group committee. Jeff is an open source evangelist and has successfully brought open source development efforts, initiatives, and success stories into a number of Global 2000 companies, saving these organizations millions in licensing costs. Jeff is also a cast member of the popular pod cast Basement Coders (www.basementcoders.com)


Presentation: Everything You Wanted to Know About Open Source that Nobody Told You

Did you ever read or hear about people who get paid to write open source software and wish you had that dream job? Did you ever look at an open source product and wonder how it was built in such a short time and with such high quality? Did you ever wonder how you and your company could get into open source development? If you?ve ever asked yourself these questions, then this session is for you. Jeff Genender is an open source software enthusiast who took his passion for open source and became a contributor on several well-known open source projects, which finally landed him several positions that actually paid him to work on this passion. In this session you learn about: * Contributing and learning "The OpenSource Way" (tm); *The development process and tools sets commonly used in open source, as well as how to leverage a remote development model effectively; *How to get involved with the open source methodology and change the way your company develops software; *How to be a good citizen in the open source community - and maybe even get paid to contribute to open source!


Presentation: Top SOA Tips - A Road to a Successful SOA Implementation

You have been handed the keys and a blank slate to build a new services-based architecture. Are you up for the task? Do you have the knowledge, judgment, and combination of hard and soft skills needed to plan, design, and execute a significant SOA project?

Implementing a strong and flexible SOA can be a difficult challenge for an experienced architect, let alone someone with less experience. Many complex architecture projects end in failure, or are scaled back so that something can be achieved in a reasonable amount of time.

In this session Jeff Genender, CTO with Savoir Technologies, explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way – through his own trial and error experiences as an architect. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project Key session topics include: How to apply SOA patterns to different classes of problems. The common failures of a SOA project and how to prevent them. Architectural strategies that offer the best chance of achieving project success. And more.

Architects and development teams embarking on an SOA strategy will find this session especially beneficial, as this kind of expert advice is required in order to avoid making the same mistakes that have been made many times in the past. This type of advice can save you months of lost design and development time, and hundreds of thousands of dollars in poorly conceived and executed projects.

Oliver Gierke

Oliver Gierke, SpringSource - a division of VMware

Oliver Gierke is Senior Consultant at SpringSource - a division of VMware and part of the Spring Data team. He has been into developing enterprise applications and open source projects for over 5 years now. His working focus is centered around software architecture, Spring and persistence technologies. He is regularly speaking at German and international conferences, author of articles and project lead of the open source projects Hades and Hera.


Presentation: DDD Repository pattern with Spring Data JPA

Domain Driven Design has become a ubiquitous approach to tackle complex problem domains and build a rich object model. A crucial DDD concept to access entities is the repository. Besides that, JPA has become the standard and widely accepted way of object persistence in the Java world.

This talk starts with a brief analysis of a plain JPA based repository implementation and outline pain points esp. regarding the domain driven approach (lack of abstraction, tediousness of executing queries, pagination and so on). The main part of the talk then takes a step by step walkthrough the issues and see how the Spring Data JPA project (formerly know as Hades) can help solving these issues.

The presentation is 80% hands on - less slides, more code :)

Pär Sikö and Martin Gunnarsson

Pär Sikö and Martin Gunnarsson, Epsilon

Great programmers are usually lousy designers, and vice versa, but Martin is one of those 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 has several years of Swing work behind him, and he's been creating 2D and 3D graphics for over ten years.

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.


Presentation: Physics in Android games

Realistic physics can add a new dimension to many traditional games, and enable a lot of new and creative game concepts. In this presentation we'll show how to integrate a physics engine into Android games and applications. We'll show features like gravity, collisions and joints, and explain how to use them. We'll finish off by showing a simple game incorporating all the topics we've covered, and sharing some valuable tips and tricks.

Arun Gupta

Arun Gupta, Oracle

Arun Gupta is a Java EE & GlassFish Evangelist working at Oracle. Arun has over 13 years of experience in the software industry working in various technologies, Java(TM) platform, and several web-related technologies. In his current role, he works very closely to create and foster the community around Java EE & GlassFish. He is a prolific blogger at http://blogs.sun.com/arungupta with over 1000 blog entries and visitors from all over the world reaching up to 25k hits/day.

Presentation: Java EE 6 Toolshow

The Java EE 6 platform improves on the Java EE 5 developer productivity features. The true potential of this platform can be unleashed using tools and IDEs to quickly create Java EE 6 compliant applications. Syntax coloring, code completion, javadocs, debugging, profiling, and refactoring are some of the features that are important during a development cycle. Using a live coding session, this mostly slides-free session will demonstrate the different tooling options available for Java EE 6 developers. It will demonstrate how NetBeans, Eclipse, IntelliJ, JDeveloper, and Maven makes developers life easy in creating Java EE 6 applications. The attendees will learn several tips & tricks for each IDE to boost their productivity.

(PDF) (PodCast)

Presentation: Running your Java EE applications in the clouds

GlassFish, the Reference Implementation of Java EE 6, can easily run on multiple cloud infrastructures. This talk will provide a brief introduction to Java EE 6 and GlassFish v3. The attendees will learn how to create a simple Java EE 6 sample application and deploy them on GlassFish v3 running locally and then deploy it using Amazon, RightScale, Joyent, and Elastra cloud infrastructures. In addition it will also talk about what Java EE currently offers for the cloud and the future directions in Java EE 7 in relation to cloud.


Tutorial: Learning Nuts & Bolts of Java EE 6 in a Code Intensive Tutorial

Do you want to know how Java EE 6 breaks one-size-fits-all paradigm ? Do you want to learn about various ease-of-use features introduced in Java Persistence API 2.0, Servlets 3.0, Enterprise Java Beans 3.1, and Java Server Faces 2.0 ? Packaging EJBs in a WAR file, Facelets, no "web.xml" in WAR, and much more ? How about creating RESTful Web services using JAX-RS ? Would you like to do standards-based dependency injection using CDI ? If the answer to any of the above questions is Yes, then this code intensive workshop is designed for you to understand the nuts and bolts of the Java EE 6 platform. The workshop will explain key technologies in the platform and show ease-of-use and simplicity to build a complete Java EE 6 application.

Anders Göransson

Anders Göransson, Jayway

Anders Göransson is a Senior Consultant at Jayway with 10 years of experience in the software industry. For the last 6 years he has specialized in Java on mobile devices as a developer, mentor and architect. As an early adopter of the Android platform he has been involved in multiple application projects and has tutored developers in application development and design.


Tutorial: Android Application Development

I denna tutorial varvas föreläsning och live-kodning om vartannat. Tillsammans skriver vi ett antal applikationer där vi tillämpar Google's designrekommendationer och våra egna erfarenheter från ett stort antal Android-projekt. Via diskussioner med deltagarna reder vi ut de bästa arkitekturvalen och lär oss hur vi kan undvika fallgropar och andra problem. Vi diskuterar också hur det går till att publicera applikationer på Android Market och hur man på bästa sätt tar vara på de möjligheter som finns vad gäller kommunikation med sina användare.

Karianne Berg and Nina Heitmann

Karianne Berg and Nina Heitmann,

Karianne holds an MSc in ICT from the University of Bergen, Norway. She lives and works in Bergen as a developer for the consuting company Miles. Her main fields of interest includes patterns, agile development and exiting technologies. Karianne loves contributing to the development community, and organises the ROOTS conference in Bergen. She has also contributed to the Smidig conference in Oslo and Oslo XP meetup.
Karianne has extensive knowledge about ninjas, partly through watching the documentaries "Ninja Assassin" and "Enter the ninja" several times. When she was a little girl, she saved up money for buying nunchucks.

Nina holds an MSc in Computer Science from the Norwegian University of Science and Technology.  She works as a Java consultant for the consulting company Itera Consulting. From December 2010 she will be working as a Scala developer in Basefarm. Her interests include programming languages, craftmanship and new technologies in general. She is active in the Norwegian JUG javaBin, where she co-organizes meetings for javaBin members. She also participates in organizing the JavaZone conference.


Presentation: Scala, from newbie to ninja in less then one hour

Scala is perhaps the most promising alternative language on the JVM right now, but the learning curve can be quite steep for Java developers. Not only do you have to start grasping the unfamiliar concepts of functional programming, you also have to cope with limited IDE support and error messages that, to say the least, takes some time getting used to. We started learning Scala in spring 2010, and have probably encountered about every pitfall the language has to offer by now. And that's a lot. In this talk, we'll demonstrate some of them in way that's fun and easy to follow, present solutions to common problems and give you a head start to learning Scala.

Erik Hellman

Erik Hellman, SonyEricsson

Erik Hellman is currently working as Software Innovator at Sony Ericsson where he tried to realize new and advanced concepts using the latest technologies available. He has previously been one of the leading software architects involved in all aspects of Sony Ericsson’s Android projects, from technical solutions to requirement and software process within the organization.


Presentation: A new dimension for Android

With the new year we have a new version of Android available. There is also new hardware coming on the new devices that will enable developers to do some really exciting things. Come listen to what Sony Ericsson is doing with Android and see what makes the most entertaining smartphone to date.

Nikita Ivanov

Nikita Ivanov, GridGain Systems

Nikita Ivanov has spent the last 10 years developing grid computing and distributed middleware software. He founded the GridGain project in 2005, which has become one of the fastest growing Java-based cloud and grid computing platforms. Nikita is an active member of Java middleware community and a contributor to JSR-107, the Java Temporary Caching API specification.

Presentation: Cloud Computing with Scala

The topic of this presentation is about using Scala programming language as a part of a simple and productive cloud computing platform. Scala is a hybrid function and object-oriented language that is rapidly gaining traction in becoming the next Java in JVM-based language evolution. GridGain is one of the cloud development platforms for JVM-based languages. 2/3 of the presentation will be devoted to live coding demonstration of writing basic MapReduce application in Scala using GridGain middleware. All coding during demonstration will be done live. Overview of grid and cloud computing as well as short intro into Scala language will also be provided.

Dan Bergh Johnsson

Dan Bergh Johnsson, Omegapoint

Många svenska javapionjärer har på något sätt stött på Dan. Åren 1999-2003 var han huvudlärare för Suns javakurser och bidrog till Javas spriding i Sverige. Som konsult, mentor och föreläsare har han därutöver hjälpt åtskilliga programmerare och projekt genom sitt fokus på högkvalitativ systemutveckling, med enhetstester, domain driven design och agilemetodik som några viktiga verktyg.
Dan är även en regelbundet återkommande föreläsare på såväl nationella som internationella konferenser, såsom JavaZone, Øredev, JavaPolis och Colorado Software Summit. Han har även som granskare elller på andra sätt bidragit till böcker som Head First EJB, Dating Design Patterns eller den snart kommande InfoQ Domain Driven Design Quickly


Presentation: Ubiquitous Language

Apart from being hard to say, ubiquitous language seem to be the hardest part of Domain Driven Design to grasp. We dive into what is meant with a "language" in this context, and how it is linked to domain modeling. Of course there will be philosophy, but the focus will be on how to make the practice valuable to our development effort. Therefore we will talk about practical issues, like who will need to be involved, how to handle synonyms, and discuss traps that can trip the effort.


Presentation: Domain Driven Security Code Kata

The top two risks for applications where Injection Flaws and Cross-Site Scripting (XSS) according to OWASP as well 2007 as 2010. Time to do something about it. In this code kata we address both Injection Flaw as well as XSS by applying techniques from Domain Driven Design - thus Domain Driven Security. In specific we use DDD value objects to shape up our module APIs to make these vulnerabilities go away by enforcing indata validation and outdata encoding in a way that feels natural for the developers.

BOF: Domain Driven Design BOF

Infomal Domain Driven Design unconference.

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, JavaZone and Server Side conferences in USA and Europe.

(PDF) (PodCast)

Presentation: The Secrets of Concurrency

From the first version of Java, we have been able to create multiple threads. Initially, this was mostly used for making our GUIs more responsive. For example, we would read a file using a separate thread from the main Swing thread, updating the GUI as to the progress. Running many active threads on one CPU seldom made the program faster, on the contrary, the swapping overhead frequently bogged down the machine. However, in the last few years, the speed increase of CPUs has not been the clock speed, but the number of cores on each chip. We are in a position now where we can get a job done much faster by splitting it between multiple threads. Unfortunately there is still a lack of understanding of the mysteries surrounding threading. This has caused programmers to write code that is fundamentally incorrect, not taking into account best practices for threading. Here is an example of such incorrect code, seen today on a web forum: synchronized (namedQueues) { try { namedQueues.wait(5000); } catch (InterruptedException ie) { // Can safely ignore this } } if (isInterrupted() || isStopped()) break; In this talk, we look at ten laws that can help us to write more correct threaded code.

The talk does have something for everybody, but is mainly aimed at the intermediate to advanced developer. There are code samples and a short demonstration. What you will get out of the talk: You will learn several tips that will help you in writing correct threaded code in Java.


Presentation: 10 Years of The Java Specialists' Newsletter

The Java Specialists' Newsletter started as a small publication, sent to 75 friends and colleagues at the end of 2000. It is now being read in at least 121 countries, which is more than have McDonald's stores (http://www.mcdonalds.ca/en/aboutus/faq.aspx). Readership is estimated at over 50.000 and more than a million newsletters were served in the past 12 months, via email and web.

In this talk, we look at some of the most popular Java newsletters published, ranging in topics from performance, language constructs to GUI tricks and concurrency. In the performance section, we explain how to determine memory usage by Java objects. In C, "Joe" used 4 bytes of memory. In Java, each character uses 2 bytes, so it is a bit more. This memory measuring has helped many customers find out why their memory was being eaten up by Java. Heinz will show how to serialize an Enum and read it back again from a database and what the issues are that you can encounter. For the GUI section, he will demonstrate some useful tricks for managing global hotkeys, for placing components on each other and for implementing a tri-state checkbox. Finally he will also give some tips on how to write good articles that people will enjoy reading.

Andreas Kaltenbach

Andreas Kaltenbach, Stendahls.net

Andreas Kaltenbach is Systems Developer for Stendahls AB in Gothenburg. Together with his team, Andreas turns customer wishes of globally acting Swedish companies into Java-based solutions on almost everything that the Java Platform provides us today. Special interests are all news around Java EE, Scala and Model-Driven Software Development. After positions at German and American companies, he is enjoying life in Sweden and is expecting his first fantastic Swedish summer.


Presentation: Give Scala a try? Test your Java code with Scala

With release of version 2.8 back in summer 2010, Scala skyrocketed to one of the most promising alternative JVM languages on the planet. Have you also heard a lot of good news about Scala and ever since wondered how you could get Scala into your everyday's business? Maybe it's a good time to consider writing your tests in Scala. This session explains, how the purely object-oriented and functional nature of Scala enables you to write better and more concise tests in less time. By applying Scala's neat concepts like traits, implicits and first-class functions, we'll demonstrate how you are able to circumnavigate typical TDD pitfalls and anti patterns. With ScalaTest and ScalaCheck, you have great frameworks at hand which provide Scala developers with convenient APIs and give you yet another boost in productivity and test quality. So, why not killing two birds with one stone: make your first steps towards a Scala pro and save yourself valuable coding time!

Henrik Kniberg

Henrik Kniberg, Crisp

Henrik Kniberg is an agile & lean coach at Crisp in Stockholm. He enjoys helping companies succeed with both the technical and human sides of software development. Over the past decade Henrik has been CTO of 3 Swedish IT companies and helped many more get started with agile and lean software development. He regularly coaches and trains together with Jeff Sutherland and Mary Poppendieck.

Henrik's book Scrum and XP from the Trenches has over 150,000 readers and is one of the most popular books on the topic, his second book "Kanban and Scrum - making the most of both" attempts to broaden the view further.

Best Speaker 2008


Presentation: Scrum & XP - beyond the trenches

4 years have passed since I wrote "Scrum and XP from the Trenches". What have I learned since then, and what would I have done differently if I could go back in time? During the past few years I've mostly been "trench-hopping", i.e. helping lots of different organizations implement agile software development in practice, and talking to other people that do the same. Consequently there are now several things in the book that I don't agree with any more, so this talk is the first step towards a followup article :o)

Aslak Knutsen

Aslak Knutsen, Red Hat, Inc

Arquillian project lead Aslak Knutsen is currently a Senior Software Engineer for the JBoss Seam team at Red Hat, Inc. where he is the project lead for Arquillian and works on projects such as ShrinkWrap, Weld and Seam 3. Previously, Aslak was a Senior Consultant at Conduct AS (working with JBoss related technologies) and Senior Developer at EDB ASA (working with electronic billing/banking systems).


Presentation: The future of Java enterprise testing

This talk unveils the missing link in enterprise Java development: simple, portable integration tests. For many, this void has long made enterprise Java development an arduous undertaking. While development life is simple with unit tests and mocks, they only take you so far. Eventually, you need to validate how your components interact and operate in their intended environment--you need real integration tests. Yet, writing integration tests has meant assuming the burden of bootstrapping all or part of your infrastructure. That's time lost and it places a mental barrier on testing.

Arquillian, a container-oriented testing framework layered atop TestNG and JUnit, tears down this barrier. It does so by bringing your test to the runtime rather than requiring you to manage the runtime from your test. Picking up where unit tests leave off, Arquillian enables you to test real components that rely on real enterprise services in a real runtime. What's the secret ingredient?

This talk will show how Arquillian simplifies integration testing by providing a component model for tests, just as Java EE 5 simplified server-side programming by providing declarative services for application components. The test component model consists of container lifecycle management, test enrichment (dependency injection), container deployment and in-container test execution. Using a component model means your tests are portable and able to move between different environments, from single embedded or remote to multi-server to multi-cloud nodes.

Attend this talk to learn about the future of Java enterprise testing.

Lasse Koskela

Lasse Koskela, Reaktor

Lasse Koskela works as a coach, trainer, consultant and programmer, spending his days helping clients and colleagues at Reaktor create successful software products. He has trenched in a variety of software projects ranging from enterprise applications to middleware products developed for an equally wide range of domains.

In the recent years, Lasse has spent an increasing amount of time giving training courses and mentoring client teams on-site, helping them improve their performance and establish a culture of continuous learning. Aside from consulting leaders and managers, Lasse enjoys programming and works frequently hands-on with software teams.

In 2007, he published a book on Test Driven Development and is currently working on his next book. He is one of the pioneers of the Finnish agile community and speaks frequently at international conferences.


Presentation: Concurrent Development: Agile Workflows for Version Control

With Agile methods making their way into the mainstream and distributed version control systems (DVCS) like Git becoming increasingly popular, we are resurfacing some questions that were put to rest years ago. Suddenly, with the increased power and flexibility of DVCS we have a number of seemingly viable alternatives for an Agile team to integrate their work within and between teams. This presentation will discuss the relative benefits of a number of parallel development strategies such as private branches, trunk development and feature branches as well as how do these approaches fit in with the related practice of continuous integration.

Dag König

Dag König, Microsoft

Dag har sedan 1986 arbetat med systemutveckling. Under hela den tiden har hans teknikfokusområde varit Microsoft. Dag arbetar sedan tre år tillbaka på Microsoft som Utvecklarevangelist med inrikting på Visual Studio och ALM. Dag är också ansvarig Microsofts podcast MSDN Radio. Dag är en mycket uppskattad talare, enligt hans mor, och gillar mysiga hobbyprojekt på CodePlex.


Quickie: Azure, should I care as a Java developer?

Microsofts strategy is that it should be possible to develop applications in diverse languages to be hosted in the cloud, the same way as it is today on Microsoft operating systems. What does it real mean for Java developers?

Guillaume Laforge

Guillaume Laforge, SpringSource Inc

Guillaume Laforge is the project lead of Groovy, the highly popular and successful dynamic language for the JVM. He co-authored Manning's best seller "Groovy in Action" with Dierk König, and is working for SpringSource (a division of VMWare) where he's working full time on cool and Groovy stuff. Guillaume worked hand in hand with the Google App Engine Java team before the official launch of the new platform to ensure that Groovy would run well on this new cloud. With this background in mind, he created Gaelyk, a lightweight toolkit for developing applications written in Groovy on Google App Engine, that he demonstrated at the Google I/O 2009 Conference. You can meet Guillaume at conferences around the world where he evangelizes the Groovy dynamic language, Domain-Specific Languages in Groovy, and the agile Grails web framework.


Tutorial: The Groovy Ecosystem

Groovy is currently known as the most popular and successful alternative language for the Java Virtual Machine. When you hear about this dynamic language, you may also think about Grails, the highly acclaimed web development stack. But Groovy and Grails are just the visible part of the iceberg of the Groovy Ecosystem. Wait, there's more! In this session, after a brief introduction to Groovy and some of its useful and cool features, we'll discover other aspects of the ecosystem, such as a hike into the land of Domain-Specific Languages, or examples of handy and powerful Groovy-based projects like HttpBuilder for taming the RESTful web, Spock for advanced Behaviour-Driven Development, Gant and Gradle for building your applications, and more. Get a chance to discover more about this exciting and rich Groovy Ecosystem!


Presentation: Gaelyk, a lightweight Groovy toolkit for Google App Engine

Gaelyk is a lightweight framework for developing applications using the Groovy dynamic language, and deploying them on Google App Engine. After a brief introduction to Google's cloud solution, we'll deep dive into the toolkit, discovering how Groovy makes using the App Engine SDK a breathe: querying the datastore, caching data in memcache, manipulating images with a DSL, sending email and Jabber messages, and more. We'll also see how easy it is to develop "groovlet" controllers and templates for the views, to define REST-friendly URLs, and be productive thanks to the seamless reloading making you productive in no time.

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.


Presentation: Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript

Get introduced to the Vaadin Web Framework by one of its core developers, Joonas Lehtinen. The Vaadin framework provides a desktop-like programming model on the server for creating Rich Internet Applications (RIAs) in plain Java - without the need for HTML, XML, plug-ins or JavaScript. In this session, Joonas lays out the key concepts of the server-side RIA development model and compares it to client-side RIA. To demonstrate the use of framework, an example application is developed during the session step-by-step. The presentation is concluded with pointers on how to start developing your own applications with Apache-licensed Vaadin-framework.

BOF: Meet the Vaadin team BOF

Meet and great Vaadin meet-up

Ole Lensmar

Ole Lensmar, eviware software ab

Ole is the founder of the SoapUI project which is rapidly establishing itself as the preferred tool for WebService testing within the open-source community. He has worked since the mid-ninetees at mogul as a system architect/CTO and been focusing on SOA and open-source in the last 5 years. Currently, he is working double-overtime on improving SoapUI and on starting eviware, a startup that will provide commercial support and add-on functionality for SoapUI and related offerings.

Quickie: An interactive approach to load testing with JavaFX, Groovy and OSGi

This presentation will start with a short demo of a novel distributed load-testing tool, loadUI, that makes load-testing into something interactive and fun by providing an extremely "playful" javaFX interface on top of a groovy-centered component framework. The demo will be followed by an overview of utilized technologies and of the groovy DSL used for creating components.

Brian LeRoux

Brian LeRoux, Nitobi Inc

Brian LeRoux is the lead software architect at Nitobi Inc. where he focuses on delivering web and mobile apps and helping developers all over the world write their apps. He is a contributor to the popular PhoneGap open source framework and is the creator of XUI and Lawnchair. Suffice to say, Brian believes that the future of the Web is mobile and will depend on web standards, open source and hackers, like you.



Presentation: HTML5 is the Future of Mobile, But PhoneGap Takes You There Today

HTML5 promises to pave the way for easy, device-neutral mobile app development. But, until HTML5 supports sophisticated cross-platform apps, developers are stuck building native apps for various mobile devices. Or are they? In this session you'll learn how combining HTML5 with the open source PhoneGap (www.phonegap.com) framework bridges the gap between what's possible with HTML5 today and the engaging mobile apps developers want to build. See how HTML5 and PhoneGap work together and learn how to expose device features outside of the existing HTML5 spec, such as camera. By by learning to combine PhoneGap with HTML5, developers no longer have to commit to native development, nor do they need to wait for a mature HTML5 spec to build full-featured, cross-platform apps in HTML, CSS and JavaScript.


Tutorial: Cross-Platform Mobile App Development with PhoneGap

With more than 4.6 billion handsets on the planet, mobile app development is rapidly becoming the most important aspect of the web development discipline. But, mobile platforms are fragmented and distribution can be challenging. Plus, most developers don't know how to transfer their design and development skills to mobile devices.

Enter PhoneGap, an open source platform that makes building mobile applications easy with HTML and JavaScript skills most web developers already possess. Using PhoneGap, web developers can use HTML, CSS and JavaScript to access native device features like accelerometer, contacts, camera and geolocation. Plus, they can use the same API to deploy apps on the iPhone/iPad, Android, Blackberry, Symbian, Palm and Windows Mobile.

In this tutorial, you'll learn how to combine your HTML/JavaScript skills with PhoneGap to build applications for multiple mobile platforms

Peter Lubbers

Peter Lubbers, Kaazing

Peter Lubbers is the Director of Documentation and Training at Kaazing where he oversees all aspects of documentation and training. Peter is the co-author of the Apress book Pro HTML5 Programming and teaches HTML5 training courses. Peter frequently speaks at international events. Prior to joining Kaazing, Peter worked as an information architect at Oracle, where he wrote many books, such as the award-winning Oracle Application Server Portal Configuration Guide and the Oracle Application Server Developer's Guide for Microsoft Office.

In his spare time Peter likes to run ultra-marathons. He is the 2007 and 2009 ultrarunner.net series champion and three-time winner of the Tahoe Super Triple marathon. Peter lives on the edge of the Tahoe National Forest and loves to run in the Sierra Nevada foothills and around Lake Tahoe.


Presentation: HTML5 Offline Web Applications

Application Cache is a new HTML5 feature that can be used to create offline applications and dramatically speed up your web applications by prefetching your sites assets. Come and learn about this exciting HTML5 feature from HTML5 expert and trainer Peter Lubbers, co-author of the recently released book Pro HTML5 Programming and co-founder of the San Francisco HTML5 User Group. Peter has been working with offline applications a lot and he is very excited about it.

There are a few tricky aspects to it as well as some common misconceptions, so he would love to share all his recent findings so that you don?t have to repeat the same mistakes. Peter will guide you through everything you need to know to use Application Cache in your web sites and applications.

He will also be giving live demos and cover some best practices, tips, and tricks. You will learn about: - The new HTML5 manifest file - Demystifying the CACHE, NETWORK, and FALLBACK sections - How to serve up the manifest file with the correct mime type (on all the major web servers) - Best practices, tips, and tricks for deploying and debugging offline web apps - Browser support for Application Cache and current browser bugs - Available developer tools for analyzing Application Cache - Using the Application Cache events - Online and offline status detection.

Dennis Lundberg

Dennis Lundberg, Devoteam Quaint

Dennis Lundberg is a Systems Architect who designs web applications, databases and solid development infrastructures for a living. He has worked with Java since 1996 and is a member of the Apache Software Foundation. His open source work at the ASF is focused on Maven, with site generation, plugins and a streamlined release process as special interests. He has been on Maven's Project Management Committee for the last 4 years and is also part of Devoteam's group of Maven experts.

(PDF) (PodCast)

Quickie: Top reasons why you should switch to Maven 3

The just released latest and greatest version of Apache Maven 3.0, is an almost fully backwards compatible drop-in replacement for your old Apache Maven 2 build environment. Rewritten from the ground, it is the result of several years of work by the Apache Maven team. Changes include a new modular design to facilitate for embedded use, as well as a switch to Google Guice. This session will be a countdown of the top ten reasons why you should switch to Apache Maven 3.0, as well as pointers to a few changes that could break your project and how to deal with them.

Matthew McCullough

Matthew McCullough, Ambient Ideas

Matthew McCullough is an energetic 15 year veteran of enterprise software development, open source education, and co-founder of Ambient Ideas, LLC, a Denver consultancy. Matthew currently is a member of the JCP, reviewer for technology publishers, author of the Presentation Patterns & Anti-Patterns book, multi-year speaker on the No Fluff Just Stuff tour, presenter at dozens of international conferences, author of three of the 10 most popular DZone RefCardz (including Git) and President of the Denver Open Source Users Group.

Git has been a primary tool in Matthew's teaching and consulting practice for several years. Matthew's helped small shops to 5,000 person companies convert from proprietary version control systems over to Git, helping them maximize the benefits and minimize efforts. The resulting productivity and collaboration boosts from development teams have been nothing short of amazing.

Matthew resides in Denver with his beautiful wife and two young daughters, who are active in nearly every outdoor activity Colorado offers.


Presentation: Encryption Boot Camp on the JVM

In today's data-sensitive and news-sensationalizing world, don't become the next headline by an inadvertent release of private customer or company data. Attend this session to gain a working knowledge of encryption and learn techniques for leveraging Open Source APIs that make securing your data as easy as possible. Encryption is quickly becoming a developer's new frontier of responsibility in many data-centric applications. Protect your persisted, transmitted and in-memory data and learn the terminology you'll need to navigate symmetric and public key cryptography on the Java platform.


Presentation: Git Going with DVCS

Many development shops have made the leap from RCS, Perforce, ClearCase, PVCS, CVS, BitKeeper or SourceSafe to the modern Subversion (SVN) version control system. But why not take the next massive stride in productivity and get on board with Git, a distributed version control system. Jump ahead of the masses staying on Subversion, and increase your team's productivity, debugging effectiveness, flexibility in cutting releases, and repository and connectivity redundancy (at $0 cost).

Understand how distributed version control systems (DVCSes) are game-changers and pick up the lingo that will become standard in the next few years.

Tutorial: Git from the Ground Up

Many development shops have made the leap from RCS, Perforce, ClearCase, PVCS, CVS, BitKeeper or SourceSafe to the modern Subversion (SVN) version control system. But why not take the next massive stride in productivity and get on board with Git, a distributed version control system. Jump ahead of the masses staying on Subversion, and increase your team's productivity, debugging effectiveness, flexibility in cutting releases, and repository and connectivity redundancy (at $0 cost). Understand how distributed version control systems (DVCSes) are game-changers and pick up the lingo that will become standard in the next few years.

This workshop is live training from an expert in Git.  We'll have three hours during which we'll explore the foundations of Git through the practical every-day commands. We'll conclude with some workflow ideas and practical tips that will get you on the road to success with this revolutionary version control system.

Alexis Moussine-Pouchkine

Alexis Moussine-Pouchkine, Oracle

Alexis Moussine-Pouchkine is a member of the GlassFish team and has been acting as the ambassador for the project for the past couple of years. He has has been working at Sun Microsystems for over 10 years and is a regular speaker at development and JUG conferences such as Devoxx, CommunityOne, or JavaZone. He also spends quality time with customers, developers, and architects to better drive the evolution of Sun's middleware technologies. Alexis participates in various open source communities, translates Java & XML books into French, but also has a life outside of Java!

(PDF) (PodCast)

Presentation: The Java EE 6 Programming Model Explained

The Java EE 6 platform contains a wealth of APIs: some were just introduced (CDI, JAX-RS and Bean Validation); others have been around for a long time with little or no change (JMS); and still others have a long history, but have also seen leaps in usability (EJBs). When writing an application, we often fall back on old habits. As a result, we overlook some new, often simpler, features that would let us solve the problem much faster. In this session, we'll look at the Java EE 6 programming model as a whole, then dive into the different layers of a typical Java EE Web application and show how to implement them using the latest Java EE features with the help of a modern IDE.


Informal gathering with JavaEE experts.

Jimmy Nilsson

Jimmy Nilsson, factor10

Jimmy Nilsson is co-founder and CEO of factor10. He has written two books (Applying Domain-Driven Design and Patterns [ADDDP] and .NET Enterprise Design [NED]). He has also been training and speaking at conferences (like OOPSLA, QCon, JAOO and Öredev), but above everything else, he is a developer with over twenty years of experience.

Presentation: Architecture remakes with DDD, true stories from the wild

Applications have a tendency of becoming harder and harder to maintain over time. That affects the cost as well as the possibility of incomes thanks to meeting new business opportunities. For some applications, it’s considered valuable to give them a remake to make them more maintainable and such remakes have a tendency of affecting the overall architecture. In my experience, DDD is often used for describing the new target architecture, but it’s also a very infuential and valuable tool and philosophy for taking on such a task.

In this presentation we have distilled a set of common key possibilities in such situations, both how they can be achieved and what benefit they will give. You will also learn what to watch out for from our lessons learned.

Tomas Nilsson

Tomas Nilsson, Oracle

Tomas is a Product Manager for the Oracle Java Platform group. He hopes that someday someone will tell him exactly what that means he should be doing, but until that happens he will handle presentations, conferences and community contacts.

Through osmosis he knows a lot of bits and pieces of the inner workings of a JVM. Not enough to be allowed to commit source code, but enough to give a decent explanation of what something means to a normal user. He works with some of the smartest people he has ever met, and would probably work for free if they didn’t pay him. If his manger sees this presentation, he will claim someone else wrote this last paragraph.


Presentation: JDK7 Update

This session will look at a number of the new features in development in JDK 7 and how they affect developers. We'll take a close look at the current status of JDK 7 development, and learn how you can keep up to date, get your hands dirty with the code & provide useful feedback on planned features, while diving a bit deeper into a few planned improvements in the VM, the programming language and the class library.

Robert Nyman

Robert Nyman, Valtech AB

Robert has been working with web developing, mostly interface coding, since 1998. His biggest interests lie in HTML, CSS and JavaScript, where especially JavaScript has been a love for quite some time. He regularly blogs at http://robertnyman.com and tweets as @robertnyman about web developing, and is running/partaking in a number of open source projects.



Presentation: HTML5 APIs - The New Frontier

HTML5 is upon us and it offers a wide range of exciting possibilities when it comes to developing rich web interfaces. This talk will introduce you to a number of them and hopefully inspire you to create amazing things!

Staffan Nöteberg

Staffan Nöteberg, Rekursiv AB

Staffan Nöteberg is the author of the popular book Pomodoro Technique Illustrated. He spent the recent decades as a freelance software developer, he's an internationally acclaimed conference speaker, and he also helped several companies to start with agile and lean. He lives in Stockholm and Istanbul
More about Staffan Nöteberg: http://blog.staffannoteberg.com

(PDF) (PodCast)

Quickie: Test-driven Regex Development

There are many popular myths concerning regular expressions (Regex). First, it's exceptionally hard to master Regex. Second, a normal programmer rarely needs Regex. Third, Regex are tricky to read and hence can't be maintained.

That is all wrong!

No prior Regex knowledge is required for this very practical session. Expect live coding and mini exercises, when Staffan reveals the secrets.

Martin Odersky

Martin Odersky, EPFL in Lausanne

Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He is best known as the creator and principal designer of the Scala programming language. Prior to that, he made several contributions to the development of Java. He created the Pizza and GJ languages, designed the original version of generics for Java, and wrote the javac reference compiler. He is interested in programing languages and methods, in particular how object-oriented and functional programming can be made to work seamlessly together. Martin Odersky received his doctorate from ETH Zürich, in 1989. He held researcher positions at the IBM T.J. Watson Research Center and Yale university and faculty positions at the University of Karlsruhe from 1993 and at the University of South Australia from 1997. In 1999 he joined EPFL as full professor. He is on the editorial board of the Journal of Functional Programming and member of IFIP WG 2.8. He was conference chair for ICFP 2000, and program chair for ECOOP 2004 and ETAPS/CC 2007. He is a fellow of the ACM.


Presentation: Future-proofing collections: from mutable to persistent to parallel.

Multicore processors are on every desk now. How are we going to make use of the extra power they provide? Some think that actors or transactional memory will save the day by making concurrent programming easier and safer. Even though these are welcome, I am skeptical about their ultimate success. Concurrency is fundamentally hard and no dressing up will be able to hide that fact completely. A safer and for the programmer much simpler alternative is to treat parallel execution as essentially an optimization. A promising application area are collections. Programing by transforming and aggregating collections is simple, powerful, and can optimized by executing bulk operations in parallel. To be able to do this in practice, any side effects of parallel operations need to be carefully controlled. This means that immutable, persistent collections are more suitable than mutable ones. In this talk I will describe the new Scala collections framework, and show how it allows a seamless migration from traditional mutable collections to persistent collections, and from there to parallel collections. I show how the same vocabulary of methods can be used for either type of collection, and how one have parallel as well as sequential views on the same underlying collection.

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


Presentation: Yet more Performance Tuning

The session will further demonstrate a performance tuning methodology that has been presented at previous Jfokus sessions. Following the methodology allows one to progress from diagnostic to diagnostic to a diagnosis in a matter of minutes. One that eliminates the need to error prone guessing, splunk aimlessly through source code or engage in other time wasting activities. The methodology will be demonstrated in the process of tuning an application that has been juiced up with some common performance problems that have often proven difficult to find. Problems will include memory leaks, inadvertent accessing of data sources etc

Ian Robinson

Ian Robinson, ThoughtWorks

Ian Robinson is a Principal Consultant with ThoughtWorks, where he specializes in service-oriented and distributed systems development.
He has written guidance for Microsoft on implementing integration patterns with Microsoft technologies, and has published articles on business-oriented development methodologies and distributed systems design-most recently in The ThoughtWorks Anthology (Pragmatic Programmers, 2008).
He is currently co-authoring a book on Web-friendly enterprise integration


Presentation: Designing RESTful Domain Application Protocols

REST is ready for the enterprise. Imagine an information platform that is open and available to systems throughout the enterprise estate. A platform that eschews integration in favour of composition, connected data over siloed databases. A networked data structure with the power to implement valuable business behaviours: a distributed, hypermedia-driven application platform. Challenging the notion that REST is suitable only for simple CRUD-based data services, in this session I show how to design and implement RESTful domain application protocols for complex business processes. With a detailed example, I show how to: - Model business processes as domain application protocols - Implement them in terms of resource lifecycles - Advertise and execute them using HTTP idioms, media types and link relation values

Enno Runne

Enno Runne, Transmode

During his studies in computer science Enno got in touch with the very new Java programming language. He became a member of Martin Odersky's programming language research team and wrote his Master's Thesis on ways of implementing Generics in Java. In his professional career Enno has worked with the different challenges of software development.


Quickie: Programming in pain

Once you get used to use Scala's bigger toolbox it will strike you how much a Java programmer has to please the language instead of solving the problems at hand. But even if your organisation forces you to use Java, learning Scala will change the way you swing your Golden Java Hammer. You'll start to mimic programming concepts that Scala smoothly introduces in your Java code and have pain that some can't be achieved easily. Immutable instances, small methods without side-effects and small classes are signs of a programmer thinking in Scala, even though Java makes it slightly harder to program that way. The pain comes when you got used to Scala's ways of object composition and the often cited closures. Java let's you do the same things - if you really want to. Java's boilerplate code will hide what you try to achieve. Achieving programming concepts you have at hand with Scala in pure Java does rarely bear its weight. In this talk we'll go through some of the things a Scala-trained programmer will start to use in Java. We'll look at the things you can achieve easily and show examples for when you'll miss Scala. A lot.

Nick Sieger

Nick Sieger, Engine Yard

Nick Sieger is an engineer at Engine Yard, working on JRuby and leading the effort to make the Java Virtual Machine a robust yet easy-to-use deployment platform for Rails and Ruby web applications. He created and co-maintains the JDBC adapter for ActiveRecord that JRuby on Rails uses for database connectivity, as well as the Warbler tool and JRuby-Rack library for dealing with Java application server deployment. He maintains a blog on Ruby and JRuby-related topics at blog.nicksieger.com


Presentation: JRuby + Rails = Awesome Java Web Framework!

When looking for a productive, innovative web framework for a Java environment, who says it has to use Java the language? Rails is the framework that sparked a new wave of innovation in web development, and it's available on the Java Virtual Machine, via JRuby. And now, Rails 3, the latest release, allows you to mix and match components, making it easier to use existing Java code in numerous ways. Use Rails with EJB 3/JPA or Spring if it suits your environment! We'll give background on Rails as a framework and what makes it great, and show working demonstrations of Rails in a Java environment using traditionally Java-oriented components such as Servlets, JSP, JPA, Hibernate, etc.

Bruno Souza

Bruno Souza, SouJava

Bruno Souza, better known as the "Brazilian JavaMan", Bruno is a Java Developer and Open Source Evengelist at Summa Technologies, and a Cloud Expert at ToolsCloud. Nurturing developer communities has been a passion for most of his career, and Bruno worked actively with Java, NetBeans, Open Solaris, OFBiz, and several other open source communities. As coordinator of SouJava (The Java Users Society), and working with many Java User Groups across the globe, Bruno helped drive the growth of the Worldwide JUGs Community. A Java Developer since the early days of Java Technology, Bruno participated in some of the largest Java Projects in Brazil. Bruno is an Honorary Director of the Open Source Initiative (OSI), President of the innovation-focused Campus Party Institute, and Coordinator of Nuvem, the Cloud Computing Lab of LSI/USP. When not in front of a computer, Bruno enjoys time with his family in a little hideout near Sao Paulo. An amateur in many things -- photographer, puppeteer, father -- he strives to be good in some of them.


Presentation: The Future Java Developer

New languages, work environments, technologies, and devices. Clouds roll in bringing new rules. The future is now, what comes later? Java developers thread on a fine line between working standards and bleeding edge science-fiction experiments. What are the possibilities for the future? Can new languages available for the JVM warp the realities of software development? Will Java really be part of the new flock of devices? Cloud computing is changing the game, how Java is a fundamental part of it? New enviroments affect our code and skills we must have, how does our experience count? Are we prepared?
This session will explore possibilities for the future of development, sharing insights on what's coming up in the future of Java.

Henrik Ståhl

Henrik Ståhl, Oracle

Henrik is Senior Director of Product Management at Oracle and has worked in the industry for more than 20 years in various roles including support, network engineering, systems development, IT security, performance engineering and for the last six years with product strategy. After the Oracle acquisition of Sun, he runs a group responsible for product strategy for Java SE, JRockit, Exalogic and other Oracle products.

(PDF) (PodCast)

Keynote: What a crazy year it has been

On January 27 2010, the EU green-lighted Oracles acquisition of Sun Microsystems. The 12 months following this have arguably been among the most eventful, at least in the public eye, in the history of Java. We will do a year in review, comparing press coverage with actual events and tell you what has happened in 2010 to make the Java ecosystem stronger than ever. In what direction is Java heading? What are Oracles plans? What can you do to influence the future of Java?

Mikael Sundberg

Mikael Sundberg, Dynabyte

Mikael has been a Java developer for many years and has lately taken a great interest in Clojure. He is very active in the Java community and spends most of his free time contributing to it. He is a driving force behind Stockholm Clojure User Group where he shares his knowledge and learns from others. He has been teaching Sun's Java courses and now he spends his time consulting for Dynabyte. Mikael has a wide range of languages in his toolbox. He has been focusing on Clojure for about a year, mostly for web applications but also for data analysis and statistics systems for customers.


Presentation: Web development in clojure

Rapid web development with clojure. Clojure is a strong upcomming language for the jvm, but how is it for web development? This talk will give you an overview on how to do webbdevelopment with clojure. Begining at hello world and simple forms, and going further with using templates to separate design from logic, and how to create a restfull interface to your application.

Lars Westergren

Lars Westergren, Mejsla

Lars är en ambitiös och driven systemutvecklare som gillar utmaningar och att lära sig nya saker liksom att sprida kunskap. Hans spetskompetens är Java, där han jobbat med allt ifrån EE till ME, system- och databasdesign, samt open source. Han har också jobbat med webb-baserade system i flera projekt, främst med Java men även med JRuby och Ruby on Rails.

Quickie: Introduction to Mirah

Welcome to an introduction to one of the latest additions to the JVM family of languages. Mirah is a language created by JRuby co-lead Charles Nutter. It is a compiled language which makes no assumptions on the compiler or backends. This makes it an extremely "pluggable" language, which can output source code of another language, bytecode for the JVM, CLR, Dalvik, or whatever you may like. Mirah compiled for the JVM runs at the same speed as Java, and unlike most alternative JVM languages needs no runtime libraries. This makes it an interesting alternative for, for instance, Android development, Google App Engine or GUIs using the newly released JavaFX libraries. It has a pleasant uncluttered syntax very similar to Ruby.

Geertjan Wielenga

Geertjan Wielenga, Oracle

Geertjan Wielenga is a NetBeans Platform guru, trainer and writer working in the NetBeans Team. He is based in Prague, Czech Republic. Aside from writing tutorials, books, and other documents about the NetBeans RCP, he is also main author of the NetBeans Platform Certified Trainings.


Quickie: Hitchhiker's Guide to the NetBeans RCP

Defence forces, banks, oil/gas companies, bioinformatics, public transportation organizations... why are so many large applications across all software industries based on the NetBeans RCP? In this session, you will learn to understand the world's only Swing-based modular rich-client platform. At the end of the session, you will have all the knowledge you need to get started leveraging this platform for your own corporate applications for the desktop.