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".
Description
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.