Book Review: Foods That Harm, Foods That Heal

It's comforting to know that food can also be preventive medicine. Foods That Harm, Foods That Heal - An A-Z Guide to Safe and Healthy Eating beautifully explains the benefits & drawbacks of various vegetables, fruits & food sources. Written by experts and full of relevant images, this colorful book makes for interesting reading. Common diseases and the effects of various types of food on them are also discussed. All the topics are arranged alphabetically. This makes it great to use for future reference.

The book has been written for an American audience. Although this does not diminish the value of the book's contents, I wish it was written in more general terms to suit a global audience.

Being a vegetarian & foodie, I did not know about the health value & drawbacks of the food I've been eating all these years. I loved reading this book for all the practical knowledge it contained and highly recommend it to others.
Read More
HOW TO access web pages faster on a slow Internet connection

HOW TO access web pages faster on a slow Internet connection

  • Disable IFRAME based ads
  • Disable Flash based ads. These ads suck up a lot of bandwidth. It's easy to enable/disable add-ons like the Flash plugin on newer versions of IE & Firefox. Note however that you will need Flash to be enabled to watch videos on YouTube or MyPopKorn.com (the site that gives you short summaries of long drawn Indian TV serials)
  • If you like watching Flash based videos like those on YouTube, don't play it immediately but allow them to load completely (i.e till you see light red line at the end in progress indicator of the player).
  • Disable images. This will take the fun out of browsing the Internet, so take this extreme step if pages download really slow. The Opera browser has a simple option to turn off images on a per page basis. From the menu, go to View > Images > No Images. For other browsers, you would have to look for the option typically under Tools > Options.Browse
  • Use a RSS Reader. Most content websites now provide RSS Feeds of site updates. Subscribe to these feeds using a free RSS Reader like Google Reader. This way you catch all the action without having to visit the website which may be bloated with ads and other bells & whistles.

Got any other tips?
Read More
State of Internet in India

State of Internet in India

As per stats released by The Internet Governance Forum, India has 81 million Internet users. These figures however don't tally with other estimates.

According to Akamai's quarterly State of the Internet report for Quarter 3 of 2008, India has 26% on narrowband (<256kbps), 5% on broadband (>2 Mbps) and just 0.6% on "high broadband" (>5 Mbps). In comparison, South Korea tops the list of countries with the largest number of high broadband users (58%). Asia has the highest number of Internet users with an estimated 568.7 million people followed by the Americas with 377.9 million.

Check these tips for accessing web pages faster on a slow Internet connections.

Also see: 6 Months of BSNL Broadband
Read More

HOW TO avoid the IE Information Bar during development

If you have ever tried opening a web page that contains JavaScript directly instead of from your web server in newer versions of IE, you may have noticed the message "To help protect your security, Internet Explorer has restricted this file from showing active content that could access your computer" displayed in the Information Bar in Windows XP & Vista.

There are three ways that I have found to avoid this -
1) You can turn off the Information Bar in Internet Explorer by lowering the default security settings.

2) In Internet Explorer, from the Tools menu, select Options and in the Internet Options dialog, select the Advanced tab. Scroll down until you see the Security options. Enable the checkbox option "Allow active content to run in files on My Computer".

3) Add the following Mark of the Web comment between the DOCTYPE and the HTML -
<!-- saved from url=(0014)about:internet -->

Read the excellent explanation on Mark on the Web on MSDN.

"..manually insert a MOTW when you are developing HTML pages that need to run in a different security zone from that of your development environment. With the MOTW inserted, you can preview active HTML documents in the appropriate security zone; typically this zone is the Internet zone, but Internet Explorer obeys your computer's security zone rules. This way you can make sure the active content functions as expected, and you can monitor any security issues with the content."

The phrase Mark of the Web is probably derived from Mark of Zorro. It brings back memories from my childhood comic book days of the masked Robin Hood-like hero Zorro, who scars the faces of evildoers with his mark, "Z"
Read More
Plain English Explanation for Non-Geeks

Plain English Explanation for Non-Geeks

Explaining Internet terms like Podcasting, Phishing Scams, Social Media, Twitter, Blogs, Social Bookmarking, Social Networking, Wikis, RSS to non-geeks is not a easy job. Typically if people find something intimidating they may form a bad opinion about it & keep away. That's what happened to me in school with mathematics. Finding the right learning resources is the key.

Seattle based Lee & Sachi LeFever of Common Craft have been producing roughly 3-minute videos that make complex ideas easy to understand. The videos on general topics are hosted on YouTube. Transcripts are also available. Their format of presentation is snappy, entertaining & so effective that they have been commissioned by companies like Microsoft & Google to develop custom educational videos for their products.

Also see:
Free ASP.NET & related videos
Read More
Learning Resources for Building High Performance Websites

Learning Resources for Building High Performance Websites

I have high regard for Steve Souders & Peter-Paul Koch. Their knowledge and contributions to the Web Development community are exemplary. Steve is the man behind YSlow, a nifty tool that analyzes web pages and tells you why they're slow based on the rules for high performance web sites.

Steve recently finished teaching a course on High Performance Web Sites at Stanford. He has graciously shared the material from the class on the class web site & also interesting guest lectures. All these resources are great fodder for web developers.

As part of their course, the students studied popular websites to identify performance issues in them. Their findings confirm that websites that follow Performance best practices have a high YSlow Grade and load the fastest. Craigslist.org (YSlow Grade:96) & Windows Live (YSlow Grade:94) top their charts while Fox News Channel (YSlow Grade:24) & ESPN (YSlow Grade:28) are at the bottom.

The Q&A from the Midterm Exam & Final Exam are good brain teasers. Sample this -
How many connections per hostname is suggested in the HTTP spec? Do the five most popular browsers follow this recommendation?
2
no, Firefox 3, IE8, Safari 3.1+, Opera 9.60, and Chrome all support 4 or more. IE6 & 7 are still 2.

What are the two request headers that can be used to determine if a cached resource is valid (i.e., used as part of a Conditional GET request)? If the resource is valid, what status code does the web server return?
If-Modified-Since, If-None-Match
304 Not Modified ("304" and "Not Modified" are also valid answers)

Name three potential drawbacks to using a CDN, and a way to mitigate these drawbacks.
your performance can be affected by your competitors, you don't have direct control, if the CDN's performance degrades so does yours
you can use two CDNs to hedge your bets

Name two browsers (including major version #) that support parallel script loading?
IE8, Safari 4 are the biggies. Also Android 1, iPhone 2, Konqueror 4, Opera 9, and some Blackberries.

How much does gzip compression typically reduce transfer sizes?
70%

Which trigger busy indicators?
script in iframe
script DOM element
script defer
document.write script tag

What's the benefit of splitting resource downloads across multiple domains? In general, how many domains should you shard across?
You can get more parallel downloads by splitting resources across multiple domains. The ideal number of domains is 2-4.

List two pros and two cons of using iframes.
pros:
embedding content from another web site
sandboxing 3rd party JavaScript
asynchronous loading of external scripts

cons:
most expensive DOM element
blocks parent's onload

List the seven types of CSS selectors and give an example of each.
ID: #navbar {}
class: .navbar {}
type: A {}
descendant: UL LI {}
child: UL > LI {}
adjacent sibling: UL + P {}
universal: [color: red] {}

Also see:
HOW TO improve the front-end performance of a website - II
Read More
What is Stemming?

What is Stemming?

Stemming means matching on the "stem" (or root) of the word rather than the exact word.

Many of the popular search engines support Stemming. For instance if you search for pet lemur dietary needs, search engines like Google & Live Search will also search for pet lemur diet needs, and other related variations of your terms. 

Live Search now has a new feature that I think is a form of visual stemming. You can use images to find other images.

Search in SharePoint also supports Stemming.
Read More
HOW TO find if your site is indexed by search engines

HOW TO find if your site is indexed by search engines

For most websites, much of their traffic is driven by search engines. To see if your site is listed on popular search engines like Google, Live Search and Yahoo Search, type site: followed by (without space) your website domain URL. Ofcourse, this technique can also be useful to search within a specific domain.

All the above mentioned search engines provide tools for Webmasters to inform & manage the interaction:

On a personal note, about 71% of visitors to my blog come through search engines. In this year it has garnered a modest 16,000 hits with about 35% of the visitors from US. 

Related:
Read More
Large ASP.NET websites - 1

Large ASP.NET websites - 1

Anything that represents customer hand-holding represents a failure of site design - Jim Buckmaster, Craigslist

What does it take to run a large ASP.NET website that can have 30+ million hits a day (500 - 600 pages per second)? You would have to ask Markus Frind who single handedly runs PlentyOfFish, a hugely popular on-line dating website. 

The stats & lessons (via High Scalability) about his site can be insightful to ASP.NET developers.

Tech Stats:
  • PlentyOfFish (POF) runs on ASP.NET, IIS, Akamai CDN, Foundry ServerIron Load Balancer
  • PlentyOfFish gets 1.2 billion page views/month, and 500,000 average unique logins per day. 
  • 2 load balanced web servers with 2 Quad Core Intel Xeon X5355 @ 2.66Ghz), 8 Gigs of RAM (using about 800 MBs), 2 hard drives, runs Windows x64 Server 2003.
  • 3 DB servers. No data on their configuration.
  • Approaching 64,000 simultaneous connections and 2 million page views per hour.
  • Internet connection is a 1Gbps line of which 200Mbps is used.
  • 1 TB/day serving 171 million images through Akamai.
  • 6TB storage array to handle millions of full sized images being uploaded every month to the site.

Lessons:
  • Creating simple things is the result of years of practical experience.
  • There isn't a single site in the top 100 that doesn’t use a CDN. 
  • "The bigger you get as a free site the less money you make per visit and the more it costs to service a visit."
  • You can't always listen to user responses. Some users will always love new features and others will hate it. Only a fraction will complain. Instead, look at what features people are actually using by watching your site.
Also see:
Read More

HOW TO implement AutoComplete with jQuery & ASP.NET

Auto-completion of search terms is an AJAX feature popularized by Google that reduces typing by listing possible keywords as the user types. ASP.NET developers typically use the AutoComplete Extender that is the part of the ASP.NET AJAX Control Toolkit to plug it to a text box to implement auto-completion. There are other alternatives but one of the best options I've found is jQuery AutoComplete Plugin.

jQuery is a lightweight JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. It was released in January 2006 by John Resig, a JavaScript Evangelist for the Mozilla Corporation.

Using the plugin is a no-brainer as the code sample will show. All the grunt work is done by the jQuery Autocomplete Plugin. Building & deploying an Autocomplete solution takes just a few minutes and hardly any lines of code. There are a various specialized jQuery Autocomplete Plugins that offer additional features than the official jQuery Autocomplete Plugin from which they are extended.

Talking of jQuery deployment, Dave Ward recommends having the jQuery's external JavaScript files referenced from the copy at Google AJAX Libraries CDN rather than hosting jQuery on your own server. This has the advantage of providing decreased latency, increased parallelism, and better caching.

Read More

HOW TO avoid Spam Filters while emailing programmatically

Spam filters are generally built into email clients, can be installed seperately or implemented on the server. Many popular spam filters utilize Bayesian spam filtering besides other techniques to distinguish illegitimate spam email from legitimate email. 

The process involves training the spam filter to identify spam words. 
After training, the word probabilities (also known as likelihood functions) are used to compute the probability that an email with a particular set of words in it belongs to either category. Each word in the email contributes to the email's spam probability. This contribution is called the posterior probability and is computed using Bayes' theorem. Then, the email's spam probability is computed over all words in the email, and if the total exceeds a certain threshold (say 95%), the filter will mark the email as a spam.

To prevent a programmatically sent email from landing in the Junk folder, we have to understand how spam filters operate.

Using SpamAssassin (an open-source spam filter) as an example, Andreas points out that avoiding "spammy" text in the email, fewer images, a good well formed layout and having both HTML  and plain text views of the message can prevent an email from being marked as spam. His article includes a nice analysis of SpamAssassin & a C# code sample on creating an AlternateView that will please the spam filter.

Related:
Read More
HOW TO conditionally format entire row/s based on a cell's text value in Excel 2007

HOW TO conditionally format entire row/s based on a cell's text value in Excel 2007

I found that Conditionally Formatting an entire row/s rather than a single cell and that too  based on a text value in a cell rather than a numeric value in Excel 2007 is not straight forward. After a bit of monkeying around I learnt you can also actually have multiple Formulas while specifying a Rule for Conditional Formatting.

I jotted down the steps to do this with screen shots and posted them on my Code Gallery.

If you know of a simpler or alternative way to Conditionally Format an entire row in Excel 2007, please let me know.

Also see:
Read More
SEO simplified

SEO simplified

Undermining the exagerrated fears of some SEO consultants about all the changes happening at Google Search in recent times, randfish over at SEOmoz Blog says -
SEO remains, at its core, remarkably similar to what it was in 2002:
Make pages accessible
Target with keywords that searchers employ
Build content that users will find useful and valuable
Earn editorial links from good sources

The Search Engine Optimization Starter Guide from Google has another nice advice -
..you should base your optimization decisions first and foremost on what's best for the visitors of your site.

Also see -
Read More

How To Copy Files between Virtual PC and Host PC

With Virtual PC 2007, you can run multiple operating systems (Guest OS - Windows 98/Me/2000/XP/Vista/2008, OS/2) on the same physical computer (Host OS - Windows Vista Business/Enterprise/Ultimate, Windows XP Pro/Tablet PC). 

The biggest advantage of using Virtual PC 2007 is that you can test an application on multiple virtual machines instead of actual physical computers. You can even set up a test network, by installing VPC and then creating VMs for each server and workstation that you want on your test network.

While working on a Virtual PC, you may sometimes need to access files from the host PC. Copying files from Virtual PC to the Host PC or vice versa is a cinch. Click on the Edit option in the menu & select Settings. A dialog box showing various settings & their current values. Choose Shared Folders in that list & in it's accompanying panel, click on the Share Folder... button. This opens another dialog box that lets you browse through the folders in the physical computer. Select a folder and this can be used to share files between the Virtual PC and Host PC.

(click on image to enlarge)

Related posts:
Read More

India Stats

India Today published a special issue titled "Transforming India Great Ideas.Great Minds" in October. It has thought provoking articles by India's best minds on ideas than can transform India and how they can be implemented.

The articles contained some statistics about India - some interesting, some extremely shocking. Sample this -
  • 72 was India’s rank in the 2007 transparency international’s global corruption perception index.
  • Rs 883 cr - the amount of bribes paid by poor families in 2007 to access 11 public services, says a TII-CMS report.
  • 69 per cent is the reservation in educational institutions in Tamil Nadu, the highest among all Indian states.
  • 120 MPs in the Lok Sabha face criminal charges, though the law says that anyone sentenced to two years or more in jail is disqualified from contesting elections.
  • 126 policemen per 1 lakh population. That is India’s manpower deficit compared to western ratios of 250-500 per 1 lakh.
  • 8 - is the number of communal riots independent India has seen in which more than 500 people have been killed.
  • 2 per cent of the country’s population is covered under pension benefits, compared to 21.1 per cent in China.
  • 25% of the world's total skilled work force will be Indians by 2020.
  • 9.1 is the percentage of women national legislators in India; compared to a global average of 18 per cent.
  • $45 billion is what India spends on research and development, a patch of China's expenditure of $216 billion.
  • 302 - number of individual and team gold medals on offer at the Beijing Olympics. India won just one.
  • 300 mn the number of Indians who don’t have access to safe drinking water. Yet an average of 1,000 cubic metres is used by every Indian per year.
  • 1.6 per cent of Indian wage earners invest in mutual funds, while less then 10 per cent of households have insurance.
  • India has 4600 large dams built across the country. But not more than 6 to 15 per cent of agricultural land in each state is irrigated by any of these projects.
  • 1.2 million  - the number of NGOs in India, though less than 1 per cent of them have professional fund-raisers
  • 31,000 graduates are produced every year by India’s 271 medical institutions.
  • 19 per cent of the gross budgetary expenditure has been earmarked for education in the 11th five year plan, up from 7.7% in the 10th plan.
  • 39,600 vehicles have gone off the road after phase one of the Delhi metro, saving Rs 288 cr on maintaining roads and managing traffic.
Numbers tell a story.
Read More

Book Review: JavaScript Step by Step

JavaScript Step by Step by Steve Suehring is a good "plain-English" book for beginners. Although it lacks both breadth & depth, it covers topics that are relevant to current client side Web development. Out of the 19 chapters, 3 are dedicated to AJAX. The author's explanation of HTTP headers & how they can be manipulated with the XMLHttpRequest object is pretty interesting.

I found a couple of sentences in the book ridiculous
Obtaining an MSDN account from Microsoft will give you access to legacy products, including older versions of Internet Explorer, so that you can see how your site reacts to a visit from Internet Explorer 4.

IE4? Should anyone go out to please someone with a IE4 browser?

addEventListener() is defined as a "cross-browser (except for Microsoft Windows Internet Explorer) event handler method"

Now, that's a funny definition of cross-browser - excluding the most popular of browsers.

IE4, by the way reminded me of the first Javascript book, I purchased way back in 2000 - Pure Javascript. It lists every method and property of Javascript objects available at that point of time. At over 1400 pages, the book is so bulky no one may have read it from first to last, probably not even it's proof readers - it had quite a lot of errors and some of the snippets didn't run. I however liked the idea of having all possible methods and properties for ready reference. W3Schools which I discovered much later has an exhaustive coverage of Javascript too with great samples(except maybe this IFrame scrolling example). It remains one of my favorite learning resources.
Read More

IE8 News

The IE Team has been conducting live chats every month since the first IE 8 Beta was released. As per news on the IE Blog, there will be one more public update of IE8 in the first quarter of 2009 and then a final release. 

Here is a compilation of some of the answers from the transcripts of the last two Chats that give a clue about what's coming -
  • IE8 does not support different skins. However, you can create a custom version of IE8 using Internet Explorer Administration Kit. You can find out more about IEAK and different customizations it supports in this blog post: http://blogs.msdn.com/ie/archive/2008/09/22/the-ie8-ieak.aspx
  • We definitely want to implement opacity in the future. However, in order to do it right, so that it works across all elements, is smart about gamma, etc., we needed to spend a large effort, so it's not making it in to IE8.
  • Beta 2 is considered feature-complete so we have no plans to add a large feature like download manager to IE8. IE8 does large file download and resumes downloads after lost connections to provide some of the value of a full download manager. and there are many third-party download managers you can use as well.
  • In IE8 beta2 we don't delete cookies and temp files created by 3rd party extensions and activeX controls. That probably explains why you are seeing some things left behind.
  • The bits we ship on Win7 vs. Vista vs. XP are virtually the same, but we do take advantage of specific features of each individual operating system.
  • Viewing pages in compatibility mode is essentially the same as viewing it in IE7 as far as CSS is concerned. There are some slight JavaScript differences between Compat Mode and actual IE7 though.
  • A typical release cycle includes beta and RC milestones prior to a RTM release.
  • Performance in the browser is high priority for us. We will be working on improving performance in all parts of the browser, including JS execution and DOM manipulation, up until final release. 
  • Beta 2 is essentially feature complete. There are a number of IE add-ons that do a great job of spell checking. Please check out http://www.ieaddons.com
Read More

Get Google Search results by SMS, talking to iPhone

Google has a cool new feature for India - Google SMS. You can send a search query by SMS & get back results by SMS without paying any premium charges. Considering that a majority of Indian mobile users don't have handsets that support Internet browsing, this should go well with tech savvy folks who need answers on the go. Let's say you wanted the dollar-rupee conversion rate, type 1$=?INR & send to 9-77-33-00000. The results will be delivered by a return SMS.




I just hope the app doesn't learn to talk back. Imagine, if it say's - What? You don't know that?
Read More

Tweaking Firefox configuration settings

In the past I've come across two great links on tweaking Firefox configuration settings, that I had to refer to yesterday again. 

The first one is about how to do automatic Windows Authentication with Firefox. If you have been trying out some local website that requires Windows Authentication in IE & Firefox, you may have noticed a login box asking for your credentials appearing only in Firefox. To turn that off, type about:config in the address bar, locate the Preference Name network.automatic-ntlm-auth.trusted-uris using the Filter option.

As mistyping anything in the configuration settings accidentally can harm the stability of your Firefox browser, you get the following funny warning in Firefox (click on the image below to see larger one) -


Double click on it & in the dialog box that opens enter it's string value as "localhost" or whatever is the website address that's pestering you.

It's not easy to understand all the about:config entries, so there are a couple of friendly visual editors to help you tweak the settings.

Also see:

Read More

Book Review - I. M. Wright's Hard Code

"I'm not opinionated, I'm always right" - spotted on a T-Shirt

The book "I. M. Wright's Hard Code" is a collection of 49 opinion columns from among the many originally written "for Microsoft software developers and their managers, though they were drawn from my (Eric's) 28 years of experience in the software industry with six different companies". The book talks about the "folklore, customs, cultures, tools, processes, and rules of thumb that allow us (Microsoft) to build and ship the most complex software in the world". It has tips, tricks, techniques & thoughts about people and project management. It offers food for thought to developers and the chain above that manages them. 

The author Eric Brechner is a software industry and Microsoft veteran. He talks through his alter ego I. M. Wright in a tone that makes you sit up & listen. You will love or hate I. M. Wright, but you can't ignore him.

I. M. Wright is ..
provactive  (""By now the Agile fanatics out there are screaming, "Use Agile methods!" Yeah, well try meeting weekly or monthly with 100 million customers. It's not as easy as it looks. I'm not saying it's a bad concept, I'm saying you're hallucinating""), 
controversial  ("Google: Serious threat or poor spelling?"), 
conceited ("At best, Google will be a niche player like Apple"), 
candid ("XP even suggests pair programming, but personally, I think that wastes resources (except for devs learning a new code base)"),
opinionated ("I still think the idea of Green Belts and Black Belts is goofy and that the methodology itself is recycled TQM and CQI.")
irreverant ("Is your PUM a bum?" PUM within MS is a Product Unit Manager whose role is equivalent to Group Manager or  Director)
but at the same time he is ..
discerning ("I was given a mind of my own, and I fully intend to use it. Not just at parties and social occasions but on every subject and dealing I have. Questioning why and understanding how are at the center of who I am.")
humorous  ("I've been busy dogfooding lately. It's an ideal diversion for masochists") and 
insightful  ("Agile methods work beautifully at the team level; formal methods work beautifully at the project level; and long-term strategic planning methods work beautifully at the product level"). He plays all the negative shades to drive home his message. I. M. Wright is like a football coach prodding the team out of complacency and motivating them when they are down.

The first six chapters dissect the software development process, the next three target people issues, and the last chapter critiques how the software business is run. Except for the last chapter that I found out of sync with the rest of the content, the rest are engaging & thought provoking.

If you want to sample some of the content before you read the book, you can find two of the chapters on MSDN and some of the author's columns on his blog.

It is not often that people who have been there and done that share their ideas & thoughts. This book is filled with nuggets of wisdom and some great geek talk. I enjoyed reading this book and recommend it to those interested in people and project management.
Read More
Google SEO resources

Google SEO resources

If you are keen about optimizing your website for search engines, Google has several resources - Webmaster Tools, Webmaster Help group, Webmaster Central Blog.

Ocassionally they also conduct free Chat sessions where Googlers share tips & tricks and also answer questions. Here is a sampler -

Suppose my website supports English and French. Should the English version of a particular page and the French version have different URLs? Any other best practices for multi-lingual site architecture?
Matt Cutts: If you can afford it, I would do domain.com and domain.fr. If that's not possible, I would consider doing en.domain.com and fr.domain.com. If that's not possible, then domain.com/en and domain.com/fr can work. In webmaster tools, you can geographically target a site (and I believe parts of a site such as r.domain.com), which will help as well.

Does inconsistent capitalization of URLs cause duplicate content issues and dilution of page rank? For example www.site.com/abc vs www.site.com/Abc. On Windows hosts, these are the same page, but are different pages on Unix hosts. JohnMu: Hi John, based on the existing standards, URLs are case-sensitive, so yes, these would be seen as separate URLs. Since the content on the URLs is the same, we'll generally recognize that and only keep one of them. However, we'd recommend that you try to keep all links going to one version of the URL. Keep in mind that this also applies to robots.txt files.

How often does your search algorithm change?
JohnMu: We change the algorithms all the time - last year we had over backlinks in Webmaster Tools

Do the verification codes for Webmaster Tools, Analytics, Apps for Domain have to remain intact after the first verification or can you just remove them once it's done?
Wysz: I can only speak for Webmaster Tools, but we do recheck for those codes periodically to make sure you are still the site owner. So you'll want to leave that code in place as long as you want to use Webmaster Tools.

We had a great site that was very popular with lots of original content, but we had to switch to a new CMS (new shared IP) AND new domain - traffic tanked! I need help!!! Any suggestions?JohnMu: I'd recomemend making sure that all old URLs 301 redirect to the new ones. Also, it can take a bit of time for a change like this to be completely processed, so sometimes you just need to be a bit patient (and continue working on your new site). If it absolutely doesn't come back, it might be that we're just ranking the new site where we'd be ranking the old one as well. Alternately, you might want to start a thread in the Google Webmaster Help groups, where the folks there can take a look at your site in particular, since these kinds of changes involve steps that are unique to your site.


They have also compiled a compact guide titled Search Engine Optimization Starter Guide, listing some best practices.
Read More
Silverlight 2 FAQ

Silverlight 2 FAQ

Some answers from the Silverlight 2 FAQ that I found insightful -

What is in Silverlight 1 that is not in Silverlight 2?
Nothing. Silverlight 2 is a full superset of Silverlight 1.0. It is 100% compatible with Silverlight 1.0 applications and provides more powerful features and functionality. Silverlight 1.0 applications even benefit from improvements in media playback and performance characteristics of Silverlight 2 without any additional changes needed.

When would a customer use Silverlight instead of ASP.NET AJAX?
ASP.NET AJAX and Silverlight are designed to be complementary technologies. Because Silverlight can talk to any AJAX application, both client-side and server-side, customers can enhance existing ASP.NET or ASP.NET AJAX applications by integrating Silverlight media experiences and RIAs into their Web applications. Conversely, ASP.NET AJAX can additionally be used to control Silverlight-based visualization of data or the delivery of rich experiences.

When would a customer use Silverlight versus Windows Presentation
Foundation (WPF)?Microsoft recommends targeting the Windows Presentation Foundation (WPF) when building rich, immersive applications and experiences that can take full advantage of the Windows platform, including hardware acceleration, peripheral access, etc. Silverlight is meant be used for broad reach, interactive media content and browser-based rich interactive and high-performance applications and experiences.

Will Silverlight support HD quality?
Yes, Silverlight supports 720p HD quality today. However, performance varies depending on the capabilities of the individual PC.

Which platforms and browsers will Silverlight 2 support?
Silverlight will support all major browsers on both Mac OS X, Linux and on Windows. Particular care is being taken to account for differences in platform and browser capabilities to ensure a consistent experience including experiences on Firefox, Safari, and Internet Explorer.
Read More
My favorite Foxit Reader keyboard shortcuts

My favorite Foxit Reader keyboard shortcuts

Foxit Reader is a free, lean (just 2.55 MB) PDF reader that I have been using for more than a couple of years. Although Adobe started it all, I find it's Adobe Reader unwieldy. Being lazy I generally prefer keyboard shortcuts instead of accessing things with the mouse although it takes a little effort to memorize. Over the years, I've found myself using the following Foxit Reader (Version 2.3) shortcuts often -

ShortcutCommand
Alt+2Full Screen
Alt+3Hand Tool
Alt+6Select Text
Alt+9Text Viewer
Ctrl+-Zoom Out
Ctrl++Zoom In
Ctrl+1Actual Size
Ctrl+2Fit Page
Ctrl+3Fit Width
Ctrl+FFind
F3Find Next
Ctrl+Shift+HAuto Scroll
Ctrl+Shift+NGo to Page
F11Reverse View
F9Toggle Menu bar


I found the Auto Scroll and Text Viewer features unusual & interesting.

When you activate Auto Scroll, Foxit Reader will automatically scroll the pages of the PDF file. What's more you can enable the Full Screen option while it auto scrolls. I got a chance to try this out while browsing the amazing photos in the book Blue Planet Run in PDF format.

If a PDF page has images & text, the Text Viewer option will pick just the text. This may ocassionally be useful when you find the font type or images on the page disturbing & you want to focus only on text. This doesn't however match the new Google feature of extracting text in an image in a PDF file.

Also see: Keyboard shortcuts common to Firefox & IE 8 (Beta 2)
Read More

Dreamspark in India

For students aspiring for a career in the software industry or those who are passionate about building software, this should be great news. Microsoft is giving away the latest developer and designer tools that normally cost hundreds of dollars at no charge to verified students through its DreamSpark program. DreamSpark was so far restricted to a few countries. The goodies include the following -

  • Visual Studio 2008 & 2005, Professional Edition
  • SQL Server 2008 & 2005, Developer Edition
  • Windows Server 2008 & 2003, Standard Edition
  • Virtual PC 2007
  • Expression Studio
  • XNA Game Studio 2.0
  • 12-month free Academic membership in the XNA Creators Club

This offering for students is much better than what they can expect out of open-source tools.

These tools are available both online as well as offline on DVD through NIIT, Aptech and Hughes Net Fusion Centers in several towns & cities across India.

My first brush with computers was more than a decade ago when I was in college. All we got was clunky Unix terminals. I graduated later to a 8086 PC but never owned a PC till several years after I finished college. A 8086 PC at that time cost over a lakh (or $2000). For many, it was also hard & expensive to find the right learning resources for picking up tech skills.

Fast forward to 2008, you can get a decent assembled PC & an annual Broadband Internet subscription for about Rs.20,000 ($400). Relatively speaking, students of this age have abundant learning resources including the Internet. The Internet (with a good Broadband connection) is a great leveller. It throws open a treasure of knowledge and ideas, making it immaterial in which part of the world you live. There are also helpful communities on a variety of computer technology to seek help from. The DreamSpark program is a great complement to all those resources.

Students enthusiastic about Computer Science and technology hobbyists may never have it so good.

Read More

IE Special issue of Code Magazine

IE 8 is the most standards compliant and feature-packed version of IE that is currently in Beta. If you are a web developer, you owe it to yourself to know how the changes will impact what you are currently building. Getting conversant with the new version can also help you plan for your future releases.

To stay updated on IE developments, the IE Blog is the best resource. It was recently announced there that folks in the IE Team have authored articles for a special issue of Code Focus magazine. It is a available as a PDF file (7.2MB) & there are some interesting articles in it. Go grab it.


Read More
Free tools to generate screenshots

Free tools to generate screenshots

If you are not satisfied with the kind of screenshots you can generate with the PrintScreen button & MS Paint, you should evaluate these free tools that offer you a lot more options -
  • Cropper is a lightweight screen capture utility written in C# with a lot of nifty features. It is available from Codeplex and the download size is 270KB. You can not just save the screenshots in JPG, PNG formats but also as Animated Gif & AVI using Cropper plugins.
  • Snipping Tool which comes with Windows Vista is accessible from the Accessories section. With this you can "snip" a full-screen window or a particular window or extract portions in a rectangular or free-form format and save it as a GIF, JPG, PNG or HTML file. It also allows you to do other simple manipulations to the image like highlighting & writing on it.
  • Paint.NET is a free image and photo editing software that has been drawing rave reviews. You can do more complicated manipulations to your screenshot with this. The downloadable executable in compressed format is 1.53MB.

Also see - Windows Developer Power Tools - Most Loved

Read More

IE Developer Tools Tips & Tricks - #2: Script Console

One of my favorite features in Firefox is the Error Console in the Tools menu. It's a Developer feature inherited from Netscape that has been enhanced over the years. Whenever a page has a Javascript error, the precise error message with line number in the source code shows up in the Error Console. When you click on the error message, you can jump to the exact line in the source.

IE 8 (Beta 2) introduces a similar Console under the Script tab in Developer Tools. To invoke this hit F12 (for Developer Tools), CTRL + 3 (to jump to the Script tab which is third in the tab list) and then CTRL + ALT + I to go to the Console window.

You can also choose to see only Script Errors.

Also see:
Developer Tools: Keyboard Shortcuts

Read More
SSMS Tips & Tricks

SSMS Tips & Tricks

There are innumerable features in SQL Server Management Studio. In my years of working with SQL Server 2005, I've discovered some that I feel are underused. Here are a few that have helped me -

Tip #1: Open Object Explorer and new query on start up - If you have used SQL Server 2000 Query Analyzer a lot in the past, you will surely notice that the query window does not open on start up. Go to Tools > Options. Select the Environment option in the treeview and from the At startup drop down on the right, select "Open Object Explorer and new query". From the next time on, a new query window will automatically open when you start a new instance just as in the old times.

Tip #2: Screen tips & Shortcut Keys - If you don't normally use keyboard shortcuts, there is a simple way to get acquainted with icons on the toolbar and their related shortcut keys. Select the Show Screentips on Toolbars & Show shortcut keys in ScreenTips checkboxes from the menu option Tools > Customize.

If you like keyboard shortcuts, check my compilation of SSMS shortcuts

Tip #3: Configure Shortcuts - This tip, derived from an older SQL Server 2000 article, helps you save typing "SELECT * FROM " every time you need to see a table listing. Go to the menu option Tools > Options and in the treeview expand Environment and select Keyboard underneath it. In the Query Shortcuts section, you can assign your own stored procedures to specific key combinations.

Tip #4: Filter objects - If your Table or Stored Procedure list is large, you often lose several seconds trying to locate a specific object. Let's say you want to look for tables related to Sales. You can right click on Tables under the database you are working in Object Explorer to invoke Filter > Filter Settings from the context menu. In the dialog box that opens up, type Sales in the Value column against the Name property while keeping the Operator as Contains.

You can filter database objects including Tables and Stored Procedure by Name, Schema & Creation Date. There are a host of Operators in the Filter Criteria to fine tune our search.

Tip #5: Select adjacent columns or rows - Occasionally you may want to select only certain columns or rows from the Results pane after you execute a query. You can select adjacent columns or rows by keeping Ctrl and Alt keys pressed while selecting the desired columns or rows.

For more detailed notes and screenshots, check my recent article.
Read More

Application Architecture Guide 2.0 BETA 1

When setting out on a new project, you risk painting yourself into a corner if you take ill-conceived decisions without knowing the choices you have. The book Application Architecture Guide 2.0 provides design-level guidance for the architecture and design of applications built on the .NET Framework. It is a collaborative effort between Patterns & Practices, Product teams, and industry experts. The guide in PDF format (2.64MB) is freely downloadable from CodePlex.

I have benefitted a lot from reading the Patterns & Practices guide "Improving .NET Application Performance and Scalability" that was published years ago and look forward to reading this new guide from P&P. There aren't many comprehensive guides like these for .NET practitioners and this guide thankfully fills a void. It's also a nice idea that they are seeking feedback from the community.
Read More
Software industry inspires cartoonists & vice versa

Software industry inspires cartoonists & vice versa

Nikhil recently posted a Dilbert comic strip on 'featuritis'. He wished the comic strips were available with full text search, something I would love as well. It would be cool if search engines had a feature to return cartoon strip images matching keywords in them.

It is interesting how the software industry has inspired cartoonists and vice versa. Here is a list of Dilbertisms related to computers & Internet -
  • Keyboard Plaque - The disgusting build-up of dirt and crud found on computer keyboards.
  • Mouse Potato - A couch potato with broadband.
  • Three-fingered Salute - The Ctrl+Alt+Delete combination required to reboot old versions of DOS, bring Windows 95 back to the real world, and log on in Windows NT/2000/XP.
  • Chips and Salsa - Chips = hardware, Salsa = software, as in 'Well, first we gotta figure out if the problem's in your chips or your salsa'.
  • Screenager - An online teen (18-24) that grew up in front of a TV or computer screen.
  • PEBKAC - Fault code used by helplines and call centres. Stands for 'Problem Exists Between Keyboard And Chair' - ie, a meatware issue.
  • Percussive Maintenance - Beating an electronic device with a stick in an attempt to get it to work again.
  • Uninstalled - Euphemism for being sacked. Heard on the voice-mail of a vice president at a downsizing computer firm, eg: 'You have reached the number of an Uninstalled Vice President. Please dial our main number and ask the operator for assistance' (also quoted as 'de-installed') (Synonym = decruitment).
  • 404 - Clueless. From the HTTP error code 404 (page not found).
  • Alpha Geek - The most knowledgeable, technically proficient person in an office or work group.
  • BSOD - Known by Microsoft as a 'stop error' and by everybody else in the world as the 'Blue Screen Of Death', this is Windows' number one way of spoiling your day.
Keeping up with the times, the Dilbert site has a Mashups feature that lets registered users replace Scott's punchline with their own. The text is filtered for obscenities and converted into &@*$#!s. Not just that it even let's other user's rank, comment on user submitted ideas and flag offensive content.

"I’m surrendering myself to the realities of the Internet," Scott Adams is reported to have said. "People can already doctor strips. We’re just making it easier so people have more reason to visit the site."

Randall Munroe creator of XKCD on the other hand doesn't use submitted comic ideas.

Also see:
Al Jaffee's MAD mag Fold-Ins in Flash
Read More

Book Review: Agile Project Management with Scrum

Many large companies have taken advantage of Scrum to undertake complex projects in an incremental fashion. Without doubt it is a promising methodology if understood & implemented properly.

If you haven't heard of Scrum or know little about it, Ken Schwaber's nearly 200 paged book 'Agile Project Management with Scrum' is a good resource to understand the essentials. The book is engaging all throughout as it is anecdotal & the tone is conversational. The author uses case studies (involving what appear to be fictional companies) to explain the important concepts of Scrum. Throughout the nine chapters, he constantly repeats the key phrases & jargon to reinforce the basic principles.

As the book is written by a Scrum co-creator and evangelist, I felt it was not objective & dispassionate. Although it has important tips for practitioners, it does not tell us specifically what scenarios Scrum is not suitable for.

Scrum is also idealistic. Sample this -

Scrum relies on individual and team commitments rather than on top-down control through planning. Self-organization and human commitment are far more powerful mechanisms than imposed controls, plans, and even loyalty.

When the team members stop acting as many and adopt and commit to a common purpose, the team becomes capable of self-organization and can quickly cut through complexity and produce actionable plans. At that point, the members of a team no longer accept obstacles, but instead scheme, plot, noodle, and brainstorm about how to remove them. They figure out how to make their project happen despite the different backgrounds and skill sets each person brings to the job.

Sounds cool, but how easy is it to build a self-managing, self-organizing team and importantly sustain it? You would have to find ways beyond this book to verify if Scrum is suitable for your project.

Nevertheless, this book is a helpful & practical guide to understand Scrum.
Read More
HOW TO view YouTube videos offline

HOW TO view YouTube videos offline

Sarah on Channel 10 has this tip -
The Zamzar web browser button is a bookmarklet you can add to your bookmarks toolbar folder in your web browser. With the bookmarklet installed, you’re then able to convert any files you find on the web and download them to your computer. To use the web browser button, just click on it when you’re on any website that contains files. Zamzar will auto-detect all the files on the page that can be converted and will highlight them for you. You can then choose which ones you want to convert and what format you want them converted to. You can even use the button to convert online videos from sites like YouTube.

There are other ways too.
Read More
Tools to monitor your website

Tools to monitor your website

Monitoring & maintaining your website is as important as building it.

Try out these nifty tools that make the job easy -
  • POPURI.US is an online tool to check the ranking (Google PageRank, Alexa Rank, Technorati etc.) and popularity of your website (based on social bookmarking sites like del.icio.us, etc) as well as that of your competitors. A widget is also available so that you can embed it on your site.
  • FEEDCOMPARE - If you offer RSS feeds using Feedburner, you can view the statistics of your Feed readership over intervals (1/3/6/12/24 months) as well as compare your FeedBurner subscriber numbers with competing websites. The charts are Flash based so you will need it enabled on your browser to view the stats.
  • W3C Link Checker - identifies broken links.
To be continued...
Read More

IE Developer Tools Tips & Tricks - #1

IE Developer Tools formerly called Internet Explorer Developer Toolbar and available as a separately installable browser add on is now integrated in IE 8 (Beta 2). It is accessible from the Tools option in the IE menu or by using the F12 shortcut. Although there are differences between Firebug and IE Developer Tools, it can be said that Developer Tools is to IE what Firebug is to Firefox - a friendly tool that helps a developer understand how HTML, CSS & Javascript operate within a web page & aids in fixing any issues that may arise in those areas.

There are a host of features in IE Developer Tools, some hidden within the menu options and their utility is not readily obvious. By knowing the scenarios in which they would be helpful, a developer can better utilize IE Developer Tools.

Take for instance the Color Picker. It is not something you would use everyday but you can make your client's day when she wants the background color of a table in a web page that you are building to be same as a peculiar shade of color as on her favorite website and you show it implemented in a jiffy using the Color Picker!

Color Picker
All you have to do is go across to her favorite website, select 'Show Color Picker' from the Tools option in the Developer Tools menu and use the Dropper to pick the color she is referring to as a RGB or hex value so that it is usable in a web page.

In the absence of this you would have to use a standalone color picker like Pixie.
Read More
HOW TO speed up your Windows Vista PC

HOW TO speed up your Windows Vista PC

I have found these tips from the Windows Vista online documentation practical & useful -
  • Disable services you don’t need - see possible list of Services to disable
  • Turn off visual effects - over 20 of them; if you want speed over looks
  • Delete programs you never use
  • Limit how many programs load at startup - made easy with Windows Defender
  • Clean up your hard disk - Start > Programs > Accessories > System Tools > Disk Cleanup
  • Defragment your hard drive - monthly is optimal or when your free disk space totals 15 percent or less

Related links:
Compare Windows Vista Editions
Free Microsoft E-Learning Clinic 3404: What's New in Windows Vista
Guide to Freeing up Disk Space under Windows Vista
Read More
Free SQL Server 2008 Learning Resources

Free SQL Server 2008 Learning Resources

Microsoft Press is offering a free 258 paged e-book - Introducing Microsoft SQL Server 2008

Microsoft Learning has a free e-Learning course - Collection 6187: What’s New in Microsoft SQL Server 2008

Red Gate has two free offerings - Dissecting SQL Server Execution Plans and How to Become an Exceptional DBA. (Thanks Mladen)

Related links:
Free SQL Server Videos
Track Free Microsoft e-Learning products with RSS feed
Read More
HOW TO find distance between 2 places using Virtual Earth Map Control

HOW TO find distance between 2 places using Virtual Earth Map Control

In the time that you search online to find a source to find the distance between two places, you can adapt one of the example scripts from Virtual Earth Map Control SDK 6.2 online documentation.

All you need to play with the Virtual Earth Map Control (version 6.2 has recently been released) is a fair knowledge of Javascript.

I do not have an in-depth knowledge of the Virtual Earth Map Control SDK (yet), but I was able to adapt the example for the VEMap.GetDirections Method within minutes to find distance between two places (in India) using Virtual Earth.

From the original sample, I omitted the function related to time it takes to travel between the two specified places as it is pretty irrelevant to India. Given the state of the roads, you never really know.

Related links:
Road maps of Indian cities on the Web
HOW TO find the latitude & longitude of any town/city using Virtual Earth Map Control
Read More

Book Review: Microsoft Office Outlook 2007 Plain & Simple

The book is what it claims to be - a simple, pictorial, plain English guide to Outlook 2007. It is suitable for folks who are completely new to Outlook 2007 or have some exposure to previous versions but find the new UI a little daunting.

I have used different email client tools at different times. I found Outlook 2007 intuitive and more feature rich than prior versions. This book helped me improve my Office skills. The major advantage of being skilled with tools rather than having a superficial knowledge is that you can leave home a little early from work and dazzle co-workers (provided they aren't reading these kind of books already)

Spread over 14 chapters & 250+ pages, this book covers all essential features of Outlook 2007 like managing E-Mails, RSS Feeds, Contacts, Calendar, Tasks, Notes, Journal, Items and Folders. Several practical tips are interspersed between the step by step instructions for implementing activities related to the above features.

It is assumed implicitly in some of the examples that Outlook 2007 is connected to Exchange Server 2007. My Outlook 2007 is connected to Exchange Server 2003. Due to this I was led offtrack by a screen shot showing the Scheduling Assistant with Suggested Times of meeting participants which I did not see when I tried it out. It turns out that the Suggested Times pane is shown only when Outlook is connected to Exchange Server 2007.

Overall, the book was breezy, useful and interesting to read. I recommend it to anyone who wishes to quickly understand the essential topics of Outlook 2007.
Read More

The One Click GMail Help Layer UI Pattern

I know GMail & Google Reader have some cool keyboard shortcuts like "c" to start composing a mail etc but never realized, there was a "?" shortcut. It displays the list of all important shortcuts instantaneously on a transparent layer over the web pages.

keyboard shortcuts
I feel this is an interesting UI pattern as it is unintrusive & very effective. I guess web developers can use this idea to simplify navigating data intensive applications with such simple shortcuts & the Help layer.

Another cute idea out of the GMail Labs is the Forgotten Attachment Detector. When the feature is turned on, you'll get an alert ("It seems that you might have forgotten to attach files.Send this message without attachments?") if you mention attaching a file but forget to do so. I noticed it works if there is a line like "the file is attached" & you forget attaching the file but not if you have a sentence that includes "check the attachment".

Related links:
Google Reader - the online/offline Feed Reader
Read More

HOW TO create an Excel 2007 Macro

I have recorded an Excel Macro in the past but never coded one until recently. I was prompted by a question in an online forum posting to learn, implement and respond to the query with a working code sample.

The requirement was to automatically copy the previous day's worksheet to a new worksheet and name the sheet with the date of the day (in the format MM-DD-YY) on which it is re-opened. This basically helps in a scenario where you have to maintain a daily log.

Unlike in Excel 2003, where the option to create a Macro was available from the Menu (Tools > Macro), in Excel 2007 the option to get started with coding a Macro is present in the new Developer tab.

To get the Developer tab, click the Microsoft Office Button, and then click Excel Options button present at the bottom. In the dialog box that opens up, select the Popular category, then under the Top options for working with Excel, select the Show Developer tab in the Ribbon check box, and then click OK.

To set the security level temporarily to enable all macros, click Macro Security on the Developer tab in the Code group. In the dialog box that opens, under Macro Settings, click Enable all macros (not recommended, potentially dangerous code can run), and then click OK.

To code a new Macro, you can click on Visual Basic or Macros option in the Developer tab.
I choose Macros. In the dialog box that opens up, name the macro specifically as Auto_Open in the textbox for Macro Name.

As it is named Auto_Open it lets Excel know that this macro has to run automatically when you open the Excel file.

When you click on the Create button in the same dialog box, the VBA editor opens up with this template -

Sub Auto_Open()

End Sub

I adapted a snippet that I found online and below is how my code finally looked. It has to paste within the above 2 lines in the VBA editor.

Dim wks As Worksheet

'Create new worksheet in the active workbook, put it after last sheet
Set wks = ActiveWorkbook.Worksheets.Add
(After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count))

'Try naming the worksheet as todays date (sorry, no "/" allowed in sheet names)
On Error Resume Next
wks.Name = Format(Date, "MM-DD-YY")
On Error GoTo 0

'Show a message if rename failed
If wks.Name <> Format(Date, "MM-DD-YY") Then
MsgBox "Sorry. Couldn't rename sheet to today's date."
End If

'Copy previous sheet to newly created sheet
ActiveWorkbook.Worksheets
(ActiveWorkbook.Sheets.Count-1).Cells.Copy Destination:=wks.Cells

'Select cell A1 of newly created sheet
wks.Select
wks.Range("A1").Select

'Release object variables
Set wks = Nothing


Save it. A worksheet with a template has to saved before hand so that the macro can use that as a base copy to create new sheets with current date and contents of the previous sheet.

Related link:
HOW TO create a Ribbon-less Excel 2003 UI in Excel 2007
Read More
HOW TO implement a Store Locator for a website?

HOW TO implement a Store Locator for a website?

The folks at Wotton.org have put up a simple online app that makes it easy to put up a Store Locator for your website in no time with Google Maps. The advantage of showing it in an online map is that it can utilize the Driving directions feature that can be useful to visitors of that website.

The app provides a simplified UI to build a KML file. It takes coordinates of the locations, with any titles and description that you may want to add. A KML (Keyhole Markup Language) file is basically a standardized XML schema file that can hold geographic coordinates & related content.

You have to drop this KML file in the same directory as the web page in which you want to show the map. A template HTML file that contains the Javascript to merge the KML/XML file info on the map, is also provided.

Google Maps runs only when you have an API key registered for your website. So you need to sign up for it (for free).

Each API key is uniquely mapped to the directory (URL) where the web page with the embedded map is used. So you cannot use somebody else's API key or use your own on a different domain than what you have registered with. If you try it, it throws this warning - The Google Maps API key used on this web site was registered for a different web site. You can generate a new key for this web site at http://code.google.com/apis/maps/

Thanks Jeffrey for sharing this tip.

Related link -
Road/Street maps of Indian cities on the Web
Read More
Road maps of Indian cities on the Web

Road maps of Indian cities on the Web

Creating road maps for India is a tough job. It's a bustling country full of idiosyncrasies. Not just street names even city names can change overnight based on popular or political sentiments. In the past decade, names of four major cities Bombay, Calcutta, Madras and Bangalore have been changed to Mumbai, Kolkota, Chennai and Benguluru respectively.

However, Road maps are essential for India's teeming millions and luckily there are quite a few free mapping services for India on the Web that do a fair job, notably:
Live Maps India has recently added a lot of detail including Street Maps for 9 important Indian cities (Delhi, Mumbai, Chennai, Kolkata, Bengaluru, Hyderabad, Pune, Ahmedabad, and Jaipur), Location Search, Business Search and driving directions. The driving directions include detailed textual map directions like in Yahoo Maps India but unlike Google Maps. It supports fuzzy search, the keywords you type need not be precisely spelt. Although not very comprehensive (I could not locate Microsoft's Hyderabad office, Hyderabad Central mall and Maitrivanam - the birth place of Hyderbad's IT story, on the Hyderabad map) it is definitely promising.

Google Maps, Yahoo Maps and Live Maps/Virtual Earth provide APIs to programmatically fetch maps & derive practical benefit from geographical info. I have found Live Maps/Virtual Earth the easiest to work with.

As per the Windows Live Web Services Terms of Use, Sites or Web applications with fewer than one million unique users pay no fees and the Virtual Earth service is free up to 3 million map tiles/month.

All the above three services support interesting keyboard shortcuts. You can use Arrow keys to Pan , "+" to zoom in, "-" to zoom out. In Live Maps, you can use Ctrl and Arrow keys to pan faster.

I know it's going to be long but I look forward to the day when Traffic tracking can be done through these online maps.

Related links -
HOW TO visually find the latitude & longitude of any town/city using Virtual Earth Map Control 6
Read More