Hacker News new | past | comments | ask | show | jobs | submit login
Wemux - Set up tmux for party pair programming (thechangelog.com)
89 points by netherland on April 12, 2012 | hide | past | favorite | 25 comments



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.

Here are some of my additional thoughts on the topic.. https://gist.github.com/1999816


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


I always pick my names from obscure fictional characters: http://www.reddit.com/r/programming/comments/hus94/the_ruby_...

Just read lots of fiction and keep a scratch pad next to you while you do.


This is very cool.

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 :)


That's great. Love to see it when it's done. Keep up the good work.


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

As always with Emacs, been there, coded that:

http://www.emacswiki.org/emacs/Rudel


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.


> but tmux is much nicer

I agree, but I was giving them what they asked for.


Yes! This is amazing. Found something new with Emacs every once a while.


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.

I've used hacks to get what I want (https://dev.launchpad.net/yellow/RemoteTerminalBroadcasting) but I haven't found anything truly satisfying yet.


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? :)


Very neat script. Zolrath (Matt Furden) is a member of HN: http://news.ycombinator.com/item?id=3772678


Does anyone else have a horrible time getting to thechangelog.com I keep getting errors that says their server is down :(


Unfortunately mosh didn't place nice with wemux, but I used it today for several hours. Rogue mode was nice.

Thanks zolrath.


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.


Doesn't GNU Screen support this out of the box?


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


Can tmux give two client the same window, but different panes? This means they can see each others cursor on another part of the window.


Yep. Pair and rogue mode


What theme/plugins are you using in that screenshot?

Edit: Thanks!


I wrote up a description of how to duplicate that status line at: https://github.com/zolrath/wemux/wiki/Status-Line

Color Theme is https://github.com/nanotech/jellybeans.vim


It looks like a combo of vim-powerline, stock tmux status line, and the status line that wemux adds.

https://github.com/Lokaltog/vim-powerline




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: