Thursday, December 22, 2005

Back in Srilanka

Finally i am back in Srilanka after spending time in Seattle and Minneapolis. It was altogether quite an experience and cherish the time spent at Microsoft with an awesome group of people.
But the journey back home was a very tiering one with 3 transits and 2 delayed flights and 2 missed baggages. I had to stay close to 18 hours at Tokyo due to flight delays and at the time of writing this entry my baggages are yet to arrive. Hence i was travelling for the past 3 days and it feels so good to be home finally.

Friday, December 09, 2005

Article on .NET collection management

My article on ".NET collection management: Using generics to manage a collection of objects" is published in Simple-Talk at the following URL
This article looks into the features of the generic List class and its features on manipulating collections better. This is a follow up to the November .NET UG Session I did. As always let me know any suggestions or queries.

Monday, December 05, 2005

My Laptop: Toshiba Satellite M45-S359

I just got my hands on my very own Laptop. I purchased a Toshiba Satellite M45S359 and so far it's pretty good and i dont have any complaints. I sure hope it will survive all the heavy applications i am planning to run on this :-)

Down in USA

I am down in USA and this is my first ever visit here. I reached here on the 3rd morning Seattle time. I got my visa after i was initially refused to attend the MVP global summit. I am down here on a work assignment with Lionbridge and I will be spending the next few days at the Microsoft campus in Redmond.
I would post some pictures after a few days and i might not blog regularly since i would be busy.

Friday, November 25, 2005

Hilarious design pattern love story

I guess this is the height of obsessions with design patterns. Very hilarious

Wednesday, November 09, 2005

November .NET User group meeting

The November .NET user group meeting was held today. I did a presentation titled “Generic Collections: Doing more with less code”. Generics is one of the most exciting features for me in .NET 2.0. Hope the session was informative for everyone and if you have any comments or questions, post a comment here or post a message in the .NET forum

Srilanka .NET Forum - A New look

We have migrated the Srilanka .NET forum from ASP.NET starter kit to Community Server. Had a very rough time migrating the users and posts and we are extremely sorry about the fact the old posts are truncated. We will try to see if we can push the complete posts online soon.
Hope everyone enjoys the new forum.

Looking for a Java IDE?

Java Studio Enterprise is available for free. You need to register to download it. Grab it from
I prefer using Eclipse for java development and have never tried the Java Studio. It looks good and should try it out when i get some time

Tuesday, November 08, 2005

More news with VS.NET 2005 release

More news associated with VS.NET 2005 release:
WSE 3.0 is released that works with VS.NET 2005
Express editions are going to be free for a year

Friday, October 28, 2005

VS.NET 2005 releases are coming

VS.NET 2005 professional and SQL Server 2005 developer edition are available to download for MSDN subscribers. So if you are a MSDN subscriber and cannot wait to get the CD/DVD, then rush to the subscriber download section.

Wednesday, October 26, 2005

New generation Microsoft exams

The new Microsoft exams are going to be released pretty soon and will be more targeted and specific. You can get more details on them at .

Tuesday, October 25, 2005

Article on ADO.NET 2.0 factory classes

My article on ADO.NET 2.0 factory is classes is published in simple-talk at the following URL
If there are any questions or comments let me know.

Wednesday, October 19, 2005

NHibernate 1.0 released

NHibernate 1.0 is released finally and it’s not a beta product anymore. Get more info at 
Also check out some supporting projects available at including support for Generics

CDNUG is an INETA member now

The Colombo .NET user group is now a member of INETA. So we have some very exciting news and announcements as part of the user group. Dont miss out the next user group meeting cos there are loads of surprises in store

Tech-Ed a review

The first ever Tech-Ed concluded last friday and it was pretty good. I didnt attend much sessions except for William Tay’s presentations on indigo and web services. I really wanted to attend this session and was looking forward to it and was not disappointed one single bit. His thoughts on compensating transactions is really something to think about. One problem was for the presentation on indigo the time alloted was just not enough.
Apart from that I got to attend the session by Gaurav Khanna on Developing high performance applications which was also very informative.
The MVP and .NET user pavillion was good and allowed us to pass the information on the Colombo .NET User group and information on Microsoft communities. Got to meet lots of .NET enthusiasts and was very enjoyable talking to them. Our MVP lead Lilian also joined us from Singapore for a short visit.
You can check the blogs of the other MVPs for some detailed review and some pictures. Mahasen also has a good review on the sessions he attended on Day 1 and Day 2

Sunday, October 09, 2005

Re-awarded as MVP

I am re-awarded as a MVP for another award year starting from this month. The past award year was very rewarding and it opened up many avenues for me and provided me more ways to share my knowledge around the Microsoft.NET platform.
And as for this year, got a few things planned out that i want to do and i will keep them posted on this blog as and when it happens.

Tuesday, October 04, 2005

Java-Champions for Java as MVPs for Microsoft

Seems like Sun Microsystems has launched a program named Java-Champions to recognise leaders in the java community.

A free SQL dependency viewer

SQLDependencyViewer is a handy tool from Red-Gate that shows the dependencies between objects in your database. A dependency diagram is produced that gives a view on how the objects in your database are interlinked. One feature i really like is, when you click on an object in the generated diagram it shows the objects depending on it and objects it depends on in different colours making it very easier to comprehend.
Filtering and selecting objects and saving the generated images are a few features that will make it more useful but nevertheless it is a good tool to have and it is free. Check it out at the following URL

Tuesday, September 27, 2005

Lessons for Businesses from open source and blogs

A very interesting read on what businesses can learn from open source and blogs

Article on custom events in VB.NET 2005

My article on custom events in VB.NET 2005 is published in the simple-talk journal at the following URL
This article shows various options of handling events in VB.NET and introduces the new custom event construct available part of VB.NET 8.0

MVP Global summit missed out

I was looking forward to attend my first MVP global summit but unfortunately will be missing out this year. The US embassy refused to provide visa and was under the conclusion that going to the MVP global summit was not a valid enough reason to visit USA.<Sigh>
On the bright side i will be here for the first ever Tech-Ed to be held in Srilanka. So if anyone do attend it, feel free to pop in and say hello at the dot net community stall. I would be very much interested to discuss anything under the sun especially topics related to dot net.

Tuesday, September 20, 2005

.NET 3.0 More mind blowing

If you thought .NET 2.0 had a lot of new features wait till you see what's in store on C# 3.0 and  VB.NET 9.0 (.NET 3.0). Some of the hottest stuff coming in are:
Anonymous Types
Inferred Types
Extension Methods

Get more information at

Tuesday, September 13, 2005

E-bay to acquire Skype

Looks like E-bay is planning to acquire Skype. Read more at

Monday, September 05, 2005

Article on creating debugger visualizers using VS.NET 2005

My article on creating debugger visualizers using VS.NET 2005 is published in the simple-talk journal at the following URL
This article looks into the concept of debugger visualizers and shows you how to create your own debugger visualizers. The sample code on creating an image debugger visualizer is included with the article. Let me know if there are any suggestions

