Archive for May, 2007

JavaOne Day 3: NetBeans refactoring meets 2002

Thursday, May 10th, 2007

So far I’ve been to two sessions today (sort of, I can never show on time or last the whole duration). The concurrency testing one by Brian. Cliff, and Bill Pugh was as brilliant, well executed, and informative as one would expect, so not much to say there. The one nitpick I have is the silly JUnit extension that one of those guys came up with to run tests in different threads, by prefixing the method name with ‘thread’.

This would be fine if it were out of ignorance, but even the most cursory research would show that you could do just that with TestNG with basic usage of parallel tests and grouping to ensure that any given set of tests run concurrently, and these guys certainly know about TestNG. Some of the earlier content felt very 2002ish (mind you, that’s how most junit3 code looks to me now). They did mention TestNG and JUnit4 though, but the actual examples didn’t seem to make much use of either.

The next talk however was what can best be described as a cruel and terribly unfunny joke. It’s by a NetBeans guy about refactoring, and with such a lofty title as ‘pushing the envelope’ I and many others in the audience foolishly thought that it’d be relevant and topical, and would discuss cool upcoming refactorings or advanced stuff.

Instead, the guy spent the majority of the talk telling us how refactoring is great, and how IDE’s ‘knowing’ how to parse source code is great, and how all sorts of things are possible. I’m fairly incredulous at this point. I remember having these thoughts at around the time of IDEA 1.1 (later renamed to 2.0) and feeling the same sense of amazement that this netbeans guy is feeling right now. If NetBeans’ refactoring team really does feel this way, then it must be such an abysmal IDE, where they’re so proud of doing stuff like method and parameter renaming nowadays when the rest of the civilised world has been doing so for years. The only saving grace is that he’s a good speaker, but that’s sort of pointless given how much brain damage the talk content is causing to all these poor bastards sitting in.

In fact, I’m so aghast at this that I can’t believe it’s going to be this bad. I’m convinced that this is some kind of limbo wasteland area in his talk where he says incredibly obvious pointless things, and the demo will make it all good. I see some friends walking out shaking their heads in a mixture of sadness, anger, and horror. I follow suit; we’re barely out the door and explode with indignation and rage. How dare someone steal these precious minutes of our innocent young lives? How could the talk title be such an utter boldfaced blatant lie? Thankfully, the jig is up and there’s now a steady stream of people fleeing the scene.

As we’re sharing our misery and lamenting the pain and pointless agony inflicted on us, Kevin (of guice fame) stops by and so innocently mentions that he’s going to the talk. We give him a stern talking to and charged with a new purpose, he takes it upon himself to go in the room and rescue as many hapless victims as he can. He arrives a couple of minutes later and proclaims that the demo being shown now is a method rename, and has a few more googlers in tow looking fairly dazed and confused with a clear expression of ‘I’ve managed to get into Google, how can this kind of thing still happen to me? What kind of insane uncaring world do we live in?’.

On the plus side, I did end up meeting Jesse of glazedlists fame, but at what cost, at what cost! I’m horrified that such an abysmal talk passed the review process. NetBeans team, shame on you. Maybe you should install IDEA along with the Refactor-J  plugin to see what sort of refactoring real men are doing these days, instead of the little girl pansy flouncing about you’re so proudly cawing about, you blind maggots.

JavaOne day 2: the big wtf

Thursday, May 10th, 2007

Day 2 started abysmally late for me. Getting in at 4:00am the previous night likely wasn’t the wisest move, but such is life at JavaOne.

After a pleasant lunch with some googlers, it was time to make yet another pitiful attempt at attending some sessions. I had about as much success doing that as Marc Fleury would at appropriate capitalisation. I attended a JCP event and rested briefly before the strenious night of festivities ahead.

First up was the bloggers meetup. I’m very surprised by how rubbish this was, all in all. In all previous years (well, all two of them) it was packed and you’d pretty much recognise most people (at least once they said who they were). This year it looks like it was hijacked by a bunch of random Sun nobodies. There was a small cluster though of outsiders so the event wasn’t a total loss. The prime purpose anyway was to piss about aimlessly until it was time for the google party.

Next up was the super sekret google party. The one so secret that it was hard to find people who weren’t invited. In typical google fashioned, one was assured that it’s exclusive and whatnot, yet I saw a random booth babe handing out invites like nobody’s business. Bitch!

The highlight of the party for me was coming up (with James Strachan) with a t-shirt line that we hope to use for next year. What we have so far is:

  • I *heart* java.util.Calendar
  • I *heart* statics
  • Fuck Tim
  • John is a motherfucker
  • GLASSFISH

I did however feel terrible for the poor shit who had to man the door. This was apparently a random google engineer who spent the entire evening standing outside making sure that nobody without a pass got in to drink the shitty beer and wine on offer. You’d think with all their hiring craze they’d be able to hire a doorman or two.

