Friday, November 17, 2006

Metaphysical Coding

Recently, when I was working on SQL Server 2005 project, I created a job and scheduled it as recurring using GUI interface. Then I tried to reverse engineer the script (Create Script > Change the Script parameters manually).

It showed that begindate as current date but to my suprise, last date was 99991231, ie 31st December, 9999. (What a work around !! - Why not assign End date to a predefined macro or value ie something similar to infinity)

So, SQL Server guys predict that world would end on 31st December, 9999 (Armageddon - There are people who think other wise Refer Wikipedia).

Come on, I always knew there was something spiritual about Microsoft products. They defy all the rules on Computer Science. :-)

When a tester enters my room wearing a big smile, most common replies are "It was working on my machine" or probably "It was working that day" :-) .

Well I say, "You know since it uses Microsoft products, you can start it only on auspicious day and that too by chanting OM (holy word that Hindus use)"

Ok jokes apart, I never supported Microsoft products until I was hired by a Microsoft based company and was placed on .NET and SQL Server projects.

Thats when I realized that Microsoft somehow allows you to create most of the things and that too easily, but still as a computer science engineer I still find things are not in place.

For eg. I was experimenting SQL Server Integration Services using C# code. I wanted use Microsoft.SqlServer.Dts.Runtime namespace. But it is not imported by default for Console application. So I tried to find dll that I should reference (I presumed it should have been Microsoft.SqlServer.Dts.dll or with similar name).

I was visited MSDN for help (See MSDN). I didnt find a thing on which DLL to reference. By the way, if Microsoft claims that they have improved their Visual Studio standards by n%, they have detoriated their MSDN standards by same n%. It is one of the most pathetic documentation for a good product like .NET.

I personally think all MSDN documentor should read Java Doc before even starting to write a line. Any time while coding in Java, most of my problems are solved using Java Doc. This is not in case of C#.

Anyways, I did found out the dll after 1/2 hour of trial and error search. It was Microsoft.SqlServer.ManagedDts.dll

Come on guys, we are not robots to find such references among huge list of dll. (Why Managed ? I understand the difference between managed and unmanaged code. Even if it is important to use Managed substring, please reflect that in your documentation).

Disclaimer: This blog is simply meant for humour and is not meant to offend anyone. This doesnot reflect any views of my company or my collegues. It is purely my personal opinion.

No comments: