Nov 20, 2006

Release woes

Shit happens. You've prepared final release build, marked it as 1.1 and put on the site. Next day a couple of people from your company comes - they found an unnoticed critical bug. Because of strange consequence of events this bug wasn't noticed before.

Bug is fixed, new 1.1.1 build is uploaded to the main site, build number is corrected.
Next day you got an e-mail from support with message "whether 1.1.1 was really released?". Because of strange consequence of events the download path on the site still points to TeamCity 1.1. As long as all announces were already published, you wonder how many users downloaded the non-updated version. Sigh.

TeamCity announce on was published under the title "IntelliJ IDEA 6.0.2 released". Cool.

Ups. Your latest fix for 1.1.1 introduced another critical bug - code coverage information from TeamCity cannot be viewed in IDEA. Looks like we really have plans for TeamCity 1.1.2.

But TeamCity's roadmap will be a subject of the next post. 

Oct 26, 2006

Getting Real, free

A highly recommended reading for everyone involved in software development. Now you may read it free in HTML: Getting Real (37signals)

Oct 25, 2006

IDEtalk goes open source

Just a small note - IDEtalk project goes open source.

It's repository is located at,
so you can view code, fix bugs and participate if you wish.

I'll continue work on it, though I cannot spend much time because
of another cool project I'm working on.

Have no idea when I'll update main IDEtalk site.

Jun 20, 2006

Safari JavaScript problems

Today I spent several hours fixing various bugs in Team Server for another EAP release, and two of them concerned Javascript issues in the Safari browser.

The first issue:
In Safari you cannot specify the location of an absolutely positioned element if this element has display:none. I had a code which set style.left and of a hidden div and then showed it on the screen. It worked fine in every browser except Safari. To make it work, I had to assign display:block to the div first, and then assign coordinates.

The second issue - how to add a mouse document listener.
Again, code like Event.observe(document.body, "mousedown", handler) worked out in every browser. Except Safari. In Safari one has to use 'useCapture' option when adding the event handler, i.e. use Event.observe(document.body, "mousedown", handler, true).

I tried to google for the solution of my problems with Safari, but failed. Hence this post. Hope this saves someone's time and headache :)


Apr 15, 2006

Team Server: Remote Run functionality

To be honest, I didn't believe that this feature will be implemented in the first version of the Team Server.

But now it is real - with the latest EAP of Demetra and Team Server a developer can integrate and run build with own changes without commiting them to version control system!

The implementation is not perfect - but it works and surely will be improved. On the forum you can read how to setup remote run and discuss this feature as well as its successor - Deferred Commit.


Feb 4, 2006

Unit test for IntelliJ IDEA plugin: load complex project

Recently Hugo Palma had a problem with writing a unit test for his IDEA plugin. What he needed was a custom project configuration with a web module.

Actually, IDEA's OpenAPI does not allow to load project from disk (so far). But there is a way to do it using closed API. I've wrote a small example which shows how to write such a test, but remember, there is no guarantee that this code will work with future versions of IDEA.

You'll also have to add idea.jar to your classpath and use some previously described tricks to make tests runnable.


Jan 18, 2006

Export b2evolution to Movable Type

Just a small note. Recently I've migrated Sashblog from b2evolution to Movable Type. To accomplish this, I wrote an export script for b2evolution database, which prepares data in format Movable Type can understand. The script exports published entries and comments to them.

What's wrong with b2? The primary reason - bad spam protection and publicly available statistics, which opens a hole for reference hunters. Also, MT has a better template system.

UPDATE Nov,20 2011: I've fixed the link to the file, hope it is still useful to someone..