Archive

Archive for the ‘JavaFX’ Category

A Shortened Visit to Devoxx 2013

November 21st, 2013 2 comments

Devoxx 2013 is most definitely and undoubtedly the best Java related conference in Europe. It stands second only to JavaOne, San Francisco, in importance in my humble opinion. I only attended the actual conference days for this year Devoxx. Elsewhere, I read that the quality of the university days were useful, in particular, Java EE, Angular JS and Scala tutorials were pretty spot on.

 

 

IMG_1134
Not quite the last supper. Actually, this photo was taken in the Eastern turkish diner upstairs in the Metropolis late after the Java Users Group BOF on Thursday night.

 

 

Java EE 7

During my three days in Antwerp, I spent a lot of time talking with fellow conference goers on Java EE 7 and where they felt the umbrella specificatgion was heading to. The enterprise edition was critical important to many engineers. I asked them if they liked the new feature set in Java EE 7, and everyone said yes with a caveat. Some people wanted more features like No-SQL support or integration to other architectures and certain messaging systems. For my limited conversations, I found the impression that JAX-RS is the probably the most important API to learn, it seems many developers have to interact with RESTful services of some type, and they tend to rely on Jersey to communicate with the client and server endpoints.  I was surprised that lots of developers do not know a lot about CDI, especially how it works and that is type safe by design, but many are already very familiar with the Spring Framework and its mode of bean configuration. Yet, they acknowledge that there were issues with configuring any dependency injection framework with just using XML configuration. I was not surprised by developers who told me personally they are still using Java EE 6, however they still wanted to know the big differences between that specification and the new Java EE 7. Engineers are genuinely encouraged by the productivity features in Java EE 7 and they think the changes were a good step in the right direction. [My clients tend to use Java EE 6 and some of them use Spring Framework to wire objects, still others rely on OSGi services and activation.] They were enthused by the Java WebSocket specification and thought that Java EE Concurrency Utilities was rather helpful. I got the feeling that the Java EE 7 adoption still has some way to go and we will see greatest benefits in 2014. One thing is for sure, I did not heard that precious word, cloud, in any of our discussions.

 

 

IMG_1039
Richard Bair and Stephen Chin hold court at the Wednesday keynote.

 

 

Lambdas

After the Wednesday Keynote, with Mark Reinhold and Brian Goetz, I had a chance to see once again the presentation of Lambda: A Peak Under The Hood. The implementation of Lambdas was pretty huge as it lends itself to efficient future improvements without tying the Java runtime to a set recipe. I think developers will see the benefits of functional programming in the 2014 as Java SE 8 is released. I believe Goetz’s talk re-emphasized Lambdas are the single most important new language feature since the introduction of generics in Java SE 5. Thankfully, Lambdas are easier to understand than the multi-variances between parameterised types on collection and the oft derided wildcard syntax.

 

 

IMG_1050
You always get a chance to meet and greet at great conferences like Devoxx. (R) Mattias Karlsson, the organiser of JFokus conference in Sweden, and (L) Tori Wieldt, who interviewed me for the Oracle Technology News, about my recently published Java EE 7 book.

 

 

IMG_1164
Eva Veenstra-Kazakov (R) holds a loft the quadcopter in the taming the drone presentation on the last session on the last day of Devoxx 2013.

 

Venkat Subramaniam had a great talk on Lambda programming, Java 8 Language Capabilities – What’s in it for you?, which you do not want missed when it appears on Parleys. The speakers talks very fast and the jokes are quick fire. He is a very entertaining speaker and a real hoot. If you want a nice positive introduction in to why we have Lambdas in JDK 8 then this talk is unmissable.

 

 

IMG_1112
I’m now officially a supporter of the Gingerbreadmen. No it is not a famous rock band, rather we talking about the next release of Android here.

 

 

IMG_1099
Venkat Subramaniam is just getting set up for his Java 8 Language talk

 

 

IMG_1054
I briefly stopped by Dierk Koenig’s session where he talking about UI Engineering.

 

 

Java Client

This year’s conference at Devoxx punctuated by the Internet of Things in big way. Stephen Chin, Oracle’s JavaOne Ambassador, together with Richard Bair, showed off the latest embedded Java ME (Mobile Edition) demonstration at the Wednesday keynote. They shipped the entire chess robotics arm table over to Belgium from sunny California, including the moulded plastic pieces, which were printed on 3D printers and then etched chemically. They demonstrated the latest possibilities of the soon-to-be-released JavaFX 8 and 3D animations. For European developers, who did not have the affordance of JavaOne, this was impressive stuff. Attendance also had a chance to see up close the chess table at the Oracle booth in the exposition area.

 

 

IMG_1120
The Java Posse Live (FL) Dick Wall and (FR) Chet Haase with Les Cast de Codeurs (L) Guillaime Laforge and (R) Emmanuel Bernard.

 

 

IMG_1103
Gerrit Grunwald at his quickie presentation on Nashorn, Raspberry Pi and Java FX 8

 

 

IMG_1060
Mark Reinhold talks about the perennial rise and growth of the effort to modularise the JVM. We will have compact profiles in Java SE 8 as a stop-gap to the proper solution.

 

 

The ARM processor in the Raspberry Pi is 25,000 slower in performance than this Mac Book Pro Retina machine and yet the GPU (Graphical Processor Unit) is capable of deliver full HD video. There was keynote demonstration showing a movie trailer written in Java and JavaFX running on the Pi board. So it is quite capable. Simon Ritter declared that the Arduino is more of microcontroller than a general purpose computer.

At this Devoxx, there was even a IOT (Internet of Things) shop available. Oracle showed their intent on embedded Java SE on the Raspberry Pi. In fact, on the Thursday afternoon, I did peak my head into the Java ME and Raspberry Pi lab 3 hour lab that Stephen Chin, Angela Caicedo and Simon Ritter were jointly running. It was well received.

Last and by no means least, Gerrit Grunwald had a short presentation on The Nashorn, Raspberry Pi and some JavaFX. Here he explained how JavaScript implementation, Nashorn, allowed for easier configuration and hotfix changes in a user interface without having to use SSH and redeploying an embedded application. Nashorn can be embedded into a Java application using the Scripting Engine for Java API.

Hot Stuff

Sadly, I did not get a chance to see any of the JavaScript talks. There was a morning and afternoon AngularJS talk on Tuesday university day, but I was travelling.

One of the most impression talks that i did see in its entirety was Remi Forax‘s What Java EE can learn from dynamic languages? Here was a thought provoke session on the issues of containers, injections and annotations. The sense of Forax’s talk postulated on an improvement of the invokedynamic construct being brought into Java EE and ultimately would require a language keyword change. Whilst getting rid of interceptors, injection points and the current way we have dependency injection in Java EE 7 might appear a great, I do not think it will be happen in the timeframe JDK 9. I believe this future stuff and whilst a nice idea, a dynamic construct would have far reaching consequences for library writers and median skilled developers unless also the tools also improve.

If you have never seen the JavaPosse Live then you do not know what you are missing. This year the show had a surprise French contingent, Guillaime LaForge and Emmanuel Bernard, who produce the audio podcast, Les Cast de Codeurs. Sadly this talk conflicted with the CDI Extensions session with Jason Porter, which I am assured was also very good for Java EE 7 developers.

Probably the most dramatic talk, appeared on the last session of the last day. Taming the Taming Drones: How Java Controls the Uprising of the Drone Force by the Eva Veenstra-Kazakov and Timon Veenstra. They wrote an embedded Java interface to Parrot A R Drone 2.0, which costs about 650 Euros to automatously flying around farms and gather essential agricultural data on the health, growth and sustenance of crops and fields. The drone was controlled by basic WIFI, and two speakers demonstrated the quad-coptor inside the session. A couple of lucky attendees even had a chance to fly the drone. The software was based on JFXtras and heavily made fabulous use of Gerrit’s gauge components.

 

 

IMG_1071
Here, Josh Sureth, of TypeSafe Inc, is talking about reactive programming in Java with examples in Scala and Play Framework

 

 

The Next Step

Everyone knows by now that Modularity for Java Runtime will be arrive in 2015-2016 with Java 9. We all have to wait until then for proper break up the JRE. The next step for Java 8 is a set of structured profiles: compact one, two, three and four, reaching just 11MB in size to the full JRE of about 56MB in Java 8. Mark Reinhold gave these figures in his talk about modularity and the JVM.
Modularity has taken so long, because the team attempted to solve the transient dependency problem, which is a very hard problem as well as divide up the JDK into parts. However, work has progressed such in that we will soon be able compose our own custom JRE and then also deliver application that only elements that we need. By Java 9 we can get rid of CORBA and we can chuck the IBM java.util.Date and hopefully, fingers crossed, java.util.Calendar implementation. Now that is a good thing.

The End

Devoxx 2013 was great and the content was up to the high levels again. This is despite that is only room for 200 speaker slot sessions and they are fiercely fought over. At this point in time, JavaOne is a bit easier to submit a presentation to. I certainly found Devoxx useful to see the progression of Java EE 7, and I actually did sign my book properly for some folk. It’s also great to come out on the other side of the needle. See you next year, 2014.

 

 

IMG_1058
James Ward speaking about webjars

 

 

IMG_1128
I’m fulfilling a regular duty at Devoxx of recording the European Java User Group Leaders BOF. I used to run the JAVAWUG from 2004 to 2010, so it has been something of a tradition.

 

 

The Shout Outs

In no particular order, here are the shout-outs of Devoxx 2013:

  • Heather Vancura
  • Amelia Eiras
  • David Blevins
  • Jacek Laskowski ‏
  • Simon Bordet
  • Ivan Stefanov
  • Roberto António Cortez‏
  • Yara Sanger
  • Victor Gamov
  • Hildeberto Mendonca‏
  • Rabea Gransberger
  • David Delabassee
  • Vinicius Senger
  • Stephan Janssen
  • Martijn Verburg
  • Dan Allen
  • António Gonçalves
  • Arun Gupta
  • Daniel Bryant
  • Agnes Crepet
  • Constantin Partac
  • Samuel Santos
  • Dominik Dorn
  • Justin Lee
  • Josh Sureth
  • Stuart Marks
  • Andres Almiray
  • Josh Suereth
  • Richard Warburton
  • Chet Haase
  • Stephen Chin
  • Dick Wall
  • Johan Vos
  • Jo Voreendecker
  • Bartosz Majsak
  • Aslak Knutsen
  • Regina Ten Bruggencate
  • Venkat Subramaniam
  • Jim Weaver
  • Gerrit Grunwald
  • Mark Reinhold
  • Brian Goetz
  • Simon Ritter
  • Tasha Carl
  • Guillaume Laforge

 

 

IMG_2519
Club Noxx and Clojure mixing jam playing all of the dance music!

 

 

IMG_2529
I am wearing the Devoxx 2013 conference wrist band.

 

 

+PP+ (;-)

 

 

JavaOne 2013 Report Part 3

October 2nd, 2013 2 comments

My name is Peter Pilgrim. I am a technical book author, a Java Champion, software developer and designer. I live in London, England.

Have you read Part 1 and Part 2? In final part, I will close up any other loosely ends to JavaOne 2013.

JavaOne

These were wallposter bills that were stuck onto the Nikko Hotel and they read, “Java the number #1 choice for enterprise developers”, “3 billion mobile phones run java”, “115 million TV devices run Java” and “9 million Java developers worldwide”.

JavaOne

This is the Sunday setup for Oracle Open World at the Moscone Center

JavaOne Duke

I had just hello at the JFrog stand behind Duke the Mascot, he came rambling around the corner so suddenly.

Professional Does It

This is how the professional photographers take their pictures with a leather body harness to hang two DSLRs with different lens. Nandini Ramani is on stage in the background and sitting quietly is Henrik Stahl.

Nandini Keynote

This is the technology Sunday keynote: Java is used everywhere piece.

Brazil 2014!

This is a small get together during the 15-20 minute break of the keynote, which was three hours long on Sunday. The people are (l) Yara Senger, Bruno Souza and (r) Andres Almiray.

Paul Bakker and Sander Mak

Another shot at the O’Reilly stand at the exhibition, where Paul Bakker and Sander Mak are book signing their OSGi book.

IMG_0451

