DigitalJoel

2010/05/16

Pair Programming Without The Bad Breath

Filed under: general — Tags: , , — digitaljoel @ 11:05 pm

Let’s say you are working from home, but you need to do a code review or want to do pair programming or something. I was in this situation last week with a good friend. He lives about 45 minutes from me and neither of us were really in the mood to do any driving. We are both working on macbooks. I was planning on driving the programming session, so he put together the following instructions for setting up SSH access to my computer

Steps for setup:

  1. Open TCP port of your choice on the router and forward that to port 22 of the IP for your Mac (ifconfig @ command prompt, or use the network control panel to get your IP).
  2. Create a user/pwd that I can use to connect with in the Accounts Preferences Panel*
  3. Turn on Remote Login in the Sharing Preferences Panel (System Preferences).
  4. Turn on Screen Sharing.
  5. Add that user to the list of who can connect in the Allow access list box.
  6. Go to the Firewall preference panel and click on Advanced… Ensure that ssh is allowed through.

Finally, I gave him my IP address and his account information and he logged in through SSH, started screen sharing and was then viewing EVERYTHING I was viewing on the screen.  We also started up iChat and started a voice chat through our AIM connection.  The sound was actually very good and the screen sharing performance was also very good.  My friend said he could see the change on the screen as soon as he heard the key press through the microphone.

In order to connect, he issued the following command line.

ssh -p <yourport> -f -L 1200:localhost:5900 <iphere> sleep 10 ; open vnc://localhost:1200

where <iphere> is replaced by the ip address I sent to him, and <yourport> is the port specified in step one.  Note that the username I setup on my machine was the same as the username he uses on his machine so he didn’t have to specify a username at login time.

We worked for about 3 hours this way, talking and programming without any issues.  Will it 100% replace in-person pair programming or code reviews, certainly not, but I plan to use it a lot with my buddy.

*You probably shouldn’t be sending the username/password combination to your friend through email or something like that.  I called mine to give him that sensitive information.

Advertisements

6 Comments »

  1. I worked at a company that used SmartBear (http://smartbear.com/) with pretty good success. If you need to regularly do remote code reviews, it is probably a worthwhile investment for the company.

    Comment by Travis Jensen — 2010/05/16 @ 11:11 pm

  2. Thanks Travis, I’ll give it a look.

    Comment by digitaljoel — 2010/05/17 @ 9:27 am

  3. […] TV system installed in it then you may have often wondered why you can’t get satellite TV. Pair Programming Without The Bad Breath « DigitalJoel – digitaljoel.wordpress.com 05/17/2010 Let’s say you are working from home, but you […]

    Pingback by Posts about Programming from google blogs as of May 17, 2010 « tryfly.com — 2010/05/17 @ 5:46 pm

  4. I was thinking about you and this blog today. It must have been national halitosis day; it seemed like every where I turned, I was assailed!

    Comment by Travis Jensen — 2010/05/21 @ 12:29 am

  5. Hey Joel,

    sorry for misusing this comment to ask saomething. Did you solve this problem:
    http://stackoverflow.com/questions/2390658/generate-documentation-for-jsf-2-composite-components
    I’m facing the same problem, but dont have an idea how to create a taglibrary doc for jsf 2.0 composite coponents 😦

    Thx man

    Comment by Tobi — 2010/07/13 @ 8:14 am

    • Hi Tobi. I’m sorry to say that I found no solution. I have found that Netbeans 6.9 has very good support for attributes of composite components, wherein it will do code completion for your composite component attribute names, and show the related information for them. But, as for creating taglib documentation that you can distribute, I have no solution yet. If you find something, let me know!

      Comment by digitaljoel — 2010/07/17 @ 1:51 pm


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.