Archive for March, 2004

Stillborn ideas: XDoclet2

Friday, March 26th, 2004

It’s amazing that there’s still talk of xdoclet2, and that there are living breathing people who actually think it’s a reality. Yes folks, fresh from the team who fucked up xdoclet beyond all recognition, we have a new project that is, if at all possible, even more fucked up.

First, it’s been in development for over a year now. Let’s review what these precious little geniuses have come up with, shall we?

Oh look, it’s more waffle talk, as championed by the prevayler crowd of cluebies. How can one take seriously such claims as ‘XDoclet lets you apply Continuous Integration in component-oriented development’, or the mindboggling profundity of ‘Start writing your own plugin and experience how easy it is!’ given that it seems anything but.

There are a variety of websites, wikis, maven generated travesties, and various deposits of poo from the so called ‘development team’. One of the main bragging points is that the xdoclet portion of xdoclet2 is in fact 16kb. As usual, these dimwits went and invented a whole pile of worthless crap that nobody actually wants, because they were in desperate need of finding a new problem to solve, since the xdoclet problem had already been toyed with before. Browsing various sites shows us that these are some of the ‘frameworks’ used for, by, with, and around xdoclet 2 (this is by no means an exhaustive list!): qdox, NB MDR (??), androMDA, metaforce, Xbg (eventually renamed to the snazzier XGG, and recently obsoleted), betwixt, jelly, velocity, picocontainer, generama, and a mishmash of jakarta droppings.

Peeking at the source code shows more cause for rampant bellychuckles. A bunch of things seem to live under com.thoughtworks, there’s no documentation to speak of, and it uses that beloved codehaus tool for the permanently braindamaged, maven.

All this is made all the more glaringly offensive when one considers alternatives, like Cedric’s SGen. SGen has no dependencies, and it took me a few hours to manage to port about 60% of xdoclet’s ejb module. The difference says volumes about the day jobs of these people. One group are clearly consultants who are bored and try to snazz up their job as much as possible, the other is clearly by people who have jobs working on real products where they expect outsiders to critique their work and use it, ones who most likely have no time or patience to waste on halfbaked ideas.

The recommendation to use jelly as the template language is also particularly hilarious, given that James Strachan himself apologised today for the travesty that is jelly, in a brave move that I applaud heartily.

The biggest failing though is completely misunderstanding the users of xdoclet. Us xdoclet users don’t use it because of its architecture, it’s pluggability, or its ease of use. It’s rubbish at all three. We use it because of the plugins. That’s the ONLY selling point. As painful as it might be to admit, a large number of xdoclet users are also ejb users. Most of them are probably ashamed too admit it, so they aren’t loud or obnoxious about it. Having an xdoclet core developer pipe up on the mailing list telling people not to use ejb’s is insulting and rude. If anything, you should be scolding the asshats who use xdoclet to generate webwork action mappings and hardcoding xml files into their sources.

I respect and admire past work done by Ara Abrahamian and Aslak. Ara sadly seems to have moved on and is no longer involved with xdoclet. Aslak sadly seems to have taken leave of his senses once he joined Thoughworks. So, avoid xdoclet2 at all costs, you’ll live a longer, happier, and more fulfilling life.

Perhaps I’m overreacting, someone recently blogged that they were giving a talk about xdoclet2 at some conference and the room had all of one person in it interested, still, better safe than sorry!

Disinfotainment blogs

Saturday, March 20th, 2004

While browsing the past content of javaworld the other day, I had a rather troubling thought. There are no (re)sources anymore for that kind of material. If you want anything useful to learn about java, amazingly, Sun is your best bet. Sun is pretty much the only website that will steadily pump out technical java material that will help you learn pretty much any API you’re interested in.

Yes, I realise we have tss, javalobby, and a host of other such sites. Scratch beneath the surface though and you’ll find very little actual technical content. Everything is either product announcements, some random guy pontificating about something or the other, some spastic discussion about meta-java (OSS it, open it, close it, JCP this or that, .net sucks, .net rocks, java must become ruby, java must become python, I want to have IBM’s babies, MS is evil and is out to steal my babies, TDD saved my marriage, are ejbs anti-christian, etc etc), or some blog reference.

It’s somewhat depressing the impact that blogging has had on the java world. Allowing the masses to express themselves freely and loudly has done terrible things to the signal to noise ratio of java articles.

Previously, there was a stigma associated with sounding like an idiot. Blogging has done away with that. Look through the current entries on javablogs to see for yourself. There are next to no entries of a serious technical nature. People talk potty training pets/children/significant others, people talk about how cool some library/framework/approach is, or people express confusion at something or the other.

Of course, it’s a vicious circle. Your average potential blogger will see that others sound like idiots, and will (rightfully) think that he or she is at least as eloquent, so starts a blog. More noise, less signal.

It’s all hugely entertaining, of course, in a sad, comical, depressing way. Most people feel a sense of community at the rampant circlejerk, and the fapfap noises of others tugging at one’s penis can easily be mistaken for inner quality and amazing powers of insight. In the meantime, that rare handful with something genuinely important to contribute are lost in the noise.

In fact, the lack of an editorial process ensures that that handful is whittled down even further. In the real world, nothing is published before being edited by someone competent. That ensures that even though you might disagree with what you read, it is at least mildly coherent and somewhat rational (the lack thereof of course results in such hilarious writing as that found in the ‘Java Open Source Programming’ book).

Nor do I understand the obsession with endlessly reproducing droppings from the bottoms of ‘thought leaders’. These guys really are on the whole awfully mediocre with very little insight beyond their own prejudices and experience. Reading them is akin to watching a news program talking about the weather with a segment interviewing some average man on the street and asking him how he feels about the rain. Filler material, utterly irrelevant to everyone, yet produces just enough noise to drown out any actual thoughts.

So please, blog less, think more. It’s like talking, you come off as far more coherent and thoughtful if you invest those precious few seconds up front and determine whether the other person actually wants to know what you have to say.

Increase your girth by JSR submission!

Tuesday, March 16th, 2004

I cannot believe that that toy, groovy, is now a JCP submission. I am astounded at the gall of these people. Have they no shame? Exactly how low will they sink to beg for ego stroking?

Where does one start? How about the proposed package name, ‘groovy.*’? Whimsy has its place, it’s known as perl and other such hacky toys. Leave java to the professionals. If you thoughtworks assholes have shitty boring jobs where you’re forced to code in java, don’t foist your crap onto the rest of us. Go be perl, ruby, or python monkeys or something suitably hacky that is more egofondlefriendly.

Next let’s look at the geniuses behind this endeavour. According to the submission, the group members are experienced participants and managers, with well-known projects such as velocity, dom4j, classwords, maven, jelly, jexl. Basically, a list of retarded ideas that have that whiff of circlejerk that only codehaus can bestow. velocity and dom4j are decent, to be fair. The rest though isn’t even a bad joke, it’s a joke in very very bad taste. It’s almost as if they’re taunting the users with this JCP. ‘Our genitalia is so big that we can mention this shit and STILL be applauded for it, screw you all!’. It does make one wonder whether the whole exercise is to see if anyone is awake. A pre-April’s fool day gag gone horribly wrong.

Let’s look at the other luminaries who support this travesty shall we? We have Bob McWhirter (codehaus lead masturbator), Jon Tirsen (incoherent immature loudmouth), hardcore groovy hackers (gosh, they suppport it? Astounding), Geir Magnusson Jr (nice guy, velocity guy, apache minion), and ThoughtWorks (obnoxious pretentious gits). Put together, this bunch of misfits are responsible for a surprisingly huge number of truly horrific ideas. All they need is the Midas touch of Craig Mcflafla to have that ultimate java winning team.

Now, I have nothing against people wanting to use java as a scripting language, I will even concede that such a thing has potentially useful applications. However, I fail to see why of ALL the choices available currently, groovy is the one that gets a JCP spec. It is by far the least tested, least used, most immature of all the various offerings out there. The only reason it’s in the JCP is the desire of its authors to be applauded and get acclaim for their new toy, and its flavour of the month accolade.

What next, really? What’s to stop everyone from trying to JCP their own little pet projects? Hell, I’ll submit the bileblog as a JSR! It can have a spec, and perhaps a TCK to ensure content is on-topic and relevant! It’ll improve the quality of rants and standardise them!

If the groovy kids were so keen on their toy, why not just do everything you want to do for it outside of the JCP? There’s nothing stopping you from writing a formal language spec for it, making sure you have a test suite, and all that crap. Why must you sully the JCP with it, if not for personal gain? Why use such underhanded methods to leapfrog beanshell, ognl, pnuts, and a host of other players in your domain? If it truly is the one scripting language to rule them all, let the users decide by adopting it and making it a de-facto standard.

So, please, I beg of you all, stop this insanity. Someone please let me know who to email at the JCP to object to this JSR. I urge you all in the strongest possible terms to put an end to it and let it die the miserable death it so richly deserves. Of course, there’s a slim chance of this happening, given that both spec leads just happen to be on the executive committee, so I’m sure they doesn’t have a biased opinion. Grrrr.

JDJ: Upholding a fine tradition of comical awards

Sunday, March 14th, 2004

The JDJ readers awards are one of those things that have an almost comforting familiarity to them. You can always count on misplaced entries, retarded nominations, ludicrous winners, and all in all a portrayal of the java landscape as one uniquely inhabited by terminally brain damaged individuals.

That JDJ would choose to glorify and encourage such spastic behaviour is disgusting and obscene. Whatever happened to the promises of more careful consideration of nominees? Whatever happened to the vague assurances we were given that this year, the awards won’t look quite as stupid as they usually do?

Fear not, those were all indeed empty vacuous promises. What’s amazing is that people actually participate in this charade. When oh when will they learn that the whole exercise serves two purposes. The first of which is to cull as many email addresses as possible to spam with ‘free digital editions’ of JDJ, and the second of which is to try to get the odd bribe or two from various vendors in return for JDJ making favourable noises in their general direction.

So what do we have this year? IBM! IBM here there and everywhere! The one tool that every single developer despises (Wesphere) seems to have placed highly in most categories, including such dubious awards as best profiling/testing tool, best java data access tool, best java debugging tool, AND best java application (!!!). Yes folks, one of the rare java applications that will simply not function on any pure java environment is up there as one of the best java apps.

The hilarity continues with BEA. They happen to win best java application server AND be a runner up for best java application. SWT somehow wins best java component; conveniently ignoring that SWT is neither a component, nor java.

If only these were a few isolated cases, it wouldn’t be so bad. These examples in fact are a random snapshot. The quality of the other nominations and winners are of equally dubious nature. XMLSpy still manages to be a ‘database tool or driver’, Oracle JDeveloper somehow manages to be a java component (good luck embedding that), and JBuilder defies all logic and common sense by still being the best java IDE out there. A throne it has merrily held on to for years because nobody has bothered telling JDJ that the java world does in fact evolve, and that living in 1998 was only cool for one year.

Also interesting is the wonderful lack of open source products on the winners lists. I’m sure this has nothing to do with corporate sponsorship and is merely a reflection of the fact that nobody actually uses opensource. Har har har.

How can this be fixed? Simple, vote with your fingers. Cancel your subscription to the free toilet paper they send you. Get off all their lists if you can. The only way they’ll learn is by their circulation being affected. Perhaps then they’ll do something more than make developer-friendly noises while continuing to insult everyone with their delivered content.

Is good code relevant?

Tuesday, March 9th, 2004

A few days ago I had a rather interesting conversation with someone. This person is the main developer for a popular site (in its niche). The site gets a few million hits a day, running on a couple of piddly little servers. The servers have fairly high load, but for the end user, it’s surprisingly fast.

The issue at hand is that this developer thought that maybe ten thousand connections to the db is a bit much, and was wondering whether it’d be worth using a connection pool.

Needless to say, I was rather flabbergasted. How on earth could anyone NOT use a connection pool?? It turns out that this was the least of the site’s problems, from a development perspective. Servlets happily emit html, there are no design patterns to be seen for miles. There’s nary a whiff of anything vaguely web frameworky. The mention of TDD would have illicited a blank stare at best.

Yet at the end of the day, the site is a success by any other measure. Users are happy, developer is happy, management is happy, there are no fires to fight outside of the normal operating issues that every project has.

Clearly, this is somewhat of an extreme case. However, it does beg the question, why is everyone so obsessed with the perfect design, the perfect framework, the perfect web methodology? Don’t give me that bullshit about it paying off, or how it ensures the project is a success. Excluding the children amongst you, almost everyone has seen projects that have awful awful code succeed, along with projects using all the right buzzwords and cool frameworks fail. Out there in the real world, I’d be amazed if there’s any correlation at all between success and anything that actually matters to a developer.

Of course, there are plenty of cases where it matters. This rant is directed mostly at all the webmonkeys out there who feel they’re part of some grand adventure or who like to rub their sexual organs against anything off the factory floor. Having said that, there are still plenty of examples where it should matter but apparently doesn’t. JBoss for instance has some truly….interesting code. It’s written in a childish idealistic way, textbook academic applications of patterns, all of which result in abysmal performance. Yet, it doesn’t matter. JBoss is a success, and clearly the quality of the code has nothing to do with that (I’d be surprised if ANY other appserver is slower). Websphere is another example. Developers will cry and wail at being made to use it, yet by any measure that matters, it’s a roaring success.

Back to the issue at hand. I think the reason that webmonkeys are so desperate to feel they’re doing something grand is rather simple. Their work is simply….too….boring. All these frameworks and web doodahs are more often than not simply the product of a hopelessly bored mind desperate to inject some sense of meaning into their daily grind. All the business asked them to do was product an app that solved a specific need. Nobody told them to go invent a framework for it, or to maximise reusability, or to componentise the moving bits, or to use TDD, or to opensource anything.

Yet, all these things happen. The poor developer’s task is so menial and trivial that he is forced to go out of his way to justify his sad pathetic little existence. What better way than to open source it and seek approval from other equally sad pathetic individuals? What better way than to inject the project with what is perceived to be cutting edge, intelligent, and exciting?

So come on people, if your job is boring, please accept that and try to find fulfillment elsewhere. Do not write a framework or seek the approval of other tossers in your field. Find some other, more private, way of coping. There are plenty of ways to find fulfillment that do not involve using the latest ‘cool’ library.

Eclipse LAF: HUH?

Thursday, March 4th, 2004

I periodically try Eclipse just to see what the enemy has been up to, and to gauge the exact pitch and volume of my laugh in his face. So, as part of that exercise, I grabbed a recent integration build. Usually I manage to last about 3 minutes before deleting the whole thing off my OSX box.

Imagine the ear splitting screams of joy that burst forth after waiting the obligatory two minutes for Eclipse to start, upon viewing its spiffy new look.

Now, maybe I’m a deranged psychopath with a dubious mental state. Maybe I live in a crazy world where I constantly reinvent the past. However, I’m still convinced that when I first started using Swing (version 0.4), one of the revolutionary new claims was the LAF stuff. It’s nice to see that after years of bragging about how great native components are (AWT equivelant) SWT fools are just now finding out what swing did a few years ago. What next, pluggable LAFs? A ‘look and feel’ menu item? Perhaps after a while they’ll realise that people find it difficult and annoying having to use native code to write a new LAF, and so SWT becomes pure java. Teehee!

What the hell were those people thinking? How will SWT bigots justify this? The whole rationale, the underlying premise behind SWT’s very existence is the native look. Take that away and what do you have? A weird looking MFC app. I don’t know about you lot, but I for one have absolutely no interesting in weird looking MFC apps, and like my Java to be just that; Java.

JBoss thoughtspeak

Wednesday, March 3rd, 2004

I was actually mildly pleased initially to hear that the fleury clan managed to con some VC into coughing up so much dough for them. It’s always nice when someone gets screwed (and with that combo, you can guarantee SOMEONE is getting screwed). However, my initial goodwill and cheer were quickly squished by the incredibly offensive and ridiculous ‘press release’ they pooped out.

Now, it’s one thing to have a press release ready to puke out onto Yahoo or other such ‘official’ forums. What’s offensive though is that it was posted on a blog as a ‘friendly’ banter type entry. I can’t imagine a single person stupid enough to have read it and thought it was written off the cuff or meant to be friendly, honest, or informal.