Sunday keynote action is back on with the tee-shirt throwing. James Gosling and Sharat are pitching them to the audience. Of course, those you will remember the older JavaOne when Sun Microsystem built contraptions to chuck the shirts far and wide.

Somebody asked me what was the attendance of the conference? To be honest, I do not know exactly the answer. I do know that there were 400 sessions at JavaOne and the average size of the rooms at JavaOne varied on the higher side of 100 seats. There were also big rooms in the Hilton Hotel (the Imperial Ballrooms) and at Parc 55 (Cyrill Magnins room) where the maximum number of seats were 200 or size. Given that also some people may not bother to going conference sessions all the time, I think that it would between 3000 and 5000 attendees. I felt like much the same attendance as last year, however I am not the person who should given the answer.

Incidentally, the biggest JavaOne I ever saw was 2005, when it was Java’s tenth birthday. In that year, the corridors under Moscone Center North and South were heaving and the attendance was 25,000. Also back in the day, Oracle OpenWorld was known to take 45,000 people. As to the individual and combined figures for 2013 then people must make enquires elsewhere.

JavaOne Keynote

At the keynote break, I took this is a shot of the keynote depth, it stretched back scores of numbers of rows. You are looking at the front row executive seats reserved for Oracle employees or people involved in the keynotes.

JavaOne

This is venerable Kevin Nilsson, a fellow Java Champion and co-leader of the Silicon Valley Java User Group, and very recently a new joiner at Google in Mountain View.

JavaOne

Jasper Potts is holding the Dukepad prototype do-it-yourself tablet, which runs embedded Java and Java FX 8 on a Raspberry Pi. He is stands with(l) Mark Reinhold and (r) Richard Bair

JavaOne

During the Sunday technology keynote, Richard Bair is talking about the JavaFX 8 running on the Dukepad.

IMG_0374

Jim Weaver is helping out a Raspberry Pi challenge participant in the embedded space.

IMG_0390

At the TomiTribe party, CEO David Blevins (centre) is celebrating the launch of his new company. Thanks for the invitation!

JavaOne

The JavaOne 2013 Program Committee bit where Stephen Chin asked all of those who helped make JavaOne to stand up and be recognised.

IMG_0388

More of the TomiTribe staff party and I am actually in the shot for a change. They actually shared the duty with JElastic. You will have to ask both them as to what the division was.

JavaOne

Those Netbeans Dream Team fellows again: Sven and Alex.

IMG_0304

Here is Emmanuel Bernard at the Interceptors 1.2 talk

JavaOne

I seem to have had a strong connection with photographing Sharat Chander this year’s conference. Why? No idea. Sitting on the couch is (l) Simon Ritter and a pre-occupied Martijn Verburg (r).

IMG_0316

This was Astah UML stands and they giving out free Professional edition licenses to attendees. I can personally vouch for this little known Japanese company, because I bought Jude UML Professional in 2007 or so to do some architect design work. It was so easy to create sequence diagram, class diagrams and definitely helped with object oriented diagram. Jude UML eventually was rebranded and refactored to Astah. I used Astah community edition for some of the diagram in the Java EE 7 Developer Handbook. It is a great UML tool for Java development and block component prototyping.

IMG_0317

Hans Dockter is working the Gradleware stand. He was very busy with attendees, which is actually a very good thing as people are definitely interested in Gradle.

The shout-outs!

In no particular order:

  • Jo Voreendecker
  • Steven Lizarazo
  • Markus Eisele
  • Dan Sline
  • Dario Laverde
  • Kevin Nilsson
  • Tori Wieldt
  • Heather Vancura
  • Jose Pereda
  • Mark Heckler
  • Thomas Kruse
  • Jodi Stamm
  • Shai Almog
  • Miko Matsumura
  • Fred Simon
  • Baruch Sadogursky
  • Talip Ozturk
  • Max Bohnbel
  • Gerrit Grunwald
  • Keith Combes
  • Todd Costella
  • Linda Van Per Pal
  • Stephan Janssen
  • Regina ten Bruggencate
  • Paul Bakker
  • Sander Mak
  • Stijn Van Den Ende
  • Nicole Scott
  • Brian Goetz
  • Chris Ryan
  • Sven Reimers
  • Van Riper
  • David Blevins
  • James Ward
  • Reggie Hutchinson
  • “Rags” Srinivas
  • Ixchel Rodriguez
  • Antonio Gonclaves
  • Yara Senger
  • John Yeary
  • Marina Vatkina
  • David R. Heffelfinger
  • Sharat Chander
  • Alex Kotchev
  • Stephen Chin
  • Vinicius Yenger
  • Paul King
  • Brian Oliver
  • Regina Better
  • Matt Raible
  • Hans Dockter
  • Adam Bien
  • Stuart Marks
  • Josh Juneau
  • Martijn Verburg
  • Bruno Souza
  • Ed Burns
  • Emmanuel Bernard
  • Kirk Pepperdine
  • Ben Evans
  • Bruno Borges
  • Simon Ritter
  • Trisha Gee
  • Shin Tanimoto
  • Yoshio Terada
  • Shaun Smith

+PP+

JavaOne 2013 Report Part 2

October 1st, 2013 6 comments

My name is Peter Pilgrim. I am a technical book author, a Java Champion, software developer and designer. I live in London, England.

In part one, I was said that I was surprised by the diversity of crossover technologies in the Java space. Naturally, it has to do with my chosen schedule that belies the topics that I caught my eye. JavaOne participants were strongly recommended to use the Schedule Builder to register for talks. As if to prove a point, as a speaker I registered on talks with just a week to go before the event. I noticed that certain sessions were already full and these included the hot topics on WebSocket and RESTful services in the Java EE spaces, and Lambdas. Even though I personally did not attend this year, anything to do with garbage collection and memory allocation were also full sessions.

Venkat Subramanian
Venkat Subramanian at JVM Languages and Java Integration.

How not to miss out on a technical session?

My own session, Test Driven Development with Java EE, started off with 84 people about 10 days to go, then a couple of days later, it had 125 days and then eventually on the day reached the fire control limit of 160 pre-registrations. I mention fire safety control because I got caught up in a nice hallway conversation and then arrived late to one of Venkat Subramanian‘s talks and the badge scanning people blocked the late arrivers from entry. They don’t permit entry when the maximum room capacity is reached, which is all the seating capacity and maybe 10 people physically standing in the back of the room. The scene did not operate like a nightclub either: the one-out, one-in principle, because they do not know whether the attendee is just going out to return in order to get a coffee or take a leak. So if you want to get the best of learning of JavaOne, it reads like Jimi Hendrix, don’t be late! [see lyrics to song: Purple Haze, 1966]

My sessions pre-registered were:

Subject Start Date
UGF9871  —  GlassFish Community: The Foundation for Opportunity 9/22/13
KEY11050  —  Java Strategy and Technical Keynotes 9/22/13
UGF10339  —  Cool NetBeans Tips and Tricks for JavaFX Development 9/22/13
CON7859  —  The Road to Lambda 9/23/13
CON2176  —  Use the Force, Luke or Tips and Tricks for Using the Capabilities of JavaFX 9/23/13
CON2229  —  Architecting Enterprise JavaFX 8 Applications 9/23/13
CON2231  —  Demystifying Java EE 9/23/13
CON4456  —  Coding Java EE 7: Making Easy Even Easier 9/23/13
BOF2887  —  Java Persistence for NoSQL 9/23/13
BOF7857  —  Using MongoDB in a Java Enterprise Application 9/23/13
CON2488  —  Web Fundamentals 9/24/13
CON7941  —  Lambda: A Peek Under the Hood 9/24/13
CON7771  —  Nuts and Bolts of Java EE 7 Interceptors 9/24/13
CON2780  —  OpenJFX: State of the Union 9/24/13
CON4510  —  Fifty New Features of Java EE 7 in 50 Minutes 9/24/13
BOF5802  —  No Guts, No Glory! A Deep Dive into the Internals of JavaFX 9/24/13
BOF2893  —  Building Small Languages with Scala Parser Combinators 9/24/13
BOF7796  —  GlassFish Community BOF 9/24/13
CON4279  —  Test-Driven Development with Java EE 7, Arquillian, and CDI Containers 9/25/13
CON2258  —  Of Raspberries, Dolphins, and Chickens: Visualizing Embedded Data with JavaFX 9/25/13
CON5389  —  Groovy DSLs: Beginner to Expert 9/25/13
CON3496  —  Come and Play! with Java EE 7 9/25/13
CON2959  —  Modular JavaScript 9/25/13
CON5723  —  CSS Gold Nuggets 9/25/13
KEY11027  —  Java Community Keynote 9/26/13
CON2079  —  Designing with Lambda Expressions in Java 9/26/13
CON2494  —  Be Creative and Create Your Own JavaFX 8 Controls 9/26/13
CON2406  —  Java EE 8 and Beyond 9/26/13

*Note: at the last minute, for some of these pre-registered session, when it came to the time, I changed my technical session or bailed halfway through and went another close by.

Guillaume Laforge Winner
Guillaume Laforge wins the Scripting Bowl 2013!

Scripting Bowl

Scripting Language Bowl 2013: (L-to-R) Dick Wall, Stuart Halloway, Jim Laskey and Guillaume Laforge.

Scripting Bowl

I returned to  the Scripting Language Bowl session after a few years. There were some fascinating demonstrations, which were prepared of these languages. Dick Wall demonstrated the Typesafe Activator. Unfortunately he chose a netbook PC to show off the type classes and Scala compilation features. He did have an amusing code sample with type traits featuring Texan and Californian laws about who and what can get married together. The Clojure example from Stuart Halloway showed off immutable and data storage access with Datomic product. Jim Laskey demonstrated a fascinating JavaScript game example and Guillaume Laforge showed off GroovyFX with some JavaFX 3D. Guillaume LaForge was crowned the 2013 winner.

NAO Robots

This is the fellow that took a photo of me in front of the NAO robots on the exhibition floor.

Embedded Challenge

Hidden away from the main conference on the fourth floor of the Hilton Hotel, a challenge was afoot. Oracle organised an Embedded Java Development Challenge on the Raspberry Pi. There was certainly a lot of engineering going on secluded from the beaten path. I spent about 35 minutes only in the room and yet it was a hive of activity. Developer hooked up various Raspberry Pi devices and had consultation with a mentor into projects. Projects varied from monitoring temperature in a room to analysing blood sugar. One person brought a complete home automation system to the conference to demonstrate the Java ME 8 and Raspian Pi integration.

Embedded Challenge 1

Embedded developer guys: Mark Heckler (standing) and José Perada (r). The real organiser of the embedded is in profile (l) Vinicius Senger. In the background is the Max Bonhbel hanging around and reading the postcards on the storyboard. Each postcard was a proposal or task suggestion.

Embedded Developers 2

Embedded developers 2

Embedded Developers 3

Embedded developers 3: these Brazilian fellows were hacking the home automation system.

Embedded Developer 4

Embedded developers 4 Bruno Borges is supplying advice and listening to queries.

Embedded Developer 5

Embedded developers 5 (Yara Senger, the organiser and one of the facilitators, is at the back is looking forwards). The red and white box contraption is a popcorn maker machine. If you look closely you can see the jar of popcorn seeds next to the green screwdriver, and yes I think they did attempt to connect one up to a Pi! I’m unclear about the roll of wire of plastic in the bottom right of the photo, whether it was for a 3D printer or not.

If Oracle run the embedded workshop again next year at JavaOne, then be sure to sign up. I think even though I was briefly, ever so, there that the challenge was successful. You should bring your own version of the Dukepad, and hook it up to something really special.

At the Thursday keynote, Oracle said that they signed an OEM agreement with the Raspberry Pi Foundation to deliver Java with Raspberry Pi.

Exhibition

The exhibition was a tremendous success this year, because the organisers added one special trick to the JavaOne schedule. For the Monday, Tuesday and Wednesday of the conference, between the hours of 2pm and 3pm there were no conference sessions. This meant that developers had a chance to visit the exhibitors every day. One small hiccup I saw and witnessed was the food and beverages that were laid, because I am English, I shall, early tea time. Yes the American style hors d’oeuvres were rather biscuits, cookies and crisps, however much to chagrin of exhibitors and delegates, the catering staff whisked all of the coffee, tea and food away on the dot of three o’clock.

There were some nice people and the usual favourites on the floor: Red Hat, JFrog, ZeroTurnaround and Gradleware. Of course Oracle had a whole area dedicated to demonstrations, which is a lot smaller than the huge Sun Microsystem stands from yesterday. Even IBM was a just regular stand on this occasion. I spent time at the PluralSight stand and learnt about their online education course offerings. I met David Blevins there as the new CEO of a company called TomiTribe, which is now a software support model around his project, TomEE. Actually, TomiTribe was sharing exhibition space with JElastic, which is the PaaS cloud provider company that Liquid Robotics and James Gosling uses for the oceanographic robots.

O’Reilly bookstore had a stand at JavaOne, and they also had book signed with author, who were at the conference, like Paul Bakker. Sander Mak was his buddy in support.

Book signing

Paul Bakker (l) with support from Sander Mak (r) during his OSGi Java book signing at the O’Reilly stand. The modularity book was written by Paul Bakker and Bert Ertman. Look closely at how the queue is long and extends behind to the next exhibitor.

It was great to bump into Fred Simon again from seeing him last at the JavaPosse Roundup in Colorado. JFrog won a Duke award again. Congratulations!

Bintray wins Duke award

Israel’s JFrog wins yet another salubrious Duke award; Fred Simon (l) with Baruch Sadogursky (r) is holding the prize Java mascot.

Arun Gupta signs his books at the JCP

Arun Gupta signs his Java EE 7 book at the JCP party.

More Enterprise

Arun and Antonio
Arun Gupta and Antonio Gonclaves at their joint session: 50 New Features in Java EE 7.

Java EE 7 had lot of talks, and one of them was pretty ambitious. Arun Gupta and Antonio Gonclaves had a session called 50 New Features in 50 Minutes, which was a very nice idea. I was there on the day, they managed to get 42 slides before they were told to quit. Apart from the delays there was some new features in Java EE 7 that fixed obscure bugs in the platform. The order of specifying interceptors through annotations is one of them.

On Thursday, I went to last conference session of the JavaOne, which was Java EE 8 and Beyond. The session was a panel of five famous folk: Cameron Purdy (Oracle), David Blevins (TomiTribe), Mark Little (Red Hat), Brian Martin (IBM), Scott Yara (Pivotal) and Antonio Gonclaves (Individual). Also in attendance was Arun Gupta and Ed Burns. For the record, the moderator of the panel was Mike Keith (Oracle).

I asked a question of the panel about the standardisation of Cloud PaaS services, they opine that Java EE 8 should probably look at a less goal first, being able to provision services, starting and stop servers and administrative resources. It was clear that they felt Java EE 8 should be focus on adding support for DevOps. There were other questions, one attendee asked about JavaServer Faces templates using as separate API. Other questions, were around idea feature that the panel would definitely like to see in Java EE 8. Antonio Gonclaves wanted a logging API and the audience roared with laughter. It is ironic that logging does not be a API standard, when we have to contend with Log4J, SL4F and Commons Logging. There was a question on the role of EJBs, and whether eventually they should be phased out. Blevins was off the opinion, that EJBs can be considered a special case of CDI beans, from the implementation standpoint. He thought that the @Stereotype annotation could be extended and therefore the existing @Stateless and @Stateful could retrofitted as stereotypes. The basic idea @Stateless would have reference to @Transactional, @Asynchronous, etc. Still one other panelist thought maybe it is time for renaming Enterprise Java Beans, because of their history to something else entirely, such a service entry or endpoint.

We shall how see Pivotal and SpringSource get involved with the JCP and the Java EE 8 specifications. The audience witnessed some of the uncertainty of SpringSource and the expert group. Antonio Gonclaves particularly was scathing, “if Spring never embraces CDI then it won’t be Java EE, because CDI is getting more in grain with EE.” I sympathise with some of this view as the Java EE 7 specification stands exactly now. With Pivotal taking a renew interest in the JCP, we may see a different outlook in the next year. Scott Yara said, “Pivotal were building database engines before NoSQL and Hadoop ,nobody was interested. They wanted open source scalability.” and he also had more positive outlook for future endeavours, “Spring is really supportive of Java EE specification.”

Keynote

Thursday keynote summary:

  • Oracle signed an OEM deal with Raspberry Pi Foundation to supply embedded Java
  • Lambdas specification Java 8 is going to be evolve the entire platform forward. Java, the mother language of the JVM, has extended life with the functional interfaces.
  • Internet of Things is now on cusp of being something larger, especially with mobile Java 8 platform
  • Duke award winner, Devoxx4kids, is part of a wave of education for children and also for allowing girls to start a career in IT. 35-45% of Devoxx4Kids participants have been girls.
  • James Gosling demonstrated live connection to Liquid Robotics devices, which show cased the Java platform on embedded through to enterprise.

Stephen Chin JavaFX Robotics

At the community keynote, Stephen Chin demonstrates embedded Java ME 8 with robotics. In the picture you can see LEGO mindstorm creations of the Java duke mascot and an working R2D2, which was later stolen from his motorcycle, sadly.

Devoxx 4 Kids

Stephan Janssen is on stage with Henrik Stahl discussing the award-winning Devoxx 4 Kids project.

Embedded Developer 6

Here is the face of Vinicius Senger, finally, who truly was responsible for the embedded challenge.

IMG_0367

Dario Laverde of the New York City JUG and New York City Google Developer Group is wearing his Google Glass. He also had a project to integrate Google Glass with Java ME 8 and Raspberry Pi.

The General Consensus

I have the feeling that this JavaOne 2013 was the best conference since Oracle co-located the 2010 version with OpenWorld. It was very good for technical content and there was lots of diverse content of interest to a spread of many people. Of course, I did not go to the security track, which was very new. I spoke to one guy, who said it sometimes excellent, but on other session it was so-so, the speaker spoke about his or her company marketing product. Of the sessions that I attended, I almost saw all of the pre-registered list. I admit that I changed some sessions at the very last minute. For example, I went to the Parleys session on JavaScript modules instead of the pre-registered JavaFX talk at 3pm on Monday.

The big take away is to get your into Lambdas and functional programming in Java.

Server side JavaScript is now viable contender for executing on the JVM properly with the Avatar project and Nashorn.

Developers are very serious about JAX-RS providers and solutions. They are sort of interested in WebSocket and the protocol is for early adopters only at this point.

Client side JavaScript is very important for practising Java developer, especially working HTML5, JSF or other templating technology. It worth studying JavaScript frameworks beyond JQuery for dependency injection. In conjunction with JavaScript, developers should study CSS techniques.

JavaFX is still chugging it way through. JavaFX 8 shows great promise with the 3D graphics nodes and yet it will require some exciting use cases in order to show off the abilities. Oracle will not deliver a port to iOS or to Android, however they have almost open sourced the entire code base and therefore individuals and companies may want to take over this effort.

John Yeary and Sharat

John Yeary (l) and Sharat Chandler (r) are having a quiet word. Sorry to have interrupted your delicate conversations, fellows, and thanks for your courtesy.

Groovy Connections

Here is a Groovy Connection: Java Champion Andres Almary (L) stands with Oracle’s Sharat Chandler and Andres’s partner (R) Ixchel Ruiz.

IMG_0307

This is the Interceptors 1.2 (JSR 318) session with (l) Marina Vatkina, who was responsible for JSR and Emmanuel Bernard (r) of the Bean Validation 1.1 specification.

JavaOne

The Buzz House Cafe fire, which everybody grew to love very much. San Francisco can be quite chilly in the evenings especially if you go out in the morning with just a tee-shirt.

Aditya Gupta and Minecraft demos

A 10 year old Aditya Gupta (son of Arun) is demonstrating TNT explosions, which he created on the Minecraft Java platform.

James Gosling at the Community Keynote

Here is James Gosling at the Thursday community keynote talking about the Liquid Robotics out in the pacific. He actually managed to get a live video stream to one of these robots in the ocean, which was quite frankly outstanding. James Gosling also pointed out the weakness of HTML5 and CSS current standards to handle 3D graphics and map visualisation and said that JavaFX 3D can handle it well. He also announced that Liquid Robotics will be open sourcing a Map component in the near future, once it had gone through the necessary legal channels. The map component is a better-than Google Earth and it uses the Open Street Map specification and implementation. I think this be of certain interest to many industrial sectors, businesses and individuals who need a mapping solution that works with JavaFX.

JavaOne

The end of yet another conference day with this view outside Moscone Center West across the street.

+PP+

JavaOne 2013 Report Part 1

September 30th, 2013 2 comments

JavaOne 2013 already feels like a lifetime away. There is a melancholy in the wind as I sit in a rental car driving out from San Francisco airport. I started to write this report on checkout-of-hotel Friday morning. My memory is blur with the activities of the week, suffice to say that this conference has been the most diverse of the Oracle JavaOne conference that I can remember. Of course, the most important track for me was Java EE, because of the book. I delved into JavaFX sessions, and a few lot of JavaScript session incredibly relevant to my contracting work. There were also the obligatory Java JDK 8 talks and maybe just one Scala session.

Oracle's Chess Java ME Robot

Part of Oracle’s keynote demonstration across the platform editions from mobile to enterprise: here is the Java ME 8 with the chess playing robot.

Work, technology, training and people

Let me repeat myself for the umpteenth time, I am very sorry to my regular readers, for this next section of prose. Please skip ahead if you feel the need.

I feel like I am back in secondary school sitting in a half-hour detention as that mischievous thirteen year old child again and I have to write this; I goto technology conferences, because:

  • Many times, I win acceptance on a proposal or two to present at the conference. Therefore I am a speaker and I attend the conference.
  • I want to learn about the next step in a particular technology that I am interested in for professional and/or enthusiasm reasons.
  • I meet people at the conference who share the same ideas and thoughts on technology.
  • Every once in awhile, at a conference, I learn about a new direction or the beneficial technology in order to progress my career.
  • Increasingly, I contribute answers back to new people who ask me questions. I am finding my role reversing slowly but surely, as IT experience does pay off in the long-term.

Where in the above bulleted list, are any notions about wasting time, idling of thumbs, or any hint of unworthiness? Conferences are there to help developers, designers and architects progress forward, move that technology vector in the correct direction, or help those of choose where to target next. Conference help improve knowledge share beyond the confines of corporate walls and into the wider world of community. Conferences are about individuals in a vulnerable learning mode (*this is education 101). If you really think that conferences are all about late parties, eating delicious food and drinking beer, sipping fine wines, alcohol and collecting tee-shirts and freebies, then you must be living on a cloud nine. At least for the good speakers, it is tremendous work to prepare materials, slide decks and coding demos. I can assure you that it is never the Carry-On Pathé saucy movie mixed with the British idiomatic having a good time. In fact, it’s bloody hard work. Conference participants are those who do not know the technology inside and out, and that is why they are there, to get good. It seems like a duh reason, but really it is so simple: learning, learning, and learning. So please Mr. Management don’t scandalise your direct reports by stifling their learning and self-improvement with your outmoded and prejudiced viewpoints of modern IT business. Oh by the way contractors also are learning and in the same vulnerable mode. As contractors if we are not continuously learning then we may as well stop being contractors right here, right now. My rant is over, let’s get back on track with this JavaOne 2013 Report.

It’s about humanity: human after all

I am stealing a phrase from the title of a Daft Punk album: Human After All. Here are some photographs of these people:

JavaOne

The Belgian connection: Far right Jo Voreendecker (Devoxx.be), far left: Stijn Van Den Ende (Devoxx.be)

JavaOne

The Sunday opening JavaOne keynote took place back at the familiar Moscone Center for the first time since 2009!

JavaOne

I am sitting next to two Very Important People in Oracle Java. Left is Cameron Purdy who is responsible for Java EE products, VP of development and in the centre is Nandini Ramani, VP of engineering, Java client and mobile platforms.

JavaOne

This is Stephen Chin, the Nighthacking guy, the JavaOne conference chairperson. He is ultimately responsible for the programme content!

JavaOne

This is Adam Bien after one of his four sessions. I think this was Demystifying Java EE.

IMG_0284

This is Ms OTN herself, Tori Wieldt, and the owner of the Twitter handle @java. I believe it was taken at the JCP Evening event.

IMG_0396

Here are the Java EE 7 book authors at JavaOne 2013: (L to R) Josh Juneau, Max Bohnbel (standing in), Josh’s friend,  Antonio Gonclaves and myself. (I am actually holding a different Packt Pub book here: The Gradle book.) Arun Gupta is taking the photograph with my camera that is why he is not pictured. We are standing in the Digital Guru bookstore at JavaOne 2013, Hilton Hotel.

Java EE 7 book authors at Java One 2013

Here is Arun Gupta in the rightful photo of the official Java EE 7 book authors at JavaOne 2013. (L to R): Josh Juneau, Arun Gupta, Antonio Gonclaves and, of course, yours truly.

The developer handbook

Let’s begin with the Developer Handbook. I am really happy about crossing the finish line: I am now a published technical author  and the subject matter is terrific, it couldn’t be better and relevant to my career. Java EE is my day job and enterprise Java in its many forms with or without EJB, Spring Framework,whether it is in a so-called lightweight Java EE or a WebSphere application server 7 is my bread and butter.

The Java EE 7 Developer Handbook was printed on Friday 20th, September 2013, whilst I was on a transatlantic jet  flying 39,000 feet over Greenland. The book is published and is out now! Sadly, the first printed books never made it to San Francisco. I personally would have loved to sign them at the Oracle bookstore. Ultimately, I take full responsibility for this failure, because I am the main content writer. There is no book with the author writing it. Despite my best intentions and an urgent final push to deliver the book to the JavaOne, the mess of internal communications caused us, Packt Pub and myself, to fail in this endeavour. Therefore I apologise to you the readers who were waiting patiently after the announcement. I shall say publicly that the Digital Guru bookstore and Oracle are themselves excused from any fault there.

I know that some of you have already bought my book. Hopefully, I can sign it for you in person at the next conference opportunity. At that moment, it looks like Devoxx 2013 Belgium, although at the time of writing, my attendance is subject to confirmation. The book is available in print from Barnes and NobleAmazon UK and Amazon USA, and is available on Kindle and directly from Packt Pub. By the way, you can try the sample chapter 10 about Bean Validation 1.1.

Antonio Gonclaves signs his books

Antonio Gonclaves signs copies of his Java EE 7 book at the JCP Sunday meeting. (He is a lucky devil!)

Community Sunday

The exclusive Sunday Brunch in the Hilton hotel with Oracle was great to meet up with other Java leaders and community folk. The announcements were less exclusive this year in comparison to 2011, when I was really worried about the future of JavaFX, moving 1.3 to 2.0. I think at the brunch some leaders were explicitly asking about Nashorn and embedded mobile environments, the eventual unification of Java SE with that Java ME. It is Oracle’s intention to achieve unification of SE and ME post the Java SE 8 release for desktop.

JavaOne

The fire at the Buzz Cafe on the closed-off Mason street.

Lambdas

Lambdas had the attention of lots of JavaOne attendees. There were full sessions on Brian Goetz‘s introduction into Lambdas in the upcoming JDK 8. This should not surprise anyone, as I said in the piece about conference education, there is a void in knowledge about functional programming in the Java language, and attendees want to comprehend and become accustomed to the next breaking wave: Lambdas.

Even I, yes me, a Java Champion had a false thought about Lambdas before I attended JavaOne 2013. Originally, I thought that Lambdas would mean tons of porting and upgrade work for existing library writers. In fact, Lambdas will be backwards compatible with many libraries. Certainly, library will add direct Lambda compatible over time, and there is really no rush. The Java compiler performs functional interface conversion between the types. Brian Goetz made it absolutely clear that there is no new function type in Java 8 and therefore there is no radical revamp of the Java type system. In other words, the compiler will do as much work as it can, to get the correct result. Sometimes, the compiler can’t infer argument types and/or the return type of a functional interface. It needs persuasion by declaring explicit parameter types or a casting the result type of the functional block.

IMG_0295

Brian Goetz strikes a pose during his Road to Lambdas session

Later in the week, there are another session, Lambda: A Peek Under Hood also with Brian Goetz. I was surprised to learn that the JDK 8 implementation is unoptimized and yet already achieved 10 to 20 performance compared to traditional inner classes. Peeking under the hood of Lambda, entailed learning about workings of inner classes, finding out why they were not a favourite with the team. Why they could have locked in the Lambda implementation forever and thus making it difficult to adapt and maintain with any future innovations. The current JDK 8 implementations uses of invokedynamic calls, which cleverly avoids hardwiring in the Lambda implementation to a specific strategy. Invokedynamic calls implies the optimisation of lazy loading of Lambdas much like a factory design pattern shared between the JVM and the [Java] language runtime.
IMG_0327

I gave up my Canon EOS 700D camera to the one of Nao Guys, who took this picture in the exhibition hall.

Java enterprise and crossover

In the summer, Java EE 7 was released and at JavaOne plenty of sessions were devoted to it. The most popular sessions included RESTful services and WebSocket, and HTML5 integration. I was surprised at the extent of crossover in the Java EE track. At James Ward’s Web Fundamental sessions, discussions were over the essential HTTP GET and RESPONSE interaction. I suspect that the audience for this was half and half. Some people there understood the HTTP principles and therefore encountered them at work, maybe in a JavaScript framework, using AJAX and the other half really did not know anything practical about raw HTTP interaction. So it was a good session for those new people.

Amongst the traditional Java EE sessions, Adam Bien had a great one about Demystifying Java EE headaches and myths. He did well to demonstrate the so-called heaviness of a EJB, the stateless session variety, as a fantasy by throwing a deliberate exception and then invited the audience to inspect the stack trace. I wished that I had thought about that one as an explanation, instead of the word prose in my book. The stack trace showed that there only four indirection calls, which is nothing to the Hotspot JVM, especially once it accelerates the invocations by aggressive inlining. In fact, Adam had a run of four sessions at JavaOne, which even he said to me in conversation that it was a surprise for all acceptances.

Oracle demo Java ME 8 robot arm (again)

Another angle on the keynote demo: Java ME 8 running on an embedded platform controlling this robot arm.

I went along to a fully attended BOF on Monday night that actually could have been a technical session: Java Persistence for NoSQL. The stupid thing was that NoSQL is area of Java EE that potentially requires standardisation and more input from open source projects and vendors. The audience were probably expecting a solution for Java EE and NoSQL. The BOF was chaired by Shaun Smith of EclipseLink, Oracle and he noted there is experimental support for MongoDB and other NoSql storage and this was bleeding edge EclipseLink. It is not ready for production. This BOF actually needed the real vendors and people who know the inside-and-out of the key values databases to be available. It is worth noting that Pivotal’s Spring Data project addresses this area. I decided that more experts were required, so I bailed it halfway through.

I skipped briefly into Emmanuel Bernard and Marina Vatkina’s Nuts and Bolts of Java EE Interceptors talk. This was a condensation of the specification and the reason why Interceptors were stripped out JAX-RS and CDI into their own JSR. This was revision subject matter for me, obviously, being a Java EE 7 book author! However, it was very good to see their interpretation of the specification including declarative transactions for CDI beans, for the very first time. I think there was guy there that did not understand the specification on initialisation callbacks, @PostConstruct and @PreDestroy are not permitted to throw exceptions, yet he kept asking for resolution on it. Sometimes there will be students who attempt to jump two chapters ahead of the subject, but they need to step back and learn the basics of containers and lifecycle. Sadly, I had skipped out of this talk and I missed my chance to ask a question about CDI extensions and interceptors.

JavaOne

Java Champions reserved seating at the Sunday evening Keynote.

"Rags" chairs the Scripting Bowl 2013

“Rags” (Raghavan Srinivas) ex Sun Microsystem and now of Rackspace chairs the scripting language bowl 2013. The Far left representing Scala is Dick Wall. On the furthest right and obscured by the podium is Guilliame La Forge representing Groovy and Groovy won the title. In the middle left is Stuart halloway representing Clojure and next to his left is Jim Laskey representing Nashorn (JavaScript)

JavaFX

Here is the JavaFX update. It looking still great after I dropped it completely this year in order to write and finish the Java EE 7 Developer Handbook. JavaFX 8 is in good hands under Richard Bair, Kevin Rushford and Jasper Potts. It is almost completely open source, the tricky remaining part is the media components and modules and that is expected to be released in the first few months of 2014.

Gerrit Grunwald, as you know, or rather many of you do know, is heavily involved in JavaFX components on the desktop. His work is found in the JFXTras.org project. I attended his talk called Use The Force, Luke.,which he gave a very prescriptive advice on how to write JavaFX components using CSS support instead of graphic nodes. The key advice is rely on CSS to draw gradients, shapes and regions in order to reduce the number of graphics nodes. His advice was really relevant to embedded JavaFX development on the Raspberry Pi. Gerrit also showed some excellent examples of writing to the JavaFX Canvas using the ImageWriter and still there were graphic designer notes for the willing apprentice.  By the way, Gerrit said that he has fallen in love with Lambdas as he has been recently developing with the JDK 8 preview on the Pi, which of course has Lambdas in preview. Here is another instance of the crossover pollination, and also a nice nod of the head to web technology. If you understand CSS 2 then you can probably follow along with the JavaFX CSS extensions, pay particular attention to the Scalable Vector Graphics paths and how it is so simple to define a shape using Adobe Illustrator or InkScape and get it imported into a CSS file.

After his talk, I did ask Gerrit about his thoughts on JavaFX 3D and he said that really he has no need for it at the moment. He also gave his opinion on Skeuomorphism versus flat-level design, and Gerrit said that the new interest (rad or fad) in flat-level design is impractical for his clients in the engineering industry. “They want see controls that look like real dials, input and outputs on an industrial control panel. If they were  flat then it wouldn’t work.”

Text cannot do Gerrit Grunwald presentation full justice, when you get a chance, go and see it visually on Parleys. I believe these talks will be published about two weeks after JavaOne, online.

Gerrit Grunwald

Here is Gerrit Grunwald giving me [us?] the +1 sign.

I attended the JavaFX State of the Uniont talk, which was all about the open source project OpenJFX, which is now part of the OpenJDK effort. Richard Bair and Stephen Northover discussed the various modules of the OpenJFX project and how it was put together as an architecture. The media modules will be released as open source later as I said at the head of the section.

They confirmed for me, at least, that the OpenJFX project in mercurial is the development basis for JavaFX 8. Oracle take this HEAD version and for JavaFX 8 Runtime add some proprietary closed source bits and bots. For the most part, OpenJFX project is the core source code. Northover explained how the team has fought the various issues porting Ant to Gradle over the past 9 months or so. There was also fair amount of description and architectural diagrams over the Prism/Glass interface. This talk was usefully for the strongest coffee drinker hacker, who wants to port JavaFX to a new CPU tool chain and operating system. (I am looking at you the hard-core iOS developer with Objective C and OpenGL knowledge, which I certainly do not possess at this point.) If you seriously about the internals of OpenJFX this presentation is worth also checking out on Parleys as soon as humanly possible. Richard Bair went over the governing rights issues to becoming a JavaFX committer, it takes dedication, patching of code and a mentor to guide anybody who wants to achieve this accolade. It is a pity that many recent OpenJFX new committers could not be at JavaOne in person, because I’d dearly love to hear their views on the open sourcing of JavaFX.

I partially jumped into JavaFX 3D talk with Kevin Rushford and Peter Chien. I think this was a simple update on last’s year discussion. In JavaFX 8 we know have movable cameras, the camera itself is a node and therefore it is easy to manipulative. The new stuff is the support for reading 3D graphics files, especially from the popular Maya, Collada and Blender formats. At the moment, JavaFX 3D supports Phong shading only. These guy did say JavaFX 3D is not functionally equivalent to Java 3D in the 8.0 time format. For instance, the picking support is not good enough, they said and also they want to allow the developers to control 3D normals. (My goodness! We are totally inside crossover with 3D knowledge if you have managed to read everything up to this point! Normals are from 2d/3d transformation and mathematics; they are cross vector products of two (or three) perpendicular vectors in space. We are quite a long way from Java EE 7 here! It is the nature of the technology beast, and some will say, the flipping belly of the tech-beast ;-)

At some point I want to try out this JavaFX 3D myself. I keep meaning to write this 3D space game in my head, and hopefully I will not be 65 years old before I attempt it.

James Ward

James Ward talks to participants about Web Fundamentals or maybe it was the Play Framework