After that it was a trip to House of Shields, where I met a couple of Sun OpenJDK wackos who actually had the first ever coherent argument I’d ever head as to why OpenJDK is a good idea and how it benefits Sun. It’s so simple and obvious, yet Sun’s amazing ability to do good work while being utterly and inexplicably incoherent and off-message ensures that the justification for this, like everything else they do, will remain shrouded in mystery and relegated to the realm of arcane trivia. I also met Dalibor Topic who is possibly the coolest GPL person I’ve ever met. GPL people are generally brain dead nazi fuckhead hippie shirtlifters, yet Dalibor, like some freak of nature, manages to not be any of those things. Most perplexing.

Finally, after being kicked out (sadly a very typical ending to most evenings) 3 of us befriend a homeless guy and for reasons that are still somewhat hazy, end up at Denny’s where a drugged out suit is having a heart to heart with a perplexed homeless guy (different one to ours), and we proceed to demand IHOP fare (with limited success).

I’m not sure what the plan for tonight is, so if someone has any brilliant ideas, let me know! I have high hopes for actually managing to attend sessions today too!

JavaOne Day 1: The rest

Wednesday, May 9th, 2007

I’m somewhat perplexed by what a blur the rest of the day was.

I think I managed to go to four talks. As impressive as that sounds, sadly I didn’t manage to last more than 10 minutes in any of them before having to run off for fairly inexplicable reasons (including but not restricted to terminal boredom).

One of the talks was about EJB3 best practices. I have a soft spot for this talk as I was the reviewer for it, and was secretly rooting for it. I was quite pleasantly surprised to see that the room was filled to overflow, and a bunch of poor bastards (including yours truly) had to stand in the back with nary a spot to park oneself at. The talk (or what I saw of it) went quite well, with interesting material and a refreshing disdain for all things helloworldy and petstorey.

The next talk I stopped by was Greg Luck’s ehcache talk, which though it had interesting material, wasn’t delivered particularly well. Greg, though a very smart guy, clearly looked like he wished to be somewhere else, which is a shame.

I also stopped by the ‘whats coming up in the next set of web specs’ towards the end of the talk. The problem here was very similar to Greg’s. While the material is interesting, the delivery is fairly abysmal. Also, when I walked in, for reasons that remain inexplicable, there was a jMaki demo going on. I really don’t understand what these Sun people think. How the fuck is it a good idea to discuss great upcoming spec features by shoehorning in an irrelevant little known obscure sun pet project? It’s not like jMaki isn’t covered elsewhere; there are at least a couple of other talks about it or related to it. So please, lets not mix specifications with hobbies.

Most perplexing however, is that I have no memory whatsoever of the last talk I peeped in on. I suspect though that it was so intensely boring that my brain simply shut down and refused to discuss what it saw, and is still in a bit of a sulk over the experience.

Socially, the usual madness and mayhem ensued. A decent meal followed by the now legendary Tangosol party wrapped things up nicely. I managed to also somehow piss off 3 different devzuz people, by snickering at key points while they earnestly try to point out how Mergere didn’t in fact die,  that Maven has a bright future, and that they’re going to do so well now. By far the most ludicrous experience was with Dave somethingortheother, who immediately launched into a heartfelt marketing gibberish spiel hurled in my general direction. I’m not quite quoting, but distilling his inane spastic drooling roughly results in: We’re going to avoid developers, and will aim at the high end. Our goal will be to take money from big companies who don’t know better, because developers are too poor and too smart to give us any money.

Depressingly, this might actually work (websphere, anyone?). Big companies are mindbogglingly talented when it comes to forking over lots of money for zero return. So please, if you do work for a big company that wants to hire these guys, do what you can to prevent it. They’re a sinister, insidious, scheming, disingenuous bunch of wankstains (well ok, the individuals are fine, the end result of mashing them up together isn’t).

The evening was rounded off by the now sadly obligatory Rod Johnson moob discussion, and a quiet but growing movement is forming to lobby for an ice statuette whereby the delectable nectar can flow freely into the mouths of the converts, that they may imbibe of the holy juice and thus come closer to the penispenis.

JavaOne Day 1: General Session

Tuesday, May 8th, 2007

I usually try to avoid these things like the plague. The sheer volume of vendor jizz spurting everywhere is overwhelming to say the least. Sadly though due to waking up stupidly early, I had nothing better to do so thought I’d give this one a shot to see if it’s as abysmal as I expected it to be.

Interestingly, I was somewhat disappointed. The whole thing actually wasn’t nearly as bad as I expected. It was somewhat cool to see the hall packed with that many people, all of whom are Java developers. The loud thumping music though before starting was somewhat confusing, it’s way too early to have the contents of one’s stomach shaken about so violently. The video playing in the background before the start was also a bit perplexing. I could have sworn that at some point the mullet guide website was shown. Kudos to whoever picked that one, correct mullet identification is a crucial first step in eradicating this modern day plague.

First up we have John Gage. I had never seen John speak before and I must say, he comes across awfully well. He has a soothing wise voice and looks like a kindly trustworthy old man. You find yourself wanting to have children just so you could sell them to him; surely he’d know what to do with them better than you would.

Next up we have Rich Green. Rich Green is a confusing mixture of the ugly half of Sean Penn, and the uncharismatic half of Steve Jobs (this isn’t an insult, honest!). So far, the message has been so generic that any company could have delivered it. Lots of woowoo about community, people, how we must all get naked and hug, enabling blahblah, wibblepoopmobiles.

Rich brings up a number of people to the stage, some of which are better than others. This works reasonably well except for this excruciating moments where Rich does that double act Q & A thing. This always comes off as so awkward and rehearsed (badly), that you wonder why presenters keep resorting to this cheap trick. Really, do people honestly think that Rich asking someone ’so, do you have anything else to show us?’ and the guy piping up with ‘Actually, I have a video to show!’ is in any way a real or meaningful conversation?

The NASDAQ CIO is up next, and she talks about the volume of transactions their platform handles (all Java), it’s over 100k/second. Now this might be a crazy wild guess, but I have a strong suspicion that they aren’t using JOTM or JBoss.

Next up is some new product pitch (JavaFX) which looks like another Sun harebrained scheme to innovate. It’s mildly interesting I guess but the talk, unsurprisingly, is so nebulous and general that it’s hard to see concrete applications or who would use this stuff, when, how, and why.

Some light entertainment ensues however when the mobile demos keep going wrong. Maybe it’s the vindictive child within, but I’m always so gleeful when a demo goes wrong. The awkwardness, the long pauses, the nervous chuckles, the botched recovery, it’s all so very satisfying.

The talk wraps up with Scott McNealy and a UN guy, both of whom give rousing talks about the importance of community and good works. I must say, I was very touched by this. It’s really nice to see this kind of thing in an industry where we’re all obscenely overpaid. I hope that some of what they said resonated with the crowd, it certainly did with me. I wonder if the Engineers Without Borders comment was a joke or a concrete scheme. Utterly irrelevant to Java of course, and pointless in terms of its impact on shareholders, users, and developers. Perhaps that’s why it was so nice to hear; it wasn’t a pitch and was uncharacteristically earnest.

All in all, I actually found the whole thing faintly enjoyable. It certainly beat the living shit out of the idiotic BEA general session I went to last year, where all they could do is talk about how we must make our genitalia ‘liquid’ by entrusting the big BEA ‘blend’er in the sky. Eurgh.

JavaOne Day 0

Tuesday, May 8th, 2007

Here we go, the annual trek to that horrible wannabe city, San Francisco, to attend yet another JavaOne. For once I’m actually showing up before the event and so far I’m regretting it. I did go to the groovy/grails event in the hope of free loot and possibly some fun socialising.

Unsurprisingly, it was a bitter disappointment. It seemed to be ‘now that we have you all in a room, lets sit you down and lecture you for the next few hours. Here’s one beer to tide you over’. Still, for groovy fanboys it probably was a good jizzfest.

I did try to listen in and learn, I really really did. I lasted all of 10 minutes. Maybe I was just horrifically unlucky and just caught the crappiest 10 minutes, but really, the one message that every slide and peptalk seems to scream out is ‘this is useless junk, but it has serious peniswagglage points, so lets all waggle together’.

It’s a shame, really. I’m sure there are people out there doing useful things with groovy. I suspect these people aren’t doing any of the ‘awesome’ things that were being pimped here. Exactly what kind of moron you’d have to be to think that growl notifications of events is a useful feature? How about Groovy AOP? There’s something sort of sad about all these community plugins that are being developed. It’s basically a bunch of people with nothing better to do with their time writing useless junk to gratify some bizarre sexual need.

The next bit I saw were a couple of demos. Again, mindblowing in their uselessness. I’m so so sick of mashups. Who the fuck uses them? Do they have ANY practical usage other than ‘oh look, we can combine two useful services into one useless pile of twaddle’? Is there a single mashup out there that’s actually useful, and does more than elicit a ‘oh, that’s cool, lets move on now’ sort of reaction? The grails example shown was delightful in its utter pointlessness. A mashup of flickr with google maps, where you can see pictures….of…..locations. Just what you’ve always wanted to do. Cheap at double the price.

The next example went from snazzy interface to a 1998 flashback. Remember what the rage was all then? You’ve luckily forgotten, so I’ll remind you. It was Swing hello world examples with a JButton. So, that’s what we’re shown. A JFrame, with, you guessed it, a JButton. These guys sure know how to party.

So I bailed, which is a shame as there were a lot of people I wanted to meet in there. Hopefully I’ll bump into most of them over the next few days.

Aside from all that, there’s something very curious about JavaOne this year. For some odd reason, I feel….personally invested. Having been part of the review board for the submitted talks, I really do hope that people enjoy the EE and web tracks. Participating in the process was a very gratifying experience; you’d be amazed at how many Sun talks were declined because they were vendor pitches!