Jfokus 2011
Visualizations for Code Metrics

Visualizations for Code Metrics

Neal Ford, ThoughtWorks

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.

Architecture remakes with DDD, true stories from the wild

Architecture remakes with DDD, true stories from the wild

Jimmy Nilsson, factor10

Applications have a tendency of becoming harder and harder to maintain over time. In my experience, DDD is often used for describing the new target architecture. 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.

JRuby + Rails = Awesome Java Web Framework!

JRuby + Rails = Awesome Java Web Framework!

Nick Sieger, Engine Yard

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 JVM, via JRuby. With Rails 3 allows you to mix and match components, making it easier to use existing Java code.

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

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

Ole Lensmar, eviware software ab

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.

NoSQL consistency models and transactional semantics

NoSQL consistency models and transactional semantics

Roger Bodamer, 10gen

NoSQL technologies often use different models for failover, high availability, and multi-data center support than traditional databases. In this session we will review how traditional database and how NoSQL sometimes offers a different approach to these problems.

Future-proofing collections: from mutable to persistent to parallel

Future-proofing collections: from mutable to persistent to parallel

Martin Odersky Typesafe

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

Overview of NoSQL

Overview of NoSQL

Emil Eifrem Neo Technology

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.

Terrastore: document database for developers

Terrastore: document database for developers

Sergio Bossa Bwin Italy

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.

Domain Driven Security Code Kata

Domain Driven Security Code Kata

Dan Bergh Johnsson Omegapoint

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.

Test-driven Regex Development

Test-driven Regex Development

Staffan Nöteberg Rekursiv

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!

The Java EE 6 Programming Model Explained

The Java EE 6 Programming Model Explained

Alexis Moussine-Pouchkine Oracle

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.

Scala, from newbie to ninja in less then one hour

Scala, from newbie to ninja in less then one hour

Karianne Berg and Nina Heitmann

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.

Programming in pain

Programming in pain

Enno Runne, Transmode

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 new dimension for Android

A new dimension for Android

Erik Hellman, Sony Ericsson

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.

Google Cloud Computing for Java Developers: Platform and Monetization

Google Cloud Computing for Java Developers: Platform and Monetization

Patrick Chanezon, Google

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.

What's New in Google Web Toolkit

What's New in Google Web Toolkit

David Chandler, Google

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.

The Secrets of Concurrency

The Secrets of Concurrency

Dr. Heinz Kabutz, JavaSpecialists.EU

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

Running your Java EE applications in the clouds

Running your Java EE applications in the clouds

Arun Gupta, Oracle

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

Emergent Design

Emergent Design

Neal Ford, ThoughtWorks

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

Top reasons why you should switch to Maven 3

Top reasons why you should switch to Maven 3

Dennis Lundberg, Devoteam Quaint

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.

What a crazy year it has been

What a crazy year it has been

Henrik Ståhl, Oracle

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?

Yet more performance tuning

Yet more performance tuning

Kirk Pepperdine, Kodewerk Ltd

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.

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

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

Jonas Bonér, Scalable Solutions

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!

Jfokus 2010
Portrait of a Developer as a Kid in a Candy store

Portrait of a Developer as a Kid in a Candy store

Patrick Chanezon, Google

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

NoSQL, One size fits all: A concept whose time has come and gone

NoSQL, One size fits all: A concept whose time has come and gone

Nati Shalom, GigaSpaces

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?

How to save 3-7 weeks a year

How to save 3-7 weeks a year

Jevgeni Kabanov, ZeroTurnaround

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

Prestanda, skalbarhet och tillgänglighet för stora system

Prestanda, skalbarhet och tillgänglighet för stora system

Torbjörn Stavenek, bwin Games

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

Deep dive on the Java EE 6

Deep dive on the Java EE 6

Alexis Moussine-Pouchkine, SUN Microsystems

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.

Why Your Agile Roll-Out is Failing

Why Your Agile Roll-Out is Failing

Dan North, DWR Trading

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.

Introduktion till Clojure för Javautvecklare

Introduktion till Clojure för Javautvecklare

Patrik Fredriksson, Citerus

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.

Scaling Real-World Large Financial Systems, from iPhone to Cloud

Scaling Real-World Large Financial Systems, from iPhone to Cloud

John Davies, Incept5

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.

Introduction to Cloud Computing

Introduction to Cloud Computing

Adam Skogman, Jayway

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?

Java Performance Antipatterns (15 min)

Java Performance Antipatterns (15 min)

Nils Eliasson, Oracle

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.

The Benefits of Graph Databases

The Benefits of Graph Databases

Emil Eifrem, Neo Technology

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.

The Pair Programming Show

The Pair Programming Show

Niclas Nilsson, factor10 & Hans Brattberg, Crisp

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.

Jfokus 2009
Pragmatic Real-World Scala

Pragmatic Real-World Scala

Jonas Bonér, Triental

In this talk we will give you an introduction to Scala from a Java/JEE and real-world perspective. How to make effective use of Scala's richer OO abstractions and type system to create more flexible and reusable components and systems. How to take advantage of Scala's FP nature for more clean, safe, conceptually coherent and deterministic code.

Meet Puke!

Meet Puke!

Tomas Trolltoft, Ola Berg, IBS JavaSolutions

But fear no more, we say! Meet Puke, the street-wise coding cousin of good ol' Duke. She doesn't care what the others think. Instead, she knows that beautiful code is code that works for the customer, and that there is no orthodox way to that working code, only ways that cost more and ways that cost less. Some say Puke is a threat to quality.

Controlling Your Architecture

Controlling Your Architecture

Magnus Robertsson, Jayway

Agile architectures is a key ingredient to create systems that will last over a long period of time, but how do we achieve them? This presentation will show you how to control your architecture with common tools and some clever code to create solid and help you achieve long lasting systems.

Faster Java, the VM perspective

Faster Java, the VM perspective

Nils Eliasson, JRocket

The time when Java could be considered slow is long gone. This presentation gives you a quick look at what is going on behind the scenes - how the JVM transforms your Java code into machine code, and the tricks and techniques employed to squeeze the maximum performance out of it.

JavaFX in Action

JavaFX in Action

Simon Ritter, Sun Microsystems

This jam-packed talk will detail JavaFX from cover to cover. Come learn about this exciting new technology from Sun Microsystems for creating compelling rich internet applications on the Java platform.

Kirk Pepperdine

Concurrent and Performance Reloaded

Kirk Pepperdine, Kodewerk Ltd

 

Johan Lindfors

Net Framework + Java = sant

Johan Lindfors, Microsoft

 

Magnus Kasberg

Power and Elegance of WebBeans

Magnus Kasberg, Nasdaq OMX

 

Filmbild

Scrum Shock Therapy

Björn Granvik, Jayway

 

Filmbild

Domain Driven Design - DDDSample, en introduktion

Patrik Fredriksson och Peter Backlund, Citerus

 

Filmbild

Interview about DDDSample

Interview with Patrik Fredriksson and Peter Backlund about DDDSample

Filmbild

From good to great developer

Chris Hedgate, Blueplane

 

Filmbild

Java 6 upd 10, ease of deployment and Java SE 7

Simon Ritter, Sun Microsystems

 

Filmbild

Interview with Rickard Öberg about Qi4j

Interview with Rickard Öberg at Jfokus 2009 about Qi4j and Composit Oriented Programming

Filmbild

Groovy and a first step into DSLs

Vaclav Pech, JetBrains

 

Filmbild

Whats New and Exciting in JPA 2.0

Mike Keith, Oracle

 

Filmbild

Hibernate Search

Hardy Ferentschik, RedHat

 

Filmbild

Javaplattformens framtid

Ola Bini, ThoughtWorks