Page MenuHomePhabricator

Explore tools for remote pairing
Closed, ResolvedPublic

Description

Per discussion at the recent EngProd offsite, Dan and Brennen to pair on tooling for remote pairing that goes beyond "share a screen/window over Google Meet".

Event Timeline

tmate looks potentially quite interesting - a fork of tmux for easy terminal sharing: https://tmate.io/

I've come across it before, but either they hadn't published the source at that time or I missed it. It looks like you can now run your own servers, and they offer a docker image.

Yak Shaving Day notes:

Tried: https://replit.com/

  • There's a free tier with 500 megs storage, 500 megs memory
  • Docker containers on Google cloud
  • Selection of languages, basic editor/IDE, a console, a shell.
  • Tried Python - realtime collaboration in the editor & console. The shell not, for some reason.
  • Has language-specific package management, shared whiteboard, etc.
  • Supports git.
  • I was able to run vim in the shell.
  • Limited in various ways but definitely seems like an environment you could use to work on a project together.
  • TODO: Try this during for a pairing session
  • Join the RelEng team on repl.it: https://replit.com/teams/join/fvfnsygwtuxziswuyufeqtjyobqxakfz-releng

Tried: tmate.io - https://tmate.io/

  • Installable from apt
  • Requires a server, which we don't necessarily trust, but some discussion of setting up a cloud project where people could shell in and running the daemon locally
  • Similar, maybe for future experimentation: https://github.com/zolrath/wemux
    • Looks like it allows each user to have a pane.

Failed to try: floobits - https://floobits.com/

  • Has editor plugins
  • This was enough yaks deep by the time I gave up that it doesn't, overall, seem very promising

Other stuff:

VSCode only: https://visualstudio.microsoft.com/services/live-share/
Mac only: https://tuple.app/
Martin Fowler notes: https://martinfowler.com/articles/on-pair-programming.html
Cloud9: https://aws.amazon.com/cloud9/?nc2=h_ql_prod_dt_c9

Maybe worth looking into a shared GUI with RDP or VNC? Anyway this one seems slightly promising:

webtops is a docker-image that provides serves up a complete linux desktop and makes it accessible from a web browser.