

Remote Pair Programming with Screen and Vim - r11t
http://haruska.com/2009/09/29/remote-pair-programming/

======
Vitaly
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.

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

~~~
Create
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>

------
abalashov
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.

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

------
CoryOndrejka
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.

------
keefe
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.

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

~~~
etherael
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?

~~~
vorador
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.

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

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

~~~
sofal
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.

~~~
spudlyo
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.

------
antirez
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.

------
wastedbrains
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.

