Dave Harris

General ramlings about Java

JavaOne Day 4 May 10, 2008

Filed under: JavaOne08 — daveharris @ 6:08 pm

Well last day of JavaOne :( , its been quite a ride.  In this morning’s General Session James Gosling (the creator of Java) did a show-off of all the awesome toys that had been shown off during the conference.  Some of them were:

The robotic car Tommy
These little sensors running Java that create a MESH RF network so they can talk to one another and a base station
A pen with a computer and camera in it that records your writing and is able to play it back and import it into the computer and all sorts of awesome stuff
VisualVM, a tool that allows you to connect to a local or remote java process and see the resource use with graphs and stuff, very handy
Some of the Java technology used at the CERN particle accelerator
JMars, a mapping tool used to collate all the data from the mars probes and help NASA choose a landing spot near to mineral deposits and the like
And there were some more.  Very cool stuff.

First session today was how Yahoo! (they said it was the largest website in the world…) use Java technology and how they manage thousands of servers around the word and also hundreds of developers around the world too.  I didn’t learn anything useful but it was interesting nontheless.  Then a session about how to create your own SMS based application, and how you can hack the google text api to do what you want!  Then a performance comparison between the 3 big web frameworks, SpringMVC, Structs and JavaServer Faces.  SpringMVC beat the pants off the other two (and quite rightly so, but I am biased).  Then there was a session about how NavTeq use thousands of sensors and GPS devices to gather statistics about traffic flow.  This information is sent to radio stations and GPS units so they can re-route around the problem if possible.  the final session of the day was perhaps the best.  It was brilliant talk by the lead developer from SpringSource about the new changes coming to the Spring Framework and SpringMVC in version 2.5.  Basically they have heard the community’s hatred of xml config files and now EVERYTHING can be done with annotations.  But you can still do xml if you really want to.

So that was JavaOne I guess.  What a ride it was, I have learnt so much and talked to so many amazingly smart people.  I’ve seen some mindblowing use of Java and technology in general and has really invigorated me back into Java.  Java cops a lot of flack from the scripting language world (some of it quite rightly too) but it was nice to have a week where everything was Java and how awesome and extensive and fast moving it is.

I don’t think I mentioned that the slogan for JavaOne was ‘Java + You’ to go with Time magazine’s person of the year ‘You’.  There was a huge focus on Ajax and web services and open standards that was really nice to see.  This will definitely not be my last JavaOne that is for sure!!!

There is no rest for the wicked around here, so on my first day off I am going on a day-long tour of all the sights and sounds of San Fran and then across the Golden gate Bridge to the Italian town of Sausalito.

This will be my last post in the JavaOne category so if you just subscribed to that, I will see you when I return next week.  But for me its a week of fun and games…

 

JavaOne Day 3 May 10, 2008

Filed under: JavaOne08 — daveharris @ 6:08 pm

Another very full-on day at JavaOne, but no labs today.  I had had enough of Ajax for a while, although I will definitely keeping an eye on jMaki (especially after they gave me a tshirt and talking to the lead developer over a coffee on morning!)

This morning the General Session was hosted by Intel.  The big announcement was that the developers of Sun and Intel have been working together to try and optimize the jdk running on Intel x86 processors.  Well it seems that they have done pretty well with a 69% performance increase!! This really blew us away as most optimizations come in the form of single digits.  Im sure its not that high in real world, but a huge leap forward nonetheless.

The first session of the day was comparison of the Swing/SWT builders within Netbeans and Eclipse.  This was interesting to me (and Vipul) because our little tv renaming app is SWT based.  Not that we are going to re-write it in Eclipse RCP now, but it was nice to see what can be done with drag and drop (as good as .NET now!).  Then there was Java in real life, a robotic car that was created by a university for the DARPA Urban Challenge.  This car can be seen here.  It is a completely autonomous car that had to drive from one end of a city to the other performing normal maneuvers along the way such as passing, ad giving way and parking. It was all running Java too … very impressive!

I then went to a quick session about how to used dTrace on OpenSolaris to see what is going on inside the VM and the system in general and find performance issues and memory leaks.  It sounded all well and good but I’m sure it is much harder then they made it out to be.  And no-one actually runs OpenSolaris.  Speaking of which, the photo of me in the OpenSolaris t-shirt does not in any way, shape or form mean that I support it …. just means they were giving out free stuff!!!  I have about geeky 6 tshirts now)

Then an interesting discussion about how to use the Java Persistence API when not using a web container (and therefore inherent transaction management) in Swing based apps with many clients.  Raised some interesting points that I hadn’t really thought about before.  Next was another deep and meaningful look at design patterns and how some of them really aren’t as good as they are made out to be, but did offer some solutions.

