Archive for December, 2003

My hellish journey with axiondb

Tuesday, December 30th, 2003

I’ve been finding mckoi more and more frustrating to use in unit tests. It tends to get a bit upset if you try to recreate an in-memory database, and leaves itself in some indeterminate state that makes everyone sad and irritable.

So, I remembered a claim made by some of the Jakarta primitives fuckwits of how axiondb was made so much faster by it. I thought a good test would be to see how easily it’d be to switch from mckoi to axion, and hopefully pick up some performance and functionality on the way. After all, axion is designed to be unit-testing friendly.

You know, I really, really should have paid attention to all those alarm bells firing off. First, it’s a tigris project. Tigris projects are always astoundingly awkward and ugly. They make Jakarta look like a beautiful shiny house of intellectual advancement. The stench of the commons-primitives dependency alone should have been sufficient; someone that retarded is likely to be a repeat offender.

I wasn’t disappointed, needless to say. My quest to just get the fucking thing running was a dark dismal journey down a rabbithole. First, the current latest release ships with just the db jar file. My heart beat faster at the thought of a beautiful all-in-one jar file that can be used out of the box. What a fool. It turns out it requires most of Jakarta-commons. The wankers didn’t even bother use their own base64 encoders; instead you have to plop in commons-codecs.

Oh well, I thought to myself. I’ll just grab these zillion jars like I’m told, stuff them all in one dir and spend the rest of the day drowning my sorrows, in the vain hope of killing all braincells that witnessed this horror.

So so naive! Of course, like all projects that do not manage their own deps and use explicit versions, that attempt blew up horribly. The current latest milestone, it turns out, was compiled against some bizarre version of commons-collections, and a method signature had changed in the actual release they say they require.

I briefly considered building the damn thing from source. That in turn brought to light another idiocy. You need to explicitly download and plop in various commons-shite.jars, as well as create your own build.properties file (they do provide the oh-so-generous build.properties.sample though). So really, fuck that. In the end, all they accomplished with their bungling and user-unfriendliness is a lost potential user, and gained much bad karma.

Now, you might think this is no big deal. However, you can barely imagine my glee when a friend of mine recently regaled me with the story of an interview he conducted with a potential employee. Said potential employee was too enthusiastic about commons-primitives, and was so eager to use it, that it cost him the job. The emperor has no clothes, after all.

There are many morals to this story. First, do not brag of your Jakarta love. It’ll cost you your job, hopefully. The more important moral is though that the axiondb developers are a bunch of shit-eating twats who insist on abusing ant and shipping broken crap and expecting their users to bend over backwards just for the privilege of using their filthy useless little database. Assholes.

Christmas Special: bilebile

Thursday, December 25th, 2003

I’m so sick of this so called bileblogger and all his shite. I mean, it’s one thing to provide constructive criticism (no matter how harshly), or even to harpoon some worthy adversary. It is, however, quite another to jab at pitiful targets that you just know have next to no ability to defend themselves.

I mean really, picking at Fred Grott? The guy’s dyslexia is so severe that his parents would likely have heart attacks if he just manages to recite the alphabet. Or how about poor Andy Oliver? Come on, once you’re past the 5th grade, picking on pot bellied bearded kids with the literary acumen of a dead gnat really isn’t cool. It’s far too easy.

I also note with particular disgust the simpering disclaimers when the so called ‘bile’ is hurled at people you care about or don’t want to piss off. Your pitiful tiptoeing around Atlassian for instance is revolting, as are your bullshit ‘now don’t me wrong I like blahblah however…’ excuses. They fool no one, you’re simply trying to walk that thin line between being universally reviled for the worthless hack you are and pandering to your braindead followers who between them can barely muster up a coherent thought. Say it like a man and quit this pussyfooting around.

It’s not like you have anything new to say either. Spasming periodically about Maven and Jakarta does not make for particularly thrilling reading, especially as it’s old crap regurgitated out in times of need. Everyone knows Maven is shit, we don’t need a daily reminder.

The best judge in fact of your intellectual prowess is the comments area. It’s hard to find such a collection of sexual deviants, clown-obsessed firstposters, and socially dysfunctional computer twats come together. The fact you that manage it is a testament to what a pathetically common denominator you aspire to.

Don’t think that I haven’t spotted your feeble political commentary either. Your unpatriotism and ungratefulness towards the USA is noted, and I for one would like you to know (as you’ve no doubt been told numerous times before) that if you don’t like it here, you can fuck off. We have a little place called gitmo bay for your sort.

Commit sluts

Monday, December 22nd, 2003

Admit it, you know the sort. You’re involved in some kind of foolish open source project, you’re desperate for young fresh blood in the shape of eager users who want to contribute.

Lo and behold, you do find these users! They come in, they submit a few patches. The patches look sensible, nothing stunning or brilliant, but robust and sturdy and certainly valuable (for some value of valuable) to the project overall.

So, the project maintainer accepts these patches, and at some point, the person who submitted these mediocre patches pipes up with a request to become a committer.

This is pretty much all the warning a mature project maintainer needs in order to never give commit access to this person.

Surely they earned it, I hear you naive fools scream out. Sadly, this is far from the truth. The reality is that they are part of a new breed of developers known as commit sluts. These people have no particular interest or loyalty to any given project. Their sole purpose in life seems to be to wriggle their way onto the developers list of as many projects as possible.

On the surface of it, that isn’t such a bad thing. So what if they commit to 20 other projects too? Well, the problem isn’t when you first give them commit rights. They’ll be happy and submit a token patch or two. However, once you give them that which they crave above all else, they simply lose interest. If you’re lucky, they’ll commit the odd pointless change once every few weeks (usually with changlog messages like ‘improved layout’, ‘fixed imports’, ‘clarified description’, ‘corrected javadocs’), but realistically, as far as the project is concerned, they’re done. They’ve now moved on to their next hapless victim, who they will seduce with their honeyed words and seductive patches. Once they pierce through the developer requirement barrier and defile that holy list, their conquest is complete, they can move on and sow their filthy dirty seeds elsewhere.

So, how to project against this new evil menace to decent society? The answer is deceptively simple. Just say no. Anyone who asks for commit access, just say no. Nobody who asks or begs for it deserves it.

Cruel Christmas: commons-commons-logging.jar

Friday, December 19th, 2003

Just when you thought it’s safe to indulge in a little Christmas spirit, that the world isn’t so bad after all, that dictators can indeed be caught and tortured on foreign soil (for some value of foreign), that terrorists can be beaten up in jail and the videotape material destroyed, along comes more smut from those wacky kids at Jakarta.

Alas, all that good news is ruined yet again by that perennial party pooper, Apache. This time in the shape of an all-singing, all-dancing, one framework to rule them all, logging nonsense. It is truly amazing how these people seem to have so much time to worry about logging. What is it about logging that’s so exciting that it makes legions of developers sport inappropriate moistness?

If you want to have some real fun though, I recommend reading the list archives for this proposal to turn logging into a top level framework. It’s more fun than chucking your babies out of 4th floor windows and sex with a recently deceased fish put together.

For one thing, it shows that there’s a universal disdain and hatred towards commons-logging. A surprisingly high number of people admit it’s rubbish, broken, retarded, and generally useless if you have anything non-trivial. The consensus is that the sooner it dies the better. That it was an ambitious attempt that failed. That it’s horribly complex, and will die through natural selection (quote: Given the tremendous complexity it brings to the game, it will end up “taking out” itself without our help). Such sweet sweet music.

Yet despite that, the calls are for the replacement to be more functional, and smaller (perhaps some lessons on software trade-offs are in order). They’ve also admitted that the definition of ‘interoperability with sister projects’ currently involves nothing more than frantic handwaving, but that it does not guarantee the same API will be used, nor is it a guarantee of protocol interoperability. Not that it’d be useful anyway, given that socket appenders are only fun for about 20 seconds, before you realise that your performance had plummeted to depths only JBoss developers frequent.

Of course, no proposal is complete without the odd smartass piping in saying how it’s already been done in their project, and that the new project should leverage the existing experience (or idiocy, as it’s know to the sane lurking amongst us). This time the call comes courtesy of some Avalon twat, pimping some newfangled bootstrapping system. It really just proves that bad software never dies; it just gets an increasingly fanatical crowd. Commercial products die by running out of money, opensource is a lot harder to kill, so incompetence is glorified and lingers on for millennia, a cancer eating away at our very souls.

Anyway, what I find most amazing about the whole process is how not one single person had the courage and foresight to stand up and say ‘good god, what an incredibly stupid idea!’. Every single post on the proposal thread approves, along with contributing some irrelevant opinions about how great it all is and how it’s sorely needed blahblah. The sheer lunacy is mindboggling. It’s truly a cause for despair, how a bunch of people can get together and convince themselves to commit such acts of pure evil, yet feel righteous and smug about it, and sleep easy at night thinking the world is a better place with them in it.

The codehaus of crack

Tuesday, December 16th, 2003

The codehaus organisation has been quietly growing, with new projects joining and being created all the time. Some of these are rather interesting, and merit more than a dismissive scoff hurled their way. Alas, many others barely deserve said scoff.

My issue isn’t with their projects (let’s face it, most are pretty dim, but what can you expect?), my issue is with their feeds. During a particularly boring meeting (made much more tolerable with the ability to surf during said meeting), I stumbled onto the horror that is feeds.codehaus.org.

All it took was a quick glance to feel the bile rising within, that all too familiar rage bubbling up and threatening to explode in inappropriate ways. It was quite unfortunate that I was in a meeting, really. I tried to control myself, but some poor sap burbling on about disconnected brokers and message evolution ended up feeling the brunt of the hausbilge pouring out of me. I beat a hasty retreat and so now here I am.

So, what is so wrong about the feeds? Here are some quotes: ‘Maven the achievement of the civilization’, ‘Maven has become de facto standard in this field’ (for repositories of java artifacts), ‘I’m finding navigating devlopment sites that don’t use Maven irritating’, ‘It’s actually been a while now since I’ve run across a Java project that’s not using Maven’.

These are clearly the ramblings of people who have partaken a bit too liberally of the crack pipe. I’m having trouble articulating the breathtaking arrogance, ignorance, and sheer audacity of these comments. How anyone in their sane mind can view maven in such a positive light is truly a testament to the human mind and its ability to dismiss all external stimuli in an effort to justify its own insanity.

I mean, even the standard maven bigots will concede that it has some fairly serious issues. They’ll all admit that for all its faults, overall it’s been beneficial to them. One thing most are united in is the disdain for the generic website that maven shits out. It’s not just bad, it’s offensive and insulting. Whoever came up with it (not just the layout, the idea too) should be neutered. The mere sight of a maven generated site makes me want to grab two white hot pokers and shove one up my ass and one into my eye and see if I can get them to meet inside of me just to ease the pain.

Alright, I need a moment to calm down.

The rest of the blogs are equally stupid, if not as offensive. Duplicate announcements, hare-brained schemes for more offshoots and maven sub-projects, snow falling, free razors, and so on. Maybe the agenda is ‘feeds of anyone related to the haus no matter how tedious, boring, or irrelevant’, either way, it makes for very drab reading. I mean, people even talk up JUnit in Action, which might be one of the most annoying JUnit book I’ve seen. I actually flicked through it trying to look up something I was trying to do (setup code per set of tests). Instead it kept talking about mockobjects, cactus, and other such filth. In fact, if you follow all the advice in the book, you’re guaranteed to be doing nothing but maintaining your ungainly test cases. I suppose that’s one way of ensuring job security, sneaky and underhanded as it might be.

Don’t even get me started on how half the projects on there violate their own manifesto (although I AM pleased by the liberal usage of ‘Bob the Despot’ throughout the manifesto). Still, they’re well on their way to being another jakartafest, which I suppose they’re foolish enough to take as a compliment.

Sub-version is not a misnomer

Saturday, December 13th, 2003

Recently, I had to move a fairly large (few thousand classes) codebase to a new source control system. The nice thing is, there was no restrictions on the system to move to, beyond it having to be free.

Foolishly, I thought that it’s high time I try out subversion. After all, some people on the good ship non-retarded-people-who-should-not-be-dismissed-out-of-hand-at-all-times had said it’s quite usable and orders of magnitude superior to cvs.

Oh how foolish I was to fall into such candied words! Needless to say, those well intentioned people have now been frogmarched off the gangplank, where they can bob around indefinitely in the sea of turds without causing any further damage with their wild fanciful ideas. It’s amazing how easy it is to mistake ‘functional’ with ‘usable’.

So, what is so awful about subversion? Well, the requirements for one. While it does have a standalone server, the general consensus is that it’s much better to go with the apache module crap. Now, this leads to a nice catch-22. No sane person is going to install apache2 on a production worthy machine, and no sane person will install their source control system on a non-production worthy machine.

What were the good subversion folks smoking when they decided to go with apache2? Were they all collectively strung up by the ankles then dropped on their soft little heads? Even more amazing, they decided this years ago and have steadfastly stuck to this bizarre dependency.

Which brings me nicely to my next point. How on earth can this piece of software be in development for over three years and still barely manage to fart out a mockworthy version 0.34? Sure, it kinda works, it does the basics. Some of the extra features are handy, but really, what on earth have these people been doing for 3 years?

The list of stuff they brag about isn’t that mindblowing either. atomic commits exist in every single control system I’ve ever heard of (except CVS). Parseable output? Gosh, what a killer feature that is. Must have taken years to design and implement correctly.

Still, all that can be forgiven if it integrated well with ’stuff’ and had some nice clients. Alas, every client I tried didn’t even come close to the worst of cvs clients out there. The java ones were almost hilarious in their amateurish design and presentation. That is, if they even ran. Many of the clients would simply refuse to run, they’d demand v0.33 of some native lib, when only v0.34 is available. The native lib, needless to say, only compiles on linux and windows. The native OSX client seems to be yet another ‘for fun’ project that’s mostly useless.

The whole thing seems to be ‘lets reinvent cvs with all its warts, and slap on a few nice features on top’. I went in expecting some sort of paradigm shift, the kind of ‘aha!’ one feels when switching from emacs to IDEA, from Linux to OSX; a lifechanging experience that made you a better human being. Instead, all I ended up with is the retarded cvs people churning out more crap under a different name. Sub-version is, alas, sub-par in ways that can’t really be remedied without spending another 3 years undoing the evils of the last 3. Ah well, back to unglamorous CVS for me.

Anniversary bile

Wednesday, December 10th, 2003

It is six months ago to this very day that the bileblog was born. I’m feeling all sentimental and nostalgic so I thought I’d make a note of this special day and thank all the various entities that have made this possible.

I remember that dark and dismal June summer day, many months ago, where I saw some blogs by some java people. I remember the raw naked hatred I felt bubbling up with, the urge to lash out and inflict pain and harm on all and sundry. I felt the only way to destroy their unbridled enthusiasm and eagerness was to attack from within. Thus, the bileblog was born. All those years of pent up rage finally had an outlet.

I’d like to thank maven, for being one of the catalyst products for my rampage. Without the pain and agony of using that retarded product, coupled with the shit-eating grin that maven users often sprout, I might have never been pushed over the edge in quite that way.

Most of all, I’d like to thank the java community as a whole for being a bunch of wankers, steadily and consistently churning out pointless, useless, and badly written nonsense. No real thank you speech of course would be complete without some specific mentions, so here we go.

I’d like to thank jiramikejira and the atlassian crew, for being one of those rare companies that prides itself on having more server downtime than uptime (opensymphony.com has been down for a day now, and before that javablogs was down for over a day). I’d like to thank the JBoss group for having marketing people that make them sound like a failing dotcom, and leaders that make them sound like a bunch of pimply-faced social rejects. I’d also like to thank: Chiara’s drugs, Rickard’s terrorism, Carlos Perez’ love of the sound of his own voice, Fred Grott’s dyslexia/mental dysfunction, Gerald Bauer for being possibly the stupidest person in the world, Jason ‘xwork will cure world hunger’ Carreira, Pat ‘I want to be jiramike and xworkjason’s adopted lovechild’ Lightbody, Jakarta for letting every little shit with a stupid idea add their project, all the bugs in this IDEA EAP cycle, countless opensource and commercial products written by genetically defunct people, Anonymous Bastard, Clown Puncher, the early days of the first post guy, Silent Bob, Sideshow Bob, and so on and so forth. I hope you all keep doing what you do best, so I have enough material for another six months.

Finally, thanks to the people who managed to see past the vitriol and responded intelligently to my complaints. It’s the one glimmer of hope in an otherwise dank smelly lightless tunnel.

JBoss' Achilles' heel

Monday, December 8th, 2003

I note with much bemusement today that the JBoss clan now has a collective blog. This consists of 3 kinds of posts so far. Bill Burke posting useful technical stuff (for anyone foolish enough to use JBoss). Nathalie Mason-Fleury posting a rational piece about JBoss and people’s attitudes to it, and Andy Oliver…well….making a prat of himself.

It’s then that I realised what the problem with JBoss is (well, one of). Surprisingly, the reason is not technical at all. JBoss might have terrible performance, but that’s not a crime. It can certainly be argued that you get what you pay for, but in this case you get more. You get a reasonably functional J2EE stack for nothing, which is not to be sneezed at.

The problem in fact lies in some of the personalities at the forefront of JBoss. On one side you have people like Nathalie; erudite, charming, witty, and all that good stuff. On the other side you have….Andy. Migrating rapidly from the Andy school of thought are Marc Fleury and Bill Burke. Now, we might all laugh and giggle at Marc’s potty mouth and inability to speak without frothing wildly. It’s important to remember that he’s been suitably leashed lately, and seems remarkably restrained, on-topic, and coherent these last few months (and considerably less vocal). Bill also seems to have been transformed into a likeable chap. He avoids all the gossipmongering and bullshit and tries to stick the job at hand. It’s not nearly as easy to point at laugh at someone like that.

Sadly though, Andy seems to have taken over this role. Witness his dislike of poor Joseph Ottinger, for example. Now, Joe certainly has a certain abruptness to him that can be quite irritating. However, I know for a fact that he as a person does not get to pick and choose what gets published in JDJ based on personal whimsy. Poor little Andy wrote some tedious crap that got rejected, and so now he decides that he hates JDJ. JDJ certainly didn’t help by rubbing salt into his wounds and publishing my silly little article.

I feel bad for Andy, I must say. He’s one of those people where you sort of feel vaguely embarrassed for whenever they speak around you. Everyone sort of shuffles about uncomfortably, laughs nervously, and generally wishes they had someone more socially competent to talk to. It’s really not hard to see how this wormy Andy grew (haha) out of a fat little shit at school who was regularly bullied and harassed, and now that he’s had some moderate success is out to ‘get’ all those who wronged him in some way and/or continue to do so. He’s out to prove once and for all that the timid little wedgie infected twerp is gone for good.

I’m sure he’ll point out the hypocrisy in my mockery of him. All sorts of wild accusations involving pots and kettles will spring up. It’s irrelevant though, one has to but read his childish musings to realise that deep down inside, he’s just a bullied little child begging for a little love.

Sadly though, this is not beneficial to JBoss. They end up being represented (yet again) by some immature unprofessional illbred twat. One has to wonder if they’ll be surprised yet again when their bad karma goes up.

Month in review

Monday, December 8th, 2003

It’s been a while, so there is much ground to cover. On with the show!

First regarding JBoss vs ASF. Well, more accurately regarding JBoss in general. I was quite heartened to see Greg Wilkins (proud parent of Jetty) point out the evils of JBoss, and the exact nature of the beast that we’re dealing with. What I find amazing is how a group of people who are supposedly champions of open source can be so astoundingly incompetent at projecting a good image. I mean, in the open source world, you could quite literally drop turds into people’s mouths and they’d still be singing your praises. It takes a very special kind of dedication to manage to generate such bad karma. Yet the JBoss group somehow manages it, time after time. At least with companies like SCO, they’re making money off their little antics, so more power to them. One has to wonder what the JBoss group gets out of their shenanigans, because surely the Fleury clan, with its diabolical schemes and machinations can’t be as….well….stupid, as they appear.

Kudos to Sideshow Bob for what must surely be one of the funniest comments on my ‘Die petstores die’ rant. I spoke with Joe Walnes (author of THAT book) shortly after, and he washes his hands of the whole petsoar name/idea and said that his suggestions for different kinds of stores were promptly rejected, so now the blame shifts onto at least one of the other three culprits.

Next up we have MOMs and the joys they seem to bring all and sundry. Some comments seem to imply that these ludicrous message buses automatically buy you transactional integrity. I suggest you actually try out some of these systems and see how well this works in real life. If it does work, I challenge you to try and pump through more than a few piddly messages per second with proper tx support on. I’d also like to clarify that I was NOT advocating end of day file transfers instead of real time messaging. I’m just disgusted and saddened by purchasing message buses that can feed a few small African nations for 2 years and using THOSE for nothing more than end of day batch messages.

Another disturbing trend in comments is that the anonymous cowards seem to be becoming the norm. Mind you, that’s probably not as disturbing as the surprising number of comments involving punching some sort of clown (or urges to do so) for reasons unknown. It is a mystery to me though why Jakarta lovers post anonymously. I can understand anonymous postings for negative stuff since people don’t want their employer/friends/lovers to see the raw naked hatred festering within. I mean really, Mr jakarta-primitives website with (unhelpful) pointers about anchors in jakarta download pages…are you that ashamed of the object of your affection? Still, nice to see the ever-popular ‘why don’t you shut up and submit a patch then!’ suggestion hurled about. Stupid bastards.

Finally, regarding Swing. It’s somewhat amazing how many people completely missed the point. First there’s the hilarious suggestion to use xwork (believe it or not Jason, xwork is not the answer to every framework/design question). Also, I was NOT asking about ways to draw pretty pictures, so the suggestion to use various IDE’s were also not helpful. Finally to Kevin Duffy, which your project looks interesting, I still fail to see why it’s a foundation for Swing. Not every application requires plugins (and from what I can see, that’s all your framework provides currently…a very clever and intricate plugin system). Certainly, not every application should have the concept of perspectives or other such eclipsisms. Thanks to Rickard for sending me his BeanConnector though, which very elegantly handles the problem of wiring up various swing components to models. For the curious, you can get a hold of it in the beanutils package in osworkflow’s designer on java.net (along with a very slimmed down no-deps version of commons-beanutils).

Decent swing code

Thursday, December 4th, 2003

Most people these days (at least the vocal ones) do web/server side stuff. They’ll pontificate at great length about having wonderful designs, MVC, action class, IoC, command frameworks, and all that twaddle. They’ll feel clever for cracking what is, at its core, not that complicated of a problem.

The one thing however that seems to be sorely lacking is an equivelant in the swing world. For anyone who has done any serious swing work, you probably know that it’s a LOT more difficult than silly web crap. With web stuff, you have some constraints which greatly limit what you can do and how (request/response, page views, etc). That in turn makes life much easier; there’s only so many ways of doing something.

In the swing world though, things are radically different. There are a million ways of doing the same thing. It’s HARD. Worst of all, there are no howto’s that will talk you through writing large scale swing apps. For some odd reason, it’s a secret art with very little concrete info out in the wild.

Sure, there are a few million component libraries out there. Those still don’t address the need though. The only attempt at it seems to be in the jgoodies products, which are a good start but still have some annoying flaws (usage of statics, adding a new action involves touching many files, etc).

For example, what’s a good way of managing Actions? Do you have an ActionFactory? Do you follow them religiously, or fall into the odd anon. inner class? How much should your actions know about your UI? Do you tie them to the controller or view? Should they update the model or the view?

The problem is made a lot worse by the fact that any idiot can knock up a swing interface that seems functional. It’s laughably easy to slap on some panels, a few tables, and a bunch of buttons that Do Stuff. So Swing ends up getting a bad rep because it’s very accessible for the dummies, but very hard to actually get just right. There just doesn’t seem to be any easily available frameworks to provide guidelines for all this stuff.

Of course, it’s nothing compared to the massive retardation of shite like SWT. But then, in that case their cause is so hopeless it’s not even worth highlighting the problems. SWT is a boil that needs to be lanced as soon as possible before serious infection occurs.

Awkward download links

Monday, December 1st, 2003

It’s quite surprising sometime the lengths that certain vendors will go to to avoid easy access to a download of whatever API or piece of software they’re bragging about.

Now, I have no problem with vendors that simply do not provide a download link. It’s perfectly acceptable to decide that your software does not have a trial version that you want out ‘in the wild’, or to demand that people call you up and have specially arranged flashy smoke and mirrors demos and suchlike.

However, what irritates me is the approach that some Jakarta projects will take (sorry, it really really isn’t my fault they come up so often). Projects will often have a seemingly helpful download link right there on the left nav. Let’s pick a random project…say….log4j. I select this from the main page, I see a download link. I click on it expectantly, hopefully, eagerly….and what do I get? I get another teaser page, informing me of releases, third party addons, and so on. Not so bad, this stuff could well be useful. The link for the actual download is comfortingly placed at the very top of the blurbage for the rushed and impatient.

Onwards we go. I click on this link, and now, horror of horrors, misery upon misery, O lightless tunnel of life, I see the GENERIC DOWNLOAD PAGE.

I now get to be told yet again about milestone builds, nightly builds, release builds, and all that tedious nonsense that explains how it all works. That’s all good and well if there were an easy download link. No such joy though, I have to scroll through a novella’s worth of pages just to find the damn download. It’s conveniently placed right in the middle of a list of downloads for every single filthy Jakarta package out there.

The psychology of this is offensive. The implication is that all you care about is that you’re downloading from Jakarta. What you actually download doesn’t matter much. It’s as if to say ‘you want some stuff from us, and you’ll want a lot of it, so we’ll just make it easy for you to get it in bulk because that’s the most common use case’.

To be fair, some Jakarta projects will be considerate enough to actually post direct links to download locations, thus ensuring that the pain they inflict is purely of their own doing, rather than them teaming up with the Jakarta juggernaut to inflict maximum damage.

I wish some open source projects learn this valuable lesson from almost every commercial vendor out there. If your site is product oriented (and all open source is product oriented), then talking and hand waving about your product will only get you so far. You need to always ensure that it’s very, very easy to actually get the product. Now shocking and radical as this may sound, this is actually an awful lot MORE important than any of: coverage reports, junit test case results, mailing list info, credits list, unit test xrefs, and most despicable of all, that insult to all that is good and wholesome in this sad pitiful world of ours, the generic ‘development-process’ maven page.