Non OO programming using an OO language

I am pretty sure lot of us would have come across applications where non OO design and coding was applied to an OO programming language such as C# or Java. Inherently a lot of code was done in a structured method and the only thing OO about the code is the fact the methods were inside a class definition.
This usually leads to a whole lot of problems when someone tries to change something. The biggest principle i like about OO code is when it is done in a "closed for modification and open for extension" principle. The need to test code that is already tested can be avoided greatly. Is there any justification to using an object oriented language such as C# or Java and not use proper object oriented practices or coding patterns?

Friday, September 02, 2005

Happy Blog-Birthday to my Blog

This is one year completion for my blog on the internet. It was the same date last year when i decided to start a blog to rant and ramble whatever i like and things i do. So for everyone who have ever come to my blog thanks a lot for keeping company.

Hurricane katrina

My deepest sympathies to all the victims of the Hurricane Katrina and its aftermath. Being in Srilanka I know the problems our country went through when the Tsunami happened … Some things are just way beyond our control

Tuesday, August 30, 2005

WinFS beta 1 released

Looks like the WinFS beta 1(the next generation relational file system) is released and is available for MSDN subscribers. It runs on Windows XP with SP 2 and requires the .NET 2.0 framework version 2.0.50215.322

Wednesday, August 24, 2005

Google Talk

Google has entered the world of IM as well with their Google Talk software. Check it out at
And on a related note MSN messenger 7.5 is also released and you can download it from

Wednesday, August 17, 2005

C# and VB.NET Language Specs

I keep on forgetting the URLs to download the language specs. So hence I am posting them here
C# 2.0 language specs
VB.NET 8.0 language specs

Blogging using MS Word

I am posting this entry from the Blogger addin for MS Word. Once this addin is installed you can use MS Word to write your blog entries and post them directly. You can download the addin from

Friday, August 05, 2005

VS.NET 2005 Beta 2 extensions for WinFX Beta 1

Visual Studio 2005 Extensions for WinFX Beta 1 is released for download. This enables you to build WinFX applications using VS.NET 2005. You can download it at this URL

Open Source Software Conference in Srilanka

Asia’s premiere free and open source software conference is to be held in Srilanka from the 7th to the 10th of September. There are some big names and leaders from the open source software community attending it. You can find more details at

Thursday, August 04, 2005

101 Code samples in VB.NET 8.0 and C# 2.0

Download 101 code samples for Visual Studio.NET 2005 in VB.NET and C# at the following URL


August .NET User group meeting

We had the August .NET User group meeting yesterday. The audience was relatively small compared to the other days. I did a session on “The art of refactoring” and here are a few resources on refactoring:
Refactoring:Improving the design of existing code (Book)
And on a related note here are some tools to do unit testing:

Tuesday, August 02, 2005

Article on getting schema information using ADO.NET 2.0

My article on getting schema and metadata using ADO.NET is published in the simple-talk journal at the following URL 
This article looks into getting schema and metadata information using ADO.NET 2.0 with examples using SQL Server 2000 and Microsoft Excel. Let me know if you have any comments or suggestions.

Thursday, July 28, 2005

Windows genuine advantage: A must not beta

Just noticed something when i tried to download the WinFx sdk from the Microsoft web site. I was required to validate my windows installation prior to the download. Usually this process is optional but today it was mandatory. After doing some search found out the validation process was made mandatory along with the launch of Windows genuine advantage 1.0
You need to do this process only once and after the first time a key will be stored in your  machine for subsequent downloads.
You can also find a FAQ on Windows genuine advantage at

Are you a Windows Vista developer?

Starting or thinking about starting development on Windows Vista? Check out

Let the Beta begin...Woohoo

A handful of beta products are out from Microsoft and I am waiting to get my hands on them as soon as possible.
Windows Vista Beta 1
Internet Explorer 7 Beta 1
WinFX Beta 1(WPF,WCF)

Indigo and Avalon name changes

The beta 1 of Avalon and Indigo are released. Avalon has been named as Windows Presentation Foundation(WPF) and Indigo as Windows Communication Foundation(WCF). You can download the latest bits at the download URL

Wednesday, July 27, 2005

Escape from Yesterworld

Kinda silly humour but nevertheless interesting.
This is part of the marketing campaign for VS.NET 2005 and SQL Server 2005…

Ever wondered how a software bug feels and thinks

Give a little life to the software bugs you encounter and make it talk and think and have discussions with other bugs. Thats exactly what happens in the blog by Kazem Ardekanian. The cartoons are real fun and interesting. Do go and check his blog to find more like the one below:
First Bug

Migrating web applications to ASP.NET 2.0

If you are migrating your web applications to ASP.NET 2.0 be sure to check out the following MSDN article:
ASP.NET conversion issues and solutions
Also check the upgrade centre at MSDN

Monday, July 25, 2005

Need more java: Call to Sun bloggers

I am  subscribed to the sun blogs from Sun Microsystems as well as MSDN blogs from Microsoft. The MSDN blogs always have good content each and everyday on the new technologies and good useful information and code snippets on the development on the Microsoft.NET platform. But i rarely see any good content on Java in the Sun blogs. I really don't understand why the blogosphere is not used by Sun compared to how much Microsoft is using it in the MSDN blogs.
I know there are good communities providing lot of info on development on Java but i do feel more blogging on Java by the people implementing new features and version will give it a big boost. Sun you need to take a note on this from Microsoft.

Windows Vista: The official name for Longhorn client

Microsoft has officially named the next generation windows operating system code named longhorn as Windows Vista. This applies only to the Longhorn client. Check out the following URL for more details:
Well personally i still like Longhorn and it will take quite some time to get used to using Windows Vista instead of Longhorn

Monday, July 18, 2005

Changes to the MCP program

There are quite a few changes in the MCP program with more specialisation in various areas. You can read more about it at:
So the upgrade for me is to target the “Microsoft Certified Professional Developer – Enterprise Developer” from my current MCSD. So thats two Microsoft exams to be done end of this year.

Wednesday, July 13, 2005

Article on ADO.NET DataSets and Partial classes

My article titled “ADO.NET DataSets: Using partial classes to make intelligent datasets” is published on the simple-talk journal at the following URL
This looks into one usage of partial classes to include business logic without getting in the way of the generated code of the typed dataset.

Tuesday, July 12, 2005

Naming changes for the Java editions

The names of the java editions have been changed to be more uniform. The “2” is dropped from the names J2SE, J2EE and J2ME. The standard, enterprise and mobile editions will be known as:
Java Standard Edition (JSE)
Java Enterprise Edition (JEE)
Java Micro Edition (JME)

Friday, July 08, 2005

Sage: A rss reader for Firefox

Check out Sage, a real cool rss reader that integrates into Firefox. After installing Sage you can add your feeds to the Sage Feeds menu under Firefox bookmarks. There is also a good wiki site on using Sage

Thursday, June 30, 2005

MS AntiSpyware and Unit testing

I was just trying out the unit testing feature in VS.NET 2005 but had a problem with MS Antispyware blocking the auto created batch file every time i run my tests. And when i get the prompt from MS Antispyware asking me whether to allow or block the script, by the time i click on allow the script the test already fails. Since the name of the auto created batch file is different every time there was no way to make MS Antispyware allow just that batch file. I guess the only thing to do for now is to disable MS Antispyware every time i run my unit tests...
And according to the post at MSDN forum this seems like the only solution for now

Sunday, June 26, 2005

SCJA Beta experience

I did the SCJA beta exam today. It was relatively easy but i still feel it’s quite different from SCJP. SCJP tests very deep in your core java skills. But SCJA tests the overall understanding on the entire java platform (standard, enterprise and mobile) as well as other related technologies often used along with java such as UML, XML and HTML. But the important factor is the exam doesn’t go very deep into these technologies and just tests your understanding of these technologies.
If you want to certify that you have a good understanding of the overall java platform and the kind of applications you can develop using various editions of java and you understand how other technologies such as XML and HTML etc works along with java and to show you can interpret basic UML diagrams the SCJA certification is ideal. But if you want to show your expertise on core java then go for SCJP.

Thursday, June 23, 2005

Global error handling for Windows applications in .NET

Just had a situation where there was a need for a global error handler method for windows applications in .NET. This handler should be invoked whenever there is an unhandled error raised in the windows application.
A way to do this is handling the ThreadException event of the Application object.

For example:
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
 Application.ThreadException+=new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
 Application.Run(new Form1());

private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)

Maybe there are other methods of doing this as well. But for a single threaded application this seemed ok.

Wednesday, June 22, 2005

Article on NHibernate

My article titled “Data access using NHibernate - Solving the object relational mismatch” is published in the special supplement on Enterprise .NET-SDA-Asia magazine June/July issue. This article looks into using NHibernate the open source .NET ORM tool in creating database aware applications. The SDA-Asia magazine is a bi-monthly magazine for the IT community distributed in Asia.

Dilbert cartoons

How many of you are fond of dilbert cartoons? The crazy workplace humour is really one of my favourite cartoon strips. I got hold of the rss feed for the daily dilbert cartoon and subscribed to it and receive a strip each day. So for anyone fond of dilbert, subscribe to the following rss feed:

Doing my MSc in IT from Keele

Started doing my MSc in Information Technology from the university of Keele. So after a very long time it's back to juggling studies and work...
Hopefully will be able to finish it off without any interruptions

Writing poetry

