Issue dated - 4th November 2002

-


CURRENT ISSUE
INDIA NEWS
NEWS ANALYSIS
STOCK FILE
E-BUSINESS
OPINION
INDIA COMPUTES
PERSONAL TECH.
OUTSOURCING
REVIEWS
PRODUCTS
EVENTS
COLUMNS <NEW>

TECH FORUM
THE C# COLUMN

EC SERVICES
ARCHIVES/SEARCH
IT APPOINTMENTS
WRITE TO US
SUBSCRIBE/RENEW
CUSTOMER SERVICE
ADVERTISE
ABOUT US

 Network Sites
  IT People
  Network Magazine
  Business Traveller
  Exp. Hotelier & Caterer
  Exp. Travel & Tourism
  Exp. Backwaters
  Exp. Pharma Pulse
  Exp. Healthcare Mgmt.
  Express Textile
 Group Sites
  ExpressIndia
  Indian Express
  Financial Express

 
Front Page > TechSpace > Tech Forum Print this Page|  Email this page

Exploiting technology to the fullest

After a gap of many months, I am back with your favourite TechForum. During this time, many of you have sent feedback either to me or to Express Computer requesting resumption of the column. It was long overdue, but finally the wait is over

In TechForum I intend to take a very practical approach and bring in hands-on experience wherever relevant. There are so many new developments taking place all the time in Information Technology. It is impossible for everyone to try out every new or upgraded technology when it is introduced. However, I am in the business of learning technology. Therefore, I would like to share the practical experience gained by my team during their learning process. This would help to reduce trial-and-error at your end, and would help you to build confidence in a given technology faster.

As usual, I encourage you to send feedback to techforum@mediline.co.in. We are also discussing various ways of making TechForum more effective and interactive. Your ideas and suggestions are most welcome. Enough of introduction! Now let us get down to business.

The new theme
The theme of TechForum for now is “Exploiting technology to the fullest”. Although this has been the focus of TechForum over the years, I will be highlighting this issue as the central theme.

In the highly competitive scenario today:

  • Everybody wants to maximise return on investments.
  • Every step of technology utilisation right from tool selection to maintenance requires justification.
  • There are too many products, tools and features.
  • Nobody has the time to learn everything about everything.
  • More importantly, nobody has the time to learn everything that a selected tool/ language has to offer.

Thus, on the one hand we want to maximise the utilisation but on the other, we have no time to learn! TechForum will highlight such opportunities for technology utilisation that are right there in front of you, on your development machine, in your organisation.

Why are features added?
All of us like to grumble that there are far too many features being added into software by vendors, and that it is just impossible to learn all of them. That may be true on the face of it. However there is a deeper meaning to features. Let us consider why features are added. The best way to show this is by giving an everyday example:

Open MS Word

Create a new blank document

Type anything in it.

Now view the tool-tips of the Standard toolbar icons.

If you don’t see tool-tips, then choose Tools—Customize—Options tab. Check the Show tooltips option.

Now see the tool-tips for the following icons

Icon Tool-tip
New Blank Document
Open
Save
E-mail
Print (<your default printer name>)

All other tooltips only show the meaning of the icon. (If you have enabled shortcut keys, the keyboard shortcuts will also be shown). But the print icon also shows the name of the default printer. Ever noticed it? It was not there in earlier versions. Why has this feature been added? Think...

It is definitely because it added some competitive value to MS Word. It is simply because, clicking on print icon directly prints the document on the default printer. It DOES NOT show the print dialog where you can change the printer. As a result, in earlier versions, many users ended up printing the document on some wrong printer. To avoid this mistake, it is important and relevant to show the default printer name. That way such mistakes can be prevented.

Why was this feature not there earlier? It was added after analysing utilisation of Word and by responding to user feedback. If you analyse every feature like this, you will soon realise that features are not added just for competitive advantage amongst vendors. There is much more depth, user focus and effort involved.

Active ignorance!
The problem is that we, as end users of these products, do not look at all the features at all. During code audits, seminars, while conducting interviews and so on, I am amazed by the lack of awareness about features amongst all cadres and types of IT professionals.

Here is a typical conversation with a hard-core(!) developer during an interview. Normally I don’t reveal my name or position in the organisation initially in the interview to avoid unnecessary stress!

Nitin You have mentioned so many technologies in your résumé. Which ones are you best at?
Candidate VB and ASP.
Nitin Okay let us consider VB. On a scale of 1 to 10 (10 being the best) where do you rate yourself?
Candidate 7 (I am amazed at the number of people who rate themselves as 6-8, without any second thought! So much for the popularity of IT)
Nitin How many commands and functions are there in VB?
Candidate (Gives me a weird look; thinks for few seconds)... Don’t know.
Nitin No problem. How many functions/features do you use?
Candidate (Now a harsh look) (He is expecting questions like - what are the different cursor types; what is binary compatibility; what is type library; and so on).
(Finally answers ...) ... don’t know, may be 50 to 60
Nitin Fine. Now if I tell you that there are more than 2000 commands, functions, optional arguments in VB, isn’t 60 a very small number?
Candidate Maybe. (By now he is convinced that he has landed up in the wrong place)
Nitin No problem. Don’t you think you should know about these 1900 odd features also?
Candidate Not really. I know all the features that I need!
Nitin But you just said you don’t know almost 90 percent of features. How can you say that you don’t need them unless you KNOW what those are?
Candidate (Completely confused by now) ... If I need a feature, I use online help to find it.
Nitin (Persisting with the demolition...) How often have you found a new feature you needed by referring to help in the last six months.
Candidate (After a lot of thinking) Twice.
Nitin Would it not be a good idea to just preview all the available functions, commands, menu options, dialogs in VB so that you are AWARE of what is available? If it is not useful, ignore it. Otherwise use it.
Candidate Yes. Maybe. Never tried that.
Nitin Can you go through all commands and functions in VB and ASP in next 7 days and come for a repeat interview?
Candidate (The response is so varied that it would be better not to mention it here. Even if the guy never comes back, if he does go through the entire feature set, I am happy to have added some value to his life!)

Such is the state of affairs. Unfortunately, only candidates who are hands-on developers can get tested like this. What about architects, system analysts, database designers, consultants, administrators and so on?

The moral of the story is that there is a huge amount of underutilisation around. And believe me, it is an OPPORTUNITY. For all of us.

In upcoming articles of TechForum I will highlight many such opportunities that can add value to your day-to-day work—instantly.

As a trailer of what you can expect, here is a very useful example:

Updating incremental data in SQL Server quickly
Very often we need to update data into a central table based upon data coming in from different locations. This is a typical consolidation scenario where data is updated only in remote locations and pooled in the Head Office for further analysis. It is important to know whether each record being uploaded is entirely new or represents an existing record being updated or in an unchanged record. Based upon this, you need to insert or update or do nothing. In short, row-by-row, we need to find out if the source and destination rows have changed. This involves comparing each row field by field for all the rows to be uploaded. This is time consuming and cumbersome.

Fortunately, SQL Server offers a simple SQL function to help you decipher this quickly.

The approach is simple. Rather than comparing each field, make a string out of all the fields in a row, make a hash total (checksum) based upon this and compare it in source and destination. This way it is very easy to detect rows that have changed.

The checksum function has three variants in SQL Server (2000).

Function Usage
checksum() Calculate checksum for a row or expression
binary_checksum() Same as checksum, but handles multi-locale data differently
checksum_agg() Aggregate version of checksum. Useful to detect changes in an entire table.

Syntax of Checksum() function

CHECKSUM ( * | expression [ ,...n ] )

... means all columns of table. CHECKSUM returns an error if any column is of noncomparable data type. Noncomparable data types are text, ntext, image, and cursor, as well as sql_variant with any of the above types as its base type.

This can be used very easily to create hash indexes.

Using this function you calculate the checksum of the data to be uploaded, row-by-row, and then check it against the checksum of the target row. If the two are equal you don’t need to upload/update the row.

Simple, and effective!

More such useful and often unknown things from the world of technology in upcoming columns in Tech Forum.

Feedback

Your feedback, suggestions, requests for covering specific topics or issues are welcome. Please send feedback to techforum@mediline.co.in

About the Author Dr Nitin Paranjape is the Chairman and MD of Maestros (Mediline). He is a consultant with many organisations, covering appropriate technology utilisation, business application of relevant technology, application architecture and audit as well as knowledge transfer. He has authored more than 650 articles on various technology-related subjects. He can be contacted at nitin@mediline.co.in
<Back to top>


© Copyright 2000: Indian Express Group (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in
Mumbai by The Business Publications Division of the Indian Express Group of Newspapers.
Please contact our Webmaster for any queries on this site.