Archive for October, 2005

TSS bringing out the best in us

Sunday, October 23rd, 2005

Sure, I’m a big fan of Java. Yes, I do sneer, point, and laugh at all those Ruby naysayers, there is however something deeply offensive about leaches on the java society like Bruce Tate and his ilk.

By all means brucey, go forth and shove a Ruby glowstick in every orifice of yours you can find. You can squeal along like a stuck pig with your fellow foreign object aficionados, and we’ll even think it’s cute. If you want to be taken seriously though, injecting a dose of realism in your deranged ravings will get you a long way.

So, some clarifications are due perhaps. First of all, if you write an application in 4 months in any language, rewriting it in any other will take you significantly shorter, assuming you’re doing a direct rewrite.

Secondly, in two months, RoR’s dominance will STILL be a question. It’s an up and coming tool, fit for certain things, it’s not the solution to world peace, and even if it were, it’d take a hell of a lot more than two months to get there. You with your pathetic little books and dirty shilling might find it perfectly adequate for all your sexual needs; many others do not, and some of those, dare I say it, will not.

So if you’re so unhappy with Java, and have seen the light, perhaps you’d care to just Go Away, and we’ll see how long you last without your endless Java whoring. Move on to your greener pastures, I assure you you will not be missed nor mourned. If you do want to stay in our playground though, you’d have to do a lot better than constantly shit in the corner like some overgrown child sans potty training. I realise you have books you need to sell, but you’re doing yourself no favours by arguing with that insane glint of religion in your beady royalty counting little eyes. Set down that crack pipe before it’s too late and you lose the last shreds of credibility you’ve ever had.

So now that I have that off my chest (inspired by Bruce’s endless whinging on his ‘Beyond Java’ thread on TSS), it’s time to whine about TSS a bit.

Exactly what genius thought it’d be a good idea to allow Kirk Pepperdine to post news stories? Granted, TSS is generally one of the dirtier toilets of javaland, where every passer by gets to deposit his own personal collection of dangleberries and tagnuts, but really Kirky, it’s NOT your personal blog.

Kirk has the dubious honour of being the only editor that I know of at TSS who has managed to get a story pulled by a more senior editor. Kirk, in his infinite wisdom, decided that what he finds funny is the last word of Funny, and TSS, armpit that it is, should be treated no better than his personal blog. For shame Kirk, for shame. See, it’s one thing if we could say it’s an isolated incident. Sadly, at the time of writing, almost every story on the frontpage by Kirk is about as useful or relevant as Andy Oliver in a conversation, and about as considered and well thought out as Gavin Fleury in, well, anything. We have a story about Geronimo (the little container that, if it had a mouth, would be screaming for euthanasia 24/7) choosing a logo, another amazingly non-humorous piece about ‘Samy’, and a new job for Ward Cunningham. The best the guy can hope for is to induce a yawnfest, and that’s when he isn’t out trying to convince everyone that he is indeed the most close minded person in javaland.

Kirk, you might know your way around java performance, if I were you though, I’d avoid speaking up about anything else, or you’ll ruin that mystique you have, and suddenly show everyone that you’re just another loudmouth who refuses to ever learn anything, and believes that his anus delivers golden eggs instead of foetid log shaped lumps of unpleasantness.

Java benefits tremendously from competing technologies. It’s always good to be forced to re-evaluate one’s approach to almost anything. There can be a rich, vibrant, and dynamic discussion and exchange of ideas. The one thing I caution all you spastic self-appointed ‘thought leaders’ is not to insult your audience. We’re not your dirty little congregation who need some kind of holy book or religious nonsense. Treat us with respect, and we’re a lot more likely to take you seriously.

Ceki Gülcü's logging fetish

Sunday, October 16th, 2005

The one thing you can say about the intarweb that we’ve all come to know and love is that it’s full of some very very bizarre people. Said people will more often than not manifest their deepest dirtiest wishes in the form of midget sex, goatse collages, lemonparty, horses doing unspeakable things to a variety of human orifices, and the shiny white boots of tubgirl. The content in itself isn’t necessarily that disturbing; more disturbing is those who find such material personal fetishfodder.

Of all these fetishes though, none are as freaky as our dear old Ceki’s logging obsession. We’re coming up to the 10th year anniversary of his initial logging spasm, and the little rumpranger shows no sign of tedium nor flagging of unmentionables.

Most people think that the freak just sharted out log4j and saw his creation, and pronounced that it was good. Most people are also exceptionally stupid, ignorant and naive, which perhaps explains the earlier perception.

Indeed, our umlaut laden hero has been a busy little ferret. Disgusted with the evil he wrought in log4j, he then went on to invent a whole host of logging frameworks. After a futile attempt at an enterprise logging project, he went on give birth to a stillborn bloody carcass by the name of ugli. ugli was universal logging, and everyone laughed heartily when he suggested that people switch to it. Even the intellectual giants (har har) at Apache scorned this pointless new API.

Undaunted, brave little Ceki decided instead to rename his project to slf4j, figuring that a project without the magical 4j suffix has no hope of success.

So what is slf4j? Well, it’s a….facade for other logging systems! It’s a replacement for clogging! Now here’s the clever bit, instead of all that magical dynamic discovery mumbo jumbo, the binding from slf4j to a concrete implemention is done at….compile time

! Want to switch logging implementations? Simple, recompile your app!

Of course, having written a logging api, the next natural step is to write a logging api api. slf4j of course does nothing by itself. Instead it has two implementations, nlog4j and SimpleLogger. By now, even the most hardened logging chozgobblers are likely suffering from serious shrinkage.

Nlog4j is basically log4j with some classes ripped out. SimpleLogger is basically a more obscure way of calling System.out.println.

It’s amazing that after all these years, there are still some people who think that time and effort should be invested in more implementations of the same tired old ideas. Is this guy at all in touch with what goes on in the real world? Exactly how many cloggings does the world need anyway? Why oh why oh why do we need wrappers around logging libraries? Has anyone, ever, in the entire history of java, and in all the millions of projects out there, ever, ever switched a logging implementation, and thought ‘using clogging was such a good idea after all!’

Joblogging

Thursday, October 6th, 2005

There’s something so tiresome and odious about employees blogging about their products. It smacks of a certain amount of desperation and sleaze, and is always hugely biased and usually surprisingly uninformative and uninteresting.

One product that has recently discovered this particular marketing channel is NetBeans. The Sun people who go out of their way to pretend to post impartial third party opinion/woweeisntthisgreat pieces about netbeans are loathsome little toads.

I mean really, how can you be so endlessly amazed at your own product? How can you, day in and day out, be surprised by how great it is? One can understand a 3 year old boy finding their genitalia a source of endless fascination, but you people are grown men, for the love of god.

It’s not like the product they’re plugging is even that good. I actually went through the hassle of trying out the beta just released. On OSX, the experience is as much of a pleasant surprise as being ambushed by a big black man wielding a variety of baby jesus buttplugs intent on putting them to good use.

For one thing, the installer on OSX simply….does….not…work. Launching the IDE requires navigating to a bin dir and using the command line. Bad sign. Creating a new project proceeded to vomit up an IndexArrayOutOfBoundsException, and the scanning project classpaths subtle info message in the corner (which should be a blocking op, considering you can do sweet fuck all while it’s happening) takes about the same amount of time growing a colony of antisocial angry midgets would.

Eventually when the scanning is complete….nothing happens. That’s right, maybe due to earlier exception, netbeans sharted itself and had no idea wtf to do next. So I reopen the project, and lo and behold, I can type stuff!

Clearly unsatisfied with the misery it’s inflicted on me, and intent on teaching me exactly what ‘slow’ really means, it then proceeds to spank me for my impertinence in trying to use autocompletion. I press buttons, I sit, I wait, I pace, I contemplate how best to gain some sexual gratification, and eventually the little window pops up. Alright, fair enough, it’s the first time it visits the classpath, so I can deal with it, I’m a big boy. Alas, it is not to be. While further autocompletions to the same class are nice and zippy, that watching-paint-dry pause gleefully materialises again on every new class.

Of course, all this were fine if the UI made up in looks what it lacked in every other department. The OSXification attempt, while very clever, looks almost obscene compared to the native java L&F. The tabbed pane is garish and gaudy, the toolbars cartoony and childish. While we’re looking in that area, what linguistic guru came up with the tooltips? If you hove over the close button, the tooltip, helpfully enough, says ‘close button’. Likewise if you hover over other buttons in tool windows, it’s always ‘blah button’. Gosh, thank god you’re pointing out that it’s a button, I might have mistaken it for a textfield or a pigeon trapped in the screen.

So please NetBeans people, lay off. Your IDE has its plus points, but we don’t need to be reminded daily of its existence. You’re discrediting whatever actual value you might have to offer with this constant waggling of genitalia in the general direction of everyone and their dog.

After all, you don’t really want to be thought of like JBoss people do you?