One of my favorite activity to spend time used to be reading and writing poetry(though I am very average in writing poetry) and I really like to learn to write haikus(haikus are very short poems of 3 lines usually of 5,7,5 syllables, with a twist in the last line. Even though it's just three lines a good haiku can give u a feeling of reading a very interesting novel in itself). So if anyone comes across on some good resources or books on writing haikus please post a comment here.
On the publishing side two of my poems are available at titled "The Mask" and "From My Hearts Core". And the poem titled "From My Hearts Core" was published in a couple of poetry editions. But it has been a very long time since I did write anything else after that (a good 2 to 3 years)

Article on Transactions in .NET 2.0

Another one of my article introducing System.Transactions namespace part of .NET 2.0 is published in the simple-talk journal. If there are any suggestions do let me know.
Check it out at the following URL:

Minor tweaks to my blog

Changed a few stuff on my blog such as changing the MVP logo from the old one to the new one (though i felt personally the old one one looked better than the new one). Also changed my atom feed to include my full blog entry rather than just a part of it. Made the rss smart feed from feedburn also available through auto discovery.
So at the moment i have two feeds exposed in my blog which i dont think its a very good idea. So until i find a way to redirect anyone subscribed to my atom feed to my rss smart feed i will be sticking with both feeds in my blog.

Tuesday, June 07, 2005

Interview with our MVP lead

Technet web site featured an interview with Howard Lo our MVP lead about the MVP program. Check it at

Monday, June 06, 2005

Beta 1 RC???

Well when i downloaded the bits of indigo and avalon beta 1 RC, i was kinda confused. How can beta 1 be a release candidate? Or is it going to be just one beta and the next release is the actual version? Things became a bit clear after reading the blog entry at codebetter.
So quoting from the blog entry for anyone who was confused as me:
Beta 1 RC is available - "It's a feature complete version for Beta 1"
Beta 1 for Indigo (the real Beta 1, not the RC of Beta 1) is coming in
"Summer, 2005"

Monday, May 30, 2005

Connected systems developer competition

Have you already started creating cool applications using Visual Studio.NET 2005 and/or SQL Server 2005? Then show off your innovative ideas in the connected system developer competition for a chance to win $50,000
More details here

SCJA beta exam for free

Sun certified java associate is an entry level certification testing your skills on the basics of java and object orientation.
Since this exam is just being introduced interested people can take the beta exam for free and the registration opens on the 1st of June. The exam is for 3 hours with 122 questions(This is because it's a beta exam)
Check the following URL for more details

Thursday, May 26, 2005

Breaking changes in .NET 2.0b1-2.0b2 and 1.1-2.0b2

Download a list of breaking changes from the earlier .NET versions to the current 2.0 beta 2 version in help file format. This will be helpful for anyone planning on migrating to the 2.0 version

Wednesday, May 25, 2005

Avalon and Indigo beta kits released

Now you can download the beta kits for avalon and indigo from the following URL:
Well i really want to get my hands dirty on this but i am packed with things need to be done for the next few weeks. So i guess i have to put it down on my "Try it later" list...

Monday, May 09, 2005

SLIIT Presentation on Microsoft.NET and VS.NET

Yesterday did a presentation for the university student of SLIIT on the Microsoft.NET platform and the Visual STudio.NET IDE. This is the first time i am visiting this university and it really has a good infrastructure. I was given a tour around the university and it is well equiped and good facilities too.
As for the presentation it went ok i guess. It was more on an introductory level and most of the students were not exposed to the .NET platform much. I hope they gathered enough background to start exploring the .NET platform further.

Article on VB.NET 2005 new features

My article on introducing the new features of VB.NET 2005 is published on the Simple Talk technology journal. Check it out at the following URL:

Thursday, May 05, 2005

.NET show reaches 50 and features Bill Gates

The .NET show as you know has downloadable videos with news and interviews on microsoft technologies. It has reached the 50th episode and features a special interview from Bill Gates.

Wednesday, May 04, 2005

Peek .NET 2005: Untangling Connection strings

Did you ever thought about instances when the conection string becomes messy and why it is just not OO. And did you ever come across problems of extracting certain information out of your connection string?Well .NET 2005 has a cool way of doing this with the introduction of connection string builders. It allows you to create the connection string by setting properties to the connection string builder objects and then extracting the connection string from it. You can also pass in a connection string and extract information out of it easily.

For example:
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.ConnectionString = "workstation id=PRASANNA;packet size=4096;integrated security=SSPI;data source=PRASANNA;persist security info=True;initial catalog=SampleDB";

This will display the initial catalog("SampleDB") extracted from the connection string using the SQL Server specific connection builder object. Now that looks much cleaner that writing code by splitting the connection string and so on. There are different connection builders available for different supported RDBMS as well as a generic connection string builder.

VS.NET 2005 Really Rocks

I installed VS.NET 2005 beta 2 provided during the asian summit today and i am hooked on to it. There really is a whole lot and i do mean a WHOLE LOT of features to look at. I will blog more about the interesting features i come across

Sunday, May 01, 2005

Parting thoughts after the summit

Well the final day we left from the Oriental hotel after the MVP summit and decided to roam around in Singapore for one extra day.
Just to summarize on things it was really great getting to meet a few of the people behind the products from Microsoft and the fellow MVPs from various countries in the asia pacific region. I am pretty sure the MVP global summit will be even bigger and i hope i will be able to spare some time to attend it in september

MVP Asian summit day 4

Today was the final day of the summit and we had a few more sessions on .NET 2005.
Later We had a beer party in the evening at the river front in singapore. It was fun and had a few beers. Got to have a good conversation with Justin (Triplez) and though it may sound weird but we were talking abt generics and C# over beer (thats what i really loved about the summit. It was something common and not something strange to talk about geeky stuff). And
Triplez is really into any programming languages with the curly braces and thinks the curly braces has more curves than a woman.
And then only i got to know Howard our dear MVP lead is on a reality show called eye for a guy. He is trying to win over the gorgeous VJ Denise Keller. So i gathered with a few MVPs and we were watching the show in the night.

MVP Asian summit day 3

We started off with some training presentations on the developer track. Todays sessions were mostly focused on VS.NET 2005, code named whidbey.
Later we were taken to a big shopping mall where we just roamed around and did a bit of shopping. It was a bit of a boring day comparatively with the other summit days.

MVP Asian summit day 2

Today was the opening sessions on the MVP summit and we had the summit conferences at the Suncity hall. It was a full day event today with some keynotes from some Microsoft officials. The event was launched with some hefty drum beatings. Got to meet Cally Ko the regional director for the MVP program in south east asia and Sean O'Driscoll the global director for the MVP program.
Later after the first day sessions we went on a night safari to the Singapore zoo. There were a few entertainment shows as well including performances from belly dancers and a fire eating show. I took some pictures with a big live snake around my neck. Though it didn't feel weird while i was holding it, felt really weird whenever i think of it later

MVP Asian summit day 1

Arrived in Singapore at around 2.30 pm with the rest of the MVPs from Srilanka. We arrived at the Mandarin Oriental hotel the official hotel for our stay in Singapore. We had the registration for the 4 day event as well as a cocktail party in the evening.
During the cocktail party met up with a few Singaporean MVPs including Justin (Triplez) and Serena Yeoh (Firedancer) a Malaysian MVP. Also met William Tay a Singaporean MVP specialising in web services ( He wrote a real good article on the MSDN site titled “Routing Secured SOAP Messages Through Multiple SOAP Intermediaries Using WSE 2.0” ).
Later got to see an unofficial demonstration of the Paladin framework from Firedancer, along with a few singaporean MVPs over a cup of coffee . For those who dont know what Paladin is, it is a framework developed by Firedancer, enabling you to rapidly create applications in a more OO manner and without SQL statements. So anyone interested on this framework can download it from the gotdotnet web site. Though it is in alpha it has a great potential to be a very successful framework.

Back in Srilanka

Returned day before yesterday after the MVP Asian summit. Got to interact with lots of MVPs around asia pacific and with a few Microsoft employess as well. The theme for this summit was "Get Connected" and had ample opportunities to get to know many fellow geeks.
I'll follow this post with the event summaries of each day i wrote while i was there and probably update them with a few pictures as well later. I am not sure i am allowed to blog about the sessions because of the NDA with Microsoft though...

Saturday, April 23, 2005

Flying tomorrow for the MVP asian summit

Myself and all the rest of the local MVPs are flying to singapore for the MVP asian summit. This is the first time i am attending a MVP summit and cannot wait to get there. I will follow up this post with my experiences at the summit after i return back. I doubt whether i will be posting anything for the next few days though

Passed SCJP 5.0 beta

Got to know i passed the sun certified java programmer for the 5.0 beta platform. The score sheet will be coming a bit late i guess so not sure on how much i scored. Thanks a million to all the folks at Javaranch.

Thursday, April 21, 2005

E-learning from Microsoft

Microsoft has launched an e-learning site allowing developers to learn new technologies in their own time and space. It's free and the first of the course on "Windows Server: Taking Advantage of 64-Bit Computing" is announced. Visit the following URL for more details

MCAP a new certification for architects

Microsoft is introducing a new architect certification named MCAP. Just looking at the descriptions it seems like more than just doing a few exams and obtaining the certification as it will have more rigorous testing.

Wednesday, April 20, 2005

Why certify?

Certifications are pursued by different professionals for different reasons. And there is always various arguments about the worthiness of certifications and what it achieves for an individual. So i just thought about doing a post on my point of view and whether it was useful.
For me doing a certification is motivating myself to prepare for something. For example when .NET came into the scenario i started to prepare for my MCSD on .NET since it was a very good way to make myself aware of all the nitty gritty details on .NET. I always viewed certifications as something that provides me the confidence and proves i have the minimum knowledge on using a particular technology or a product. But it isn't or never will be a replacement for experience. You have to view both as different aspects and view certifications as adding value to your experience.
So was certifications helpful to me. Yes a lot and it has motivated me enough to continue to keep myself upto date in the IT industry and technologies i am interested in.
Just my 2 cents...

Coding4Fun using .NET

If you are a hobbyist developer or someone who likes writing cool software for fun in your spare time check out the following site

Monday, April 18, 2005

SCJP 5.0 exam released

The Sun certified java programmer for the 5.0 version is released now. So anyone getting certified can target the new version
For full information go to the following URL

Blogmap: Neighblogs (blogs close to me)

Blogmap uses Microsoft map point to bring you the location of the blogger. It's used to display the map of my blog location in the side bar. Currently new apis are added and exposed through web services for you to do more cool things.
For example the following link displays all the blogs close to me with blogmaps
Blogs close to me

Visual Studio.NET 2005 beta 2 released

VS.NET 2005 beta 2 is released and is available to download for MSDN subscribers.
Check it out at
And if you are planning to create and deploy applications based on the .NET framework 2.0 / Visual Studio.NET 2005 beta 2 read the details about the go live license at the following URL

Thursday, April 14, 2005

Wishing all a happy sinhala tamil new year

Wishing everyone i know a very happy and peaceful new year. May all your dreams and wishes come true.

Monday, April 11, 2005

Commenting on blogs

Why should you leave comments on a blog you read?
Commenting on blogs is as powerful as blogging itself.
If you dont have a blog and are not planning to have one (I'd strongly encourage to create one though) but if you are a frequent reader of blogs then you can make a huge presense on the blogosphere as an ardent reader. So leaving comments is similar to blogging in making your presense felt on the blogosphere.
If you do have a blog and you make it a practice on reading a lot of blogs then your comments will help you and your blog get notified in the blogosphere. Those are the traces to people who still have no idea about your blog. This is pretty much like linking to a blog and ends up creating a very powerful huge network of blogs.

Sun Microsystem discounted exam voucher

Just got an exam voucher providing me 75% discount for any Sun Microsystem exam for participating in the Sun certified java programmer 5.0 beta exam. I wonder which exam i should use it for and at the moment either it's going to be the mobile application developer exam or the web component developer exam.
Then again the voucher expires next year so i have ample time to think over it

Thursday, April 07, 2005

Learning something new

The IT industry is always a rapidly changing one. What you have and know today might become totally irrelevant tomorrow. So there is always a need to either learn or understand a particular new tool or library. The best way to start learning a new technology, tool or library is to start small and slowly increment the features you want to learn.
One approach that is useful is to use test driven development as part of your learning process( test driven learning) cos it has the attributes "start small and slowly increment" fitted in naturally. For example if you expect the library you are experimenting to do something, then write a test for what you expect and then implement your code to see if what you assumed is correct. So in learning new .NET libraries you can use NUnit for your test driven learning purpose. This is much better and easier to manage than doing a sample application to understand a new library.

Getting the project directory structure right

Whenever you start a new project the first thing you do is get the project directory structure in place. Seperating out the libraries, the source folders, the bin folder and getting all the required libraries together in place everytime can be a pain.
You can try out TreeSurgeon from ThoughtWorks (the same guys who bring you Cruise Control) to set the directory structure for your projects.
This project is based on the article on "How to setup a .NET Development Tree"

April .NET user group meeting

Yesterday was the first wednesday of April and we had our .NET user group meeting yesterday. I did a presentation on the ever popular ORM library NHibernate . This is a direct port of the Hibernate library for java version 2.0.3. Though still in beta this is quite stable and has a lot of potential.
As i promised I am uploading the presentation as well as the sample code for anyone interested to download and try out. The sample application is just a small demo just to show the basics on NHibernate with all parts of the application inside one project. In a real project you should seperate the business logic the data access layer and the user interface. If you have any questions or comments on getting started with NHibernate just post a message on the dot net forum.
These are just a few of the links i mentioned about:
NHibernate query analyzer
NHibernate quick start guide
NHibernate forum posted questions in chm format

[Update] There is a review at Merill's Blog

Wednesday, April 06, 2005

Cruise Control.NET 0.9 released

A new version of Cruise Control.NET the continuous integration server is released. You can download it at the ThoughtWorks URL below

Monday, April 04, 2005

Webcasts on SQL Server 2005

Howard informed about a few web casts on SQL Server 2005. Details as follows:

Discover how Microsoft SQL Server 2005 offers database developers the optimal combination of a tightly integrated development and data management platform. The rich and flexible programming environment in SQL Server 2005 allows you to leverage your existing skills and utilize familiar tools to build robust, secure, scalable applications.

Register today to learn how the integration of the ..NET Framework in SQL Server 2005 provides several major benefits, such as an enhanced programming model, enhanced safety and security, user defined types and aggregates, and a common development environment that integrates database development into the Microsoft Visual Studio 2005 development environment. In this series, we cover:

.NET Framework Integration: Learn how you can now take full advantage of the Microsoft .NET Framework class library and modern programming languages to implement functionality within the server.
Transact-SQL and Managed Code: Find out how to decide between using traditional Transact-SQL or a programming language that is compatible with the .NET Framework, such as Visual Basic .NET or C#. Understand where each method provides benefits and how to design for this in the beginning.
Web Services: See how to develop XML Web services in the database tier, making SQL Server an HTTP listener.
XML: SQL Server 2005 contains deep native support for XML. Learn how this can significantly help as you develop applications that make use of XML.
Data Access: Discover how ADO.NET 2.0 not only supports all of the new SQL Server 2005 features but also enables productivity and performance gains for all developers.
Register for the SQL Server 2005 webcast series to learn more.

Bonus: Attend a webcast in this MSDN series and complete an evaluation to receive the most current version of SQL Server 2005 Beta software on CD. Attend at least three MSDN webcasts in this SQL Server 2005 webcast series and submit evaluations and you will receive a SQL Server 2005 T-shirt*. And by attending a live webcast in this series and submitting an evaluation, you will qualify to win a Portable Media Center (official rules) pre-loaded with our best webcasts!

Registration link:

NUnit, debugging your test code

When using Test driven development for developing libraries, the code that you develop are usually accompanied by test code written to test your production code. So at times you might need to set breakpoints to debug the test code you write. The easiest way to do this is change the debugging option of your test project by setting the Debug Mode as "Program" and the Start Application to the NUnit GUI in the project configuration. So the next time you run your class library containing the test code in debug mode the NUnit GUI will be invoked. When the tests are run the code will break properly at the set breakpoints.
All this time i was attaching the debugger to the NUnit GUI process when i wanted to debug my test code but setting up the project configuration to invoke NUnit GUI seems like a better approach.

Friday, April 01, 2005

April 1st Specials from MSN and Google

Try out MSN Search Spoof to get some quite funny search results and once you are done with it drink the amazing Google gulp refreshing drinks

Wednesday, March 30, 2005

Nice programming language

Ever heard of the programming language called "Nice". It has a construct very similar to java but with some advanced features such as parameteric classes and compile time detection of run time errors such as NullPointerException.
And you can make it access java libraries and vice versa. It produces byte codes and hence requires just the jvm to execute the programs.
Check it out at

Ethical software engineer

Just saw the following quote at the web site

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. (Nathaniel S Borenstein)

It's such a thin line between being ethical and unethical

Tuesday, March 29, 2005

Sharp tools and plugins for VS.NET

This is a really cool set of plugins and tools for Visual Studio.NET. Check them out at
I especially like the RSS blog reader plugin. This enables to have a nice rss reader integrated into your Visual Studio.NET developer environment.

Tsunami sirens but luckily no impact

There were warnings on tsunami yesterday night after an earthquake measuring 8.5 on the richter scale struck Indonesia. Luckily there was no tsunami after the earthquake but still there was a warning issued for countries who suffered heavily during the tsunami disaster in december last year.
Spent the whole night watching TV and today apart from feeling a little tired due to lack of sleep things are back to normal again.

Monday, March 28, 2005

Change of jobs and project types

Started work from today at Business technology alliance after resigning recently from Softlogic information systems. I will be using a lot of C# web applications opposed to doing VB.NET windows and mobile applications at my previous work place. Hence got to focus more on ASP.NET these days...

Friday, March 25, 2005

Book: Head first design patterns

Finally got hold of a copy of Head first design patterns authored by Eric Freeman, Elisabeth Freeman, Kathy Sierra and Bert Bates. I was looking for a refresher on design patterns and this book was just perfect. It had the same "head first" approach introducing design patterns in a brain-friendly way making the entire book very easy to read and understand.
So if anyone wants a good book on design patterns i'll strongly recommend this. It's good as an introduction material as well as a good refresher to make those design patterns really stick in your brains.

Evening party with MVPs and Microsoft

Had an outing yesterday with the guys at the local Microsoft office, the MVPs, Ed and Stan from Microsoft Singapore. It was fun which involved going bowling (I do have to admit i am not good at bowling at all hence preferred just being a spectator) and playing pool (I really suck in this as well but still played a bit)

Imagine cup judging

I was a part of the judging panel yesterday along with Ed from Microsoft, Dr Emerik Fernando, the CEO of Celtell, Merill and Wela to select the first round finalists for the Imagine cup software design category. There were some quality proposals and hopefully they will be crafted and fine tuned into some excellent software. And the best one out of the finalists will be making it to the international competition.

Tuesday, March 22, 2005

LiveMessage alerts added

I just added live message alerts to my blog. This will enable anyone interested to subscribe to my blog via e-mail or MSN alerts. Just click on the LiveMessage alert icon to sign up...

LiveMessage Alerts

Friday, March 18, 2005

Google code - open source software

Google releases source of a few projects used internally. You can check it out at the following URL:

Thursday, March 17, 2005

Do we still need support for VB6?

With the announcement that Microsoft will stop support for VB6 from the end of this month (Extended support will still be available for the next 3 years) , it has caused some stir on the MVP community as well as VB classic developers. There was a petition launched recently as well to support this with a lot of VB MVPs signing it.
Well personally i dont think there is a need for this. It's true that a lot of systems have been developed in the past in classic VB and they are still up and running but the fact that the language has matured with good features is something we have to accept. I dont think there is any point in supporting VB6 for future developments. I am not sure It's such a good thing to do.
Microsoft has made an investment on the .NET platform and it's a great platform to work with. If a company has made significant investment on software products developed using VB6 it should just run as it is. But still that does not justify a reason for the support for VB6 to go on and there will be more problems if VB6 and VB.NET do co-exist.
The right way of approaching this is to start migrating the VB6 applications slowly. The major problem will be if the VB6 applications were not architectured properly into business objects and data objects and so on. In that case i do accept the fact the migration process of the application will be a pain, but we got to understand that is a fundamental flaw.
Still there are clipper or cobol systems running and if it is serving the business process perfectly let it run. But lot of companies started revamping their system knowing they will come to a point where the system might not be able to adapt to their changing business process. So the number of systems running on clipper or cobol or similar languages started to diminish. I feel that should be the same thing that should happen here as well.
Then again this is my personal opinion on this issue and maybe i am not seeing it from the point of view of someone who feels Microsoft should continue support on VB6. But one of the first thing you do learn in this industry is the fact that the only thing constant here is change. Requirements, business processes and technologies all change with time, so the key here is software applications, developers and users all need to change as well.
But if any do have supporting or opposite views on this i'd be glad to know.

IE 7.0 code named Rincon

Some news about the new version of IE to be released is out. Read more about it at,1995,1776290,00.asp

New java certification exam SCJA

A new java certification exam is going to be released soon named "Sun Certified Java Associate" tageting entry level java developers. This will cover the basics on object orientation as well as the java platform as on how various java technologies interact together. This certification is meant to be a stepping stone for newbie java developers
You can find more information about it on the thread going on at javaranch.

Wednesday, March 16, 2005

Top ten APAC countries for Imagine cup

This is awesome news. Srilanka is in the 6th spot on the top 10 countries list for imagine cup. This list is based on the total number of registrants for the competition. Srilanka has 147 registrants as on March 15th and thats a very good figure considering Srilanka is participating for the first time in this global competition.
Cheers for all the participants and wish them all the luck for the global arena which i am sure Srilanka will make a big impact

Tuesday, March 15, 2005

MSDN hard drive pilot program

Finally got my MSDN hard drive with preloaded software from Microsoft after the long wait due to some hold up at the customs. Still didn't get the time to connect it and use it and i'll blog more on it after i use it for some time.

Thursday, March 10, 2005

Simulation in MCP exams

Microsoft to introduce simulation technology in selected MCP exams to test real world skills. You can read more about it at

MSF for Agile Software Development Workbench online

Earlier i blogged about MSF going agile in the following post:
Now the MSF for Agile Software Development Workbench is online with articles and presentations on the MSF agile process. You can download the MSF for Agile Software Development, Beta containing the guidelines and details about the process.
Now i really cannot wait till the VS Team system is released...

Tuesday, March 08, 2005

Free exam retakes on MCP exams

Merill had blogged on Free exam retakes on MCP exam offer from Microsoft. Will be a good opportunity to get certified and can be more confident with a safety net in place with this offer. Read more about it at

Sunday, March 06, 2005

My first MSDN magazine article

The article i wrote on "Test driven development" is published on the Feb edition of the MSDN magazine southeast asia edition (2005-VOL 3). I was waiting for my copy to come home and i received it a few days ago. It was nice to see my article on the MSDN magazine and on a topic i enjoy doing a lot. So if anyone do get hold of a copy of the magazine and read the article tell me what you think of it.

MVP asian summit in Singapore

Exciting times for the MVPs with the announcement of the MVP asian summit to be held in Singapore from April 24-27. This would be a great opportunity for all MVPs to get some good interaction with the Microsoft product teams as well as MVPs from other countries. I have made up my mind definitely to go for the summit and as far as i know all MVPs here in Srilanka will be attending it. Hopefully i'll be able to arrange a few days off from work for the summit.

March .NET user group meeting

Missed out on the user group meeting this month since i was out of the country. Merill had done a presentation on the Enterprise library from Microsoft which is a combination of all the application blocks put together as a single reusable library. Since i am also just starting to use it i would have got a good insight on this but unfortunately had to miss it.

Ants profiler 2.1 beta released

Ants profiler 2.1 beta was released a few days back. Ants profiler is a code profiling application to analyze the code execution time and memory usage. This is one of my favourite tools from Red-gate since i started evaluating Ants profiler 2.0 as part of the friend of Red-gate program. Red-gate creates development tools for .NET and SQL Server. I still didn't start testing out the new beta version of Ants profiler and hoping to start using it from next weekend.

Back in Srilanka

Finally back in Srilanka after the short visit to Melbourne. Feels good to be back home. Lots of exciting things are in line and i'll blog about them later...

Friday, March 04, 2005

Knighthood for Bill Gates

Bill gates has received an honorary knighthood from the Queen. Read more about it at

Tuesday, March 01, 2005

Hibernate 3.0 released

Hibernate the popular ORM(ORXM rather) library for java is out with a new version. You can read more on the following link:

This is exciting in the java development arena since it also contains preview for the JBoss EJB 3.0. Just looking at the enhancements i feel this will be a great library to use for persistence.

I really can't wait for NHibernate to mature to the level of Hibernate. But with already the work being done on NHibernate i think it wont be long before this happens.

Friday, February 25, 2005

Microsoft might release SQL Server source

Microsoft is thinking about releasing their source code of SQL Server as part of their shared source licensing program. Read more about it at:

Thursday, February 24, 2005

Oracle developer tools for Visual Studio.NET

When developing applications using VS.NET and SQL server you can do lot of database specific functions from the VS.NET development environment itself. So if you are using Oracle as the back end for your applications you develop using VS.NET and require the same level of integration you can download the Oracle developer tool beta 2 from the url below:

Tuesday, February 22, 2005

Communtiy Server 1.0 released

The open source forum software Communtiy Server 1.0 is released and is available for download. This is something we were looking forward to as we were planning to migrate the dot net forum onto the community server.
The download is available at

Sunday, February 20, 2005

Compatibility test your .NET apps for 2.0 framework

Testing to make sure your application created on the .NET 1.1 framework can run on the 2.0 framework can be a hard task. The good news is you can submit your application and microsoft can do it for you. Read more about it at JRoxe's weblog.

I am in Australia

I am in Melbourne on some work and will be staying here for the next couple of weeks. This is my 3rd visit to the land of kangaroos. Will be having a heavy workload over the next few days since i need to finalize a few customizations on a product i developed here...
Since my return date is on the 4th of March i guess i'll be missing out on the .NET user group meeting on the 2nd of March :-(

Wednesday, February 16, 2005

Horoscope for the Year of Rooster.

I don't believe in horoscopes but while i was in one of the coffee shops in colombo i just picked up a magazine with horoscopes for the current chinese year (the year of Rooster). I was born in the year of Sheep. My horoscope said i should be very careful dealing with people and contracts to avoid getting lawsuits. And the efforts i put in my career will not reap the same amount of benefits. To make this a successful year i have to put double the effort and take the initiative in making decisons.
Well the biggest consolation was the fact Bill gates was also born in the year of sheep. So ok double the efforts and take the intiative is the way to go this year (thats for both Microsoft and Me) ;-)
Any other Sheeps i know out there? (Ps: If you are born in 1919, 1931, 1943, 1955, 1979, 1991 then you belong to the family of Sheep)

Inspirations from blogging

I really love blogging, and i mean it so seriously. I love blogging so much that i have been persuading a few people i know to start blogging. Even at the place i work blogging is alien to many people (we have two bloggers at my current work place) So just an inspirational note to them on what has changed in my day to day life since i started blogging

You have to keep your promises: When you make a promise and you really want to make sure you keep it, the best thing to do is blog about it. Cos now you have made an open statement and you will be thinking twice before breaking it.

More people listen (read rather): Don't u love it when people really read about your thoughts and your work and your ideas. Well thats exactly what you get with a blog and u have the widest audience you ever could get.

You are not alone: Just imagine you rambling about some problem you faced and someone commenting saying "Hey guess what, i faced the same issue. And i ended up doing this..." and suddenly it gives you a feeling you are not the only one who went through this.

So guys seriously start blogging

Say what you feel

"Say what you feel" : now that seems very simple right. Unfortunately i always find it very tough to do that. And i end up doing things i dont like or want to do, but have to do becos of the fact someone wants me to do it that way. I am pretty sure that situation is pretty common being in the software development industry. So what might the benefits (consequences) of saying what you feel? maybe a few lost jobs and not pleasing a few people... but i guess at the end, the sense of knowing you did something just because you thought it's sensible and correct and not to please a few people is satisfaction enough.
I guess i seriously need to start
Questioning more on what others say if i feel it's stupid or wrong
And spend more time on things that i really want to do
And say what i feel more often...even if it is going to get me into trouble

Actually all these thoughts came up while reading a blog entry in kathys blog about the donkey kicking incident... BTW Did u start getting those inspirational ideas after this kathy ;-)

Tuesday, February 15, 2005

ASP.NET 2.0 Using Visual C# 2005 training

This is a downloadable ISO image of a training on ASP.NET 2.0 using visual C# 2005 by AppDev. You can download it from the following url:
download url

.NET love story

This is a funny valentines special...
I have a managed heap of memories regarding you - none of which are IDisposable. Therefore I am compiling my references, and persisting them to you in this file, which is ISerializable and will last for generations (at most 3)

Check out the full extract at

My first Tin and Vat

Ok i hate these government offices but i had to go to get my Tin and Vat number to release off the MSDN pilot hard drive. It was a tough time with running up and down but was a bit easy since Wela had already told me what i should do. And finally there it was, those two small pieces of documents that kept me away from getting my hands on the hard drive from Microsoft.
So finally handed over the documents for clearing and waiting for the shipment to come home. Hopefully there won't be any other problems in clearing my package from customs.

Sunday, February 13, 2005

Pattern share

Did u ever wish that you had a good catalog of patterns from various authors organized into one proper catalog for quick reference? Well check out It's a great catalog and very informative.

Friday, February 11, 2005

MSF goes agile

This is exciting... an agile process as part of the MSF. Agile software development processes are different in that they are more focused on results with visible rapid increments. You can check on the upcoming MSF agile process at

And if you want to check out on a good book on agile software development check out the following book from Alistair Cockburn
Agile Software Development

Thursday, February 10, 2005

Trackback added to my blog

Haloscan commenting and trackback have been added to this blog.

The importance of unlearning...

This is a real good blog entry from Kathy on the importance of unlearning. Like her books her blog is very informative as well. This blog entry is a must read:

Tuesday, February 08, 2005

Google maps

Well I seem to be all locations today but if you haven't checked out Google maps yet check it out. It's just awesome. But i wonder when Srilanka will be covered as well so I can just give a search on places to have a nice Koththu Rotti (Chopped dry bread) while on the road ;-)

