The Source for Java Technology Collaboration
User: Password:



Masood Mortazavi's Blog

May 2006 Archives


Derby 10.2 Snapshot

Posted by mortazavi on May 27, 2006 at 06:15 PM | Permalink | Comments (0)

This is the best time to take a close and serious look at a preview of Apache / Derby 10.2.

Use Derby and get involved! Provide constructive feedback before this upcoming release of Derby comes into "official" being.

Rick Hillegas, a senior staff engineer at Sun and an Apache Derby committer, has put together a snapshot of Apache / Derby 10.2 prior to its final release, which will be coming, I believe, in the next few months.

From Sun engineers contributing to this snapshot, I can proudly name Andreas Kornelliusen, Anurag Shekhar, Bernt Johnsen, Dag Wanvik, David Van Couvering, Dyre Tjeldvoll, Fernanda Pizzorno, Francois Orsini, Knut Anders Hatlen, Kristian Waagan, Lance Andersen, Michelle Caisse, Olav Sandstaa, Øystein Grøvlen, Rick Hillegas, and V. Narayanan — a great team distributed over three continents — miles and hours apart but united with each other and with the rest of Apache / Derby community to make 10.2 a real success for developers who like lightweight, no-nonsense databases to embed easily in their applications.

As you may notice if you lurk around Apache Derby, many engineers from Sun (see the above list), IBM (Dan Debrunner, Andrew McIntyre, Kathy Marsden, Jean Andersen, Sateesh Bandaram come to mind) and other independent engineers (Bryan Pendleton and others) have made valuable contributions to make this snapshot possible.

Check it out and kick the tires on this snapshot of Apache / Derby 10.2! You can get the jars here, and a description of major features here.

By the way, Sun will be distributing Apache / Derby under the Java DB brand, as IBM distributes it under the Cloudscape brand.



Meeting a Colleague @ a Session

Posted by mortazavi on May 20, 2006 at 10:45 PM | Permalink | Comments (0)

Continue Reading...



Why do people attend conferences

Posted by mortazavi on May 18, 2006 at 10:49 PM | Permalink | Comments (0)

Is it the T-shirt bombardment at the night of the party (tonight) that attracts them?

Is it the scantly dressed ladies that some companies use to prop up their marketing fronts?

Is it the opportunity to network?

Or is the answer far simpler for the majority?

I think the real answer is that people learn best and are inspired by the simple example of their peers.



Streaming w/ MMAPI

Posted by mortazavi on May 18, 2006 at 10:40 PM | Permalink | Comments (0)

Craig Robinson and Brent Newman (both of RealNetworks) reviewed the use of Mobile Media API (MMAPI) in their session.

In practice of using these APIs, this is what they said they've observed:

Huge differences in codecs supported by varying devices. Some implementations of MMAPI seem to be incorrectly reporting their capabilities. (Robinson and Newman say they can make some documented recommendations available to device vendors.) They also noticed that HTTP streaming is not properly supported across devices and generations of devices. They put in a plug for the Helix media engine developed by the Helix community in support of JSR 135. They also suggest the use of getSupportedXYZ as a first call in the application so the list of media types supported can be extracted from the device platform.

For old devices, they recommended "chunked playback" on HTTP. This technique, however, leaves audible gaps and clicks.

The demos, while simple in form, were quite illustrative of the main points of the talk.



From P2P 2 P2P

Posted by mortazavi on May 18, 2006 at 12:54 PM | Permalink | Comments (3)

Bernard Traversat's session focused on his Boeing and FCS JXTA-networking collaboration and ended with a discussion of simple JXTA programming constructs. (A good weblog on the topic of JXTA is Mohamed Abdelaziz's.)

I found his analysis of the history of the Internet insightful. Here are the three chapters according to Traversat, who is a director of advanced development at Sun Microsystems:

I. Early days of "Internet" BBN ARPANET, crude computer to computer networking.

II. 1980s-1990s Physical addressing, dns, network administration.

III. 2000s Modern p2p -- Self organizing, highly resilient, highly dynamicoverlay network and virtul addressing. Example technologies: Napster and JXTA.

I put this entry together while still sitting at the session using my Sidekick II.



Off To The Races

Posted by mortazavi on May 17, 2006 at 11:16 PM | Permalink | Comments (0)

Earlier today, I had a chance to talk to Sun Distinguished Engineer Greg Bollella while we both gleefully watched the 2006 Slot Car Race in action.

Greg, who has been behind Real Tim Java for the past 10 years, graciously shared some insights about the race and how participants were doing.

If you want to participate and if you want to learn more about Real Time Java and mechatronic control through first-hand experience, you can check out Slot Car Programming Challenge or even better, just walk over to the area near the entrance of the JavaOne 2006 Pavilion and talk to Greg himself. James Gosling has also written a blog about it.

Remember - Confucius said something to this effect: What you read about, you forget. What you see, you remember. What you do, you learn.

The best way to get engaged and going in the race is just show up at the entrance area of the JavaOne 2006 Pavilion — "Half of life is showing up," said the sage of Manhatan. To make your showing up even more useful, review the information regarding how to participate in the race.

Folks, this is really not that hard. The programming tools and platform are available on machines near the race tracks, and you still have time to participate, meet Greg in person instead of just reading about him, and write a bit of code to drive a slot car on a relatively challenging track.

The control mechanisms are simple. Greg has made it really easy for those who want to focus only on the control aspects.

A map of the track is available, sensors are evenly spaced along the tracks, and you're allowed pretty much as many experimental runs with your code as you like and as you update the code. Greg seems to be right there almost throughout the hours of the show to give you some encouragement and advice.

Digital real-time control was never meant to be easy in practice. That's why for hundreds of years people have relied on dynamic (read physical) control of mechanical objects. The case in point is the steam engine and its pressure control mechanisms. However, participating in this little game, you can get your hands into the mud of digital control and start shaping it to win a race!

I should end this by saying that RTSJ has attracted the attention of many others in a wide range of industries from manufacturing to telecommunications.

Last summer, while visiting the R&D centers of some of Sun's best mobile communications partners in Europe, I noticed a real interest in RTSJ, in particular in the mixed programming model. Most telecom (mobile or otherwise) service apps are composed of parts that are hard real-time, other parts that are soft real-time, and some other parts that are just good with basic best-effort.

RTSJ tells you how to mix these programming paradigms in a rational and useful manner.



Concurrency and Java Memory Model

Posted by mortazavi on May 17, 2006 at 05:08 PM | Permalink | Comments (0)

The master craftsmen of memory management in concurrent programing (William Pugh, Univ. of Maryland, and Jeremy Manson, Purdue University) have advice worth following by every programmer of multi-threaded Java code.

The session included a couple of interesting multi-threaded puzzlers that arise due to compiler and processor oprimization of threads and serialization of operations and a mention of the famous "happens-before ordering" and its transivity, imposed by locks.

The speakers discussed the value of the "volatile" modifier — Reads and writes of volatiles are atomic. Volatile writes and reads cannot be reordered by compilers. Effectively, volatiles must be accessed through acquire/release pairs. Volatiles are useful when writing non-blocking code. An alternative to volatile is java.util.concurrent.Atomic.

Other advice:

Do a web search on 'double check locking'.

Lessons learned:

Declare all fields of immutable classes as final.

Be "scared" enough of multi-threaded code to make you fully cautious!

Imagine thread schedulers are out to get you.

And, I guess to reduce the possibility of the more interactable cases, they advised that programmers

Reduce lock scope.

Reduce lock duration.

Other resources:

www.cs.umd.edu/~pugh/java/memoryModel

Goetz's book was mentioned again, too.



Check out the Aquarium

Posted by mortazavi on May 17, 2006 at 02:54 PM | Permalink | Comments (0)

If you're interested in Java EE related news, in Glassfish and other Java-for-the-enterprise topics, The Aquarium should be one of your way stations.



Barcelona vs. Arsenal for Lunch @ JavaOne 2006

Posted by mortazavi on May 17, 2006 at 11:32 AM | Permalink | Comments (2)

I'm afraid castle is closed for good. So, the advice below the line, below, was worthless ;-)

I walked to an Algerian cafe two blocks lower at Leavevworth and Geary. Cafe Grain D'or.

------ Bad Advice Follows:

For Barcelona vs Arsenal, to take place @ 11:45 today, a colleague recommends: Edinburgh Castle at 950 Geary Street -- that's about 10-15 minutes walk from the Moscone.



Some quick impressions from Day 1

Posted by mortazavi on May 17, 2006 at 01:08 AM | Permalink | Comments (0)

Check out my general impressions of the first day, here.



Concurrent Programming in Java--Where to Start

Posted by mortazavi on May 16, 2006 at 05:36 PM | Permalink | Comments (0)

Before you go and develop your own concurrency libraries, take a closer look at

java.util.concurrent
Then, turn to the material that goes with JavaOne 2006 session TS-4915 by Brian Goetz (Quiotix Corp) and David Holmes (Sun Microsytstems).

I'm certain much of what you need will already be there in the class library packed into java.util.concurrent.

By the way, Goetz also noted that his book on concurrent programming with Java has been out as of a couple of days ago.



Java DB, Informal BoF Tonight

Posted by mortazavi on May 16, 2006 at 02:15 PM | Permalink | Comments (0)

David V.C. has bloged about it, and I've already given the coordinates for the JavaOne community event focused on Apache/Derby tonight.



A Packed Conference Hall

Posted by mortazavi on May 16, 2006 at 12:51 PM | Permalink | Comments (0)

To me, a packed JavaOne conference hall during the keynote address this morning proves continuing and very broad enthusiasm for Java.

Read Calvin Austin's very succinct report for the full keynote. (One more highlight was Jeff Jackson's announcement of Open Java EE.)

After the keynote, I rushed to another presentation I was waiting to attend this morning — There were long lines of folks waiting to get into Dave Johnson's presentation on a REST-full implementation of HTTP server and client for the ATOM protocol.

More on this later!

In the meantime, JavaOne 2006 news is bubbling and frothing.



