The Six Sun Sins

May 29th, 2008 Java

Every year, I go to JavaOne. Every year, I’m ashamed, embarrassed, and apologetic about Sun’s message. Don’t get me wrong, I like Sun. I really truly honestly do. They have a whole lot of clever people, who can do awesome clever cool things. Sun however is much like King Midas, with shit instead of gold. They have an uncanny knack of hoisting aloft every little turd they find in the bowl, holding it up to the light and screaming gleefully that they have just discovered the answer to life, the universe, and everything.

When viewing things from a distance, its easy to assume that they just make dozens of mistakes all over the place, but really, when you stop to think about it, it’s not that many. In fact, I think I’ve identified a good selection that when addressed, would surely result in the success and admiration that Sun so richly deserves.

1. The headless chicken business model is not a recipe for success. Whereas most sane companies evaluate a marketplace, considering such mysterious factors as relevance, business problems, use cases, adoption rates, target audiences, and suchlike, Sun decides that all that stuff is a bunch of smoke and mirrors, and that the only way to financial success is to run around like a headless chicken, plop little turd nuggets, and hope some kind passerby sees a Jesus in the shape of said turds and offers to buy it for some amount of money.

2. What the fuck does Tim Bray do? Now, I know he invented XML (gee, thanks Timmy, what a brilliant fucking idea THAT turned out to be) and all, but what on earth does he actually do now? All I see is swathes of inane posts, a silly hat, and ludicrous navel gazing proclamations such as ‘javascript is ubiquitous’ and other such earth shatteringly obvious observations. Maybe he’s supposed to be an evangelist of some sort? What exactly is he trying to convince us Java hordes to do, and to what purpose? Sun, you’re not Google, they have enough money (for now) to hire pointlessly and for bragging rights, you don’t.

3. Nibble on the wrong penis. Sure, all companies have to at some point suck nasty nether bits. Sun though excels in finding the exact wrong crowd and proceed to spend untold amounts of effort towards appeasing this random crowd. Did we REALLY need an open source Java? How many external contributors are there now? All that did is land you in trouble with the Apache turdburglars because now you want to pretend to be all OSSy and yet still make money. Honestly, who in their right mind would try to sell to a bunch of gay python lovers who either have no money or have no intention of spending any?

4. Ponytails look stupid on grown men. Seriously? The CEO has a ponytail and wears tweed jackets? What exactly is the message here, that he’s a refugee from the early 70s? I think that the community will gladly rustle up $2000 as a reward for anyone who managed to lop the damn thing off. Not for any particularly reason, but as a sensible outlet for the anger we feel at all the ways in which Sun pulls a self-Cheney every other day; shooting itself in the face for the comedic effect, apparently.

5. JavaFX is a useless pile of steaming monkeyshit. It’s been over a year now, and the best JavaFX minds assure me it’s nowhere near useful, ready, or relevant yet. Sure, it was a cute project, some random guy (Chris Oliver, now nicknamed olo behind his back, apparently, presumably not for the size of his ass, but for jlo’s other qualities) comes up with a cute trick. This does not a product make. Whats amazing is how the definition of JavaFX varied depending on which Sun monkey you’re talking to. It’s either a new RIA platform, a deployment mechanism, a scripting language, or a neat way for graphics designers to develop apps (and we know how many graphics designers can code, such a huge untapped market that must be). Needless to say, I cant do anything with it like write a basic useful app thats not some graphics demo toy penistugger. Even worse, competent swing people are being relocated to this clusterfuck, so not only is time and effort wasted, but there’s actual damage being done elsewhere too.

6. People with small orifices shouldnt annoy people with big dildos. Sun somehow seems to go out of its way to piss off anyone it ever deals with. This is fine when you’re dealing with a bunch of asshat powerless developers, but less fine when you’re dealing with vindictive incompetent shitbags like Oracle and IBM. Sadly for you Sun those guys are doing well, and sadly for them they’re heavily invested in Java. You need to do a fuck of a lot more sucking up, and an awful lot less of pretending you’re the dude with the big dildo.

Java haters, gtfo

May 17th, 2008 Java

Why are so many people angry at Java? I have to say, there’s something awfully hilarious about this new breed of Java hater. Hilarious in the way that seeing your autistic mongoloid 22 year old second cousin, while drooling idiotically and grinning proudly, decide to drop trow and masturbate in front of grandma at the Christmas family reunion only can be.

There’s enough of them now for us to form a good caricature of said figures, which is bad news for them I’m sure as their self-perception is that of unique visionaries, rather than the tawdry mildly autistic self hating wankers they are. So what do they all have in common?

The first glaringly obvious point of commonality is that their new language is something with low adoption (compared to Java), is fashionable (this month/year), and is filled with ex-Java people. These are usually people who have been ‘demeaned’ by having to write non-sexy useful code, such as the boring apps that are the daily reality of programming. The daily reality being the need to achieve something thats useful to someone else, rather than some way of seeing exactly how far you can drag out your flaccid penis along a ruler.

The second point is that there has to be some barrier to entry. It can’t be something thats generally useful for which you can hire easily, the more obscure and awkward, the better. Ruby’s genius is in being just about hard enough for its developers to feel clever when they manage to get things done, thus continuing the by now familiar desperation that our industry has to feel self-important and worthwhile. It’s basically the latest manifestation of the ‘coding is an art I’m an artist nobody gets it boo fucking hoo’ syndrome.

We’ve always had lisp people, who are convinced their moment is just around the corner. While most of them are dead or retired now, the fucked up autistic genes that caused that sick disease is still rampant in society, and we’re seeing a new generation of infections in the form of all the ruby, groovy, and scala dryhumpers.

Another commonality is a deep, inexplicable insecurity that drives to constantly and belligerently squeal out their messianic drivel at every random passer-by. They’re the Java equivalent of the crazy dude at the corner literally thumping his bible and demanding you bend over and take it up the arse from Jesus or else your children will be eaten by some combination of Arabs, Jews, and Black People.

Finally, what’s most despicable about these people is their total and utter lack of self perception or insight. I honestly suspect that many of these so called ‘advocates’ are mildly autistic; they have no conception of any thoughts outside of their own, and assume that everything that goes on in their head is happening in everyone else’s too. The cognitive dissonance between their mental map and reality results in all this anger and hatred, and they end up drooling foolishly and twitching uncontrollably (sadly often in the vicinity of a keyboard).

Here’s a novel idea, how about getting a job and shutting the fuck up about it? Were you so unloved as children that you’re so desperate to squeal out your emotions to every inanimate object you come across? Are you THAT insecure that you so desperately plead for attention whenever you sense sentience nearby? Perhaps your mothers were better off drowning you as children, instead of the severe emotional beatings you seem to have received instead.

So really, all you dynamic language freaks, all you closure nazis, with your fancy scripts and your typeless nirvana, how fucking hard can it be to get the fuck out of our world, and go try and get a job doing what you asshats actually WANT to do? If your life is so great, why the fuck must you CONSTANTLY hassle us and shit in our coffee?