My Blog location

Just a peek at where in this world i am blogging from using Microsoft Mappoint.
Check the side bar...

Submit your blog as well at:

Monday, February 07, 2005

OOP is much better in theory than in practice... WTF

I hate commenting on others ideas and beliefs but this article really made me keep my resolutions apart and say something about it. I dont think the author has any idea on what OOP is or has never practiced it. And his idea on code reuse by copying and pasting really puts me off
You can read the article at
Any comments on this?

SCJP for the Tiger platform beta experience...

Beta exams were called out for the SCJP for the tiger platform and i just couldn't resist doing it. It was a long time since i used java on a project but decided to get my hands dirty on it.
Unfortunately didn't get enough time to study. I used the Java 5.0 developers notebook and javaranch to prepare. The exam was a bit tough and i was sitting and doing it for 5 hours (I took 4 hours and 45 mins). But i love to keep myself upto date on both java and .NET technologies which motivated me to do the beta.
As for passing the exam i am not very sure though... I did very well on design related issues on OO (I love OO) but didn't do so well on threads (I hate threads). Have to wait and see how it went.

Thursday, February 03, 2005

February .NET user group meeting

We had our monthly .NET user group meeting yesterday. Manzi did a presentation on Software usability engineering which was very useful and informative. He also showed the use of the finger print reader... This small gadget is very useful and i was planning on buying one for the past few weeks. So finally placed an order for it today.

