After having breakfast at the alumni-lounch (a benefit of being alumnus, featuring better coffee, better everything), and talking to a Boeing engineer, it was time to queue up for the general session. A huge line was stretching all way through the Moscone center. The alumni-line being just as long as the line with first timers, but with the advantage that our line went in first.
The keynote was great. While entering the hall a group of breakdancers were performing their acts on stage. James Gosling, assisted by some others, shot tshirts into the crowd. The presentations were were inspiring and motivating. There was even a guest appearance of Neal Youg. The fact that a few demos didn’t work flawlessly was only of minor importance. The message of the keynote was ‘Java+you’: Java is everywhere and will make your life easier. A really interesting development is that there was little talk about Enterprise Java: most of the keynote was focussed on Java FX, mobile, embedded and desktop Java.
Hereafter the real sessions started. Christopher Oliver’s JavaFX session was an updated verfion of last years: a bit of the basics, some of the new syntax, some of the new features (keyframe animation). He’s also still the non-smiling-type…
After a quick lunch grab, I went to the ‘more effective java’ session. Joshua Bloch is a great speaker, and didn’t disappoint this time either. I’m looking forward to reading his updated version of the effective java book.
The next break between sessions was used to grab a movie ticket at the Oracle booth, before hurrying to the keynote session. This keynote showed the developments in the general Java areas. To extend the Java reach, project Hydrazine has been launched. This project aims to provide developers with services to deploy their applications or services on a wider variety of platforms and monetize them. It was already mentioned during the first keynote. The details are still sketchy, but of cause JavaFX will play a big role. The session also provided the latest status of Java EE6, GlassFish v3 and Java SE 6. For Java SE 7, the focus will be on modularity (jsr 294 and jsr 277, but also incorporating OSGi), multi-language support (already 200 languages, the new VM will add features to allow scripting languages to be easier to compile to java bytecode and be performant) and applets (fueled by the JavaFX language, so they can be looking good this time! They also allow the applet to be taken out of the page, onto the user’s desktop). Finally there are the new facilities for media playback, which were demonstrated by showing the JavaFX version of Parleys. Another impressive dcemo was the cooperation between a graphics designer and JavaFX developer; Using an Illustrater plugin the design was easily intergrated. Also impressive: the moon tank demo: a 3d sphere with shooting tanks.
After a 20 minute break (standard time, just enough to manouver through the crowds to the next session and switch your mind to the next subject) I was brought up to date with scenegraph and the new webcomponent. Scenegraph is a library for defining a scene in JavaFX, thus nodes that define what is on screen, what it looks like and how it behaves. The new webcomponent, JWebPane, seems to be a very well implemented HTML browser that supports ’street HTML’, allows some hooks (disable opening new pages etc), runs javascript and renders its components as Swing components, but is also itself a component and can therefore have effects applied to it. A demo of this where Google maps was used while the browser window was rotating was very impressive.
After waiting in a very long line, the next session, ‘Defective Java Code: Turning WTF Code into a Learning Experience’ by William Puch was again a real treat. Lots of examples of how NOT to implement software. Of cause nobody in the audience would make any of these mistakes ;-)
My final official session of today is the session by Brian Goetz: ‘Let’s Resync: What’s New for Concurrency on the Java Platform’. It discussed the features for the next Java version. The trend is towards increasing the number of cores, much more than is currently common. To make use of these, one should create more, but smaller, jobs that can be run in parallel. Some ways to approach this are divide-and-conquer (using fork-join framework) and ParallelArray (which automates fork-join decomposition, looks like an imperative fluent interface, but actually works more declaratively).
After a break that lasted only slightly longer than a regular break (30min instead of 20), which allowed for a quick outing to starbucks for caffine and a bite, the birds of a feather sessions started.
The ‘Java Platform Observability by bytecode instrumentation’ showcased BTrace, an interesting tool to instrument an application with minimal invasion. It provides an agent plus tooling (commandline and GUI) for doing so, but also allows for dynamic attachment. I’m a bit ambivalent towards the safety feature (no side effects are allowed): without it it would allow for hot-patching applications.
The ‘3-D Graphics APIs for the Java™ and JavaFX™ Platforms’ BOF described scenegraph 3D (working title). This is intended as an easy to use 3D platform that also integrates easilly with the 2D SceneGraph API. The BOF also handled the Java plugin: a strange combination that was described as the desire to have easy 3D application deployment, and indeed running 3D from an applet seems to be smooth. The demo of a port of a 3D demo to a phone was a bit unclear, but that might just be the time of day.
My last session of today was the BOF on the Sun architect certification. This certification has been on my list of things to do for some time now, and this talk provided some helpful suggestions.
Finally, at 22:20, the day is over, protecting some attendees against themselves ;-)
No Pingbacks for this post yet...
This post has 1 feedback awaiting moderation...
Personal blog on my interests.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | ||||||