Sunday, November 19, 2006

When to use asp 3.0

.Net guys must have read a lot of articles explaining what all benefits you get using over asp 3.0. but today I seem to realize that there are some instances when you may feel good to use asp instead of Some of my friend, asked me to build a very very simple web application and he wanted to invest least possible amount of money. I thought, probably using asp would be a good choice to go as:

1. asp web hosting space is much cheaply available. In fact, you can get some free space to host, if you are not really concerned about domain name.

2. making changes to the application is very straight forward, just change the file and redeploy. (This point is partially correct, as you can get same thing with if you write complete code in aspx file itself without using code behind feature)

...and yes, these points only have some relevance when you have a very simple application for some kind of personal use. From organization point of view, small saving(with cheap hosting space) using asp does not really makes much sense as features obviously outweigh cost.

Thursday, September 07, 2006

MS SQL Server 2K Editions

I was googling to know difference between three flavors of MS SQL server i.e. Enterprise, Standard, Developer. I was amazed to know that SQL servers comes with eight editions actually !!!!
Wanna explore difference between each of them…check it out here

Tuesday, September 05, 2006

Right to Information Act, 2005

I was surfing net searching for something, the other day and by chance I came across document related to Right to Information Act (RTI) and when I read it, I found it quite interesting. I mean interesting in actually two senses.

One, to know how whole RTI system works. I mean knowing duties for public information officer, information commissioner and how we can exercise our rights for the information.

Secondly, as this was probably first of this kind of document, I was going through; I noticed how these kind of documents need to cover guidelines for each related aspect with deadlines:
a. Guidelines to govt. organization about how to organize things to provide information.
b. Necessary staff (officers, commissioners etc.) required
c. Situations in which request can be denied.
d. Public appeals against officers and penalty, in case officer are found to be guilty etc.
e. Different costs involved.
f. Guidelines about how Govt. should make people aware about this act and encourage them to exercise their rights.

If you would like to go through it, here is where I found it. This really sounds great!!! (I mean, at least on papers :))

Monday, August 21, 2006

Interesting interviews abt SQL Server

Someone, forwarded me this link today telling about some interesting interviews about SQL Server.
Really good one :)
How do you spell S-Q-L?

Tuesday, July 18, 2006

All about Garbage Collection

These are some of the very useful links about garbage collection.

Enjoy !!!

Jeffrey Richer on MSDN – Garbage Collection

Part 1-

Part 2 -

Maoni's WebLog

Using GC Efficiently – Part 1

Using GC Efficiently – Part 2

Using GC Efficiently – Part 3

Using GC Efficiently – Part 4

Monday, July 17, 2006

Career Development: Attending Conferences

This is excerpt from one of the article on talking briefly about a few good conferences and what to expect from each of them.

Which Conference?

As soon as conference season starts, I receive advertisements and emails for numerous conferences. The ones I choose to attend are simply the ones that most closely match my current needs. For broad coverage of all aspects of Microsoft development, Tech Ed , or the Professional Developers Conference (PDC) are probably the conferences to attend. PDC is more future-oriented and happens only when Microsoft has new technology to announce, whereas Tech Ed focuses more on shipping technology. If you work extensively with Visual Studio, then VSLive is an obvious choice. Similarly, SQL PASS is good option for SQL Server developers and DBAs.

However, if you have very specific requirements then a more specialized conference may be a better bet. For example, I work on a number of systems that target the Pocket PC and, as such, will be attending the Microsoft Mobilized and Embedded Developers Conference in May. The MIX conference in March interests me because this is the Microsoft oriented conference that will focus on what is often called Web 2.0. I write about and use ASP.NET for my development, and things like IE7 and Atlas need to be a part of the Web sites I will be doing in the next couple of years.

I would be remiss if I did not also mention the Code Camp conferences. These are always free and always held outside of normal work hours. Since my blog post in 2003, Code Camp has become a viable option for people who do feel that conferences cost too much or take you away from your job for too long. For many people, especially those just starting out or with fairly general needs, Code Camps are a wonderful way to get the conference experience with limited, or possibly even no cost (presuming that there is a Code Camp close enough to you that you do not need a hotel).

In a similar vein, user groups offer single evening a month chances to get some of the benefits of a conference, with generally a single session, but lots of chance to network. My local .NET user group occasionally has "Geek Dinners," where there is no technical content, just networking while eating good food.

Tuesday, July 04, 2006

MS Desktop Search : Soft way to force restart :)

I used to get reminders from Office 12 to download Microsoft Desktop Search, whenever I open my Outlook. After quite a lot of reminders, I finally thought … lets download and give it a try.
This is final screen of the installation process asking if I want to restart my comp now or later by checking on the given check box. But check box is already disabled. Cool na !!!!

Monday, June 12, 2006

Error : General network error. Check your network documentation.

SQL server 2000 throws General network error sometimes when I try to update values. The behavior is quite random (I m not even able to reproduce it. Only way, I know about this error is thru log file, as application is configured to log all the errors in a log file) Sometimes, It happens at one place and sometimes at the other. But the common thing is it always happens when I try to call fill for adapter object. I mean it works fine for executing stored procedures. I tried googling for the solution of the same and found a couple of suggestions to try. Like increasing command timeout, removing pool settings etc.

Only thing which seems to be working is removing pool settings from web.config (as I did not see that error occurring after this). but again that’s quite weird solution as I know that gonna directly impact the performance of the system. Can anyone suggest some better solution or at least the possible cause of the problem?

Error : General network error. Check your network documentation.

SQL server 2000 throws General network error sometimes when I try to update values. The behavior is quite random (I m not even able to reproduce it. Only way, I know about this error is thru log file, as application is configured to log all the errors in a log file) Sometimes, It happens at one place and sometimes at the other. But the common thing is it always happens when I try to call fill for adapter object. I mean it works fine for executing stored procedures. I tried googling for the solution of the same and found a couple of suggestions to try. Like increasing command timeout, removing pool settings etc.