Software patterns catalog

This is a really good catalog of Patterns for reference by various authors. The catalog is by no means final and you can add patterns that you have encountered as well. Check it out at:

Peek .NET 2005: Default instance for forms

Looks like default instance are back into forms again to give Visual Basic 6.0 developers migrating to Visual Basic.NET the familiar way to reference forms without actually creating instances.
Dim frm as New MyForm

can be done in VB.NET 2005 simply as

This will show the default instance of MyForm. Personally I don't like this feature much as this might lead to some bad practices. I guess implementing a Singleton pattern is much more cleaner and makes more sense. But since it is there in VB.NET 2005 maybe some developers do prefer this method...

Wednesday, February 02, 2005

Imagine cup workshop

Did a small workshop yesterday along with Wela and Jinashri, for a few university students at the Microsoft regional office here in colombo. The workshop was on how to develop web services and mobile applications using the Microsoft.NET platform.
The purpose of the workshop was to show how easy it is to develop these types of applications even for a newbie to the Microsoft.NET platform. Most of the participants were new to the .NET platform. We did a few demonstrations as well as some informal QA sessions.

Enterprise library released.

I am sure lot of .NET developers are using application blocks to speed up development. Now the enterprise library is released with all these application blocks put together. Just downloaded it today and will be doing some work on this in the next few weeks.
You can check it out at the link below:
Enterprise application library

