Monday 22 December 2008

Devoxx 08

Devoxx 08

A week at Devoxx (Antwerp, Belgium)

2008-12-08 Day 1 (University Day 1, BOF Day 1)

4:30 Wake up time

6:25 Thalys

8:50 Arrival at the Metropolis (the cinema complex where the Devoxx conference is located [http://www.flickr.com/photos/lhochet/3125426046/ ])

9:30-12:30
JavaFX in Practice
by Richard Bair, Jasper Potts and Martin Brehovsky
[Abstract: http://devoxx.com/display/JV08/JavaFX+in+Practice
Slides: http://www.devoxx.com/download/attachments/1705916/D8_U_08_05_01-PART_1.pdf, http://www.devoxx.com/download/attachments/1705916/D8_U_08_05_01-PART_2.pdf ]
After fighting to get some wifi, I start to listen to the indepth JavaFX presentation,
interesting as it sets the basics of the language,
and it clarify some of my reading on this subject (for the worldclock widget FX [https://worldclock-application.dev.java.net/#Widget ]).
After 3 hours of it, the break is welcomed though!

13:30-16:30
Java Power Tools
by John Ferguson Smart
[Abstract: http://devoxx.com/display/JV08/Java+Power+Tools
Slides: http://www.devoxx.com/download/attachments/1705916/D8_U_08_04_02_R.pdf ]
Actually it was limited to Maven, Hudson and JUnit, this later tools being the one I learnt a few
interresting features of (assertThat and the Hamcrest library), to investigate further, sometime...

16:45-17:15
VisualVM - new extensible monitoring platform
by Kirk Pepperdine
[Abstract: http://devoxx.com/display/JV08/VisualVM+-+new+extensible+monitoring+platform ]
A presentation of VisualVM, nothing new appart from the news that version 1.1 is out

17:15-20:00 walked to the hotel (a bit of an expedition as I got tricked into a wrong path),
initial thoughts this hotel is disapointing and does not warrant its expensive price,
then quick dinner after walking back to the Metropolis via another way

20:00-21:00
SwingX - Alive and Kicking
by Jeanette Winzenburg
[Abstract: http://devoxx.com/display/JV08/SwingX+-+Alive+and+Kicking ]
An overview of the state of SwingX from a technical point of view (politics lefts to the following BOF said Jeanette), particularly of the search and highlight on lists.

21:00-22:00
SwingLabs - further developent
by Richard Bair and Jan Haderka
[Abstract: http://devoxx.com/display/JV08/SwingLabs+-+further+developent ]
JavaFX is Swing 2.0, however it isn't ready for prime time yet, still missing the enterprise components, so for now it is mostly for the 'creative application' (aka flash like apps).
Regarding SwingX some components may be integrated in Java 7.
Also Sun will continue to support Swing.

2008-12-09 Day 2 (University Day 2, Quickies Day 1, BOF Day 2)

9:30-12:30
Java Performance
by Kirk Pepperdine, Holly Cummins
[Abstract: http://devoxx.com/display/JV08/Java+Performance
Slides: http://www.devoxx.com/download/attachments/1705916/D8_U_09_08_01.pdf ]
Kirk Pepperdine and Holly Cummins went to diagnose a non working application using Sun's stack for Kirk and IBM's for Holly,
explaining along the way the different concepts.
Diagnosing:
_ 100% CPU:
* if it is application time: try CPU profiling to see what methods are taking the CPU time
* if it is system time (ie GC time): try profiling the memory
_ Memory leaks:
1. check what objects are surviving
2. check what are the trails
Holly demonstrated the IBM Montioring and Diagnostic tool for Java Heath, however that tool is specific to the IBM's VM.

13:05-13:20
How to JavaFX with Java DB in less than 10 minutes
by Francois Orsini
[Abstract: http://devoxx.com/display/JV08/How+to+JavaFX+with+Java+DB+in+less+than+10+minutes ]
Short introduction on how to get Derby working within JavaFX

13:30-15:00
Advanced OSGi
by Peter Kriens
[Abstract: http://devoxx.com/display/JV08/Advanced+OSGi
Slides: http://www.devoxx.com/download/attachments/1705916/D8_U_09_07_02.pdf ]
A presentation of OSGi services and how to deal with them, including via the whiteboard pattern.
Left the talk at half time, as it was going into excercises which I was not prepared for (no practical experience with OSGi yet),
also it was a good opportunity to go and see the Filthy Rich talk

15:30-16:30
Filthy Rich Clients: beyond Java
by Romain Guy and Chet Haase
[Abstract: http://devoxx.com/display/JV08/Filthy+Rich+Clients%2C+beyond+Java ]
As expected an interesting and enjoyable talk describing how to make cool UI effects for both Android and Flex.

16:30-17:25
Sharding in Hibernate
by Andrew Glover
[Abstract: http://devoxx.com/display/JV08/Sharding+in+Hibernate ]
An introduction to sharding in Hibernate and its inducted issues... (how to indicate on which shard data should go, and how to handle the consequences of it)

17:25-17:55
Profiler, the better debugger?
by Heiko Rupp
[Abstract: http://devoxx.com/pages/viewpage.action?pageId=1377607
Slides: http://www.devoxx.com/download/attachments/1705916/D8_T_09_09_01.pdf ]
The talk showed how to use a profiler to identify the methods used by a program to then go and read the associated code.
Useful when dealing with unknown code to quickly identify the main methods or when the debugger can cause issues (time outs)
However the profiler cannot replace a debugger.

19:15-20:00
Meet JSR Spec. Leads
by Corina Ulescu and JSR Spec. Leads
[Abstract: http://devoxx.com/display/JV08/Meet+JSR+Spec.+Leads ]
A debate by JSR leads and members as to how the JCP could be made more open. For instance how to handle mailing lists, and proposals on those mailing lists, also how to say to no to such proposals.
(blog post by Dalibor Topic [http://robilad.livejournal.com/42289.html ]

20:00-21:00
Building converged VoIP+Web applications
by Vladimir Ralev
[Abstract: http://devoxx.com/pages/viewpage.action?pageId=1377666 ]
A presentation of the SIP servlet and the JAIN SLEE stack, with an emphase on the Mobicent solution which is what the speakers work on.

21:00-21:35
The magic of JXLayer component
by Alexander Potochkin
[Abstract: http://devoxx.com/display/JV08/The+magic+of+JXLayer+component ]
A presentation of the JXLayer component, how easy it is to use it and what extention points it has.
That is a SwingX (well ex-SwingX) component that I should investigate further...

2008-12-10 Day 3 (Conference Day 1, Quickies Day 2, BOF Day 3)

9:30-11:30
Keynote
Welcome by Stephan Janssen
Beatboxer Roxorloops (www.beatbox.be)
JavaFX: The Platform for Rich Internet Applications with Danny Coward (Sun Microsystems) and Co.
[Abstract: http://devoxx.com/display/JV08/JavaFX+The+Platform+for+Rich+Internet+Applications ]
IBM Devoxx RFID experiment Keynote
The first keynote was preceeded by a short show by beatboxer Roxorloops (funnily I came across beatboxing in a Police Academy movie on one of the dutch speaking channels that evening...). The keynote itself was a top 10 of the Java FX features (slides [http://blogs.sun.com/theplanetarium/resource/devoxx/JavaFX_Devoxx08_Keynote_Final.pdf ] -- the versions on the roadmap seem to have changed since the keynote) with for most points a demo by the JavaFX team, in particular of a particularly well done Devoxx version of Swish (better than the original demo IMO).
An interlude by Roxorloops, then the IBM keynote on the Devoxx RFID experiment (our badges had a passive RFID chip and each theater had devices to track who was coming in/out, also the partners could [short] scan the badges). Interresting machinery, though compared to the JavaFX presentation it felt less orchestrated and a bit commercial, which resulted in a live count of the people leaving the theatre...

12:00-13:00
Fingers in the air: a gentle introduction to software estimation
by Giovanni Asproni
[Abstract: http://devoxx.com/display/JV08/Fingers+in+the+air%2C+a+gentle+introduction+to+software+estimation
Slides: http://www.devoxx.com/download/attachments/1705921/D8_C_10_04_01.pdf ]
A very interesting talk from which there is (at least) one thing to take away: "your estimates will be wrong"
(also "estimates are non negociable" or "estimates are an ongoing activity")

14:00-15:00
Introduction to the SpringSource dm Server
by Sam Brannen
[Abstract: http://devoxx.com/display/JV08/Introduction+to+the+SpringSource+dm+Server
Slides: http://www.devoxx.com/download/attachments/1705921/D8_C_10_08_02.pdf ]
As it says on the tin. Its notion of 'library' for OSGi bundles sounds like a good thing.

15:10-16:10
What's New and Exciting in JPA 2.0
by Mike Keith
[Abstract: http://devoxx.com/display/JV08/What%27s+New+and+Exciting+in+JPA+2.0
Slides: http://www.devoxx.com/download/attachments/1705921/D8_C_10_04_03.pdf ]
Introduced the forthcoming features of JPA 2.0 (including some that make it easier to do non standard things with it).

16:40-17:40
Filthy Rich Android Clients
by Romain Guy
[Abstract: http://devoxx.com/display/JV08/Filthy+Rich+Android+Clients
Slides: http://www.devoxx.com/download/attachments/1705921/D8_C_10_09_04.pdf ]
Romain showed a few of the effects that are in the GPhone UI. First time I really had a look at the android code,
it's not bad looking overall, though I don't understand why they force people to have coulours coded via their Hex values...
(and it uses XML for declaratively creating UI... [like Flex])

17:50-18:50
Modularity in Java using OSGi
by Peter Kriens
[Abstract: http://devoxx.com/display/JV08/Modularity+in+Java+using+OSGi ]
Peter Kriens this time went through the history of OSGi, ending with new development on the JDK modularity
(summarised here: http://www.osgi.org/blog/2008/12/project-jigsaw.html )
OSGi has good features, but it certainly could do with annotations and service injection (HK2 I think is a good wrapper for that part).

19:00
chips and beer

19:30-20:00
European JUG Gathering
by JUG Leaders
[Abstract: http://devoxx.com/display/JV08/European+JUG+Gathering ]
JUG leaders talk about how they could get organise themselves to get speakers.
(Peter Pilgrim has a video of the BOF there http://www.vimeo.com/2549534 )

Later, out with some French speaking attendees

2008-12-11 Day 4 (Conference Day 2, Quickies Day 3, BOF Day 4)

9:30-11:30
Keynote
Effective Java Reloaded by Joshua Bloch
The Modular Java Platform by Mark Reinhold
The first keynote by Josh Bloch showed a few items (28, 31, 32, 33, 77, 34, 71) from the second edition of his "Effective Java, Second Edition" book (Now on my bookshelf, with the author's signature).
The second keynote was probably one of the most awaited talk of Devoxx (certainly was for me) as it was about modularity and Java 7.
Mark Reinhold introduced project Jigsaw, actually he introduced it a week before in http://blogs.sun.com/mr/entry/jigsaw, though the live version of the blog entry containted slightly more details, like the requirements:
_ integrate with the VM
_ integrate with the language
_ integrate with native packaging
_ support "friend" modules
_ support for multimodule plugs (something like the 'libraries' of Spring DM server?)
Then he described the current intent for Java 7 (now expected in early 2010):
_ modularisation
_ JSR292: VM dynamic languages
_ JSR203: more new IO
_ JSRTDD: small languages changes (considered)
* safe retrhow
* null dereference expression
* better type inference
* multicatch
_ JSR296: Swing Application Framework
_ port of the Java 6u10 features (kernel [though improved by the modularity work I guess], quick start and plugin)
_ upgrade of the classloarder architecture [a side effect of the modularity work I think]
_ a method to close a URLClassloader [wished I had that 2 years ago...]
_ Unicode 5.0 support
_ XRender pipeline for Java2D
_ Swing updates considered (JXLayer, DatePicker, CSS styling - may be)
_ G1 garbage collector
_ compressed pointers on 64 VMs
_ JSR308: annotation on Java types
_ JSR166y: more concurrency
Features not in Java 7:
_ closures
_ reified generics
_ properties
_ operator overloading
_ BigDecimal syntax [pity that would make using them easier]
_ JSR295
Non mentioned:
_ JSR310: Date and Time API, it is late apparently so it may not make it (https://jsr-310.dev.java.net/servlets/ReadMsg?list=dev&msgNo=1389 ) [a real pity if it doesn't!]
A preview for JavaOne 2009 was mentioned, we'll see...

12:00-13:00
Efficient Enterprise Builds
by Jason van Zyl
[Abstract: http://devoxx.com/display/JV08/Efficient+Enterprise+Builds ]
A presentation of m2Eclipse and Nexus, with a pinch of Maven 3.0 (used in m2Eclipse and Netbeans) as well as a mention of the potential use of Nexus for OSGi.

14:00-15:00
Introduction to NIO.2
by Jean-Francois Arcand
[Abstract: http://devoxx.com/display/JV08/Introduction+to+NIO.2 ]
Next time I'll read about the subject before going to the presentation...

15:10-16:10
JavaPosse.com LIVE
by Dick Wall and Carl Quinn
[Abstract: http://devoxx.com/display/JV08/JavaPosse.com+LIVE
Audio: http://javaposse.com/index.php?post_id=412440
Video: http://video.google.com/videoplay?docid=-2713178512447741319&hl=en (by Peter Pilgrim) ]
The Javaposse LIVE! It was well worth missing the session on modularity in Java (Alex Buckley [http://devoxx.com/display/JV08/Modularity+in+Java , slides there: http://blogs.sun.com/abuckley/resource/Devoxx2008-ModularityInJava.pdf ], Peter Kriens view on it http://www.osgi.org/blog/2008/12/project-jigsaw-ii.html ),
despite the technical glitch with Tor.


16:40-17:40
Preventing bugs with pluggable type-checking for Java
by Mahmood Ali
[Abstract: http://devoxx.com/display/JV08/Preventing+bugs+with+pluggable+type-checking+for+Java ]
Showed how to use JSR308 to make the code safer. I wonder if the code won't be too overloaded with this though.

17:50-18:50
The next versions of Parleys.com
by Stephan Janssen and friends
[Abstract: http://devoxx.com/display/JV08/The+next+versions+of+Parleys.com ]
Stephan Janssen and his friends showed a few alternative clients for Parleys (a JavaFX one, that should be used a the demo for JavaFX IMHO, a GWT/JavaScript version, an iPhone version), as well as the impressive publishing client (a Flex application capable of merging videos with slides, of detecting demos to include them in high quality, all without much human effort). Along the talk Stephan also talked about his plans for Parleys.

19:00-22:00
Movie
[http://devoxx.com/display/JV08/Movie ]
The end of Devoxx for me, so time to relax with the movie... then out with the ToursJUG leaders.

2008-12-12 L'Aquarium a Paris

After a short night (bed time arround 2:00, wake up arround 4:30 in order to catch the train [http://www.flickr.com/photos/lhochet/3125432134/ ]),
I'm back to Paris for the Aquarium in Paris, a micro Devoxx organised by Sun in its parisian offices.
(the presentations slides are online at http://blogs.sun.com/alexismp/resource/AquariumParis08.html )

9:30
Temoignage SFR Developer Zone

10:00
Java EE 6 Overview
Roberto Chinicci
I couldn't see it at Devoxx so the "repeat" was welcomed

11:00
Jersey / JAX-RS
Paul Sandoz
Mostly demos, I should have closer look at this at some point
(link to the Devoxx slides http://blogs.sun.com/sandoz/entry/devoxx_slides_and_examples_for )

11:30
Open SSO, Single Sign-on et federation d'identite
Alain Barnier
Introduction to Open SSO.

13:30
Glassfish V3 Prelude
Alexis MP
An update on the status of Glassfish.

14:15
Java FX Overview
Richard Blair, Jasper Pott, Martin Brehovsky
A condensed version of the JavaFX presentation at Devoxx, seemed that I missed a couple of points when fighting with the Wifi during the first session at Devoxx.

16:00
XWiki
Thomas Mortagne

16:30
Integration continue avec Hudson
Romain Linsolas

17:00
Fin.

Other views of Devoxx:
_ other blogs posts aggregrated on the Devoxx 08 home page: http://www.devoxx.com/display/JV08/Home
_ French blogs posts: http://blog.developpez.com/recap/java?cat=1771 and http://docs.google.com/View?docid=dhgwkxdz_49db8qb9hg

Slides:
Univertity: http://www.devoxx.com/display/JV08/University+Slides
Conference: http://www.devoxx.com/display/JV08/Conference+slides

Videos:
will be at http://parleys.com/ spread over 2009