Talare
Kevlin Henney

Kevlin Henney, Curbralan

Kevlin Henney is an independent consultant based in the UK. He specialises in programming languages, OO design, patterns, development process and software architecture, helping teams adopt techniques and improve their software development through training, mentoring and reviewing and training. He has been a columnist for various magazines and is currently a columnist for the Reg Developer channel of The Register. He is also coauthor of two recent volumes in the Pattern-Oriented Software Architecture series.

(PDF)

Presentation (27/1) : 97 Things Every Programmer Should Know

Modern programmers have a lot on their minds. Programming languages, programming techniques, development environments, tools, development process, deadlines, meetings, software architecture, design patterns, team dynamics, code, requirements, bugs, code quality. And more. A lot. The 97 Things Every Programmer Should Know project has collected together the wisdom of many contributors to offer a distilled snapshot of what every programmer should know. This session draws from this collection to present some highlights and useful advice.

(PDF)

Tutorial (26/1) : GOOD: Good Object-Oriented Development

Given that object orientation underpins modern programming languages, it would be expected that anyone using languages such as Java would also know about OO. In one sense this is true, but there is more to effective modern object-oriented development than just creating a few objects and calling a few methods. Many developers have not had the exposure to effective object-oriented practice that would allow them to avoid common pitfalls.

Although OO is far from being a new approach (think Sergeant Pepper), and it's also far from being obscure, its mainstream adoption by programmers and programming languages alike is not always as effective as it could be. This session puts a number of key concepts on a firmer footing, highlighting common pitfalls in OO practice — such as abuse of inheritance, simplistic getter/setter interfaces, patternitis, overuse of singleton objects, weak use of value objects — and emphasising techniques that promote an easier life — such as loose coupling, unit testability, pattern-based design thinking, the identification and use of value objects, incremental and sufficient design.

Thorbiörn Fritzon

Thorbiörn Fritzon, Sun Microsystems

Thorbiörn Fritzon började med Java redan vid releasen 1995. Sedan 1999 är han Javaarkitekt på Sun Microsystems och då och då talesman i Java-sammanhang. Thorbiörn skriver böcker och är en återkommande talare på konferenser och andra evenemang. Hans hobby är programmeringsspråk och han har hur många som helst.

(PDF)

Presentation (27/1) : A Java 7 State of the Union

Java SE 7 looks like it will mark a completely new era for Java. Numerous changes are being proposed and worked feverishly on by several parties: a complete modularization of the platform together with support for modules in the Java language, new support for foreign programming languages, changes to the Java language itself, a completely new garbage collector and other changes that could change the face of Java quite radically. In this session, we'll take a close look at the state of the java union, what will be included and not in JDK 7, what the new features look like and what Oracle's acquisition of Sun means for Java.

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

(PDF)

Tutorial (26/1) : Kanban - A Lean Approach to Agile Software Development

Kanban is an approach to agile software development that focuses on visualizing the workflow and increasing flow by limiting work in progress. Although Scrum is still the most popular agile method, Kanban has quickly proven to be an excellent complement or replacement in cases where Scrum is too difficult or simply not suitable. Kanban is highly flexible and strongly emphasizes evolution over revolution.

In this tutorial Henrik will go through the basics of Kanban, using many pictures and examples. He will also illustrate the similarities and differences between Kanban and Scrum, and how these techniques can be combined to get the best of both.

Torbjörn Stavenek

Torbjörn Stavenek, bwin Games

Med över 10 års erfarenhet och ett förflutet som konsult har Torbjörn hjälpt många olika kunder i flera olika branscher. Han har hållit på med Java sedan det släpptes 1995. Torbjörn är intresserad av alla delar inom utvecklingsprocessen men speciellt av arkitektur, konstruktionsmönster, öppen källkod, AI och gränslandet mellan verksamhet och IT. Torbjörn har tidigare talat på Jfokus och ITARC.
Utvecklingsavdelningen på bwin Games i Stockholm består av ca 150 personer som i huvudsak arbetar med pokerutveckling i Java.

(PDF)

Presentation (27/1) : Prestanda, skalbarhet och tillgänglighet för stora system

Internetpoker är en av de mest avancerade realtidsapplikationerna du kan tillhandahålla över nätet. Du behöver inte bara bygga ett tillräckligt snabbt system, det måste vara tillräckligt snabbt oavsett antalet användare och dessutom tillgängligt utan avbrott. bwin har nyligen releasat en ny generation av sitt pokersystem som lägger ribban högt med avseende på icke-funktionella krav. När du bygger en tjänst som används av 10 miljoner användare och 45 000 samtidiga spelare så måste du ha tänkt igenom din arkitektur!
Pokersystemet är helt byggt med hjälp av Java i olika smaker, från Spring-baserade fristående applikationer i JavaSE, via JavaEE-applikationer som körs på JBoss, till Coherence-klustrade egenutvecklade serverplattformar. Denna presentation går igenom teorier för hur man bör tänka kring prestanda, skalbarhet och tillgänglighet på alla nivåer i ett sådant system. Teorier som kommer att beröras är exempelvis funktionell nedbrytning, CAP och BASE/ACID. Även topologier, redundanta system och proprietära vs kommersiella system diskuteras. Vidare kommer applikationer från bwins pokersystem att användas som exempel. För varje exempel kommer dess egenskaper att diskuteras utifrån teorierna, vilka krav applikationen löser samt kända problem.

(PDF)

Tutorial (26/1) : Enterprise Integration Patterns i praktiken

