Joe Nuxoll's Weblog

Main | Next page »

20051201 Thursday December 01, 2005

Moving on...

Well folks (all 2 of you), this will be my last posting on blogs.sun.com. I am leaving Sun. My last day will be tomorrow, Friday, December 2nd. I will be starting at Apple fairly soon... and you can always read my personal blog (if you care) at http://joeracer.blogspot.com

Working for Sun for the last 2-1/2 years has been quite an interesting experience. I could say scads of wonderful as well as horrible things, as you might imagine. Sun is like so many other companies - you take the good with the bad. I will simply say this:

I had a lot of fun there working with a great group of high-energy folks. I will keep in touch with the people for sure!

If I'm lucky, this blog will sit here idle for years to come... cheers! And always remember that Silicon Valley is very small. We'll likely work together again in the future!

( Dec 01 2005, 11:41:54 PM PST ) Permalink Comments [14]

20051127 Sunday November 27, 2005

R.I.P. George Best

A soccer legend has left us for the locker room in the sky. Thanks for the great years with the San Jose Earthquakes, Georgie B. You will be missed on the pitch.

( Nov 27 2005, 11:47:48 PM PST ) Permalink Comments [3]

20051124 Thursday November 24, 2005

Gobble gobble

Poor turkies... It would sure suck to be a turkey today. Just the smell of cooking cousins would ruin your whole day.

( Nov 24 2005, 02:31:34 PM PST ) Permalink Comments [5]

20051122 Tuesday November 22, 2005

Java Properties and Events

Graham Hamilton recently posted an entry on his blog requesting suggestions for future Java language innovations. I work with Graham, and have had the opportunity to talk with him about a wide range of Java subjects. One place where we haven't seen exactly eye-to-eye is the area of language-level properties and events. I personally believe this is the #1 missing ease-of-development feature in the Java language (and platform, for that matter).

Adding properties and events to the Java language itself does more than eliminate common boiler-plate code, as is often used as the primary pro argument. The more important benefit of adding these concepts to the language itself is that it promotes the notion of "component library" instead of "class library" when designing new APIs and systems. Component-based development is what makes learning and developing with some "other" software platforms so much easier. The Java language is still very focused on the notion of "class library", which was long ago supplanted by "component libraries" in other platforms.

JavaBeans has been around for a long time. It was the *original* move toward component-based software for the Java platform. The notion of components promotes a plug-and-play method of software development where the common interfaces between components and an application are well defined. This makes it very easy for visual tools to aide in application design and building. It also makes it very easy for new concepts to be introduced to the end developer. A developer is handed a set of JavaBeans which they can study and poke-around with until they learn the new concepts implemented by the suite of JavaBeans. The only problem is... JavaBeans is just a conventional pattern, and not built into the language itself, and therefore completely ignored in most APIs. New technologies and APIs rarely use JavaBeans patterns, and the JavaBeans patterns themselves have gaping holes where tool vendors have had to fill in the gaps.

If these component-oriented concepts were in the language itself, they would be used across the board for new technologies. Any new API (or JSR, etc) would provide a set of components for a developer to use, as opposed to defining a set APIs to implement or leverage. Things would just be easier - both for tool vendors - and for end developers.

I have compiled my thoughts into a document that outlines how this might be accomplished. Please comment!

( Nov 22 2005, 08:18:30 PM PST ) Permalink Comments [4]

3-D glasses anyone? Anyone?

Okay, so I'm a big fan of the TV show "Medium". I watch it every Monday night at 10pm, or soon after via TiVo. Last night was a big deal because the show contained a bunch of 3-D stuff, and you had to have a set of 3-D glasses (one eye red, one eye blue) to see the effects. The latest TV Guide magazine contained a set of 3-D glasses for the big event, so everyone apparently rushed out and bought up all the TV Guide magazines. All of them. I went out last night around 9:30pm to get my lady and myself a pair so we could settle back and watch the keen effects that we looked forward to all weekend.

No such luck! All gone. Everywhere! Each store I went to immediately responded when I said "Hey, do you guys have any TV Gui..."

"We're all sold out of TV Guides, sorry! No more 3-D glasses! You're the 10th guy to stop by asking."

It was bizarre. I figured I was one of the very few that actually watched the show, but last night was a very powerful reminder of the scale of network television and advertising. Apparently the whole neighborhood was out looking for glasses, and those that were'nt already got theirs days earlier. I actually tried SIX different places with no luck.

Sigh. I guess I have to order some 3-D glasses from a catalog and keep them in a drawer in waiting for the next blockbuster TV moment. Luckily I have TiVo, so I'll get to watch the show afterall - but not until I find a pair of those darn popcorn goggles.

