Legal & Full-length movies on YouTube

Legal & Full-length movies on YouTube

Did you know, YouTube hosts scores of full-length movies & award-winning documentaries that you can watch online for free? There are movies from around the world in over a dozen genres. There are also a good number of Bollywood flicks there although you may not find your favorite ones.

Jennifer informs that there are also other places like Archive.org where you can find good entertaining stuff.

There is news that the upcoming Bollywood movie "3 Idiots" will be available online for free after 12 weeks of it's release.

Also see:
Free print version of Newspapers
Read More
Test your backups

Test your backups

The popular bloggers, Jeff Atwood & Phil Haack, lost their respective blog content after their sites went down to a hard drive failure. Interestingly, both of them share the same physical server & host their sites on Virtual Servers on the machine.  The Virtual Hard Drive files (usually referred to as VHD files) which contain the actual data for the virtual machines were always in use and were not being backed up. Haack informs that backing up a live virtual server requires taking advantage of Volume Shadow Copy Service (VSS).

They have both salvaged major portions of their blog content with help from a community of followers. They have candidly admitted their failure & shared their lessons learnt -
  • An untested backup strategy is no backup strategy at all! Test your backups!
  • Every day is International Backup Awareness Day.
  • Have a backup strategy that’s easy to setup.
  • Even if you have managed hosting, you should have your own local backups of the important content in your site.
  • If you can only back up one thing on your public website, it should be the images.
  • There are few organizations spidering and storing images on the web. The Internet Archive Wayback Machine is one of them
Also see:
Tips on ASP.NET Hosting & Deployment
HOW TO get back a missing web page or website
Read More

HOW TO GMail Chat in an Indian language

It is possible to chat in a number of Indian languages using Google's Transliteration tools. These tools let you type in English & convert the text to the supported Indian language of your choice on the fly.

There are at least three ways to GMail Chat in an Indian language -

1. Google India Labs' Transliteration bookmarklets - By dragging a bookmarklet onto the Bookmarks bar (or Link Toolbar in IE) & clicking on it to activate  transliteration, you can transliterate from English to Arabic, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Nepali, Persian, Punjabi, Tamil, Telugu and Urdu. To disable transliteration, click on the bookmarklet again. You can pick the specific bookmarklet from the Project's Home page. Detailed instructions for on storing the bookmarklet are well documented for each of the popular browsers.

2. Transliteration bots - Bots are software applications that run automated tasks. You can invite a bot to chat and then send it the message in English that you want to transliterate.



The bot will respond by sending you the transliterated text. There are seperate bots for Hindi, Kannada, Malayalam, Tamil and Telugu. They are identified by different email addresses.



You can even invite a bot to a group chat with a friend so that he sees the message you have typed in English in an Indian language as well. The bot responds in real-time with the transliterated text.



3. Firefox Google Transliteration Extension - Lets you transliterate from English to (currently) Hindi, Kannada, Malayalam, Tamil and Telugu. Install the Extension in Firefox 3 or above. After the browser is restarted for the Extension to take effect, it will show up in the status bar.



 While you have GMail Chat open, select one of the Indian languages in the combo box of the Extension that you want to chat in. Use Ctrl+G to disable transliteration. The advantage this technique has over the others is that you can easily switch between English & Indian language with the keyboard shortcut Ctrl+G

This extension enables transliteration for textareas and input text fields in any web page using Google AJAX Language API.

Update: Google Transliteration now supports seventeen languages and that includes not just Indian languages (the original motivation for the tool) but also global languages like Arabic, Greek, Nepali, Persian, Russian and Serbian.

Also see:
HOW TO view only the unread messages in your Gmail inbox
Read More

Google contest to promote Hindi on the Web, Knol & Transliteration tool


Google is running a Hindi essay contest called 'Hai Baaton Mein Dum?' till January 31st, 2010. Participants can submit an essay on any of the five topics given below in Hindi language -
  • Entertainment
  • Travel
  • Sports
  • Health
  • Social, Economic and Political issues
There is no limit to the number of entries per contestant and there are some 310 prizes to be won!

This contest doubles up as a promotion for Google's Knol & it's excellent Transliteration tool.

Knol, a Wikipedia style encyclopedia, has received a luke-warm response so far. 
Read More

Book Review: Website Owner's Manual

Ever since the Internet took off in a big way towards the end of the last century, it has revolutionized the way we live & work. It is a great platform for selling ideas or products as it provides a level playing field to anyone in the world with Internet access that wishes to leverage the medium. It makes it irrelevant whether someone seeking an online presence is working from a garage or some remote corner of the world.

Successful websites have earned their owners unimaginable wealth; far outstripping what traditional companies have earned in decades. Websites that are frivolous & provided only short term value have perished. The dotcom bust of the last decade sunk the fortunes of website owners who took their users for granted with their short sighted strategies.

So what makes a successful website? Is building one an obscure art?

Website Owner's ManualPaul Boag, a Web development veteran, answers these questions and shares the recipe for building & maintaining a winning website in the book Website Owner's Manual. It is a one of a kind book that consolidates key topics that a website owner needs to be aware of. It covers diverse themes like planning the site, selecting the team, creating website content,  handling it's design, aesthetics and development, usability, managing traffic, using Content Management Systems, Search Engine Optimization, hosting etc. There are also practical tips throughout the book. Sample these -

To quickly find out who is linking to your competition, you can type the following into Google link:http://www.yourCompetition.com

The first paragraph of the page should provide a summary of everything that follows, allowing the user to quickly ascertain if the page is relevant.

The author's writing style is breezy & informal. The cartoons that go with the content are thoughtful & keep the content light. I liked the mini website case studies spread throughout the book that highlight best practices, pitfalls and items of special interest.

