Hacker News new | past | comments | ask | show | jobs | submit login
Remote Pair Programming with Screen and Vim (haruska.com)
60 points by r11t on Oct 3, 2009 | hide | past | favorite | 16 comments



I can only second the recommendation. Skype + Screen & vim over ssh is a great way to collaborate in a distributed environment. We are all working from home since 2005 and it worked pretty well so far.


We do the same thing with Emacs and SLIME, though we are transitioning to Rudel for most of our work: http://technomancy.us/129


you might be interested in this talk about shared editing in Eclipse (using the Eclipse Communication Framework).

http://www.youtube.com/watch?v=GfeUCT-tRJQ


It's good stuff.

All my employees work from home and when we need to get together to bang on something, we use a shared desktop over VNC. Getting the appropriate responsiveness and speed out of VNC is a matter of using the right client; plain-vanilla standard VNC and UltraVNC is pretty slow, but TightVNC is quite acceptable. I haven't had any problems with NAT traversal on it either, although we run OpenVPN internally and every person's work machine is on it, so the routing is directly over the tunnel to a server reachable only through the VPN concentrator.

My favourite thing about VNC is that it really scales fairly well even to a large number of remote viewers, and doesn't incur licensing costs per marginal head. We are also VoIP guys, so of course we run Asterisk internally and all have pretty decent handsets or softphones that are just one three-digit extension away from each other. Push a few buttons and we can all hop on an internal conference bridge and on our shared VNC - it gets things done.

Still, sometimes it's too much overhead just to perform a simple task and screen does quite well.


This was instrumental in getting help to tough problems over IRC when I was still learning the ropes. Screen is an amazing, amazing program.


We used SSH + screen + vim/emacs for a ton of code reviews and collaborative work at Linden Lab during Second Life development. Even with Second Life + voice in constant use for distributed standups and design discussions -- and SubEthaEdit in use for some text sharing -- SSH + screen + vim was invaluable.


I've used GoTo Meeting and also setup custom VNC servers to do the same thing with skype for voice or IM chat along with it. VNC works pretty seamlessly in mac and ubuntu.


I think that it contradicts the main principle of pair programming that is, you have to be physically near the other programmer.


As someone who has never really done pair programming but is kind of interested in maybe someday giving it a try, why is this the case? My impression was that the purpose was more to have a mind focused on solving problems at the same time as another mind is focused on finding issues with the proposed solutions, possible bugs, etc?

Why do you need physical presence for this to work?


Because it's much easier to communicate directly than by using computer : you don't have the same workflow, for instance, and in my opinion, when you're not in the same room, you partner is passive.


Am I correct in assuming this is impossible on a machine for which you do not have root access?


No. Multi-user screen does not require root access.


According to this article it does: http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/

It says that I need to be able to run:

    chmod u+s /usr/bin/screen
    chmod 755 /var/run/screen
Is there a way to bypass that or do I have to install screen in my home directory? I'd like to limit the amount of crap I have to install in ~/. They hardly allow any space on these campus machines.


That may have been necessary to get multi-user screen to work with two different users, but you shouldn't have to do that to make it work with two instances of the same user.

Depending on your distro and how screen is packaged, it might just work out of the box.


for the comparison to be fair it is important to mention that with iChat screen sharing you also get voice chat, and when there is to work on web applications it is pretty cool to be able to also share the browser window.


We remote pair all the time with Skype, VNC, then whatever editor the typist is most comfortable in (in our company always emacs). It works really well long as no one is having a bad net connection day.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: