Archive for January, 2006

To Sun: java.net is not a spooge receptacle

Monday, January 30th, 2006

What has happened to java.net? From being a mildly interesting place full of boring blogs all related to java in some way or another, it seems to have become the darling facial recipient of certain teams within Sun. Now maybe I’m old fashioned, I like giving a facial as much as the next guy, but really, watching one in progress just doesn’t do it for me. There’s something reasonably unpleasant about seeing a nice girl bukakked, I must confess.

Java.net is that nice girl. She just wants to be friendly, maybe help out with the odd reacharound, the odd swallow, and whatnot. She’s not quite trollopy enough to merit a full on facial extravaganza.

For the last few months, not a day goes by without both the Netbeans and Glassfish teams burbling on about how great their shit is. It’s become such a yawnfest that I think by now, most readers have developed some kind of Pavlovian reaction and immediately twitch towards the delete key, some other bookmark, or simply pass out when seeing one of these too-common entries.

The problem is further compounded by the fact that this junk is sharted out all over javablogs too. It’s impossible to escape. I realise you Sun people think that embracing blogging is now a by-word for marketoids, but you’re going too far. Instead of actually trying any of your products now, I’m eager to avoid them and encourage everyone I know to do likewise, as punishment for your dirty marketing habits.

Sure, it’d be interesting to play with ejb3 persistence. You know what’s not interesting though? Being told to do so only in glassfish. Why not do what any sane ejb3 vendor might do, and market the fact that the persistence layer is now pluggable, and show people how to take the relevant bits from glassfish and use them in a real-world container? Instead, we’re regaled with such great titbits as ‘we’re now migrating to maven2 on an ad-hoc basis’, and ‘blahblah glassfish documentation’ and ‘glassfish makes my penis look pretty’. Don’t even get me started on the various JSF fapperies going on. Does anyone other than the odd book author and training consultant still use that stuff?

As for you Netbeans people, you have nothing useful to offer. Please just go play with your genitalia in private, like god intended. No, I don’t want to use a command-line ant-based build structure that is Netbeans friendly. Nor do I give a flying fuck about Netbeans responsiveness. I particularly do not need 10 different Netbeans fuckfaces pointing out to me that 5.0 RC2 is now out.

It’s a shame, really. java.net could be a very useful resource, and often has surprisingly good content. The way forward though lies in putting up more barriers between Sun and the content. How valuable really is it for a Sun employee (JSF spec lead) to blog about how great Netbeans’ support is?

Javablogs.com for example has always had an unofficial ‘no commercial blogs’ policy. It’s a shame that this has gone a bit lax lately and they aren’t culling out the endless glassfish/netbeans posts, or the tedious ‘JDeveloper version 10.3.2.1.2.3beta2EAPpeniswagglefrotfrot is out tomorrow’ type posts by certain Oracle types.

If you want your content read, Netbeans/glassfish type people, try to give yourself some credibility by trying to be a little bit more subtle, and not turning every post into a ‘isn’t my product great’ spoogefest. You’re all smart guys, and I’m sure you have opinions and interests beyond the tedium of your daily jobs to share with the rest of us.

On a side note, I’m talking at TSSJS in Vegas in March, so make sure you don’t show up unless you’re prepared to do much pointing and laughing.

Servlet 2.5, the bad, the ugly, and the pointless

Tuesday, January 3rd, 2006

It’s a testament to the power and arrogance of the servlet expert group that they can produce such an abysmally inadequate iteration with such impunity. While the rest of the EE platform (note, it’s EE, or Java EE, not JEE as random turdburglaring wankstain X would have you believe) is busy ensuring that it lives up to the ‘ease of use’ mission, the web tier is still hilariously full of idiotic ideas and pathetic half assed efforts in the general direction of usability.

So what’s actually new? Well, pretty much nothing. All the fuss about annotation support is simply piggybacking off the work of other groups. There isn’t a single annotation that the servlet group has come up with. They just support the bare minimum of injections that the Java EE platform requires, such as @Resource, @PostConstruct, and other random junk from JSR-250 (common annotations). You’d think they’d have at least glanced over the efforts of the EJB group and the web services groups, and come up with things like @Servlet and @Filter, but no such luck.

In an excellent spit in the face of all things java, we also have a bizarre ‘full’ attribute for web.xml’s root web-app element. Whatever happened to descriptive attributes? What’s so bad about instead specifying something like skip-annotation-scan=”true”? It’s certainly an impressive leap of faith for anyone to equate full is true to lazy class loading. This is merely one example of the EG’s general flatulence in the general direction of usability.

Next up we have some pointless syntactic sugar to allow multiple servlets mapped to a pattern, or multiple patterns mapped to a servlet/filter. Thank jeebus you wankers spent the last 12 months working on this, it’s certainly been worth the wait. Surely the community will applaud the wise investment of your time, and be grateful for this huge leap forward that seems to have taken you the better part of a year.

The error handling issue (you can call setStatus in an error page) was one I lobbied for, and I’m certainly amazed that this group of highly talented and insightful individuals actually added something useful to the spec. Given the rest of their work though, I’ll simply attribute it to a freak accident of nature.

It’s impressive to see that the group has gone out of its way to avoid adding anything useful. I’ve had three conversations with separate experts on the EG lobbying for the addition of ServletContext.getContextPath(). Every one of them was enthusiastic about it and thought it’d be a very useful method to add, needless to say, that has next to nothing to do with whether it’ll actually be added. At the time of writing, there is no mention of such an addition. (for any random Servlet EG members passing by, I dare you to give me a single good reason as to why such a method should not exist.)

Similarly, multipart support is still nowhere to be seen. Jason Hunter probably thinks that there are still idiots out there who use his solution, and so would be keen to avoid the spec stepping over his turf (and what better position to ensure that from than within the expert group itself).

The servlet group, much like the JSF group, has bizarre powers, for political reasons. In the case of servlets at least, they’ve been a victim of their own success, so there is a lot of inertia and resistance to change. The JSF group derives its power from Microsoft’s existence and success, and Sun’s baffling habit of attempting to mirror everything Microsoft does and ram it down a highly reluctant community’s throat via rounding up the most incompetent people it could find and hurling them at the problem. In both cases, the Men Upstairs at Sun should round up these so called experts, and let the beatings commence until they finally agree to play nice with the rest of the world.