In the Quality Team we try to automate our testing as much as possible. This is easy for tests of the core library or other functionality where there's no GUI. But when you bring in a GUI like for AWT/Swing tests then the test complexity goes up dramatically, because for some scenarios you need to verify the graphics rendered correctly.
There's a general strategy we have in GUI testing we call...
on Dec 21, 2005
Berin Loritsch riffs off one of James Goslings claims: James Gosling Asserts that Safety is Freedom and heads into type safety in strongly typed versus loosely typed programming language.
It seems the basis for Berin's argument (loosely typed languages are safer/easier) is to take an analogy from Ben Franklin that "Any society that would give up a little liberty to gain a little security will...
on Dec 21, 2005
For quite a long time I haven't posted to this blog.
Along with my colleagues at Sun Labs I was busy working
on several new features we are planning to release in
the upcoming versions of MVM. Now we're pretty much
ready, just smoothing out several wrinkles here and there.
One of the two major additions will be the Resource Management API
framework. Defined in the experimentalstuff.rm package,...
on Dec 12, 2005
We've been gathering input from customers on various features they
would like to see us implement. At such a meeting one customer
requested a variation of JPasswordField. I figured it
would be interesting to blog on how you could modify JPasswordField to
vary the level of feedback it gives you. I'll cover various pieces of
Swing's text architecture in implementing one variation, as well as a
on Dec 5, 2005
Since the Quality Team is so widespread (as I blogged before, Santa Clara CA, Beijing China, Bangalore India, Hyderabad India, St. Petersburg Russia and Dublin Ireland) we have a constant question of what time we need to hold meetings so the majority of us can participate. It's tough because for most purposes Santa Clara and the other teams are on opposite sides of the world and we're asleep...
on Dec 5, 2005
The other day I wrote about a patent some of us in the quality team received over a test execution scheduling tool we developed. While the patent and the software is interesting, the thing that's really interesting is what that software enables us to do.
Namely ... because of DTF we are able to schedule execution of a tremendous amount of testing on a wide set of platform combinations. Without...
on Nov 30, 2005
Okay, go http://patft.uspto.gov/netahtml/srchnum.htm to the patent lookup service and enter this number: 6,961,937
Scan a few names down the list and you'll see yours truly. I'm speechless, astonished, and more. I kinda don't like patents, but there it is, my name on a patent. This means I'm going to have to hunt up my resume and add a new section on Patents Awarded. My gosh.
I think that I...
on Nov 28, 2005
In my last two blogs I've covered various aspects of Actions. I had
originally wanted to write about the changes to Actions in 1.6 but
felt the background would make interesting blogs. I promise this is
the last blog on Actions for a while;)
In 1.6 we've overhauled Actions adding new features and fixing a
handful of annoying bugs. For this blog I'm going to cover the new
features and when you...
on Nov 21, 2005
I've written a couple posts about my trip here to Bangalore. I've been talking about the life in India, as seen through my western eyes. While there's such a wide variety of stuff like that I could talk about ... I also want to talk about the Java Quality Team here in Bangalore. It's these people I've spent the last two weeks with.
We have perhaps 30 people in Bangalore, and one more in...
on Nov 20, 2005
I'm still visiting the Quality team in Bangalore, and want to share some more observations about life here. A significant portion of the Java SE quality team, sustaining engineering and even development engineering teams are located here in Bangalore. It seems to me worthwhile to talk about life here so that you who use Java can see a little about where those of us who create Java live....
on Nov 19, 2005
By popular demand Planet JDK now
publishes both an RSS feed and an
The Atom feed is in the
version 0.3 format (sorry Tim); I'll
set up an Atom 1.0 feed just as soon as ROME supports that version, which hopefully
will be fairly soon.
As I mentioned previously,
Planet JDK is open to anyone who's contributed code into the Java SE
Development Kit. If you've...
on Nov 18, 2005
I spent quite a bit of time working on
HPROF in the
JDK 5 (Tiger) release,
converting it from
JVMPI to JVM TI.
But I also spent a great deal of time making sure the new code
created output files that matched the HPROF file formats
byte for byte.
This was not an easy task, not only were these file formats
poorly specified, HPROF itself was considered "experimental",
built on an "experimental"...
on Nov 11, 2005
Sun is a global company, and we have engineering centers all over the world. One of the biggest of these is in Bangalore, and the Java SE team has a lot of people here. I'm visiting here this week and next to meet with and work with some of my colleagues here.
In some ways Bangalore couldn't be more inconveniently located for collaboration with a team based in California. India is basically 12...
on Nov 11, 2005
Many members of the JDK
Community are active bloggers, but there's no one place where you can go to
find their blogs. Quite a few can be found on java.net, but lots of Sun employees have
blogs elsewhere—most often on blogs.sun.com—and of course non-Sun
employees have blogs all over the web.
To help address this problem I've hacked up a simple aggregator and put it
up on the web...
on Nov 10, 2005
Ron Bodkin has written an excellent, detailed
article about using the
Inspector project. This combines AspectJ and JMX
technologies to add monitoring to applications in a clean and
I particularly like this style of article, where extended code
extracts are used to present something really useful rather than
just a toy example. The alternating...
on Nov 5, 2005
I originally intended to blog on the usefullness of WeakReferences for
client apps. This was to be motivated by the internals of Actions and
why Swing internally needs to use a WeakReference to support
Actions. In writing that blog I ended up spending more time describing
Actions that I've decided to split it into two blogs. This blog
motivates the need for Actions as well as the changes to...
on Nov 1, 2005
Sun is asking the developer community to help
attack the new
bytecode verifier in Mustang. Here's some background on how
and why the community can help here.
In developing Java SE 6 ("Mustang") we have adopted a more open, community-based, development model. As part of
that we are releasing complete binaries and sources for all our
weekly Mustang builds at
we are also...
on Oct 30, 2005
After complaining about shortcomings in the Java JDK for some
time I took the opportunity to actually try to fix one of the problems
is encountered and send a patch to Sun. Looking back I have to give
kudos to Sun how relatively easy it is to become a contributor and that
they really want to keep the developers in the loop not like in the
"good old" days where submitting a bug report meant that I...
on Oct 28, 2005
Descriptors allow you to give additional information about
MBeans to management clients. For example, a Descriptor on an
MBean attribute might say what units it is measured in, or what
its minimum and maximum possible values are. As of Mustang
(Java SE 6), Descriptors are a basic part of the JMX API and are
available in all types of MBeans. Here's the easiest way...
on Oct 22, 2005
In my blog at blogs.sun I talked about
building the JDK 6.0
but I must confess, most of the effort is in just getting your
machine setup, that alone should put you up for a JDK medal of honor.
Once a Windows XP machine has the C++ compiler installed and cygwin installed, the rest is fairly easy.
Of course that's easy for me to say, I've built it so many times
I think I might be going build...
on Oct 12, 2005