Enterprise Integration Patterns (EIP) beskrevs allra första gången på ett utförligt och standardiserat sätt i boken med samma namn av Hohpe/Woolf. EIP är en uppsättning designmönster för att integrera system på ett meddelandeorienterat sätt. Dessa mönster är baserade på praktisk erfarenhet av integration och varje mönster erbjuder en lösning på ett specifikt designproblem. EIP är i sin grund teknologioberoende och kan implementeras med olika teknologier såsom SOAP, JavaEE eller .NET. Denna presentation kommer att ge en introduktion till EIP, dvs bakgrund, motivering och grundläggande designmönster. Därefter tittar vi närmre på två olika EIP-implementationer, nämligen öppenkällkodsramverken Apache Camel och Spring Integration. Kodexempel för de tidigare presenterade EIP-mönsterna kommer att gås igenom för båda implementationerna.

Slutligen kommer vi att titta närmre på en applikation från bwin som baserats på EIP och som används för att bearbeta pokerinformation i realtid och distribuera denna till 30 mottagare. Vi kommer att gå igenom applikationens krav, arkitektur och implementation med hjälp av EIP för *både* Camel och Spring Integration. Båda dessa EIP-implementationerna har nämligen använts i applikationen - nu får du reda på både hur och varför!

Patrik Fredriksson

Patrik Fredriksson, Citerus

Patrik Fredriksson är av Eric Evans och Domain Language, Inc certifierad kursledare. Patrik är delägare i Citerus och arbetar som konsult inom mjukvaruutveckling. Han har arbetat med utveckling i Java sedan 1996 och finner en stor drivkraft i att arbeta för att få systemutvecklingsprojekt att bli effektivare, mer framgångsrika och roligare!

(PDF)

Quickie (27/1) : Introduktion till Clojure för Javautvecklare

Clojure är ett generellt, funktionellt, dynamiskt, starkt typat programmeringsspråk som körs på JVM:en. Clojure är en modern Lisp-dialekt som genom sin nära integration med Java redan från start har tillgång till ett mycket omfattande utbud av API:er och tredjepartsbibliotek. I denna intensiva femtonminutersintroduktion till Clojure för Javautvecklare kommer vi att få lära känna språket lite närmare. Du som lyssnar på denna presentation kommer att få med dig en översiktlig förståelse för Clojure som språk och det du behöver för att på egen hand börja utforska språket.

Adam Skogman

Adam Skogman, Jayway

Adam works as a Scrum Mentor and Java EE Architect, starting new Agile projects and helping out projects in dire straits. He finds that to make Agile work, you need to work on process, technology and tools, because process alone will not make you Agile. Adam is often called upon to talk about Java technology - especially on testing and Java performance. Among his engagements are some open-source projects. Adam is the lead of the open-source project "DDSteps", a data-driven extension to JUnit which enables you to separate test data from test code. DDSteps has become popular with both large companies (such as SonyEricsson, IBM, Sprint and PayPal) and many smaller businesses for integrating all the tools you need for end-to-end function testing of websites. Adam is also involved in the Qi4J and Spring LDAP projects.

(PDF)

Presentation (27/1) : Introduction to Cloud Computing

Cloud Computing sounds fluffy, so what are the real-life benefits? And how can I start using the Cloud today, in my own projects? The first step: Getting more power at a low low cost How can we use the cloud today, by moving parts of our application or environment to the cloud? We'll share our hand-on experiences with developing using the cloud for everything from testing to deployment. The next step: Scaling out in the cloud The cloud brings new issues and concerns. How do you best store data if it's stored in distributed data centers? How can you ensure data consistency when ACID-style transactions are your biggest bottleneck? How will it affect your architecture that servers are added at any time?

(PDF)

Tutorial (26/1) : From Zero To Amazon Cloud in less then 3,5 Hours

A walkthrough for Cloud beginners. Starts with an introduction to the services offered by Amazon, to give all a good understanding of what a Cloud really is. Then it's an all-out Cloud cookalong! We start with nothing and set up a cloud hosted infrastructure for a typical Java server application.

First: Getting it to the Cloud.
Second: Using Amazon Cloud services.
Third: Getting production ready!

Johan Lindfors

Johan Lindfors, Microsoft

Johan Lindfors har jobbat på Microsoft i snart 10 år och under den tiden haft olika teknikfokuserade roller. För närvarande är han teknisk chef och ansvarar för en grupp tekniska evangelister som jobbar med att informera om och demonstrera Microsofts produkter och tekniker för utvecklare och IT-proffs. Johan studerade innan han började på Microsoft 1998 vid Högskolan Dalarna och var bland annat ordförande för Unix- och Linux-föreningen. Han bloggar också kontinuerligt på http://blogs.msdn.com/johanl/

(PDF)

Quickie (27/1) : Java and the cloud, in the color of Azure

Microsoft have announced and made available a platform for development in the cloud with Windows Azure. Applications built with Java can leverage both the platform and services, and in this presentation we will demonstrate with live coding and deployment!

(PDF)

Quickie (27/1) : Axum

Axum, en stad i norra Etiopien och ett domänspecifikt språk för trådsäker parallelism.

Jevgeni Kabanov

Jevgeni Kabanov, ZeroTurnaround

For the last five years, Jevgeni has been the R&D lead of Webmedia, Ltd, the largest custom software development company in the Baltics. During that time, he has spearheaded the movement to decrease the development turnaround time. As a result, two products (JavaRebel and JspWeaver) were developed under the trademark ZeroTurnaround, of which Jevgeni is the technical lead. Both projects contributed directly to the immense reduction in turnaround time. Jevgeni is also a co-founder of the open source Aranea project.

(PDF)

Presentation (27/1) : Do you really get class loaders?