I have known small business owners, entrepreneurs, non technical professionals (like doctors, academicians) who appreciate the power of websites to further their goals but lack the technical expertise to leverage the Web. This book can be a good introductory manual for such people.

I have been a honorary reviewer of this book while it was in the draft stage and I'm happy with the way the book has come out finally.
Read More
JavaScript - Trivia & Facts

JavaScript - Trivia & Facts

- As of 2009, the latest version of the language is JavaScript 1.8.1. However, not all browsers support the latest version (as there is no specific need). IE 8 supports JScript 6 (which is equivalent to ECMAScript 3, JavaScript 1.5 - more bug fixes over JScript 5) while Firefox 3.0 supports JavaScript 1.8 (1.7 + Generator Expressions + Expression Closures + misc.)

Check this test page & it's source to know which browser supports which version.

- JavaScript was originally developed by Brendan Eich of Netscape under the name Mocha, which was later renamed to LiveScript, and finally to JavaScript

- JavaScript, despite the name, is essentially unrelated to the Java programming language even though the two do have superficial similarities. The language's name is the result of a co-marketing deal between Netscape and Sun, in exchange for Netscape bundling Sun's Java runtime with their then-dominant browser. "JavaScript" is a trademark of Sun Microsystems

- JavaScript is officially managed by Mozilla

- Microsoft's compatible dialect of the language is JScript.

- Owing to the popularity of the World Wide Web, JavaScript is the lingua franca of the Web and is possibly the most used programming language.

Also see:
"Java is to Javascript as car is to carpet"
Read More

BigTech offers NGOs software titles at huge discounts

Heard this interesting news from Vinod Unny -

Non Governmental Organizations (NGOs) in India can get loads of software (& hardware) from Microsoft and other vendors at very low prices. All they need to do is sign up with BiG Tech, the philanthropy program of NASCOMM Foundation and provide details of their NGO status.

Once they are approved, they can choose from a huge list of software and obtain them by simply paying an admin fee. For instance, Windows 7 Professional Upgrade is available under this scheme for Rs.325 while Windows Server 2008 Standard costs Rs.1024.

There are only a few restrictions on the number of times that an order can be placed and number of titles.

Facts about BiG Tech -
* Over 300 registered NGO's
* Number of products donated – 3188
* Value of software donated - over 4.2 crores
* Big Tech covers 138 districts in over 26 states across India

Also see:
Pay It Forward with Wikipedia
Read More
Free .NET 4 & VS 2010 Learning Resources

Free .NET 4 & VS 2010 Learning Resources

There is news that Visual Studio 2010 may be launched in the first quarter of 2010.

(Trivia: Typically VS products release in the year in their product names but VS 2008 released Nov 2007)

There are already a number of useful learning resources on the upcoming technologies -

Also see:
Free SQL Server 2008 Learning Resources
Learning resources on Design Patterns for .NET Developers
Read More
PDF Security - a myth?

PDF Security - a myth?

In the whitepaper "How Secure is PDF?", Adobe Certified Expert (ACE) Bryan Guignard's conclusion on PDF security is -
The only way your property can be safe is if you keep it to yourself.

The site Giveaway Of The Day (GAOTD) is even giving away a commercial tool called Recover PDF Password for free. This tool unlocks restricted PDF documents & recovers passwords of protected PDF files.

As per comments at GAOTD, this isn't also the only tool. This comes as a rude surprise to me.

Sometimes, ignorance is not bliss.

Also see:
PDFZilla overrides PDF's copy protection
PDF Anatomy 101
A Web App Is As Secure As You Make It & the Browser It Runs On
Read More

Resize an Image & Email with just 2 steps

Got to know from Vinod Unny's tweet that you can select some pics in Explorer and click the "Email" button to auto-resize to emailable format in Windows7.

This feature works in Windows XP & Vista too! Right click a large image that you want to email. Choose Send To > Mail Recipient -


As soon as you do that, Windows XP provides an option to let you resize it -



The dialog box is a little different in Vista -


That's it!

Also see:
Crop Images online
Free tools to generate screenshots
Read More
Say Goodbye to Privacy

Say Goodbye to Privacy

Don't take yourself so seriously. No one else does.
Regina Brett

Danny Dover makes an interesting point on privacy -
The privacy conflicts .. encountered in the offline world are nothing compared to those .. in the online world.

With a story & hard facts he illustrates how our private details are tracked by popular websites -
And some people actually think nobody is interested in them :-)

Also see:
Internet activist: The dark side of web personalisation
Read More

Don't let Chrome & Firefox remember your passwords on a shared computer

If you like your browser to remember your passwords, you would have to be careful if you are agreeing to this setting in Chrome & Firefox, especially on a shared computer.
Remember Password, Firefox
Any unscrupulous person can find them out with little effort as this post by Roy Osherove explains.
With Firefox, the default behavior is to allow anyone to see your passwords as well, but you can actively choose to use a master password in firefox to make this less accessible. the default is that it’s open for anyone to see. With Chrome, there isn’t even a “master password” option.

IE, Opera, Safari store passwords if you ask them to remember but do not display them.

Also see:
IE8 Developer Tools Tips & Tricks
Read More
Some Software Engineering Myths Busted

Some Software Engineering Myths Busted

Measuring programming progress by lines of code is like measuring aircraft building progress by weight. – Bill Gates

Nachi Nagappan, a senior researcher at Microsoft Research worked with Microsoft development teams to validate conventional software-engineering wisdom and came out with these findings (copied almost verbatim) -

* Code coverage measures how comprehensively a piece of code has been tested; if a program contains 100 lines of code and the quality-assurance process tests 95 lines, the effective code coverage is 95 percent. Higher code coverage is not the best measure of post-release failures.