Another JavaOne 2006 Conference Planner

Posted by mortazavi on May 15, 2006 at 11:54 PM | Permalink | Comments (0)

If you have a JavaOne 2006 Conference pass, and specially if your pass does not allow reservation of a session, you might want to take a look at the JavaOne 2006 conference planner hosted by the Javalobby.

I tried it, and in many useful ways, it is better designed, as a conference planner, than the Schedule Builder, which is primarily for reservation purposes.

I created the required free account (using my yahoo e-mail address) and then the schedule by very intuitive drag and drop in Java Web Start gui which keeps my schedule and the available sessions, for a given time slot in parallel panes.

I then saved and e-mailed it to my current mobile device.

(According to a colleague and friend from Trondheim, K. Waagan, this planner was mentioned by James Gosling near the end of his keynote at NetBeans day.)



The Hacker Station @ JavaOne

Posted by mortazavi on May 15, 2006 at 04:42 PM | Permalink | Comments (0)

SunRay 170-based Hacker Station at JavaOne is something you can brag home about.

Sanity returns when you don't need carry a laptop around in order to get a few basic things done!



An Informal JavaOne BoF

Posted by mortazavi on May 15, 2006 at 11:00 AM | Permalink | Comments (0)

As JavaOne grows, more and more BoFs and informal gatherings are bound to happen in parallel with the main conference, catering to special needs.

This Tuesday evening, one of these informal BoFs, focused on the Apache / Derby project, will be held on the sidelines of JavaOne 2006.

Feel free to join and socialize with others who are interested in database technologies implemented in Java. We expect attendees and contributors from Sun, IBM and elsewhere.

We have only Java DB's very own product marketing manager, Rebecca Hansen, to thank for her ceaseless efforts to pull this through in the last few hours before JavaOne formally begins. Thank you Rebecca!

Here's the official announcement for the event.

You are cordially invited to join others in the Apache Derby community on Tuesday evening for
An informal Derby BoF at JavaONE 2006!
hosted by Sun and IBM

Come learn What's Cool and What's New in Apache Derby -- an all-Java database -- from Derby committers and community members. Have rousing conversations on subjects such as "The Power of Java in a Database", "Derby is a Real Database (ACID & 50+GB!)", and of course, "Is It a Hat or a Horse Race?" Beer, wine, softdrinks, and very nice snacks provided!

Tuesday evening, 16 May from 7:30 - 9:30 pm
@ Jillian's in the Sony Metreon next to the Moscone Center
101 4th Street, Suite 170, San Francisco
(Not in the Mocone Center as previously announced)



JDO Hits Final

Posted by mortazavi on May 13, 2006 at 06:44 PM | Permalink | Comments (0)

It's no longer news, and people are talking about it elsewhere, but it is still worth noting that JDO 2.0 released its final specficiation on May 1, 2006, and 10 days later, EJB 3 released its final specification.

Once again, we have to thank JDO's author and expert group lead, Craig Russell, whose diligent pursuit of simplicity and effectiveness has given rise to JDO, even as some controversy remains.

If you want to learn more about JDO 2.0, you may also want to take a look at its TCK, now available at Apache.org. JDO 2.0 is now a subproject of the Apache / DB project. Take a look, too, at the download page, where you can find the official release.

For an open-source reference implementation of JDO 2.0, take a look at JPOX 1.1.0.



Getting the Schedule

Posted by mortazavi on May 05, 2006 at 07:54 AM | Permalink | Comments (0)

Everyone who has ever attended JavaOne should know that doing a bit of work to organize your activities there can help you have a more sane conference.

Of course, you probably also want to be somewhat open to changes and other events that may come up or interest you as you walk on the conference floor.

I've not attended JavaOne since 2002 due to business trips I had to take each year to visit customers and telecommunications partners right about the same time.

In the previous years when I attended, I rarely used the scheduling tools available.

This year, I'm using the scheduling tool (Schedule Builder).

Schedule Builder works quite well for the purposes it was designed, i.e. figuring out which sessions are full, which ones you want to attend, and what collisions you need to resolve. You need to be willing to iterate a few times.

I'm now done with a couple of iterations putting my schedule together for JavaOne, and will return to it again later.



Get Ready for JavaOne

Posted by mortazavi on May 01, 2006 at 12:25 AM | Permalink | Comments (0)

As usual, there is an amazing array of sessions and BoFs planned for JavaOne 2006.

If you're coming, you better start getting ready.

In parallel and besides reserving your seat for your desired sessions using the Schedule Builder, you will want to closely review the "Content Mailer" and the "JavaOne Conference Review," which among many other benefits, gives one the privilege to access the online technical sessions from current and previous JavaOne conferences 365 days a year. (These include the slides, the audio presentation, and the transcript of each session.)

Of course, nothing beats being there!

With absolute certainty, there is always more there than can be digested by one person.

These tools will help with organizing and pacing your activities at the conference so that you may take the most you can for every effort you put into it...

...and if previous JavaOne's have not already convinced you, after this one you may find yourself looking to become a registered member of the Sun Developer Network.

But of course, nothing beats being there!





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds