Archive for August, 2003

Rickard interview

Sunday, August 31st, 2003

Jealous of all the attention and fan mail that Marc Fleury received as a result of his bileblog interview, the (in)famous Rickard Öberg decided to come forth and offer himself up for an equally candid I’ll-show-you-mine-if-you-show-me-yours interview. So without further ado, here is the transcript:

BB: Before we begin, and to help those people who have been living under a rock for the past few years, can you tell us a bit about yourself?
: I started out java development back in school where I roomed with Karl Avedal. He went on to become rich and famous by getting involved with the Orion application server for a while. I went on to become famous by doing various Java things in public. Over the years, I’ve started and joined a number of projects, but always gotten out at just the right time.
BB: The right time? Can you elaborate?
: I mean, just when the project becomes successful and has users. If that doesn’t happen then I’m generally happy to keep contributing. Unless of course I get bored, that happens quite often too. Sometimes I have strange idealistic reasons for leaving. There is surprisingly little logic or coherency sometimes given what an all-round smart guy I am, but I often need to leave; that’s the only constant.
BB: You also caused quite a fuss with your political opinions, care to give us a summary of that?
: Well like all Swedes I despise Americans. They are evil fascists and they want to conquer the world. I support terrorism (I mean, freedom fighting) in all its manifestations. I only wish I could grow a beard and look mean and rugged, but my pale nordic complexion makes that one fantasy I will never get to live out.
BB: Err, OK. Good thing you don’t live in the US or you’d be in camp X-Ray by now. Back to Java…You’ve done a lot of AOP stuff recently, what do you think of all the frameworks out there?
: They all suck. They’re solving problems I solved 8-12 months ago. It’s funny seeing them repeat the same mistakes I made.
BB: What mistakes?
: You know, the mistakes I made. The mistakes I talked about. You know, surely you don’t want me to repeat myself? Ok, I will. They’re solving the same problems. I keep telling them, but they insist on solving the same problems. Well I’ve forgotten what the actual problems are, but I know they’re doing stuff I’ve done ages ago. I try to argue rationally but they keep confusing the issue with facts. My AOP framework craps on their AOP frameworks from a great height. Especially that idiot Bill Burke. JBoss sucks, I laugh in their general direction. They mean nothing to me, and I hate them all. Marc Fleury is a con artist.
BB: A lot of people have wondered, what really happened to cause you to leave The Middleware Company?
: It’s all about The Matrix. What is fascinating if you watch one of the middle Animatrix clips 50 times with the 28th time backwards, it explains EVERYTHING. Don’t offer up any Matrix opinions if you haven’t done so, clearly you’re a mere amateur and are not well versed in the matrix googleverse. It’s so deep and meaningful, and something I think we should all think about on a meta-pseudo-level. Plus it’s fun!

It's official: JBoss has no sense of humour

Friday, August 29th, 2003

Well well well, looks like my IMAGINARY Marc Fluery interview greatly ruffled some feathers. Imagine my dismay as I get an email from none other than his better half (Nathalie Fleury) asking me to edit the interview and add the word IMAGINARY to the title so people don’t mistake it for a real interview. According to Mrs Fleury, some of them actually think Marc wrote that stuff and are now indignantly writing back to us.

Amusingly, at the same time I get an email from Rickard blessing my proposed IMAGINARY interview with him. Based on those two facts and nothing else, it’s clear who the good and bad guys are in the Rickard/Fleury saga.

How incredibly stupid do you have to be to think it’s a real interview? Or is it something else, the Fleury clan just getting their panties in a twist over such a disturbingly accurate interview? I suppose an argument could be made that it isn’t really satire as it’s too much like the real thing.

So, for all you asshats who think that the interviews were professionally conducted, or with real people, let me reassure you that this is not the case. All interviews posted here (especially with any Fleury clan members) are IMAGINARY (happy Nathalie?). Fictitious. Lies. Made up. Invented. Contrived. Mostly though, they’re IMAGINARY. This disclaimer will apply to all past and future interviews.

Now, regardless of what a great product JBoss is (or not), I really hope that some of you JBoss hive members have to at least acknowledge that it’s a skanky thing to do. Of all the people and products that have been biled over the last couple of months, I’ve never had anyone request a retraction or back-dated modification. It’s a cheap attempt that is more likely than not to backfire. Shame on you Fleurys. For all your talk of challenging the big guys, and their desire to silence you, one would think that the last thing you’d want to do is behave as they do towards others.

Javablogs killfiles

Friday, August 29th, 2003

Upon pondering some of the abysmal content of javablogs, the one killer feature (ha!) would be per-user killfiles. I’d like to basically specify somewhere that I have no interest whatever in a certain blog, and would like to never see any of its stories ever again.

To spice things up, maybe a generic message could be sent to the blog author saying something like ‘you have been killfiled by a javablogs user today. This brings the total of people who want to ignore you completely to 52′.

Alongside this, there could be a top 10 list of ‘most ignored’ people. All blog authors would then strive to avoid showing up on that list, and being the insecure little shits they are, will feel sad and demotivated when they get ignored by someone. I (and a few others) would likely wear it as a badge of pride (out of some combination of pride, stupidity, ignorance, and delusions of grandeur). Still, enough developers are socially dysfunctional and were bullied as children that they crave the attention and approval of others, so I think it’d definitely cut down on persistently stupid blogs.

Here are some people I’d like add to my killfile:

  • Christopher C Cemper: I have no idea what this guy talks about, but he’s so inept at choosing appropriately lengthed titles and has such boring subjects that I’d be happy to cut him out of my sight.
  • Carlos Perez: Recently re-added his own blog. Good bedtime reading if you’re unable to fall asleep, but has yet to present anything truly insightful or challenging. Mostly harmless though, just uninteresting to me.
  • Fred Grott: Deathly boring. Has such uninteresting material that it might cause physical damage. To be avoided at all costs.
  • Oracle E-Business Suite Customization & Extension SIG Weblog: Pretty obvious why this one would be killfiled. Any blog with e-business in it should be burnt at some sort of stake. Enough with the e-* crap already, time to join the rest of us in the new millennium.
  • Any FIRST POST article: Ok, so I’d like to set filters on article titles too. The FIRST POST is usually tremendously exciting to exactly one person. Everyone else is far too jaded to it by now.
  • Artima blogs: Ok, I want to filter by URL too. So far based on what I’ve seen, anyone ‘invited’ to blog on Artima is required to lack any sort of personality. Even java.net has superior blogs!

    So, who else should be on that list? I bet Mr Anonymous has a bunch of people he’d like to killfile, eh? Speak up, don’t be shy!

    The BileBlog is also considering doing interviews with the following people: Hani, Rickard, Mike (of Atlassian), and chiara. People might get hurt, so if you’re of a delicate constitution and in that list, then feel free to whimper (in private if you want) and the BileBlog will not publish the interview.

  • Javablogs is annoying

    Thursday, August 28th, 2003

    Javablogs is a fine lovely idea, and I’m sure pretty much everyone uses it to decide what they should think and say on any given day. Now, aside from the actual content, there are some highly irritating ‘features’ if you will that said site suffers from.

    First, let us consider the popular entries list. Enough idiotic items have risen to the top of the list to demonstrate that there’s absolutely no quality filter going on. The very idea is in fact fairly flawed, as one can rise up to any day’s list by following two very simple procedures:

  • Add your story around midnight
  • Have a snappy title

    The first can be addressed very easily. Instead of maintaining an absolute 24 hour range for popular entries, switch to a rolling range. As in, show the most popular entries for the last 24 hours. This ensures that the list doesn’t become completely empty every night, and that every story gets a fair chance of getting up there regardless of when it was sucked in.

    The second is less easily fixed, and would involve a lot more work. Some sort of moderation system would be rather neat (a la Slashdot).

    We also have that annoying navigational ‘quirk’ on entries. Clicking on a new story’s title will take you to that blog, but clicking on the ‘view’ link under it will….also take you to that blog! If you want to read the story on javablogs (for example, for any freeroller story), you in fact need to click on ‘details’. Nevermind that ‘view’ will also show you details. Some sort of visual cues as to which is which would be nice.

    Of course, this is insignificant when one considers the utter irrelevance and uselessness of the search facility. Just try searching for anything at all, and chances are you’ll have the same (usually irrelevant) page returned 5-6 times. Setting this aside, the actual blog meta-data is not indexed at all it seems. One would think that searching for ‘rickard’ should bring up his own blog first, but no, he’s nowhere in the list of results. Blog meta-data should be indexed, and given a higher score that general entries. I know javablogs uses Lucene so this is very trivial to implement.

    Then of course there’s oscache being applied like a sledgehammer. It’s possible to configure oscache such that frontpage stories dribble in in a timelier manner, rather than the current spurt of 5-6 bursting in at a time.

    The biggest problem by far though is that javablogs foolishly assumes that readers are responsible and intelligent. Some examples that this is clearly not the case:

  • Idiots who re-add their blogs every few days: This could be fixed by having a separate ‘refresh blog’ button on the edit blog, so all old content is discarded and it’s readded without showing up on the frontpage. Mind you, this won’t stop the idiots who deliberately re-add in order to get more clicks.
  • Idiots who post multiple stories on multiple blogs to hog the frontpage: Namely, Gerald Bauer. This can be stopped by having a limit of 3 stories on the frontpage apply across ALL blogs that a given person has registered with javablogs, rather than a max of 3 per blog.
  • JDJ Readers Choice Award Farce

    Wednesday, August 27th, 2003

    If anything proves that JDJ readers are possibly the absolute stupidest of the stupid that grace this earth, it’s the Readers Choice Awards. Of course, it’s pretty clear that the whole exercise is nothing more than a spam tool (note how you ‘win’ a free subscription which entitles you to a few thousand mailings a year due to JDJ ruthlessly selling your email to anyone who even looks their way). However, I am constantly amazed at the nominations that make it on there.

    Who comes up with these names? Who decides what product goes into what category? Whoever makes that decision needs a lobotomy poste haste, along with some strategically placed snips to stop those genes from propagating.

    For example, in ‘best database tool’, we have XMLSpy nominated. Best enterprise DB somehow manages to exclude MS SQLServer (yes folks, it IS one of the serious contenders), not to mention a bevy of Java DB’s (mckoi, cloudscape, pointbase, etc).

    Also interesting is the choice of words on the ballot. Now I realise English isn’t my first language, so I might be misunderstanding something. However, I thought that nominations happen so that candidates get onto a ballot. Once on a ballot, the nomination process is done, and the next step is vote. You vote for someone on a ballot, you don’t nominate them (or are you nominating them for another secret ballot where the candidates who paid the most gets the most votes?). So given all that, why is the ‘no vote’ radio button marked ‘No nominee’? The mind boggles.

    One of the most entertaining categories has to be ‘Best Java Application’. This is a free for all the like of which is rarely seen outside of SourceForge. IntelliJ IDEA happily competes with Websphere Application Server, while both try to fend off that dashing young upstart ‘Java Dropdown Menu 2.0′.

    To break up the monotony of the voting (or should I say nominating) process, now and then we’re regaled by a witty stacktrace proclaiming coldfusion.tagext.validation.IllegalAttributeValueException: Attribute validation error for tag CFOUTPUT at E:\Inetpub\wwwroot\java\javafooter.cfm:336. Such thrilling stuff.

    Somehow, Oracle’s JDeveloper made it into the list for ‘best java component’. Good luck embedding that behemoth into anything. The ‘Best Java Profiling/Testing Tool’ category also seems to invite all comers. For some reason this category seems particularly fond of reporting engines, which if memory serves have precious little to do with profiling or testing java. Still, at least XMLSpy makes another appearance. If you’re ever in doubt, just vote for XMLSpy, it’s the one constant in all these polls, sitting there looking pretty (and irrelevant) at the bottom of almost every single category.

    Most depressing of all though is how many people take these votes seriously and participate, thus perpetuating the cycle of evil. Come on folks, how on earth can you vote for a poll which thinks that XMLSpy is a worthy contender for the coveted ‘Best Database Access Tool’ award?

    A bile interview with Marc Fleury

    Tuesday, August 26th, 2003

    TSS recently published a link to an interview that Mr Marc Fleury gave. Surprisingly enough, at the same time Marc has consented to a heart to heart interview with none other than the bileblog. Lets see what he has to say about a wide range of topics…


    BB: You’ve often advocated the powers of JBoss caching, can you tell us a bit more about it?
    MF: Actually, JBoss caching is very clever and complex. We give you the fabled option D to compete with options A, B, and C. We allow for incredible amounts of tweaking of cache behaviour, we’ve even implemented some truly mind boggling paradigms that reflect real world needs. Performance is clearly an academic issue, in the real world, people simply like as many options as possible. JBoss is so clever that it allows you to tweak these options to your
    heart’s content, yet we always ensure we come out last in any performance test, in order to maintain consistency. We realize that every single application server other than JBoss has superior caching configuration and performance, but what we lack in those areas, we make up for in tweakability and lack of documentation.

    BB: What do you think of CMP 2.0?
    MF: It is a silver bullet to every single persistence problem that has plagued man since the dawn of time. CMP 2.0 addresses everything. JDO is so rubbish that CMP will run over it like a truck. We’re pondering adding JDO support in JBoss 4.0. We also think we’re past the J2EE world, and JBoss 4.0 will catapult you into the stratosphere of application development. Honest, the stratosphere, mon amour.

    BB: What do you think of your competitors?
    MF: They’re a bunch of motherfuckers! We’re the BEA killer. We’re the IBM killer.

    We’re the best. I’m the best. We have an incredibly international team composed of a few people. However, don’t be fooled by this small number, we are actually fifty thousand developers strong. Anyone who has looked at our code is a developer. This is why we’ll win, through sheer force of mass. We also have more downloads than anyone has ever had of anything. Yes, so what if we count every single download of every single release as a new one? Common sense marketing says we must do it that way. BEA are assholes, they should go fuck themselves.

    BB: Tell us about the licensing quarrel you have with Sun.
    MF: They’re assholes. Greedy assholes. I am doing them a favour by bringing EJB to the masses, and all they do is act all businessy in my face with their antiquated licensing issues. They owe it to me to give me everything for free, after all, I am giving away my server for free. Also, how can I be expected to make any money if I have to give a single penny away? Everyone owes me respect and admiration, fuck you all. I hate Rickard, the ungrateful swine.

    BB: I see. Your success with an open source product is also quite an example to other aspiring developers, what words of advice do you have for them?
    MF: I think they should all give up. JBoss is the only open source product in the J2EE space that should exist. Any competition in this domain space will clearly be leveraging our work, and this is something we hate. I realize we’re open source, but in the end, I control it all. Any competitors should stick to writing small libraries and commons-*.jar snapshots. Officially, we welcome the competition, but realistically, we’ll squish them no matter what it takes. Finally, I’d like to mention that BSD style licenses are evil. JBoss is currently LGPL, so LGPL is good. If and when we switch, we’ll then endorse another license. For now assume that we’ll ruthlessly hunt down and taunt all those BSD weenies.

    BB: Speaking of competitors, what is your view on CDN?
    MF: They’re traitors. Filthy traitors. We have shut off all their CVS access for their own safety. If they think they’re so clever then they can take their filthy code elsewhere with them. Unless we own it, then we’ll sue them. See my upcoming paper ‘black and blue’ about how we intend to deal with these turncoats. My father is looking into the legality of hiring hitmen and strongarms to bully these infidentals into coming back to the hive.

    BB: Thank you for your encouraging and helpful words, Mr Fleury. We look forward to hearing from you in the future.

    (sort of) week in review

    Monday, August 25th, 2003

    Couple of issues to bring up. Firstly I’d like to thank ‘The Gladio’ for his comment on the happy idiot rant. He seems to be one of the few people who really ‘gets’ bileblog. I’m so sick and tired of people endlessly whining about the fact that I more often than not just complain and bitch without providing solutions, fixes, alternatives, or a happier way of life. I wish you’d all bugger off and go find yourself another messiah, because I have no interest in giving you a new religion after smashing your old one to pieces. Why does every criticism have to offer a way out, a salvation? Why can’t I just proclaim something to a pile of steaming dogpoo and leave it at that? Those who claim that it’s easy to criticise and complain need to try doing it for months on end. It’s amazingly difficult.

    As for you chiara, spare me the sentimental bright eyed bushy-tailed lovefest. You completely missed the point of my happy idiot rant. The issue is not with people who want to learn, but with people who are convinced they have already learnt, and so their questions lay the fault at someone else’s feet. I’m sure everyone who has developed java professionally has come across people like this. The sort of person who upon finding a bug, will assume it’s a JDK bug before blaming their own code. The sort of person who will complain about how there are no products which solve some problem or the other, conveniently ignoring the fact that it’s an incredibly stupid problem to solve, and should be handled some other way. The sort of people who will feel clever simply by managing to integrate maven in to their build cycle. Those are the happy idiots, the ones who endlessly solve retarded problems in convoluted ways, and pat themselves on the back for it.

    The bileblog is a deliberately miserable, petty, mean-minded and harsh place. It’s a very conscious decision to avoid looking at the happy side, and to focus on the negative. If you want happy, go read the rest of the tripe that shows up on javablogs. If you want to find out about how developer X just bought a new PC, went to watch a movie on the weekend, played with his kids, then exercised a bit, you have some very serious problems. Of course equally disturbing is said developer, who somehow feels that this information is worth passing onto countless hundreds of other anonymous people.

    Finally, thanks also to Mr Anonymous (what a prolific poster he is) for the link to the softwarereality.com XP articles. I was mildly annoyed to find that they made the same exact points I made, thus rendering my work wholly unoriginal and feeble (more so than usual anyway). Still, it’s comforting to know that I’m not the only person who feels cheated and scammed by XP.

    Speaking of the mighty Anonymous, I hereby offer $20 (via paypal or something) to anyone who adds in the ability to show IP addresses for comment posters in freeroller. I get way too many stupid comments (unsurprising, really) and some method of identifying repeat offenders would be nice.

    [update]: Forgot to mention that thanks to a great guy, bileblog.com is now alive, muhahaha. No more complicated freeroller url’s to remember!

    XP debunked

    Monday, August 25th, 2003

    XP has been around for long enough now that developers are almost at the stage of accepting it as a standard approach to software development. Lets face it, it sounds crazy and cool, and most important of all, it has a really, really catchy title. You could sell piles of horseshit if you were to just stencil the legend ‘Extreme Stuff’ on it. Somehow it seems cool, dangerous, and something your mother is unlikely to approve of.

    The reality of XP is somewhat less extreme. It’s basically a bunch of interesting ideas which I think fail when confronted with the ugly mess known to the rest of us as real life.

    For example, pair programming. Now, this is a great idea. However, I wish you the best of luck in selling this ’service’ to your customers. Picture the conversation that might take place:
    You: We’re going to pair program! We’re an XP shop. You’ll get two developers per workstation!
    Client: Cool! Two for the price of one!
    You: Um, no. Two for the price of two. You get the productivity of one (plus the benefit of a supervisor) for the price of two.
    Client: Thanks. I’ll go for another vendor who can provide me with two people with the productivity of…two people.

    The next advice offered up by XP is to have the customer always available. Now, everyone agrees that communication with a customer, face to face, is extremely valuable. However, XP neglects to mention a sad but true fact of real life. The goals of the customer and the vendor are often quite severely misaligned. The customer wants to get the most bang for the buck, and wants to cram in as much as possible for as little expenditure (both financial and time) as possible to them. The vendor on the other hand wants pretty much the opposite; to deliver as little as possible for a maximum of profit. Figuring out what the customer wants is vital, but integrating him as part of your development team and having him see all the dirty laundry is likely to result in a less than highly impressed customer.

    Next we have the frequest incremental release cycle. This might work well for open source (insert trite ‘release early, release often’ chant), but it is no panacea. More important is to define milestones and releases, rather than just churn out release after release. In any large project, your QA/UAT (user acceptance testing) folks will just burn out if you keep bombarding them with release after release.

    Which brings me nicely into unit testing. Unit tests are wonderful things, and can provide a great deal of robustness and regression testing for a system. However, I’ve found that in real life, QA engineers will still always find a whole bunch of issues. UAT folks will also find their own set. Unit tests are NOT sufficient. In fact, the attitude I’ve seen lately regarding unit tests just shows how dangerous these can be. The perception that if your tests pass, all is well and you can release is fraught with risks.

    Of course, the test first approach suffers equally. While it could be argued that it provides more clarity over a code-first approach, it suffers from many of the same problems. Just look over the changelogs for any number of open source java projects. Almost as much time is spent (wasted?) on getting unit tests up to date, functional, and well behaved as fixing the actual code itself. From personal experience I can say that I’ve spent many hours debugging test cases and trying to see why they fail when the code they’re testing seems to be perfectly functional. Test cases are code in and of themselves, and so are just as error prone and susceptible to bugs.

    XP’s call to move people around is another one of those whimsical approaches. Sure, it’d be great if everyone on a team knew a bit of everything. However, this approach is just plain stupid with certain types of projects. Many projects require very specific in-depth domain knowledge, and shuffling people around such that chances are that most are moved away from their main areas of expertise is simply flushing talent down a toilet. By all means, avoid the bottleneck of having one developer be the sole repository for a particular subsystem and its inner workings, but moving everyone around willy-nilly is certainly just as problematic.

    Of course, this is not an absolute case against XP. There are some companies out there who successfully and wholeheartedly adopt XP and live and die by it (ThoughtWorks, for example). I contend however that these are aberrations, and that XP as a complete software development approach will never become ‘mainstream’. It simply expects too much from everyone, and assumes that the ‘average’ developer is versatile, talented, experienced, motivated, and highly enthusiastic (see the previous blog entry, and extrapolate to see why so many developers like XP). This certainly seems the case at ThoughtWorks (they are a bunch of talented smart guys), but is absolutely not the case pretty much anywhere else.

    Cracking java apps

    Friday, August 22nd, 2003

    One rather enjoyable activity to while away a few hours is cracking java applications. Setting aside the legality of such nefarious activities, it’s a very educational and entertaining hobby. Of course, I am sure that anyone who indulges in such activities will have the decency to at least purchase said product.

    Java licensing schemes vary from the impressively convoluted with multiple points of entry, to the incredibly simple and childish.

    IDEA for example is more of the former, interestingly enough, my first introduction to IDEA was through a challenge to figure out its licensing algorithms (back in the 1.1 days), I very quickly purchased a license because it was pretty clear that these guys really are rather smart.

    On the other end of the spectrum, we have some novel approaches which often suffer from one fatal flaw. They have one clever bit of code that everything else assumes is uncrackable. Needless to say, a simple NOP here does wonders.

    Funniest of all are apps which don’t even use public/private keys, but employ a simple built in algorithm to read in a license file. Simple reverse that section of code and you have a key generator.

    Another ridiculous idea is the encrypted classloader approach. I know of two apps which use this. There’s something strangely satisfying about making the application itself do all the work for you and decrypt all the classes; using its own cleverness against it

    Speaking of apps which encourage you to use their own cleverness, it really is rather surprising how many ship with the code they use to generate keys. I know of one very famous ‘must-have’ java desktop app that comes with a key generator built in, if you can find it!

    In the middle we have a whole bevy of novel and interesting approaches, often combines in entertaining ways. For example, disguising public keys as something else, perhaps a class file. You could go one step further and have the classfile be actually valid and decompilable, with the key material being an offset into the bytecode. There’s always the approach of obfuscating the compiled code and transforming method names into java keywords, so you can’t simply use jad to undo it, this coupled with flow obfuscation will stop pretty much all casual poking around. However, anyone genuinely curious will of course be armed with a disassembler, and through practice have an automatic bytecode to javacode mapping built into his or her mind (or at least, enough to figure out what a particular chunk does).

    Most interesting of all are those companies who for whatever reason, feel they don’t really need to enforce technical constraints on their users, and choose to simply rely on the honour system.

    What is fascinating about all this is that while many people have been involved in coming up with all these schemes, nobody will talk about it (that I can see anyway). It’s understandable, of course, as this stuff is very much in the realm of ‘trade secrets’. So in many ways, it’s a solitary programming task that one can indulge in, but not really brag about, or discuss with peers. Of course for some, if you don’t get to brag about it and gain gratification through peer approval, it just ain’t worth doing.

    The happy idiot syndrome

    Thursday, August 21st, 2003

    One recurring theme when dealing with pretty much any Java developer is how clever they think they are. It’s really hard these days to find someone who freely admits that they have mediocre development skills, and instead just bumble about and manage to get things done, often inelegantly and poorly.

    I was reminded of this a few days ago on irc, when someone spent quite a while whining and complaining about what a pain in the ass it is to write a generic connection pooling wrapper. Now, this person (lets call him jkk, for the sake of argument), was disgusted that there wasn’t a ‘generic’ way of getting DataSources off of various JDBC drivers. Now, why did he want to do this? Because, he stated, DataSources are pooled connections. He was close to writing his own DataSource implementation that wrapped around Connections, so he could get pooled connections.

    On the surface of it, this might all sound very reasonable. However, poor old jkk seems to have missed some rather crucial facts which highlight some rather serious flaws with his problem. Firstly, DataSources are NOT pooled. DataSources are poolABLE. You still need something else to do the actual pooling. Secondly, that misunderstanding led him to obsess about using DataSources (even though he definitely wanted his app to be JNDI-less), completely ignoring the perfectly sensible solution of just using a normal JDBC pool (bitmechanic, poolman, even the pathetic dbcp) around Connections.

    Just picture what would have happened if our jkk hadn’t complained on IRC. He’d have gone away, written huge reams of code, and gone home pleased as punch, having written, in his mind, a perfectly functional useful low level library that will be used time and time again.

    Thus is borne the happy idiot programmer. I’d say most java developers belong in this category (hell, maybe I belong there too). Armed with a couple of workable solutions, said programmer is now convinced he’s suitably equipped to conquer the world. Said programmer will now create a blog, pontificate about various issues, and generally share his pitiful, worthless, pretentious childish thoughts with other equally gifted programmers. Community at large will see this body of happy idiots, and go about its merry way parroting away. Thus, the world at large is able to comfortably conclude things like ‘java is rubbish’, and proclaim java programmers to be an overpaid gaggle of monkeys. Sadly, it’s a fairly accurate description.

    Week in review: better late than never

    Tuesday, August 19th, 2003

    Apologies for the delay, but work has been rather heavy lately which leaves less time to rant and rave like a lunatic. First of all, I was absolutely gleeful to see one of the main logging-commons.jar guys explain that it is indeed a compromise, and that using is often a bad idea and inappropriate. His suggestion that it only be used by components that are intended to be plugged into other systems is dangerous though. Almost every developer is vain enough to think that his or her particular product is easily embeddable, or foolish enough to completely misunderstand the idea of embedded components. Various other people also rightly pointed out that if your appserver is stupid enough to screw up logging for your app, then it’s the appserver’s fault, not the logging system. Sorry JBoss, you lose again.

    This highlights an interesting yet subtle point when pondering the evils of Jakarta. The Jakarta project actually has quite a few rather bright (but often misguided) developers. They’re often aware that they’re doing something very sub-optimal, or coming up with a hacky solution, and so on. I’d like to shift a big chunk of the blame onto two factors. Firstly there’s the stupidity of the masses. An apache developer might acknowledge that a solution is pretty sucky and has many issues. The masses however will adopt it and start preaching it on every street corner. Secondly, there is a measure of irresponsibility too. Apache folks don’t realize that they’re in a position of power, and that everything they do will be quoted and worshipped by the masses. They should exercise more caution in what they say and do, since so many will now chant it like a mantra over and over again, pausing only to sync up their opinions via their hive antennas to the main transmitter. Of course, I don’t want to steal any credit from the fact that Jakarta also has an impressive number of dimwit committers too.

    Regarding the open source entry, surprise surprise, Andy piped up with ‘well put up or shut up! If you don’t do the work, you’re just a whiner’. This attitude is so very detrimental to open source. There are varying degrees of participation. When I file a bug in a closed source project, I’d be surprised to get a response back saying ‘why don’t you decompile the source and send us a patch instead?’ Yet open source people have no problems rejecting constructive criticism if unaccompanied by a patch.

    I do feel bad for Fred Grott though, the poor bastard must be seething away. No longer able to mock my titles for fear of giving away the fact that he religiously reads my blog. As for Gerald, the warning wasn’t sufficient to stop him from whoring his pitiful sites, so he has the honour of having his last 3 comments deleted. Any comment by Gerald that makes any sort of mention of his blogs, sites, or is in any way marketoidy, will get deleted.

    Gerald Bauer guest blogger

    Sunday, August 17th, 2003

    Well well, it seems that Gerald Bauer was truly inspired by Fred Grott’s guest post, and decided to go one up. Gerald is today’s guest blogger, but he won’t post his usual stuff, oh no. He has agreed to post entries for an entire week from his personal diary! We’re all very thankful for this unique insight into the inner working’s of Mr. Bauer ‘unusual’ mind. Take it away G! [Ed: Gerald's chosen stylesheet was removed since it's simply too ugly and can cause severe eye damage]


    Saturday: Today I tried to think of more ways to make JNLP sound complicated and convoluted. I created some more useless tools, and wrote a couple of articles that pretended that JNLP is difficult and needs many wrappers to simplify it.

     

    Sunday: My blogs aren’t getting many hits. I created the Thebes Tribune newsletter to talk about blogs that talk about XUL. I also created the Alexandria Asshole, an online persona who agrees with me that XUL is the way forward. Updated links on all my sites and blogs to mention these 2 new entities. Added them to javablogs and generated a lot of fake articles. Got 3 hits which means that my technique is working.

    Monday: I found someone who agrees with me. His name is Fred and we get along wonderfully. I’m going to link to his blog on javalobby because he’s just so smart.

    Tuesday: Found some people who work at Sun who post online, yelled at them a lot and told them how rubbish Sun is on their own forums. They tried to ban me for abusive language but I created more logins and told them what motherfuckers they all are. It was done very professionally though so I don’t understand why they keep banning me. Can’t they see that Java just isn’t free?

    Wednesday: Blog hits down again. Went trolling around a bunch of blogs and mentioned all my blogs. I realise it was very offtopic to almost all discussions, but this matter is too important to neglect. The people need to be informed.

    Thursday: Wrote a java app, made it open source, anyone who cares can run it and deploy it in any environment they want. Got confused as Sun didn’t seem to make any money off of this. Started pondering the ludicrousness of my free java campaign. Took some pills. Free java now makes sense again.

    Friday: Forgot pills in the morning. Tried to join JCP. Was rejected on grounds of being mentally insane. Just goes to prove how evil Sun is. I hate them! They’re EVIL! Bastards! XUL! Mozilla! I love Fred! EVILEvilEvIloqwiheoiuahsda agagahaggagagaah

    [Ed: rest of submission is just incoherent babbling and speaking in voices, so has been edited out]


    So there you have it. Thank you Gerald for this enlightening and insightful guest submission. Oh and one more thing. I have a policy of never deleting comments, no matter how offensive. However, I am going to make an exception for you. If I see you pimping your own blogs or sites ever again on my blog, I’m simply going to delete your comments. I have no problem with you expressing an opinion, but leave your whoring to javablogs. Go shit in your own playground, not mine.

     

    JWSDP bloat

    Saturday, August 16th, 2003

    I sincerely hope that the new web services developer pack is one of those mutations that will die the quick horrible death it deserves.

    Now, why is that? Consider the size of the beast. It’s a 42mb file, complete with a whole bunch of API’s and apps that neither man nor God intended to bundle together.

    I realise that Craig McThingy now wields obscene amounts of power at Sun, and is able to at will turn ludicrous stupid ideas into JSRs (JSF), but really, how on earth can JSF be considered part of web services?

    The same argument can be made for JSTL. To my simple mind, this also has nothing to do with web services in any shape or form. Of course, the fact that JSTL is a stupid, bloated, and awkward idea deserves its own rant.

    As if all this wasn’t rude enough, salt is poured onto our wounds with the inclusion of ant 1.5.2, and Tomcat. This automatically rules out anyone with two brain cells to rub together. Everyone knows that only the suicidal, stupid, and ignorant (well, or any combination thereof) run Tomcat. Really though, how hard would it be to tell people to download ant to build stuff? Might as well scold linux apps for not shipping make and autoconf with their sources.

    To continue this habit of insulting and offending the user, the whole pile of poo comes with an installer. An installer! Whatever happened to jar files? They’re nice. They can be moved around willy-nilly. They don’t involve insulting questions and tedious clicking about. They’re the Java Way.

    Of course, even if we were to consider the web services part. Exactly how many people have needed to use all of JAXB, JAXR, JAX-RPC, SAAJ, and a WSDP registry server?

    There’s nothing wrong with providing a convenient bundle with everything under the sun (haha) in it. Please though, for the love of god, provide single jar files and smaller downloads. Some people actually do need just a 30k download, and making them download 42mb to get that 30k jar seems firmly in the realm of cruel and unusual punishment.

    Fred Grott guest blog!

    Friday, August 15th, 2003

    Apologies for the lack of updates. Since I’m in NYC, I currently have no water, power, or phone services. On the plus side, walking around Times Square last night in total darkness was such a giggle, mind you.

    Anyway, Fred Grott kindly offered to do a guest post on what he’s been up to lately. These are the entries that didn’t quite make it to his blog, a candid insider’s view into the bizarre world known as Fred’s head. Over to you Fred!

    p.grott { font-family: verdana, georgia, arial; font-size:11px; color:#666666; line-height:14px; text-align:justify; }</p>

    Moobnuzz: Today I found out about some weird methods in java.lang.Srting. It turns out that you can’t use string+=string inside of loops. I spent a few valuabble hours refactoring my code to use StringBuffers. It was unf, a lot of fnu.

    Sun is evil? Gerald told me that with his contacts, he was able to find some people within Sun who post everywhere pretennding their not within Sun. They then conffessed that they’re not within Sun within Sun, and from this, its obvious to everynoe that Sun is eivl.

    My mother pulls a Hani: She told me today that shes ashamed of me, and wants to disown me. She regrets never beating me when I skipped school. Still, shes an stupid old woman since I am now a succcessful entrepeauneuar.

    MIDP-2.0 update: Sun today said some stuff about MIDP 2.0 that I am unsure of. I investigated further and found out that actually it isn’t as claer as all the docs make it seem, and that it’s cmoplicated. I was confused, and unsure. I cried a little but then I wrote about it and felt better. Nobody cummennted which must mean that eveyrone agrees with me.

    JBoss is the best: Marc Fluery apparently thinks that JBoss is the bets. I am incllined to agree with him as he is clearly an unbiased and intellegent and smart person. Sun apparently hate JBoss, therefore JBoss is great. I can not bealieve that people are so stupid that they think that JBoss is not the best. JBoss is the best. Period. The best. Period.

    Nokia Bluetooth support? Nkoia have some phones that support bluetooth. This is odd news to me and it means that I need to do more refactoring, and make more handset specific codes, to handle specific handsets, with the code. My code, that I will refactor, with my fingers.

    Moonbuzz update: Moonbuzz is progresing well, today I made some pictures and worked on the high score table. I have been working on it for 3 months now but I think that the end result is worth it. Developpers really should take me seriously because it is clear than I smart since I have worked on one j2me game for years now, and the high score table is finally working. Tomorrow I will refactor it further, to make ot easier to refactor the day after.

    A present to Andy: Bile by request

    Tuesday, August 12th, 2003

    I never thought this would happen, but Andy Oliver specifically requested a biling! The offending material is his ‘why open source is better than proprietary software’ article. So here you go Andy, free advertising for your silly little presentation.

    The question is where to start? First of all, I’m not sure what to make of the presentation. Is it supposed to be a biased one-sided argument for OSS? Or is he trying to logically deduce that open source is superior? The title, and conclusion presented on the very first few slides clearly says he’s already decided, and the rest will be a mere formality.

    Things rapidly degenerate once we hit the so called ‘problems’ with proprietary software slide. Yes, if you call MS, chances are you’ll get shitty support. However, I’ve had truly amazing support from every single ‘little’ vendor I’ve bought software from. Often a developer will respond, and then notify you when a new version is out. It’s not unheard of for them to send you a private build to test out either. Of course, the same thing can and does happen with OSS, I just find that the opensourcedness of a product or lack thereof has little to no bearing on the level of support. With OSS, it’s unofficial support, but the actual quality can be rather high. I certainly strive to provide a good level of service to users of any OSS projects I’m involved in. Yes Andy, amazing as it is, I’m involved in quite a few OSS projects and have contributed to dozens over the years. Try to keep your head from exploding.

    Next up, documentation. In this case OSS almost always has far worse documentation. This is a proven fact, not a matter of opinion. It’s a simple result of the most basic driving forces behind each model. OSS is a lot more about someone ’scratching an itch’ than convincing your end users to pick your product to the detriment of all your competition. Features go in in terms of how fun/interesting they are to implement, and writing documentation might well be the most boring thing a developer has to do.

    Of course, this is without even taking into consideration businesses whose sole business model relies on shoddy documentation, so as to convince you that you must purchase support at some rather impressive prices. Just look at JBoss. I’ve seen the pay docs, and they’re truly pitiful compared to any appserver. Weblogic docs might well be ‘big’, but they also cover pretty much anything you might want to do. Certainly a far cry from the childish simplicity and wild flailing about so readily apparent in JBoss docs.

    The rest of the points are just too childish to take seriously. Come on, traditions exist to be broken? OSS is a tradition too, why not break that? How about ‘the customer is always right’? Why not be a rebel by pissing on your end users? And really, ‘BSOD in a BOX?’…is your intended audience a gaggle of 15 year old slashdot kiddies?

    Regarding the ‘end of life’ phase of a project, OSS is by far a bigger culprit here. It’s fairly commonplace for developers to tell end users ‘oh just use CVS, it’s fixed in there’ as a solution to some critical bug they’ve found. Now, granted, OSS users are often stupid enough to be cavalier about dropping CVS code into production systems, but back in the real world, that sort of behaviour is suicidal. Most large vendors will very clearly tell you when a product is going to be EOL’d, and will usually exert considerable effort in ensuring that your move from the EOL’d product causes as little pain as possible.

    The next few slides sound a lot like RMS muttering to himself in his sleep. Andrew, this might come as a surprise, but choosing Weblogic over JBoss is not high risk, nor ever will be. Developing commercial products is risky in that you can’t tell up front whether it will sell or not, but that small chance sure beats the 0% chance of you being able to ’sell’ your open source. The services and add-on market is equally open to both, so OSS doesn’t win in that regard.

    Where should I stop? The list of ludicrous claims goes on and on, next up we have ‘most companies aren’t profitable’. I don’t know what timezone you’re in, but where I am it’s firmly 2003. A huge swathe of non-profitable companies are now dead, and more die every day. Companies can have short blips where they aren’t profitable, but if they persist in this unruly behaviour, they simply die off.

    Need I go on? The rest of the presentation goes on in a similar vein, with the odd spattering of some truly embarrassing justifications. For example, open source is better because…’dig the @apache.org address’, and ‘child whispering: it’s the source’.

    The trouble with the slides isn’t any particular error, misfact, or randomly hurled insult. It’s more with the underlying principles and assumptions it makes. On the one hand, it preaches to a congregation that is busily speaking in tongues and spasming wildly at the slightest provocation, yet on the other hand is explaining their core faith to them in a childlike tone. The only people this might please is the truly retarded open source zealots. Any self-respecting zealot with a reading level of more than the 5th grade is likely to find this insulting and offensive.

    Needless to say, for those of us who think opensource has its place, and that place is not everywhere, those of us without that crazy glint in our eye, without the telltale mouthfroth at the sound of OSS, the presentation gets a resounding two thumbs down.

    The evils of commons-logging.jar and its ilk

    Monday, August 11th, 2003

    Almost everyone nowadays will eagerly extoll the virtues of commons-logging.jar and what a modern day miracle it is. How it makes logging so easy and enjoyable, how pluggable logging subsystems is just what they fantasised about when they were little boys.

    To all these people, I say ‘fools!’

    Commons-logging brings to Java the wonderful technology that Windows lovers everywhere affectionately refer to as dllhell. The presence of multiple versions of a particular library, and the ensuing fun in determining exactly what version your app in picking up, and from where.

    This pesky little problem is wonderfully brought into focus if you do any J2EE work. Witness the endless hours of joy you’ll experience if you try to ship your own commons-logging.jar into Tomcat, or a rival log4j into JBoss. Even the mighty Weblogic has the same problem, in the shape of an innocuous looking bsh jar.

    Stupid people everywhere will insist on what a wonderful thing this is, that you have one logging library and if all apps conform to it, you can control all their logging.

    This argument is particularly offensive as those who make it clearly aren’t interested in making life easy for developers or end users. When I deploy into an app server, I can’t think of a single situation whereby I’d want my logging output to be mixed in with the appserver’s messages. Realistically, an appserver’s info/debug messages are more likely than not to be gibberish and of absolutely no interest to me.

    Sure, I could configure a host of appenders (which of course, is log4j specific, not commons-jar, so you in fact do need to know about the actual implementation used). Really though, isn’t that a little bit cruel, forcing me to figure out what categories JBoss uses so that I may send them to an appropriate final resting place?

    Even more fun is the joy of reconfiguration. With a few measly lines of code and a cunningly placed configuration file, you’re able to gleefully (or accidentally, depending on your mental state at the time) hijack the application server’s entire logging. No more error messages for you! As things start up, you see a bevy of debug messages, and then suddenly it’s radio silence, as your own configuration that happens to be set to just show ERROR messages kicks in.

    In practice, the least painful deployment experience has always been with appservers that use almost no popular components, and that use their own internal logging system and other services, rather than a bunch of opensource products cobbled together by bits of frayed string.

    Of course, there are some novel solutions to this situation. Jive software for example ship one big jar for any given product of theirs (or used to, I don’t know if they still do or not). This jar includes absolutely everything you might need, from JDBC drivers to jakarta’s oro package. The trick they employ though is to repackage it all to be under a com.jivesoftware package. Thus for all intents and purposes it’s an internally used set of classes that they can guarantee nobody else will hijack or abuse.

    Week in review, with gloves off

    Sunday, August 10th, 2003

    Here we are again, rushing headlong into the end of yet another week. What better way to celebrate than by crowning a new village idiot?

    Before the ceremony commences, a quick recap of who called who what, why, and how we all felt about it.

    Firstly, thanks to Jason for posting a considered thoughtful comment to my webwork2 rant. Very unexpected, and quite a welcome departure from some of his more….’controversial’ ill-considered opinions.

    Secondly, Andy Oliver is not stupid, merely misguided. I’ve looked over some of the POI code and some of it is rather jolly good. So credit where credit is due. He’s obviously not brain-dead, I just disagree fundamentally with any non-strictly-technical thing he says.

    Finally, time to turn our eyes to this week’s winner. Carlos Perez, the unemployed wonder, storms through and snatches the coveted village idiot hat into his grubby little fingers. Now, Carlos is perfectly entitled to feel nothing but loathing and an intense horror at everything I spew. I can certainly understand that reaction. What is surprising though is that he seems to obsessively read it all. He’ll post a comment, then refresh like a man possessed, desperate to see who is paying attention to him.

    Now Carlos, feel free to taunt me all you want in my in blog. I have a strict policy of not commenting. It’s there so people can add feedback and chat amongst themselves, if anything particular important or relevant is said, I’ll mention it in a weekly post. I’m perfectly aware that I could delete your comments, but there isn’t much fun in that. Leaving them in causes maximum damage to you as more and more people see you for the pretentious little welfare baby that you are. I don’t read your blog, but I might feel the urge to stop by every now and then and post incredibly rude comments to everything you post. Let’s see how much you’ll like people shitting in your home. You might not be able to tell from my blog, but I have incredible stamina when it comes to flame wars, and I’d be lying if I were to say that I don’t feel a certain measure of glee at the idea. Whether that happens or not is up to you, stop littering my blog with inane comments, and I’ll stop picking on you. To each his own, far away from one another.

    I feel terrible for anyone stupid enough to consider employing you, even though I know that there are plenty of stupid companies out there perfectly willing to do so. Previously I felt pity for you for being jobless and desperate. I made an earlier jibe about your employment status and you said it was below the belt, so I desisted. Your comments since then have worked their magic and I am now wonderfully free of such pity. You’re a pretentious obnoxious git who has incredibly childish ideas that only live on due to the evils of the internet, and the fact that most people are won over by a few 3 syllable words. If anything, it’s a testament to how stupid people are, that an unemployed fuckwit can ramble on incoherently and have other stupider people nod along like a bunch of Stepford wives.

    While I’m in a ranting mode, I have to say that it’s astoundingly childish to proclaim how you (you being the general reader, not Carlos specifically) no longer read my blog, yet continue to do so. Fred Grott is a fine example, he’s so obsessed by me and everything I say that I’m starting to feel like I have a stalker. If my writing gives you the mental equivalent of genital warts, then please, spare yourself. Don’t be ashamed of not reading, why I myself avoid plenty of blogs because they’re filled with nothing but the fapfap of their authors masturbating wildly onto their keyboards and sharing the results with all and sundry.

    OSS and the art of wheel reinvention

    Saturday, August 9th, 2003

    Have a look at freshmeat, sourceforge, or any of the usual suspects for new OSS project announcements. What is truly amazing is how so much time and effort is spent writing basic services for things that in this day and age, should be taken for granted.

    Lets pick up my favourite whipping boy, Apache Jakarta. We have a commons-dbcp. A db connection pooling framework. Now, where are you likely to need such a pool? Webapps, j2ee apps, and the sort. DB pooling is one of those core services, like jndi, xml parsing, and suchlike which just work out of the box. The problem is that there are appservers out there that don’t even come with pooling out of the box.

    This applies equally to all aspects of J2EE. Developers will proclaim that velocity is infinitely faster that JSP. Why? Because they’re stupid enough to want to run their apps on tomcat. Tomcat, the servlet container that has yet to be beaten in terms of sluggishness. Similarly, people will whine about j2ee app structure, and how it leads to an incredibly slow development/test cycle. I suspect there’s a strong correlation between the volume of whining of said people, and the lack of full open dir structure support in their appserver of choice.

    So, I contend that the reason that J2EE has gotten such a bad rep is due to vendors. Vendors who think that an appserver is nothing more than an implementation of a spec, no matter how awkward that makes things for their poor unloved users. These users in turn (sometimes rightly) think that if the vendor’s features are so spotty and unreliable, they should just move that functionality into a white box, something they can poke into and manage and rip out if the urge takes them, rather than a vendor provided black box.

    The spec of course does have a huge array of shortcomings, but instead of always blaming the spec, blame JBoss, blame tomcat, blame all those hobbyists who give you J2EE on a plate, ungarnished, unseasoned, and slapped on haphazardly. Blame Websphere, blame all vendors who think of spec compliance as incompatible with end user pleasure.

    The trouble with webwork(2)

    Thursday, August 7th, 2003

    For months now, I’ve been watching xwork/webwork2 hobble along. Initially, it seemed like a mildly good idea. It had a few hiccups right off the bat (like Rickard resigning), but we had a big meeting where everyone interested showed up, and we all mostly agreed on the path to take going forward.

    The initial plan was to have an alpha around March or so, with a beta in June (at the latest, according to Pat). Also on the plan were all sorts of nice things like docs up front, migration guides/tools, and suchlike.

    So lets have a status review, shall we? Before I start though, I’d like to point out that I have not used webwork2 nor do I intend to in the near future, so some of the stuff below might well be wrong (if you disagree, feel free to comment and I’ll post a correction). The reason for this is that I’ve been burnt before by being an early adopter of projects like this one (some with the same people) and I don’t intend on getting scorched again. Let someone else suffer this time.

    For one thing, nothing has been released yet. It’s a matter of days, Pat has been assuring us for the last 2 months. No big deal, people can just get it from cvs, right?

    Secondly, calls for a migration guide have mostly fallen on dead ears. It’s deeply unsexy work, thus it’s quite unlikely to ever get done. Of course, the fact that there are a LOT of webwork deployments out there in pretty big projects is easy to ignore. Life is much easier if we assume that only hobbyists used webwork and so they won’t mind spending a day fixing their 6 page webapps.

    Even funnier, today someone posted on the mailing list that webwork2 performance is an order of magnitude worse than webwork1. The response from Jason? ‘Use a profiler and tell us why it’s slow’. Teehee.

    There’s also the internal debate going on within the webwork2 holy trinity (Pat, Jason, and Matt Ho), about whether Actions should remain an interface or be done away with (Jason likes the idea of a free for all, anything can be executed by anything). Not to mention that Pat has now moved onto bigger and better things and is likely not using webwork (1 or 2) in the ‘real world’. Jason by the sound of it does not either, and the whole webwork thing is more of a moonlighting hobby.

    In the meantime, webwork1 is trundling along. Both have rather poor docs (although I still think that webwork1 by now has better docs). The real problem in fact with webwork1 were the docs. Yes, it’d be nicer with interceptors and a better configuration system (no reason it won’t get these one day), but the adoption problem was mostly due to terrible (well, non-existent) docs.

    Instead we now have webwork2, which fixes the limitations in webwork1 that stopped the 1% of power users who couldn’t twist its arm sufficiently to get it to do the crazy wacky things they allegedly needed.

    In time I might well be an avid webwork2 user. For now though, I’ll just sit on the sidelines and snicker, until it becomes a serious project that isn’t just an academic/masturbatory exercise, and is proven to work out in the real world. Once that happens, then there’s be real incentive to contribute.

    JBoss takes it up the ass

    Wednesday, August 6th, 2003

    Muhahahaha! Looks like the world is finally sick of the JBoss Group’s weaselly efforts to be the darling child of opensource J2EE. The Apache Group, in a hilarious ‘lets stick it to the man’, announce that they’re going to develop a J2EE stack. Now, as many people suspect, this amazing new stack won’t make an appearance for another year or so of development. Coming up with a J2EE stack involves a bit more than just slapping together a bunch of commons-* jars and hoping for the best. You need something more than duct-tape to put it all together, surprisingly enough.

    Still, I thoroughly approve of this move. For one thing, it fragments the pretentious OSS J2EE asshat crowd. You will have a half of them now flock to Apache, and the real morons decide that Apache is evil and stick to JBoss.

    It’s highly unsurprising. Sun has probably for a long time harboured a deep resentment of JBoss. Who wouldn’t? JBoss comes along, summons up an army of braindead zombies, and they all start chanting irritating things that no sane person would. They often chant anti-Sun things, so it’s all quite annoying for them. JBoss of course keeps spitting in Sun’s eye with they J2EE flag waving, loudly claiming to be the new wave of the future, a message delivered quite colourfully via Marc Fleury’s childrens’ crayons.

    Next up we have the arrogant Apache kids. The relationship with Sun had to be milked somehow. The fact that they’re the adopted bastard child of Sun should clearly pay off in one form or another. All those juicy TCK’s begging to be used, why not exploit that advantage with stuff that actually needs those TCK’s? It’s a perfectly sensible approach; if you have a wrench, you should always go out and buy a car to use the wrench on, to capitalise on your cunning wrench purchase.

    Sun wins out by getting to kick the Fleury clan in the teeth, finally living out a fantasy that thousands have masturbated to. As an added bonus, they get the mighty Apache group to start actively pimping J2EE, and get the OSS zealots to start bickering amongst themselves. Yay for Sun!