Only thing which seems to be working is removing pool settings from web.config (as I did not see that error occurring after this). but again that’s quite weird solution as I know that gonna directly impact the performance of the system. Can anyone suggest some better solution or at least the possible cause of the problem?

Wednesday, May 24, 2006

IIS 7.0 + Media Player 11 + Skype free calling

IIS 7.0 on the MSDN .NET Show
Microsoft revealed about some of the new features, which would be a part of IIS 7 release. Here is the quick summary.

As discussed in this post about IIS 6 that Microsoft has disabled most of the features by default to reduce the attack space for the vulnerabilities. So if some one is not using a feature of IIS, his application should not be a target of attack for some vulnerability in that feature. Now with IIS 7, Microsoft has extended it to next level that you will only install those many features with your IIS which you want to use. Other than this, MS is going to add logging features to help if something goes wrong. Also it would support role delegation so that Admin can delegate some user a role so that he can change some of the settings those defined by Admin.

Beta 1 for Windows Vista is already out in the market. One very important thing is.. IIS 7 is only meant for windows vista or windows longhorn server so all existing windows web server would need an upgrade to use IIS 7.

Windows Media Player 11 Beta Released
Microsoft has launched beta version for Media Player 11. I just installed it on my machine and by the first look, GUI looks pretty cool. Thought I could not manage to do a lot of RnD on the new stuff, but during installation it told about new Music Store, MS has launched like we have ITunes for Mac. You can read more about it here.

Skype Outgoing Calls to US and Canada goes free.
Skype has made outgoing calls to landline phone/ Mobile nos of US and Canada free for US and Canada customers. Its free only if source and destination of the call is both in US or Canada. But if you are skype customer from outside these counties, you will still need to buy Skype Outgoing Credits to make calls to landline/Mobile nos.

Tuesday, May 23, 2006

Development Tools

SQL Intellisense tool available for free.
Here is the tool available for SQL which adds SQL intellisense capabilities in your Query Analyzer. This is really helpful as you no longer need to look for exact table names and column names while writing SQL queries (as we don’t remember whole lot of things for .net library and mostly rely on intellisense).

Re-Sharper Tool for Visual Studio
Re-Sharper integrates with Visual Studio IDE and provides a lot of features which includes..
1. Syntax and Error Handling
2. Error and Quick-Fixes and Code Assistance
3. Refactoring
4. Code Generation and Code completion etc.

Only word of caution is that it impacts your IDE working speed. You can notice a significant performance hit working with .NET IDE after installing resharper. But still features outweigh the performance loss !!!

Tuesday, May 09, 2006

Google's Eric Schmidt : Pamela Video Moment

Hey.. This video is really interesting.

Google's Eric Schmidt Has a Pamela Anderson Video Moment

The way Eric started and then how he improved till end of the video... also the conflict thing he talked about... too good.

Wednesday, May 03, 2006

Microsoft Tech Ed 2006

Microsoft is back with Tech Ed 2006. Here is a newsletter telling details of the same.

Dear Developer,

Microsoft India presents Tech.Ed 2006 this June. And for the first time ever - across six cities.

Microsoft Tech.Ed, as you know, is the most definitive technology conference for Developers, IT Professionals, and Architects. Tech.Ed 2006 promises to deliver a more relevant experience for you. With, more focused technology sessions that matter to you, the opportunity to network with the community and with your peers, and access to technology that will enable you to evaluate the technology for yourself.

Also, for the first time ever, we present Tech.Ed for Developers. Two complete days dedicated to Developers with four tracks (32 break-out sessions and multiple Deep Dive Sessions!)

Attend Microsoft Tech.Ed 2006 this June and you will return with the edge you need to keep up with the latest development trends. Here's how:

Gain hands-on experience trying out and evaluating the latest cool development tools.
Acquire skills to build more streamlined, scalable, and secure applications.
Meet and discuss topics of interest with industry gurus, Microsoft staff, and colleagues.
The event promises great content covering topics such as, Programming Mobile Devices; Windows, Web, and Microsoft Office Programming; Language Enhancements and IDE Productivity Features. Besides, addressing issues, such as easier development of applications across client types, migrating applications to .NET, building a scalable and secure architecture, and designing applications for easier and more effective deployment.

We look forward to seeing you there!


Sheila Gulati
Director, Developer and Platform Evangelism
Microsoft Corporation, India

Tech-Ed for Developers (Day 1 and Day 2)

For more information on Attending Tech Ed 2006, Agenda, Speakers, Itinerary,
Conference Fees and Registration Form log on to

Wednesday, April 26, 2006

Programmer poetry

This is what i got as a forward mail..

Nice one to read… But Personally, I don’t agree with the poetry. I don’t feel like staring at the monitor, rather I enjoy it !!!
But it may be due to the fact; I haven’t spent that much time with the software industry till now. May be with the passage of time, I also start feeling like boring. :)

Monday, April 24, 2006

Microsoft Internet Explorer 6 to Windows Internet Explorer 7

Windows Internet Explorer 7 beta has got some cool features other than most common visible multitab browsing support. Here are some of them:

1. Phishing Filter:-

