Archive for March, 2006

Terracotta pimpage galore

Friday, March 24th, 2006

Terracotta pimpage galore

Of all the vendor pitches we’ve had to stomach, I think the terracotta set is probably the most brazen and ludicrous.

For one thing, the title is somewhat misleading. It’s called ‘clustering your Java Application in under an hour with no API’s’. Perhaps a better title is ‘How We Implemented a Specific Solution To A Specific Problem When Someone Paid Us Enough Money’.

Terracotta, on first blush, is an Evil Company. They’re decided that they need to adopt a JBossian mode of marketing; badmouth other people to get noticed. Their next talk is something like ‘get rid of your distributed hashmap’, a clear dig at Tangosol. Fine, you guys have a different approach, is it really a wise move to try to badmouth a company with a truly unique and kickass product, with tons of customers and deployments, with a proven track record?

Impressively, they managed to buy TechTarget off and gain a session AND a BOF of pure vendor fappery.

The technology is not bad, it’s driven by the oligatory xml file, and does some pretty penis arousing stuff under the hood. It’s a shame they’re being so twatty and negative about the whole thing.

In fact, this is way too much of a vendor pitch, the two drones up front are boring and say ‘our product’ one too many times for my taste. I’m wandering off to something slightly less nauseating, or maybe I’ll really punish myself and see the other vendor pitch going on right now, nexaweb!

5 minutes later…

Good lord. Is this a lunch keynote or something? The two nexaweb drones up on stage are happily asking each OTHER questions! ‘So Bob, what can I deploy this on?’, ‘I have a lot of questions for you, Bob’. Thankfully, the talk finishes early. Clearly the two witty chaps on stage ran out of scintillating banter to toss back and forth.

These guys are hugely pleased by the fact that you get to do everything in xml, and write no code! xml after all is the new universal language, where everything can be done without a single line of code! So spoogetastic.

Again, the stink of money is in the air, these guys have bought a booth outside, so evidently they can spout off and talk utter gibberish, as long as the right pockets are lined.

TSS OSWorkfkow: Guest entry

Friday, March 24th, 2006

Woe is me, another guest entry! This time harpooning poor OSWorkflow…


I’m watching Hani Suleiman talk. Surprisingly, his hands are NOT buried in his jeans, which is probably a good thing considering how ratty said jeans are. Plus, watching Hani play pocket pool isn’t exactly my idea of a good time. I’d rather buy really, really expensive tap water and pour it on the floor.

So far, he’s blathering on about stuff that isn’t workflow, and some stuff that is. It’s really cool that the TSS powers-that-be put Gavin King and Hani not only side by side, but that Hani says that workflow is NOT for web apps, while Gavin uses workflow in Seam… a web app framework. Here at TSSJS, the fun never ends. Or starts.

Now he’s pointing out all the integration points. “Yes, you can screw OSWorkflow in any hole you like. Pick one. Of many.” Reminds me of Hani. But now he’s saying OSWorkflow talks to Spring, Quartz, web services, hibernate, EJB, memory (which he said early on was probably a bad idea, saying in memory processes probably weren’t workflow), quartz (cheap rock, indeed), and other stuff. It’s really cool how he whines about all these projects… but uses them.

Now he’s droning about core concepts. Steps, actions, results, functions, conditions. By now there are maybe four people that aren’t asleep in the room. And I’m asleep. This is almost exciting, provided you like to watch grass growing, or maybe paint drying. Or maybe you like watching the glue you just sniffed drying.

What he’s not done is “associate a workflow status with an object” yet. He’s using XML on the screen, which means you can’t actually see what the XML text is. That’s good, because let’s be real, the XML sucks, but it’s bad, because he’s actually trying to communicate real data. It’s like if his presentation was audio only, without a necessary video part, it would be really cool… provided he read aloud all the XML. That’d probably drive us all straight to the boobyhatch, though.

Who am I kidding? This is the bileblog, most of us belong in the boobyhatch anyway.

His text really is good. Now if he could only stop lisping. His limp-wristed delivery is almost as amusing as the bileblog. I’m waiting for the audience to go “BOOOOOOO!!!! Go-RILLA!” or “AAAAAARRRGGGGH!!!!! Go-RILLA!” or “HISSSSSSSSS! Mon-KEY!” depending on what geographic area they’re from.

He’s surprisingly informative if you’re trying to learn about workflow, OSWorkflow in particular. He’s actually addressing real issues, which is better than I expected. I can’t wait for him to take it out of the abstract and into the concrete… aw, who am I kidding? When he’s done with the informative part, he’s going to jump around in his new Geronimo thong. He promised.

Poor poor Geronimo

Friday, March 24th, 2006

Amazingly, I actually feel bad harpooning Geronimo. Jeff Genender seems like such a cool guy, suave and slick, and a good speaker. Sadly, he’s totally fucked by what he has to work with. Geronimo is such an frankenstein project that one can’t help but feel saddened and mildly disgusted with the whole thing.

We kick off with a show of the various piles of poo that compose Geronimo. This is when it’s pretty clear what an abysmal project this is. It’s a roll-call of projects with one thing in common; written by little boys who have just discovered the endless joys that pulling on a certain appendage can provide.

OpenEJB? Come on, you can’t build an appserver on a joke implementation. ActiveMQ being the fastest JMS provider? Blatant lie, just try running their own benchmarks against SwiftMQ. Axis? You’d be hard pressed to find a worse WS codebase.

Next we have some fairly feeble attempts at justifying Geronimo’s existence. For example, you can mix and match and build your own J2EE server! Hooray! Just what….NOBODY has wanted to do! You know, the fact that I can download an appserver, and know that it supports the connnector API even though I don’t currently needed is a GOOD thing. I’d have to be as stupid as a Geronimo little penistugger to want to rip out random bits. It’s really quite reminiscent of the sort of thing that all those oily spotty kids liked doing with their linux setups. Here’s a hint guys, people like you are such an insignificant drop in the ocean of EE users and customers, and until you start paying attention to REAL users not your own penis pumps, you’re better off taking yourselves out back and shooting yourself multiple times.

God, I really do feel awful. Jeff is just SO nice and sounds SO reasonable, it’s just that the stuff coming out of his mouth is such utter FILTH. The ‘What is Geronimo’ slide is obscene. I mean really, is having a maven repo THAT important when it comes to using an appserver?

We’re regaled with how Geronimo is a kernel. This seems to be the biggest selling point. It’s really amazing that these people think that anyone out in the Real World actually care about this.

Next follows a long tedious please-stab-me-in-the-eye-to-end-the-pain discussion of what a GBean is. Does anyone care? Will anyone EVER care? Do we really need more tedious penispenisesque xml files about how IoC works? As fucked up as the Spring people are, the Geronimo people are happily looking at current Spring as the state of the art and as something that must be bundled and emulated in every way. it makes me want to go out and buy a Baby Jesus buttplug and fling it angrily in Geronimo’s general direction.

Just to alleviate the boredom, we next have a ten minute tediumfest describing Geronimo’s…directory layout! First the high level one, then we drill down to the var directory, then we…ohgodmakeitstop.

The Geronimo XML files are yet another great illustration of how out of touch Geronimo developers are with reality and what people really want. The quest for a generic configuration mechanism means that you don’t configure the port for your website, you actually configure the port property of the appropriate gbean. It’s an important distinction here, where users are over and over again shafted by being forced to deal with things they couldn’t possibly care about. I can only imagine that Geronimo developers are so incredibly insecure that they feel the urge to highlight their own cleverness. Someone should tell these poor schmucks that in this day and age, there are far simpler and less environmentally devastating ways of getting laid.

Of course, unlike almost every other appserver in existence, you’re guaranteed to have to specify your own vendor specific web descriptor. Take that, ease of use fools! This is also unlikely to EVER be fixed, given how many random jars geronimo likes to ship with; so you’re always forced to specify class exclusions in the geronimo web.xml.

Of course, clustering is not really supported. If you really want to use Geronimo, you’re better off waiting for either a) Someone smart to take over and give the coding monkeys some direction, or b) Geronimo 2.0. Of course, neither is a guarantee of success, but if either happens, then there is a thin thin glimmer of hope in this dark and dismal landscape. EE 5? Haha, dream on. All we get is ’specs under way’, nevermind implementations.

The flaw with how Geronimo is marketed is perfectly embodied with this sort of talk. Instead of focussing on users and developers, the Geronimo people talk about how tasty their own shit is, in ways that are only relevant to each other.

it’s all awfully sad. Can you imagine how wonderful it’d be for us all to be able to round up a bunch of JBoss drones like Gavin Fleury and friends, and spit/defecate in their faces by pointing out how much better Geronimo is? It’s depressing what a pipe dream that is right now. It’s really perplexing how far behind JBoss Geronimo is. When will these people wake up and start caring about users, instead of the best configuration of buttplug/penis pump that’s required for maximum ejaculation distance?

The crazy crazy world of JavaME

Thursday, March 23rd, 2006

The next talk I attended was a bit of a black sheep. It’s a J2ME talk for one, and for another, it’s not really about technology, code, or some guy flapping about helplessly at his IDE while we all patiently wait for something vaguely noteworthy to happen.

I’m at Eugene Ciurana’s Mobile Java Application Continuum talk. Despite the incoherent and faintly pretentious title, the talk, I grudgingly admit, is pretty good. Grudgingly, because I don’t like Eugene as a person (at least, on irc), he’s a little too creepy/nice/full of shit for my taste. As a speaker though, he’s interesting, engaging, and able to communicate in a non ‘gosh I’m a tech dude wtf am I doing up on a stage’ kinda style.

Still, personal feelings aside, he’s a rather good speaker, certainly compared to the competition so far. The talk is in fact also awfully interesting, since it deals with higher level issues surrounding J2ME.

Eugene covers all the pitfalls in the mobile Java ecosystem. These are often not technical, but political, or the result of various parties all eager to protect their turfs. I’m not an ME guy, so the talk was a bit of an eye opener onto that world. The ME world seems awfully full of NDAs, secretive partner deals, zealous API protectionist mentalities, and often trying to screw everyone both up and downstream of your slot in the stack in the aim of forcing the users to become coupled to your slice of the pie (whether it be OS, api, vendor, app vendor, retailer, etc).

There’s also an interesting discussion of a commercial application’s lifecycle, and how vendors and partners interact (with detrimental results) with various milestones of the process.

An interesting description of people’s interaction with mobile devices is to recognise and work with the fact that users exhibit ’snacking behaviour’, in terms of their expectations, demands, and usage. Applications that follow these principles are far more likely to succeed and result in happy user noises.

All in all, a pretty decent talk, where I learnt that dealing with ME is an awful pain in areas that like being painfree.

SpringSpringSpringSpring

Thursday, March 23rd, 2006

It’s really quite surprising how boring Spring is. It’s a bad sign that the only potential amusement to be found is the thught of Rod ripping open his well buttoned shirt, calming and quietly taking one of his manboob nipples between thumb and forefinger, then squeezing hard and squirting the first row of attendees with his milky, rich, frothy, nutritious springmanjuice.

The talk consists of much patting of oneself on the back. There’s even a Bush moment, whereby Rod points out that ‘He cannot recount of any cases of major issues with Spring’s initial design’.

There’s also a lot of guff about the webby bits of Spring, which apparently are gaining portlet support and much enhancements across the board. Anyone still awake? Is there anything more boring that yet another web framework?

On the plus side, there are plenty of people around who for one reason or another, appear to have been literally bored to unconsciousness. There are a couple of guys close by who despite Penis Penis’ droning on and on, have managed to achieve a blissful state of sleep.

To be fair, the new xml configuration does seem to be an improvement over the current omgwtfbbq approach. Granted, a worse xml format is not technically possible given the constraints of space and time that we all labour under, but still. Rod and his crew of hungry breastfed minions seem to have finally figured out that using attributes in xml for primitives is a good thing. The extension stuff is actually rather neat, much as it pains me to admit.

There’s also a huge blurb about AOP enhancements. Honestly, is anyone still using that stuff? Aspects are so 2004, the world has moved on, why hasn’t Spring? Even Fleury is now fleeing like only a Frenchman can from his ludicrous ‘AO’ crapulence. I realise than now that Adrian Coyler works for Roddy, Spring needs to nod in AOP’s general direction a bit more furiously. Really though, it’s just making you all look bad.

Conspicuously missing from all this new guff is much mention of annotations. The spring folks seem to have become a victim of their own success, in many ways. They’re stuck attacking the pain points of J2EE 1.4, over and over again. A lot of this work is going to start looking awfully redundant once EE 5 becomes more entrenched. The world around them is moving on, but they’re so fixated on their own finger-up-the-butt-while-tugging-on-genitalia approach that they’re missing the pretty big changes that are happening around them.

What makes this particularly easy is that Spring has enough momentum that they can sort of be as ignorant, stupid, and twatty as jboss. They can choose to surround themselves with people who have already partaken of their drugs, and who will spastically chant along on cue.

Still, all is not lost. Rod is actually a pretty smart guy, as is Juergen. Certainly, they defecate from a great height in terms of pragmatism and religion-free approach on any counterparts they might have in jbossland. So really, there’s a good chance that they’re aware of all this, and are just biding their time.

Oh and for those of you wondering about the title, it’s to be sung to the tune of the Spam Song from Monty Python.

Craig yawn: Guest entry

Thursday, March 23rd, 2006

Another anonymous guest contribution! This time from some poor schmuck who evidently took all leave of his senses and attended a talk by Craig Mclotsofwordslikepoopooandwaawaabutendinginploppy about…you guessed it, more web guff.


Craig McBlahblahan is talking now. And talking. And talking. And talking.

Surprisingly, he’s offering a fairly complete history of web development, walking through servlets, JSP, etc. It’s really good, except it’s all stuff that A) people hated, which is why they came up with alternatives and B) everybody knows, which is obvious when you consider how they all came up with alternatives and posted them to sourceforge/codehaus/java.net/jirajirajira. It’s the same talk in fact that Craig has been giving for the last 3 years.

So now Craig is explaining navigation models. He’s one of the leaders in this space, and now I understand why no explanation of navigation for the web does anything other than suck. It’s not like he’s wrong. It’s like he’s boring as hell, and his monotonous droning is calculated to put everyone to sleep before they can write down that he kinda sucks.

On the other hand, maybe he’ll make such an impression on people that they’ll stay away from Shale in droves - and that can only be good. The talk is in fact so boring that there literally is nothing at all worth saying about it. The code he shows is too small, the demos are paltry and pathetic, and the content faintly insulting.

TSS Keynote: Guest entry

Thursday, March 23rd, 2006

Another guest bile! This time covering the TSS keynote. The poster sadly wants to remain anonymous though (with good reason actually)…


I’m watching TSS unfold, and so far, it’s been good, but not THAT good. The opening keynote wasn’t much of a keynote - Geir Magnusson decided to replicate Apache’s “let’s bring everyone into it” modus and brought up a bunch of wankers to give “opinions” and “views” on stuff instead of putting in the work.

The batman reference was funny, provided you knew what the context was. Considering how many people hadn’t been to TSSJS before, that means that everyone now associates Batman with Geirinstead of McFleuryploppy.

The panel was great, except they skipped over a whole lot of, like, crucial issues. They properly dismissed Web 2.0 as the hype machine it is, which was great, but then immediately revived it, saying “bea has it all!” (from Patrick Linksey, who’s apparently heard of being self-serving and converted body and soul.) They focused on rich client platforms talking to services, which sounds great, except that we heard this back in 1999, and 2000, and 2001, and 2002, and 2003, and 2004, and 2005. Apparently seven years of miserable failure isn’t enough.

Look, the problem isn’t the client - it’s the service. If all your app does is talk to mail, chat, or google maps, and you’re willing to happily dismiss the mere concept of network connectivity not always being there, then you’re set. But in the REAL world, where the rest of us live, things don’t work that way. I can’t store google maps on my desktop for when the network pukes.

What’s really ironic is that the assumption of network connectivity takes place at Caesar’s Palace, where the network is so great that I’m only dropping half my packets, and the ones I’m not losing are being dribbled through a coffee stirrer. It makes using gmail - the poster child for Web 2.0 - really amusing since LOADING THE FUCKING PAGE takes forever due to all the kicky rich client functionality the thing has to download.

So it was a great panel, considering how “future-looking” they were, and how easily they skipped over, like, relevant issues. On the other hand, at least they finally listened to people in the audience. New idea, eh, and badly overdue… now if only the audience had something worthwhile to say.

TSS Keynote

Thursday, March 23rd, 2006

Here we go again! I’m at TSS in Vegas, and this time, I’m foolish enough to be speaking. The first such shenanigan was participating as part of some dodgy ‘panel’ during Geir’s keynote.

The original plan was sound, robust, and gave us a glimmer of hope that the keynote might not be so lame after all. Sadly, instead of planning or practicing, last night was spent eating, drinking copiously, and discussing whether ‘did you masturbate on the plane to Vegas’ is a reasonable question to ask the attendees during the keynote. The questions and practices in fact deteriorated significantly up until around 3am.

Fortunately, the whole thing went off without a hitch. Needless to say, we got to go through very few of our canned questions/topics. This was a very good thing, since it meant that the audience was doing the hard work of coming up with content and discussing the issues raised and so on.

I was tremendously pleased by the audience’s responses. It turns out that the majority of TSS attendees:

  • Do not/will not deploy Ruby On Rails in a production environment (except 2 guys)
  • Aren’t impressed with Web 2.0
  • Are sick of framework proliferation

    Surprisingly, the people doing real work in fact were a delightful contrast to the thoughtwanker/blogger crowd. There’s a lot more pragmatism and skepticism around. The silent majority really is one of Java’s greatest strengths.

    The only downside though is that we ran out of time just as I was about to launch in a bitter tirade against JSF. My rage however was soothed when two people came up to me afterwards and told me their war stories of how they tried, very very hard, to deploy JSF, and ultimately failed due to its abysmal performance.

    I’m in Cedric’s TestNG talk right now (I’ll be giving a tng talk at JavaOne, so figured it’d be useful to see what the tng guy himself has to say). Not a very difficult choice given how astoundingly tedious the other talks going on right now sound. We have Bob Lee’s webwork@google talk, where I’d imagine the audience is the kind of people who have that glazed blissful open mouth rictus of ecstasy thing whenever google squats over them and drops a turd. We have James Strachan’s SOA gibberish, which will no doubt be a cloudfest. We also have Clinton Begin’s agile crap. Clinton works for ThoughtWanks so he’ll probably just smear poo on his chest and burn some clippings of Martin Fowler’s beard in an attempt to invoke his spirit (no doubt with some pair programming minion in tow).

  • WebWork 2, 2 years on

    Wednesday, March 1st, 2006

    The last time I looked at webwork 2 was a couple of years ago. At the time it was a half assed toy churned out mostly for the entertainment value of it, with little to no real direction, and a lot of pointless rubbish that some author or the other thought would be neat.

    So, sensibly, I assume that two years of mass adoption would drag webwork 2 kicking and screaming into maturity. It’d have to cater for real people, people who aren’t necessarily sexually aroused by cvs -q -z 3 update -dP.

    Of course, being of the easily aroused variety, and an eternal optimist, that’s the route I go down (after quickly giving up on the binary download), figuring that hey, I know webwork 1 inside out, how hard can this be? I even play the newbie, and decide to do it the brainless way and follow the docs/tutorial/getting started guide.

    Therein perhaps lies my fatal mistake. That innocent decision led to webwork 2 being rejected yet again for yet another project. I can honestly say that out of all the halfassed opensores projects out there, I have never, ever seen such misleading documentation. It makes one long for strachanesque documentation, where some weirdo northerner (UK) with a goatee sharts all over a page for about 20 seconds and calls it documentation, then moves on to the next shiny bauble.

    The documentation seems malevolent in its deception. This cannot possibly be a freak accident of nature, someone out there is out defacing these wiki pages, ensuring that the hapless user is molested (bad molest, not good molest) in as many ways as physically possible. The mess starts off with the dependencies description. Clearly, someone has wisely thought that it’d be great to enumerate the dependencies, and clearly label them optional or required. Sadly, the first thing that happens is that you’re sent to some autogenerated ivy oh-no-shit-just-splattered-on-my-screen kinda page. If you’re lucky enough to puzzle this out, you’ll end up with an alleged list of six or so jars required. So far so good. So you foolishly keep reading down the getting started page, and get to the web.xml sample. Hrm, this seems to mention a springframework listener. Now if I know my jars, I’d guess that this is some sort of spring*.jar. Needless to say, there is no mention of this in any of the dependencies. Excellent. The filter is also mapped to /*, which is rather excessive. Of course, later on in the page we’re told that in fact it’s mapped to *.action only. The mind boggles.

    Next I’m told to create an xwork.xml, alright then, created. Then I’m shown an xml snippet showing an action declaration. Lovely, the only question, where in god’s name does the thing go? There’s no hint anywhere of where this xml element fits in, nor the following result element.

    The language on the page is par for the course; mostly consisting of surprising and perplexing sentence structure, with the occasional sentence where the author was clearly thinking ‘waaamaaaaameeeeeeflubplopchkchkchk’. Hilarious examples include:

    Especially the example in this section should be helpful to seasoned Java developers with previous experience in MVC frameworks. Especially? Especially what? Hello?

    WebWork will take notice since the URI ends in .action. Take notice eh, what a sharp eyed little library.

    …and redirect us accordingly. Us? There is no us my friend, we’re not on this journey together, you illiterate turdburglar (not to mention that we seem to have suddenly switched from the third person to….’us’)

    All of these are on a single page. Still, I know roughly what I need to do. I litter my lib with jar droppings, I knock up an action and simple hello.jsp view, and fire up my poor abused container.

    Much to my horror and display, I am confronted with a jbossian output of staggering proportions. Apparently, all those optional jars are only optional if you happen to not mind six or seven pages of stacktraces on startup. I suppose an old fashioned warning about not enabling support for crapfest X would be too helpful and non-invasive. Looking through the code reveals that sneaky old trick of logging an exception, then throwing it up. It’s almost as bad as hibernate in fact. I am endlessly amazed at how people who really aren’t that dimwitted manage to fuck up logging time and time again. You’re a library, for fuck’s sake. Someone is CALLING you, if you throw exceptions, they’ll deal with it, they’ll log it, they’ll print it out and cram it up their ass if they so choose, it’s their problem. DONT LOG AND THROW.

    Eventually I do get to try to access my action, and I’m regaled with an exception, of course. The error? You’d never guess! It’s….something to do with velocity. Yes, the now deprecated view that isn’t supported anymore.

    Of course, there are other irritants, like the fact that running ant to build webwork seems to get stuck for a few days in the ivy process. To keep things spicy, it also will sporadically crap out during a download, forcing you to kill ant and try again.

    I suppose nobody sees the irony of merging with Struts (or at least, half of Struts, since Craig McWawafoofooploppyhan has stolen half); WebWork seems to have slowly limped its way into unusability and a certain ‘hi developer, open wide so I can enter somewhere god intended to be strictly one way’ lifestyle. Thus, a merge with the original crapfest that started them all is quite apt.

    I can’t help but feel bitterly disappointed. I’m sure that once all these hurdles are overcome, webwork can’t possibly be that bad to use. It has a lively community and a reasonable set of developers. It’s just so sad and pitiful seeing it lack polish, even after all these years. No wonder the RoR fanboys are busy circlejerking themselves into an alternate state of being; almost anything else, even by pure accident, will be less painful and more enjoyable.