The Tapestry Bearded Wonder

September 6th, 2007 Java

For many years, I’ve longed to say something about Howard Lewis Ship. I’ve received much fanmail over the years regarding Howard, much of it anonymous, usually laced with pleas to expose this bearded wonder to the rest of the world as the uncaring insensitive naive fatboy that he is.

Sadly, I’ve never quite found something useful to pin on him. Yes, his project (Tapestry) is incredibly stupid. Sure, it has no users and is largely irrelevant as a freak evolutionary dead end (how can someone think that 5 artifacts per ejb2 bean is a bad idea, but 2-4 artifacts per tapestry page is a good one?) Thats not really enough to point out what a turd he is though. After all, it’s all harmless isnt it? So he likes pissing about with open sores and making a living by ensuring his project is impossible to use and keep up with, isnt that smart?

Much to my relief, Howard finally comes to the rescue with an absolute gem of a blog post. I had to read it twice to find the sarcasm and irony that so obviously must be there, but alas, I couldnt find any, so I’ll have to assume he’s being serious.

Howard, for those lucky enough not to be subscribed to JavaBlogs and thus exposed to his unique brand of insanity, has decided to switch to slf4j for his logging needs (from clogging).

What incredibly compelling logical reasons does he give for doing so? He doesnt like the fact that loggers are called ‘Logger’, and prefers ‘Category’ or ‘Log’ (perhaps a subconcious attempt to label all his code). He casualy flaps his michelin man arms about about how easy it’ll be for everyone to migrate, and how its no big deal to CHANGE EVERY SINGLE FUCKING SOURCE FILE YOU HAVE. Even more hilariously, he says that everyone uses clogging with log4j so the abstraction is pointless, yet proceeds to pick another logging framework abstraction. Huh? Its like there are two howards, both of whom enjoy debating with the other but are so set in their beliefs that won’t actually listen to what the other one has to say.

So ridiculous was this decision and its justification, that even the master of all thats inane, pointless, and shiny, Dion Almaer, pokes fun at Howard. I honestly think I’ve never ever found a project that Dion considers dumb or pointless, the man takes delight in a morning poo if it had rounded corners.

Howard then exhibits his usual utter and complete lack of awareness of anyone else’s arguments, thought processes, or coherently constructed sentences by glibly proclaiming that Dion ‘doesnt get it’, much like he casually dismissed the droves of user jumping the sinking tapestry ship.

Howard’s cruel disregard for users and anyone other than himself must end now. There are probably only 2 or 3 users in the world who will be bothered to make the jump from Tapestry 4 to 5. It’s unclear to me why you’d still want to do so. Howard has fucked you in the ass multiple times, and not only has he given all pretense of lube at this point, but is gleefully sandpapering your chocolate star to try and hammer his point home.

This latest pointless move from the bearded wonder highlights precisely why so many users have lost faith in him and his ability to deliver. Here’s a tip howie, a successful framework finds users and sucks and diddles their genitalia, it doesnt bend them over and make them squeel like stuck pigs.

Death to the Little Guy

August 6th, 2007 Java

So it looks like Atlassian has finally bought out Cenqua. Unlike all the public cheering, I’d like to shed a tear for something lost, something precious, something noble.

Cenqua was the little guy that could. They produced beautifully functional tools that worked, and worked well. They knew their strengths though, and remained focussed on their core products. They never wanted to be consulting monkeys (and so remained a handful of developers), nor did they invest in anal dilators to promote ease of entry for their clients. They just wanted to code in peace and support themselves doing so.

On the other hand, we have Atlassian, the little guy that’s now a behemoth through sleight of hand tricks and flashy gizmos. A company whose informal motto is ‘make it pretty, sell it, then maybe ponder making it work if some turds pay enough for it’.

To the discerning, there is a huge gulf between the attitudes and approaches of these two companies. Atlassian is the expensive dirty whore spreading her creamy thighs for all comers, while Cenqua is the cute girl next door who sometimes says no. Sure, the whore is, sadly, a better lay. Business-wise, it’d be foolish to go after the cute girl, the whore will do all you want her to do to all genitalia and orifices no questions asked. The girl on the other hand is likely politely decline your demands for a cleveland steamer, hot lunch, or even the odd angry pelican.

Despite the appeal and convenience of the whore, it certainly was a nice thought that the innocent, well intentioned and selective can thrive in our industry. There’s something very romantic and gratifying about a little company that focusses on quality and intentionally holds out against crazy growth or rampart hiring, and has that indefinable ‘quality of life’ thing focus. By quality of life, I dont mean the google bullshit of mindfucking you into working harder and making work more sexually gratifying to be at, but that quality that says that working hard is NOT the ultimate goal in life, and that it’s merely a means to an end.

So here’s to Cenqua, and to the happy few years of your merry existence. May you become the ‘legendary’ whore you’ve resisted for so long.

OFFTOPIC: Hiring!

June 27th, 2007 Java

Boys and girls, I’m afraid that there is next to no bile in this post. Life is incredibly cruel sometimes, and I’m sorry to disappoint, but I figured with all the insane/sick/perplexed Java developers reading, it’s as good a venue as any to shill for potential employees.

Basically if you’re in NYC and are a junior/intermediate developer, know rudimentary Java, want to learn stuff and whatnot, then send me your resume. Americans/Canadians/people with no visa issues are strongly preferred (coming to think of it, no Canadians, I hate Canadians. What the hell is their problem anyway?)

Likewise, if you’re in London and want a job, please also send me your resume. Hell, if you’re an American and want a job in London, then that’s good too, we’ll even pay you some relocation money. You can even be a C/C++/.net freak for London and we’ll still talk to you. Financial industry knowledge helps but what helps a lot more is a willingness to learn. Usual blurbage applies (dynamic exciting blahblah team player etc etc growth wibblewibble spring jpa ejb3 javaee otherrandomcrap foofoopoop).

Google Code: Ugliness is not just skin deep

June 19th, 2007 Java

I had previously ranted about google code from the perspective of a user. Turns out, users have it easy compared to project owners/administrators. Google code is, without a shadow of a doubt, the worst online application I have ever seen from Google. It isn’t just bad by Google standards, it’s bad by any standard. In any sane company, the people responsible for delivering such an abysmal product would be taken out back and shot in the face, just to save humanity from the risk of them ever doing anything again.

Where does one start? Lets look at the cool new downloads feature they added once they realised how useless their shitty little python jizz is. So hosted projects can now offer downloads to users, all is good and well. These downloads however come with some interesting restrictions.

For example, if you want to update a download, you can’t. Fair enough, you’d delete it and then upload a new version, we can live with that. Oh wait, except you can’t do that either. You know why? Because there’s no delete functionality. That’s right, no delete functionality. So if you accidentally uploaded ‘Sistas Fucking ApacheCocksuckersUpTheAss With BigBlackDildos-DivX-preview.avi’ (and it has to be preview I’m afraid, given the 20mb uploade size limit and the 100mb cap on your file space), you’re basically, well, fucked.

You’re not just fucked in the lost storage space wtf do I do now you cunts, but you’re actually fucked in the oh shit now everyone knows that I like seeing pot bellied hairy apache fucks taking it up the ass from muscled black women sense. See. not only is it not possible to delete uploads, it’s also not possible to archive them from end users. Anyone could just choose to see ‘deprecated’ downloads, which is about as ‘hidden’ as you can make things.

This dovetails nicely into the clusterfuck that is download tagging. The administrative menu is, to put it as kindly as possible, whimsical. Menu items and options are scattered about like goat pebbleturds on a mountain. The only option under ‘Advanced’ is ‘Delete this project’. How is that advanced functionality? If you go to administer (as an aside, what English language guru decided to choose a verb for a menu item when all the others are nouns?) then downloads, you’re presented with what amounts to gibberish.

I kid you not, you are shown a list of tags, and at the bottom, it says ‘Each download may have at most one label with each of these prefixes:’. What prefixes? What downloads? What the fuck are these labels for and what do I do with them? Maybe I’m particularly retarded, but I honestly have tried very hard to decipher this page, and still have no idea what the purpose of it is, or what I can achieve by using it. The wiki and other admin pages also have this cryptic tagging mechanism, which clearly requires someone far more qualified than mere project admins to decipher.

Google code’s project hosting can be a poster child for anyone who ever wanted to justify assigning a project manager to a project. It’s a clear example of the inmates running the asylum, where the developers spent all their time on useless shit that happened to sexually gratify their sick sick fetishes, which happened to basically shit all over real users from a great great height. Who gives a flying fuck about your clever svn backend? Your UI still looks like ass, and I still have no extra features over any other shithead who gives me svn access. The webapp behaves in a way that one would expect 1998 era webapps to behave. The validation is childish and immature, and is easy to con into allowing you to enter invalid project values. Google is lucky that it’s such a useless and trivial app that it hasn’t been noticed by more malicious people, but I can honestly say that I dont know of any company where any application, internal or external, can be so shit and remain so shit for so long without anyone trying to fix it. Delivering a rushed project with many bugs and missing features is one thing, remaining that state a year on is a level of incompetence and idiocy that’s usually unacceptable in the real world. Those poor fuckers wouldn’t last a day if they had a real job in a real company.

JavaOne Day 3: NetBeans refactoring meets 2002

May 10th, 2007 Java

So far I’ve been to two sessions today (sort of, I can never show on time or last the whole duration). The concurrency testing one by Brian. Cliff, and Bill Pugh was as brilliant, well executed, and informative as one would expect, so not much to say there. The one nitpick I have is the silly JUnit extension that one of those guys came up with to run tests in different threads, by prefixing the method name with ‘thread’.

This would be fine if it were out of ignorance, but even the most cursory research would show that you could do just that with TestNG with basic usage of parallel tests and grouping to ensure that any given set of tests run concurrently, and these guys certainly know about TestNG. Some of the earlier content felt very 2002ish (mind you, that’s how most junit3 code looks to me now). They did mention TestNG and JUnit4 though, but the actual examples didn’t seem to make much use of either.

The next talk however was what can best be described as a cruel and terribly unfunny joke. It’s by a NetBeans guy about refactoring, and with such a lofty title as ‘pushing the envelope’ I and many others in the audience foolishly thought that it’d be relevant and topical, and would discuss cool upcoming refactorings or advanced stuff.

Instead, the guy spent the majority of the talk telling us how refactoring is great, and how IDE’s ‘knowing’ how to parse source code is great, and how all sorts of things are possible. I’m fairly incredulous at this point. I remember having these thoughts at around the time of IDEA 1.1 (later renamed to 2.0) and feeling the same sense of amazement that this netbeans guy is feeling right now. If NetBeans’ refactoring team really does feel this way, then it must be such an abysmal IDE, where they’re so proud of doing stuff like method and parameter renaming nowadays when the rest of the civilised world has been doing so for years. The only saving grace is that he’s a good speaker, but that’s sort of pointless given how much brain damage the talk content is causing to all these poor bastards sitting in.

In fact, I’m so aghast at this that I can’t believe it’s going to be this bad. I’m convinced that this is some kind of limbo wasteland area in his talk where he says incredibly obvious pointless things, and the demo will make it all good. I see some friends walking out shaking their heads in a mixture of sadness, anger, and horror. I follow suit; we’re barely out the door and explode with indignation and rage. How dare someone steal these precious minutes of our innocent young lives? How could the talk title be such an utter boldfaced blatant lie? Thankfully, the jig is up and there’s now a steady stream of people fleeing the scene.

As we’re sharing our misery and lamenting the pain and pointless agony inflicted on us, Kevin (of guice fame) stops by and so innocently mentions that he’s going to the talk. We give him a stern talking to and charged with a new purpose, he takes it upon himself to go in the room and rescue as many hapless victims as he can. He arrives a couple of minutes later and proclaims that the demo being shown now is a method rename, and has a few more googlers in tow looking fairly dazed and confused with a clear expression of ‘I’ve managed to get into Google, how can this kind of thing still happen to me? What kind of insane uncaring world do we live in?’.

On the plus side, I did end up meeting Jesse of glazedlists fame, but at what cost, at what cost! I’m horrified that such an abysmal talk passed the review process. NetBeans team, shame on you. Maybe you should install IDEA along with the Refactor-J  plugin to see what sort of refactoring real men are doing these days, instead of the little girl pansy flouncing about you’re so proudly cawing about, you blind maggots.

JavaOne day 2: the big wtf

May 10th, 2007 Java

Day 2 started abysmally late for me. Getting in at 4:00am the previous night likely wasn’t the wisest move, but such is life at JavaOne.

After a pleasant lunch with some googlers, it was time to make yet another pitiful attempt at attending some sessions. I had about as much success doing that as Marc Fleury would at appropriate capitalisation. I attended a JCP event and rested briefly before the strenious night of festivities ahead.

First up was the bloggers meetup. I’m very surprised by how rubbish this was, all in all. In all previous years (well, all two of them) it was packed and you’d pretty much recognise most people (at least once they said who they were). This year it looks like it was hijacked by a bunch of random Sun nobodies. There was a small cluster though of outsiders so the event wasn’t a total loss. The prime purpose anyway was to piss about aimlessly until it was time for the google party.

Next up was the super sekret google party. The one so secret that it was hard to find people who weren’t invited. In typical google fashioned, one was assured that it’s exclusive and whatnot, yet I saw a random booth babe handing out invites like nobody’s business. Bitch!

The highlight of the party for me was coming up (with James Strachan) with a t-shirt line that we hope to use for next year. What we have so far is:

  • I *heart* java.util.Calendar
  • I *heart* statics
  • Fuck Tim
  • John is a motherfucker
  • GLASSFISH

I did however feel terrible for the poor shit who had to man the door. This was apparently a random google engineer who spent the entire evening standing outside making sure that nobody without a pass got in to drink the shitty beer and wine on offer. You’d think with all their hiring craze they’d be able to hire a doorman or two.

After that it was a trip to House of Shields, where I met a couple of Sun OpenJDK wackos who actually had the first ever coherent argument I’d ever head as to why OpenJDK is a good idea and how it benefits Sun. It’s so simple and obvious, yet Sun’s amazing ability to do good work while being utterly and inexplicably incoherent and off-message ensures that the justification for this, like everything else they do, will remain shrouded in mystery and relegated to the realm of arcane trivia. I also met Dalibor Topic who is possibly the coolest GPL person I’ve ever met. GPL people are generally brain dead nazi fuckhead hippie shirtlifters, yet Dalibor, like some freak of nature, manages to not be any of those things. Most perplexing.

Finally, after being kicked out (sadly a very typical ending to most evenings) 3 of us befriend a homeless guy and for reasons that are still somewhat hazy, end up at Denny’s where a drugged out suit is having a heart to heart with a perplexed homeless guy (different one to ours), and we proceed to demand IHOP fare (with limited success).

I’m not sure what the plan for tonight is, so if someone has any brilliant ideas, let me know! I have high hopes for actually managing to attend sessions today too!

JavaOne Day 1: The rest

May 9th, 2007 Java

I’m somewhat perplexed by what a blur the rest of the day was.

I think I managed to go to four talks. As impressive as that sounds, sadly I didn’t manage to last more than 10 minutes in any of them before having to run off for fairly inexplicable reasons (including but not restricted to terminal boredom).

One of the talks was about EJB3 best practices. I have a soft spot for this talk as I was the reviewer for it, and was secretly rooting for it. I was quite pleasantly surprised to see that the room was filled to overflow, and a bunch of poor bastards (including yours truly) had to stand in the back with nary a spot to park oneself at. The talk (or what I saw of it) went quite well, with interesting material and a refreshing disdain for all things helloworldy and petstorey.

The next talk I stopped by was Greg Luck’s ehcache talk, which though it had interesting material, wasn’t delivered particularly well. Greg, though a very smart guy, clearly looked like he wished to be somewhere else, which is a shame.

I also stopped by the ‘whats coming up in the next set of web specs’ towards the end of the talk. The problem here was very similar to Greg’s. While the material is interesting, the delivery is fairly abysmal. Also, when I walked in, for reasons that remain inexplicable, there was a jMaki demo going on. I really don’t understand what these Sun people think. How the fuck is it a good idea to discuss great upcoming spec features by shoehorning in an irrelevant little known obscure sun pet project? It’s not like jMaki isn’t covered elsewhere; there are at least a couple of other talks about it or related to it. So please, lets not mix specifications with hobbies.

Most perplexing however, is that I have no memory whatsoever of the last talk I peeped in on. I suspect though that it was so intensely boring that my brain simply shut down and refused to discuss what it saw, and is still in a bit of a sulk over the experience.

Socially, the usual madness and mayhem ensued. A decent meal followed by the now legendary Tangosol party wrapped things up nicely. I managed to also somehow piss off 3 different devzuz people, by snickering at key points while they earnestly try to point out how Mergere didn’t in fact die,  that Maven has a bright future, and that they’re going to do so well now. By far the most ludicrous experience was with Dave somethingortheother, who immediately launched into a heartfelt marketing gibberish spiel hurled in my general direction. I’m not quite quoting, but distilling his inane spastic drooling roughly results in: We’re going to avoid developers, and will aim at the high end. Our goal will be to take money from big companies who don’t know better, because developers are too poor and too smart to give us any money.

Depressingly, this might actually work (websphere, anyone?). Big companies are mindbogglingly talented when it comes to forking over lots of money for zero return. So please, if you do work for a big company that wants to hire these guys, do what you can to prevent it. They’re a sinister, insidious, scheming, disingenuous bunch of wankstains (well ok, the individuals are fine, the end result of mashing them up together isn’t).

The evening was rounded off by the now sadly obligatory Rod Johnson moob discussion, and a quiet but growing movement is forming to lobby for an ice statuette whereby the delectable nectar can flow freely into the mouths of the converts, that they may imbibe of the holy juice and thus come closer to the penispenis.

JavaOne Day 1: General Session

May 8th, 2007 Java

I usually try to avoid these things like the plague. The sheer volume of vendor jizz spurting everywhere is overwhelming to say the least. Sadly though due to waking up stupidly early, I had nothing better to do so thought I’d give this one a shot to see if it’s as abysmal as I expected it to be.

Interestingly, I was somewhat disappointed. The whole thing actually wasn’t nearly as bad as I expected. It was somewhat cool to see the hall packed with that many people, all of whom are Java developers. The loud thumping music though before starting was somewhat confusing, it’s way too early to have the contents of one’s stomach shaken about so violently. The video playing in the background before the start was also a bit perplexing. I could have sworn that at some point the mullet guide website was shown. Kudos to whoever picked that one, correct mullet identification is a crucial first step in eradicating this modern day plague.

First up we have John Gage. I had never seen John speak before and I must say, he comes across awfully well. He has a soothing wise voice and looks like a kindly trustworthy old man. You find yourself wanting to have children just so you could sell them to him; surely he’d know what to do with them better than you would.

Next up we have Rich Green. Rich Green is a confusing mixture of the ugly half of Sean Penn, and the uncharismatic half of Steve Jobs (this isn’t an insult, honest!). So far, the message has been so generic that any company could have delivered it. Lots of woowoo about community, people, how we must all get naked and hug, enabling blahblah, wibblepoopmobiles.

Rich brings up a number of people to the stage, some of which are better than others. This works reasonably well except for this excruciating moments where Rich does that double act Q & A thing. This always comes off as so awkward and rehearsed (badly), that you wonder why presenters keep resorting to this cheap trick. Really, do people honestly think that Rich asking someone ’so, do you have anything else to show us?’ and the guy piping up with ‘Actually, I have a video to show!’ is in any way a real or meaningful conversation?

The NASDAQ CIO is up next, and she talks about the volume of transactions their platform handles (all Java), it’s over 100k/second. Now this might be a crazy wild guess, but I have a strong suspicion that they aren’t using JOTM or JBoss.

Next up is some new product pitch (JavaFX) which looks like another Sun harebrained scheme to innovate. It’s mildly interesting I guess but the talk, unsurprisingly, is so nebulous and general that it’s hard to see concrete applications or who would use this stuff, when, how, and why.

Some light entertainment ensues however when the mobile demos keep going wrong. Maybe it’s the vindictive child within, but I’m always so gleeful when a demo goes wrong. The awkwardness, the long pauses, the nervous chuckles, the botched recovery, it’s all so very satisfying.

The talk wraps up with Scott McNealy and a UN guy, both of whom give rousing talks about the importance of community and good works. I must say, I was very touched by this. It’s really nice to see this kind of thing in an industry where we’re all obscenely overpaid. I hope that some of what they said resonated with the crowd, it certainly did with me. I wonder if the Engineers Without Borders comment was a joke or a concrete scheme. Utterly irrelevant to Java of course, and pointless in terms of its impact on shareholders, users, and developers. Perhaps that’s why it was so nice to hear; it wasn’t a pitch and was uncharacteristically earnest.

All in all, I actually found the whole thing faintly enjoyable. It certainly beat the living shit out of the idiotic BEA general session I went to last year, where all they could do is talk about how we must make our genitalia ‘liquid’ by entrusting the big BEA ‘blend’er in the sky. Eurgh.

JavaOne Day 0

May 8th, 2007 Java

Here we go, the annual trek to that horrible wannabe city, San Francisco, to attend yet another JavaOne. For once I’m actually showing up before the event and so far I’m regretting it. I did go to the groovy/grails event in the hope of free loot and possibly some fun socialising.

Unsurprisingly, it was a bitter disappointment. It seemed to be ‘now that we have you all in a room, lets sit you down and lecture you for the next few hours. Here’s one beer to tide you over’. Still, for groovy fanboys it probably was a good jizzfest.

I did try to listen in and learn, I really really did. I lasted all of 10 minutes. Maybe I was just horrifically unlucky and just caught the crappiest 10 minutes, but really, the one message that every slide and peptalk seems to scream out is ‘this is useless junk, but it has serious peniswagglage points, so lets all waggle together’.

It’s a shame, really. I’m sure there are people out there doing useful things with groovy. I suspect these people aren’t doing any of the ‘awesome’ things that were being pimped here. Exactly what kind of moron you’d have to be to think that growl notifications of events is a useful feature? How about Groovy AOP? There’s something sort of sad about all these community plugins that are being developed. It’s basically a bunch of people with nothing better to do with their time writing useless junk to gratify some bizarre sexual need.

The next bit I saw were a couple of demos. Again, mindblowing in their uselessness. I’m so so sick of mashups. Who the fuck uses them? Do they have ANY practical usage other than ‘oh look, we can combine two useful services into one useless pile of twaddle’? Is there a single mashup out there that’s actually useful, and does more than elicit a ‘oh, that’s cool, lets move on now’ sort of reaction? The grails example shown was delightful in its utter pointlessness. A mashup of flickr with google maps, where you can see pictures….of…..locations. Just what you’ve always wanted to do. Cheap at double the price.

The next example went from snazzy interface to a 1998 flashback. Remember what the rage was all then? You’ve luckily forgotten, so I’ll remind you. It was Swing hello world examples with a JButton. So, that’s what we’re shown. A JFrame, with, you guessed it, a JButton. These guys sure know how to party.

So I bailed, which is a shame as there were a lot of people I wanted to meet in there. Hopefully I’ll bump into most of them over the next few days.

Aside from all that, there’s something very curious about JavaOne this year. For some odd reason, I feel….personally invested. Having been part of the review board for the submitted talks, I really do hope that people enjoy the EE and web tracks. Participating in the process was a very gratifying experience; you’d be amazed at how many Sun talks were declined because they were vendor pitches!

Press release: Atlassian promises functional application

April 1st, 2007 Java

In an innovative and bold move, Atlassian software is proud to announce that it is changing its strategy going forward, and will from now focus on functionality.

Famous for its pretty but useless applications, Atlassian has captured the hearts and eyes of developers everywhere. The one corner of the market they have not been able to penetrate so far is the minds of these developers.

The new strategy will pose a challenge for the young company, shifting the emphasis from pretty pictures to usefulness is a move fraught with danger, and some analysis are not optimistic. Joel of FogzBugz fame proclaimed ‘Atlassian is doomed to failure, how can any company that doesn’t spend time writing an ASP to PHP compiler to achieve platform independence ever get anywhere? FogzBugz has always focussed on functionality, our 3 customers are more than happy’.

Jiramike, one of the founders of Atlassian, discussed the change in strategy. ‘We’re sick and tired of being the pretty dumb blonde in Java,’ he sighed dramatically.

‘It’s time we move past the cutesy rounded corner and cartoonish icons, we’re a serious company now and I think the joke’s up, customers are demanding a new kind of application. Whereas before all we had to do is slap on a pastel hue and a Verdana font, this market now requires that we develop functionality and serve a business purposes.’

Not all is well with this new strategy however. Some developers at Atlassian have rebelled against this move, and have resigned in protest. A member of this rogue group recently proclaimed ‘I just want to fuck around with ruby now and then and read ajaxian and put in all that stuff, why tf are we switching from our core strengths?’

Atlassian customers however are cautiously optimistic. The open source side is obviously elated, and the codehaus core team was rumoured to be dancing naked in the streets, rubbing genitalia with strangers, in an odd departure from the standard practice of doing ‘comfort grouprubs’ as a consolation prize for either another useless project joins, or a useful project graduating to relevance by moving elsewhere.


How will this affect existing customers? Jiramike points out that it has zero impact on them, ‘they’re fucked now by a hot blonde, all we’re doing is making sure the blonde can spell her name and down the road, we’re hoping that shoelace tying is on the cards, but I can’t commit or give any specific release dates yet.’

Asshat 2007

April 1st, 2007 Java

The BileBlog is pleased to announce the creation of a new conference dealing specifically with issues in and around the asshat situation in Java. Like any self respecting conference, a number of corporate sponsors have expressed interest in handing over money in return for strategic product placement. In the interest of consistency though, we’ll ensure that vendor content is mixed in with ‘real’ content, without any clear delineation. This ensures maximum return on our investment, and saves us the hassle of having to actually review content for relevancy or accuracy.

By far the most exciting part of this innovation conference is the speaker list. Some of the highlights include:

  • Tim Bray: Tim is famous for a number of things, none of which anyone can remember anymore. He works for Sun now though and his role involves mostly being a pretentious turd living off of his reputation and past achievements. He will be speaking on how to have one good idea and use that to shoehorn yourself into any number of irrelevant positions off its back, while remaining a pretentious bigoted shit. There will be a lab session too demonstrating what ‘milking something for all its worth’ actually looks like.
  • Ferd Grtit: Known by his parents as simply ‘Fred the dyslexic shit we should have drowned at birth’, Ferd will be discussing his innovative brand new game, moobnuzz. The game will run in cellphones, and is expected to hit the mass market sometime in 2083. Early reviews look promising, and Ferd has been busy drooling incoherently for years on end now to prepare for the imminent release. Discussing the details of his talk, Ferd giddily proclaimed ‘Java ME is wibble no longer was un-factual i the past. I found a penis in my bottom yesterday amg it was scary lol. Blaming me for it is like a CIVIL WAR meepmeep Java Eclipse flapnipple lips.’
  • Sun Marketing Dept: Long shrouded in mystery, this department has finally decided to make a public appearance to help clear up some of the misconceptions that many have about it. The talk will debunk a number of popular myths regarding Sun marketing. For example, may suspect that the strategy is developed by coherent sentient adults. This is quite untrue as this talk will show quite clearly. Delivered as an interpretive dance called ‘poopoowibblewomwom’ by a naked 50 year old man wearing underpants on his head, a chopstick up one nostril, and a baby jesus buttplug, it’s one of the conference’s must-see events.
  • Winston Damarillo and Matt Raible: This dynamic duo will be discussing how best to squeeze money out of a rock. The juxtaposition of a man who runs any number of developer sweatshops while sweettalking his way into a VC’s panties (mergere, geronimo, activeMQ) with a guy who has dedicated his life to being the emperor in the ‘emperor has no clothes’ phrase (virtuas, general webmonkeyism) is likely to spark an interesting debate as to exactly how stupid the world has to be for success to come to these two unlikely heros.
  • Martin Fowler: Martin is famous for spouting off endlessly about his opinions and dropping them about like little turdicle presents for children. In his keynote, he will be discussing how books can be used to fuck clients in the ass. As well as explaining the mechanisms of it, Martin will demonstrate the technique with some of his fowlbots. The live demo will involve 5 naked bent over thoughtwanker employees chanting XPTDDAGILESAVEDMYCOMPANY while Martin ritualistically shoves a book up their dirtboxes. An entertaining a thought provoking exercise guaranteed to give you a fresh perspective on ‘extreme agile’.
  • Sanjeeva Warawanamanaweeweenama: Sanjeeva will be presenting on ‘how to be in OSS and yet still be a total and utter cuntfaced shithead’. Drawing on his wealth of experience, Sanjeeva will discuss the merits of making insidious snide comments, and how when coupled with outright gibberish can be an effective tool in arousing disgust and disdain in an entire community. As an encore, Sanjeeva and the Axis2 team have promised us that they will print out all the WS-* specs and ingest them, to show once and for all that ‘they’re not that bad’.
  • Apache: Last but not least, we’re hoping to host a round table discussion to try and figure out if there’s a point to Apache, and how other OSS communities can in time grow to be as dysfunctional, pretentious, as as full of shit as Apache. While many feel it’s not possible in this day and age for any meritocracy to retain or even acquire quite so many people lacking in any form of merit whatsoever, it’s important to keep the dialogue open and see if indeed someone else can gather up such an impressive list of do-nothing loudmouthed dysfunctional assgobblers.

While some speakers have committed to their talks, we still have a number of spots open. Please send in you proposals, and ensure they can at least match the quality of the above, to ensure maximum benefit for our poor bastard attendees.

Press release: Spring acquired Guice

April 1st, 2007 Java

The guice team is thrilled to announce that Spring has acquired Guice and its developers for an undisclosed amount of money.

The innovation and adoption rate of guice have exceeded all expectations, and in keeping with Spring’s lightweight and non-intrusive idealogy, Guice will be a perfect fit.

What does this mean for you in practice? Going forward, BeanFactory and its associated classes will be deprecated, as of the next major Spring release. Obviously Spring is as committed as ever to backward compatibility, so you won’t need to change a single line of code.

The benefits however of switching to Guice are obvious. The spring team believes that the verbose XML will finally go the way of the dodo, and that annotations are the only realistic way of doing wiring in the future.

Alongside this major shift in approach, Spring will also be dropping its AOP support, in favour of the simple and usable Guice interceptor support. This will enable real world usages of AOP that have not yet been seen in all its years of hype.

Discussing the buyout, Rod Johnson, Spring lead developer and interface21 founder proclaimed ‘It was difficult hiring these guys away from Google, but it’s amazing what a few dollar shots and a hot half-naked bartender setting out a fire by dancing on a bar can do to someone.’

Speaking under conditions of anonymity, fellow Google employees expressed concern at the move. ‘This puts Spring squarely in our sights, and sets up an uncomfortable precedent for home grown technologies being owned by external corporations’ said one insider.

Bob and Kevin, the dynamic duo who developed Guice, are thrilled with the buyout, and have reportedly been seen in and around San Francisco offering drinks to homeless people. ‘It’s a vindication of everything I’ve ever lived for’ gushed an inebriated Bob. ‘I’d like to thank my mom’ concluded Kevin.

There was some scorn though expressed by some regarding this move. Bill Berk, local fat guy at JBoss, was not impressed. ‘We here at JBoss invented AOP, and it’s disgusting seeing others claim the credit for it. I might have not made much money compared to the Fleury clan, I might not have any friends, but I certainly am a fat shit with idiotic opinions’ he chimed in unhelpfully.

TSSJS: The rest of the sad story

March 26th, 2007 Java

The 2nd day of TSSJS was, frankly, abysmal. Other that jiramike’s talk about pragmatic clustering (which despite its promise, mostly involved recommending orasol), there was absolutely nothing that was interesting enough to even go in and bile. The content was fairly dire, why would anyone think that ‘better javascript with prototype’ is something worthy of discussion in this day and age?

Rod gave yet another Spring 2.0 talk. Exactly how many of these do we need anyway? As if a Spring 2.0 generic rodtalk wasn’t good enough, it’s a repeat too from the day before. Is there anyone out there who still gets excited about a Spring 2.0 talk? I for one was much happier staring blankly into space for the duration, it was far more satisfying and educational.

Cameron gave the same tired old clustering grid scaling productpitchbutatasuitabelytangentialangle talk, which I’m sure was very pleasant.

It’s worth at this point pausing to consider the utter crapulence of the panels at this TSSJS. The ESB panel for example was manned by, you’ll never believe it, ALL ESB VENDORS! Gosh, I wonder what they had to say. At a wild wild guess, I suspect they all think everyone should use an ESB. The OSS panel was similarly staffed with people from companies who are busy seeing how rich they can get from OSS, rather than any consumers of OSS or someone without a vested interest.

The Alfrecso guy on the OSS panel was in particular an impressive douchebag. He merrily proclaimed that all software will be either services or OSS. Amazingly, not one other person on the panel called him out on it. Needless to say, this proclamation was pretty upsetting to the majority of people there, who were, on the whole, not living off of OSS or software-as-a-service. Still, not surprising considering the guy ran Documentum, one of the disasters that befell this industry that we still haven’t quite recovered from.

The third day’s contents were marginally better, though I got roped into being on some random panel where we all got to feel important and pontificate pointlessly about more or less random shit.

Overall, the best part as usual was the socializing. It’s a shame that that sometimes entails nipples being tweaked and genitalia reached for(grrr, you know who you are), but one can’t let the small stuff like that get in the way of a generally good time. The best part by far of the whole event was venturing to downtown Vegas and kickin’ it oldschool.

Conference wise, it would have been nice if a miniscule amount of thought were put into the scheduling and selection of content. For example, the last sessions on Friday were all in the same sort of field, so if you wanted to go to one of those, chances are you’d also have been interested in the others. Yet the powers that be ensured you couldn’t do so. The whole thing had far more of a corporate than community feel, which is a terrible shame.

Trotting out the usual suspects to do their repeat talks from last year is tired and tedious, it’d be nice if the brand name speakers did a little more than just show up and recite a talk they’ve done 50 times so far. So please, no more Spring 2.0 talks, though I suspect the opensource track gurus at JavaOne probably have that exact same talk scheduled, bless their dirty little socks.

Here we go…

March 25th, 2007 General

I’ve finally moved off from JRoller, after almost four years of pain, suffering, tears, blood, sweat, and putting up with one of the worst pieces of software ever to grace javaland.

I’ve always wanted to move, the reasons not to however were:

  • Too lazy: Inertia is a wonderful thing, and I have better things to do with my time that faff about trying to install some kind of bloggy thingy
  • jroller sorta worked: I could post, people could view stuff. What more could a guy ask for?

Of course, the straw that broke the camel’s back is that referer logging has been turned off for months now, so it’s impossible to find out what’s bringing people to the bileblog (if anything at all), or whether anyone still read it (sniff).

I would like to thank Matt and our Fearless Leader Rick Ross at JavaLobby though, for at least pretending to care every now and then, ultimately though the roller app was just so abysmal at doing anything, so ugly while doing it, and so incompetent in the odd occassion when it did manage to do something, that it was just impossible to get anywhere.

It’s a sad statement on the Java world, that our main offering in the name of blogging platforms is so horrific and useless, with about as much sex appeal as a cocktail of Rod Johnson moobmilk, Bill Berk pantycrust, and garlic scented Fluery gavinguice.

Bitch and whine about the new site in your comments on this post, and I’ll dutifully ignore it all, just so everyone is comfortable and to show you that nothing has changed.

Anyway, the rest of the TSS coverage coming up soon hopefully.

TSSJS: I'ma l33t Arkeetektor I pwn j00!

March 21st, 2007 Java

The last talk I went to today is Enterprise App Mashup: Architecting the Future by Eugene Ciurana.

Of course, the talk is as fluffy and pointless as I had expected. I walked in late because the likelihood of anything vaguely interesting being said was fairly negligible.

The one thing Eugene does excel at is name dropping. Whatever he did at walmart clearly involved next to no ‘real’ world, and a lot of musing and faffing about with whatever toys happened to catch his fancy. In many ways, it’s a dream job. Wouldn’t it be great to have a job where you get to fuck around with whatever you want, without ever having to achieve or deliver anything? Without naming names, there seems to be 2-3 jobs like this in this industry, held by vocal public personalities. Yet more proof that it’s a cruel unjust world.

The core problem with this talk is how nebulous it is. We get the usual ESB flagwaving, that same tired old diagram of a centralized bus and how we’re moving into a happy new world of no point to point, anyone and everyone plops their turdy nuggets onto the bus, who will magically and mysteriously only deliver it to other applications that want to gobble up said turdicles. The clever thing is that there still seems to be some people who haven’t tried this approach ,and still don’t know that if applications aren’t written to talk this common language, you end up writing a zillion adapters, thus having the same ball of spaghetti, except that you’re now also now beholden to a bunch of dubious shady people who now happen to own your centralised bus.

The ludicrous example we have is making two applications communicate, one of which talks JMS, and the other talks SOAP. Now, has anyone ever come across such a situation? Where they just happen to have message structure that’s similar enough so all you’d have to do is drop in an ESB and now the world is magically wired up?

It’s just so astoundingly stupid. One of the most impressive cases of the emperor having no clothes since SOA. Speaking of which, I went to the SOA panel which was equally depressing, services are pretty much….anything. It’s a testament to the power of salesmanship that anyone is able to actually sell this crap.

It’s very clear that Eugene spent a couple of days playing with Mule (ESB), and thought that he’d give them a shout out as some kind of benevolent godfather type at Walmart.

Even more ludicrous, he recommended that people use…JavaSpaces. Good lord, is it 1999 again? He even mentioned it as a sane alternative to JMS. Good thing everyone is going to ignore everything he’s saying, so no harm done I guess.

The talk title certainly didn’t disappoint, the talk is so full of shit, so pointless, so inapplicable to anyone that it’s impressive that a human being can actually stand up for an hour and make noises in vague sentence structure about it.

Gotta give the man credit though, he has nothing to say but delivers it with style and authority, it’s easy for people to end up thinking they’ve attended a good talk, because the speaker was friendly and engaging and spoke well. The fundamental flaw is that HE SAID ABSOLUTELY NOTHING. The talk basically revolved around how great the speaker is, how he’s bought expensive hardware because he’s so cool, how he knows so many people and vendors, and how some of them lined up for a glimpse of his holy genitalia.

TSSJS: Advanced JPA

March 21st, 2007 Java

Sometimes I’m a bit of a glutton for punishment. You’d think that after attending so many conferences, seeing so many JPA drivel talks, I’d stop. Alas, I can’t seem to help myself. and am dismayed to find myself sitting in Advanced Topics in JPA by Mark Richards.

It’s evident that the use of the word ‘advanced’ was somewhat liberal in this case. All we’ve done so far (20 minutes in the talk) is discuss the joys of join tables, entity relationships and how to define them. I shudder to think of what Mark would consider to be an ‘intro’ talk. Perhaps a 20 minute discussion on the benefits of casting? The benefits of coding with eyes open and thumbs out of anuses, to maximise JPA productivity?

Even more worrying, he actually makes JPA config look so much skankier than it actually is. Switching from hibernate to toplink for example in his case seems to require changing 20 lines of Spring xml. Spring? Yes indeedy, he managed to sneak SpringSpringSpring in there! Either Mark or Spring is pretty fucked up if changing implementations is so much work (it’s the former, incidentally).

To his credit, Mark is actually a good speaker, he’s just cursed with abysmal material. OHMYGOD, he didn’t just…..OHMY…

This is a brave move indeed! Totally unexpected. We were happily traipsing about in many to one land when BOOOM! He brought in…MANY TO MANY! There’s an inaudible gasp from the audience at his sheer gumption and audacity. What will this crazy guy do next? Drop his pants and moon us? Masturbate into the first row of attendees? I might explode from excitement and anticipation.

As if that excitement wasn’t sufficient, this crazy man just tossed in fetch types. I’m going to need a nap shortly to recover from this.

Oh wait, all is not lost, he actually mentioned something interesting (honest). Throughout the demo, he seems to pointlessly switch from Hibernate to TopLink for no reason, but this finally paid off with showing (what he alleges) a non-compliance by Hibernate, which apparently doesn’t support fetching multiple collections, which the spec says must be supported. We switch to TopLink and all is well.

Next we’re covering compound keys, which I guess is finally venturing to the realm of potentially non basic trivial features, too little too late I’m afraid. The one thing I am enjoying about this talk through is the hibernate bashing. He’s showing fairly standard JPA usage, no custom stuff, yet hibernate seems to shart itself pretty regularly as a result. The latest example is that @IdClass is basically broken (and yes, that’s been my experience too). I do like the advice that once hibernate takes a big dump, it’d worth switching providers just to see if it’s because hibernate developers are cocksucking chozgobblers, or if it’s you who is being a muppet.

Finally, we cover stored procedures, also pretty interesting and I’d say something that does qualify for advanced usage.

All in all, I’m not nearly as angry about this talk as I was in the first 20 minutes. It started off with boilerplate JPA but did eventually manage to eke out some useful info. A speaker who seems interested in his subject and is coherent is such a refreshing change as well, even though he does smirk a lot.

Another year, another TSSJS

March 21st, 2007 Java

Depressingly, despite making a somewhat valiant attempt to get enough sleep, the night before TSS ended with the usual mix of drinking, stumbling about helplessly, and stay up until 3:30am. Last year the question to inflict on poor unsuspecting victims was ‘have you masturbated on a plane’, which surprisingly 50% of people seem to have done. This year I’m hoping to get a good list going with ‘what deviant sexual act would you pay $10 to see if it were socially acceptable’.

The keynote in the morning kicked off with the usual fumbling intro, with the TSS guys clearly looking like they’d much much rather be somewhere else, possibly somewhere very far away.

As usual, the audience polling thing was a total and utter shambles. It’s 9am, there’s no way I can count down a bulleted list of 7 items to figure out what number I should press. Which genius though that a bulleted list is a good way of displaying numbered options? Even more depressingly, as I finally figure that out and start furiously jabbing the appropriate button, the handheld piddly pile of poop steadfastly refuses to acknowledge my pitiful attempts.

The one mercy is that there were very few of them compared to every year. Interesting it turned out to be yet another venue where they managed to sneak in vendor content, asking a bunch of java devs whether they’re interested in DTrace or ZFS is a perplexing choice, certainly.

The actual keynote by Eric Gamma was, basically, enough to bore even the more excited of attendees halfway to death. Maybe it’s because I’m not an Eclipse user, but really, 10 minutes of discussing the benefits of OSS and what it means to have a community, how it’s all so wonderfully transparent, and how it’s better for your genitalia than a penis pump is a bit…twee, at this point. How many times do we need to hear? Yes, we get it, OSS is as satisfying as openair hot lesbian twin live action with many toys; lets move on already.

Part of the problem is that Eric, while I’m sure is a frighteningly smart guy, is a fairly abysmal speaker. I’m having to work very hard to actually listen, but I’ve found that it’s way too easy to let him become a mildly annoying background noise. Coupled with the miniscule font on the slides, this ensures I haven’t a hope in hell of figuring out what’s going on, why it’s going on, and when’s it going to stop.

The talk is supposed to be about Jazz, and we’re halfway through the talk and I still have as much information about what Jazz is as I do about the contents of Bill Burke’s panties (eeeurgh, even I winced at that lurid image).

The one interesting thing I guess is the release management arm waving, and all the boring crap that goes with it, its impact on development velocity, marketing, metrics, blahblah. Still no clue what Jazz is, but maybe we’ll find out soon!

We finally find out that Jazz is some kind of collaboration thiingyboggy. Unfortunately, many people have already chewed off their own heads in sheer boredom, so it might be a little too late. Still, maybe something can be salvaged!

From what I can gather, it sounds like a more pretentious and happy agile noises version of TeamCity with better role and team management (at least to the marketing blurb we’re being subjected to). Team collaboration junk, better isolation, scalable, blahblahblah. I’m still angry that yet another hour of my life has gone down the drain.

Ultimately I guess the only people who don’t want to kill themselves just to end this talk are probably Eclipse developers (not users), who likely could manage to keep themselves sufficiently entertained by masturbating in the stage’s generation direction for this infinitely long hour.

XML wiring is for girls

March 14th, 2007 Java

The fact that XML is, basically, a steaming pile of goatshit is not news. Many many people know this now, yet you have an awful number of people eager to grab a hold of some xml and perform deviant sexual activities in it, around it, and in between its elements.

The problem is that there are some good ideas out there that happen to use xml. Even though xml has nothing to do with the quality of the idea, xml somehow gets credit.

This has become quite apparent lately when participating in some Guice vs Spring debates. The fact of the matter is, Spring’s XML sucks unbelievable amounts of ass. Don’t buy the bullshit hype of Spring 2.0 improving its XML so it’s now all great. All it’s done is made it plausible that one might not jab oneself in the eye with a big black ribbed for his pleasure dildo when confronted with it. I cannot believe that a sane person would think that the Spring 1.x syntax is fit to deposit a big dogturd on, let alone use in any application you’d care to be associated with.

I like Spring. I like the integration features it offers. The XML however is revolting. The IoC bits are about as pleasant as using a bucketful of Rod Johnson’s moobjuice as anal lubricant. You either have to autowire (which is convenient but too magical as your project grows, not to mention fragile), or explicitly wire stuff in xml, miles away from the source code. Lets not even get started on how abysmal performance is once you’re using a real project with more than 3 beans, or heaven forbid, wiring up actions at runtime. You could play many a game of soggy biscuit while Spring figures out who needs what, when, and why.

Of course, the situation is conveniently disguised by the fact that tools such as IDEA natively grok Spring’s hellish configuration.

No doubt someone will counter with the fact that thousands of people use Spring and all is well. Yes, thousands of people also used EJB2, oddly enough the very same places that switched to Spring. What are the chances of all these venues suddenly becoming full of wise intelligent developers who from now on will only make sensible sane well considered decisions?

As a result, Spring is hopelessly fucked due to its success. It can’t really drop support for crappy old JDK’s (contrary to what everyone tells you, banks ARE using JDK 5 now), so will always be lumbered with its current idiotic configuration and wiring approach.

That problem makes it somewhat understandable that the Spring guys, in order to defend their fuckeduptheassness, deride annotations and proclaim that declarative xml goop is Rod’s Holy Word. Go forth and write xml, Rod proclaims, and the unwashed masses go forth and positively ooze angular brackets. Stupid fucks. Still, all is not lost, in cases where it’s possible to shoehorn annotations into Spring’s archaic innards, they’ll enthusiastically proclaim it Useful and Recommended, such as the @Transactional annotation.

The other common argument is ‘you don’t spend too much time in Spring’s xml compared to time spent in your code’. Sure, I also didn’t spend much time writing ejb2 descriptors either (xdoclet did it), yet everyone bitches about those. Why can’t we apply the same standards to Spring?

Fundamentally, Spring has a tough time accepting that the world has moved on, and that its approaches are starting to look a wee bit outdated. Even EE 5 in many cases looks more modern and usable than some of its approaches. Thanks to its widespread use, they can, much like the JBoss people, maintain an insular world view where they’re surrounded by sycophants who do nothing but bend over with a shiteating grin plastered over their sallow filthy faces.

So do yourselves a favour Spring guys, and stop being so obsessed with where you are now and with how much you can do with AOP (which nobody cares about, it’s not 2004 anymore so move on), and instead look around with an open mind and embrace annotations like you’d embrace a Rod Johnson penis replica. Your configuration bean bullshit still doesn’t cut it, dependencies are best expressed where they belong, in the damn source code itself.