Monday, January 31, 2005

Started lecturing again...

Started doing lectures again after a break for around 2 years. Lecturing is something i always liked to do and finally got a bit of time to start on it. Currently I am conducting lectures on Visual Basic.NET at Gateway. Have to wait and see how it goes.
It also gives me a reason to get my MCT soon since i was postponing it for a long time now.
PS :Thx Merill for getting me started on this

Friday, January 28, 2005

Peek .NET 2005: The IsNot operator

When you think about the things that makes VB so applealing for a lot of programmers, one of the first things to come into your mind is the simplicity of it. So readability of your program is always an important factor when programming.
If i want to make sure a reference variable does not have a null reference the general syntax in VB.NET is to use the keyword 'Is' and 'Not' as in:
If Not x is Nothing Then

With the new IsNot keyword this becomes:
If x IsNot Nothing Then

So what are the advantages of the latter over the former? As far as i know nothing much except it looks more readable and more simple and keeps to the spirit of the VB language.

Wednesday, January 26, 2005

Imagine cup: Kelaniya uni

We had another imagine cup intro at kelaniya university. Jinashri from Microsoft did a introduction among the students on the imagine cup competition. Following that i did an introduction on web services and mobile computing and some general topics on web site and blogging.
There were a few students very interested about the competition but were a bit reluctant since they were new to web services and mobile applications using the Microsoft.NET platform.
We planned to have a small workshop organized to give the students an idea on how easy it is to get started on using VS.NET to create web services and mobile applications.