Here are some FAQs about phishing from Internet Explorer Help.
What is phishing?
Online phishing (pronounced like the word fishing) is a way to trick computer users into revealing personal or financial information through an e-mail message or website. A common online phishing scam starts with an e-mail message that looks like an official notice from a trusted source, such as a bank, credit card company, or reputable online merchant. In the e-mail message, recipients are directed to a fraudulent website where they are asked to provide personal information, such as an account number or password. This information is then usually used for identity theft.
What is Phishing Filter and how can it help protect me?
Phishing Filter is a feature in Internet Explorer that helps detect phishing websites. Phishing Filter uses three methods to help protect you from phishing scams. First, it compares the addresses of websites you visit against a list of sites reported to Microsoft as legitimate. This list is stored on your computer. Second, it helps analyze the sites you visit to see if they have the characteristics common to a phishing website. Third, with your consent, Phishing Filter sends some website addresses to Microsoft to be further checked against a frequently updated list of reported phishing websites.
If the site you are visiting is on the list of reported phishing websites, Internet Explorer will display a warning webpage and a notification on the Address bar. From the warning webpage, you can continue or close the page. If the website contains characteristics common to a phishing site but isn't on the list, Internet Explorer will only notify you in the Address bar that it might possibly be a phishing website. You can click the notification for more information.
Is Phishing Filter always on?
No. When you first install Internet Explorer, Phishing Filter only compares the addresses of the websites you visit against the list of legitimate websites that is saved on your computer. It also helps analyze these sites to see if they have the characteristics common to a phishing website. No information is sent to Microsoft unless you choose to send it. The first time you visit a website that is not on the legitimate website list, you will be prompted to indicate whether you want to check websites automatically. If you choose this option, Phishing Filter will send certain website addresses to Microsoft to be checked against a frequently updated list of reported phishing sites and alert you about suspicious or reported phishing websites. If you choose not to check websites automatically, Phishing Filter will display an icon ( ) on the Internet Explorer status bar. To check the website, click the icon, and then click Check this Website. You can also check websites from Internet Explorer.

2. Zones:

Internet Explorer has different security zones for home internet users. Now, with Internet Explorer 7, it will automatically detect if user belongs to any intranet, then only intranet zone would be active. For home users, it would be inactive automatically to reduce the chance of using intranet zone settings by some malicious site.

3. Improved User Interface:

Internet Explorer 7 has improved User Interface a lot. It has better managed UI to use comparatively less space leaving more space for site navigation. Eg. Microsoft recognized very less use of File Menu, probably that’s the reason the File Menu remains hidden unless you press ALT key from your KeyBoard.

There can be a lot other features, which I could not explore. Would be great, if some one can add more in the list.

Guys who don’t want to take risk of using beta version (as I have noticed some of the sites crashing with Internet Explorer 7, at the same time working fine with Internet Explorer 6 or Firefox) and want to get some of these cool feature in their existing Internet Explorer 6, two of the most important features tabbed browsing and Phishing filters are available through MSN toolbar (Ad-In to Internet Explorer 6)

And yes… have you noticed? Microsoft has renamed Microsoft Internet Explorer to Windows Internet Explorer.

Monday, April 17, 2006

Google Calendar

Quick Digest

Thursday, April 13, 2006

PJ is flying to Japan

Just a good news to share.. My friend PJ, he is flying to Japan for some conference. I dont know much about VOIP world, but he told me its not just any conference, but its one of the best conferences related to VOIP.
Great !!!

Apple Macs ready to boot with windows XP

Great News for Mac && Windows lovers.
Now apple mac would be able to boot with windows XP. Apple is in beta testing of their Boot Camp Software to make it possible. User would be provided options to choose OS to boot with like we have when we install multiple version of windows OS or linux with window. Only a few things before your mac boots with windows.

- You will need to purchase Windows XP.
- Only new Macs with Intel Processor support this dual boot.

Wednesday, April 12, 2006

Internet Explorer Developer Toolbar released

The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. This is just great to explore contents of any page including DOM, CSS, HTML elements and quite a lot of other things related to any page.
Download is available here

Here is the complete feature list :

 Explore and modify the document object model (DOM) of a Web page.
 Locate and select specific elements on a Web page through a variety of techniques.
 Selectively disable Internet Explorer settings.
 View HTML object class names, ID's, and details such as link paths, tab index values, and access keys.
 Outline tables, table cells, images, or selected tags.
 Validate HTML, CSS, WAI, and RSS Web feed links.
 Display image dimensions, file sizes, path information, and alternate (ALT) text.
 Immediately resize the browser window to a new resolution.
 Selectively clear the browser cache and saved cookies. Choose from all objects or those associated with a given domain.
 Choose direct links to W3C specification references, the Internet Explorer team weblog (blog), and other resources.
 Display a fully featured design ruler to help accurately align and measure objects on your pages.

How Bill Gates works !!!

Here is How Bill works

Article tell about what all tools/applications he use to improve his productivity. Just like, he has three screens in his office synchronized together, to make one big display screen to manage things easily.

Follow the link for complete details. I would just say..Nice read !!!

Monday, April 03, 2006

Fwd:The Steve Jobs Question

This is what, i got as a forwarded mail from one of my friend.
Nice read...

From: Shankar, Gauri
Sent: Monday, April 03, 2006 9:24 PM
Subject: The Steve Jobs Question - by Robin Sharma

I've been hearing a lot about Apple CEO Steve Jobs lately - his winning ways with the iPod, his transformation of Apple, his achievements with film studio Pixar. He's a pretty interesting guy, from what I can gather. Brilliant. Driven. Passionate. He's also a philosopher.

Jobs spent some formative time in India. He studied with sages. He visited meditation retreats. He pondered life's big questions. Speaking of questions, I've heard there's one in particular that he asks himself every time he faces a big decision or choice point in his life: “what would I do if this was the last night of my life?” I love it.

No one on their deathbed ever regretted the risks that they took. The place of least security is in the security zone. To live a big life, it's essential that you take calculated risks - often. Without daring, there can be no winning. Steve Jobs met his wife that way. He was giving a speech at a university and spotted her in the audience. He met her after the event and wanted to take her to dinner - but he had a business meeting. As he walked to his car, he asked himself: “if this was the last night of my life, what would I do?” He ran back to the auditorium and found her. They've been together ever since.

This is a great time to reflect. You are leaving one year and welcoming in another. Go deep. Reflect on what To Dos you have not done because fear got in the way. Think about how quickly life is passing and what needs to get done so you feel you played your best game as a human being. And then walk out into the world - and shine. We'll all be better off once you do.
“iCon”, the new biography on Apple CEO Steve Jobs (Apple sold 18 million iPods in 2005). It's a superb read. Gives you an inside glimpse of the thinking, behavior and life of a modern day business genius. Love him or not, the guy's a true visionary.

With Regards,
Gauri Shankar

