Pair Programming 4 Introverts

Challange

We have four introverts that want to pair and do some debugging. So each one prefers to sit in his dark dark corner and drink dark dark chocolate maybe with some rum and cat.

How To

It is multiple ways how we could make the job done.

Share screen

The most naive way. Any messages + git. So you start screen sharing and from time to time push to shared branch when you want to change a DRIVER.

pros

  • stupid simple
  • all tools work everywhere
  • platform and editor independent

cons

  • no colaborative editing
  • network preasure

RDP and share control

RDP is more windows protocol, but it is easy to find tools like a Teamviewer. The main benefit now we could give a mouse and keyboard control to your partner.

pro

  • 2 people could edit and interact with a screen
  • TeamViewer have shared clipboard

cons

  • crazy traffic as same as for screen share
  • lags

Tmux shared console.

It is an excellent idea. I use a tmux for a long time to organize a console and create a nice multiconsole environment on remote servers.

The coolest part that you could connect wholly and remotely minв blowing that multiple users could attach to the same session.

So flow is simple

  • Alice and bob ыыр to a server
  • Alise start a session
  • Bob connect to a session

detailed guide

pros

  • small traffic footprint
  • you share entire terminal

cons

  • terminal only
  • require tech skills
  • for windows, some black magic is required

The clouds IDE

It was a hipe with a cloud ide. You could find a cloud eclipse ide and so one.

IDE list

Cloud 9

One of the most popular is Cloud 9.
Now cloud 9 is a part of Amazon. It allows you co-edit and even co-develop.
On practices, you develop in the browser.

c9

pros

  • easy
  • no extra tools

cons

  • not free
  • the code is fetched and stored outside your machine
  • not special tooling

Share the same love to editors

For now, significant issues in all approaches that we stick users to share a session and it is the same as your code in somebody else machine with crazy settings that you hate.

So maybe you share the same editor like emacs. Then you can use a pair of plugins like

editor plugin
emacs https://github.com/tjim/lockstep
vim https://github.com/FredKSchott/CoVim
atom https://teletype.atom.io/
sublime http://teamremote.github.io/remote-sublime/

Visual Studio Code Live Share

It is one more environment dependent tool, but I haven’t seen anything like that before. Yo share editing and debug session in a way that your colleague can use VS сode or VS with own settings, tooling, shortcuts.

More on video.

I have used it. It is practically the best experience as for now. Docs.

Saros

http://www.saros-project.org/

sa

It is research open source IDE developed in Berlin. Quite promising. Folks want to add IntelliJ support soon

pros

  • it is awesome co-editing
  • co-debugging with independent inspect

cons

  • VS specific
  • require registration
  • intermidiate server, so potential security issues

Floobits

https://floobits.com/
I haven’t used it. You could use any editor or environment to pair.
Looks cool but it is not for free.

pros

  • use what you want

cons

  • no co debug
  • not free
  • registration