Tuesday, January 25, 2005

MVP global summit for 2005 announced

This is exciting since this is my first year as a MVP. The MVP global summit is going to be held on Sept. 28 - Oct. 1 in Redmond, Washington. It would be a very exciting event and i look forward to be a part of it. I hope i can save enough cash by september to participate in it...
With Srilanka currently having 7 MVPs and with most of us being veterans it will be an exciting opportunity to learn more about the MVP program as well.
There is also news about an asian summit to be held in april, but no concrete news on it yet.

Thursday, January 20, 2005

Peek .NET 2005:Gotcha in generics

Connected to my previous blog on generics:
Assume that the Manager class inherits from the Employee class. So the following code is perfectly fine:
Dim mngr as new Manager
Dim emp as Employee=mngr
I can assign a Manager object to the Employee variable since all Managers are Employees.So let's apply a bit of Generics:
dim colMngr as new Collection(Of Manager)
dim colEmp as Collection(Of Employee)=mngr
I am just storing a collection of Managers in a collection of Employees variable. Looks fine? Well it's not...Generics does not work that way.
If the above code is fine then if i have an Executive class inheriting from Employee then colEmp.add(new Executive())
will be legal. But then what if i want to access the collection through the colMngr variable which is supposed to hold only a Collection of Manager objects...but now i have an Executive object inside it.
So the compiler will prevent this from happening. But remember this, as it may seem strange when doing Generics initially

Tuesday, January 18, 2005

Peek .NET 2005: Generics

Before .NET 2005(This is still supported in .NET 2005 as well) when we define a collection we use the syntax:
private col as new Collection
So if i am going to use this collection to add and retrieve Customers i have to use the syntax:
col.Add(New Customer())
Dim cust As Customer = CType(col.Item(0), Customer)
But if i already know i am going to use this collection only for to store Customers this casting is a real pain. And the compiler will do nothing to prevent me from storing a String or some other object type in this collection(A run time error will be throw when i try to cast it to Customer)

With .NET 2005 you have a special set of collection classes under the Collections.Generic namespace. With this i can define a collection as:
private col as new Collection(Of Customer)
Notice the new keyword 'Of', this indicates this collection will be used to store only Customer objects.
col.Add(New Customer())
Dim cust As Customer = col.Item(0)
No more unnecessary casting since the return types are of the Customer type and not the Object type. The compiler will detect if you are trying to store some other types other than what is defined. And what more you can also define and use Generics in your own classes and constructs but i'll save that for another blog

Monday, January 17, 2005

Nothing too Generic about it

Generics are a great addition to any programming language and it's the sort of feature that reduces a lot of coding and unnecessary type castings.
For example a lot of constructs in object oriented programming languages use the object type when the data type a programmer will use is not known. If i am defining my own version of a queue as a library, i will not know the data type of the objects the end user of my queue will store. So when adding and retrieving elements i'll be resorted to using the object type since it can store any type of objects. The real problem here is typically the user of my queue will already know what type of objects he is going to store. But still since i am using the object type each time an element is retrieved it has to be type casted into the proper data type. This is very time consuming and a real pain. And if an invalid type is added to the queue a run time exception will be thrown...
So what is the solution? Ideally when i define the queue i should be able to use a placeholder for the type without specifying a concrete type. The user of my queue should be able to replace the placeholder with a specific type when creating an instance of my queue. So since the specific data type the queue is going to use is defined, the compiler can take care of not allowing objects of other data types to be added. This is exactly what generics are.I'll post a few samples on this for the new VS.NET 2005(alias Whidbey) as well as the new Java 5.0(alias Tiger) in my upcoming blogs...

Thursday, January 06, 2005

January .NET User group meeting

We had the .NET January user group meeting yesterday. It was not very crowded with the Tsunami disaster but it was nice to see some new faces in the forum meetings. I gave an introduction along with Wela on Mobile application development and then we spent some time answering questions and problems from the forum members.
It was also great to know a few more additions to the MVPs in Srilanka with the inclusion of Jinath, Wela and Manzi. Congrats guys...

Monday, January 03, 2005

Predictions for the IT industry in 2005

This is funny. Especially the one about the war between C# and VB.NET. Check the link at: