Pair programing from a distance can be hard, and up until today my best answer for that was a high-bandwidth, laggy VNC connection.

Today we tried something a bit different. My programming partner logged into my computer over SSH and then shared a GNU screen session I was using. It was instantaneous on both ends, even with Skype running alongside it. More-so, we could each switch between screen windows independently so we could look at the things we wanted to, when we wanted to.

To get this set up, open a screen session locally and then type ^a, followed by “:multiuser on”.

The other person can log in as the same user over SSH and just run screen -x to attach to your session.

Amazingly simple and insanely fast.

UPDATE: The link above has been removed - you can find it on the internet archive at