The reason is that software quality depends on so many other factors and dynamics that no one metric can predict quality—and not all metrics apply to all projects. Two of the most obvious reasons why code coverage alone fails to predict error rates: usage and complexity.

..it is more beneficial to achieve higher code coverage of more complex code than to test less complex code at an equivalent level

* Test-Driven Development - TDD teams produced code that was 60 to 90 percent better in terms of defect density than non-TDD teams. They also discovered that TDD teams took longer to complete their projects—15 to 35 percent longer.

...the tradeoff is that you reduce post-release maintenance costs significantly, since code quality is so much better.

* Assertions are contracts or ingredients in code, often written as annotations in the source-code text, describing what the system should do rather than how to do it.

More assertions and code verifications means fewer bugs.

Looking behind the straight statistical evidence, they also found a contextual variable: experience. Software engineers who were able to make productive use of assertions in their code base tended to be well-trained and experienced, a factor that contributed to the end results.

* Organizational metrics, which are not related to the code, can predict software failure-proneness with a precision and recall of 85 percent. This is a significantly higher precision than traditional metrics such as churn, complexity, or coverage that have been used until now to predict failure-proneness.

* Distributed-Development - One of the most cherished beliefs in software project management is that a distributed-development model has a negative impact on software quality because of problems with communication, coordination, culture, and other factors.

Does distributed development affect software quality? ...the differences were statistically negligible.

Organizational cohesiveness plays a bigger role than geographical distance.
Read More
Mapping APIs for India

Mapping APIs for India

There are quite a few free mapping services for India on the Web but only some among them offer APIs that web publishers can extend & integrate in their own websites.

There is news now that BIG Maps has also released its application programming interface (API). The documentation is pretty comprehensive with demos but it looks like it's not all official yet as the home page of the website currently sports a "Coming soon" label.

The FAQ informs that coordinate system that BIGMaps follows is proprietary but there are ways to import and export data from/to other formats.

This is an interesting development & I hope the competition among the players results in better products.

Also see:
2 months of BigFlix
Read More

Google Spreadsheet Size Limits

I found that the column T is the last you will find by default in a sheet in Google Spreadsheets. After a little digging, I found that it can have up to 256 columns, or up to 200,000 cells, or up to 100 sheets -- whichever limit is reached first. There's no limit on number of rows.

So how do you go beyond column T? One way is to right click on the column header & then select "Insert 1 right" from the context menu.



Here are some more size limits of Google Spreadsheets -
  • Each spreadsheet can have up to 20,000 cells with formulas. Of this total, the following limits apply:
    • Up to 1,000 GoogleFinance formulas
    • Up to 1,000 GoogleLookup formulas
    • Up to 50 Import formulas
  • You have a limit of 1000 spreadsheets. The spreadsheets that are shared with you do not count against 1000 limit.
  • The limit on spreadsheets open at one time is 11.
  • You can import spreadsheets up to approximately 1 Mb in xls, xlsx, csv, ods, txt, tsv, or tsb format.
Also see:
HOW TO get date N working days ahead in Excel & Google Spreadsheet
Read More
SQL Server DATENAME function returns Month number instead of name?

SQL Server DATENAME function returns Month number instead of name?

I recently came across a query posted by a puzzled developer -
Why does SELECT DATENAME(MONTH,GETDATE()) return '09' instead of the obvious result of 'September'?

The DATENAME function, after all, returns a character string representing the specified datepart of the specified date.

It turns out that if the language environment is set to Japanese, Korean or Traditional/Simplified Chinese (during installation or using SET LANGUAGE), months are stored as numerals instead of words for those languages & that's how they show up.

This can be verified by running the sp_helplanguage system stored procedure which reports information about a language.


Also see:
HOW TO find a column's value without specifying the column name
Read More
Free Anti-Virus Software from Microsoft

Free Anti-Virus Software from Microsoft

There are at least 36 AV software tools for the Windows Platform out of which about a dozen are free. Now, Microsoft Security Essentials joins that list. It is a free download that requires the OS where it is installed to be genuine Windows XP, Vista or Windows 7

It is lightweight & provides real-time protection against viruses, spyware, and other malicious software without hogging system resources as most AV software do.

MSE replaces Windows Live OneCare and Windows Defender.
Read More

MVP award renewed

Microsoft recognizes those who make contributions to technical communities with the annual Most Valuable Professional award. I'm thrilled to receive the news that this award which I first received in 2005 & in subsequent years has been renewed for this year as well. I thank everyone who made this award possible.

The best part of the award is that you get to hobnob with folks passionate about Microsoft technologies - authors, speakers and other technical community leaders.

Contributing to technical forums is part of my continuing education & it is gratifying to be rewarded for that. There have been many people who have inspired me with their work towards technical communities but I would specially like to mention Martin Honnen & Scott Mitchell.

Related:
Be a Microsoft MVP
I attended MVP Summit 2008
MS MVP Authors from India
Read More
The Beauty of Command-line Utilities

The Beauty of Command-line Utilities

I like the way command-line tools can be adapted for automating complex tasks.

For instance, if you had to populate the list of names of computers in your LAN in a combo box, the net.exe command can be utilized with the Process.Start() method in C#

Process netsend = new Process();
netsend.StartInfo.FileName = "net.exe";
netsend.StartInfo.CreateNoWindow = true;
netsend.StartInfo.Arguments = "view";
netsend.StartInfo.RedirectStandardOutput = true;
netsend.StartInfo.UseShellExecute = false;
netsend.StartInfo.RedirectStandardError = true;
netsend.Start();

StreamReader sr = new StreamReader(netsend.StandardOutput.BaseStream, netsend.StandardOutput.CurrentEncoding);

string sss = "";
while ((sss = sr.ReadLine()) != null)
{
if (sss.StartsWith("\\"))
comboBox1.Items.Add(sss.Substring(2).Substring(0, sss.Substring(2).IndexOf(" ")).ToUpper();
}

sr.Close();

Setting the CreateNoWindow property to true hides the console window.

Here is a list of command-line tools that I've found helpful (work in progress) -
Dear Reader, what are your favorite command-line tools?
Read More

Book Review: Beginning SQL Server 2005 for Developers

Beginning SQL Server 2005 for Developers by Robin Dewson lives up to it's title of being a helpful resource for beginners to SQL Server 2005. The author patiently walks the reader through the basics & a wide breadth of topics with adequate examples in the 500+ paged book spanning 14 chapters. Many of the examples are demonstrated using multiple modes - SQL Server Management Studio, TSQL & Templates.

The book is filled with interesting facts, "gotchas", practical tips & tricks that make the chapters engaging. I have used the SELECT statement for years but I did not know that $IDENTITY & $ROWGUID can be used with the SELECT statement to return the value from the IDENTITY column & the ROWGUID column if such columns exist within the table being querying upon. Similarly I have used the COUNT function but didn't know there was a COUNT_BIG function as well that returns a bigint data type value unlike COUNT which returns an int type value.

I feel the information in the book could have been better presented & organized. There were some places where the examples of usage could have been closer to the topic for better assimilation.

My rating: 4/5

Also see:
SSMS Tips & Tricks
Free SQL Server 2008 Learning Resources
Read More

Book Review: Cancer Has Its Privileges

We have put a man on the moon decades ago, but it's sad that science doesn't have a solution yet to wipe out the scourge of Cancer which has been there for centuries. The Big C is a devastating illness that cripples it's victims physically, monetarily & more than that, mentally as it affects their loved ones as well.

Cancer Has Its Privileges: Stories of Hope and LaughterCancer Has Its Privileges: Stories of Hope and Laughter is a poignant compilation of thoughts, anecdotes, poems and "chicken soup for the soul" type of experiences by brave cancer survivors & their loved ones. This is the fourth book of the author Christine Clifford, a cancer survivor & founder of The Cancer Club, who believes in the therapeutic value of positive thinking & humor.

The book has tips for cancer patients, their family & friends on coping with the dreaded illness. Sometimes well-meaning well-wishers of a patient get disconnected not knowing how to help. There is a chapter on how friends & family can help. Some ways of showing care & support to the afflicted is by spending time together, accompanying them on their visits to the hospital, offering to help with daily chores, preparing meals, being a "nap nanny", gifting them their favorite books & music and complimenting them on their positive changes.

This is a good book for anyone whose life has been touched directly or indirectly by cancer.
Read More

Doloto - useful addition to a Web Developer's Toolkit

I have been using the following Web Development tools over the past few years and they have helped me to be more productive -

I discovered 2 new tools that not just tell you what is inhibiting performance of a page but also cut the fat off web pages making them speedier - Doloto & Smush.it

Doloto is a JavaScript download optimizer developed by Ben Livshits of Microsoft Research.

Smush.it is an image optimizer. It reports how many bytes would be saved by optimizing the page's images and provides a downloadable zip file with the minimized "lossless" image files.

Are there any other indispensable Web Developement tools that I'm missing?
Read More

Free eBook: The Principles Of Successful Freelancing‏

The Principles Of Successful FreelancingSitePoint occasionally gives away ebooks of some of their publications. In the recent past, they have given away titles like "The Art & Science Of CSS" and "Firefox 3 REVEALED".

For a limited time, they are offering a free eBook "The Principles Of Successful Freelancing" if you follow them on Twitter or provide your email address (they will email the link from where you can download the eBook).

The book has around 200+ pages & 8 chapters -
Chapter 1: Considering Freelancing?
Chapter 2: Prepare for the Transition
Chapter 3: Manage Your Money
Chapter 4: Set Yourself Up
Chapter 5: Win the Work
Chapter 6: Give Great Service
Chapter 7: Achieve Work–Life Balance
Chapter 8: Where to from Here?

Also see:
Startup 101 - free, online serialized book for first-time entrepreneurs
Giveaways
Building non-technical skills
Read More
Appending to file with BCP

Appending to file with BCP

I found an interesting tip about BCP (the SQL Server command line tool) on the MSDN Forums

While exporting data from SQL Server to a file using BCP, it always overwrites the contents of the file specified in command if it already exists or creates a new file but it cannot append.

If ever you need the output of a query appended to the info in a existing data file, use an intermediary file to manage the updation of the data file -

Exec master..xp_cmdshell 'bcp "select name from sysobjects" queryout "c:\tempexportfile.txt" -c -T -SYourServerName'
Exec master..xp_cmdshell 'type "c:\tempexportfile.txt" >> "c:\mainexportfile.txt"

Also see:
Exporting to Excel with bcp
Read More

Excel Tips & Tricks

My Wife & I, share a liking for Excel (& good food). Once in a while, we exchange Excel tips & tricks that we may have picked up. I recognized this common interest a couple of years ago, when she pointed out that the count of rows & columns have thankfully increased since Excel 2003 and marvelled at the improvements in Charts in Excel 2007 with the same excitement that is usually reserved for a special dish. I did not loose a chance then to tell her how to get a Ribbon-less pre-Excel 2007 UI.

Just so that I do not forget the tips & tricks we discuss, I plan to document them here.

1) Find & replace a special character - This trick is adapted from a response on the MrExcel Forum

Let's say you have received an Excel file with a pesky non printing character at several places in a sheet and now you need to replace it with something else. How to go about it?

Get the numeric code of the pesky character using the CODE function. For instance, the formula =CODE("!") will display the numeric code for ! or 33

Next, invoke the Find box using the shortcut Ctrl + F. Click in the Find box, hold Alt key and type 0 followed by numeric code of the mysterious character you have encountered(for example, for "!", you would type 033 instead of 33), on the number keypad and then the release the Alt key. As soon as you release the Alt key the character whose numeric code you typed will appear in the Find box.

Now go to the Replace tab, place the character to substitute in the "Replace with" textbox, and hit Replace All.

Excel Help suggests in the topic "Remove spaces and non printing characters from text" that you can also use a combination of the TRIM, CLEAN, and SUBSTITUTE functions to remove non printing characters

2) Matching row, values of adjacent cells - I find this question frequently being asked on technical Forums. To get a result that is based on values of adjacent cells in a row, use the combination of INDEX & MATCH as explained in the topic "Look up values in a list of data" in Excel Help.

3) (Added: 17-Sep-09) Increment numeric values in a range of cells by a standard value - Jonathan Van Houtte's tip shows you how to add a value of 10 to large number of existing cells containing (let's say) salary amounts at one shot.
  1. Type 10 in any empty cell.
  2. Copy that cell.
  3. Select the range of cells containing Salary amounts
  4. Right-Click, and choose Paste Special.
  5. On the Paste Special dialog box, click the Add radio button (in the Operation frame)
  6. Click "OK"
  7. Clear the cell with the 10.

To be continued...

Also see:
HOW TO create an Excel 2007 Macro
HOW TO conditionally format entire row/s based on a cell's text value in Excel 2007
Read More
Exporting to Excel with bcp

Exporting to Excel with bcp

I was recently looking for a quick way to export SQL Server table data (over 1,00,000 records) to a Excel file.

I found that the bcp command line tool can export SQL Server table data to a .xls file but when I export it to a Excel 2007 (.xlsx) file, I couldn't open the file. It throws a warning - "Excel cannot open the file because the file format or extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file".

The fix to this issue reported in ASP.NET Forums which points to a MS KB article, is complicated.

I wondered, if bcp can export to a .xls file why can't it smoothly export to a .xlsx file?

Curiously, I was able to able to export over 7 lakh records to a .xls file (which is supposed to have a row limit of ~65K rows in 22seconds) with bcp and the .xls file opens fine in Excel 2007 displaying all the 7 lakh records.

Vinod helped me understand how the process actually works -

Fundamentally, you need to understand that the BCP command doesn’t actually write as a real XLS file. Try to open it in Notepad and it would be a mere csv format. It is just that Excel seamlessly opens it without any problem. Now with .XLSX extension Excel 2007 expects the same to be in the XML format (which it isn’t actually) and hence the error.

BTW, the format of XLS or XLSX doesn’t determine the number of rows. It is the version of Office (2003/2007) you are running.
Read More

Travel Planning & Reservation Tips using Online Tools

A number of online tools & services have emerged for travelers in India in the last couple of years that help you plan & complete reservations, faster than ever.

What is the fastest and/or cheapest way to travel between two places in India?
Try 90di.com's online travel search engine. It gets you possible routes by bus, train, flight or train & flight. The best part is (in most cases) you get to view the fare & duration in the search results that are delivered amazingly fast. You can choose to sort on the results by Departure time, Arrival time, Duration, Transits, Fare. The search results contain links to book tickets online through a service provider's website.

You can also send your travel search queries in subject field of email to the emailID 90di.com@gmail.com and you will get your search result in your inbox within minutes. For instance, to check availability of Second Class AC reservation on Coromandal Express (Train # 2841) on 25/Aug/2009, type "AVL train 2841 HWH to MAS on 25/Aug/2009 2A" as your email subject & send.


When is the latest date by which I can get confirmed (or wait-listed) train tickets?
Use Cleartrip's Availability calendar for Indian Railways trains. It shows you availability starting from the current day to the next 3 months.

How to find train or flight info when you don't have access to the Internet?
You can dial 139 from your landline, mobile & CDMA phones for railway inquiries or try Indian Railway's SMS Enquiry Numbers: 57886, 54959, 5676747. I have tried & found Google India's SMS service to be a better proposition. To find the PNR Status, SMS "pnr {number}" to 9-77-33-00000. You can similarly find a train's schedule ("train schedule 2926"), trains between stations ("train delhi to mumbai"), train seat availability ("train avail 1018 Bangalore to Mumbai on 24-04"), train fare ("train fare 1018 Bangalore to Mumbai for SL")

To check the status of flight IT 302, send SMS with the query "it302"

Also see:
Make the most of IRCTC
E-Commerce in India
Read More

Microsoft Office Labs Community Clips

I knew that there were free screencasting tools available, but I did not know about the Microsoft Office Labs Community Clips until I read about it on Channel 10. Community Clips provides a little app that on installing integrates into Office applications. It lets you record a clip or a tutorial in Office and then share it with others online on SoapBox. As the SoapBox service will terminate soon, uploading the WMV file of the screencast is currently disabled.

I hope they bring out a new avatar of SoapBox that uses Silverlight instead of Flash to run the videos while also supporting subtitles.

Update(22-Aug-09): Community Clips works not just for Office applications but also any application that is currently open. Once Community Clips is invoked, it sits in the system tray.


It can be managed with these hot keys -
  • To start recording: Windows key + Alt + R
  • To stop recording: Windows key + Alt + T
  • To pause recording: Windows key + Alt + P
This screencasting tool can also be put to good use for error reporting. It is not uncommon for developers to receive complaints on their application although it has been aggressively tested & found to work great on the developer machine. In addition to programmatic error logging, certain issues arising due to a browser toolbar or other environmental settings on the end-user's computer which are hard to replicate on other computers can be better captured with a video recording using the screencasting tool.
Read More

Spelling & Grammar Check in Browsers

It's good to see browsers picking the good features of each other & in some cases refining them so that it becomes a standard in subsequent versions of other browsers. Tabbed browsing, In-line Search, "Find As You Type", Undo Close Window (Ctrl+Shift+T), built-in Developer Tools are all innovative features started by one browser brand & supported by the rest.

An interesting new feature that has come up in Firefox, Safari & Chrome that I'm really finding useful is Spell-Check. Every time there is a typo or a spelling mistake in a text area within a web page that you are typing into, the red squiggles show up when you commit a spelling mistake & you can pick up the correct spelling from the context menu. Safari 4 also introduces Grammar Check, although it's not as refined as we see in MS Word. I hope Spelling & Grammar Check go on to become a standard browser feature.

Also see:
Keyboard shortcuts common to Firefox & IE 8
The Collective Decisions of Competitors
Read More

Virtual TechDays

If you work with Microsoft technologies, there have been a lot of new developments that you may have to keep pace with to stay current. Microsoft India is conducting free online sessions (nearly 50 in all) from August 19 to 21st on the following topics:
  • Web Development
  • Windows 7 and Client Development
  • Microsoft’s Cloud (Azure) Platform
  • SQL Server
  • Windows 7

The Virtual TechDays sessions will be delivered by experts through live streaming. Register to take part.
Read More
Free SQL Server Tools

Free SQL Server Tools

SQL Server Magazine has compiled The Mega Guide to Free SQL Server Tools that has over 80 tools for under these categories -
  • Administration
  • Backup and Recovery
  • Best Practice and Compliance
  • Business Intelligence
  • Change Management
  • Code Formatters
  • Database Comparison
  • Database Security
  • Development
  • Job Management
  • Log Management
  • Performance and Monitoring
  • Prevent SQL Server Injection Attacks
  • Web Administration
Check them out....

I'll list my favorites among them here after I try them out.

Also see:
Free SQL Server 2008 Learning Resources
Free SQL Server Videos
Database Schema Samples
Read More
HOW TO access a HTML Label tag's text programmatically

HOW TO access a HTML Label tag's text programmatically

On a technical Forum that I frequent, there was a question on how to get the Label tag's text associated with a radio button (or for that matter any other control). The easiest way I found is to use jQuery -
alert($("label[for='radio1']").text()); //radio1 is the ID of a radio button

You would need to throw in a reference to the jQuery library when you run that statement. The better way is to link to the online copy here - http://code.jquery.com/jquery-latest.js

Is the label tag important anyway? I didn't think so until I read this in W3Schools -
The label element does not render as anything special for the user. However, it provides a usability improvement for mouse users, because if the user clicks on the text within the label element, it toggles the control.

The for attribute of the label tag should be equal to the id attribute of the related element to bind them together.

Did you know an ASP.NET radiobutton control renders as an INPUT tag with type "Radio" and the radio button's text is rendered with a LABEL tag? So clicking on the radiobutton's text would be as good as clicking it.

Also see: The optgroup tag
Read More
ASP.NET MVC vs. Web Forms

ASP.NET MVC vs. Web Forms

The July edition of MSDN mag has an interesting article by Dino Esposito that compares Web Forms And ASP.NET MVC. The author presents an excellent 100 feet view of ASP.NET MVC and I loved reading it. As I'm going to re-read it & recommend it to others, I've made a Reader's Digest version of it that squeezes the 3500+ worded article to about 500 words -

Benefits of ASP.NET Web Forms
  • ..stable and mature, supported by heaps of third party controls and tools.
  • To simulate stateful programming over the Web, ASP.NET Web Forms introduced features such as viewstate, postbacks, and an overall event-driven paradigm.
  • ..componentization of some ASP best practices
  • Productivity and rapid development of data-driven, line-of-business applications
Drawbacks of Web Forms
  • ..separation of concerns (SoC) has not been a natural fit with the Web Forms paradigm.
  • Automated testing of an ASP.NET Web Forms application is hard
  • ..postback model .. makes it harder for search engines to rank ASP.NET pages high.
  • ..excessively large viewstate is problematic

Benefits of ASP.NET MVC
  • ASP.NET MVC is a completely new framework for building ASP.NET applications, designed from the ground up with SoC and testability in mind....a working environment that enables, not penalizes, test-driven development (TDD)
  • No postbacks
  • No viewstate
  • ..stateless behavior, full control over every single bit of HTML, total script and CSS freedom.
  • ..leaner run-time stack ... the run-time stack of ASP.NET MVC is simpler and the difference is due to the lack of a page lifecycle.
  • unparalleled level of extensibility
Drawbacks of ASP.NET MVC
  • ..full control over HTML, JavaScript, and CSS, ASP.NET MVC means that you enter the Web elements manually....a step backward in terms of usability and productivity.
  • ..not something you can easily learn by experimenting....this may be the source of decreased productivity for the average Web Forms developer.
Interesting facts
  • ..the size of the viewstate decreased significantly in the transition from ASP.NET 1.1 to ASP.NET 2.0 when Microsoft introduced a much more efficient serialization algorithm.
  • Ruby-on-Rails has proved that MVC can also be a successful pattern for Web applications; and ASP.NET MVC confirms this.
  • ASP.NET MVC today lacks some level of abstraction for creating standard pieces of HTML. HTML helpers are just an interesting attempt to speed up HTML creation
  • Web Forms embraces the RAD philosophy whereas ASP.NET MVC is TDD-oriented
  • Web Forms goes toward an abstraction of the Web that simulates a stateful environment, while ASP.NET MVC leverages the natural statelessness of the Web and guides you towards building applications that are loosely coupled and inherently testable, search-engine friendly, and with full control of HTML.
  • ASP.NET MVC is not the only way to get SoC in ASP.NET.
  • Web Forms was designed to abstract the Web machinery.
  • ASP.NET MVC exposes Web architecture.
  • ASP.NET MVC was designed with testability and Dependency Injection in mind.
  • ASP.NET MVC takes you towards a better design of the code.
  • ASP.NET MVC is young and lacks a component model.
  • ASP.NET MVC is not anti-Web Forms.
  • Web Forms is a model based on the "Page Controller" pattern.
  • ASP.NET Web Forms doesn't prevent unit testing, but it requires much discipline and repetitive boilerplate coding to do so.
  • ..in ASP.NET MVC intrinsic objects are mockable as they expose interface and base classes.
  • ..control over HTML and SEO-friendly URLs, both advantages of ASP.NET MVC, can be achieved to some extent in Web Forms. ASP.NET 3.5 SP1, in particular, includes the URL Routing and History API for SEO

Also see:
ASP.NET MVC: What is it and should I use it?
Read More

Selecting multiple attachments at once in GMail

I came across the multi-select attachments in GMail feature by accident but later found that this has been documented or rather blogcumented. You have to hold down the Ctrl key and click on each file you want to attach to your message.

However, there is a twist. This feature works in all browsers (IE, Safari, Chrome, Opera) except Firefox, the browser I normally use with GMail.


In Firefox it shows the File Upload control while in other browsers, it displays the Open dialog box to choose files.



No wonder I've been missing that feature all these days.

Related posts:
HOW TO easily verify your website design in different browsers/OSs
HOW TO test a web page in different versions of IE
HOW TO make web pages "cross browser"
Read More
Mobile OS Upgrades

Mobile OS Upgrades

In a mailing list that I'm part of, there was a question on why installing a new OS on a Mobile is difficult. MVP Saurav's response was interesting and I quote him (with permission) -
Mobile Phone ecosystem is not like a PC. On a PC a user can upgrade the hardware as he wants. If he wants a higher megapixel webcam he can simply buy one & install it. However, this isn't possible on a regular mobile phone. A Mobile phone OS isn't like a PC OS. The reason Apple is able to give free upgrade to iPhone 3G is because they control the iPhone ecosystem. They make the hardware so they know the hardware won't change & it is just one hardware configuration. On the other hand, there are many Windows Mobile phone manufacturers with different configuration due to which Microsoft cannot make a "One size Fits all" OS upgrade. This is the reason, its upto the Device manufacturer to provide OS upgrade & not Microsoft.
Read More
HOW TO automatically read your favorite English blogs in your native language

HOW TO automatically read your favorite English blogs in your native language

If you like reading blogs in English in your native language but find having to translate them EACH TIME with online translation tools a hassle, then this Google Reader tip will come as a big time-saver. This tip will help only if your native language is one of the 21 languages that Google Reader currently supports.

Here are the steps:
  1. Subscribe to the feed of your favorite blog with Google Reader
  2. In Google Reader, go to the Settings option that's on the top menu on the right
  3. In the Settings page, in the first tab Preferences, select your native language from the Language combo box.
  4. Click on the "Back to Google Reader" link to view the blogs you have subscribed to.
  5. If you have subscribed to multiple blog feeds, select a single blog Subscription from the Subscriptions panel on the left.
  6. In the detailed listing of Feeds in the main panel, click the "Feed Settings..." drop down that is in the section below the blog title.
  7. From the drop down list, choose "Translate into my language." (if you have changed your language in step 3 to a non-English language, you would see the message "Translate into my language." & all other labels in Google Reader in your native language)
  8. Voila! Now all the posts will appear in your native language.
If you have subscribed to multiple feeds, you would have to repeat steps 5 to 8 for each feed subscription.

Also see:
Google Reader - the online/offline Feed Reader
HOW TO use Google Reader for bookmarking useful pages
HOW TO access web pages faster on a slow Internet connection
Read More
Project Tuva makes Science fun

Project Tuva makes Science fun

"...many of the sciences are so abstract, and the amount of things you have to learn before you start connecting to those practical issues can be very daunting." - Bill Gates

Microsoft Research has been releasing a lot of interesting projects this year - Songsmith, an improved Translator, WorldWide Telescope (WWT) and now Project Tuva. Some of them are offbeat and path-breaking.

Project Tuva is an interactive educational video application built with Silverlight.

Project Tuva is an interactive video experience that makes learning about science relevant and exciting through annotations authored by researchers and subject-matter experts. Project Tuva is launching with Richard Feynman's Messenger Series lectures, a cornerstone set of seven talks at Cornell University in 1964. These videos are enhanced with a number of different layers of contextual information: full transcripts and captions, fully searchable transcripts, time-synchronized contextual "extras" that link to web resources to learn more about a spoken topic, the ability to take notes while watching, integration with Microsoft Research's own amazing World Wide Telescope project, and more.


Written in Silverlight, it uses Smooth Streaming to dynamically switch between different bit rates of video without interrupting playback. This allows the video to play in a way that's more immediate than the usual buffer-then-watch online video experience. It uses a sophisticated and fully liquid layout system to adapt to different screen sizes and viewing aspect ratios. All modifications the user makes to the interface's layout are remembered between sessions.
Read More
Startup 101 - free, online serialized book for first-time entrepreneurs

Startup 101 - free, online serialized book for first-time entrepreneurs

Ever wanted to be a Web entrepreneur? Startup 101 is an online serialized book that shows you what's invovled in becoming one.
"Startup 101" is a serialized book about the thrills and spills of starting a Web technology venture....Startup 101 is for first-time entrepreneurs who want to go through the whole startup life cycle - including raising money, building a valuable business, and making a lot of money by selling the venture or taking it public.

This is the tentative list of chapters -
  1. 10 things to be clear about before you start
  2. Are you really an entrepreneur?
  3. How first-time entrepreneurs can work well with investors
  4. Creating your vision, mission, strategy, and plan
  5. Finding the right wave to ride (secular trends)
  6. Working booms and busts to your advantage (cyclical trends)
  7. Building your team pre-financing
  8. Building an advisory board
  9. Finding a URL and company name
  10. Company registration choices
  11. The Capital-Raising Ladder
  12. How to pitch to a VC or angel
  13. How not to get screwed by VCs
  14. Understand the scale vs. profitability trade-off
  15. Build an insanely great Web service
  16. Learn to negotiate and close
  17. How to be an effective executive
  18. Steps in building a brand
  19. How to get noticed
  20. How to scale without losing your shirt
  21. Maintaining focus, health, and passion during the grind-it-out phase
  22. How to build the A-Team
  23. How to hit your numbers
  24. How to build an effective board
  25. How to build age-appropriate processes
  26. Planning your exit
  27. When and how founders should hire a professional CEO
  28. Read some great books for inspiration
  29. Negotiating your exit
  30. Congratulations! What's next?

At this moment, the first 17 chapters have already been published

Also see:
Free SQL Server 2008 Learning Resources
Learning resources on Design Patterns for .NET Developers
Free C++ Learning Resources
Read More
Save the Earth

Save the Earth

Just in case you haven't heard of it yet or seen it, HOME is a documentary movie by Yann Arthus-Bertrand with breathtaking photography on how we can preserve the Earth before it's too late. It is available for free viewing on YouTube.

Synopsis of the documentary:
In 200,000 years on Earth, humanity has upset the balance of the planet, established by nearly four billion years of evolution. The price to pay is high, but it is too late to be a pessimist: humanity has barely ten years to reverse the trend, become aware of the full extent of its spoliation of the Earth's riches and change its patterns of consumption.

If you are concerned about the environment, you should also take a look at the book Blue Planet Run: The Race to Provide Safe Drinking Water to the World. It tells the thought-provoking story of the drinking water crisis across the world through 250 photographs by the world’s top photojournalists. You can download the book in PDF format for free from Amazon.
Read More
Resources on Improving Scalability of ASP.NET apps

Resources on Improving Scalability of ASP.NET apps

I plan to compile all the good stuff I find on Scaling ASP.NET applications here for easy reference. If you know of any other useful resources, please leave a comment

1) The freely downloadable Patterns & Practices guide Improving .NET Application Performance and Scalability has exhaustive info and is a kind of .NET bible. The guide is still relevant eventhough it has not been updated since it was first published in 2004.

2) Key points from the MSDN magazine article "Scaling Strategies for ASP.NET Applications":
  • Specialize- break your application into smaller pieces in order to isolate the problem. Know where your slowest bits are
  • Optimize the code before throwing more hardware at it. Test to measure improvements
  • Implement load balancing - add servers, duplicate the application across them
  • Eliminate affinity for effective distribution
  • Minimize Payload by 1) turning on compression 2) reducing ViewState 3) using AJAX (discriminately) to make initial render times faster and reduce perceived size of the payload by spreading it out over time
  • Implement caching - ASP.NET supports three forms of caching: page caching (also known as output caching), partial-page caching, and programmatic (also known as data) caching.
  • Partition databases into readers and writers. The reader databases are read-only; they receive their data from the writer databases via replication. All data queries go to the reader databases, which are optimized for reading data as fast as possible. All data write requests are sent to the writer databases, which are partitioned and tuned to write efficiently.
3) Jeff Atwood offers some food for thought on scaling -
Scaling up and scaling out are both viable solutions, depending on what problem you're trying to solve, and what resources (financial, software, and otherwise) you have at hand.

...scaling out is only frictionless when you use open source software. Otherwise, you're in a bit of a conundrum: scaling up means paying less for licenses and a lot more for hardware, while scaling out means paying less for the hardware, and a whole lot more for licenses.

