2010/Unlikely tools for pair programming

From Open Source Bridge Wiki
Jump to: navigation, search

Co-conspirators Jamey Sharp and Josh Triplett get up to a lot of miscellaneous hacking mischief together. Much of this hacking occurs while staring at the same screen, and tag-teaming the keyboard. Sometimes this happens with the two of them in different places. We’ll demo our favorite tools and invite audience contributions to the discussion.

Speakers: Jamey Sharp, Josh Triplett

Return to this session's details

Contributed notes

Tools like Gobby and EtherPad are fine for collaborating on docs, or one-screen sections of code. But at some point, you'd like to check syntax, compile, test, etc.

Enter GNU Screen. It's not just for multiplexing sessions onto one Xterm. You can connect remotely to your friend's Screen instance. You have to share the same cursor; if one person is driving and the other navigating, that's okay. One of the presenters used Screen to teach the other one Vim.

Next step is to give each user his own window in the same Screen session. Two environments, two cursors. Can hit Ctrl-G to get the other user's attention (oops, easy to trigger accidentally through tab compleetion).

Contents of ~josh/joinscreen:

#!/bin/sh -e
chmod a+rw `tty`
sudo -H -u jamey screen -x

See the etherpad page for more notes and screen tips: http://etherpad.opensourcebridge.org/pair

How to send e-mail from both halves of the pair at once (seems like more trouble than it's worth).

Use IM as back-channel. "Should I type d to delete this thing in Vim?" (Respond in the affirmative by just typing d on the other end.)

Made a live change to their site in front of a live audience. Done with courage and humor.

Audience Q: What about Remote Desktop / VNC?

Presenter A: More bandwidth / latency, so harder to use across a large geographical separation.