JavaScript

The final crossover technology is JavaScript. I think this year at JavaOne, we have serious intentions around JavaScript technology and not just because there is runtime in Java available, Nashorn (NAZ-HORN). This software is now open sourced and available in the Avatar project. This was the big JavaScript announcement at JavaOne 2013. Nashorn is a JVM competitor to Node.js, except that Avatar is based on Java EE technology, because it uses an application server and the Nashorn runtime to execute JavaScript. I think this has incredible permutations for experimentation. For the first time ever, JavaScript developers on the server side have access to proper byte-code optimising generative virtual machine with proven salt. The JVM as we know is behind Twitter, J P Morgan Chase Manhattan, Morgan Stanley investment banks and so many other places on the server side. The ability of JavaScript to directly interact with EJB and CDI beans could be profound.

On the other side of this coin, JavaScript programming is now serious business on the client side. I went to the Parleys talk and it was all about JavaScript libraries, client side UI displays and HTML5 enabling technologies. Jo Voreendecker and Stephen Janssen were talking about Parleys in 2009 and I believe I was at that talk as well, when the technology baseline was Adobe Flex and Air, and they were possibly thinking about writing a JavaFX version 1.0. Well this is 2013 ladies and gentlemen, the Parleys HTML5 JavaScript platform is a true demonstration of what is really possible with HTML5 and JavaScript, playing streaming videos, and recording marker segments in audio. What? Come on! You other people are talking loud and saying nothing. The two Parley guys talked about RequireJS as a dependency injection framework module for JavaScript. The other APIs were Handlebars, Modernizer and of course JQuery. I think they even talked about AngularJS at some point, but I cannot remember exactly.

There was one other JavaScript session that I attended, but you will have to wait until Part 2.

The Parleys Guys

These are the Parleys guys: (L) Jo Voreendecker and (R) Stephan Janssen

Ladies of the Oracle demoground

This is a photo of the Demogrounds staff at the Oracle stand. Is it a coincidence that they are all ladies?

NetBeans Dream Team

Here I am starting with the NetBeans Dream guys and the Bruno Borges (far R), I am almost blocking the face of José Pereda  (R). NetBeans Dream team members are  Sven Reimers (far L) and Alex Kotchev (near L).

JavaOne

I think these are Java speakers and representations from Japan. I believe they were presenting Java EE and GlassFish project on the Sunday. Sadly, I don’t remember their full names. These fellows are (l) Yoshio Terada and  (r) Shin Tanimato. Terado is an Oracle employee, works on GlassFish and held a session on JavaEE, CON10982. Tanimoto is a Japanese speaker on the right with the short beard. He is  a GlassFish and Java EE application fixer and he held a session on Java troubleshooting, BOF7862. [Thanks Guys ;-) ]
JavaOne

This is the Oracle tent in Yuerba Buena gardens.

I will leave you in interested quote. Jack Dempsey said, “A Champion is someone who gets up when I they can’t.”

This Peter Pilgrim reporting from JavaOne 2013

+PP+

Devoxx 2012 Report: The State of the Expansion

November 19th, 2012 Comments off

Devoxx 2012: Bam!

IMG_1435
Stephen Chin rode into the Wednesday morning Keynote with his NightHacking.com motorbike. It was an exciting start to the conference days!

They say that change is inevitable and you cannot never ever truly predict exactly what will happen in the future. This is common knowledge. Perhaps, the only way we can be sure of the trends, initiatives and the arrow of time, is to take a sampling of the product and the mood at frequent points in time. Measure more often and frequently.

This is one for me the whole point of going to conferences. Beyond a laugh and joke with people you know; there is a serious business of finding out exactly what is interesting people, what is the latest technology and asking what else do I have to learn?

Devoxx UK

The biggest news from my point of view is that they gone and announced Devoxx UK. Yes, that is correct. After the successful launch of Devoxx France, a couple of members of the London Java Community wanted to push ahead with the London version. The main  positive for the London IT developer is that  they do not take the Eurostar or fly; and they can get to see a version of the Antwerp conference with, I presume, the high standard of technical content; and it will be on their own doorstep.

The fly on the ointment for me in the marketing so far, which I can see, is the slight political situation in Great Britain. We have at the moment, a disunited kingdom currently where Wales and Scotland are pressing for devolution of the central government and local council controls; and so in the branding of Devoxx UK the organizers should be careful.  In other words, the conference should take care of the sensibilities and sensitivities of all the British citizens. Personally, being a person of Black Afro-Carribean origin, and also being a rare example of a person who is an experienced software developer in the London information technology industry,  I will advise maximum inclusive and openness in the out-going messages.

Generally, I see great advantages in Devoxx UK for people near and around London, because I have just checked my full travel costs to California; and whilst I do not regret going to and speaking at the JavaOne conference, let us just say the San Francisco hotel costs were expensive. It is for good name of JavaOne, being the Mecca for the world-wide Java development, that I could do it.

With Devoxx UK on our doorstep, for fellow Brits, the cost is significantly reduced especially for the young and old, the unwaged, and any other soul struggling to keep a straight face with their monthly bank balance. Even for folk, who want to travel down from Scotland or make their trip from up North [Northern England; City of Liverpool, Manchester, Sheffield, Leeds, Newcastle, etc] or across the Irish Sea, the cost for people living in the UK should be cheaper and easier to travel to. I also believe Devoxx UK should be cost effective for contractors to take a couple of days of work for self-funded training. So I will keep my fingers crossed for the success Devoxx UK.

IMG_1485
Adam Bien, last session of the conference, Java EE Patterns Revisited: a great talk!

Apple iOS

The conference was also a watershed for myself to embrace Apple iOS programming, thanks to Michael Segher’s excellent university talk and hands-on-lab on the Monday. This is the bonus that taking time out at conference can do especially if you disconnect yourself completely from the constant stream of interruptions from the workplace.  Suddenly, you can be hacking in an unfamiliar domain and furthering your education.

Somebody once wrote in a book about learning to play electric guitar, which I read years ago, that you are now guitarist since you picked up the book and/or the DVD; and essentially start practising the licks on a real instrument. It is a change of mental attitude. If you want to go off on a tangent by yourself into another field; it does not matter even if it is outside technology, find a conference or a setting where an instructor is willing to lay down a bridge stone and gently show the way to get into the new subject. I cannot claim instant gratification of being a virtuoso iOS software developer, but know just like the young girl Lex Murphy, the granddaughter of the scientist, flawed investor and billionaire owner John Hammond in the movie adaption of Michael Crichton’s fantasy novel Jurassic Park; and I can now heartily exclaim, “I know iOS, I know that system”.
IMG_1460
Bill Venners gives some very practical, simple and design advices during his talk about “Simplicity in Scala!”

Hacking Gardens

Andres Almiray organised a Hackergarten for folk who wanted to get involved in projects. I liked the concept of it in theory, however, in practice, when I came down at lunchtime or between the sessions, I did not understand who was hacking on which systems. I could see the JBoss folk huddled together in one area of the exhibition hall and on the other side, where Stephen Chin was conducting Nighthacking interviews, I think there was a Groovy programming activity. The idea was good; it could be better signposted to the observers as they walked around.
IMG_1459
The JDuchess team from L to R: Linda van der Pal, Yolande Poirier and Regina ten Bruggencate

Java EE 7

Whilst I was in Antwerp, I had a task to find out more about the upcoming changes in Java EE land. I especially wanted to learn about the Context and Dependency Injection appearing in Java SE. I was disappointed to learn that this will not make into the Java EE 7. David Blevins intimated that he thought it would be a discussion point for CDI 2.0.

In fact, David Blevins had a rather interesting talk on Extensibility in Java EE 7. I really liked his more powerful and reusable custom Stereotype annotations proposal. Currently in CDI 1.0 for Java EE 6 you are allow to define custom annotations and aggregate them together, unfortunately they cannot be reused with the semantic information applied. David Blevins idea of Metatypes would be a welcome addition. https://github.com/dblevins/metatypes/

He also had another idea for standardising custom connectors with resource adaptors for message drive beans: namely written custom connectors that synchronised command over an input and queue channel to a service, such as Telnet provider or email service. For my point of view, I was not sure about this particular use case and you can read for yourself https://github.com/dblevins/mdb-improvements.  I think this is small-scale enterprise application integration, which is better served in my opinion, by a dedicated framework like Spring Integration, Apache Camel and others.

JavaFX and Embedded Devices

Seeing JavaFX running on embedded devices was a great highlight of Devoxx. I think this reaffirms the direction and intention of where Java as a client-side technology could be going.  There is a whole industry of mobile computing devices waiting to explode out. I believe that impact of the Raspberry Pi and Beagle board will only be truly known a couple of years from now, down the road.
IMG_1447
Simon Ritter wore an EEG headset to detect brain-waves using a Raspberry Pi and JavaFX / Java port to ARM Linux
Gerrit Grunwald, the current wizard of gauge interfaces in JavaFX, demonstrated his Beagle board set-up at the JavaFX University day. We learnt that we should optimising the number of nodes in a scene-graph; if we want reasonable performance on an embedded device, simply because the number of cores in a Graphical Processor Unit (GPU) on a ARM processor boards are at least two orders of magnitude different from a MacBook Pro Retina Display GPU.

Simon Ritter had an interesting presentation that demonstrated JavaFX running on an Raspberry Pi, on a beta release Java SDK, which Oracle announced a couple of weeks ago at JavaOne. The Oracle advocate had a cheap robot mechanical robot, bought from Maplins; a Lego mindstorm with a motor, which any child can plead for their parent to buy; and an Electro-Cardiogram EEG headset connected via USB, working in his presentation. I recommend you catch this talk on Parleys on some stage, because it was fun. I would also like to commend Angela Caicedo for showing off the Java embedded stuff at the JavaFX Bootstrap university.
IMG_1423
Gerrit Grunwald’s Beagle board and JavaFX application, which read the current room temperature

Just to finalise the intention of returning Java back to embedded devices; the original design concept of Java, the so-called Oak, and Project Green, was to develop a set-up top for Television; Jasper Potts shipped the JavaOne consoles, which were Panda Boards, all the way from the USA to Belgium. He updated the conference data, and four of the consoles were in operations in the Metropolis.

I think JavaFX is now the replacement for Swing, and it is getting there, surely after five years now. It needs the other technologies from current embedded devices and desktop machines, namely: Web Camera support, USB input support, Magnetometer, Accelerator, and of course most obviously Geo-location senor input. Perhaps, through the open sourcing of JavaFX by early 2013, we can as community quickly developed these APIs.  In fact, when I had a conversation with Jo Voorendeckers in the hallway, he felt that JavaScript via Phone Gap and HTML5 were still just a couple of strides ahead of JavaFX. In this regard, Jo Voorendeckers and Benjamin Dobler demonstrated how powerful JavaScript and HTML5 are right now with upcoming HTML5-based version of Parleys.

IMG_1472
Yakov Fain talks about JavaScript for Java developers, which actually very amusing and full of that New Jersey Italian Mafia goodness. I really mean this was a very good talk; just to be sure that any gangsters do not come for me in the middle of the night!

JavaScript

Yakov Fain had this final session of the day on Thurday, which was called JavaScript for Java Developers. What a comedic brain this guy has? The best variable name I was seen for a long time was this:

function Tax(income,dependents) {
var mafiaTaxDeduction = 300
// calculate the tax
}

Actually, Yakov seriously gave the audience a very good introduction into the JavaScript programming language. We should respect it as a very general and malleable programming language, and there are very important good parts as well as the script-kiddie bad parts. For instance, JavaScript has closures (lambdas with hoisting) and it can do mix-ins through something called a prototypical inheritance. If you are betting woman [or man], then learn JavaScript [again] for the education major task of 2013 just to cover your bases.

Coda

Well this is not quite the end. Devoxx 2012 was very successful, especially for technologies, which lies on the periphery.  I will certainly remember my first experiences with iOS here. The resurgence of JavaScript was rather well once again made out to be true as the emerging web platform. JavaFX needs to catch up with the sensory device input; and as for JavaEE 7 we have make sure that we, the Java EE community, deliver on our promises. [I will probably add an extra bit of piece to this entry later, as addendum sections. Stay
tuned.]
IMG_1476
This was about the JUG Leaders meeting, and Antonia Gonclaves, the Paris JUG, and Devoxx France organiser, was taking his turn to speak to everyone

Shout-Outs

Here are the traditional shout-out; there is no order implied whatsoever:-

  • Jo Voorendeckers
  • Stephan Janssen
  • Stephen Chin
  • Keith Combs
  • Michael Seghers
  • Yolanda Poirer
  • Constantin Partac
  • Galder Zamarreno
  • Thomas Bolz
  • Dr Mark Little
  • Carlo de Wolf
  • David Blevins
  • Gerrit Grunwald
  • Lucy Weaver
  • Jim Weaver
  • Alessandro Alfonso
  • Angela Caicedo
  • Fabrizo Gianneschi
  • Jose Pereda Llamas
  • Tasha Carl
  • Johan Vos
  • Linda van der Pal
  • Yakov Fain
  • Nicole Scott
  • Jamie McGivern
  • Martijn Verburg
  • Regina ten Bruggencate
  • Heather VanCura
  • Dan Allen
  • Patrick Curran
  • Simon Ritter
  • Terrence Barr
  • Sharat Chandler
  • Renato Guerra Cavalcanti
  • Kirk Pepperdine
  • Antonio Goncalves
  • Joe Darcy
  • Andres Almiray
  • Trish Gee
  • Ben Evans
  • Luc Duponcheel
  • Dick Wall
  • Carl Quinn
  • Tor Norbye
  • Sonya Barry
  • Oliver White
  • Jonathan Giles

To anyone I missed, I did not mean to do it. See you all next year 2013!

IMG_1467
The JavaPosse Live! This was recording number 400, where Chet Haase officially replaced Joe Nuxoll. Episode 400! Congratulations!

IMG_1505
It is my hand. The organisers deployed Near-Field Communications as wristbands on everybody for both parts University and Conference days. Obviously, after five days of shaking hands, showers and general distress these wristbands look worse for wear. I had to get help cutting them too after the last session!

IMG_1416
Gerrit Grunwald (L) and Jim Weaver (R) at the JavaFX Bootstrap university session this year.

IMG_1417
I caught a brief glimpse of Kirk Pepperdine and Aleksey Shipilev talk on Java SE Performance, especially on the part about generational counts and memory leaks. It was useful revision for me!

IMG_1493
Antwerp is supposed to be Belgium’s fashionable city. It is probably true; it certainly has great architecture worth seeing

DSCF4446
Here is a picture of me sitting close to the stage just before the JavaPosse Live episode 400 with Joe Voorendeckers to my left. I was sitting with the blue hooded folk, the Devoxx volunteers and support staff. Ah! Bless them for all their hard work.

 

+PP+ 2012

Catch Up At Devoxx 2012

November 8th, 2012 Comments off

Next Week, I will be at Devoxx 2012, in Antwerp, Belgium from Monday 12th until Friday 16th, December. I shall, therefore, be out-of-office. I am looking forward to meeting you all in person, if you can make it, at Europe’s premier Java IT technology conference. Sadly, the conference has already sold out weeks ago.

 

Devoxx2012 WeCodeInPeace

 

I feel on this year’s conference that I may go off on a different track to peek at some of the other technologies, because not just Java is offered at Devoxx. For instance, there is on Monday, An Introduction to iOS 6 for Java developers, by Michael Seqhers. I know how to program with Android since Summer 2011, but I for iOS and Objective C, I haven’t the faintest idea, and I think this could be nice start; especially now that I already invested this Summer in a new Apple MacBook Pro machine.

On Tuesday, there is an Advanced Scala talk on concepts and best practices by Bill Venners and Dick Wall on offer. This should tie me up for the University days, and not forgetting the JavaFX Bootstrap talk with Jim Weaver and Gerrit Grundwald.

The conference really starts on Wednesday through until the last half day on Friday, and there are literal lots of interesting talks depending on your personal choice. I have marked a few that I would like to attend in person.

  • Joe Darcy has a Road to JDK 8: Lambda talk; now that Lamba functions will be showcase in the next Java Development Kit release in 2013, version 8.
  • David Blevins has a Java EE 7 talk on Context and Dependency Injection, Bean Validation and JAX-RS.
  • Jerome Dochez and Nicolas Behrens has an Effective Dependency Injection talk on CDI.
  • The JavaPosse of Dick Wall, Carl Quinn and Tor Norbye have a now annual live podcast, Javaposse Episode 400 at Devoxx. I will be there, definitely.
  • I am very tempted to visit Jonas Boner‘s Akka talk (again), especially since Akka actors are going to part of Scala 2.10 as recently confirmed by Martin Odersky.
  • What is this alternative JavaScript language called Dart about? It is off the beaten track for my usual conference interests, yet I feel Seth Ladd’s talk on the Dart Programming Language for Web Applications, may be worthy of educational investment.
  • Jasper Potts and Richard Bair are reprising their JavaOne JavaFX talk for Devoxx, Building Amazing Applications.
  • Adam Bien, the illustrious Java enterprise consultant of note, has a talk on Real World Java EE

There are also many other events, like birds-of-feathers, hands-on-labs and tutorials. I expect to meet folk in the exhibition halls and the upstairs hacking open area. I will giving an interview to Stephen Chin, for his Nighthacking Tour in Europe, which I am also scheduled to do back in London;  and I also will interview with  Tori Wieldt for Oracle Technology Network news. So come along and say hello. Some other people from London are also going to there.

 

Eurostart Trains

On the way to Devoxx from London St. Pancras

 

See you over there in the lovely city of Antwerp after stepping off an Eurostar train from London.

+PP+

 

Building OpenJFX 2.2 Again

October 31st, 2012 Comments off

Here is how I build the OpenJFX 2.2 on both Mac OS X, because the semi-official Getting Started instructions on the OpenJFX site are a bit of out-of-date.

Find a folder for your project, create a folder:-

mkdir -p ~/open-jfx-2.2

cd ~/open-jfx-2.2

Using Mercurial, clone the project folder from the Master change-set:

hg clone http://hg.openjdk.java.net/openjfx/2.2/master

cd master

Copy the existing JavaFX runtime JAR into a special folder. I am using JavaFX bundled in Oracle Java SE 7 update 9. We create the folder structure and copy the JAR into it.

mkdir -p artifacts/sdk/rt/lib

cp ${JAVA_HOME}/jre/lib/jfxrt.jar artifacts/sdk/rt/lib

ls -l artifacts/sdk/rt/lib
[/code]

Now clone the RT sub tree using the Mercurial

hg clone http://hg.openjdk.java.net/openjfx/2.2/master/rt

cd rt

Edit the properties file common.properties, and modify the debuggable property near the top of the file (e.g. linenumber 15 or so)

# COMMENTED OUT: javac.debuglevel=${jfx.javac.debuglevel}
#javac.debuglevel=none
javac.debuglevel=lines,vars,source

Now we can clean the distribution:-

ant clean

Afterwards, we should be able to compile and build JAR for the existing distribution.

ant dist

Look inside the dist folder for the results

peterpilgrim@Peters-MBPRD.local [686] > ls -l dist
total 6888
-rw-r--r--  1 peterpilgrim  staff  3523332 30 Oct 11:54 openjfxrt.jar
peterpilgrim@Peters-MBPRD.local [687] > 

+PP+

Categories: Apple, Development, JavaFX Tags:

Silicon Valley Code Camp 2012

October 16th, 2012 Comments off

After the exertions of JavaOne 2012, I was very glad of the relative warmth, wide-range green, autumn plucky country-side feel of Los Altos Hill. On Saturday, 6th October and partially Sunday 7th I was down at Foot Hill College for another dose of the Silicon Valley Code Camp.

For people in Silicon Valley, a weekend after JavaOne, and for a free event, this is training and education that is most affordable. The companies sponsoring SVCC including Microsoft, Box, Dice.com and others make it all possible.

 

DSCF4158
This is Peter Kellner being the Master of Cerenomies and reading the raffle-ticket winners

 

DSCF4152
This photos was taken during the speaker’s dinner late Saturday evening. Van Riper [R] and Kevin Nilson [L] organisers of the Valley Java User Group

 

DSCF4161
Wider focus view to the Foot Hills Campus, which is very well equipped for IT education, I thought.

 

 

DSCF4162 Another stunning view and memory of SVCC. What you cannot see is that the whole college on undergoing reconstruction, there are building works, trucks, pile heaps all around the campus as it is revamped.

 

DSCF4151
Saturday lunchtime. For October, it was rather warm during the day, the atmosphere definitely collegiate, relax and friendly. It was rather cold during the evening, bring a jacket and layers after 6pm!

 

DSCF4176
One lucky raffle-ticket proudly takes and loft over his head the XBox Console that he just won at the SVCC 2012! Am I regretful that I stopped running the JAVAWUG? In those moment like that one was, the easy answer is yes, because to see the joy of accomplishing something just by attending is priceless. However, an SVCC event is unlikely come to the UK any time soon, because we Brits need to adopt that Californian attitude of “What’s the worse thing that could possibly happen?”

 

I was very happy with the turnout for my talk on Saturday: Leveraging Java EE7 and the Cloud with the JavaFX, Room 4305. In the end, I talked for 35 minutes, and the rest was demonstrating JavaFX 2 to the attendees. A smaller audience than JavaOne, but nevertheless they appear attentive and appreciative.

The follow day, I bumped, into Dave Nielsen, of CloudCamp fame, whilst he was given an interesting talk about cloud computing. My ideas about PaaS being standardised next year, were way off, I learnt. There is so much disruption and innovating in Cloud, in his opinion, Dave Nielsen, reckons standardisation is more like two years into the future. Dave Nielsen is one of the member organiser of the OASIS CAMP, an effort to standardise cloud services.

 

DSCF4141
Microsoft brought there own XBox black Mustang muscle car, polycarbonate trim and folds, custom modifications were fitted by the infamous West-Coast Customs, yet another “Pimp My Ride” production. This particular car had a digital LCD dashboard, two screens, it was coupled with a Nokia smartphone app with the ability to remote start (disabled), a projector was installed into the boot and also featured two separate XBox console complete with controllers. Of course, the boombox sound was out of this world.

 

DSCF4146
Code Camp #svcc2012

 

IMG_1288
I started reading Joshua D. Sureth’s Scala in Depth book, which was the only book that I bought during JavaOne 2012. I used to buy lots in previous years, too much to read in so little time. Now I restrict myself to one, if any.

 

+PP+

JavaOne 2012 Report 3 Analysis & Conclusions

October 16th, 2012 Comments off

The Conference

This year’s conference, in my opinion, was the best that Oracle have produced in the three years that it has taken over the stewardship of Java. It was great for technical content. The positives were that similar sessions were arranged to be close together in the same hotel, in other words tracks were co-located. This was markedly better than 2010, when I remember rushing from building to building to get some particular session.

( Read the earlier section of the report Part 1 and 2 )

 

IMG_1129
The Bi-Plane from Moscone West

 

Oracle chose to give only 40% of the technical session to its own employees. The result was that we the happy consumer could choose a lot more sessions, however sometimes quantity is rather not quite a good as quality. I share Adam Bien‘s observation that perhaps this was tad too restrictive and Oracle were a bit hard on themselves. The quality of the engineers, designers and architects on Oracle side is really good and usually the Oracle teams have internal know-how for the rest of us, which we need to know, as they are working on critical future projects to do with any of the Java edition, SE, EE and ME. I would also want this percentage to 50% Oracle and 50% external speakers. Compare this percentage against the other tech conferences such Apple’s WWDC and Google’s I/O, which have good company speakers. I should throw in there were no marketing talks that I can bear witness to, which is fantastic.

I can only speak of the JavaFX, Rich Media track in conference, as a program reviewer, the technical content was great. I suspect that for the other tracks, Core Java, Java EE and Cool Stuff and other tracks, the reviewers in those areas, were equally transparent, ethical about what they thought and chose as a decent material for JavaOne. In my opinion, this a conference for the people and by the people, and they deserve to have the investment in flights [expensive], hotels [really expensive] and energy and time [priceless] returned in the greater measure of satisfaction. The sum of outputs has to greater than the sum of inputs for JavaOne to really work.

In terms of the people who did turn up to JavaOne, I felt that this was landmark year, were not only I, but other Java Champions (Frank Greco, New York Java User Group), noticed that there were lot of young Java developers out and around. When I say young, I also qualify it that to not only youthful, but also including new inexperienced oldies too. This is good thing for the increasing talent in the global community of Java engineering. We will always need good engineers, who are enthusiastic about learning the Java platform. The influx of the new was so peculiar that many failed to notice and recognise the Father of Java, walking around the Hilton San Francisco, on Wednesday 3rd October.

Community Keynote

In fact, I thought I had seen James Gosling too, from about 75 yards away, in profile only, just momentarily, and I dismissed it as  a figment of my imagination. I was pleasantly surprised and amazed when James Gosling came up on stage on the Thursday community key note. We should have all guessed, because his face was featured on the September 2012, digital edition of  the Java Magazine. James Gosling came up to the stage and talked about the Liquid Robotics software, waves, low-level level volume, guaranteed 100% data storage on Glassfish servers, and cloud services he had developed over the last year or so. James Gosling said that he reviewed many cloud computing offerings for a possible PaaS solution, and in the end, explained why  he chose JElastic. He chose this PaaS solution, because it supports GlassFish, virtualisation, scaling up-and down and clustering on demand.

Bruno Souza immediately stepped in to help with the tee-shirt throwing. He gave James Gosling the tee-shirts that he had collected to take back to folk in Brazil. We should make tee-shirt throwing a proper feature of the next JavaOne, especially if James Gosling is back.

Stephen Chin became the new Program Chairperson for JavaOne 2013 and Beyond. I believe that I already mentioned how amazing this was. JavaOne now has a really fantastic community-aware person. I have every confidence that the level of the technical sessions will remain at the high standard, and I can even see that those sessions will improve.

Martijn Verburg also did a very good job explaining the Adopt-a-JSR project at the keynote. It seems like a laudable approach to get Java engineers outside of Oracle and in the wider community to help implement some of the standards.

Call For Improvements

Where there any sore points? Yes there were some that I observed.

As an oldie, I can remember the great JavaOne conferences of 2005 and 2007 at the Moscone Center. In particular, the mega humongous party to celebrate Java’s tenth birthday in 2005, which was my second time at JavaOne ever. We only need to get JavaOne back to Moscone Center or the West, which probably is not going to happen.

On the JavaOne home page, the most important tools, Schedule Builder and Content Catalogue were located in the Fat Footer. These tools needs to the above-the-fold. Please explain these web design principals to the principal web site designer. The content catalogue should also show the speakers, the full name. Many talks are attractive because of the speaker who is delivering them, for example Mark Reinhold for Jigsaw, Brian Goetz for Lamda in JDK 8 and Martin Odersky for upcoming Scala 2.10 features.

The speaker room is tiny, in the Hilton San Francisco, consequently I spent very little time in it, except to grab coffee to get the endorphins charged up. Were there speaker preparation rooms available in the other hotels, Parc 55 and Nikko? I did not check when I was there. This would be important if the track you are presenting, e.g Mobile or Java ME was co-located in the other hotels. Also I thought they could have  supplied some more edibles, sandwiches or more snacks.

Oracle were really lucky with the weather this year, because the open area, Buzz Cafe, sponsored by IBM was a pleasant space for the odd tipple of beer, roasted coffee and to get some air. What if it had rained?

The Duke’s awards, this year, were held in the Buzz Cafe and open area. It should have been part of an official keynote. The winners deserved the entire group of attendees to be there, to bear witness, in order to respectfully receive such prestigious and rare awards. In fact, we could have one additional keynote session, may be Oracle can claim some of that 10% time back that they gave up. We need to dedicate a morning or afternoon keynote to this achievement ceremony, especially, now we have such a glut of young developers attending JavaOne for the first time.

Some technical sessions were poorly attended I thought. I am quite sure on Wednesday in one of the Imperial Ballrooms A or B, and not in my session, there were only 6 to 10 people watching a speaker talk. We have to do a little better in talk selection, and attracting some good speakers to JavaOne. I think that the cost of JavaOne may be the main prohibitor. I would like to see a much longer lead-time for this, say by a couple of months, so that speakers can take advantage of the earliest flights and hotel deals possible. I would also like to hear from the developer community and what you think are good ideas for JavaOne 2013, so that if I am involved as one of the program reviewers again for JavaFX, Rich media tracks, that I am serving the best interests.

 

DSCF4026
The Mongo DB stand at JavaOne 2012

 

Future of the Java

The future of Java is basically in your own hands. From my perspective, it is good see that Java is growing and there is still interest in advancing the entire platform forward. The key brands to look out for me are JavaFX 8, Java EE 7 and of course the growing adoption of Scala in the workplace.

Oracle produced some figures, graphs and statistics showing that businesses are adopting Java SE 7 since it was released earlier last year [28 July 2011], people have switched over, and that Java SE 6 is on the wane. Henrik Stahl,  senior director of product management at Oracle, posted a blog entry mention the statistics from Jelastic, quoted adoption was 79%, which matches their internal indicators. This can be positive for the possible adoption of Java SE 8, which will have lambda functions and more functional programming concepts. It is taking a long time to change, but I believe we are getting there with the Mother Language, as the other alternative JVM languages remain attractive for those businesses and developer willing to get more productivity and not be left behind hind with legacy application and infrastructure. I want to personally see job advertisements changing from “Scala, JRuby, or Groovy are high desirable” into “Scala, JRuby, or Groovy are desired”.

A clear break for user interface development on client Java is called for, concerning JavaFX and new media APIs. There are many people who depend on Swing, SWT, Adobe Flash / Flex and even Microsoft SilverLight for their UI. I will leave out the businesses that have already decided that Web platform and HTML5 are only UI for their products. JavaFX represents a sea change for Flash and SilverLight, it means that once again, you can build the entire application, client and server side, from metal to UX nuts using Java, if you so want to architect that way. This is fantastic if you are starting in mythical world of greenfield, development which every recruiter will try to sell to you that their client is offering, and we know in reality is that it never is, quite, the case. The bath water is the Swing framework from 1998, because the API was built with immediate graphics and rendering, and the babies are the application built squarely on Swing that the business is using now. It is going to be frightfully hard to do, cruel even, some poor architect will have to come to the conclusion, JavaFX and some sort scene-graph is the new path. There is no such thing as dirty job done cheap, but hey somebody has to inform the business that the UI code and application is in serious danger of becoming out dated. A transition from the old UI world to new is called for. Those young developers from JavaOne walking the floor, enjoying the demonstrations, FX and taking it all in, the 3D and rich media, including my very own video fracture demo that I repeated again, I really envy the sort of exciting applications that those fertile uncontaminated imaginations are going to create in the next few years or so.

The new idea is no longer the Java Applet that runs inside a web browser. The Java Plugin is history and Java Web Start is error prone and broken. Instead of deploying an application with an Applet or Plugin, you will be deploying your business application, the UX part of it, in the future to an application store. The application store may be a commercial one or might be a private implementation solely for the use of your employees and staff inside the big corporation. Getting JavaFX and Java to work in the forthcoming Microsoft Application Store must be a given, because it represents a clear competitive advantage to Microsoft in its battle with Google and Apple, when Java applications can be distributed by Windows Store. Modularisation of Java is going to be crucial as are Mark Rheinhold’s architectural idea about offering a series SE profiles, of ever increasing usefulness and package, until Jigsaw and Java 9 is here.

Will these young developers be willing to apply for Swing application developer job writing Java SE 6 in 2015 for some investment bank in the city, the financial district, the extreme majority, quite absolutely not? I could be even more crueler, but I think I will stop now and put the chalk down.

 

DSCF4040
Ben Evans [holding the mic] is talking about Adopt-a-JSR program

 

Shout Outs

In no particular order, whatsoever:

  • Mark Stephens, IDR Solutions
  • Betrand Goetzman, Consultant et Développer Web 2.0
  • Valérie Hillaware, iText PDF
  • Hans Docktor, CEO, Gradleware
  • Peter Walker, COO, Gradleware
  • Sidney Allen, StackMob
  • Peter Van de Voorder, RealDolmen
  • Dr. Olaf Grebner, Unternehmer
  • Gerritt Grunwald, Canoo
  • Ix-chel Ruiz and Andres Almiray, Canoo
  • Arvinder Brah, Navis
  • Dierk Koenig, Canoo
  • Wolfgang Wiegend, Oracle, Sales Consultant Fusion Middleware
  • Branko Mihaljevic, Hujak, Croatian Java User Association
  • Matija Tomaskovic, Evolva, Croatia
  • Fried Saacke, President of the Germany Association of Java User Groups
  • Frank Greco, New York User Group, USA
  • Cecilia Borg, Senior Manager, Engineering, Oracle
  • Arun Gupta, Glassfish, Oracle
  • Simon Ritter, Java Evangelist, Oracle
  • Jim Weaver, JavaFX Evangelist, Oracle
  • Yara Senger, SouJava, Brazil
  • Bruno Souza, SouJava, Brazik
  • Todd Castello, countless JavaPosse Round-Ups
  • Mark Heckler, Oracle
  • Sharat Chandler, Principal Productor Director and ex-JavaOne Program Chairperson, Oracle
  • Stephen Chin, new JavaOne Program Chairperson, Oracle
  • Ed Burns, Specification Lead for JSF, Java EE 7, Oracle
  • James Ward, Heroku
  • Jonathan Giles, JavaFX SDK team,Oracle
  • Michael Heinrichs, JavaFX SDK team, Oracle
  • John Yeary, Greenville JUG
  • Victor Klang, Typesafe
  • Fred Simon, Artifactory, JFrog
  • Shlomi Ben Haim, JFrog
  • Jasper Potts, JavaFX, Oracle
  • Richard Bair, JavaFX, Oracle
  • Carl Dea, Software Engineer, Author
  • Cameron Purdy, VP Product Development, Oracle
  • Nandini Ramani, VP Product Development, Oracle
  • Gail and Paul Anderson, Book Authors
  • Paul Deitel, Book Author
  • Peter van de Voorde, RealDomen
  • George Saab, VP Java Platform Development, Oracle
  • Csaba Toth, my regular JavaFX talk attendee
  • Adam Bien, Java EE book author, rock star and Java EE 6 consultant
  • Brian Goetz, Lambdas in Java 8, Oracle
  • Anton Epple, Netbeans
  • Mark Reinhold,  JDK Architect, Jigsaw in Java 9, Oracle
  • Luc Duponeel, ScalaFX committer, get that code generation in there please
  • Martijn Verburg, Adopt-a-JSR, London Java Community
  • Danno Ferrin, Groovy, OpenJFX Hacker
  • Mike Lehmann, Senior Director, Java EE, Oracle
  • Ryan Cuprak, Enginuity
  • Tori Wieldt, Oracle
  • Mattius Karlson, Swedish JUG, JFokus
  • Stefan Janssen, Devoxx, Belgium JUG
  • Dick Wall, JavaPosse
  • Van Riper, Google
  • Carl Quinn, JavaPosse
  • Kevin Nilson, Java Champion
  • Kirk Pepeerdine, Performance Tuning Expert, Java Champion
  • Heinz Kabutz, Java Language Expert, Java Champion
  • Jevgeni Kabanov, ZeroTunraround
  • Geetjan Wielenga, NetBeans Dream Team
  • Roger Brinkley, Java Spotlight Podcast, Oracle
  • Stephen Colebourne, Java Champion
  • Nichole Scott, Oracle
  • Regina Ten Bruggencate, Java Champion, JDuchess
  • Henrik Stahl, Oracle

Apologies, if I left you out. See you next year, San Francisco, Sunday 22 – Thursday 26, September 2013.

+PP+

 

DSCF4078
Java Client side desktop lunch with Jasper Potts [L], Richard Bair [R] is looking directly at Stephin Chin in the background, sitting to next Richard Bair with his right hand touching his left hand and watch is Sven Reimers

 

 

IMG_1219
This was supposed to be a clear view of Eddie Vedders from the Grunge Band, Pearl Jam, performing at the Oracle Appreciation Event

 

DSCF4082
Jonathan Giles at the Desktop lunch, which he organises with Stephen Chin, every year since 2010.

 

IMG_1176
Mac Book Pro Retina Display keyboard

 

IMG_1262
Of course, this conference fell on anniversary of Steve Job’s death – Someone wrote “SJ, please use TimeMachine and come back!”

 

 

 

+PP+

JavaOne 2012 Report Part 2

October 13th, 2012 Comments off

The theme of this year’s JavaOne was Make The Future Java. Was this tagline a clever choice of words? Maybe an implied call to action? It would appear that Oracle are relying more and more on community involvement to ensure certain products were.

DSCF3945
View from the Villa Florence, JavaOne had unseasonal sunny weather, we were fortunate.

Scala

It was somewhat as a surprise to see TypeSafe exhibit at JavaOne 2012. I believe this showing of the premier Scala software company is a clear sign that Scala is gaining interest. Although I did not go to many of the technical session in Scala, I saw that there were some very good presenters, more importantly framework inventors during JavaOne. For example, I bumped into Victor Klang, the co-protagonist for Akka framework.

Typesafe build an iOS application for the JavaOne content builder that automatically filters out full Scala talks or just presentations, which mentioned Scala. My second presentation Scala, JavaFX, EE 7 and Enterprise Integration was featured in the app. Stephen Chin’s talk JavaFX and Scala, Like Milk and Honey was also featured.

I believed Scala won the Web Framework Smackdown technical session, which I suspect was for the Play Framework. I was so busy on the rich client track and preparing for my own talks, I failed to catch Hazelcast: Scalable Data Structure with Talip Ozturk, who once presented his framework to JAVAWUG many seasons ago.  Then there was Scala Tricks, by Venkat Subramaniam, who I have never seen present and is well known for his books, blogs and superior knowledge of Scala programming.

It is safe to say, here, that at this year’s JavaOne conference, Scala was well represented with a serious development technical sessions and BOF. The naysayers might be still be upset about Scala is gaining traction at Java’s premier conference, but I believe that this is nice and deliberate progress for a new language. Let us remember Scala is a bit behind Groovy the programming language is breaking out of the Mother Language in terms of timeline. Groovy was the first non-JVM language that I knew, which caught serious interest and sparked a change for innovation; and plotted a path to remove boilerplate, being more expensive and quicker at being creative.

Scala is getting there and now that there is a commercial company behind it with funding, after all somebody has to pay for booth space at big conference, things can only get be better. May be this is a little bit of salt, there, in that last sentence, with that sly reference to former British Prime Minister, Tony Blair, winning theme song lyric. I only just saying, since Typesafe scored by bombshell last month [September] with the announcement that Rod Johnson, creator of father of the Spring Framework, former CEO of SpringSource, has joined the board. Let’s keep moving forward, shall we?

Trade Matching Engine in Scala

Surprise of the conference for me, came by chance, attending a talk by CME Group, about a trading engine. Matching trades is the practice of associating equivalent deals with another deal, which happens in financial exchanges. In order to sell X quantity of B, there must be a buyer is willing buy B at X and willing to also trade A at Y. Matching is math heavy

CME Group talk was about their architecture in product which is currently working with 19 Trading Engines. Market liquidity is provided by the buy/sell orders submitted to the system over the whole market. Each market is a type product, for example foreign exchange (forex) or equities (stocks) or stock loan (bonds and guilts) etc. The particularly of major difficulty of any trading engine, is the number one requirement, allow customers to trade anything at any time, with anybody in any order. Second, the ordering of trades is very important. The impact of the requirements befits the design of the architecture of the trading engine.

I just was listening to this talk, billed as high availability trading engine with sub millisecond response time, I thought, hey hoy, another example of Core Java implemented. To my surprise, the presenter suddenly push on the next to slide, I was stunned by it. CME Group is using Scala against MongoDB in their architecture.

IMG_1185
CME Group use a trading matching engine written in Scala with solid state memory MongoDB, which is matching a billion deals per month in September 2012. The UI is Google Web Toolkit

Some of the statistics were:

  • CME Group were matching trades to a billion orders per month in 2012
  • A peak 32 billion order per month at the height of the financial crisis in 2008
  • 6 years ago the 11 ms response time
  • This year, 2012, they are down 1ms

Java Enterprise Edition

Java Enterprise Edition 7 is the next edition of the enterprise platform. Whereas a last year, there was an obsequious announcement that Java EE going to be Moving to the Cloud, this year that statement has been refactored to Supporting HTML5, RESTful Services and Web Sockets.

The Expert Group and all of the members who were at JavaOne, expressed that it too soon  to standardise the cloud features of the enterprise edition, when so many products, cloud provider and PaaS (Platform-as-a-Service) solution are experimenting and innovating. They collectively decided to defer standardisation of Cloud feature in Java EE until to next edition, eight, 2015 / 2016.

XaaS

In cloud computing, there are several definitions of services, also known as X-as-a-Service,
which are level of abstraction over software architecture. The lowest level is known as Infrastructure-as-a-Service (IaaS), the highest is Software-as-a-Service (Saas). Generally, the lower the abstraction the more control the customer (you) have, but you must have expertise and know how to operate your cloud services. The higher the abstraction, the less control (you) have, but you are can rely on the provider to look after scaling and provisioning across servers.

IaaS describes a cloud provider that will only supply, on-demand, infrastructure: network, bandwidth, operating systems, machines, data storage and, most importantly, virtualisation. It is up to the customer manager the cloud services. Think Amazon Web Services and Netflix.

PaaS describes a Platform-as-a-Service from a cloud provider, where they will look after the infrastructure and scale up or down for you the customer, on demand of course, but you build your business application against platform, which the provider supplied. Hopefully, the platform is compatible with Java, which might be an application server, such as Glassfish or JBoss. It can be some kind of virtualisation solution that make some, but not all, of Java EE available. Think Google App Engine and the restrictions store data in Google’s cloud storage using Java Persistence API. There is a limit about your database entities can only have a basic join between them. In other words, complex database table joins are out of the question.

SaaS describes a cloud provider that supplies a software solution, where they will look after the infrastructure and the application platform. The cloud provider is only responsible for the software that they offer on the demand, which can scale up or down, and you only pay for what you use. Think Salesforce and Force.com; and for a free variety, any of Google Mail, Yahoo Mail, Google Drive, Microsoft Office 365, DropBox, etc. They are all examples of SaaS.

FaaS stands for Framework-as-a-Service and it describes a cloud provider that usually sells a SaaS solution, but additionally offers an application API to customise the solution. For example to personalise the SaaS to an internal bank’s look or feel, or even add customer extensions (of course, that are vendor lock-in; if you find yourself in bed with a FaaS cloud provider, consider yourself married.).

This is fair enough, I believe this good idea. The last thing any of us all need is another EJB 1.x and EJB 2.x, design by committee, without consulting the community and the de-facto products that are out on the market. Nevertheless, the cloud landscape does look at the moment difficult to predict and the politics and market will dictate the necessary requirement for any standard. It is clear that the market leaders, Amazon and VMWare, Spring, may not want to join any standardisation process, because they are the leaders. It is all about the business and making a profit after all. Perhaps, the community and the customers should demand a bit more of their providers, because as a cloud customer, you are ultimately renting and paying for electricity, energy, bandwidth and cooling systems at whatever data centres around the world their application are provision on.

With a Java standard for cloud computing, the advantage for a consumer is that your application should be portable to another cloud provider, if you do not depend on vendor lock-in APIs. People would laugh at the old question, why would I migrate from Oracle to MySQL to Sybase for my business, architects would spin dizzies and scoff such a ludicrous suggestion being able to change database. However, in a cloud computing world, with big data, this is a environment where you, as a business owner and software architect, need to think very careful as to your future investment. Cloud may be too early for Java EE, but it is worth find out now who is your equivalent de-facto winner, the same as it was for Jakarta Struts in 2001 as a better way to structure Java Server Pages and Servlet applications.

Fast more important than cloud, and I feel that the Java EE expert group is on the ball, is to get Web Sockets, and support for HTML 5 out of the way. There were two crucial announcements, JavaScript running in the server, through Oracle’s Nashorn project. Oracle are going to donate Nashorn to the Openjdk project. The idea is to deliver a Node.jar a similar cousin to JavaScript’s node.js, which has the advantage of working in Java EE 6 / 7. Oracle said that Redhat and Twitter were third party companies, which were very interested in getting involved in the project.

Oracle have also been working on a binding between JavaScript and Java, so that web client can directly bind, securely and safely, with servide side Java object. This project is called Avatar. Little was none of this internal Oracle project, apart from slideware written and product by the one, Arun Gupta. It is believed that project makes use of a little known HTML 5 technology, Server-side Events (SSE), where a rich internet application or web client makes a JavaScript call to the server and gets a response back presumably from annotated EJB service end point or CDI manage bean. Avatar may also make use of RESTful services as well.

There is two things that in my notes for Java EE 7 that are missing for draft standard proposal. For a Java SE standalone client, where is the API for calling WebSockets and Serverside Events from Java. This would be eminently be very useful for JavaFX applications as well as integration testing.  The second thing is a how to instantiate the Context and Dependency Injection container in a standalone Java SE client.

At the conference, I pick literature about some of the cloud provider for Java EE. There Of course, Oracle, offers it own Oracle Cloud Java computing service, which is based on hosted WebLogic servers. JBoss OpenShift is an offering from RedHat, which offer Java EE scalability and on-demand functionality in the cloud. There is also Heroku, which supports some of the Java EE standards and has a very different model and history to the common Java developer track. These are more famous cloud provider for Java at the moment.

After James Gosling, technical community keynote on Liquid Robotics, he revealed that Liquid Robotics had settled on using JElastic as their cloud provider of choice. It was a second major coup for this years Duke’s award winner for enterprise Java. JElastic support GlassFish hosting as a Java EE application server in the cloud environment.

There was one other offering at JavaOne that I saw, albeit very briefly, Waratek, an Irish cloud provider, based in Dublin. Their solution was based on Java Virtual Containers, no coding required and instant scalability. Waratek is a Java licensee, thus is not aimed at a Java EE squarely.

As you can see, Java EE, and cloud provisioning, at least in the PaaS solution is a bit of mangled mess in 2012. There is no way that this hotch potch can be standardise, because it is all new, fuzzy and very not in focus. For the Java EE 7 specification, the removal of cloud PaaS standardisation is a sigh of relief, we can start to build both HTML5 application and may be those rich client JavaFX application too. This is progress.

Next Part. The Google Office Visit and the annual shout-outs.

Santa Clara, October 2012
+PP+

IMG_1194
Carl Dea, an Apress book author, who wrote the mini tome: JavaFX 2 Introduction By Example

IMG_1132
[R] Yara Sanger of the Brazilian Soujava and [L] Martijn Verburg of the London Java Community

IMG_1205
This guide dog undergoing training apparently. The owner brought him to the conference.

IMG_1184
Architecture overview slide from Chicago Mercantile Exchange Group

POSTSCRIPT: I managed to find details of that talk, which I wondered into.
It was called CON3753 – Delivering Performance and Reliability at the World’s Leading Futures Exchange and the speaker was called Rene Perrin, a Technical Specialist Software Engineer at CME Group. The billing for the presentation, describe how the order volume grew ten fold between 2007 and 2011 at the Chicago Mercantile Exchange has grown more than tenfold, from 1 to 11 billion monthly orders and quotes. During that same period, the average response time improved from 35 milliseconds down to less than 5 milliseconds. It was just lucky I suppose, because the session discussed how Java technology enabled the exchange to achieve the tenfold growth, little did I know from the bill that CME Group really meant Scala!

DSCF4377
The conference tee-shirt in the rucksack

IMG_1227
James Gosling is mobbed by the interested, amazed and delight fans. I should brand new fans who came to JavaOne for the first time this year. This photo was taken after Thursday’s community keynote

IMG_1161
Dr. Robert Ballard, the famous oceanographer explorer, of Titanic fame with movie director, James Cameron, gave an inspirational key note on the benefits of education at the Masonic Auditorium Center on Sunday evening. “We need to inspire the young – Don’t sell science, sell scientists and engineers”

IMG_1145
Cameron Purdy, Oracle VP, and the person looking after all things Java EE 7 and Beyond, takes the stage

IMG_1144
[L] Nandina Ramini, Oracle VP looking after JavaFX and Client side Java. Walking off the stage are [M] Arvinder Brah and [R] Dierk Koernig

More to come. Need to get over the Californian Tour, first ;-)

+PP+