Monday, October 1, 2007

What is COM ?

Components

Application consists of a single monolithic binary file. Once the application is shipped, it does not change until it is recompiled and shipped again (new version). There has to be a way out to be able to change the application without recompiling and re-shipping. The solution is to break it into components. As new additions are demanded, the older components are replaced by new components.

Traditional Application Architecture :

Files / Modules / Classes -> Compiled -> Linked -> Monolithic Application


Component Architecture: A component is a mini-application that has code already compiled, linked and ready to use. Modifying the application is simply replacing the old component by a new one. One component connects to other at run time an form an application. Thus the application is broken down into separate components connecting to each other at run time and forming the complete application.


The two main conditions that components must satisfy are:-

  1. They should link dynamically. This is essential if we want to support the change in components at run time.

  2. Data hiding. If a component is changed for some reason then it should connect to the other components in the same way as the old one did. If it does not happen then the system has to be recompiled and the whole purpose of using this architecture is lost. A component using other component is called as a client. A client is connected to a component using interface. If there is any change in the client of the component that does not affect the interface, everything works fine, but if the change affects the interface as well then the other side of the interface must change as well. The implementation is hidden from the client.


  • Components should be language independent and must be able to be written by anyone, in any language.

  • The application should keep supporting the old version even after a new one is released. It should still be possible to drastically change the behavior of the component while still supporting the old application.


COM components:

  • Consists of DLLs or EXEs

  • Are dynamically loaded

  • Are language independent

  • Hide data

  • Are shipped in binary form

  • Can be upgraded without breaking the old clients.

  • Can be relocated on the network, work in the same way for a local machine or a network machine.

Interface


An interface provides a connection between two different objects. An interface is an array of function pointers. Each array element contains the address of a function that is implemented by the component.


An interface has all pure virtual functions meaning that there are no objects of interfaces. In C++, multiple inheritance is used and the implementation of the pure virtual functions is done in the derived class. Using multiple inheritance, there can be many interfaces adhering to a single component as the definition suggests.


  • COM interfaces are implemented in C++ as pure abstract classes.

  • A class is not a component. A COM component can be implemented using several classes. Actually COM does not require C++ classes to implement a component, it just makes it easy to do it this way.

  • It is not necessary to inherit an interface to be able to implement it. The client does not see what is going on in the background anyway.

  • An interface is a set of functions, a component is a set of interfaces and the system is a set of components.

  • The client does not connect to the interface based on its name or the function name but based on the location in the block of memory representing the interface.

  • Interface never changes. For new additions you write a new interface and publish it. This can be easily done since COM supports multiple interfaces.

  • A small interface represents single behavior. A large interface represents many behaviors. The bigger the interface, the specialized it gets and it is likely that not many components would be using it.

Polymorphism:


If two different components support the same interface then the client can use the same code to manipulate either of the components. Thus the client can treat these two components polymorphically.

Virtual Function Table:


A pure abstract class is basically a block of memory, which has the same basic layout as that of a COM interface. For this reason can C++ pure abstract classes be used as COM interfaces.

The virtual function table is an array of pointers to the member functions. In short, a pointer to an abstract class points to a virtual table pointer which in turn points to the virtual function table which has pointers to the member functions. Hope you get this right.


CA *pA;


Lets say CA is a pure abstract class and pA is a pointer to it then eventually,

pA->virtual table pointer->virtual table->member functions.


Data members if any for a class sit with the vtbl pointer. The same vtbl is shared for different objects(instances) of the same class. Each instance pointer points to a different vtbl pointer but the table where it points is the same.

Query Interface

A client communicates with the component using interfaces. Even to get another interface that the component has implemented, it has to do it using an interface. All interfaces derive from an interface known as IUnknown. IUnknown has declaration for three methods namely QueryInterface, AddRef and Release.


The client calls the QueryInterface function to see if the component supports an interface. If it does then it can now call the functions declared by the requested interface and implemented by the component.


To get the first interface pointer, i.e. the IUnknown pointer, the following is done;


IUnknown * CreateInstance(); This creates the component and returns a pointer to the IUnknown interface. This pointer can now be used to get other interfaces using QueryInerface()should they be adhering to a particular component.


QueryInterface function takes two argument, one is the IID of the required interface and other is a pointer that it will return of the requested interface if is succeeds. The body of the QueryInterface function is a simple if-then-else statements checking for the matching IID and returning the pointer where the IID matches. If nothing matches it returns E_NOINTERFACE.


Steps in implementation: -


  1. Define as many interfaces you want, derived from IUnknown

  2. Define a class which will be your component. It will have multiple inheritance from interfaces that you want to implement in this class.

  3. Implement all the functions declared in all the interfaces from which this class is derived. Also implement QueryInterface() function.

  4. Define the CreateInstance() function outside the class. This function will be used by the client, which will create an instance of the component and return an IUnknown pointer.

  5. On the client side call the CreateInstance function to get the interface pointer.

  6. Using this pointer call the QueryInterface function passing in the IID of the interface that you want to use. You will get a valid pointer if this interface is implemented by the component.

  7. After getting the pointer you can call the methods declared in this interface.

  8. You can query for another interface using this pointer using QueryInterface.

  9. QueryInterface returns the same pointer in response to all requests for IUnknown.

  10. Every interface has its own unique IID.


Reference Counting


Once a component is created and used, it has to be deleted, if not then it keeps using the valuable memory space. The client has to perform a very complicated procedure to know whether or not there are no interfaces using the component. It has to also find out if more than one interface pointer points to the same object. Hence the best way to do it is to inform the component when the client is done with all the interfaces and the component will take care of its deletion.


The AddRef and Release keep track of the interfaces that the client uses.


Memory Management:


When a client gets an interface, the reference count is incremented using AddRef. When the client is done with the interface, the reference count is decremented using Release. When the reference count goes down to zero, the component deletes itself.


The client does the reference counting whenever it creates another reference on the existing interface.

  1. Call AddRef before the function returns an interface. This includes QueryInterface and CreateInstance functions.

  2. When finished with the interface, Release must be called, to release the memory and decrement the reference counting.

  3. If an interface pointer is assigned to other interface pointer, AddRef must be called. In short, AddRef should be called when another reference of the same interface is created.

  4. Thus, the CreateInstance and QueryInterface will call AddRef function for us before returning. Only Release operation now remains to be done when finished with the interface.

  5. Reference counting is usually done at Component level but it can also be done at Interface level under cases like when the interface uses a lot of memory etc. Under these cases reference counting is individually done for each interface and the interface is deleted when its reference count goes down to zero.

  6. Reference counting is not required if life of an interface is contained in that of the other one. For e.g.

PIUnknown->QueryInterface(IID_IX, (viod**)&pIX);

pIX2=pIX;

pIX2->AddRef();

pIX2->Release();

pIX->Release();

Here the AddRef and Release for pIX2 is not required since the component will not be deleted until pIX is deleted.


Rules for Reference Counting:


  1. An out parameter is a function parameter that returns a value to the function caller and not used by the function itself for other purposes. Any function that returns an interface pointer in an out parameter or return value must do an AddRef.

  2. an in parameter is a function parameter that passes a value to the function that is used by the function. The value is not modified or returned. In this case the lifetime gets nested within the caller’s life and AddRef and Release are not required.

  3. An in-out parameter is both an in and out parameter. The function uses this value, changes it and returns it. AddRef and Release must be called in this case.

  4. AddRef and Release not required for local interface pointers passed as in arguments.

  5. AddRef and Release should be called for an interface pointer stored in a global variable.

  6. When in doubt, AddRef and Release should be called. This is because these two functions are not too expensive but the component not getting deleted at all can be expensive.




HOLLYWOOD FX (Special Effects)

3D Wire Frame Model

3D Model Rendered by 3D Software

"How do they do that !". This is the big question in the minds of awestruck movie audiences worldwide watching a well-made Special Effects movie. Humans fly, prehistoric dinosaurs come back to life, space ships engage in dogfights, volcanoes erupt inside cities... Is there a limit to what the effects guys can achieve on screen ?!

Infact we are venturing into an era where technology is no longer a limitation to bringing magic onto the screen. Only imagination is. What emerges on the story board, finally lands on celluloid. How that actually happens is what this web site is all about. "How do they do that ?!" Well here's how.

Special Effects is both an art and a science. The "science" part involves the complete understanding of how the audio-visual sensory parts of our body and brain perceive the world around us, while the "art" part involves the strategic use of this information to fool the sensory system. The table shown below lists the various scientific phenomenon that work behind the various special effects. First study the scientific facts, and then see how they are exploited by the gurus of Movie Magic.

Persistence of Vision : Look at a bright light for a few seconds and then abruptly close your eyes. The image of the light seems to stay in your eyes a little longer even though your eyes are closed. This phenomenon is termed as Persistence of Vision because the vision seems to persist for a brief moment of time.

When the retina of the eyes are excited by light, they send impulses to the brain which are then interpreted as an image by the visual cortex in the brain. The cells in the retina continue to send impulses even after the incident light is removed. This continues for a few fractions of a second till the retinal cells return back to normal. Until that time, the brain continues to receive impulses from the retina, and hence seems to perceive an image of the source of light, giving rise to the phenomenon called Persistence of Vision.

Principle of Motion Picture : The Principle of Motion Picture is totally based on the phenomenon of Persistence of Vision. Without it, motion picture as we know it simply would'nt exist. Our eyes can retain a picture for a fraction of a second after seeing one. Before this time frame expires, if a another similar picture is shown in its place, the eyes see it as a continuation of the first picture, and don't perceive the gap between the two. If a series of still pictures depicting progressively incrementing action is flashed before the eyes in rapid succession, the eyes see it as a scene depicting smooth, flowing action. All visual media (Movies, TV, Electronic Displays, Laser Light Shows, etc) exploit this phenomenon. Thanks to Persistence of Vision, our entertainment industry could make a transition from perpectual live shows like dance and dramas, to recordable entertainment like movies.

What is Motion : Motion of an object is the continuous displacement of the object in space with reference to another object. In the absence of a reference object, motion ceases to be apparent. What this means is that motion is always measured in relation to another object, which is used as a reference point.

When we drive, the road & the surroundings move past us. Thus we get the sensation of motion. So the road & surroundings are our reference points. When we fly, the earth beneath us is our reference point. But as you can see, the closer the reference point, the more acute the sense of motion. That's why astronauts in orbit seldom sense speed (though they are moving at thousands of miles an hour ) because earth, their only reference point is quite far away.

OK, but what has this got to do with Special Effects ?! A Sfx technique called Compositing totally relies on the way our mind perceives motion. Compositing is one of the most useful tools in a Sfx technician's bag of tricks. Keep these two in mind; the object, and its reference point(s); both of these are necessary to perceive motion in a scene.

Blue Screen : In Compositing, the foreground and background shots are shot seperately and later superimposed one on the other. Certain areas of the foreground have to be transparent for the background detail to show through. (If the foreground detail fills the entire frame, the background detail will not be visible)! For this purpose, the foreground object is usually shot against a plain blue screen. A particular shade of blue called Chroma Blue is used for this purpose. (Human skin does not contain this shade of blue). The blue area is later erased from the frame making the area transparent. The background detail can now show through this blank area.

Story Board : A series of sketches based on the final draft of the script depicting various scenes in the story, which the director, cameraman and the art department use to plan for each scene.

Animation : The art of giving motion to objects is known as Animation. To "animate an object" is to make it move in a realistic fashion. The term applies more specifically to living, organic objects than to inanimate ones. Also, animating living creatures is much more difficult than animating mechanical ones. For example, animating a human being is more difficult than animating an aeroplane. When a human being walks, his/her arms and legs move in a specific way in relation to his/her body, whereas an aeroplane is one whole chunk of metal with relatively few visible moving parts.

Computer Animation : Computer Animation can be broadly classified into 2D and 3D animation. Though both categories take the same approach towards animation, the way each still picture is drawn is drastically different. In 2D animation, the artist draws the scene pretty much the same way he would on a sheet of paper. Only instead of using a pencil or a brush, he now uses a mouse or a graphic tablet. The computer software has the equivalents of all the tools that an artist would use manually. Brushes, pencils, spraying tools, erasers, different types of papers; virtually everything is available in the software. Although all the tools are readily available, the artist has to wholly rely on his ability to draw or paint.

On the other hand, in 3D animation, every object in the scene has to be sculpted in 3D to form what is called a wire frame model. A wire frame model is actually made up of a series of perpendicular lines following the contours of the object. If you cover an object with a figure-hugging suit made of fishing net, and vaporise the object without disturbing the suit, the resulting form looks pretty much like a wire frame model ! Once the model is ready, color and texture are added to the model and lights placed in 3D space around the object. The software then generates the actual still image of the object. The artist does'nt actually paint the still image. He/she only creates the 3D wire frame, assigns colors and texture to the object and places the lights in the scene; the actual painting of the still image is done by the software. The software also takes care of all the additional effects such as shadows, reflections, shine etc,. As you might have guessed, you need to be a good artist to work in 2D, but you have to be a good sculptor to work in 3D.

Sculpting the 3D wire frame model is an elaborate process. There are a lot of modelling tools in the 3D software which allow you to come up with a decent model. There are also scanning tools (hardware equipment) that allow you to scan an actual physical model into the computer.

Whichever way you prefer to fashion your model, at the end of the process, you get a solid 3D wire frame object that looks something like this.

ince the entire vital statistics of the model have been transferred to the software, you can now command the software to render or paint the still image from which ever angle you choose. The program then goes to work and after a few minutes (few or many, depending upon your particular hardware), comes up with a complete rendered 3D image of your model.

Animation Software : A popular method called Key Frame animation is employed by most animation software, be it 2D or 3D. Every animation sequence usually has a few key points. For instance if you want to animate a ball dropping from the top of the screen to the bottom, the key points are the top and bottom positions of the ball. The software program can compute the positions of the ball in the frames in between. This process is called Tweening. The computer Tweens for all the frames in between, whereas the animator provides the data for the Key Frames, where the action starts or stops or changes course. The animator also decides on the number of frames that the animation sequence lasts. This process in not very different from traditional animation where you have Key Frame animators and Tweening artists.

The process of Animation : Attempting to mimic realistic motion of an object is the ultimate aim of animation. But it is also one of the most difficult propositions. Take for instance the human walk. We all walk, but the funniest thing about it is that we know incredibily little about how we do it. It is only when you attempt to recreate a human walk using animation that you actually realise how little you know about the subject. You almost have to learn to walk all over again, to animate a convincing looking walk. The process can be very frustrating at times. A little mistake, and your mind immediately tells you somethings not right. But it does'nt tell you what exactly is wrong. You have to find that using trial and error. And its error that keeps company most of the time. One way is to watch people walk and learn from that. Anyway you got to be careful not to let people catch you staring at them.

Compositing : Compositing is a technique by which one shot is super-imposed on another, resulting in a composite shot. A common example is our everyday weather forecast on TV. The weather map is a seperate computer generated shot onto which the announcer is super-imposed, making it look as if he/she is standing in front of a giant TV screen flashing different weather images.


Your understanding of motion, objects and reference points finally paid of you see ! Now think about the countless possibilities this technique offers you.


  • You can shoot your actors in the studio and composite them onto any outdoor location shot you choose.


  • If the script needs an elaborate set as the back drop, the whole set can be built on a miniature scale. A shot of this set then serves as the background image onto which the actors can be composited.


  • If you replace the model aeroplane in Shots A or C with an actor suspended from the ceiling, you essentially have SuperMan !!!


  • When an actor has to perform a double act with himself, you can composite a shot of the actor playing the first character onto the shot of the same actor playing the second character ! Infact, the number of characters does'nt have to stop with just two. Once you composite character 2 on character 1, you have a film strip showing two characters on the same film. Now you can shoot the third character with the same actor and composite this on the original shot. Thus you get three characters on the same film. Likewise you can go on and on till your patience runs out or till the actor loses track of which character he's playing !


  • Or for instance if you have only one good model of the aeroplane, you can keep compositing the plane on an earlier shot of itself and thus create an aircraft fleet. Think about the air battle in Independence Day. No prizes for guessing how so many aeroplanes were shown on screen on a single shot !

Sunday, September 30, 2007

Good Prospects in your IT Career

For A Good Career Tips Read On....

A) Forget the Resume

In finding a job, a resume is the last thing you need. You don't need one to get a job in this climate of almost limitless opportunities. Make a phone call and get an appointment. If the company has been running ads looking for people, they will be happy to hear from you and will arrange an interview. If they ask to see a resume first, simply say you will give it to them in person or as soon as possible after the interview.

Quoted by James Challenger, president of outplacement firm Challenger, Gray & Christmas Inc., in Industry Week

B) Resume Tips

Resumes are vital to the job hunt. Your resume is one of the most important tools you can use in getting a job. The importance of making a good resume cannot be understated.

The primary objective of a resume is to generate enough employer interest to secure your interviews. The resume is a complete, concise, clearly stated summary of your strengths, as they apply to careers. Strengths are found in experiences, activities, education, personal qualities, skills, background, and objectives. Knowing both yourself and the requirements of the job/career you seek is essential to effective resume writing. This knowledge will enable you to do the best job of highlighting your background for potential employers. You may need more than one resume each with a different emphasis depending on the particular position you are looking to get.

The three key ingedients of a successful resume are

* Readability,
* Overall Presentation &
* Conciseness

Here are some essential tips:

* Think of your resume as an urgent telegram or e-mail message. What crucial information does the reader need to know about you? And don't be afraid to use phrases rather than sentences.
* Common headings used in Resumes are Objective, Experience, Employment, Work History, Positions Held, Appointments, Skills, Summary, Summary of Qualifications, Accomplishments, Strengths, Education, Affiliations, Publications, Papers, Honors, Personal, Additional, References, etc.
* List your strongest points first to catch the eye of someone who is just skimming over resumes.
* Be consistent. Choose a pattern of spacing, an order of information presentation or a format of highlighting and be consistent throughout.
* Never lie: While you do not have to list every job you have ever had, do not fudge on dates, work history, skills and abilities, job descriptions, education or anything else on your resume. Remember: your work history, education and salary can all be verified. If you exaggerate your skills and get hired, most likely your skill gap will be discovered once you start. Keep the process honest.
* If you are sending your resume via email, never assume that you can attach a Word processor document to an email.
* Don't worry about the objective statement. For many, it's the hardest statement to write. It's probably a good idea to do your objective statement last.
* List your qualifications in order of relevance, from most to least. Only list your degree and educational qualifications first if they are truly relevant to the job for which you are applying.
* Put dates of employment on the resume: Resumes without dates of employment look as though you have something to hide.
* Include interests on your resume. Interests can reveal a lot about an individual - whether they are well-rounded, for example. Secondly, many interviewers can ease into the interview by asking applicants about their interests.
* Have a trusted friend review your resume. Be sure to pick someone who is attentive to details, can effectively critique your writing, and will give an honest and objective opinion. Seriously consider their advice. Get a third and fourth opinion if you can.
* Treat your resume as an advertisement for you. Be sure to thoroughly "sell" yourself by highlighting all of your strengths. If you've got a valuable asset which doesn't seem to fit into any existing components of your resume, list it anyway as its own resume segment.

C) Job Hunting While Still Employed

Searching for a new job without getting fired can be risky. But there are ways to minimize the odds of this occurring:

* Respect your employer's time. Looking for another position usually involves having to be away from the office for interviews. Use your vacation days, not sick days, for this purpose.
* Don't give prospective employers your office phone number. Use your home phone, and attach an answering machine to it.
* Be discreet about whom you tell that you're looking for another job.
* If you are offered a new job, inform your superior immediately. And don't use your new job offer to try to negotiate a counter offer from your employer

Source: Robert Half in "Management Accounting".
Increasing Promotion Chances

D) If you seek a promotion, take the following suggestions one step at a time:

* Make sure you want a promotion. Set your own objectives. Goals must be deadlines to provide a sense of urgency.
* Respect the chain of command. If you appear to be more interested in your own success than that of your company, people will be motivated to resist you rather than support you.
* Make a list of people with whom you have a neutral or even a negative relationship. Your basic approach will be to take a genuine interest in each of these people. Offer to help them in an area of your strength, or ask for help in an area of theirs. Keep in mind. Human relations come before productivity.
* Don't let yourself stumble over the dollars. Is the desired increase one where your entire job is redefined at a different and higher level?
* Beware of your company's formal routes for advancement, such as job postings or career-development programs.
* Don't accept any promotion that interferes with your enthusiasm for your work.
* Make a "hit list" of your 10 biggest time gobblers. Review them frequently and try to eliminate as many as you can.

E) Dissatisfied with Your Job?
Before Jumping Ship, Try This.

Consider working on a solution before jumping ship.

Why: There's no guarantee your next job will be any better.

How: Try to negotiate your future with the boss.

Consider these tips:

* Start with a plan. What are you seeking to make your job better? How can you get it?
* Be brutally honest with yourself. Make sure you're capable of handling what you seek. Determine if it's available.
* Meet formally with your boss to go over your plan. Unlike at a performance review, here you drive the discussion.
* During the meeting, ask your boss to analyze your skills and potential. Repeat what he or she said to make sure you understand each other.
* Give the boss your view after hearing hers or his. Don't be argumentative. Try to reach a compromise.
* Once you've agreed upon a solution, do everything to advance it. Example: One woman wanted a transfer to her company's trade sales unit; she prompted invitations to trade sales meetings, developed contacts and learned what was necessary to succeed in that unit.
* Don't expect quick action: changes take a little time.

F) Preparing for Change

Chances are one in three your job will disappear in the next few years. Are you ready for that possibility?

* Get ready now. Create a file of documents you need, particularly appraisals, recommendations, employee handbooks, and, your updated resume. List questions you'll want to ask, such as how long you'll receive benefits after you're fired.
* Tend to your networks. List all the people you know who have good jobs. Stay in touch with them.
* Keep up with your profession. Learn something new.
* Put your finances in order. Determine how long you could pay your bills without an income. Take steps to extend that period.

If the worst happens and you lose your job, try to relax and enjoy the time off. Remember that 40 percent of unemployment is about finding new work and 60 percent is about keeping yourself alert, productive, and positive.
Move Up or Just Move Over?

To find out whether you're ripe for a lateral or a vertical move, ask yourself these questions:

* Do you need a change, but aren't exactly sure what?
* Has your current job become boring?
* Have you done any previous work with a different department where you've garnered some experience?
* Do you feel you're going through a phase, or truly fed up?
* Are your skills suited for your current job, or would you be more effective in a different division?

If you answered "yes" to any of these questions, a lateral move might be a good idea for you.

As for a vertical move, ask yourself these questions:

* Are you suited for your current, or do you feel better qualified for more?
* Do you feel your skills would be more effective after a promotion?
* Are you well respected among your peers and higher-ups?
* Do you plan to stay in your current company for an indefinite period of time?
* Have you taken classes that document new skills valid for promotion?

More "yes" answers mean you may be prepared for a vertical move that involves a new title, more money, and, of course, more responsibility.
Career Options

Do you love your job but have little faith in your employer? Maybe you hate your job but believe your company has potential. Whatever combination describes you, you should evaluate your choices:

* Stay in your job. Prove your value. Learn the business. Get involved.
* Change your job. Partner with your boss to change the nature of your work. Start small. Be patient.
* Change jobs within the company. Expand your networks. If your boss won't help, get someone who will.
* Move on. When you decide, take action. Line up a job before you leave. Don't burn your bridges.

Wednesday, September 26, 2007

MICROSOFT DOTNET TCHNOLOGY

Microsoft .NET is Microsoft's new Internet strategy.

.NET was originally called NGWS.

NGWS - Next Generation Windows Services
Before the official announcement of .NET, the term NGWS was used for Microsoft's plans for producing an "Internet-based platform of Next Generation Windows Services".
Steve Ballmer quote January 2000:
"Delivering an Internet-based platform of Next Generation Windows Services is the top priority of our company. The breakthroughs we’re talking about here include changes to the programming model, to the user interface, to the application integration model, the file system, new XML schema....."

Microsoft. NET
The Microsoft. NET strategy was presented by Microsoft officials to the rest of the world in June 2000:
.NET is Microsoft's new Internet and Web strategy
.NET is NOT a new operating system
.NET is a new Internet and Web based infrastructure
.NET delivers software as Web Services
.NET is a framework for universal services
.NET is a server centric computing model
.NET will run in any browser on any platform
.NET is based on the newest Web standards

.NET Internet Standards
.NET is built on the following Internet standards:
HTTP, the communication protocol between Internet Applications
XML, the format for exchanging data between Internet Applications
SOAP, the standard format for requesting Web Services
UDDI, the standard to search and discover Web Services

.NET Framework
The .NET Framework is the infrastructure for the new Microsoft .NET Platform.
The .NET Framework is a common environment for building, deploying, and running Web Services and Web Applications.
The .NET Framework contains common class libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced standard services that can be integrated into a variety of computer systems.
The .NET Framework is language neutral. Currently it supports C++, C#, Visual Basic, JScript (The Microsoft version of JavaScript) and COBOL. Third-party languages - like Eiffel, Perl, Python, Smalltalk, and others - will also be available for building future .NET Framework applications.
The new Visual Studio.NET is a common development environment for the new .NET Framework. It provides a feature-rich application execution environment, simplified development and easy integration between a number of different development languages.

Additional Information
The .NET plan includes a new version of the Windows operating system, a new version of Office, and a variety of new development software for programmers to build Web-based applications.
The background for .NET is part of Microsoft's new strategy to keep Windows the dominant operating system in the market, as computing begins to move away from desktop computers toward Internet enabled devices, such as hand-held computers and cell phones.
The most visual components of the new .NET framework are the new Internet Information Server 6.0, with ASP.NET and ADO.NET support, Visual Studio.NET software tools to build Web-based software, and new XML support in the SQL Server 2000 database.
Bill Gates is supervising the .NET project.

SP.NET is the latest version of Microsoft's Active Server Pages technology (ASP).

What You Should Already Know
Before you continue you should have a basic understanding of the following:
WWW, HTML, XML and the basics of building Web pages
Scripting languages like JavaScript or VBScript
The basics of server side scripting like ASP or PHP
If you want to study these subjects first, find the tutorials on our Home Page

What is Classic ASP?
Microsoft's previous server side scripting technology ASP (Active Server Pages) is now often called classic ASP.
ASP 3.0 was the last version of the classic ASP.
To learn more about classic ASP, you can study our ASP tutorial.

ASP.NET is Not ASP
ASP.NET is the next generation ASP, but it's not an upgraded version of ASP.
ASP.NET is an entirely new technology for server-side scripting. It was written from the ground up and is not backward compatible with classic ASP.
You can read more about the differences between ASP and ASP.NET in the next chapter of this tutorial.
ASP.NET is the major part of the Microsoft's .NET Framework.

What is ASP.NET?
ASP.NET is a server side scripting technology that enables scripts (embedded in web pages) to be executed by an Internet server.
ASP.NET is a Microsoft Technology
ASP stands for Active Server Pages
ASP.NET is a program that runs inside IIS
IIS (Internet Information Services) is Microsoft's Internet server
IIS comes as a free component with Windows servers
IIS is also a part of Windows 2000 and XP Professional
What is an ASP.NET File?
An ASP.NET file is just the same as an HTML file
An ASP.NET file can contain HTML, XML, and scripts
Scripts in an ASP.NET file are executed on the server
An ASP.NET file has the file extension ".aspx"
How Does ASP.NET Work?
When a browser requests an HTML file, the server returns the file
When a browser requests an ASP.NET file, IIS passes the request to the ASP.NET engine on the server
The ASP.NET engine reads the file, line by line, and executes the scripts in the file
Finally, the ASP.NET file is returned to the browser as plain HTML

What is ASP+?
ASP+ is the same as ASP.NET.
ASP+ is just an early name used by Microsoft when they developed ASP.NET.

The Microsoft .NET Framework
The .NET Framework is the infrastructure for the Microsoft .NET platform.
The .NET Framework is an environment for building, deploying, and running Web applications and Web Services.
Microsoft's first server technology ASP (Active Server Pages), was a powerful and flexible "programming language". But it was to much code oriented. It was not an application framework and not an enterprise development tool.
The Microsoft .NET Framework was developed to solve this problem.
.NET Frameworks keywords:
Easier and quicker programming
Reduced amount of code
Declarative programming model
Richer server control hierarchy with events
Larger class library
Better support for development tools
The .NET Framework consists of 3 main parts:
Programming languages:
C# (Pronounced C sharp)
Visual Basic (VB .NET)
J# (Pronounced J sharp)
Server technologies and client technologies:
ASP .NET (Active Server Pages)
Windows Forms (Windows desktop solutions)
Compact Framework (PDA / Mobile solutions)
Development environments:
Visual Studio .NET (VS .NET)
Visual Web Developer
This tutorial is about ASP.NET.

ASP.NET 2.0
ASP.NET 2.0 improves upon ASP.NET by adding support for several new features.
You can read more about the differences between ASP.NET 2.0 and ASP.NET in the next chapter of this tutorial.

ASP.NET 3.0
ASP.NET 3.0 is not a new version of ASP.NET. It's just the name for a new ASP.NET 2.0 framework library with support for Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation; and Windows CardSpace.
These topics are not covered in this tutorial.

.NET BUILDING BLOCKS


.NET Building Blocks is a set of core Internet Services.

Web Services
Web Services provide data and services to other applications.
Future applications will access Web Services via standard Web Formats (HTTP, HTML, XML, and SOAP), with no need to know how the Web Service itself is implemented.
Web Services are main building blocks in the Microsoft .NET programming model.

Standard Communication
Official Web standards (XML, UDDI, SOAP) will be used to describe what Internet data is, and to describe what Web Services can do.
Future Web applications will be built on flexible services that can interact and exchange data, without the loss of integrity.

Internet Storages
.NET offers secure and addressable places to store data and applications on the Web. Allowing all types of Internet devices (PCs, Palmtops, Phones) to access data and applications.
These Web Services are built on Microsoft's existing NTFS, SQL Server, and Exchange technologies.

Internet Dynamic Delivery
Reliable automatic upgrades by demand and installation independent applications.
.NET will support rapid development of applications that can be dynamically reconfigured.

Internet Identity
.NET supports many different levels of authentication services like passwords, wallets, and smart cards.
These services are built on existing Microsoft Passport and Windows Authentication technologies.

Internet Messaging
.NET supports integration of messaging, e-mail, voice-mail, and fax into one unified Internet Service, targeted for all kinds of PCs or smart Internet devices.
These services are built on existing Hotmail, Exchange and Instant Messenger technologies.

Internet Calendar
.NET supports Internet integration of work, social, and private home calendars. Allowing all types of Internet devices (PCs, Palmtops, Phones) to access the data.
These services are built on existing Outlook and Hotmail technologies.

Internet Directory Services
.NET supports a new kind of directory services that can answer XML based questions about Internet Services, far more exactly than search engines and yellow pages.
These services are built on the UDDI standard.


.NET SOFTWARE


.NET is a mix of technologies, standards and development tools

Windows.NET
Today, Windows 2000 and Windows XP form the backbone of .NET.
In the future, the .NET infrastructure will be integrated into all Microsoft's operating systems, desktop and server products.
Windows.NET is the next generation Windows. It will provide support for all the .NET building blocks and .NET digital media. Windows.NET will be self-supporting with updates via Internet as users need them.

Office.NET
A new version of Microsoft Office - Office.NET - will have a new .NET architecture based on Internet clients and Web Services.
With Office.NET, browsing, communication, document handling and authoring will be integrated within a XML-based environment which allow users to store their documents on the Internet.

ASP.NET
ASP.NET is the latest version of ASP. It includes Web Services to link applications, services and devices using HTTP, HTML, XML and SOAP.
New in ASP.NET:
New Language Support
Programmable Controls
Event Driven Programming
XML Based Components
User Authentication
User Accounts and Roles
High Scalability
Compiled Code
Easy Configuration
Easy Deployment
Not ASP Compatible
Includes ADO.NET
You can read more about ASP.NET and ADO.NET in our ASP.NET Tutorial.

Visual Studio.NET
The latest version of Visual Studio - Visual Studio.NET - incorporates ASP.NET, ADO.NET, Web Services, Web Forms, and language innovations for Visual Basic. The development tools have deep XML support, an XML-based programming model and new object-oriented programming capabilities.

Visual Basic.NET
Visual Basic.NET has added language enhancements, making it a full object-oriented programming language.

SQL Server 2000
SQL Server 2000 is a fully web-enabled database.
SQL Server 2000 has strong support for XML and HTTP which are two of the main infrastructure technologies for .NET.
Some of the most important new SQL Server features are direct access to the database from a browser, query of relational data with results returned as XML, as well as storage of XML in relational formats.

Internet Information Services 6.0
IIS 6.0 has strong support for more programming to take place on the server, to allow the new Web Applications to run in any browser on any platform.

ASP.NET VS ASP


ASP.NET has better language support, a large set of new controls and XML based components, and better user authentication.
ASP.NET provides increased performance by running compiled code.
ASP.NET code is not fully backward compatible with ASP.

New in ASP.NET
Better language support
Programmable controls
Event-driven programming
XML-based components
User authentication, with accounts and roles
Higher scalability
Increased performance - Compiled code
Easier configuration and deployment
Not fully ASP compatible

Language Support
ASP.NET uses the new ADO.NET.
ASP.NET supports full Visual Basic, not VBScript.
ASP.NET supports C# (C sharp) and C++.
ASP.NET supports JScript as before.

ASP.NET Controls
ASP.NET contains a large set of HTML controls. Almost all HTML elements on a page can be defined as ASP.NET control objects that can be controlled by scripts.
ASP.NET also contains a new set of object oriented input controls, like programmable list boxes and validation controls.
A new data grid control supports sorting, data paging, and everything you expect from a dataset control.

Event Aware Controls
All ASP.NET objects on a Web page can expose events that can be processed by ASP.NET code.
Load, Click and Change events handled by code makes coding much simpler and much better organized.

ASP.NET Components
ASP.NET components are heavily based on XML. Like the new AD Rotator, that uses XML to store advertisement information and configuration.

User Authentication
ASP.NET supports forms-based user authentication, including cookie management and automatic redirecting of unauthorized logins.
(You can still do your custom login page and custom user checking).

User Accounts and Roles
AS .NET allows for user accounts and roles, to give each user (with a given role) access to different server code and executables.

High Scalability
Much has been done with ASP.NET to provide greater scalability.
Server to server communication has been greatly enhanced, making it possible to scale an application over several servers. One example of this is the ability to run XML parsers, XSL transformations and even resource hungry session objects on other servers.

Compiled Code
The first request for an ASP.NET page on the server will compile the ASP.NET code and keep a cached copy in memory. The result of this is greatly increased performance.

Easy Configuration
Configuration of ASP.NET is done with plain text files.
Configuration files can be uploaded or changed while the application is running. No need to restart the server. No more metabase or registry puzzle.

Easy Deployment
No more server restart to deploy or replace compiled code. ASP.NET simply redirects all new requests to the new code.

Compatibility
ASP.NET is not fully compatible with earlier versions of ASP, so most of the old ASP code will need some changes to run under ASP.NET.
To overcome this problem, ASP.NET uses a new file extension ".aspx". This will make ASP.NET applications able to run side by side with standard ASP applications on the same server.
.NET WEB SERVICES


Web services are small units of code built to handle a limited task.

What are Web Services?
Web services are small units of code
Web services are designed to handle a limited set of tasks
Web services use XML based communicating protocols
Web services are independent of operating systems
Web services are independent of programming languages
Web services connect people, systems and devices

Small Units of Code
Web services are small units of code designed to handle a limited set of tasks.
An example of a web service can be a small program designed to supply other applications with the latest stock exchange prices. Another example can be a small program designed to handle credit card payment.

