Explicitly and without apology a marketing vehicle MaryMaryQuiteContrary

Thursday Sep 30, 2004

you guys, this is incredible... Calvin is still holding court over there.... he continues to be engaged in dialogue with folks who came to celebrate the release of the Java 2 Platform, Standard Edition 5.0.

the excitement around this release of the Java platform is electric.

So while Calvin is over there talking the technical talk, I've been working the room. and making friends. and taking pictures.

and avoiding the seriously weird crazy guy who knows less about the Java platform than i do, yet apparently comes to every single one of these NYJavaSIG meetings and gives everybody the creeps.

i'm going to tell you all about it. But i've got a plane to catch so you're going to have to wait a little while.

i've got to hop in a cab so i can get to the airport to make my flight home.

so that's the story here from New York.

post game show tomorrow. i'll have pictures!!

mary



Calvin's talk has been concluded for more than a half hour now.

the party is definately in full sing.

People have spilled out of the auditorium and are mingling, enjoying (free) food and beverages.

I look around... I don't see Calvin....

He's still in the auditorium... he hasn't been able to leave the podium...He's surrounded by folks wanting to talk to him about the Tiger release. It's been a half hour. And he's still holding court -- the crowd surrounding him is four people deep.

pictures at 11.

mary


the party's on people!

right now, even as we "speak," Calvin Austin, the Java 2 Platform, Standard Edition specification lead is talking to an capacity crowd here at the NYJavaSIG about the Tiger release -- 5.0!

lots of buzz... lot's of excitement in the room.

(and frankly lots of interesting characters, if you know what i mean)

keep it tuned here for breaking developments...

mary



Hot off the Press!

Tiger Roars: an Interview with Sun Microsystems Vice President Graham Hamilton, Part One Sun Fellow, Graham Hamilton, discusses the many improvements in the newly released Tiger -- Java 2 Platform, Standard Edition (J2SE) 5.0. Download the JDK and find out what the key architects are saying about J2SE 5.0 by visiting their blogs

Did I ever mention that I have known Graham Hamilton for nearly a decade. And that he's a founding member of  that exclusive and tightly-knit fraternity of techno celebs who are my close, personal friends.

OK, so it's not exactly a bi-directional type of friendship.

OK, it's also true that he actually only vaguely knows me.

And that he doesn't really like making eye contact with me.

None the less.

Graham Hamilton, techno celeb
check
Graham Hamilton, personal friend and occasionally even hits reply when Mary sends him an email even though delete is a much more likely outcome.
check.

guess what else?

picture!

graham with tiger

picture of Graham with the tiger from JavaOne!

8X10 glossy.

getting it framed.

was thinking I was going to give it away.

but i can't part with it.

i'm going to put it on my desk.

Tiger, Tiger burning bright.

mary

p.s. hear Graham and James Gosling live streaming audio today at 9 a.m. US Pacific.


Wednesday Sep 29, 2004



Thursday, September 30
9 a.m. US Pacific
Live streaming audio from James Gosling and Graham Hamilton

don't miss it.

then quick hop on a plane.

go to New York for the big party.

you're invited.

(you must register to attend.)

All in honor (and celebration) of the Java 2 Platform, Standard Edition, release 5.0.

why such a big deal?

hello, sista?! you bin living in a cave? (sic)

it's only one of the largest projects ever developed through the Java Community Process. ever.

160 expert members designing more than 100 features.

huge big time massive big deal.

I happen to be in the process of seeking out (some might call it stalking) a certain Gilad Bracha who is the guy that writes the Java language and Java virtual machine specification. Let's just put it this way: not a lot of people on the face of this planet can do this work. Gilad can. And does.

Oh, but it doesn't stop there, people... Ken Russell and Fred Oliver... startup time... Class Data Sharing. huge performance win.

i'm stalking them too.

Robert Field (M&M).

Mandy Chung (JSR 163, JSR 174)

Bino George, Chris Campbell  (XAWT and opengl support)

huge, huge, huge amount of work.