Also see:
Approaching ASP.NET Application Performance and Scalability Improvement
SQL Server Performance Audit Checklist
Read More
Fiction to Fact

Fiction to Fact

Just like Jules Verne's ideas on submarine in the book Twenty Thousand Leagues Under the Sea have turned out to be prophetic, the idea of a gestural interface in the movie Minority Report seems to have inspired many researchers and such a UX technology could be commonplace in the near future.

Scott Hanselman recently interviewed Johnny Chung Lee, a researcher in the Applied Sciences group at Microsoft who works with the Project Natal team. Project Natal is the code name for a hands-free motion-sensing technology by Microsoft for the Xbox 360 video game platform.

Science is hardly a topic on Indian prime time TV, but last Sunday the channel CNN IBN started a series called Superstars of Science which featured among other innovators, Pranav Mistry, who is working on a wearable gestural interface at MIT Media Lab.
Read More

Online Reputation/Recommendation systems

It is interesting to see how the Web is increasingly being used to help as a reputation/recommendation system.

Online recommendation

On the work front, there is a good chance that LinkedIn.com can give you some background about a person you are about to meet for the first time. For many, the ratings & recommendations for books on Amazon.com help in deciding on making a purchase. StackOverFlow.com is a unique forum for software developers that not just has answers but also ratings for those answers through "crowdsourcing".

I hope the infrastructure/frameworks for building such reputation/recommendation systems become more easily available & configurable so that developers can build more meaningful websites.

Dear Reader, what websites do you frequently look up for recommendations or validating information?

Related:
Preparing your online profile for employers
If You Liked This, You’re Sure to Love That
Read More