XML Based Web Protocols
Web services use the standard web protocols HTTP, XML, SOAP, WSDL, and UDDI.
HTTP
HTTP (Hypertext Transfer Protocol) is the World Wide Web standard for communication over the Internet. HTTP is standardized by the World Wide Web Consortium (W3C).
XML
XML (eXtensible Markup Language) is a well known standard for storing, carrying, and exchanging data. XML is standardized by the W3C.
You can read more about XML in our XML tutorial.
SOAP
SOAP (Simple Object Access Protocol) is a lightweight platform and language neutral communication protocol that allows programs to communicate via standard Internet HTTP. SOAP is standardized by the W3C.
You can read more about SOAP in our SOAP tutorial.
WSDL
WSDL (Web Services Description Language) is an XML-based language used to define web services and to describe how to access them. WSDL is a suggestion by Ariba, IBM and Microsoft for describing services for the W3C XML Activity on XML Protocols.
You can read more about WSDL in our WSDL tutorial.
UDDI
UDDI (Universal Description, Discovery and Integration) is a directory service where businesses can register and search for web services.
UDDI is a public registry, where one can publish and inquire about web services.

Independent of Operating Systems
Since web services use XML based protocols to communicate with other systems, web services are independent of both operating systems and programming languages.
An application calling a web service will always send its requests using XML, and get its answer returned as XML. The calling application will never be concerned about the operating system or the programming language running on the other computer.

Benefits of Web Services
Easier to communicate between applications
Easier to reuse existing services
Easier to distribute information to more consumers
Rapid development
Web services make it easier to communicate between different applications. They also make it possible for developers to reuse existing web services instead of writing new ones.
Web services can create new possibilities for many businesses because it provides an easy way to distribute information to a large number of consumers. One example could be flight schedules and ticket reservation systems.
The paragraphs below describes W3Schools' vision about future Internet Distributed Applications.


CLIENT AND SERVER STANDARDS

The paragraphs below describes W3Schools' vision about future Internet Distributed Applications.Executables, C++ (and Java too) must die
Neither C++ nor Java can ever create standard components that can run on all computers. There is no room for these languages in future distributed applications. Executables are not standard. COM objects are not standard, DLL-files are not standard. Registry settings are not standard. INI-files are not standard. None of these components must be allowed to destroy your dream of a standard distributed application that will run on almost any computer in the world.

Clients must be Standard Internet Browsers
Application clients must be standard clients without any additional components. No part of the applications must be stored on client computers. The application must never use, or rely on, any components, dll- or ini-files, registry settings or any other non standard settings or files stored on the client computer. (Then you can start calling it a Thin Client). Our best suggestion is to let all clients use standard Internet browsers like Internet Explorer, Netscape, or Firefox running on Windows or Mac computers.

Servers must be Standard Internet Servers
Application servers must be standard Internet servers running standard software without any additional components. The application must never use, or rely on, any components, dll- or ini-files, registry settings or any other non standard settings or files stored on the server. Our best suggestion is to use a standard Internet server like Internet Information Services (IIS), with a standard request-handler like Active Server Pages (ASP), and a standard database connector like Active Data Objects (ADO). As your data-store you should use a standard SQL based database like Oracle or Microsoft's SQL Server.

Applications must use Internet Communication
Application clients and servers must not be allowed to communicate via any proprietary protocol. Clients must request servers via a standard Internet protocol and servers must respond via the same protocol. Clients must be able to use any service without having to maintain a permanent connection to the server. Our best suggestion is to let servers be requested with standard stateless Internet HTTP requests. Servers should respond with a standard stateless Internet HTTP response.

Monday, September 17, 2007

All About Radio Frequency Identification Technology (RFID)

What is RFID?
RFID stands for Radio-Frequency IDentification. The acronym refers to small electronic devices that consist of a small chip and an antenna. The chip typically is capable of carrying 2,000 bytes of data or less.
The RFID device serves the same purpose as a bar code or a magnetic strip on the back of a credit card or ATM card; it provides a unique identifier for that object. And, just as a bar code or magnetic strip must be scanned to get the information, the RFID device must be scanned to retrieve the identifying information.

RFID Works Better Than BarcodesA significant advantage of RFID devices over the others mentioned above is that the RFID device does not need to be positioned precisely relative to the scanner. We're all familiar with the difficulty that store checkout clerks sometimes have in making sure that a barcode can be read. And obviously, credit cards and ATM cards must be swiped through a special reader.
In contrast, RFID devices will work within a few feet (up to 20 feet for high-frequency devices) of the scanner. For example, you could just put all of your groceries or purchases in a bag, and set the bag on the scanner. It would be able to query all of the RFID devices and total your purchase immediately.
(Read a more detailed article on RFID compared to barcodes.)

RFID technology has been available for more than fifty years. It has only been recently that the ability to manufacture the RFID devices has fallen to the point where they can be used as a "throwaway" inventory or control device. Alien Technologies recently sold 500 million RFID tags to Gillette at a cost of about ten cents per tag.
One reason that it has taken so long for RFID to come into common use is the lack of standards in the industry. Most companies invested in RFID technology only use the tags to track items within their control; many of the benefits of RFID come when items are tracked from company to company or from country to country.

Common Problems with RFID

Some common problems with RFID are reader collision and tag collision. Reader collision occurs when the signals from two or more readers overlap. The tag is unable to respond to simultaneous queries. Systems must be carefully set up to avoid this problem. Tag collision occurs when many tags are present in a small area; but since the read time is very fast, it is easier for vendors to develop systems that ensure that tags respond one at a time. See Problems with RFID for more details.

How RFID Works

How does RFID work? A Radio-Frequency IDentification system has three parts:
A scanning antenna
A transceiver with a decoder to interpret the data
A transponder - the RFID tag - that has been programmed with information.
The scanning antenna puts out radio-frequency signals in a relatively short range. The RF radiation does two things:
It provides a means of communicating with the transponder (the RFID tag) AND
It provides the RFID tag with the energy to communicate (in the case of passive RFID tags).
This is an absolutely key part of the technology; RFID tags do not need to contain batteries, and can therefore remain usable for very long periods of time (maybe decades).
The scanning antennas can be permanently affixed to a surface; handheld antennas are also available. They can take whatever shape you need; for example, you could build them into a door frame to accept data from persons or objects passing through.
When an RFID tag passes through the field of the scanning antenna, it detects the activation signal from the antenna. That "wakes up" the RFID chip, and it transmits the information on its microchip to be picked up by the scanning antenna.

In addition, the RFID tag may be of one of two types. Active RFID tags have their own power source; the advantage of these tags is that the reader can be much farther away and still get the signal. Even though some of these devices are built to have up to a 10 year life span, they have limited life spans. Passive RFID tags, however, do not require batteries, and can be much smaller and have a virtually unlimited life span.
RFID tags can be read in a wide variety of circumstances, where barcodes or other optically read technologies are useless.
The tag need not be on the surface of the object (and is therefore not subject to wear)
The read time is typically less than 100 milliseconds
Large numbers of tags can be read at once rather than item by item.
In essence, that's how RFID works.

How is RFID used inside a living body?

RFID devices that are intended to be implanted inside a living body (like an animal or human being) have special requirements. They need to be encased in a special kind of casing that will not irritate or react with the living tissues that they are inserted into. The casing must also be transparent to the scanning radio-frequency beam that activates the chip. Some RFID vendors have created biocompatible glass for use in these applications.
One potential problem with being placed within a living organism is that the tiny RFID device may move around under the skin. This can be avoided by using special materials that actually let the surrounding tissue grow up to the casing and bond with it.
Because the radio-frequency waves that activate the microchip containing the identification number are only useful within a few feet (or less), the RFID chip is typically inserted very close to the surface of the skin.
The placement of the device is usually done with a hyperdermic-type needle. This method of insertion also dictates the shape and size of the device; implantable RFID devices are typically the size and diameter of a grain of rice. For dogs, the device is usually implanted between the shoulder blades.

RFID tags have been placed inside cows; some discussion of having all cows implanted with RFID devices has resulted from the recent scare with mad cow disease. Dog owners have used RFID tags to identify their pets rather than tattoos (the more traditional method).
RFID tags, like the VeriChip tag, can also be implanted inside human beings.
See VeriChip RFID Tag Patient Implant Badges Now FDA Approved for more information.

What can RFID be used for?

RFID tags come in a wide variety of shapes and sizes; they may be encased in a variety of materials:
Animal tracking tags, inserted beneath the skin, can be rice-sized.
Tags can be screw-shaped to identify trees or wooden items.
Credit-card shaped for use in access applications.
The anti-theft hard plastic tags attached to merchandise in stores are also RFID tags.
Heavy-duty 120 by 100 by 50 millimeter rectangular transponders are used to track shipping containers, or heavy machinery, trucks, and railroad cars.
RFID devices have been used for years to identify dogs, for a means of permanent identification. Dog owners had long used tattoos, permanent ink markings, typically on the ears. However, these can fade with age and it may be difficult to get the animal to sit still while you examine him for markings.
Many musical instruments are stolen every year. For example, custom-built or vintage guitars are worth as much as $50,000 each. Snagg, a California company specializing in RFID microchips for instruments, has embedded tiny chips in 30,000 Fender guitars already. The database of RFID chip IDs is made available to law enforcement officials, dealers, repair shops and luthiers.


Is RFID Technology Secure and Private?

Unfortunately, not very often in the systems to which consumers are likely to be exposed. Anyone with an appropriately equipped scanner and close access to the RFID device can activate it and read its contents. Obviously, some concerns are greater than others. If someone walks by your bag of books from the bookstore with a 13.56 Mhz "sniffer" with an RF field that will activate the RFID devices in the books you bought, that person can get a complete list of what you just bought. That's certainly an invasion of your privacy, but it could be worse. Another scenario involves a military situation in which the other side scans vehicles going by, looking for tags that are associated with items that only high-ranking officers can have, and targeting accordingly.

Companies are more concerned with the increasing use of RFID devices in company badges. An appropriate RF field will cause the RFID chip in the badge to "spill the beans" to whomever activates it. This information can then be stored and replayed to company scanners, allowing the thief access - and your badge is the one that is "credited" with the access.
The smallest tags that will likely be used for consumer items don't have enough computing power to do data encryption to protect your privacy. The most they can do is PIN-style or password-based protection.

Are There Concerns About How RFID Will Be Used? (Update)

Civil liberties groups (among others) have become increasingly concerned about the use of RFIDs to track the movements of individuals. For example, passports will soon be required to contain some sort of RFID device to speed border crossings. Scanners placed throughout an airport, for example, could track the location of every passport over time, from the moment you left the parking lot to the moment you got on your plane.

In June, the Japanese government passed a draft RFID Privacy Guideline that stated the following:
Indication that RFID tags exist
Consumers right of choice regarding reading tags
Sharing information about social benefits of RFID, etc.
Issues on linking information on tags and databases that store privacy information.
Restrictions of information gathering and uses when private information is stored on tags
Assuring accuracy of information when private information is stored on tags
Information administrators should be encouraged
Information sharing and explanation for consumers
There are also concerns about the fact that, even after you leave the store, any RFID devices in the things you buy are still active. This means that a thief could walk past you in the mall and know exactly what you have in your bags, marking you as a potential victim. A thief could even circle your house with an RFID scanner and pull up data on what you have in your house before he robs it.
Military hardware and even clothing make use of RFID tags to help track each item through the supply chain. Some analysts are concerned that, if there are particular items associated with high-level officers, roadside bombs could be set to go off when triggered by an RFID scan of cars going by.
There was a recent report revealing clandestine tests at a Wal-Mart store where RFID tags were inserted in packages of lipstick, with scanners hidden on nearby shelves. When a customer picked up a lipstick and put it in her cart, the movement of the tag was registered by the scanners, which triggered surveillance cameras. This allowed researchers 750 miles away to watch those consumers as they walked through the store, looking for related items.

Next-Generation Uses of RFID?
Some vendors have been combining RFID tags with sensors of different kinds. This would allow the tag to report not simply the same information over and over, but identifying information along with current data picked up by the sensor. For example, an RFID tag attached to a leg of lamb could report on the temperature readings of the past 24 hours, to ensure that the meat was properly kept cool.
Over time, the proportion of "scan-it-yourself" aisles in retail stores will increase. Eventually, we may wind up with stores that have mostly "scan-it-yourself" aisles and only a few checkout stations for people who are disabled or unwilling.

What Are Zombie RFID Tags?

One of the main concerns with RFID tags is that their contents can be read by anyone with an appropriately equipped scanner - even after you take it out of the store.
One technology that has been suggested is a zombie RFID tag, a tag that can be temporarily deactivated when it leaves the store. The process would work like this: you bring your purchase up to the register, the RFID scanner reads the item, you pay for it and as you leave the store, you pass a special device that sends a signal to the RFID tag to "die." That is, it is no longer readable.
The "zombie" element comes in when you bring an item back to the store. A special device especially made for that kind of tag "re-animates" the RFID tag, allowing the item to reenter the supply chain.

Problems With RFID

RFID problems can be divided into several categories:

Technical problems with RFID

Problems with RFID Standards
RFID has been implemented in different ways by different manufacturers; global standards are still being worked on. It should be noted that some RFID devices are never meant to leave their network (as in the case of RFID tags used for inventory control within a company). This can cause problems for companies.

Consumers may also have problems with RFID standards. For example, ExxonMobil's SpeedPass system is a proprietary RFID system; if another company wanted to use the convenient SpeedPass (say, at the drive-in window of your favorite fast food restaurant) they would have to pay to access it - an unlikely scenario. On the other hand, if every company had their own "SpeedPass" system, a consumer would need to carry many different devices with them.

RFID systems can be easily disrupted
Since RFID systems make use of the electromagnetic spectrum (like WiFi networks or cellphones), they are relatively easy to jam using energy at the right frequency. Although this would only be an inconvenience for consumers in stores (longer waits at the checkout), it could be disastrous in other environments where RFID is increasingly used, like hospitals or in the military in the field.

Also, active RFID tags (those that use a battery to increase the range of the system) can be repeatedly interrogated to wear the battery down, disrupting the system.

RFID Reader Collision
Reader collision occurs when the signals from two or more readers overlap. The tag is unable to respond to simultaneous queries. Systems must be carefully set up to avoid this problem; many systems use an anti-collision protocol (also called a singulation protocol. Anti-collision protocols enable the tags to take turns in transmitting to a reader.
(Learn more about RFID reader collision.)

RFID Tag Collision
Tag collision occurs when many tags are present in a small area; but since the read time is very fast, it is easier for vendors to develop systems that ensure that tags respond one at a time. (Learn more about RFID tag collision.)

Security, privacy and ethics problems with RFID
The following problems with RFID tags and readers have been reported.
The contents of an RFID tag can be read after the item leaves the supply chain
An RFID tag cannot tell the difference between one reader and another. RFID scanners are very portable; RFID tags can be read from a distance, from a few inches to a few yards. This allows anyone to see the contents of your purse or pocket as you walk down the street. Some tags can be turned off when the item has left the supply chain; see
zombie RFID tags.

RFID tags are difficult to remove
RFID tags are difficult to for consumers to remove; some are very small (less than a half-millimeter square, and as thin as a sheet of paper) - others may be hidden or embedded inside a product where consumers cannot see them. New technologies allow RFID tags to be "printed" right on a product and may not be removable at all (see Printing RFID Tags With Magic Ink).

RFID tags can be read without your knowledge
Since the tags can be read without being swiped or obviously scanned (as is the case with magnetic strips or barcodes), anyone with an RFID tag reader can read the tags embedded in your clothes and other consumer products without your knowledge. For example, you could be scanned before you enter the store, just to see what you are carrying. You might then be approached by a clerk who knows what you have in your backpack or purse, and can suggest accessories or other items.

RFID tags can be read a greater distances with a high-gain antenna
For various reasons, RFID reader/tag systems are designed so that distance between the tag and the reader is kept to a minimum (see the material on tag collision above). However, a high-gain antenna can be used to read the tags from much further away, leading to privacy problems.
RFID tags with unique serial numbers could be linked to an individual credit card number
At present, the Universal Product Code (UPC) implemented with barcodes allows each product sold in a store to have a unique number that identifies that product. Work is proceeding on a global system of product identification that would allow each individual item to have its own number. When the item is scanned for purchase and is paid for, the RFID tag number for a particular item can be associated with a credit card number.


RFID Information Technology Articles
VeriChip RFID Tags To Be Implanted In Patients
Electronic Number Plate RFID Keeps Tabs On Vehicles
RFID-Maki: Easy Payment Sushi
Sprint RFID Loyalty Cards Triggers Minority Report-Style Ads
China May Issue A Billion RFID-Based ID Cards
Printing RFID Tags With Magic Ink
Cypak Disposable Paper Computer With RFID Antenna
Pentagon Asks For Digital Dog Tags
VeriPay Credit-Card Implant
Baja Beach Club Implants VeriChip In Customers
VeriChip Provides Emergency ID
Porous Polymer Sheath for in vitro RFID
Gillette buys 500 billion RFID tags
RFID Journal



Advantages of RFID Versus Barcodes

RFID tags and barcodes both carry information about products. However, there are important differences between these two technologies:
Barcode readers require a direct line of sight to the printed barcode;
RFID readers do not require a direct line of sight to either active RFID tags or passive RFID tags.
RFID tags can be read at much greater distances; an RFID reader can pull information from a tag at distances up to 300 feet. The range to read a barcode is much less, typically no more than fifteen feet.
RFID readers can interrogate, or read, RFID tags much faster; read rates of forty or more tags per second are possible. Reading barcodes is much more time-consuming; due to the fact that a direct line of sight is required, if the items are not properly oriented to the reader it may take seconds to read an individual tag. Barcode readers usually take a half-second or more to successfully complete a read.
Line of sight requirements also limit the ruggedness of barcodes as well as the reusability of barcodes. (Since line of sight is required for barcodes, the printed barcode must be exposed on the outside of the product, where it is subject to greater wear and tear.) RFID tags are typically more rugged, since the electronic components are better protected in a plastic cover. RFID tags can also be implanted within the product itself, guaranteeing greater ruggedness and reusability.
Barcodes have no read/write capability; that is, you cannot add to the information written on a printed barcode. RFID tags, however, can be read/write devices; the RFID reader can communicate with the tag, and alter as much of the information as the tag design will allow.
RFID tags are typically more expensive than barcodes, in some cases, much more so.


RFID Glossary

Sunday, September 16, 2007

75 PC Tips & Tricks


My insider secrets will help you master your PC and all its applications.

Your processor's swift, your RAM's abundant, and your hard drive's regularly reformatted. Don't stop there. We've got lots of ways to boost your PC productivity. From 10-second shortcuts for everyday tasks to performance-enhancing tweaks, we share our secrets for getting the most out of the time spent in front of your computer screen, whether it's a little or a lot.

For Fixinig Computer Related any Problems you will need this very useful E-Book
Computer Tech Ebook Kit.

Microsoft Windows XP


1 Take shortcuts
Create your own shortcut-key combinations to your favorite applications by right-clicking the app of choice and selecting Properties. Under the Shortcut tab, enter your own key combination, such as Ctrl+6, in the "Shortcut key" field. If the combination you choose is already taken, Windows selects something similar.

2 Eliminate animations
Ending useless animations in Windows will improve performance. Right-click the desktop, choose Properties, and then the Appearance tab. Click the Effects button, and make sure everything is unchecked in the next window.

3 Terminate indexing
For a slight speed boost, try disabling Windows' Indexing, a feature that keeps a record of all files on your hard drive. Go to Control Panel > Performance and Maintenance > Administrative Tools, and double-click Services. Scroll down to Indexing Service, then double-click it. In the General tab, select Disabled from the "Startup type" pull-down menu, and click OK.

4 Instant copies
You can quickly burn a CD using Windows' integrated applet. To begin, go to Start > My Music, and navigate to the folder with the tunes you want to burn, if you're not already there. On the left side of the window, select "Copy all items to CD," or highlight the songs you want to burn and click Copy to Audio CD. You can also copy a single song by right-clicking the file and selecting Copy to CD or Device.

5 Custom slide show
Windows XP lets you create your own slide-show-based screensaver. First, drag and drop the pictures you'd like to use into your My Pictures folder, located inside the My Documents folder. Now, right-click an empty space on your desktop, and choose Properties. Click the Screen Saver tab, and from within the pull-down menu, highlight the My Pictures Slideshow option. The Settings button lets you adjust parameters such as size and transition effects. Click Preview for a quick demonstration, or click OK to activate your screensaver.

6 A tidier taskbar
You can lump open windows belonging to the same application within a single taskbar icon by right-clicking the taskbar, selecting Properties, and checking the "Group similar taskbar buttons" box. Plus, if you want to close the program without having to close each window individually, all you have to do is right-click the icon and select Close Group.

7 Hide all windows
For instant access to your desktop, hold down the Windows key and hit D.

8 Synchronize Windows' clock
If your Windows clock has a habit of losing track of time, synchronize it with an Internet time server. Double-click the time located on your taskbar. Select the Internet Time tab and check "Automatically synchronize with an Internet time server." Don't bet your next job interview on it, though—the time's synchronized only once a week. If you want to synchronize immediately, click Update Now.

9 Apps in an instant
For one-click access to frequently used apps, right-click the taskbar, select Toolbars, and check Quick Launch. Now drag your shortcut icons onto the Quick Launch bar to the right of the Start button. To view more of them, click the double chevron for a list, or hover your mouse over the dotted area until it turns into a double-sided arrow and slide it over to the right.

10 Disable balloon help
To disable balloon pop-ups, click Start > Run, type regedit, and hit Enter. In the left column, drill down to HKEY_CURRENT_ USER > Software > Microsoft > Windows > Current Version > Explorer > Advanced. Right-click anywhere in the right column, select New > DWORD Value, and rename it EnableBalloonTips. Double-click this new entry, and give it a hexadecimal value of 0. Then close the Registry Editor, and restart your computer. Just be careful; Registry mistakes are irreversible.

Microsoft Word
11 Use bookmarks
Word's Bookmark feature lets you navigate quickly through lengthy documents. Simply go to a page you'd like to bookmark, and, from the Insert menu, click Bookmark. Name your Bookmark, and click Add. To find your bookmark, hit Control+F, then click on the Go To tab. Select Bookmark from the menu on the left, and enter the bookmark name to jump straight to it.

12 Seal of approval
Give your documents a professional look by adding a watermark to the background. To add one to your document, select Format > Background > Printed Watermark. Select "Picture watermark" or "Text watermark," then click OK.

13 Keep the right format
Want to paste formatted text into Word without losing the original format? After copying the selected text, select Edit > Paste Special. You can choose among Formatted Text (RTF), Unformatted Text, HTML Format, or Unformatted Unicode Text.

14 Lose the wrong format
To quickly remove the formatting from your document, highlight the relevant text, then press Control+Shift+N.

15 Stop correcting me
Speed up spell-check by preventing Word from grammar-proofing your documents. To disable grammar check, go to Tools > Options, and click the Spelling & Grammar tab. Clear the checkbox labeled "Check grammar as you type," and hit OK.

16 Count on Word
To use Word's built-in calculator, select Tools > Customize > Commands. In the Categories column, highlight All Commands, and, in the Commands column, scroll down to ToolsCalculate. Drag this command to the Tools menu, then rename it "Calculate" by right-clicking it and choosing Name. Calculate is available only when you've selected text with numbers in it. It ignores any text that isn't a number and is useful for adding numbers in tables or paragraphs.

17 Word-o-meter
You can count the words in a document with a single click by adding a word counter to your toolbar. Go to View > Toolbars, and check Word Count. Drag onto your toolbar the small bar that pops up. Now you can just click Recount whenever you want to know your word count.

18 Selective highlighting
If you don't want Word grabbing an entire word when you make a selection, go to Tools > Options > Edit, and uncheck the box that reads "When selecting, automatically select entire word."

Microsoft Excel
19 Insert date and time
To insert the current date in a cell, hold Ctrl, then press the colon/semicolon key. To insert the time, hold Ctrl and Shift, and hit the same key.

20 Color coordination
You can color-code the tabs on your Excel spreadsheets for easier navigation. Click the tab you'd like to color, then select Format > Sheet > Tab Color. Select the color you want, and click OK.

21 Hide your sheet
You can hide Excel worksheets to reduce the number of sheets on your screen. Just select the sheets you'd like to hide, and select Format > Sheet > Hide. To restore them, click Unhide.

22 Clear formatting
To clear the formatting in an Excel spreadsheet, highlight the cells you want changed, and select Edit > Clear > Formats.

23 Keep a close watch
The Watch Window lets you monitor cells on other workbooks. To add a cell to the Watch Window, right-click it, then select Add Watch. You can then position the Watch Window above or below Excel's standard toolbar.

24 Instant quotes
Excel can recognize stock symbols and fetch stock quotes using MSN MoneyCentral Investor. First, enable Smart Tags by selecting Tools > AutoCorrect Options > Smart Tags. Make sure "Label data with smart tags" is checked, and hit OK. Log on to the Internet, and enter a stock symbol (in all caps) into a cell. A small green triangle appears in the lower right corner of the cell. Hover your cursor over the cell, click the icon that pops up, and choose "Insert refreshable stock price." Select "On a new sheet" to display the quote on another worksheet, or "Starting at cell" to display the stock price in the current cell.

25 All together now
To change the typeface or point size of all cells in a spreadsheet at once, click the box in the top left corner to select the entire spreadsheet, then make your changes.

26 Sort things out
You can rearrange the data in a spreadsheet any way you like by clicking the box in the top left corner and selecting Data > Sort. In the Sort window, select the column you'd like to sort by and whether you want the data in ascending or descending order.

Microsoft PowerPoint
27 E-mail slides
PowerPoint lets you resize, crop, and e-mail individual slides. To begin, open the slide, and click View > Notes Page. The file will appear on the notes page as an image. Next, right-click the slide image, and click Copy. The image is now on your clipboard, and you can paste it into your program of choice for e-mailing or resizing.

28 You're out of order
While viewing a slide show, you can call up any slide out of order. Just type the number of the slide, and hit Enter.

29 PowerPoint albums
You can use PowerPoint to create an impromptu photo album. Select Insert > Picture > New Photo Album. Under the "Insert picture from:" heading, click File/Disk, select the pictures you want to include, and hit Insert. Next, you can specify the look of the album you want under Album Layout. Finally, click Create.

30 Secure your presentations
Prevent others from modifying your PowerPoint file (or any Office file, for that matter) by enabling password protection. Select Tools > Options > Security, enter a password in the "Password to modify" box, and hit OK.

31 Scribble some notes
To make annotations on a presentation, open the file in Slide Show view. Right-click in the window, point to Pointer Options, and select a writing implement. When you're done, press Esc.

Microsoft Outlook
32 Quick e-mails
Send out a quick e-mail without launching Outlook. Right-click an empty area on your desktop and select New > Shortcut. Type mailto: in the Shortcut wizard. Then name your shortcut. Now you can just double-click the shortcut to open a blank e-mail message.

33 Create archives
Avoid reaching your mailbox's memory capacity by archiving your messages. Go to Tools > Options, and select the Other tab. Click the AutoArchive button, and make your selections.

34 Reduce or eliminate spam
To decrease your daily dose of spam, select Tools > Options > Junk E-mail, and click the High radio button. To eliminate spam completely, select the Safe Lists Only radio button to receive e-mails only from the people you allow. If you're concerned about missing any e-mails, check your Junk E-mail box regularly.

35 Save multiple attachments...
To save multiple file attachments in an e-mail message all at once, click File > Save Attachments, then select Save All Attachments.

36 ...but get rid of the large ones
Free up your in-box by deleting messages with large attachments. Go to the View menu, click the Arrange By drop-down list, and select Size. Now you can delete e-mails with the largest attachments first and work your way down.

37 Create multiple signatures
You can specify a different signature based on whether you're sending a new message, a reply, or a forward. Go to Tools > Options > Mail Format. Under Signatures, select the signature you want to use from the "Signature for new messages:" drop-down menu.

38 Make your boss blue
Color-code incoming messages based on who they're from by highlighting a message from that individual, clicking Tools > Organize > Using Colors, and selecting a color from the drop-down list.

39 Schedule appointments
To turn an e-mail message into an appointment, drag it over to your Calendar bar until it turns orange. This automatically opens an appointment window, in which you can set up the time and the place, and set a reminder.

40 Speedier searches
Speed up your Outlook searches by installing Lookout. This plug-in installs its own search box into the Outlook user interface and indexes all your e-mails for instantaneous search results.

Microsoft Internet Explorer
41 Make your history a mystery
To clear your AutoComplete history in Internet Explorer, go to Tools > Internet Options, and click the Content tab. Under "Personal information," click AutoComplete, and, in the resulting window, press Clear Forms. To disable the feature entirely, uncheck the Forms box.

42 Browse ahead
iRider ($29) lets you surf the Web at warp speed with an inventive function called Surf-Ahead. Because pages download while you're still on your current page, the next one's usually ready by the time you're done reading. Pages appear in the left pane as thumbnails. You can also select multiple links and click one to open them all at the same time.

43 Browse with tabs
Tabbed browsing isn't reserved for Firefox users anymore. Maxthon is an Internet Explorer plug-in that arranges multiple Web pages by tabs for easy navigation. In addition, it groups sites together so you can open your most-visited addresses all at once.

Mozilla Firefox
44 Open tabs with one click
Instead of right-clicking a link and choosing Open Link in New Tab, click a link with your mouse's scroll-wheel button to open it in a new tab. You can also click that tab with your scroll wheel to close it. (You may have to disable any function assigned to your click wheel for this to work, however.)

45 One-click combos
Don't have a scroll wheel? Hold down Ctrl while left-clicking a link to open a URL in a new tab, or hold Shift and left-click to open a URL in a new window.

46 More on Autocomplete
To eliminate your AutoComplete history in Firefox, go to Tools > Options > Privacy. In the Saved Form Information area, click the Clear button. To disable this feature entirely, click on the plus symbol next to the Saved Form Information area and uncheck "Save information I enter in web page forms."

47 Keep tabs on your tabs
You can control how new tabs open in Firefox in one of three ways: Open the page in a new window, open the page in a new tab in the front window, or replace the current page in the front window. Click the Advanced section of the Options window to customize it to your liking.

48 Smooth sailing
Put an end to jerky document scrolling by enabling Firefox's "Use smooth scrolling" feature in the Advanced section of the Options window.

49 Search in shorthand
Type a word in the address bar, then hit Ctrl+Enter to automatically add http://www and .com to the beginning and end, respectively, of the word. (Ctrl+Shift+Enter adds .org, and Shift+Enter adds .net.)

50 Zoom in and out
Hit Ctrl and the plus sign to increase text size on your current Web page, or Ctrl and the minus to decrease it. To restore the original size, hit Ctrl+0.

51 Open a tab
To open a particular tab in Firefox, hit Ctrl+1 through Ctrl+9. Tabs aren't numbered, though, so you'll have to physically count them.

52 Use live bookmarks
Get the latest headlines from your favorite RSS news sites and blogs. Just click the square, bright-orange icon in the bottom right corner of your browser, and click "OK to save as bookmark." The Live Bookmark will now function as your RSS aggregator.

Google and gmail
53 Instant 411
You can perform basic Google searches from your cell phone by sending text-message queries to 46645 (GOOGL). To search for general services in your vicinity, type a word of description followed by a period and your city/state or ZIP code (sushi.10018). To get the weather, use the same format preceded by the word "weather," or for addresses and phone numbers, by the name of the business. You can even get driving directions by typing from followed by the ZIP code of your starting point and to followed by your destination's ZIP code—for instance, from 10016 to 10018. You'll receive text-message responses free of charge (depending on your carrier's text-messaging plan) within seconds.

54 Create a virtual drive
Turn your Gmail account into an Internet hard drive with Softpedia's free Gmail Drive shell extension 1.0.5. This app adds to your PC a virtual drive that uses your 2GB of Gmail storage space.

55 Gmail calling
Can't live without e-mail? Have your Gmail sent directly to your cell phone as a text message. Log on to your account, and click the Settings page. Select the Forwarding and POP tab, then the radio button labeled "Forward a copy of Incoming Mail to." Enter your cell phone's e-mail address, and click Save Changes. Verizon customers, for instance, would enter their 10-digit phone numbers, followed by @vtext.com. T-Mobile users would enter @tmomail.net, and Sprint customers enter @messaging.sprintpcs.com.

56 Lost in translation?
Need to translate text? Head over to Google Translate, paste the text into the field, and make a selection from the drop-down menu. You can also insert URLs to translate Web pages.

57 Personalize your news
You can customize Google's news page at news.google.com by clicking "Customize this page." Delete sections, increase the number of stories shown, and even add news categories of your own. To view your customized page from any computer, click the link "Share your customized news with a friend" at the bottom of the page, and e-mail the URL to your Internet-based mail account.

Home Networking
58 Set your preferred network
To make sure you always connect to the same wireless network, open the Network icon in your system tray, click the Advanced button, and, under "Preferred networks," move the network to the top of the list.

59 Go stealth
Tighten your home network's security by disabling its Service Set Identifier (SSID) broadcast. By default, all access points broadcast their SSID, or network name, to anyone within range. Disabling this feature will deter hackers.

60 Change frequencies
To avoid potential interference from your cordless phone, buy one that operates on a frequency different from your network's. Companies such as Uniden now offer phones that operate on a 5.8GHz frequency; most Wi-Fi networks operate on 2.4GHz.

61 Channel surfing
Too many wireless networks nearby? If you're experiencing trouble, try changing the Wi-Fi channel to avoid interference. Check your manual for instructions.

62 Repeat performance
Adding a repeater is the quickest and easiest way to broaden the range of your wireless network. Just place the repeater halfway between your router and your computer.

63 Build a wall
Create a virtual wall of protection between your network and the Internet by installing a firewall on every computer logged on to your network. This will keep Internet pests at bay. To enable Windows' built-in firewall, go to Control Panel > Security Center > Windows Firewall. Make sure the On radio button is selected, and hit OK. For even better protection, another alternative is Zone Labs' free ZoneAlarm firewall application.

64 Opt for change
Wired Equivalent Privacy (WEP) has been cracked before, but changing your WEP key often will add another level of protection to your network.

65 Restricted area
If your access point supports it, use access lists to specify which machines can log on to your network.

Audio
66 Let 'er rip
In Windows Media Player 10, you can automatically rip CDs when you insert them into the drive. Select Applications > Tools > Options > Rip Music, and check "Rip CD when you insert the CD" and "Eject CD when you've finished ripping." Click OK to save your settings.

67 Music management
In iTunes, you can edit song info such as ratings, album name, and album art on multiple song files all at once. Control-click the files you want to edit, then right-click and select Get Info. Click Yes to the pop-up window and check off the sections you want to edit. Press Enter to make the changes.

68 Name change
Windows Media Player 10 lets you customize how music files are named. Choose Applications > Tools > Options > Rip Music, and click the File Name button. In the resulting window, check the box with the information you'd like shown in the filename. Click OK when you're done to activate the settings.

69 Access denied
When transferring your iTunes library from your old computer to a new one, don't forget to deauthorize your old computer to head off problems with songs protected by digital rights management (DRM).

70 Delete copycats
Weed out duplicate songs cluttering your iTunes library by selecting Show Duplicate Songs from the Edit menu.

71 Ditch DRM
Want a non-DRM-protected library of songs for your iPod? You can purchase AAC files via iTunes, burn them to CD, and import them back into iTunes as MP3s. Choose Edit > Preferences > Importing. From the Import Using pull-down menu, click MP3 Encoder. From now on, all imported files will be saved as MP3s. You can later delete the AAC files by choosing Show Duplicate Songs from the Edit menu. Now you'll have a backup of your music on CD, and you can use iTunes even if you don't own an iPod.

Maintenance
72 Use System Restore...
Always create a restore point using System Restore when installing or deleting software. You'll find the applet in Accessories > System Tools > System Restore.

73 ...unless you're infected
If your computer has been infected by viruses or spyware, System Restore may actually preserve these Net nasties. Temporarily disable System Restore and perform a full system scan. After you've cleaned your PC, delete old restore points and start fresh.

74 Don't download from strangers
Before you install anything, ask yourself if the software is trustworthy. If you don't have a good reason to trust it, pass.

75 Blast spyware
Prevent browser hijacks and other Internet-related annoyances by keeping updated copies of Lavasoft's Ad-Aware and Spybot-Search & Destroy on your hard drive. Both are freeware and help immunize your computer against potential threats.

For Fixinig Computer Related any Problems you will need this very useful E-Book
Computer Tech Ebook Kit.