( Nov 22 2005, 01:32:21 PM PST ) Permalink Comments [6]

20051119 Saturday November 19, 2005

Dinan Tour

This is Steve Dinan, owner of Dinan Motorsports - a world-renouned tuner of BMW M cars. He is standing in front of his current daily driver, and BMW M3 with *every* single modification that Dinan provides for the car. It is very fast... Very very fast. How do I know this? Well...

I tagged along on a private tour of Dinan (in Morgan Hill) from Steve with a few friends on Saturday. After the very interesting and impressive tour, Steve offered up rides in his M3. I was quick and got in the first ride with my good friend (and fellow BMW M3 enthusiast) Carl. Just a quick spin. 170mph at one point - from a geen light to the next red light. Unbelievable. I have been in a lot of very fast race cars, but this by far is the fastest street car I've been in. It doesn't even feel bumpy like a race car - it really is just a mild-mannered street car with a venomous beast under the hood. Holy cow. It also handles so well that it's almost rediculous. We did a freeway cloverleaf at breakneck speed, and the car was just trucking along with no trouble at all. No squeal, no slippage. Just like as if we were at the speed limit... aaaack!

Thanks for the great tour of your *very* impressive business, Steve! That makes two guys named "Steve" with the best job in the world!

( Nov 19 2005, 05:00:00 PM PST )
Permalink Comments [1]

20051118 Friday November 18, 2005

Depeche Mode

I saw Depeche Mode Friday night at the San Jose Arena. Great band. I know the lead singer guy is married and all, but he sure has a lot of his crowd fooled... (you know what I mean). I just kicked back and listened to the great music.

( Nov 18 2005, 12:00:00 AM PST ) Permalink Comments [1]

20051116 Wednesday November 16, 2005

Warren Miller

Every year I attend the latest Warren Miller movie with my skiing/boarding friends. This year's "Higher Ground" was pretty amazing. The show was presented in HD, which is quite something to see. I did notice, however, that the movie was very obviously sponsored by Jeep, Grand Marnier liquor, and Nature Valley granola bars. In fact, it was quite annoying how obvious that fact was. They tried to "slip" these products into the film at every opportunity they could - often not smoothly. Yuck. With this much innerspersed advertising, the movie should have been free...

The non-advertising portions of the film, however, were breathtaking. I am ready to ride this season!

( Nov 16 2005, 11:00:00 PM PST ) Permalink Comments [4]

20051109 Wednesday November 09, 2005

U2 Concert Tonight

I just got home a bit ago from the U2 concert this evening in the Oakland Arena. It was awesome! I am a die-hard U2 fan, so they pretty much can't do anything wrong in my book... though it really was a great show! I'll be there again tomorrow night (did I mention that I'm a die-hard U2 fan???), but this time, I'm bringing ear plugs. My ears are going to be ringing all night for sure. Hopefully the ring will be gone by 7:30pm tomorrow!

( Nov 09 2005, 12:58:57 AM PST ) Permalink Comments [5]

20051108 Tuesday November 08, 2005

My favorite new Java language feature

    ArrayList<Donkey> donkeys = new ArrayList<Donkey>();
    ...
    for (Donkey d: donkeys) {
        d.doDonkeyStuff();
    }

The new simplified for loop construct is wonderful... but even better is the fact that you can create your *own* classes that leverage this new iterator type. All you have to do is declare a class (or interface) that implements (or extends if its an interface):

    java.lang.Iterable<T> or basically just Iterable<T>

If your class implements Iterable<Donkey>, then folks using your class can use the nifty new for syntax to automatically iterate each Donkey. Its beautiful and very elegant!

An example usage:

    public class Donkey {
        ...
    }

    public class DonkeyCorral implements Iterable<Donkey> {
        ...
        private ArrayList<Donkey> _storage = new ArrayList<Donkey>();
        ...
        // This example returns my generic storage collection's iterator,
        // though I could do whatever here...
        public Iterator<Donkey> iterator() {
            return _storage.iterator();
        }
        ...
    }

    DonkeyCorral corral = new DonkeyCorral();
    ...
    for (Donkey d: corral) {
        d.doDonkeyStuff();
    }

Thanks Tor - for setting me straight and fixing my code sample! That's what I get for going from memory and not looking at my own code while typing a blog entry!!! Hey! We need a blog entry module for NetBeans! I'd like to be able to blog from inside the tool! Get on that Tor!

( Nov 08 2005, 03:08:01 PM PST ) Permalink Comments [4]

20051031 Monday October 31, 2005

Inversion of Control

I was just scanning some docs on a web framework today, and I came across a term I have seen a lot of recently. "Inversion of Control" is essentially proper use of JavaBeans events for server-side folks that didn't get it the first time around when JavaBeans was introduced. One of the biggest points to having a real component model (JavaBeans) built into a platform (and ideally a language), is the ability to encapsulate complexity. Ideally, an end-developer doesn't need to understand all the details of a complex system. A handful of well-designed JavaBean components can encapsulate enough functionality to make programming a web, desktop, or mobile application a quick task. Unfortunately, the Java web-tier folks did not "get" this point until relatively recently. Web frameworks have traditionally been very code and XML configuration driven, and have not leveraged the power of component encapsulation. This latest trend is wonderful, but very late to arrive on the Java scene. JavaServer Faces (JSF) components are the closest I've seen yet to proper components on the web-tier.

( Oct 31 2005, 04:24:28 PM PST ) Permalink Comments [3]

20051013 Thursday October 13, 2005

iPod and iMac

I have always been a huge fan of Apple... and after today's announcements about the new video-capable iPod and the new iMac (basically a killer home media center), I am a *rabid* Apple fan. The home computer market will be owned by Apple some day. I hope. Sun will stick to businesses, of course, but wow - is Apple making a great run for the home. Wow. I am just beside myself.

I actually feel the urge to rush out and buy a new iMac and a new iPod. I already bought a few music videos, and I don't even have a new iPod yet. I surrender.

( Oct 13 2005, 01:34:49 AM PDT ) Permalink Comments [3]

20050928 Wednesday September 28, 2005

The Three Versions of Java

Java is a great language for creating applications, and a great runtime platform for deploying applications. The evolution of Java can be traced fairly easily by a large number of folks that have been involved since early on (including myself). What puzzles me today is the fact that we *still* have such divergent mechanisms, libraries, and techniques for writing applications to be deployed on the desktop, server, and mobile devices. Why do we have 3 versions of the Java platform? I certainly understand the history, but the future points at convergence of these! The lines between desktop, mobile, and web applications are blurring at an alarming rate folks!

If you take a look at the APIs in these three spaces, it almost seems like the there is a lack of communication between the respective groups. JEE guys don't talk to JSE guys and JME guys don't talk to JEE or JME guys... etc... Is this true? Are the three Javas developed independently from eachother?

What I would like to know is if you, the Java developer (not the developers of Java), work in more than one of these areas. I would like to know how many Java developers "cross boundries" and work in more than one of the three "versions" of Java. If there are any of you out there... how difficult is it to context-switch your thinking between the different ways of doing things with Java? Is it hard to build a Swing app and then switch to building a mobile app? How about a web app with JavaServer Faces - then build a desktop GUI with Swing? Or SWT? Do you get to share any code between these applications? Is that too difficult? What would you like to see in the future?

If you can't glean my opinion from the tone or questions I raise... I would like to see the three Javas converge. In my opinion, we need to make ONE Java, where an application developer can freely dance in the web, desktop, or mobile space without having to re-tool or relearn a new set of APIs. We need a unified notion of components. We need a unified notion of data-binding. We need to push Java toward the future of applications, which will freely span all areas they have touched before.

And, lest I forget... I hope you realize that there are several more "areas" of applications then the three mentioned above. For example, voice applications will also emerge as a strong mainstream contender now that VOIP is coming of age... They've been around for a long time, but now they will rapidly become popular. Just watch.

( Sep 28 2005, 01:35:03 PM PDT ) Permalink Comments [2]

20050907 Wednesday September 07, 2005

Web Architectures: Where do we go from here?

I hosted a TopCoder chat today, where folks asked various questions about Sun, Java, and Creator. You can see the transcript here. We got into some pretty interesting stuff - including a some talk about SWT! Oooohhh...

I'll be speaking next week at the SDForum event at PARC in Palo Alto, CA. The day-long event is titled "Web Based Architectures: Where do we go from here?". The event is on Wednesday, September 14 2005, 8:30AM - 3:30PM at PARC, 3333 Coyote Hill Road, Palo Alto. I'll be a panelist in the last session at 2:30pm called "Web Architecture: Tools and Techniques". The panel will discuss the tools of the trade and how folks have been building (and will be building) web applications of the future. Come check it out!

( Sep 07 2005, 04:03:50 PM PDT ) Permalink Comments [1]

20050906 Tuesday September 06, 2005

JSR-273 Project on Java.Net

Hello folks! The JSR-273: Design-Time API for JavaBeans, or "JavaBeans2" as folks have been calling it is underway! Please have a look at the public project on Java.Net: "jbdt-spec-public". There you can find the latest code and JavaDoc for the JSR-273 API. Please make comments!!!

( Sep 06 2005, 02:24:59 PM PDT ) Permalink Comments [1]