A party was held that night in the Yerba Beuna Gardens, behind the Moscone Center.  There was some food on offer but the main event was Smash Mouth playing a private set for us.  they didn’t have much stage presence (it probably didn’t help it was like -10 degrees) but they made the place rock with the classics of All Star and Walkin On The Sun.

 

JavaOne Day 2 May 8, 2008

Filed under: JavaOne08 — daveharris @ 1:15 pm
Tags:

Day 2 started off with a really cold morning but turned out a really nice day in the end. The General Session this morning was a blatant marketing mouthpiece for Oracle and all their Enterprise Applications… yawn. It wasn’t very full either and most people walked about about half way, we have better things to do than be talked at about products we don’t care about.

Anyway, after that I went to a quick session about some Sun developers who tried to make a hardware application server appliance (like a wireless router appliance) that you just connect to the network and it just works, all in about 4 weeks. Some important lessons were learnt. I then went to a session about Web Beans which kindof went over my head as he started assuming we all knew what they were. It seems like a framework built on annotations to help with compile-time validation of beans and attributes and stuff. It is being looked at at the moment to be integrated into Spring.

The main event today was a hands on lab using the Woodstock Ajax library and that seems really cool and nice and easy. Really good support from NetBeans IDE as well. Then a packed session about how to get the most out of DBUnit which I really should know more about. Then another packed session with a few developers from Sun who are creating the new Media API so Java has much better video and sound support. Currently it has a few cross platform codecs (such as ogg/theora) but otherwise uses the native codecs for each platform. It has been made into a Swing JComponent so it is really easy to embed in any JFrame you happen to have lying around. I expect to see big things come out of this.

I am waiting to go to another ajax session, this time using jMaki which seems to do the same thing as WoodStock, but it will be interesting to see what the differences are. Im in the big hangout space and The Matrix is playing on a big screen so everyone is standing around watching that ;)

No photos today sorry, there wasn’t anything new that you hadn’t seen before.

Catchya tomorrow ;)

 

JavaOne Day 1 May 7, 2008

Filed under: JavaOne08 — daveharris @ 6:27 pm

The first full day at JavaOne was fullon, I left the hotel at 7.30am and have just got home now at 10.45pm!!! First call of the day was the free breakfast and then the first General Session of the conference. The queue was huge, with basically everyone attending queuing to be in the same room all at the same time. It filled up three walls of the massive food hall. We got in really quickly though (the whole conference has been really efficient really, it has to be with 15,000+ people attending). As we got closer I could hear Hey Ya by Outkast playing and when I walked in the door to the literally the largest room I have ever seen there was a bunch of people dancing on the stage. As we crowded for a closer look, we found out that it was actually Outkast (not what sure what they have to with Java but anyway) and they basically rattled off all their hits as the room was filled. I will take some photos of the main hall, words cannot describe how large it is!

The keynote then started with some big wigs from Sun and it was really interesting. They invited guests in Amazon (to show the Kindle), the CEO of Sony Erricsson and then finally Neil Young. Neil was showing off his latest discography collection on Blu Ray that makes use of Java for the interactive menu system, pretty sweet really. It was announced that 100% of all Blu ray players run Java too, so it definitely gives us a foot up in the market. They also threw out some numbers, NetBeans has been growing at 44% for 3 years in a row now, and MySQL now has 65,000 downloads per day (up from 50,000 before the takeover by Sun).

For some really flashy stuff, there was an awesome demo of JavaFX. It allows Java to run on the web, desktop and mobile devices with no change to the source. The demo was called ConnectedLife which was a mashup of Flickr, Twitter and Facebook. The next JavaFX demo showed off how it could use the specific hardware for graphics acceleration and stuff. It was an app running on a mac that played about 100 different HD movie trailers simultaneously, while swirling around in a globe, very cool. Hard to believe that is Java!!! The big announcements were that Java 6 update 10 was being shipped today and that OpenJDK had made it into the latest releases of Ubuntu, Red Hat and Fedora (to much rapturous applause).

That set up for a really good and full on day, with my first session taking an in-depth look at Java 6 update 10. the new features are:

  • A new Java Plugin to replace the aging WebStart browser plugin. It is now modular, so just downloads what parts of the JRE it needs
  • A new Deployment Toolkit
  • A new modular Java Kernel
  • No more cold starts, jre running in background process
  • Better AA fonts on windows
  • Nimbus Swing look and feel to replace Metal
  • JavaFX updates

Then a quick session on the next Eclipse release (Ganymede) due for June:

  • A new Update Manager (finally)
  • Subversive SVN client
  • RAP and RCP improvements. These allow rich swing based clients built within eclipse to also be deployed on the web with Ajax with some changes to config files… very cool

Then a session aptly named ” JavaScript™ Programming Language: The Language Everybody Loves to Hate”. This was a really good session if you had an indepth knowledge of the intricacies and anomalies within javascript. Most of which went way over the top of my head, especially when he talked about Higher Order Functions (thats 2 or more nested functions….) …. ahhhh wow

After that was a totally packed session called “Defective Java™ Code: Turning WTF Code into a Learning Experience” which was taken by a lecturer and lead developer on FindBugs. I highly suggest you take a look at his slides here. He showed some common traps for young developers such as:

  • When writing multi-threaded apps, they use the field that they are synchronising as the lock/mutex which fails miserably
  • Using the same simple class name as a class in another package and not realising
  • DateFormat should be called DateFormatter and is not thread-safe
  • The intricacies of overriding .equals because it can mean different things in different circumstances

The last 2 sessions were how to develop desktop games with the jMonkeyEngine engine. This is very very cool… and so easy to make something with water effects and 3D effects and stuff. Nice and fast too. The other session was to do with the new field-based annotations (such as @NotNull and @Immutable) to be included in jdk7 as part of JSR308.

After that (yes there is more) I managed to squeeze into a full hands-on-lab session using OpenPortal and GWT to create a simple Ajax application that uses WebServices to display stock price updates. There seems to be a huge focus on Ajax and Rich Internet Applications (RIA) so it was nice to get hands on with some of this.

I have another very full day tomorrow but will try and upload todays photos asap. They will be here

I see the iPhone is going to be released in NZ…. hmmmmm lol

Seeya all tomorrow night ;)

Dave

 

CommunityOne (JavaOne Day 0) May 6, 2008

Filed under: JavaOne08 — daveharris @ 5:07 pm

I had an awesome day today at the first day of the conference. It was called CommunityOne and was free and open to anyone who was interested in the java platform. There was a big focus on Rich Internet Applications and therefore running scripting languages (like ruby and python) within the JVM and taking advantage of the 15 years of optimisations and new features.

After walking about 10 mins down the road, past Union Square I got to the Moscone Centre. I can’t really describe how huge this place is… really. I will take some photos. I completed registration and was given the access card and then picked up the first load of corporate tat. This was a sweet JavaOne bag with a really nice laptop section, a JavaOne tshirt and assorted advertising and cds. Then down the main pavilion to get the CommunityOne tshirt and OpenSolaris cd.

With the change of timeframes I missed the keynote at 9.30am but made it the first session of how to use jMaki to make really simple ajax applications. Although in a demo, everything looks easy, it is not until you need to customise it you realise how good it is. The next session was how to build Ajax applications within NetBeans (I see a theme emerging here!!). This was good to see some real code being written and I am seriously going to look at Apache Wicket. This framework allows you to write Ajax applications with just .html and .java files, not .js files anywhere to be seen which is great for us java devs. Although that is a pitty because we can’t use the brilliant JavaScript Editor Plugin for NetBeans. Yes yes I know, I should be flying the Eclipse flag, but NetBeans is pretty amazing for web apps. I will be extolling the virtues of OpenSolaris by the end of the week I’m sure!

After that was a presentation from the OpenSSO developers about how to use federated identity across multiple applications, basically what I am doing at SSC. The example they used was a corporate person logging into SalesForce via NT Authentication (ie, not username/password needed). Then a quick introduction to the new Java Persistence API 3.0.

After that was the Community Reception in the MASSIVE main hall with some nice sounds on a bass machine (formerly known as a stereo) and free American beer (yuk) and even more free OpenSolaris stuff (this time a tshirt and stickers). I am definitely loving the corporate tat, I barely needed to bring any clothes!!!!

There is breakfast at the conference tomorrow and then the keynote (there is one every morning) starts at 8.30am. This one is hosted by the EVP of Sun.

If you hadn’t guessed I’m having a great time ;)

I will post some photos from the first day tomorrow when I have faster net. The internet speed is blazing over here, with everyone twittering etc, I was downloading at flat 2 MB/sec from a US server ;)

UPDATE: Photos are now up here

 

Anyone going to JavaOne from Wellington/NZ? March 3, 2008

Filed under: JavaOne08 — daveharris @ 11:35 am

I am being sent to JavaOne by my employer Fronde and am wondering if anyone else is going there from either Wellington or NZ and wants to meet up somewhere along the way or in San Fran?

Leave a comment to this post and I will email you back ;)

Dave