Joe Nuxoll's Weblog

« Previous month (Oct 2005) | Main | Next month (Dec 2005) »

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]