XslCompiledTransform Performance

Have you’ve ever written any code on .NET that does XSL transformations? Here’s another strong reason why you might think of making the jump to .NET 2.0 and start taking advantage of the .NET 2.0’s XslCompiledTransform class.

Anton Lapounov does a comparison of the major XSL transformers out there and the results are eye opening.


If you’ve tried building any of your pre 2.0 applications in Visual Studio 2005, you would have already seen the warning which keeps pushing you to use the XslCompiledTransform class.

The major jump in performance is due to the fact that we’re now using an XSL compiler as opposed to the rest which are all interpreters.

Review: eTickets.lk

Sri Lanka is finally starting to take it’s fledgling steps in moving to the internet. Yesterday, I booked tickets through www.etickets.lk (wow 2006 and finally).

The whole experience was quite good, but it will be a long time before these become mainstream (I’m only talking about Colombo). One impeding factor is that unlike in most other countries, the business model is not ad based instead an additional payment of 25/– is charged for each ticket. Given that these reservations are only available for balcony tickets this is not a major problem because I learned how to sell tickets online a while ago and understand the process.

In addition to this the membership fee costs 250/– but as a promotional offer is free till August 23 (tomorrow). If I were you I would simply create a login for myself just in case. My advise to the company, drop this membership business.

eTickets.lk uses a simple AJAXy interface to show the box plan and allows you to select the seats you want to book and add them to your shopping cart.


The current listing shows only Liberty and Majestic cinemas, but they plan to add more stuff like concerts, theater and seminars.

Oh and BTW the site is developed using ASP.NET, goody, goody!

Windows Live Writer

Microsoft just released Windows Live Writer today and I'm guessing this is going to replace BlogJet as my default editor. Get it here.

Just a quick summary of the features:

  • Works with all great blog tools
  • WYSIWYG (literally), this is done by downloading your style/theme. Your editor shows up just like your actual blog
  • Uploading pictures (wow, just noticed that it has cool effects to apply, like the drop shadow you see below)Auto saving of posts (no more lost ones)
  • more than one account to blog to (alas doesn't support the Group Posting that BlogJet has - the only con)
  • Did I mention that it is FREE!

Skype 2.5 – Outlook Contacts

I’m in love with Skype’s new integration feature with Outlook contacts, now I can pull up phone numbers in super quick time without having to use Outlook’s contact search.


August User Group Meetup

Quick note out to all you guys that we’ve shifted the user group meeting to the Microsoft office at WTC and unfortunately you can only attend if you registered early due to seating issues.

Don’t keep that from holding you back though, feel free to gate crash if you don’t mind standing!

Remember: There will be no UG meeting at Gateway, Borella instead at Microsoft, 31st Floor, West Wing, WTC.

June User Group Meeting

This month’s user group meeting would go down as one of the funnier ones. Imagine me presenting in a pitch dark room with no lights, I only realized how hilarious it was after I saw Wela doing his presentation (mine was the first). All I could see from the back was his black silhouette against the presentation backdrop. I would definitely have been a sight to watch (and not in a good way).

Overall I enjoyed doing yesterday’s presentation which had zero demos, but we really did spend time drilling through the CLR, exception handling, garbage collection best practices with a heavy dose of the IDisposable interface thrown in for good measure.

If you were at yesterday’s session please do leave your comments (both good and bad are equally welcome).

I’ll also post the link to the slide once Wela uploads them somewhere.

Wela’s presentation on CSS, Themes and Skins was quite insightful. I learnt a couple of tricks including Style Hierarchies in CSS as well as the abc’s on ASP.NET Theming.

Automatic Brace Matching

The Visual Studio shortcut of the day is CTRL+] which allows you to jump between two matching braces. The name is somewhat misleading since brace matching works not just for braces but also includes parentheses and all other pair statements like #region - #endregion, #if and so on.

All you have to do is move the cursor to either the left or right of a brace and press CTRL+] to toggle moving between the two ends in the code editor.

A word of warning to Visual Basic users, you guys don't uses braces so you don't get the Automatic Brace Matching feature. Ouch.

On Sex and Linux

I was browsing through my stats pages and came across a couple of pretty interesting findings.

It's quite funny that my blog turns up #1 on Google when someone does a search for 'sex pics' in Sri Lanka.

Next, why on earth does my blog come up #1 before Sanjiva's for 'blog linux Sri Lanka'

A quick search on Live.com gives much better results . On 'blog linux Sri Lanka', merill.net never makes an appearance in the first few pages.

Imagine Cup – Panchayudha Wins!

After a gruelling 3 hours the winners of Imagine Cup ‘06 were announced for the Sri Lanka. It was great to see the time and effort that all the teams had put into preparing their presentations. There were video clips and full 3D animations to convey the solutions they were offering.

Unfortunately although four of the five finalists were from Colombo University, it was the team from Moratuwa University that stole the crown. There were lots of opinions on who should have wont it, and my take on the matter is that although there were better polished and more complete solutions it was the Panchayudha solution which had a unique outlook on solving a real world problem and doing so, they have a better prospect representing Sri Lanka at the global finals.

Kudos to Jina from Microsoft who organized and ran the entire show which went quite well given the logistics of planning an event with over 20 students presenting.

Guidance Automation Toolkit

There were a couple of recent posts in the forum asking what GAT was and how one gets started on using this, so I thought of writing a post to cover the answers.

Let's just take one aspect: Say for example architecting the data access in software solutions developed at your company.

You might define whether it be using CRUD operations or using an ORM. Once you decide on the architecture you want all your developers to follow that methodology along with the best practices.

One way that you give guidance to your developers is through writing a document with all the relevant guidelines. Another option that you could do is build a utility that let's the developer walk through a wizard which would then generate the skeleton or handle most of the mundane things like writing the insert, update sp's and related .NET code.

Now building a utility like this takes a lot of time and effort, this is exactly where GAT fits in. It let's you define the guidance to developers in an easier manner (than if you were to write your own) so that it becomes very easy for your developers to follow the guidance that you have defined. They don't need to read long documents but can instead use the toolkit that you provide.

The best way to learn GAT is to practice it. Try out this HOL (Hands-On Lab: Data Client Application) which walks you through creating a guidance package for generating the data access classes as well as connecting them to a simple smart client.