The BileBlog's Journal
 
[Most Recent Entries] [Calendar View] [Friends View]

Thursday, October 26th, 2006

    Time Event
    3:01p
    JetBrains' TurdCity
    When renewing a whole bunch of IDEA licenses, I was pleasantly surprised to find out that this also gave us a bunch of free TeamCity licenses.

    TeamCity is the new build server from the wise and wonderful people who brought us IDEA, so surely it'll be the first CI tool that's usable and functional.

    Turns out there's some good news, and some bad news. Lets get the good news out of the way first (this won't take long). Unlike every other CI tool I've tried, TC mostly works. It's managed to build stuff (though you'll have to grab the latest EAP for that, 1.0 didn't know what to do with my build.xml). This already puts it in contention for the perplexingly small list of contenders for the coveted 'CI tool that does stuff' category. It also is free for IDEA 6.0 users (though why anyone would pay for it in its current incarnatio is a question best left unexplored.)

    Sadly, that's where it ends. It looks like the people who develop this tool have a fairly serious identity crisis. Their father seems to be a desktop developer, and their mother is a cheap whore.

    The traits inherited from their paternal genes are the wonderful ignorance with regards to long running processes. TC will happily run out of memory, it'll periodically hang and refuse to play until you kick it in the face, and generally performs as well as Swing 1.1 does.

    From its mother, TC inherited that trashy superficial ignorant love of Ajax pioneered by ajaxian.com. That idiotic shiteating grin towards any and every usage of ajax. The goal is to arouse sexual curiosity in the developer, even if it ends up shoving a big black dildo up the ass of the user as a side effect.

    In practice, this means that TC has some truly perplexing uses of Ajax. There are tabs on the top, for example. Some of which function the way that God intended (you click on a tab, you switch to that tab), and some of which mysteriously popup a ajax inline window. Huh? What school of UI design advocated THAT approach?

    Similarly, when you go to view a logfile, you get the main page which shows notmuch, and you get its body loaded in via ajax. In practice, this usually means a browser hang, and more often than not, the page crapping out.

    Of course, when you dig deeper in, you start to become very very scared. Little girl molested by a guy offering candy kind of afraid. Suffice to say, there is much soiled underwear at this point.

    For one thing, TC decides to write to your home directory. Yes, it's a server process, but I guess they think it's a desktop app, so even if you're installing it in /usr/local, it'll try to create its db in /home/poopy. God help if you if your home dirs are on an NFS mount (where file locking just doesn't work).

    Looking at the horrorshow that is the buildagent runtime, you'll note that for some reason, it specifies all this extra emma gunk (why the hell they chose such a shitty product to integrate it is beyond me) even though you don't have code coverage enabled. Looking over the environment variables it specifies is also going to cause a good deal of eye gouging/ear bleeding, depending on your disposition.

    What app is complete without unhelpful error messages? TC continues the fine tradition already well established by other Java apps of providing cryptic unintelligible error messages, when things do go wrong. Fear not, things go wrong often enough that you'll soon be enjoying these messages, and puzzling over them for days to come.

    The IDEA integration is nice, but of course, suffers from the same half baked approach that the whole product has. When something is being built, the icon in IDEA does not denote that, instead it shows a broken build image. Running the default inspection profile on the server on a medium-sized project results in 'too many errors', where you can't actually see the inspections in IDEA short of visiting every class, thus making it all rather pointless. 1.0 didn't even let you schedule builds (which is fixed in the latest EAP).

    I hope the product gets better. I'm actually quite optimistic, as I don't see it getting much worse. There are a lot of very clever ideas in there, they're just badly done and have about as much polish as a turd. The 1.0 version is about as productive as a conversation with a JBoss employee, so avoid that at all costs, and grab the EAP.

    << Previous Day 2006/10/26
    [Calendar]
    Next Day >>

The BileBlog   About Sviesta Ciba