Class loaders are at the core of the Java language. Java EE containers, OSGi, NetBeans modules, Tapestry 5, Grails and many others use class loaders heavily. Yet when something goes wrong, would you know how to solve it? In this session we'll take a tour of the Java class loading mechanism, both from JVM and developer point of view. We'll see how different delegation systems are built, how synchronization works, what is the difference between finding classes and resources, what wrong assumptions has been made and are now supported. Next we will look at typical problems that you get with class loading and how to solve them. ClassNoDefError, IncompatibleClassChangeError, LinkageError and many others are symptoms of specific things going wrong that you can usually find and fix. For each problem we'll go through a hands on demo with a corresponding solution. Finally we'll take a look at the complicated class loading mechanisms like the ones used in OSGi and Tapestry 5. We'll look in detail at the benefits they have and problems they might cause.

(PDF)

Quickie (27/1) : How to save 3-7 weeks a year!

This summer, over 1100 developers reported that they waste an average of one month per year waiting for builds and redeploys. In 10 minutes, we'll show you how to get that time back, without the need to re-engineer your applications or change the way your team works. It's quick, it's easy, it integrates with Maven, Eclipse, IntelliJ IDEA and Netbeans, supports all servlet and EJB containers, Spring framework, Struts, Stripes and Google Web Toolkit, and it pays for itself in two weeks -- meet JRebel 2.0 (formerly JavaRebel).

Nils Eliasson

Nils Eliasson, Oracle

Nils Eliasson is a member of the Oracle JRockit Engineering Team since 2006. He has been working with the compiler and the surrounding infrastructure with the goal of making Java perform even better. His day-to-day work involves everything from improving the compiler, trimming java libraries, and adding new performance optimizations. The JRockit product line contains of JRockit JVM - a high performance JVM for server application, JRockit Mission control - Zero overhead tools for monitoring, debugging and profiling the JRockit JVM, JRockit Real Time - A "soft real time" JVM that gives real time performance to standard Java applications and JRockit Virtual Edition - A minimal OS for virtualization environment designed for minimum overhead.

(PDF)

Quickie (27/1) : Java Performance Antipatterns

Java performance is seldom as easy as it looks. Spending time optimizing Java code might easily lead to worse results. This talk introduces some common Java performance antipatterns and show how you trick yourself and the JVM.

Vaclav Pech

Vaclav Pech, JetBrains

Václav is a programming enthusiast who's constantly seeking ways to make development more effective and enjoyable. He's particularly interested in server-side Java technologies, distributed systems, parallel programming, agile methodologies, modern programming languages, DSLs and of course IntelliJ IDEA.
He works for JetBrains as a senior software developer and a product evangelist. On the side, he's building GParallelizer, an opensource concurrency library, investigates the domains of neural networks, evolutionary programming and data mining. When not at work he spends his time with his family, hiking in the mountains or travelling.

(PDF)

Quickie (27/1) : Life is Short: Code Fast

Through hands-on coding with Spring, Hibernate, JSF, SQL and of course Java, we'll demonstrate a few of the core concepts that help developers write better code faster. We'll explore Development by Intention, the benefits of truly deep and intuitive refactoring, Polyglot programming with cross-language support and error prevention with static code analysis as well as commenting on the value of highly intelligent editing, debugging and code assistance - all with supportive examples and code-based demonstrations using IntelliJ IDEA. To wrap up, we'll look at ways to enjoy coding as much as possible.

(PDF)

Presentation (27/1) : Groovy actors and concurrent dataflow with GParallelizer

Low-level concurrency handling is usually hard to get right. And it's not much fun either. In this hands-on session we will go through the concurrency options that GParallelizer library, an open-source concurrency library for Groovy, gives to your Groovy applications. We'll cover asynchronous collection processing, actors and other concepts, which aim to make your Groovy code concurrent with little effort. We'll create and show code examples in Groovy illustrating the principles of actors, parallel arrays and dataflow concurrency, while leveraging the DSLs offered by GParallelizer.

Cameron Purdy

Cameron Purdy, Oracle

Cameron Purdy is Vice President of Development at Oracle. Prior to joining Oracle, Mr. Purdy was the CEO of Tangosol, whose revolutionary Coherence Data Grid product provides reliable and scalable data management across the enterprise. Mr. Purdy has over ten years of experience with Java and Java-related technology. As a software visionary and industry leader, Mr. Purdy is a frequent presenter at industry conferences and has received a number of awards in recognition of his contribution to the Java community, including twice being named as a JavaOne RockStar and being recognized in TheServerSide's "Who's Who in Enterprise Java". He regularly participates in industry standards development and is a specification lead for the Java Community Process.

(PDF)

Presentation (27/1) : Keynote: Java, the Platform for the Future

Fifteen years ago, Java steamed into the software development consciousness. Since those early days, the Java platform has shown remarkable resiliency in adapting to changes in technology and markets over time. This success is powered by a broad and active community of developers and users. Today the Java platform faces new challenges. We will examine these challenges and the keys to meeting them in order to broaden Java adoption, improve its competitiveness and ensure its future.

Pär Sikö Martin Gunnarsson

Pär Sikö Martin Gunnarsson, Epsilon

Pär Sikö är en passionerad Javautvecklare som envist håller sig på klientsidan men som vid ett fåtal tillfällen lockats över till serversidan, dock utan något lyckat resultat. Pärs ledord är "Gränssnitt ska vara snygga och inget ska lämnas åt slumpen" samt "En applikation som inte är tilltalande är samma sak som en icke fungerande applikation". Trots ett uttalat grafikfokus saknar Pär helt talang för form, färg och layout och ses därför sällan utan en kompanjon som behärskar grafisk design. Pär har jobbat som Javakonsult i många år och på senare tid har mer och mer av fritiden gått åt för att utveckla feedjii, en feedläsare skriven i Java och Swing.

Bra programmerare är ofta värdelösa designers (och tvärt om), men Martin Gunnarsson har en fot i varje läger och trivs bra med det. GUI-programmering och gränssnittsdesign passar honom synnerligen väl eftersom de är en härlig kombination av grafik och kod. Martin är en sann perfektionist, och blir sällan helt nöjd med sitt arbete, åtminstone inte någon längre tid. Kvalitet och genomtänkt design gör honom glad, medan fula applikationer och webbsidor har precis motsatt effekt. Martin har tillsammans med den tekniskt vassare kollegan Pär Sikö utvecklat feedläsaren Feedjii, som en plattform att testa nya GUI-idéer på.

(PDF)

Presentation (27/1) : JavaFX Designer Developer Workflow

Many JavaFX presentations focus on what the code looks like and how the language works, but they rarely show how to actually get started. JavaFX is said to be both designer and developer friendly but how do you get the designers involved? In this presentation we'll show what a typical JavaFX workflow may look like, starting with a fresh installation of the JavaFX Production Suite and Adbobe Photoshop, and going all the way to a complete application.

Anders Hammar

Anders Hammar, Devoteam Quaint

Anders is a Maven expert, software architect, and CTO of Devoteam Quaint, working professionally with Java for more than ten years. Anders firmly believes that a good development infrastructure is necessary to allow for a developer to focus on solving the business needs, as well as developing good quality software. For the the last three to four years, he has focused on using Maven as the platform for such an environment. In his profession, Anders does Maven training and he has earlier talked about Maven at Øredev and Javaforum (Swedish JUG). Being a true believer of open source, Anders is also highly active within the Maven community.

(PDF)

Tutorial (26/1) : Advanced Maven Techniques

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. The theme of Maven is to standardize the build process and has successfully done so, leading to it being close to de facto standard in the open source world and within the enterprises. This session will focus on advanced dependency management, plugin management and lifecycle customization. All topics will be explained in theory and also shown in practice. Targeted audience is developers with knowledge and understanding of Maven basics such as the pom, artifact coordinates (GAV), the lifecycle concept, and Maven plugins and goals.

Felipe Gaúcho

Felipe Gaúcho, Netcetera AG

Felipe Gaúcho is Senior Software Engineer with MsC in Artificial Intelligence and more than ten years of Java hands-on experience. He is a well known Brazilian JUG leader and open-source evangelist specialized in Java EE technologies. Felipe dedicated the last couple of years researching SOA applications implemented with the Glassfish Portfolio technologies. A result from that experience is a set of Dos & Don'ts of publishing RESTful web-services produced with the Jersey Framework consuming a EJB3.x business layer. When he is not coding, he prefers to listen reggae and travel around with his lovely wife Alena and his son Rodrigo.

(PDF)

Presentation (27/1) : Domain Driven REST Web-Services

RESTful Web-Services and Domain Drive Design (DDD) prevailed upon the "SOA Era", and now it is time to join those powerful techniques towards more agility for the Java developers. This session will demonstrate how to expose a Domain Model through REST-API based on the Java EE specification and the Glassfish technologies. The session will show a real world project where a business domain modeled as JPA Entities is serialized through a REST-API implemented with the Jersey framework. The server side constraints like security and robustness will be explained and proved good enough to be adopted in production. The special highlights of the session are the partial visibility of data produced with a minimum code, full data security and the serialization of data using XML and JSON formats. This presentation is a result of an open-source project being developed by the speaker, and the source code and artifacts demonstrated during the session will be fully available for the audience after the presentation. Java EE developers and architects are the target audience, specially the ones with previous experience in producing RESTful web-services.

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.

(PDF)

Presentation (27/1) : Google Appengine Java: Groovy baby!

Introduced in April 2009, and made available to all developers last june, Google Appengine Java allows developers to leverage Google's cloud infrastructure to run their Java applications. With the Google Eclipse Plugin, as often demoed, it takes 5 minutes to put a GWT/GAE Java "Hello World" application in production: this talk will be about what can you do after these first 5 minutes of total bliss. The talk will cover Appengine Java's APIs, including recent features like XMPP and Task Queues, tools integration, limitations, how to run other JVM based languages used in the wild (Groovy, JRuby, Scala, Javascript), and show cool apps that have been developed with appengine. More it will present Gaelyk, a lightweight toolkit for easily developing applications in Groovy to be deployed on Google App Engine Java. We'll learn more about what the toolkit provides, how to leverage it for your own needs through some demos.

(PDF)

Tutorial (26/1) : 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!

John Davies

John Davies, Incept5

John has been working in leading edge technology, mostly around investment banking for well over 25 years. Including ten years abroad he has worked in dozens of banks in as many countries moving from programmer to head of trading systems and head of technology at BNP Paribas to Global Head or Technical Architecture at JP Morgan. In 2000 John co-founded C24, their main product Integration Objects (IO), a code-generator solved integration issues for investment banks, covering SWIFT, ISO-20022, FpML and FIX. C24 was sold to Iona in 2007 which was then sold to Progress a year later, John became the Technical Director in both cases.

In early 2008 John co-founded Incept5, an incubator consulting in medium-sized companies needing to scale. Clients include Revolution Money recently sold to Amex for $300M and Verifi where he currently holds the position of Chief Architect. Incept5 is has recently taken on mobile development and has several high-profile clients for iPhone and Android apps. John is also Chief Technologist as Onix Systems, a leading company in FIX engines and market connectivity.

(PDF)

Presentation (27/1) : Scaling Real-World Large Financial Systems, from iPhone to Cloud

John Davies will take a short but technical deep dive into the world of FX, equity and derivative trading. With demands for extremely low latency, massive volumes, absolute transactional integrity and a daily turnover in the billions, the trading community has been at the forefront of technology for decades. John will talk through the technologies, practical problems and technical solutions in this industry. From low-latency algorithmic trading to back-testing from over a peta-byte of data to mobile device integration. He will explain how to move the grid into the Amazon cloud and how many clients are using Amazon's EC2, EBS and S3 for delivery onto iPhones and Android.

Emily Bache

Emily Bache, Iptor

Emily Bache is an experienced software developer and programming coach, with a preference for agile methods and Test Driven Development. Emily is particularly interested in novel ways to teach and learn programming, and regularly runs "coders dojo" meetings.

(PDF)

Presentation (27/1) : Domain Specific Languages for Selenium tests

and other tips won from experience. Selenium RC allows you to test your web application through the browser and simulate user actions in a very realistic manner. It also has a handy firefox plugin to help you to record tests in Java. Unfortunately, I've found that if you just use these tests straight off, you quickly end up with a test code maintenance headache. In this presentation I'll be using real life examples and demonstrations to show you how to make your tests more readable and robust. I've a number of tricks up my sleeve, including using Domain Specific Languages.

Nati Shalom

Nati Shalom, GigaSpaces

Nati is the CTO and Founder of GigaSpaces. Nati is also a co-founder member of the Israeli Grid consortium. He has 10 years of experience with distributed technology and architecture namely Cloud Computing, SOA, XTP, JEE, Spring , Grid, Jini, CORBA. As a software visionary and industry leader, Mr. Shalom is a frequent presenter at industry conferences and is actively involved in evangelizing Cloud Computing, Space Based Architecture and Data Grid patterns.

(PDF)

Presentation (27/1) : NoSQL, One size fits all: A concept whose time has come and gone

Major Internet companies, including Google, Amazon and Facebook, are taking an alternative approach to the traditional SQL database. The primary reason is that the existing SQL database doesn’t fit their scalability requirements. Does this mark the end of the relational database era?
In this session Nati will answer this question as explore the various database alternatives, such as Amazon SimpleDB and memcached. He’ll conclude the session with a reference to a real life example from a social networking application, and examine how they designed their application to address data scalability requirements.

Niclas Nilsson Hans Brattberg

Niclas Nilsson Hans Brattberg, factor10 & Crisp

Niclas Nilsson, factor10 is a playing coach, educator and writer with a deep passion for the software development craft. He started working as a developer in 1992 and drawn from experience, he knows that some choices make a significant difference in software development, like languages, tools and processes. He's a productivity junkie, which is the reason behind his affection for dynamic languages, behaviour-driven development and pair-programming. He blogs at http://niclasnilsson.se/

Hans Brattberg, Crisp, is an Agile Coach and a passionate TDD programmer with a focus on programming as a social activity. He combines programming with teaching and mentoring and he has also written a book (in Swedish) on Lean, Scrum and XP.

(PDF)

Presentation (27/1) : The Pair Programming Show

Did you ever wonder what makes pair programming tick? Or maybe why it didn't work well when your team tried it? Are you considering trying it but not sure it it's worth it? Then, this play is for you.

The play is about a team that are just about to start implementing pair-programming as a daily practice in their agile work. You will follow the team and its members as they go through different stages and struggles from doing no pair programming to getting pair programming to be a truly productive way for them to work. You will see the anti-patterns in practice so you can recognize them in your own environment, and you will learn about the small subtle things that makes the difference between wasting time and a high productivity. This play will give you everything a good play should have; laughs, anger, tears - and a lot of lessons learned.

Get your popcorn ready and open your mind. Pair programming can be a great productivity boost - if it's done right.

Stefan Norberg

Stefan Norberg, Unibet

Stefan Norberg is Head of Architecture at Unibet - one of Europe's leading e-gaming providers. Before joining Unibet, Stefan was part of the team that built one of world's first Internet banks in the mid-90:s. He has set up some big Unix HA clusters and a handful of e-commerce sites. He also wrote a book for O'Reilly on how to secure Windows servers and headed up a couple of very high profileprojects at stock exchanges, banks and insurance companies.
He has been a supporter of open source software since 0.91 of the Linux kernel. Stefan started his computing career on the Commodore 64 and he sold his first Pascal program when we was 14. He's an entrepreneur, but has also worked in large organizations such as Logica and Hewlett-Packard.

(PDF)

Presentation (27/1) : Open Source at Unibet.com - 10x Scalability at Half the Cost

With over four million registered customers in more than 100 countries, Unibet is one of Europe's largest online gaming operators. Gaming products include sports betting, live betting, casino, poker, lotteries, bingo and soft games. Customers bet via websites in 27 languages, and increasingly via mobile phones and other mobile devices.

In this session you will learn about Unibet's continuously ongoing rearchitecture initiatives from a fairly typical monolithic database-centric architecture into a highly scalable one based on best-in-class open source software such as Java, Spring, MySQL, Terracotta, RabbitMQ and Kaazing, while at the same time substantially reducing cost. We have transitioned to a modern front-end architecture (XHTML 1.0 strict, CSS 2.1, YUI, caching, compression, image spriting, CDN striping, etc.) backed by functionally partitioned application- and data tiers. For scaling out, we have simple use-cases where read-only replicas are fine, and others where we use a partitioned, in-memory, domain repository with an eventually consistent database. This session will also cover our use of key technologies such as content delivery networks and DDoS protection strategies.
.

Alexis Moussine-Pouchkine

Alexis Moussine-Pouchkine, Sun Microsystems

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)

Presentation (27/1) : Deep dive on the Java EE 6

J2EE was reliable and scalable but somewhat verbose and sometimes inflexible. Java EE 5 adopted new principles (POJOs, annotations, default behavior) to ease the development paradigm and was certainly the biggest release ever. Java EE 6 also has a lot in store for server-side development - some more ease of development, a web profile, unified injection, lighter-weight components, RESTful integration, and major enhancements to the EJB, JPA and JSF specifications. This presentation will offer an overview of Java EE 6, new EJBs, simplified packaging, improved persistence layer, new API for RESTful services, a validation framework, a radical simplification of the web layer and ... many other improvements.

(PDF)

Tutorial (26/1) : The Java EE 6 Platform

J2EE was reliable and scalable but somewhat verbose and sometimes inflexible. Java EE 5 adopted new principles (POJOs, annotations, default behavior) to ease the development paradigm and was certainly the biggest release ever. Java EE 6 also has a lot in store for server-side development - some more ease of development, a web profile, unified injection, lighter-weight components, RESTful integration, and major enhancements to the EJB, JPA and JSF specifications.

This tutorial presentation will offer an overview of Java EE 6 through a run-down of the many new features. We will build an application from scratch via incremental steps. This will translate into a dozen demos each illustrating new features : managed beans, EJB 3.1 packaging and testing, JPA improvements, JSF with facelets, composite components and Ajax, exposing RESTful resources, and more.

Charles Nutter

Charles Nutter, Engine Yard Inc

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

(PDF)

Presentation (27/1) : Your First Day With JRuby

In the past few years, Ruby has grown from an oddity to a world-class programming language. There are hundreds of thousands of Ruby developers worldwide. But many of us live on the Java platform. Can we take advantage of Ruby's beauty without leaving the Java world behind? Yes we can! JRuby provides an excellent implementation of Ruby that can run Rails and other frameworks alongside your existing Java libraries and apps. You can build Rails apps that integrate with existing Java code, write components in Ruby, build desktop applications, and much more. JRuby provides excellent two-way integration with Java, allowing you to start using it today.
In this talk, we will explore JRuby, from getting set up to deploying real apps. We'll construct a small Rails application, front-end it with a GUI application, and deploy both. We'll play with JRuby's Java integration capabilities. And we'll explore a few unique features of JRuby like support for C libraries. By the end of this talk, you'll be ready to use JRuby for your own apps without leaving the Java platform behind.

Jeff Sutherland

Jeff Sutherland, Scrum, Inc.

Jeff is Chairman of the Scrum Training Institute, CEO of Scrum, Inc. and Senior Advisor and Agile Coach to OpenView Venture Partners. He created the first Scrum in 1993 and worked with Scrum Co-Creator Ken Schwaber, to formalize the Scrum development process at OOPSLA’95. As VP of Engineering and CTO of nine software companies he prototyped Scrum in four companies and in the fifth company created Scrum as we know it today. His last eight companies have been Scrum companies.

(PDF)

Presentation (27/1) : A Practical Roadmap to Great Scrum: A Systematic Guide to Hyperproductivity

The best data in the world on Scrum come from a CMMI Maturity Level 5 company that is migrating all data collection to function points to provide research data on over 100 highly disciplined teams. I will describe how a new Scrum team can follow the path of Systematic Software Engineering to double productivity by focusing on DONE and then doubling it again by focusing on product backlog READY. Current research shows that every team can achieve hyperproductivity in a few sprints, even in a dsyfunctional company. This presentation will show you exactly how to do it and how easy it is if you remove impediments.

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)

Presentation (27/1) : Portrait of a Developer as a Kid in a Candy store

In the past 2 years developer platforms have evolved very fast making it easy to create applications with a rich user interface used by million of users, leveraging their friends, profile and location information, and accessible from their mobile device. There has never been a better time to be a developer! This presentation will give you an overview of Google developer tools and open standards that help developers create these applications: Browsers (html5, w3c geo, svg), Mobile (android), Cloud (appengine), Social (Opensocial), Geo (Google Maps).

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, Oredev, QCon, and OSCON.

(PDF)

Presentation (27/1) : The Benefits of Graph Databases

Most applications today handle data that is deeply associative, i.e. structured as graphs (networks). The most obvious example of this is social networking sites, but even tagging systems, content management systems and wikis deal with inherently hierarchical or graph-shaped data. This turns out to be a problem because it?s difficult to deal with recursive data structures in traditional relational databases. In essence, each traversal along a link in a graph is a join, and joins are known to be very expensive. Furthermore, with user-driven content, it is difficult to pre-conceive the exact schema of the data that will be handled. Unfortunately, the relational model requires upfront schemas and makes it difficult to fit this more dynamic and ad-hoc data. A graph database uses nodes, relationships between nodes and key-value properties instead of tables to represent information. This model is typically substantially faster for associative data sets and uses a schema-less, bottoms-up model that is ideal for capturing ad-hoc and rapidly changing data. This session will introduce an open source, high-performance, transactional and disk-based graph database called “Neo4j” (http://neo4j.org), which frequently outperforms relational backends with >1000x for many increasingly important use cases.

Hanna Lumikero

Hanna Lumikero, CIBER

Hanna Lumikero är projekledare och arbetar som konsult på Ciber. Hon har en stark övertygelse om att det är människorna och inte tekniken som i slutändan får jobbet gjort. Med detta fokus har hon framgångsrikt lett projekt under de senaste åren, både som traditionell projektledare och scrum master. Resultatet har blivit lyckade projekt där teamet levererat resultat till kunderna och samtidigt utvecklats både som individer och grupp. Och dessutom haft roligt på vägen!

(PDF)

Quickie (27/1) : Feedback - hur du får ut det bästa av din omgivning

I detta föredrag dras paralleller mellan modern barnuppfostran och teamledarskap. Hur plockar du fram det bästa hos dina medarbetare och kollegor och fokuserar på det som är bra? Du får handfasta tips om hur du bör agera för att få mer av det du uppskattar av din omgivning. Vi går igenom vad feedback är, vad det är bra för och hur feedback ska ges och tas emot. Föredraget inspirerar till ett öppet klimat som leder till hög effektivitet och bättre kommunikation.

Ola Ellnestam

Ola Ellnestam, Agical

Ola Ellnestam gillar att kombinera teknik, människor och affärer och det är därför just mjukvaruutveckling är så intressant. Efter att ha snubblat över eXtreme Programming i slutet på 2000 insåg han att mjukvaruutveckling kan vara både roligt och nyttigt. För både utvecklare och affärssidan. Han insåg också att all utveckling inte behöver drivas i stora och till synes oändliga projekt. Det finns andra sätt och det synsättet gillar Ola att sprida till andra.

(PDF)

Quickie (27/1) : Det fronetiska ledarskapet

Ett effektivt ledarskap tycker många är A och O för att lyckas. Men vad betyder det för mjukvaruprojekt och organisationer som sysslar med intensivt tankearbete. Kan man lära sig att leda? Kan man lära sig att bli ledd? Vad är det som egentligen spelar roll i ledarskapet? Efter att ha lyssnat på detta tal kan åskådarna ha lärt sig: - Varför det är viktigt att skapa förutsättningar för ledarskap - Vilka grundförutsättningar behövs för ledarskap - Att leda genom exempel - Skillnaden mellan olika typer av kunskap och hur den förvärvas - Ledarskap är aktiviteter.

Marcus Ahnve

Marcus Ahnve, Valtech

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

(PDF)

Presentation (27/1) : Taylorism och massproduktion - gamla tankesätt hindrar effektiv systemutveckling

* Varför delar vi på drift och utveckling? * Varför ritar systemarkitekter UML diagram, väljer ramverk och kan inte minnas när de skrev kod senast? * Varför räknar vi hur många kodrader varje utvecklare skrivit? Fredrick Taylors teorier och dess efterföljare sätter än idag normen för hur våra organisationer styrs och organiseras. Det som vi ser som normala och vanliga sätt att organisera arbetet försvårar i själva verket effektivt alla försök att införa agila arbetssätt, vilka istället bygger på empiriska processer med självorganiserande och tvärfunktionella team. Föredraget pekar ut dessa försvårande mönster och dess effekter samt visar hur man undviker dem för att inte missa de stora fördelarna med ett agilt arbetssätt.

(PDF)

Presentation (27/1) : Android och TDD

Tröskeln till Androidutveckling är låg för Javautvecklare, då Android har stöd för en stor del av standard-Java. Men hur kan man skriva automatiska enhets- och funktionstester? Föredraget visar hur man kan utveckla en Android applikation med testdriven utveckling.

Dan North

Dan North, DRW Trading

Dan is a Senior Developer with DRW Trading, where he writes software and coaches teams in agile and lean methods. He believes in putting people first and writing simple, pragmatic software. He believes that most problems that teams face are about communication, and all the others are too. This is why he puts so much emphasis on "getting the words right", and why he is so passionate about behaviour-driven development, communication and how people learn. He has been working in the IT industry since he graduated in 1991, and he occasionally blogs at dannorth.net.

(PDF)

Tutorial (26/1) : Behaviour-Driven Development: Writing Software that Matters

Behavior-driven development (BDD) is an evolution of the ideas behindagile software delivery. With its roots in test-driven development,domain-driven design, and automated acceptance testing, BDD focuses onthe ways an application is expected to work - its behaviour. Byconstantly reflecting on the varied points of view of differentstakeholders, BDD helps ensure that product owners and the developmentteam are in sync on what is really needed and what to work on next.

In this highly-interactive session, Dan North introduces theprinciples behind BDD and describes how it works in practice. He provides an overview of the methodology of BDD: understanding yourdomain and who your stakeholders are, identifying and exploring requirements, automating acceptance criteria, and delivering workingand tested software. Dan then looks at the nature of change and describes how to implement BDD in different contexts, including applying it to an in-flight project, managing distributed orlarge-scale development, and working with legacy systems. Dan encourages both experienced and novice agile managers and practitioners to join this session and bring with them their current challenges - and war stories.

(PDF)

Presentation (27/1) : Why Your Agile Roll-Out is Failing

You read the books. You went to the talks. You even paid for the 3 day course. Then you rolled out Agile across the organization. What could possibly go wrong? Why, after 18 months, are you not seeing the better-faster-cheaper results they guaranteed you? And where can you get your money back? Rather than paying for yet another Agile consultant to come in and tell you how you're doing it all wrong, come along to Dan's talk about the most common failure modes he encounters in Agile adoption.

Jason van Zyl

Jason van Zyl, Sonatype

Jason van Zyl is CTO of Sonatype and the founder of the Apache Maven project, the Plexus IoC framework, and the Apache Velocity project. Jason currently serves on the Apache Maven Project Management Committee. He has been involved with the Apache Software Foundation (ASF) for seven years, helped to found Codehaus, a well respected incubation facility for open source community projects, and is a frequent speaker at many major software conferences, including JavaOne, EclipseCon, EmergingTech, and ApacheCon. Jason has over ten years of enterprise software development experience. He founded Periapt, Inc., a company that provided software infrastructure development services to Fortune 500 companies such as Toyota Corp., Bank of America, and Coca-Cola Co. Previous to Periapt, he worked as a Technology Architect at Compusense, a world leader in sensory analysis and data research.

(PDF)

Presentation (27/1) : Next Generation Development Infrastructure: Maven, M2Eclipse, Nexus & Hudson

All development organizations eventually converge on a set of tools to reduce costs, lower onboarding time, and leverage knowledge in strong communities to create standard processes. To this end we see in many organizations the emergence of a standard development stack consisting of Maven, M2Eclipse, Nexus & Hudson.

In this talk Jason will discuss the future of Maven and specifically Maven 3.x, the rapidly approaching M2Eclipse 1.0 release, the recent Nexus 1.4 release and roadmap, and changes that have been made to Hudson to provide better interoperability with Maven. Sonatype itself leverages this stack on a daily basis and this discussion will focus not only on the tools individually, but how they can work together to create a best practices approach to building and delivering your software in your organization.

Mattias Hellborg Arthursson

Mattias Hellborg Arthursson, Jayway

Mattias Hellborg Arthursson is founder, project co-lead, and committer on the Spring LDAP project. He is a senior consultant at Jayway, Sweden's leading Java consultancy, and with close to 15 years in the industry he has experience from a wide variety of technologies and problem domains. He has been using the Spring Framework and the Spring Portfolio for the last five years, is a SpringSource certified Core Spring instructor, and has given sessions on several international conferences, including The Spring Experience, Öredev, and SpringOne.

(PDF)

Quickie (27/1) : Spring 3.0

With more than 2 years since the last major release, the 3.0 version of Spring has been eagerly awaited by the community. Join us for this quick overview to get up to date with the new features and themes in the leading platform to build and run enterprise Java applications.

Joonas Lehtinen

Joonas Lehtinen, IT Mill 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 ITMill, the company behind the Vaadin framework.

(PDF)

Presentation (27/1) : RIA Security - Broken By Design

Rich Internet Applications (RIA) provide desktop-like usability with web deployment model. The benefits of this combination are obvious and RIA is now common a choice for the presentation layer in many applications. Unfortunately, moving logic from the server to an untrusted client may open up security holes that would not be present in the page-oriented "Web 1.0" architecture. In this presentation we will take a look at client- and server-side RIA architectures from the security angle, identify some of the most common security problems and discuss strategies for avoiding them. We'll go through some example applications implemented in both architectures and demonstrate the problems. Java-based RIA frameworks, Google Web Toolkit and Vaadin, are used in the examples, but the demonstrated principles are applicable to most other frameworks and languages as well.

Frank Greco

Frank Greco, Kaazing

Frank D. Greco is the founder of the New York Java Special Interest Group (NYJavaSIG), one of the largest Java Users Groups (JUGs) on the planet. Frank has a long history as a "Champion" of the Java Platform; he taught a developer track session at the very first Java Day back in September 1995 in New York and started the NYJavaSIG that afternoon. Frank has been involved with software development for over 10 years and has worked on services architectures, innovative user interfaces, mobile computing and next-generation collaborative financial systems. Frank is both a Java community leader as well as a luminary technologist working for Kaazing.

(PDF)

Presentation (27/1) : HTML 5 Communications - The New Network Framework for the Web

The HTML5 specification will clearly change the way in which we build applications for the Web. Google, Apple, Mozilla, Opera, Palm, et al, have all made large strides in supporting various components of HTML 5. The Communications section of this specification describes an exciting collection of new types of network communication mechanisms that will provide the underpinnings of the next generation of web applications. * WebSocket - A full-duplex single-socket connection over the web * Server-Sent Events - A formalization of web "push" but without polling * Cross-Domain Resource Sharing - Connect to multiple domains without a portal server * Inter-Document Messaging - Send messages among iframes on a page These features bring bi-directional, event-driven connectivity to web applications, remove the dependency on polling, allows the browser to be the aggregator of information across domains and facilitates mashups within the browser. We will provide an in-depth look into the use of these features particularly WebSocket and Server-Sent Events. And we'll discuss the techniques and technologies required to build Web applications with these new tools. We will also cover possible network architectures to integrate message brokers, popular data feeds and cloud applications using WebSockets.

Vadim Gurov

Vadim Gurov, JetBrains

Vadim Gurov is a senior software developer at JetBrains and YouTrack project lead. He has a PhD degree in computer science and over ten years of web application development experience behind him. Vadim believes that language-oriented programming is set to become the next big step in software industry and works in touch with MPS team to create DSLs for database and web development..

(PDF)

Quickie (27/1) : Practical Web Development with Language-Oriented Programming

Modern web developers face a ridiculous choice of technologies and frameworks for building web applications. However, most of these frameworks are based upon general-purpose programming languages. Domain-specific languages (DSLs) are still a rarity in a web developer's toolset. JetBrains is set to change that with Meta Programming System (MPS). Complemented by a stack of Java-inspired domain-specific languages for database and web development, MPS enables JetBrains developers to create highly competitive real-world applications.
 
To describe the unique experience with language-oriented programming (LOP), Vadim  will showcase YouTrack - a keyboard-centric issue tracking web application that has become the first advanced product developed using MPS and JetBrains DSLs. We'll talk about our database DSL that saves developers from the hurdle of object-relational mapping; domain-specific implementation of JavaScript that delivers strong typing, true object orientation and automatic dependency detection; and other DSLs that constitute our web development language stack.