(i'm going to get Bino a "g" for his name. just kidding. just a little humor there...)

Scott Violet and a host of others worked on the skinnable look and feel.

that's the key here.

a host of others.

you guys... we're hours away from the release...

this is huge... this is HUGE!

And I intend to stalk all these guys. And they're not even all guys.

that's never stopped me.

i intend to personally invite these A-list celebrities and Java platform super stars into that tightly knit and exclusive community of techno celebs who are my close personal friends.

pop quiz: what do all these guys and gals have in common with me?

we get our paycheck from the same company.

totally blows your mind, doesn't it.

i gotta go. need to figure out what i'm going to wear to the party tomorrow...

big J2SE 5.0 kiss!!

mary

p.s. i didn't mention Calvin. i went through the whole (shamefully abbreviated) list of Sun techno celebs who've had a hand in shaping this huge monumental release and I don't mention Calvin. Well, Calvin is my fave. i've been stalking him for a long time. he knows the drill. he can show you guys the ropes.

p.p.s. doesn't this whole thing want you go stand in line somewhere to be first in line to get it? i love the Internet. shift. reload.


Tuesday Sep 28, 2004



which means we're having a party at my house, with lots of Very Good Looking Damn Smart Women.

but my little bash pales in comparison to what Tiger party will be like in NY on Thursday. That's the party to celebrate the release of the Java 2 Platform, Standard Edition 5.0.

and guess what?

you're invited.

and guess what else?

a certain special somebody will also be there. hint, hint.

so to close this one out, I'd like to share with you the motto of all Very Good Looking Damn Smart Women, which I got from my friend Daphne who is accurately described by all six of those words:

Life should NOT be a journey to the grave with the intention of arriving safely in an attractive and well preserved body, but rather to skid in sideways, Champagne in one hand -- strawberries in the other, body thoroughly used up, totally worn out and screaming WOO HOO - What a Ride!

mary

p.s. Our other mottos are to buy lots of shoes. And to accessorize.


We're hours away from the bits going live for the Java 2 Platform, Standard Edition (J2SE) 5.0 -- the Tiger release.

so exciting.

almost as good as when the Java logo got a makeover, and the steam started doing a sexy little swivel.

and speaking of sexy little swivels, there's a party in New York Thursday night to celebrate the release of Tiger.  just so happens that you -- that's right, you -- are invited.

you never know who might show up for this thing. hint, hint.

and do some swiveling.

so as the drum beat continues to grow louder in anticipation of this release, I'd like to share a little something written by Dr. Josh, celebrated author of Effective Java, which is as near and dear to the hearts of Java developers as Dianetics is to followers of Scientology. i'm going to keep milking that little one-liner until you guys tell me to stop as i think it's actually quite funny.

Dr. Josh -- he is a regular renaissance man, people.

Evidence: he's a poet:

The Tiger
By Dr. Joshua Bloch

Tiger, Tiger burning bright
Like a geek who works all night
What new-fangled bit or byte
Could ease the hacker's weary plight?

To the most despised cast
We'll bid a fond farewell at last
With generics' burning spear
The need for cast will disappear

While Iterators have their uses
They sometimes strangle us like nooses
With enhanced-for's deadly ray
Iterator's kept at bay

When from the collections ints are drawn
Wrapper classes make us mourn
When Tiger comes, we'll shed no tears
We'll autobox them in the ears

The int-enum will soon be gone
Like a foe we've known too long.
With type safe-enum's mighty power
Our foe will bother us no more

And from the constant interface
We shall inherit no disgrace
With static import at our side
Our joy will be unqualified

O joyless nights, o joyless days
Our programs cluttered with arrays
With varargs here, we needn't whine;
We'll simply put the args inline

As for noble metadata
I'll have to sing its praises later
Its uses are so numerous
To give their due, I'd miss the bus
 

Tiger, Tiger burning bright
Like a geek who works all night
What new-fangled bit or byte
Could ease the hacker's weary plight?

ok. real quick. first person to tell me what Dr. Josh based his poem on gets this prize.

picture of tiger keychain

post your responses to the comments section of this blog entry.

mary

p.s. put the args inline? that sounds a little painful.

Monday Sep 27, 2004



It's a zip-a-dee-do-da day, today,  people.

Spectacular weekend. Beautiful weather. Played outside a lot. Went to a couple parties -- one featured a moon bounce and a fire truck; the other a champagne fountain. Saw a bonafied techno celeb and celebrated author who happens to run in the same social circles as me, if you can even believe that.

Had book club yesterday -- and I actually read the book. (abbreviated review: Book of Salt. Beautifully written. I envy people who can manipulate the English language with such skill. It was a downer, though. Totally depressing. I don't understand why these brilliant authors can't write books that make you laugh. Why does it always have to be about misery?)  The most fascinating women are in my book club. They are so well read and well traveled. I love talking to them.

I'm just in a really, really good mood. I'll let you guess what else I did.

Slight downer from the weekend: So at church yesterday Number 2 flat out refuses to put the money I had given her for the collection into the tray. This created the perceived inequity on the part of Number 1, who had already put her money in and now felt cheated. (I think Number 1 was actually entertaining the idea of reaching back into the tray to get her dollar back, but thankfully didn't act on that impulse)  Both children (loudly) articulated how they were feeling. Not a pretty scene. I try to roll with it. I try not to feel embarrassed and mortified. with mixed success.

anyway...

We've got a loop to close and then I've got to jam.

I've got four working days left in the month of September and I've got to quick get something done so that I can put it on my monthly report. (Just kidding, Ingrid. a little humor there... just a little joke..)

1. Please join me in congratulating Tom, who wins this spectacular package of prizes...

package of prizes

Tom is the official Puzzler Solver and Friday Free Stuff winner. Satish gets some free stuff (expectation set: t-shirt) too because he's second runner up. Should Tom be unable or unwilling to perform his duties as Puzzler Solver and Friday Free Stuff winner, Satish will have to step in and wear the crown for the duration of this rein.

quick aside: I'm giving away a jacket! (can you even believe that?!) So if you're jealous because Tom got this prize package, there's a jacket on the table. If you're a Sun Certified professional for Java Technology, you've got the opportunity to receive from me a really, really, really nice bomber jacket. Check it out.

And just to close this one out... here's the solution to the Puzzler which landed Tom (and Satish) some pretty hot free stuff and the rest of  you the feedback from Dr. Josh that the readers of this blog are "very clever."

but i already knew that.

happy Monday!

mary

p.s. here's the answer to the puzzler...

Click and Hack apologize for their lack of punctuality. They had a crazy week. Tom Hawtin, on the other hand, was very punctual: He posted a correct solution to this week's Puzzler about an hour after it was posted! This is definitely a record, and Click and Hack tip their hats to Tom. Other correct solutions were posted later in the week--lots of clever folks out there!

As you'll recall the puzzler was to make a client of a final class fail to compile simply by adding a private member to the final class. (By "client" we meant a class in a separate package that invokes public constructors or methods of the class, or accesses its public fields.)

Tom's solution was this:

package fin;

public final class Final {
    //private interface Runnable { }
    public final class Runnable2 implements Runnable {
        public void run() {
            ;
        }
    }
}

package client;

class Client {
    public static boolean isRunnable(fin.Final.Runnable2 f) {
        return f instanceof Runnable;
    }
}
He added a private member class to Final named Runnable that shadows (JLS 8.5) java.lang.Runnable. Because he declared Final to implement Runnable, the addition of the private member class affected the publicly visible superclasses/interfaces of Final. Prior to adding the private member, they comprised java.lang.Runnable and java.lang.Object; after adding the member, only the latter remained.

In Tom's client class, he took advantage of the fact that the instanceof operator generates a compile-time error if a cast of its first argument to its second would generate a compile time error. Not too many people are aware of this fact, but Tom is. Nice solution, Tom, and quick thinking! Andrew Taylor's solution was, as he said "more or less the same as Tom's." Instead of shadowing a superinterface with a private member, his class shadowed a public method's return type, effectively changing its return type from java.lang.String to java.lang.Object (from the perspective of a client outside the package).

Satish Srinivasan's solution was also correct, and fundamentally different from Tom's:

package contrary.foo;

public abstract class FinalBase {
    public static final String FOOBAR = "foobar";
}

package contrary.foo;

public final class Final extends FinalBase {
  //private static final String FOOBAR = "ha-ha";
}

public class FinalClient {
    public static void main(String[] args) {
        Final thingy = new Final();
        System.out.println(thingy.FOOBAR);
    }
}
Satish's solution uses hiding (JLS 8.3) in place of shadowing. In other words the private member that he adds to class FinalBase makes a superclass member invisible. This is particularly nefarious, because it violates the subsumption, which is the principle that a subclass should do everything that its superclass can (and possibly more). In this case, Final does less than FinalBase: the latter has a publicly visible FOOBAR field, while the former does not.

Many people are shocked that the Java programming language permits a subclass field to hide a superclass field with greater access privileges. It is impermissible to override a method with one that has weaker access privileges, so why should fields be any different? Arguably this was a mistake in the design of the language, but such is life. Every language has its flaws, even great ones like Java.

A multitude of variants on Satish's solution are possible. The hidden member can be member class rather than a field, and it can be an instance member rather than a static member. Not only can you hide a field with one of lesser accessibility, but you can hide a field with one of a different type. With any of these variants, you can silently and inadvertently hide a public member (field or type) of a supertype in a subtype. Once you've done this, the subtype no longer supports the same API as its supertype. As you evolve a library evolves over time, you can break previously valid client code by adding a private members. To prevent this, compilers should generate warning messages whenever this sort of hiding occurs. Probably findbugs already does.

Dr. Josh once shot himself in the foot this way. As you're probably aware, java.util.TreeMap implements java.util.Map. Dr. Josh was foolish enough to to declare an implementation of Map.Entry in the bowels of TreeMap like so:

    static class Entry implements Map.Entry { ... }
Then a user was foolish enough to use TreeMap.Entry instead of Map.Entry in his code, and was shocked to discover that it didn't work: subsumption had been violated.

There are many lessons here, but rather than boring you with the details, we'll get right to the point: Don't reuse names unless you have a very, very good reason to do so. This includes hiding, shadowing, obscuring, and even overloading. Just because you can doesn't mean you should. If we had it to do over again, the language would be less permissive in this area. A secondary lesson is that you should always refer to a static member by the class in which it's declared (e.g., Map.Entry rather than TreeMap.Entry or, God forbid, myMapInstance.Entry).

And don't code like my brother.

Friday Sep 24, 2004



Guess what?

A jacket!

picture of jacket

We're giving away a jacket!!

can you even believe it?

Brand new. Never worn. And still in the plastic bag that it came in.

close up of logo on jacket

Beautiful leather collar and sleves; heavy wool body with Java logo stiched very expensively into the back. Lined. Really, really, really nice.

I think they call it a bomber jacket. Which would make anybody wearing it da bomb.

:-)

It's a special Friday Free Stuff that's dedicated to the men and women who are Sun Certified professionals in the Java technology areas.

I got to meet some of these guys at JavaOne, and they were the coolest.

So I decided it's time for Sun Certified professionals in the Java technology areas to feel the MaryMaryQuiteContary love.

That's what the jacket w/the Java logo is all about. It's the nicest thing I've ever given away in Friday Free Stuff -- by orders of magnitude. And only Sun Certified professionals in the Java technology areas are eligible to win*.

And it's a piece of cake.

All you've got to do is tell me (in the comments section of this blog entry) how being Sun Certified for Java technology  has saved your bacon; got you the job/raise; made you smarter; impressed the ladies (or gents) ;-)

I'm looking for personal testimonials here, people.

So here's a big important thing... I've got to weed out the imposters... so by "playing" this edition of Friday Free Stuff*, you are consenting to letting me verify that you really are Sun Certified for Java technology, and not just some wacko out to score the jacket.

Remember, the point of this edition is for the Sun Certified professionals for Java technology  to feel the MaryMaryQuiteContary love. So you got to be Certified to win. And by playing you're giving me permission to check.

For that tiny group of stragglers out there who aren't yet Sun Certified for Java technology...

hello??

what are you waiting for here, people?

get Sun Certified for Java technology today.

mary

p.s. I'm going to take my time in choosing here, people. it's a hot, hot, hot prize*. it's not every day I pony up a brand new Java jacket. I'm going to take my time in choosing. Don't try to rush me. I don't like that.

p.p.s. * Friday Free Stuff is not a contest. It's me giving away stuff that I personally own to somebody that I choose. I pay for shipping with stamps that I buy at the post office. Sun employees can play but are not eligible to win* the prize*.



you're invited...

see the last line... you must RSVP to go.

======================================
Help Celebrate the Launch of J2SE 5.0!
======================================

Nearly six years ago Sun launched the initial release of J2SE (v 1.2) in
New York city to a very enthusiastic audience.  As most of you remember,  J2SE was a major platform upgrade from the previous JDK 1.1 family. Two and half years in development and 15 component JSRs later, Sun returns to New York to celebrate the release of the latest J2SE release, v 5.0.

J2SE 5.0 includes the first source-level language updates in over nine
years since the inception of Java technology.  Many exciting enhancements for monitoring and management, stability, performance and rich desktop clients can be found in JDK 5.0 and the JRE 5.0.

Sun would like to invite all members of the NYJavaSIG, the dedicated
Java software developer, to a celebration of the release of J2SE 5.0 in
our midtown Manhattan office.


Where: Sun Microsystems
      101 Park Avenue (40th St/Park), 4th floor
      Gramercy Park conference room
      New York, NY   10178
      MAPQUEST> http://tinyurl.com/d6pq
      212-558-9200

 Who: Calvin Austin - J2SE 5.0 Specification Lead (Sun Microsystems)
       [brief J2SE 5.0 presentation followed by a question and answer session]

When: Thursday, September 30, 2004
      6:00pm - 8:00pm

What: Mix and mingle with beer, wine, soda and munchies.
      Take home some fun J2SE 5.0 giveaways.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
YOU NEED TO RSVP:  www.nyjavasig.com/examples/javasig/MeetingInfo.jsp
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

Thursday Sep 23, 2004



You are invited to the JXTA Developer Kitchen on Tuesday, October 19th.
This is a  full day event at the Sun Microsystems' offices in Santa
Clara, CA. Bring your JXTA application and work on it with the Sun JXTA
engineers and other JXTA developers. Our engineers will work with you on your projects. We'll also talk about what is new and upcoming with JXTA technology.

Quick aside from Mary: As coinicidence has it, I think i'm going to be in Santa Clara this week and I'll be popping in on this. So if you go we get to meet in person. Not that that's actually incentive, really... maybe just the opposite. Spiderman is going to be there for sure, I bet. I haven't asked him, but I bet he wouldn't miss this.

You take care of your own travel arrangements, and we'll bring in lunch.
There is no charge to attend.

Registration:
Registration for the Kitchen is on a first-come, first-serve basis.
Please fill out the information requested (address, fax #, etc.) below
and email to Lauren Zuravleff at lauren.zuravleff@sun.com to reserve a
seat in the class. RSVP no later than October 8th. Please note that you
must receive a confirmation from him before concluding that a space has
been reserved for you.

When/Where it'll be:
Tuesday, October 19th, 9am - 6pm
The Sun Microsystems Campus in Santa Clara, CA.  Building details will
be sent to those who RSVP.

Equipment:
We'll provide a training room with Sun Ultra 10 workstations and
wireless access. Please let us know which you prefer to use.

What you need to bring:
Please bring your application to work on. You can also bring a laptop
system to work with the wireless system.

Breakfast & Lunch:
We'll provide a buffet style breakfast and lunch. Please let me know if
you have special dietary needs.

RSVP is required!
If you would like to attend, please RSVP to Lauren Zuravleff at
lauren.zuravleff@sun.com no later than October 8th.  We have a limited
number of systems available for this event, so registration will be on a
first-come/first-served basis. Please wait to receive a RSVP
confirmation before making any non-refundable travel plans.

Lodging:
Sierra Suites is walking distance to the Sun Santa Clara campus. We have a special rate of $105 per night for a queen bed. Reservations available by calling 408.486.0800. You can see more information on the hotel at: http://www.sierrasuites.com/locations/santa-clara.asp

===================================
RSVP Form - mailto: lauren.zuravleff@sun.com
---------
[ ] Yes, I will be attending the JXTA Kitchen on October 19th.

Name:
Company:
Address:
City:
State:
Zip:
Country:
Phone:
Fax:
E-mail:
Any Dietary Restrictions?
Planning to use our Sun Ultra 10 or bringing your own laptop to run on
the wireless network?
Which JXTA projects do you work on?




We won! We won!!

Last night, at the Marriott Marquis Hotel in the heart of Times Square in New York City, the Creative Media Award for a newspaper  ad campaign was awarded to Sun's Barron's ad campaign!

The judges called the campaign "eye-popping!" (which to me sounds a little scary but I guess to those Madison Avenue types it's a the highest form of flattery.)

The judges also said the campaign allowed "for relevant, ongoing dialog with readers. Using a specially designed ad template, Sun was able to display a "hit parade" of success stories each week, which Barron's developed into weekly ad headlines. The process saved time and money while making Sun stand out."

it was so exciting, you guys!

and i was there to take pictures (and enjoy the delicious dinner of asparagus w/mushrooms, chicken and wild rice that culminated in a beautiful desert platter that was so oh-so-beautiful that i was tempted to take a picture of it but doing so would have surely drawn the scrutiny of the polished Madison Avenue types with whom I was dining, so I wisely refrained.)

what an evening!

picture accepting the award

here's a picture of Sun employees Jessica Stoecker and Jeff Solof, and Brandon Starkoff (from our agency) accepting the award.

and a special shot..

gorgeous Jessica with the award

... of Jessica with the award. She's the gal at Sun who worked on this campaign.

it was incredible!

big NY Madison Avenue double-check air kiss!

mary

Wednesday Sep 22, 2004



With the Wall Street event officially concluded, I wanted to take a minute to introduce you...

some of the spectacular professionals...

girls

who made all this possible.


(regrets for the pictures i'm not publishing here. i had taken more. but we had technical issues. forgive me for the obvious omissions, please.)

Your big take-aways:
  1. Tune in to the Network Computing event (available on replay, on demand) to get clued into what's going on. You're going to love this thing. really hot UI.
  2. Check out the top story on Computing Pay Per Use.


That's it from NY, people.

Well not really, actually.  Because a certain somebody (me) is going to an awards ceremony tonight. And if developments warrant, we'll be briefing you on what transpires there. I am going to be wearing a black designer (Georgiou) dress, strappy high heel sandals. I want to blend in with the Madison Avenue types. But regretably I don't own any expensive sun glasses or handbags, so I think they'll to see right through me. whatever. I got myself invited to this thing. i'm going. i'll do my best to fit in.

mary

Guess what....

picture

One degree of separation from Frank Zappa.

Well, except that Zappa is dead. So I guess it would be two degrees becasue you'd have to go through God.

totally serious.

I'm not going to share the particulars as I didn't ask for permission and it's a personal story. Found that out at the big techno celeb bash.

Everybody's got a story.

It's just that some stories are more interesting than others.

mary

the highlight of the evening was the drawing for two free JavaOne 2005 full conference passes. (value: approx $2K but too lazy to look it up)

Here we've got the drawing...

and the lucky...

winners...

were very excited!

so cool!

mary