Let’s be honest, the thing stank. It was a piece of marketing-on-a-blog. Don’t believe me? Well let’s go over some of it (with appropriate thanks to various anonymous people for their insights and suggestions).

The first ridiculous claim is that you need to get $10 million in order to provide 24×7 production support. Gosh, really? That much? Please go out and tell the thousands of companies that provide that level of support that they immediately give up if they don’t have those millions, clearly they’re not actually providing 24×7 production support.

While I agree about the comfort level that people have with a ‘real company’ (funny to see the implicit admission that without that ‘next level’ of funding, JBoss isn’t a ‘real company’), I think poor old JBoss is forgetting the kind of people who go for their silly product. Cheap ass open source weenies. If they plan on providing the level of support that a ‘real company’ has (and charging appropriately), they’ll rapidly notice that people will choose to go with a real appserver instead. After all, why not go for the real deal and buy Weblogic, if JBoss costs the same?

Next our hero Mr Bickel proclaims that JBoss is no longer a consulting company. Hrm, wasn’t Marc insisting all along that they never were a consulting company or something? Exactly how many messages do those people have anyway, and why can’t any two of them agree? Even funnier is Bickel pointing out that ‘customers are moving JBoss into real production applications’. Gosh, don’t sound THAT surprised. Surely this isn’t new? Surely it’s been used in production for a while now?

Then we’re assured that they’ll keep being LGPL. Wow, how kind and considerate! I don’t suppose that decision has anything to do with the fact that the license itself is what forces that, rather than the general good will of the fleury freaks.

The next paragraph is equally ridiculous. Somehow Mr Bickel manages to string together 3 lines of words without managing to actually say a single thing. Truly astounding. He says that the money they make will be used to pay employees, and that they don’t ‘require’ anyone to use their services. Wow! Now THAT’S what I call an innovative company! Paying employees! Allowing customers to determine what they will and won’t buy! Quick, patent those crrrazy ideas before some evil little monkeys at BEA start using them!

Next, we have even more pointless waffle. So the LGPL doesn’t allow you to ‘do an Enhydra’. That’s right, the licensing forbids it. You have no choice in the matter brucey, stop pretending like your benevolent employer is doing us all a favour.

Next we have yet another pathetic plea for contributions from those 50 million JBoss developers worldwide, followed by more angry penis waggling in the general direction of BEA (no doubt accompanied with heartfelt pleas from Mr Fleury asking that any random passers by suck said appendage).

The answer for ‘why do you need outside funding’ is ripped straight out of about a million other VC funding press releases. In fact, I dare anyone to find a press release that does not contain this paragraph. Even the most childish of online VC bullshit generators can come up with ‘move to the next level of maturity and ability to execute’, ‘help set up appropriate governance models’, and ‘provide opportunity for existing and future employees’. Particularly shameful though is the use of ‘thru’ instead of ‘through’. Now Bruce, I know for a fact that Nathalie is particularly proficient at this language of yours. So next time, please run your press releases by her to avoid mistakes like this that make you look like a slovenly unprofessional hack. I’m surprised they didn’t mention such gems as ‘increase value-add’ or ‘productise innovative mind-cultures’.

Then we have the obligatory ‘we love our VC, we had so many to pick from but we chose them because they’re just so lovely that we want to have their babies, and are in the process of doing so as we speak’. How very very trite.

See, all this nonsense would fit in just fine as an official press release type crap. However, it’s posted on a page that is clearly stated as being an unofficial place for the various fuckwits to ejaculate when the mood takes them. So far the content has even been somewhat endearing. Bill Burke sticking to technical stuff, Andy Oliver making a complete fuckwit of himself in ways that aren’t even vaguely amusing (for a laugh, see how little feedback he got for his plea for feedback for his stupid little mailserver crap, by my count there are now…THREE people who care!), Nathalie finally making use of the years she wasted in academia; all human touches. Bruce Bickel though is either a very disturbed individual unable to articulate himself in a way that is accessible to fellow man, or yet another JBossite who feels obliged to sabotage everything with propaganda.