|


JavaOne Day 2 Special Report 2005
|
|
JavaOne 2005: San Francisco, California
Report filed by Rick Ross, founder of Javalobby |
JavaOne is more than I expected, and I am really
delighted to see how our industry is doing in the post-war era. There
are a lot of people here, and there's a lot to see. If you haven't had
a chance yet, then you may enjoy checking out the photo gallery we have
put online. There are pictures of each of the two days so far, and
we'll get more online as soon as we can all gather and share what we
have seen today. It's colorful, it's fun, but most importantly at
JavaOne 2005 the things we are seeing are REAL! For a long time it was
the case that you would come to JavaOne and see things that you might
eventually be able to use at some date in the indefinite future. It was
useful to see where things were headed, but not especially helpful if
you had a real task that you had to complete with a real budget and a
real deadline. This JavaOne is different. People are showing tools and
technologies you can use right now. In most cases you can even walk
away from their booth with a CD of working product or download it with
the free wireless internet Sun has provided.
I
don't really know if I think JavaOne is bigger or smaller than last
year's, but I think there's a lot more energy present in the crowd.
This energy is decidedly positive, too. Developers are not talking
about having to persuade managers to give Java a chance, but rather
they are talking about the (often huge) scale of their real Java
deployments and the ways they might like to improve them. These are
smart, happy, employed people who are succeeding with Java in ten
thousand ways. For someone who has the irrational love of this
technology that I have it is a wonderful thing to see. I wish we could
just put this feeling in a bottle and send it to everyone who ever
feels isolated and alone in their use of Java technology. Each of us is
a small part of a very big technology ecosystem that is changing the
world more than we probably realize.
I need to
keep it brief because I have to go to an appointment shortly and will
not have time to write anything further until after the deadline for
this week's column. There are two things I'd like to mention
specifically, however.
The coolest thing I have seen at JavaOne 2005 is ICEfaces from ICEsoft.
This product is a standard extension to JavaServer Faces that provides
rich user interaction without the hassle of most of the AJAX kits I
have seen. They have taken a really intriguing approach by injecting
changes directly into the DOM tree structure of your web page, which
pretty much allows them to isolate you from the need to do a lot of
Javascript programming. You get all the benefits of an AJAX user
interface, but you don't have to hassle with tricky, browser-dependent
script code that may be harder to debug than your actual Java. ICE
faces is basically a RenderKit for JSF that you can get started with
quickly. I know I said everything is available right now just a moment
ago, but ICEfaces Direct-to-DOM technology is still prelimary. You can,
however, download it right now for free from ICEsoft's web site, and I
will certainly be doing so as soon as I get a few moments free.
The
second thing I wanted to mention is a respectably bold challenge that
Sun is running at Pod 800 of their booth. The Solaris 10 group has some
of their very experienced performance profiling guys showing how you
can use DTrace on Solaris 10 to improve the speed of your Java
applications. Their challenge is simple: bring them your Java app, and
if they can't show you how to get a material improvement they'll give
you an iPod! No, you cannot just show up with "hello, world" and
challenge them to speed it up. Your application has to be a real app of
at least a couple hundred lines of code. So far they have profiled a
bunch of apps, and I think they have only had to give away one single
iPod. If you're here at JavaOne and want a no-lose proposition you
should take your application to Pod 800 and see what happens? You'll
either leave with a faster application or an iPod, and that's a pretty
good deal!
Until next time,
Rick Ross
rick@javalobby.org
AIM or Yahoo Messenger: RickRossJL
|
JavaOne 2005: San Francisco, California
Report by John Rizzo, cofounder of JavaBlackBelt.com |
|

