Pair programming is an agile software development technique in which two programmers work together at one work station.
One types in code while the other reviews each line of code as it is typed in. The person typing is called the driver. The person reviewing the code is called the observer (or navigator).
The two programmers switch roles frequently (possibly every 30 minutes or less).
Its just like two University students sharing a single PC & coding together personally i did it whil e in University it was a great way of coding.
This is most acceptable at University level am not too sure if its in practice in the IT corporate world.
REMOTE PAIR PROGRAMMING :
Remote pair programming, also known as virtual pair programming or distributed pair programming, is the practice of pair programming where the two programmers comprising the pair are in different locations, working via a collaborative real-time editor, shared desktop, or a remote pair programming IDE plugin.
Remote pairing introduces difficulties not present in face-to-face pairing, such as extra delays for coordination, depending more on "heavyweight" task-tracking tools instead of "lightweight" ones like index cards, and loss of non-verbal communication resulting in confusion and conflicts over such things as who "has the keyboard".
Numerous tools, such as Eclipse plug-ins are available to support remote pairing. Some teams have tried VNC and RealVNC with each programmer using their own computer.This works well in our Organisation.
Others use the multi-display mode (-x) of the text-based GNU screen. Apple Inc. OSX has a built-in Screen Sharing application