Archive for April, 2004

The flexibility fetish

Monday, April 26th, 2004

The other day someone pointed out to me that the introduction blurb to OSWorkflow had 8 separate mentions to how flexible it is, and how it has much flexbility. While shameful, it was with quite the sigh of relief that I realised that I hadn’t written that particular blurbage. However, it did get me thinking, what’s up with all the flexibility every project brags of?

I mean honestly, how likely is it that everything is so goddam flexible? Does it actually mean anything anymore? What’s the measure of flexibility?

Looking across any number of products, it’s rare to find one that does not try to big itself up with promises of flexibility the likes of which are seldom seen outside of freak circus shows.

Let’s have a brief browse, shall we? Below are snippets of documentation from various (very popular) java projects. I challenge you to manage to identify a single product, or even what sort of product each might be.

  • based on Java interfaces for flexible plug and play implementations
  • It is easy to use, flexible, and powerful — a model of good object-oriented software architecture
  • …has been developed from the ground up for flexibility and performance
  • a flexible control layer based on standard technologies
  • It is very flexible framework
  • a flexible, comprehensive, easy-to-use open source Java web framework

    The above snippets are from WebWork (2.0), Struts, Tapestry, Lucene, Tomcat, and dom4j documentation (not in that order). I’d be truly stunned if anyone can match up the sentences to the product.

    The whole flexibility malarky is slowly turning into a dirty I-touch-myself-in-public kind of spectacle. Enough already. Everything is flexible, flexibility is in the eye of the beholder. The word is used with such impunity that it’s lost all sense of meaning. If piles of dog droppings like Struts can use it willy-nilly, how can it possibly mean anything?

    Keep in mind that too much flexibility means that your framework will become limp and flaccid, and nobody likes their pride and joy to have those properties. A wise man once said that a framework’s genius lies more in what it does not do, than in what does.

    So, documentation writers everywhere, stop bragging of how flexible you are. It’s nothing to brag about, because every other little shit with a framework is also furiously waving his penis pimping his own not-so-unique brand of flexibility. If you really do buy into that shit, then for fuck’s sake, try to present some more compelling evidence than that word. You might as well start drooling foolishly and tugging at your nose proclaiming that your framework or library is ‘good, nice, and great’ for all the use that F word will bring you.

  • The idiot drools

    Monday, April 19th, 2004

    While engaged in yet another futile attempt to find something useful on codehaus, I came across drools. While I wouldn’t be caught dead even trying out any of the stuff of dubious quality that bob the despot spasms out, I thought I could at least look at the ‘outside’ and see if I had, after all, misjudged that merry band of spastics.

    So, armed with nothing but a browser, a pair of eyes, and an average grasp of the English language, I thought I’d read the documentation and see if it presented a compelling case for trying out drools.

    It goes without saying, of course, that I had a good few chuckles and more than a few angry shakes of the fist at the audacity of these people. It’s downright insulting seeing how little attention is paid to documentation. Nevermind the quantity of it, the abysmal quality of what little there is is breathtaking.

    Let’s examine the so called drools ‘manual’ to start off with, shall we? The preface has a ‘why rules’ section, which includes the single sentence ‘rules are important…’. Fair enough, it IS a work in progress after all. Sure, it’s easy to knock up some javadocs, but as to why rules are important? Well, clearly the author of a RULES LIBRARY wouldn’t be expected to know such things off the bat. While nobody makes an effort to convince us that the whole concept behind this project is a worthwhile one, we do get a nice paragraph telling us that this tasteless arrangement of words was produced without the aid of Microsoft Office! It was written using Linux! It was spellchecked on OSX! Various open source packages were fondled! Great, because if we weren’t told all that in the fucking manual, some of us might actually refuse to read it. I make a point in fact of never reading any manuals without knowing full well what time of day it was written, using what software, and how many bathroom breaks were taken during key chapters (and for once, I won’t suggest what dubious activities took place during said bathroom breaks).

    Later on in the manual (and in the 2 sentence summary of the project!) we have some fappery regarding the algorithm the whole thing is based on. It goes without saying of course that the details (or in fact, high level overview even) of this algorithm is nowhere to be seen, unless by some amazing feat of perseverance, you’re able to last to the index of the manual. We’re expected to automatically ooh and aah because it all sounds awfully clever. You can almost feel the author climaxing over their clever arrangement of words. Gosh, it almost sounds scientificy!

    Getting down to the details of the implementation, we’re blessed with yet another verbose xml syntax. Particularly novel is the definition of durations. A duration is specified by a duration element, with attributes of: hours, minutes, seconds, days, weeks. While many people complain of the verbosity of xml, I have to give points for this particular syntax for managing to easily beat every other challenger for the coveted most-verbose-way-to-specify-a-time-interval award.

    No codehaus project is complete without the appropriate injection of the cool language of the month. You can almost judge the month where a particular tool was written by the ‘plugins’ it supports. In this case we have python mentioned in the manual, with groovy fappery tacked on recently. Who would have guessed!

    Needless to say, this silly little project has next to no users. However, it serves its purpose admirably. Yet more proof that the haus is more of a seemingly scientific study of the masturbatory habits of java developers ages 20-35 than anything to be taken seriously.

    Bob might make a for a good despot, he even might be witty and charming. His downfall however seems to be that he can’t code his way out of a wet brown paper bag.

    Oh, I’m also going to TSS Symposium, and I’ll be very annoyed if any of you asshats decide to resort to physical violence to get me back for the months of emotional abuse I’ve hurled your way.

    The Settlement

    Monday, April 12th, 2004

    If there is one thing that would help the opensource movement, it’s the public execution of every slashdot wanker. Torturing some of the worst offenders would probably be a good step too.

    Empowering testosterone enslaved teenagers has traditionally been viewed as a very dangerous and risky road to walk down. Slashdot makes all those shitheads feel smug and satisfied that they actually aren’t social lepers, masturbating wildly over the fact that there is actually a place for them.

    Of course, it goes without saying that this bunch of sycophants would look down with disdain on anything java related. After all, it’s not cool, it doesn’t make them look l33t, and it’s far too pervasive in ‘the man’ dominated workplaces (ie, enterprise anything). They’d rather tug at their unmentionables in the general direction of things that involve hippie bearded men (RMS), frantic arm waving psychopathic Microsoft employees (Miguel of Gnome), or at the very least, kooky scandanavians (Linus).

    Sadly, that kind of spastic twitching isn’t limited to slashdot. We have it aplenty within the java community. Rick Ross for example is a good poster boy for ‘morons who have utterly irrelevant opinions that they keep trying to inflict on the rest of us’.

    So what sparked this fury? The recent slashdot article, with the link to Rick Ross’ astoundingly offensive fartings over the Sun/MS settlement. Rick, with friends like you, Java needs no enemies. Your constant incessant whining is an affront of every self-respecting developer everywhere. ‘What did we fight so hard for’? Who is this we? The legions of javalobby wankstains who spend their days having marketoidy talks about java, with never a technical point in sight? Or perhaps Rick Ross himself, using the royal we to refer to the years of effort he’s spent trying to exploit every angle possible to somehow profit from javalobby.

    I am baffled by how anyone can be confused by the settlement. I’m sure I’m missing something as it seems incredibly simple and straightforward to me. Instead of fighting it out in the courts for many more years to come, Sun decided to take a significant cash payoff. This means that they will no longer have to keep pouring money into the bottomless pit of the American judicial system. MS will likely keep on with whatever dirty tactics it thinks it can get away with, nothing new there. Will there be increased cooperation? Unlikely, that stuff was just marketspeak to make everyone involved feel that little bit warmer and fuzzier. Is it at all relevant to java? Nope. All it means is that Sun has a bit more money to play with, so it might have an indirect effect on Java, if any at all.

    If you want open source java, then fuck off and use Mono. I’ll periodically pop in to laugh and point at you at how I’m still able to code in Java with all the freedom I need, whereas you’ve shackled yourself to a trojan horse the like of which hasn’t been seen in a few millennia.

    If you don’t like java and are obsessed with open source, then just leave. Go use ruby, perl, python, or any of these other languages. The target audience there is specifically men who have been abused as children, and/or men who have serious self-esteem problems. The rest of us will just keep plugging away at the language we love, with or without your approval.

    Move over frameworks, here come the meta frameworks

    Thursday, April 8th, 2004

    This is somewhat old news, but it’s been festering and gnawing at me for months now, and I can contain myself no longer. A while ago I noticed an announcement for some incredible new product. This product goes by the name of the keel framework.

    So what, you might wonder. Who the hell cares that a bunch of asshats got together and are trying to pretend that lumping together a bunch of open source droppings makes for a good business plan? Well, nobody. However, the approach these guys (or guy, I find it too incredible that a bunch of people would agree on such a ridiculous idea) took is somewhat….innovative. Given that there are so many frameworks and solutions out there, they figured the perfect product would be a…meta-framework!

    Yep, you heard that right. A new framework that lets you work with many frameworks! Webwork with struts, hibernate with ofbiz, tapestry with…cocoon! Lump in EJB’s, Avalon, JBoss, axis, and every other jakarta project and you start to get an idea of what keel is.

    Reading the ‘white paper’ justifying keel’s existence fills me with regret that I don’t have a printer that takes in toilet paper. Had I such a wondrous device, this paper would the the leading candidate for printing on said medium, and I’d rush to ingest as much vindaloo curry as I can to ensure that this printed material gets the usage it so richly deserves.

    For a start, the whole thing brags about how it derives all its magic from being built on that modern day miracle, Avalon. Someone should inform these poor saps that even Avalon developers these days are filled with doubt and remorse over what they’ve done. We also of course have the usual jbossian opensource thoughtspeak noises littered throughout the white paper. He also babbles on about how you’re not tying yourself to any particular anything, neglecting to mention that in reality, you’re not just tying yourself to a million frameworks of questionable merit, you’re also tying yourself to Avalon and keel interfaces.

    The pitiful buzzword compliance effort is also laughable. I mean really, ‘Keel is ready made server side infrastructure’?!? Of course, that doesn’t seem nearly offensive enough when you consider the first keel design objective: ‘Don’t re-invent the wheel, invent to axle’. How can someone so thoroughly misunderstand the wheel reinvention expression? Michael Nash, you are a dimwit of the highest order. As amazing as it might be, modern science has already invented axles, so run along now and save yourself the bother of having to invent it yourself, Mr Nash.

    It’s indeed a sad sad state of affairs when anyone would take such a ridiculous idea seriously. How low have we sunk, us java lot? Are there no depths to be left unplumbed? How do you people manage to go to bed at night? Have you no shame?

    End of bileblog?

    Thursday, April 1st, 2004

    I’ve been trying hard to keep this a secret, but I guess now that everything is finalised I might as well tell you all. Yes folks, I’ve accepted a new job doing .net stuff. Sadly this means that I’ll be hanging up my java hat, at least for the near future.

    That change of scenery means that I no longer feel qualified to maintain the bileblog, since I suspect my contact with all things java will stagnate and slowly atrophy over time, so I might as well quit while I’m ahead.

    I suppose this is a good a time as any to address some of the cruelty that has been directed at various undeserving individuals, and to hand out apologies to all who have so richly earned them. The first on the list of course is JBoss. I might as well confess that I have in fact used JBoss in a large number of projects, and while it has its issues, I have found it on the whole to be a superb and impressive J2EE container. The recent injection of cash they’ve received cannot but strengthen the server technically and ensure it takes its rightful place amongst the other players in this field. The JBoss crew in particular deserve an apology, they’re a great bunch of people and really do not deserve all the bad press they’ve been getting. Particularly rude I think is the persisting rumour that they regularly post anonymously and using fake aliases on TSS and other forums. They aren’t that evil, you know.

    I’d also like to apologise to the xwork/webwork2 guys; I’ve actually been using this in some new projects and it really is a few generations ahead of webwork 1, kudos to you there, and I might as well admit my fondness for your work now. In the same vein, I’d like to apologise for the 3 out of 4 authors of the open source java programming book. Despite my protestations, I actually own a copy; it’s proven itself as a veritable treasure tome of good practices.

    The maven crew have also richly earned their apology. For their tireless work at the next generation of build tools, they deserve nothing but gratitude and appreciation. Another confession: I’ve migrated a number of my projects to using maven and have been pleasantly surprised at the progress they’ve made lately. The tool is so friendly and functional now that early adopters wouldn’t recognise it anymore.

    The codehaus kids are another bunch of great people who deserve an apology. There’s really no reason other that sheer spite and vindictiveness for me to be so offensive to them. Any casual observers of any one of their myriad of projects can see the effort and thought that they put into everything before allowing it into their warm and tight-knit haus.

    Most of all, I apologise for the offensive and disparaging tone of the bileblog. I let my anger get the better of me, and once I started I felt I had to constantly make stuff up just to keep going. I am particularly embarrassed of the constant barrage of orifice, genital, and fecal related so called witticisms. Such things have no place in an industry so rich with professionals and experts.

    Goodbye and good luck, may you all succeed in whatever you set your minds to.