This is quite amazing and has been badly needed for sometime. The tmux technical setup prior may have inhibited some developers out there.
The importance of remote pair programming seems to be slowly making its way to the forefront. I've been toying with the idea of a high level protocol specifically for pair programming that would support the notification of high level programming tasks (switching tab, syncing file changes, showing highlights, cursor movement). This protocol would be light enough that latency should be a mine issue. It would have to be supported in all major editors (via a plugin?). This supported would give each remote dev the freedom to work in their favorite editor with their own key bindings.
OT, but: I'm jealous of some people's abilities to come up with such clever names.
Full-derail: anyone seen any pointers to thinking up such names? Perhaps an Emacs command or mode? Or am I looking for a shortcut to a hard problem? Whatever it is, I'd appreciate it in pill-form (capsule please; none of that nasty tablet stuff).
Off topic. What would be really cool is to have an Emacs buffer that can be edited by multiple people. Then pair programming can be done within the editor. Is there such thing?
I'm actually working on a websockets implementation in emacs to be able to connect to a sharejs server, so multiple parties can edit the same document regardless of where it's hosted or with what editor - but I ran into a snag with some of the byte functions and haven't revisited it for a few days. But I absolutely agree :)
> What would be really cool is to have an Emacs buffer that can be edited by multiple people. Then pair programming can be done within the editor. Is there such thing?
Rudel is nice for working on a single document, but tmux is much nicer for pair programming since it synchronizes the whole screen rather than buffer by buffer. That way you don't have to talk through "OK, I'm switching over to this other file now". Plus it works with things like shells and repls. So I'd use Rudel more in a collaborative note-taking context than a programming one.
I'm really glad remote pairing is getting such inventive attention lately. I have, however, been a little disappointed that the mode of collaborating that I prefer doesn't seem to be well supported.
Many people can't or don't want to grant login access to their local development machine in order to share a screen/tmux session and using a mutually accessible machine means leaving behind or laboriously duplicating the local development experience.
When I see tools like this, I'm jealous of the people who actually get to put them to good use. I program for a living, but at my current job I would be shocked if anyone even knew what tmux was ... heck, even SSH. At home I do use some very "cutting edge" tools, but still can't picture myself being in a scenario, anytime soon, where Wemux solves a problem of mine. I wish I could see myself in that scenario, though. So, who uses these tools and are you hiring? :)
Mosh doesn't play nice with wemux specifically or tmux as a whole?
Glad you liked it, in any case! I'd love to hear any comments/questions/suggestions anyone has, I'd like wemux to be as good as it can be!
This looks great! I tried it with the default settings and could share a sessions very easily. On the other hand I'm trying to use `wemux rogue` but I get the following:
wemux rogue
unknown command: rogue
To see a list of wemux commands enter 'wemux help'...
And wemux help does not list `wemux rogue` as one of the options. I installed it by following the `brew install` process in the README.
I had the same issue while testing rogue mode. You need to do the "wemux rogue" with a user not included in your host_list in your wemux.conf. The available commands are different for hosts and other users.
I believe GNU Screen supports mirror mode (read-only) and pair mode (one shared cursor), but rogue mode (two independent cursors, shared terminal) is the real differentiation from GNU Screen.
Great for remote teams who are heavily command-line based (developers and deployment folks).
The importance of remote pair programming seems to be slowly making its way to the forefront. I've been toying with the idea of a high level protocol specifically for pair programming that would support the notification of high level programming tasks (switching tab, syncing file changes, showing highlights, cursor movement). This protocol would be light enough that latency should be a mine issue. It would have to be supported in all major editors (via a plugin?). This supported would give each remote dev the freedom to work in their favorite editor with their own key bindings.
Here are some of my additional thoughts on the topic.. https://gist.github.com/1999816