Archive for the ‘JavaOne 2008’ Category

Sun General Session Extreme Innovation

Friday, May 9th, 2008

James Gosling’s general session was rather interesting. He went through a few of the new innovations that Sun and other companies have been doing with Java.

First two are very useful and I can see using them right away. First they showed off a Visual VM tool. This tool pulls together all of the metrics about a JVM into one place. This includes Heap Analysis, and Garbage Collection. It also has an API that allows you to write your own modules.

The next innovation was put on by Tor Norbye of the Java Posse. It was the Javascript integration with NetBeans. It had code complete, and an interactive debugging in Firefox. I think it might be time to give NetBeans a real look.

There was project Darkstar which is like an application server for online games. Seems to have some really neat stuff and allow game developers to concentrate on developing games and not the plumbing that is nessisary to run an online game.

Sentilla is a company that makes JavaME sensors. I wrote earlier in the week about how they have these sensors all over the convention hall tracking the movement of people. THey did an interesgting demo by putting these sensors into beach balls, and having the crowd hit the beach balls around. They displayed the location of the beach ball on the screen. They used some of these Sentilla sensors that used signal strength to calculate the position.

Probably the most interesting piece of JavaME was the Pulse Live Scribe smart pen. This is a pen that can record audio while you write and then replay it, store it on the computer, etc. The pen also allows the development of applications that can run right in the pen. They demoed a very cool piano application. The user of the pen, drew the keys on paper, and then was able to play notes on the piano he drew. God I wish I had one of these while I was in college.

There were also a couple of other demos having to do with Real Time Java. Some industrial applications, an entry for the DARPA XPrize (Tommy Jr. the car was called.), and an application that helped render data from Mars to help them track down water on Mars.

Public Health Alert

Friday, May 9th, 2008

I woke up this morning with this email in my in box.

Subject: URGENT! PUBLIC HEALTH ADVISORY FROM JAVAONE TEAM

The JavaOne conference team has been notified by the San Francisco Department of Public Health about an identified outbreak of a virus in the San Francisco area. Testing is still underway to identify the specific virus in question, but they believe it to be the Norovirus, a common cause of the “stomach flu”, which can cause temporary flu-like symptoms for up to 48 hours. Part of the San Francisco area impacted includes the Moscone Center, the site of the JavaOne conference which is being held this week. We are working with the appropriate San Francisco Department of Public Health and Moscone representatives to mitigate the impact this will have on the conference and steps are being taken overnight to disinfect the facility. We have not received any indication that the show should end early, so will have the full schedule of events on Friday as planned. We hope to see you then.

Please see the attached notification from the Department of Public Health.

For further information, as well as Frequently Asked Questions related to the Norovirus, please visit the San Francisco Department of Public Health website at http://sfcdcp.org/norovirus.cfm

Both of my former Colleagues who are here at Java One with me both got this bug. I’v e been ok. The only ill effects I have felt have been self inflicted. I did notice that the lines in the mens rooms between sessions was very long.

The Garbage-First Garbage Collector

Friday, May 9th, 2008

A new Garbage Collector is coming to the Sun JVM. From what I have heard it is a lot like the Garbage Collector in JRocket.

The current Garbage Collector is called CMS. (I have no idea what it stands for.) The new Garbage Collector G1, is a generational Garbage Collector much like CMS. However instead of the physical seperations between the Young and Old generations, it allocates 1 meg blocks of memory and designates on the fly the purpose of that block (Old or young.)

I’m suppose to do a presentation for NUGS on tuning Garbage Collectors next week. I’m going to try to squeeze in some info on this new Garbage Collector, and even take a look at how the JRocket Garbage Collector work.

Top 10 Patterns for Scaling Out Java™ Technology-Based Applications

Friday, May 9th, 2008

This session was great. Cameron Purdy is an interesting guy. The presentation went into what keeps systems from being scalable. I won’t reiterate all of the 10 points of the presentation. I’ll be sure to get this set of slides.

All work and no play makes Joe a Dull Boy.

Thursday, May 8th, 2008

So I have had an opportunity to go out the past few nights with some former colleagues. Last night I decided to stay close to the Hotel. I had dinner at the bar/resturant that is in the hotel. I met a rookie bartender that didn’t know how to make a long island ice tea. Well after a few long island ice teas I had her pouring the 4 shots of clear liqueurs in 1 pour.

Here is the photo:

The owner of the restaurant asked me to email him the photo so he can put it on the wall. So now I am photographer that has been published in San Francisco.

Unit-Testing Database Operations with DBUnit

Thursday, May 8th, 2008

This was a session that showed off the DBUnit framework. DBUnit framework is based on JUnit but facilitates the testing of operations that update the Database.

It is important to put the database into a well known state before starting the tests.

Could be tested using JUnit, but there is a lot of code. Lots of code to initialize the DB, and then a lot of code to verify the results.

DBUnit is a framework for doing this type of coding. There is representations of what the data should be when the test starts, and representation of what the data should look like after the test.

This looks really promising for those types of tests that update data. It would also have excellent application to more than just Unit tests, but also automated testing of any kind of data.

It’s All About the SOA: RESTful Service-Oriented Architecture at Overstock.com

Thursday, May 8th, 2008

This session was a case study in RESTful Web Services.

Restful web services really is a light weight web services implementation. There is no specification. There is only style. REST does not use any of the ws-* specification.

Overstock.com rolled their own implement ion of RESTful web services. They were very animate about not wanting to use any of the SOA tools such as an ESB.

I suspect that Overstock.com will eventually experience service sprawl and will be looking to some of the ESB type applications to help them out.

I’m not sure I am a fan of these RESTful web Services. The lack of an interface specification seems to me that it will be problematic in the future. Of course I need to learn more before I can really make a determination.

Groovy, the Red Pill: Metaprogramming–How to Blow the Mind of Developers on the Java™ Platform

Wednesday, May 7th, 2008

This was really an eye opening presentation. I knew nothing about Groovy other than it was a language that ran on the JVM and had something called Closures.

Groovy syntax can be exactly Java Syntax. Groovy gives the ability to create domain specific languages using Method pointers. I’m thinking that a domain specific language could be created as a replacement for WLST.

I finally understand what a Closure is. Maybe it wasn’t all that hard to being with. But it is a hunk of code that doesn’t have a class that you can pass around with method pointers.

I love some of the syntaxical sugar that Groovy gives like the way for loops are done. The operation overloading, etc.

Groovy is also great for testing. I can’t wait to get in and write some decent test cases. I always found writing unit tests to be a pain in the ass. This might be a way to expedite the creation of unit tests.

I’m going to be looking more at Groovy and Grails.

Morning General Session with Oracle

Wednesday, May 7th, 2008

Oracle has the morning general session today. Here are some random thoughts.

Sun guys are all wearing jeans. Oracle.’s guy is in a full suit.

Oracle is pushing their Application Development environment. More drag and drop programing. Which sometimes is

nice, but I can’t help but think that they are trying to do with Java what Microsoft has done with VB, Visual C++, etc.

They also announced the Oracle Enterprise development plugin for eclipse. This is going to be available for Free.

Oracle is showing off some of it’s SOA stack, specifically it’s process orchestration based on BEPL. Of course none

of the BEA products seem to be shown here. They do reference that their process orchestration can integrate with an

ALSB service. But that is nothing more than any other Web Service. There was no real spot light on any BEA

products during the SOA portion of the conversation.

During the Grid portion of the Oracle talk, they are showing the JRocket Liquid VM running an Order Entry system, an

Oracle Coherence Data Grid and Oracle Application Server running on JRocket.

I was really disappointed that the Oracle presentation really didn’t talk about the direction of BEA and/or WebLogic. Maybe this wasn’t the time or the place, but that is what I was hoping for.

Virtualizing a Virtual Machine

Wednesday, May 7th, 2008

This session was given by a pair of engineers from AMD. At first it started out as a commercial for the AMD-V chip. Which is optimized for Virtualization.

There were some interesting things about virtualization that came up.

First, the really do recommend using the JRocket Liquid JVM from BEA.
Next, you really have to look at your Network requirements when you have virtualization. You need to tune your Network buffers. They found that if you use a an IO buffer size 64K works best for sockets streams.
Also, if you have a network switch that is using auto negotiate and your Guest OS network devices use a fixed speed like 100 Base-T, the negotiating does not always work. So you need to fix your switch to the same network speed that the Guest OS network devices use.

The most disturbing piece of info that I received was that if you have a Linux Guest OS with more than 800 megs of RAM, the translation from the Hardware memory addresses to the VM Memory addresses becomes a bottleneck. This has some big implications for one of my projects that I am working on now. It might be time to take a closer look at the JRocket Liquid VM.