Attendees
The first day of JavaOne always begins with a very long line of people,
crossing 2 or 3 streets, slowly walking to get in. It's not that it
takes so long to be registered and get the usual bag, most of these
registered yesterday and show their bag and badge at the door. Rather,
it's impossible for so many people to enter a building quickly.
When walking the streets of San Francisco it's easy to recognize
JavaOne attendees, even when they don't wear their badge and Java bag.
The typical Java attendee is a male programmer of around 30 years
walking with confidence. But here, as compared to TheServerSide.com and
JavaPolis conferences, there is also another kind of attendee: many
nice looking women and even "groups of women", which I find quite
encouraging for this male industry.
People are used to debating about the number of attendees. My first
JavaOne was fairly recent, 2003, and I don't feel like there is less
attendance this year, on the contrary I feel there is more. So I
counted the seats in the main room myself: around 7140. During the
opening keynotes Monday morning, 90% of them were taken and there were
standing people in the back, plus others few outside the room. That's
0.16% percent of the 4.5 million developers making business with Java
world-wide. During the last 12 months, this number increased by 12%.
These are great numbers for Java, although nobody mentioned how well
.Net is also growing.
I was surprised by the number of people returning to JavaOne. The
speakers asked everyone to stand, then first time attendees to sit. Not
so many people sat down, in fact. Then they asked for those who first
attended in 2004 to sit, and so on back to 1996. Through this, I was
able to see that most people at JavaOne are there for the 3rd time at
least. On the other hand, if JavaOne always get the same attendees, you
may ask why it interests so few new people. It's probably a matter of
cost. Sun claims 1/4 million people were watching the keynotes on-line.
Come in, we are open !
What's
the most important letter in F.O.S.S. (Free Open Source Software)
According to Jonathan Schwartz, it's the F (Free). He said, "Most
people can't code...". Was he thinking about the Apache Harmony
project? People often ask, "Will Sun open-source Java?" Personally, I
don't care, and in fact and I share Matt Schmidt?s opinion from a
recent Javalobby newsletter that "free to download is open-source
enough." But Sun does go further: they half open sourced Java today.
- Mustang (Java SE 6) weekly snapshots are downloadable weekly. Sun welcomes contributions to the next Java versions.
-
JRL, JRL, JIUL. Sun revised the licenes. The JRL (Java Reseach Licence)
let you read the source code. The JUIL (Java Internal User Licence) let
you fix an urgent bug yourself and deploy internally (but not
distribute).
- GlassFish project, their application Server, is now free.
- NetBeans
has evolved much and you see NetBeans sessions and labs everywhere at
JavaOne, and even a special dayof the conference was dedicated
toNetBeans.
Free spec, free source code, free tools.
I
guess Sun is challenging the "Eclipse-(Spring)-Hibernate-Tomcat-JBoss"
de-facto standard. Will we still talk about Hibernate when EJB3
persistence APIs are widely used? It will be certainly an interesting
open-source implementation, but will people learn EJB3 or Hibernate
specifics? Java 5 EE proposes "standard" Inversion of Control (a core
Spring feature). Great people have made great software (JFace/SWT,
Hibernate, Spring, etc.) because Sun has been unable to provide what
developers want (faster/better Swing, easy persistence, lightweight
container). Hopefully, these great guys showed Sun the right path to
simplified and more productive Java development. But you need to be
200% better than the standard to attract people away from it, and the
standard is catching up. Will these tools still exist when Java is good
enough for the job?
I know this is a difficult and provocative question to ask. Java seems
to have reached another step of maturity: EoD (Ease of Development).
And it's not just Sun bull* marketing, it's real. Since 2000, Java
teams often asked me which set of frameworks/tools to use for their
Java developments. My answers evolution with years roughly is:
- 2000-2002 don't dot that ! (Sun's Blue print)
- 2003-2006 take this and that (Struts, Hibernate, Spring, JFace/SWT,...)
- 2005-2010 do it the standard way.
Of course, every job is different and having a choice of different tools is great; here I just give a general feeling.
Overengineering
From this Tuesday morning keynotes, I remember:
- Brazil healthcare IT system development in Java, lead by Fabiane Bizinella Nardon.
- Standing ovation to thank James Gosling driving Java for 10 years.
- The over engineered T-Shirt launcher from Cenqua team.
Cenqua
may not mean anything to you. They make the "Clover" testing coverage
tool that you probably know. They also showed me their last baby:
FishEye, an impressive reporting tool gathering data from code
repositories (CVS, Subversion,...).
This
Australian team built a brilliant example of over-engineering: A
T-Shirt launcher machine driven by a Java program. As you can see on
the picture, t-shirts are placed into cylinders mounted on wheels. Each
cylinder is closed by a little door. Somebody has to manually make the
wheels (and cylinders) turn very fast. A Java program activates the
doors opening and the centrifuge force ejects the t-shirts from the
cylinders.
The Java program is needed to
compute exactly when will the door open, which decides their direction.
You can see on the lower part of the photo that a video camera is fixed
on the machine, sending an image to the Java program. Before you
activate the machine, you tune how far to launch the t-shirts.
Unfortunately,
and as usual, a bug showed up during the demo: the infrared lens of the
machine have been misguided by the flashes of the photographers. But
after all, the purpose of over-engineering is to engineer, not to make
things work.
You can view the machine making-of and test photos on Peter Moore's site .
Bonjour from San Francisco !
John Rizzo
www.JavaBlackBelt.com
|
JavaOne 2005: San Francisco, California
Report by Mike Urban, Javalobby editor and lion researcher |
|
After getting off to a rather late start, the keynote this morning
featured Sun CEO Scott McNealy. Following the theme of “Eradicating the
digital divide” for this year’s conference, McNealy made several
requests for getting involved.
The first big area of request is the healthcare industry. 98,000
preventable deaths occur every year because of medical errors,
according to McNealy. In addition, 300 billion dollars are spent every
year on treatment that yields absolutely no benefit. Lack of available
information on patient medical history is a serious problem in many
parts of the world, often preventing doctors from being able to provide
effective treatment. McNealy spotlighted the Brazilian Healthcare
System as a Java success story when it comes to fixing this problem.
Brazil has implemented a nationwide healthcare information network. No
matter where a citizen goes in Brazil, as long as they have their
medical card with them, the card can be scanned, and a record of the
patient’s medical records can be pulled up. The system is also open
source for public health centers, to make it easily accessible. Fabiana
Nordon, one of the architects of the system, said there are other
nations interested in implementing the Java based system, including
several countries in Africa. When asked why Java was chosen for the
project, Nordon stated that the Brazilian government made a decision
that all new systems should be built on a standard platform, and that
Java was chosen as that standard platform. As an interesting statistic,
the system consists of about 2.5 million lines of code, written over a
period of only four months. Those must have been some busy coders!
The second big area was education. With education budgets as tight as
they are, many schools often can’t afford education applications.
Furthermore, the average K-12 math textbook costs over $100, and many
of them are of quite poor quality. Imagine, said McNealy, an open
source math textbook, with open source tests, and immediate feedback
after students take the test. Furthermore, the various chapters in the
various textbooks would be voted on by a group of educators similar to
the JCP, and scientific tests could be done to determine whether a
given chapter is more or less effective than the same chapter written
in different format by using a simple control experiment. Give one
group of students the original chapter, and a second group the second
chapter, and see which group does better on the exam. If this sounds
like something you are interested in, you are encouraged to visit the
Global Education Learning Community (GELC) Web site--a project
sponsored by Sun, O’Reilly, and CollabNet.
There were also
several awards given out for innovative Java applications. One of the
recipients was the Brazilian health care system talked about above.
Another one that I found particularly interesting because of my
interest in biology, was a system for identifying whale sharks based on
image recognition.
I was also able to attend a technical
session by Dimitri Trembovetski on improving the performance of Java
GUI applications. There are several things that can have adverse
effects on performance, including garbage collection occurring during
startup, (which can cause slow startup of Swing applications), trying
to perform all operations from the EventDispatch thread rather then
using SwingWorkers, poorly programmed custom JTable CellRenderers, and
wasting memory.
Trembovetski talked about how to solve the
garbage collection problem by changing the minimum heap size for the
application. By starting the JVM in verbose mode, you can see how much
heap is being used during startup, as well as how many times the
garbage collector runs. Tweaking the minimum heap size can prevent
garbage collections on startup and shave a second or two off the
startup time.
Another thing he talked about to reduce
startup time is turning off the Java byte code verifier, which can be
done with -Xverify:none. Of course, if you turn off the byte code
verifier, you nullify any guarantees about security since it would be
possible for malicious byte code that was intentionally assembled to
subvert the class loader and security manager, but with a trusted
application, turning off the byte code verifier can cut startup time
significantly.
One common cause of slow performance during
runtime that Trembovetski mentioned are large JTables with different
types of data that require different rendering pipelines. For example,
if your JTable contains pairs of text and images, and you draw each
pair by rendering the text and then the image, the video hardware will
have to switch rendering pipelines hundreds, thousands, or even tens of
thousands of times depending on how many cells are in the table.
Switching the rendering pipeline can cause noticeably slow performance
on large tables. If possible, it is usually better to draw all of one
type of data first. For example, draw all of the images first, and then
go back and draw all of the text. This way, the video hardware only has
to switch rendering pipelines once.
The conference is about
half over right now, and things are still going strong. Although I
haven’t seen any actual numbers for attendance today, my gut feeling
just from the “traffic” is that there are even more people here today
than there were yesterday.
Kind Regards,
Mike Urban
murban@javalobby.org
|
JavaOne 2005 Day 2: San Francisco, California
Photos by Javalobby Team
|
|
Samples
from the JavaOne Day 2 Photo Gallery
View these photos and many more
from JavaOne 2005 at Javalobby's photo gallery...
|
|
Thank you for your continued support of Javalobby. If you prefer
not to receive the Javalobby weekly newsletter, send an e-mail to unsubscribe-jlnews@javalobby.org Please be sure the actual email address to be removed is present.
Javalobby.org, 113 Legault Drive, Cary NC 27513 USA
|

 
@Macarlo,
Inc.
@Macarlo's Shareware
& Web
OS/2
Java Lobby Member
Java Site Accredited
[TOP] [HOME] [INDEX]
|