Puzzle - 2

Here comes another puzzle.

Card trick without the trick!!

This is a card trick without the trick. There is no sleight of hand, no tricks up my sleeve, no magic whatsoever. It’s all done with logic, yet it will amaze most people. Joel and I are working together as a team to do the trick. Babak will be the culprit.
I ask babak to pick 5 cards out of a deck. He can pick any five cards, he can shuffle the deck 7 times, and it really doesn't matter. He honestly picks out 5 cards that I cannot see. He hands the five cards to me (Joel can't see any of this). I look at the cards and I pick 1 card out and give it back to Babak. I then arrange the other four cards in a special way, and give those 4 cards all face down, and in a neat pile, to Joel. Joel looks at the 4 cards I gave him, and says out loud which card babak is holding
(Suit and number). I did not convey any information to Joel other than the way i ordered the 4 cards, (all face down, aligned in line with one another) so how did I encode babak's card using that method?

Solutions are welcomed. (plz don’t use google !!! )

Friday, March 31, 2006

Google Vs MS

Hey!!! Here is a small video from (Notice their complete url )

Watch what Bill has to say about Google Vs MS

Bill Gates on Google

Thursday, March 30, 2006

Atlas Framework

Atlas is really kool stuff. I just downloaded a video from Atlas site and gone thru it once. It does not give much details (as its only a small video for duration of around 15 min). But what all it demonstrates in this small video is just great. All know, AJAX has done tremendous improvements in user experience as far as web applications are concerned. (Gmail is one of the very good examples) Now here comes Atlas framework to make life easy for developers writing AJAX based applications. Using Atlas, you can very easily create different groups (update panels actually in terms of atlas terminology) for your page controls by using simple tags and now when you click on any control in that groups, whole of the page wont post back, rather it just controls belonging to the same update panel would refresh providing user a very rich UI experience.

I remember the day, when I was creating my own calendar control in javascript to save postback at least when user selects any date on my page (cause calendar server control provided by ASP.NET causes a postback for whole of the page for every single click). Now it’s too easy to handle it. Just put your calendar or any other server control in separate update panel so that for any change in calendar it wont post back complete page, rather only the calendar part of it would get redrawn asynchronously. This is really awesome.

A very important thing to look for is grouping of different control on your page. I mean, if any of your control is not in the update panel causing post back, in that case even if you change values for that control from any event, it would not be updated on UI. It would update value for the control internally, but as only controls related to panel causing postback are redrawn so UI would keep on showing old value for that control.

Wednesday, March 29, 2006 services

I found two things very interesting, which i would like to explore other than quite a lot of other stuff.
One, WebParts in ASP 2.0 (for which i have started with sample application today) and second is ATLAS Framework (explore and come up with some useful gadgets for BTW second news of the day also provides a lot of motivation for doing so :) )

Microsoft reaches out to developers with Live

Business Opportunity for Building Applications with Windows Live and MSN Messenger

Why is anyone still using Internet Explorer?

Tuesday, March 28, 2006

Fabulous weekend

This weekend, it was awesome. By Friday evening, 7 of my friends joined us on our room. So including 4 of us roommates, we were 11 ready for fun filled weekend. Friday night it was whole lot of gossip session whole of the night. Two of my friends had interview with some company the next day, so keeping that in mind we decided to sleep for some time at around 6 in the morning. It was just 9:30 when I heard some of friend’s voice and at 10:00 we were all back with our next chat session. This went on for almost two days and nights.

Some of the highlights were…

• Birthday bumps to Amy
• Engagement bumps to Mangal
• Google bumps to dhawan
• Gullu’s new girlfriend

Time for news

Some MS news links..

1. Microsoft wins suit over antipiracy patent

2. Microsoft Bloggers Post Gripes

Wednesday, March 22, 2006

Google : Big Daddy

SEO (Search Engine Optimization) involves tracing algo used by various search engines (Google, Yahoo etc) to rank different web sites on searching for some keywords. Search engines calculate which of the sites having that particular keyword can be most useful for their user. Based upon their algo, they rank different sites and show results accordingly. It’s always been a race between search engines and third party developers working on to rank their sites at the top.

Just to share an example (which one of my friend share with me), initially Google used to take into account the number of counts of particular keyword being searched as one of the criteria to calculate rank. At that time SEO guys, what they used to do was writing some common words repetitively in the background color so that if some one search for those keywords, Search engine would find higher count of those common keywords on their sites and thus their site ranked higher. But soon Google started filtering that.

This time Google is coming up with Big Daddy, new search infrastructure. It’s in testing phase right now. But you can check your site ranking according to new infrastructure @

For more information about Big Daddy, refer to Google’s chief search engineer's blog

Tuesday, March 14, 2006

i lov puzzles...

Though my first interest towards puzzles was for the reason that its part of some company's interview process. But now i found 'em very interesting too. Its really fun to solve logical puzzles. One fabulous link is This has got about 90 puzzles and the most interesting thing about it is, most of them are quite logical.
Other than that..i also found George summer's book quite interesting. Also, there are some good groups if someone wants to get frequent posts of new puzzles.
Here is a cricket puzzle from one of the groups…


It is an imaginary test match. In this match Tendulkar performed exceptionally well and in the process equalled a record of a great Indian cricketer. Following are some statements of the performances of some of the Indian players in the match. From this, by logical thinking, you'll have to tell me whose record did Tendulkar equal. India also created a record of sort in this match .... but that is secondary.

1. Sehwag was out for a duck.
2. Harbhajan bowled ten overs and gave away eight runs. He hit the only six of the
match. His was among the third highest scorers.
3. Tendulkar took three wickets more than the runs scored by Pathan.
4. India was all out for 146. There was no extra. All runs came from strokes.
5. No Indian batsman could reach double figures except Tendulkar who however failed
to score a ton.
6. Dravid scored the second highest run of the Indian Innings.
7. Zahir did not take any wicket . He faced four consecutive balls, three balls from one bowler, scored in all the balls, but was out next ball of another bowler.
8. Nobody scored more than Zahir and less than Dravid.
9. One batsman was out at a score which was square root of Tendulkar’s score.
10. Pathan’s score was among the second lowests.
11. Tendulkar took three caught and bowled wickets in one over.
12. Tendulkar and Zahir are the only two batsmen to hit boundary

whose record Tendulkar equalled ?

And how much did Murali Karthik score ? How many wickets did he take ?

The match ended in a tame draw. The two teams barely finished their first innings only. Further play was not possible for rains, bad light etc.

Monday, March 13, 2006

Induslogic is kooool....

As far as carrier growth is concerned, Indus is really good. I found ample opportunities for personal growth. Company seems like believing that its growth depends upon its employee’s growth. Probably thats why we have our personal growth associated in appraisal system. Appraisal system also takes into account individual personal growth and even company is ready to pay some allowances for it which is just for our growth. I mean, its really encouraging.
Other than that, we need to attend/provide some fixed no of hours of training. All in all company believes in over all growth of its employee along with its own objectives. Other thing, which I like about the company, is its transparent policies, just like after defining goals for appraisals, its put on common repository, which is shared to all employees. In quarterly meetings, they discuss about future goals of the company. How we are heading towards these goals n wht are the areas we are lagging in.
Really KOOL.

Wednesday, March 08, 2006

Re: why .NET is platform dependent ???

n here comes the reply...
Hi Sachin

I am not sure if I am the right person either :-) So CCing two friends of mine who are perhaps better qualified. My personal opinion on the matter is below. Note that it is personal, and may not reflect Microsoft thinking on this issue.


1. First what is a platform?

Platform is something one stands on. The reason we talk about platforms in IT is because, like all in engineerings, we have in computer-science a case of building things using existing components. So your code stands-on / targets / leverages a platform. What actually is the platform? Let's see:

a) At one time the platform was the hardware. People used to code in assembler. So there were mainframe programmers, x86 programmers, DEC Alpha programmers, etc. The big question mark was how to make one programmer work on another hardware platform without learning it bottoms up. This led to the arrival of languages like C / Pascal / COBOL / Fortran that were hardware-independent by providing a set of primitives that could be translated by a compiler into the specific instructions for a hardware platform. For the same programming language, multiple compilers would support multiple platforms. This also gave an opportunity to raise the level of abstraction and the notion of user-defined types was introduced. The portability was at the source-code level. Source code written on one platform (read hardware) could be taken to another hardware platform and it would typically compile without change, atleast as long as you were using the same compiler.

b) Times changed, and programs got larger and more complex. A new generation of programming languages evolved to introduce higher-level abstractions, namely: objects. Meanwhile, Operating systems were evolving at a tremendous pace, adding more capabiltity for programmers to take advantage of. Naturally, programmers did take advantage of the OS, and started writing code specific to an OS. The platform got changed, it was now the operating system. So we had Windows programmers, Solaris programmers, AIX programmers, etc. However, while the language-compilers of yesteryears had been able to abstract differences between instructions of various hardware platforms, there was nothing to abstract the differences between the operating systems.

The other interesting trend of this time was that the the std. library could not keep pace with Operating systems. The typical areas in which the std-libraries were left behind were: threading support, graphics, distributed stacks, dynamic linking, etc. In order to address these areas, programmers had to link external libraries which provided solutions to address these areas.

Java was created for this time: it provided a runtime environment to abstract differences between OS, and by providing a modern class-library it eliminated the need for most external libraries. The promise of WORA (Write Once Run Anywhere) was born.

c) Times have once again changed. Operating Systems have (more or less) matured now, atleast on traditional hardware; Hand-held devices are still seeing a lot of innovation. What is still evolving is the application environment. Programmers now target application platforms / servers. So we have .Net programmers, J2EE programmers, etc. The platform is now the application server. However, there does not seem to be agreement on what app-server should look like. So we see various vendors coming up with interesting innovation on app-serves to distinguish their offerings from one another. Platform independence today would mean writing code that can run on all application-serves.

2. But do we need Platform Independence?

Ok, so I don't care about how do you define platforms. I just want my code to run across multiple operating systems. But why? Let's see three scenarios:

a) Small, Standalone, Desktop Application: Let's suppose I am writing an app like WinZip. I want it to run on Windows, Linux and Unix. Which technology do I use? .Net? No - won't run on Unix. J2EE? Sure. In fact, I don't need J2EE. I can use the basic Java SDK from Sun. And my compiled binary would run on all operating systems. C++? Yes, but, I would have to compile for different operating systems and produce different binaries. Java seems to be the best choice.

b) Medium - Large-scale Product: I am an ISV building an ERP, or a Dealer-management product, or any large-scale product. This would typically involve mutliple components - App-Server, Database-Server, Web-Server. Let's think of the .Net Solution: SQL, ASP.Net, IIS, Windows. I test it, perf-tune it, etc. - its a single integrated stack. No chance of porting it to another OS. Not cool

J2EE? Well, let's go for the IBM route. Let's use DB2, WebSphere, AIX. I do my coding, perf-tune it, test it, whatever. Does this take more time / effort on J2EE as compared to .Net? Yes, it does. But let's ignore that as being typical Microsoft marketing. Let' assume that we have to spend the same time and effort on both sides.

Now I want to deploy it. My customer is not ok with AIX, he wants Hp-UX. Would the solution work? Sure! We are on J2EE, after all - WORA, remember!! So let's get started. First thing - I need a build of WebSphere for Hp-UX, and a build of DB2 for HP-UX. Typically, that would mean that I would have to go for different version of these products (Not the same version of WebSphere is available for all OS!). Let's assume that reality is sweeter than that, and I get the same versions on which I built my product. Now I would deploy the system again. Would I not run into any OS issues? Unlikely. There are always operational issues dependent on the OS. But let's assume that there are no OS specific issues also. Now, just to make sure that everything does work the way it's supposed to, wouldn't I again do integration testing? Perf-testing? Security / Penetration testing? Sure, I would! That's extra effort!! Is the cost of this effort more / less than the cost of the OS? Or the extra effort required for the customer to run a heterogeneous enviroment? (Ultimately the customer would pay for the cost of my extra testing, anyway!). Forget the value of time lost while doing all this. Platform Independence does not seem to gain us a lot!

Ok, so the customer is ok with AIX. He however wants WebLogic. Now things are bound to break! Why? Can't I write code just to target the core J2EE, without the IBM specific extensions of WebSphere? Sure? But is that easy? I guess I would need to be very careful to ensure that code runs across any app-server from any vendor. At least that's what the analysts seem to say. Assume I do accomplish it. I will still need that extra testing effort! And this time, the effort is much bigger. That means more cost. And loss of time. Again, what is platform independence gaining us?

Hold on, why are we doing all this testing on a per customer basis? Can't I just test my product across let's say five / six reference implementations, and support just these? Sure we can. That would spread out the cost of supporting multiple platforms across several customers and also we would not waste time in deployment. There is after all a benefit of platform independence! But while this does seem to help the customer meet his deployment timeline, it does means that for every iteration on my product, as an ISV, I have to now do all that testing on integration, perf, security, etc etc. That means longer iteration cycles. That's bad - that means my product delivery lifecycle is now much longer. The other option is that I deliver lesser incremental value / iteration. I hate that. Either way, I have a much bigger effort / iteration. I really really hate that, coz thats more money! My customer hates that too. Because his competitor bought a .Net based product, whose next version came much earlier, and because of which he was able to launch a business initative earlier as compared to my customer.

Supporting multiple platforms as an ISV means higher cost and longer timelines. Our customers hate that. And so do we. Platform Independence is not helping us in our busines as an ISV.

c) Custom Solution: So for a product, platform independence may not look like such a great idea. But what about a custom solution? Let's see. Suppose I am a medium-sized company who has a team of six developers for in-house development. This team builds a Payroll application using Oracle / Websphere / Linux. We now want to move from Linux to AIX. What's the cost? First, get a build of WebSphere for AIX. Is that an extra cost? I am not sure. There should be. Next, get a build of Oracle for AIX. Probable extra cost again. Then the testing effort required. More effort, more time lost, more money. Effort, time and money that could have been spent delivering the next set of users requirement on the same solution, or in hardware to improve perf, or in integration (there is always an integration need!). Is this more money / effort / time than the cost / effort / time required to maintain two different operating systems? Absolutely!! And then the risk of breaking things ... the more mission critical, the less do you want to change platforms. I would never migrate a mission-critical solution from one platform to another.

3. But why not give a choice?
Fine, Vineet, all the reasons you have given do stand true for a port / migration. But I am not interested in a migration / port. I am not interested in the platform independence of the code that I write so that I can migrate / port it later. I am looking for a choice. Why not give me the choice of running .Net on Unix / Linux? I want to run my code on .Net on Linux. And I am not going to move it to another platform later on. Why not give me that choice?

Well, there are two options Microsoft has: a) Spend time / money / effort on making .Net platform-indpendent, b) Spend resources on making .Net on Windows real solid and keep innovating there. Microsoft thinks that its customers and partners get more value in the latter as compared to the former. The reason is simple: there are lot of hard problems which are higher priotity for technology decision makers:

a) Businesses want Higher Agility: Business is changing faster than ever. Across the globe. And getting increasingly reliant on IT, which is not keeping pace. Since my reliance as a business on IT is high, I typically want best of breed solutions. Or at least, best of what I can afford. Best of breed typically means that I don't care about underlying technology / platforms as long as it functionally delivers what I need. And I want the solution to be easily modifiable as my business-needs change very fast. Bottomline: as a business decision maker, underlying platforms / tech are not important. Business functionality is.

b) Integration is a bigger Imperative every day: Best of breed also means that business-solutions would typically come from multiple vendors. That means integration would not be built-in. That means integration would need to be done. And the underlying individual solution pieces would change as we just discussed while our integration continues. And the business process along which the integration is being built would change too. Oh, and let's not forget, the team who deployed / built the solutions is no longer around. Bottomline: I want solutions to work together no matter what platforms they are on.

c) System Complexity is Increasing: Points a) and b) obviously lead to high system complexity. The dream of ever having a homogeneous environment would remain just that - a dream. Meanwhile, increasing reliance on IT would mean that you would want self-monitoring, self-healing systems, automated capacity planning, data-center modeling, etc. Apps would increasingly have to listen to instrumentation data coming up from lower layers before taking decisions, and make instrumentation available to higher layers, monitoring environments to enable a much deeper play with the operational side of affairs.

d) Computing is Changing Rapidly: And while all this is happening, hardware is getting cheaper - computing cost, network cost and storage cost are falling rapidly. That means that the mission critical, ultra-sophsitcated app of yesterday would be common-place tomorrow. Moreover, these apps would still need to be developed by someone like me - an average developer, and not the re-incarnation of Donald Knuth. Unless we innovate in the plumbing, developers would not be able to take advantage of the easily available cheaper hardware. Then there is a giant new wave of hardware coming our way that is dramatically going to change how software is written. An example of this is multi-core. Chip manufacturers are only going to add more cores. To take advantage of these cores, software would have to be heavily parallelized. Writing parallelized software is not easy. Very few people get it right. Plumbing needs to be built to address this. There are several other interesting things, and they all need innovation. Lots of innovation.

So what do we have: I don't care about underlying platfroms, I want things to work together irrespective of their platform, I want apps that lend themselves to being managed well, and I want innovation to leverage the cheaper / next gen of hardware. Seems to be the innovation choice. Not the multiple platform choice.

4. Summary
The choice Microsoft has made is simple - focus on innovation and integrate its own stack as far as possible - and it has solid reasoning. There are other companies who have not made that choice. These companies depend on people for integration. Their revenue-model is highly services driven. This model allows them to outsource their customer's IT and that means predictable revenue. This revenue hopefully, can fuel the innovation required in their products over the next five years. Time would tell which model succeeds better. For myself, my own money is on Microsoft!

why .NET is platform dependent ???

I dropped a mail with some query about .net framework to one of senior guy in MS.
It goes something like this…

I got your ID from your msn blog. I had some query, so thought to drop you a mail.

Vineet, i was just wondering why MS came with .NET framework that is just architecturally platform independent not the actual implementation. Its one of the biggest disadvantage i see with .NET framework as compared to JAVA.
I agree, MS has cut development time by a great extent with .net. But don’t you think spending 20% more time (developing application in some other technology) so that your application now supports all platforms seems more lucrative n i dont think that any company who develops platform independent applications will take the pang to code framework for other platforms just to use .NET or what else is the idea behind???

I m not very sure, if you are not the right person to be asked such kind of questions.  
If this is the case, can you please provide me some contact to put these kinds of questions? Thanks in advance…

With Regards,
Sachin Kumar

waiting for reply... (even if anyone else would like to comment, u r most welcome )

Monday, March 06, 2006

Pepsi to Apple

Read customer reviews for the book Pepsi to Apple
customer reviews

Specially Job's saying.. "do u want to sell sweet water rest of ur life or do u want to change the world with us"
Its simply gr8 !!!

Thursday, March 02, 2006

Do u send fwd mails???

If you are a forward mail lover.... here is something for you.
Dont send crap fwd mails
have fun :)

Tuesday, February 28, 2006

Registrations open 4 Google - CodeJam

Google looking for talent with their coding competition “Google Code Jam”.
Info available @

so i attended MS Tech roadshow

I attended MS Technology RoadShow (ASP.NET 2.0) this Friday. It was good...and here is the summary of complete schedule...

1. Why Care???

This was title for first session. The whole idea of this session was to explore new features of ASP.NET 2.0 especially how new features helps you in RAD (Rapid Application Development). With VS 2003, it was just like MS was doing all the stuff for developers with such a huge class library and controls. (I m not sure, but probably MS claimed to cut development time up to 60% with VS 2003) Now, with the introduction of VS 2005 (with 50+ new controls and lots of other features) they have further reduced the burden of developer and enhanced RAD to the next level.. RAD is the main thing i see, that gives .NET an edge on all other technologies (including JAVA). Speaker (Janakiram) discussed about various features including aspnet_compiler, membership, master pages, inbuilt web server provided with VS. He started with a web application and beautifully developed it without writing much of code himself demonstrating the power of ASP.NET 2.0 wizards/controls.

2. Reliability n Security...

This session talked about reliability and security of Web Apps. It was all about architecture of IIS 6.0 and how it is different in respect to 5.0 to provide various good things. In IIS 6.0, one can configure processes (worker process.. w3wp.exe equivalent of aspnet_wp in IIS 6) running per application like we can have these kind of configurations…
• One process per application
• One process per n applications
• Or n processes per application

To implement all this, MS has come with concept of application pools, which basically provides a name for some particular settings. One can create as many application pools as one want. Application pool has a different configuration option like how many processes this application pool can create along with lots of other option (about which I will talk in a minute). Now every app in IIS will be using any one of the configured application pools. In fact, application pool can also be shared among different websites. That makes it possible to map n processes per n applications depending upon requirements of any web app. Other than this, application pool has got health monitoring, recycling features which one can configure to take advantage of these new features.
As part of security enhancement, http handling has been implemented in kernel mode (http.sys) whereas app code runs in user mode. http.sys is responsible for managing connection pool which is outside user mode.

The other very practical thing MS has come up with is…most of the features are disabled by default. IIS 6.0 comes with most secure settings set by default. If anyone wants to use some features… he will need to enable them explicitly. This has been done to give less space for attack. Because if some feature is not being used, better switch it off so as to ensure attack can’t be there using this feature. The idea is to reduce surface for attack. Its really practical…

Further details are available @:

Monday, February 27, 2006

Thursday, February 23, 2006

Joining IndusLogic …

I talked about job switch in one of my previous posts…I joined Induslogic…
Company seems to be good till now. The very first day, I was done with all the joining formalities before first half and got my PC (P 4 3.0 GHz Dual Processor). Otherwise I have seen in many companies its like you are waiting for computer for first 15 days and then next 15 days for project allocation…. and the second day, after spending 2 hours with my mentor, I was debugging through the code… kool.... as I don’t see any point in sitting idle, waiting for some project to be allocated!!! Its really quite boring in office without work (except sometimes…like after having some hectic schedule with deadlines, that time I luv it actually  ) We have flexi timings in the company to come at any time.
As far as work quality is concerned, its got to be good being a product engineering company. Because if your client is itself a software company then, its not just final output that matters but they also have a look into code u write and you may need to justify it too…
It may be a bit tough but at the end of the day…that’s what encourages you to write good piece of code…
All in all…company is good…

Microsoft RoadShow...ASP.NET 1.1 to 2.0

I m going for MS event tomorrow…its technology road show…migrating from 1.1 to 2.0. I had 15 day training on .net from Microsoft in my previous company n that was really great. That’s what I m looking forward from this one too.
I m excited…

Wednesday, February 22, 2006

Blogger Random Questions...

Blogspot asks one random question, while creating your profile. Its really quite an interesting stuff. I know quite a few questions and here they are…

• Why don't you ever wear a scarf? It doesn't need to be cold outside for your neck to feel naked.
• Well, maybe they don't need them, but don't you think that some fish might like a bicycle?
• You have to dig a hole to China. Where do you start?
• Which is more important to you and why: flexibility or expandability?
• What did you dream when you ate a spider while sleeping?
• Compose the lyrics to a new national anthem that features an animal sound at least once:
• You laughed so hard you can't catch your breath. Stick out your tongue and show us what's funny:
• When you hesitate before hitting snooze on your alarm clock, are you being lazy?

Tuesday, February 21, 2006

MS Events

Microsoft is doing quite a lot to make its customers (developers as well as end customers) most out of the thier products and keep them up to date with new things, MS is coming with. No need to mention MSDN online provides a lot lot lot of articles in every field of programming (obviously related to Microsoft technologies only). Other than this traditional help, MS is doing a lot of other innovative stuff. Like
Online Web Casts

Channel9 gives you a way to hear from some of the great programmer of the world. Channel9 has got hundreds n hundreds of videos, showing great innovative stuff Microsoft is coming up with… Other than also has interviews with some of the great personalities of MS

Other than that.. MS keeps on arranging different events TechNet, Tehnology RoadMaps shows, programming events and lot other.. like during beta release of VS 2005, they distributed lot of free CDs having VS2005 beta version to developers who registered for the same to write some good piece of code and there were certain prizes for good candidates.
This time they are coming up with a tehnical road map show in delhi on 24th of this month. For details see below…

D E L H I - 2 4 F e b , 2 0 0 6
The Internet and Mobile technology have played the most influential role in revolutionizing the way people do business and communicate with each other. With the emergence of Web 2.0 and Wireless Mobility, technology will further evolve to impact the world irreversibly, delivering unique opportunities for developers to drive productivity and innovation into development scenarios.

The Microsoft Technology Roadshow, this February, presents the future of web-programming and the potential of mobile application development through two separate events.

Join us in The Mobility Day as we take you through a comparative analysis of the various nuances of mobile development using two of the most prevalent platforms today – Windows Mobile and Symbian.

The Web Platform Day enables you to understand ASP .Net 2.0 better, explore its elegant extensibility architecture, get insights into scaling and perf-tuning your mission-critical web-applications, and find out how to build AJAX-style applications using the Atlas framework.

Whether you are an experienced developer, or a beginner, you will find the Microsoft Technology Roadshow an eye-opener.

Kindly Note: The Mobility Sessions and The Web Platform Sessions are two separate events. You are encouraged to attend the event most relevant to you.

D E L H I - 2 4 F e b , 2 0 0 6

The Internet and Mobile technology have played the most influential role in revolutionizing the way people do business and communicate with each other. With the emergence of Web 2.0 and Wireless Mobility, technology will further evolve to impact the world irreversibly, delivering unique opportunities for developers to drive productivity and innovation into development scenarios.

The Microsoft Technology Roadshow, this February, presents the future of web-programming and the potential of mobile application development through two separate events.

Join us in The Mobility Day as we take you through a comparative analysis of the various nuances of mobile development using two of the most prevalent platforms today – Windows Mobile and Symbian.

The Web Platform Day enables you to understand ASP .Net 2.0 better, explore its elegant extensibility architecture, get insights into scaling and perf-tuning your mission-critical web-applications, and find out how to build AJAX-style applications using the Atlas framework.

Whether you are an experienced developer, or a beginner, you will find the Microsoft Technology Roadshow an eye-opener.

Kindly Note: The Mobility Sessions and The Web Platform Sessions are two separate events.
You are encouraged to attend the event most relevant to you.

Topics covered will include:

Date: 24 Feb, 2006 Venue: The Phoolwari - Ballroom
0900 - 1000 Registration
Time Slot Session Title Speaker
1000 - 1130 ASP.NET 2.0 - Why Care Janakiram MSV
1130 - 1145 - - B R E A K - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1145 - 1315 ASP.NET 2.0 Extensibility Nikhil Kothari
1315 - 1400 - - L U N C H - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1400 - 1530 Building Scalable and Reliable Web Applications Vineet Gupta
1530 - 1545 - - B R E A K - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1545 - 1715 Developing AJAX-style web applications with Atlas Nikhil Kothari

Date: 24 Feb, 2006 Venue: The Phoolwari - Evenza
0900 - 1000 Registration
Time Slot Session Title Speaker
1000 - 1315 Symbian & Windows Mobile: Side-by-Side Gaurav Khanna/Tarun Anand
1315 - 1400 - - L U N C H - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1400 - 1715 The Storage Side Story: Windows Mobile & Symbian Ambrish Mishra/Amit Ranjan

Ms. Shreya: 91-9811821968

registrations @

Thursday, February 16, 2006

joining first company...

To start with, I would like to share a bit about me, my past experiences …n then in the coming post, i will move towards technical stuff, current happening in IT, and a lot other things..

I was having fun in my college life and I just could not know how time really passed away and I was in my final semester of my BTech, waiting for some companies to visit our campus. Actually, I knew some of my passed out seniors who were still waiting for good job. So, I was under impression that its gonna be very tough to get into the market place. Also, sometimes we friends get sentimental thinking about the fact that now we gonna be separate, making plans that anyhow we would be in continuous touch…. But IT market…it just started booming like anything & quite a few companies started visiting out campus. I was lucky enough to get selected in one of the good companies. (Actually, I think I m quite a lucky guy in every aspect J )

Luckily (again J), It was not just me who got selected, we were four room mates and all got selected in the same company…I was very happy that I would be joining a good company with my friend circle…and really I enjoyed it…it was really fun.
I joined my first company as a trainee and it was actually a batch of 90 people who joined as trainee on the same day. We had full day class room training. I could not even think that in the very beginning of my professional career, I would be playing games on company network. It was just like college atmosphere. Someone is providing us training and we are having fun on our computers (playing minesweeper, chatting using net send)

The company as such, it was good but it was a bit better to have fun rather than work. As far as enjoyment is concerned, I know...there is no such place (at least, till now I think so) but work culture was really not of that standard. Anyhow, I was enjoying there. And finally the day came, which is too common only for any software developers, switching job… (I mean, I don’t see other stream guy to switch their jobs too frequently). I joined new company..... this time leaving behind all of my room mates L

Wednesday, February 15, 2006

its my first

This is my first may not find it much interesting at first...but i m very much sure..i will be interesting in coming days J
i would lov to share life experiences, technical stuff or anything interesting in general ...but being a software developer.. Spending almost all of the time with computers, sometimes i dont have much to tell other than code. Please bear with me.. J