About me
^
a bit
“Lonely Bunny” by valkeeja
Remote Pairingfrom the comfort of your own shell
“Remote Pairing Stacks I’ve Tried and
Thrown Away”
Mk I Remote Pairing Stack
(2009 give or take…)
A/V chat via Skype
Skype Screen Sharing
Shoulder surfing
We’re all Tony Stark
We hack
We experiment
We evolve
Mk II
A/V chat (then) OSX Chat app
OSX Screen Sharing
Mk III
A/V chat via Skype
Vine VNC (OSX)
tmux
demo
tmux cheat sheet
Command Action
C-b c New shell
C-b n Next shell
C-b p Prev shell
C-b ' Split horizontal
C-b % Split vertical
C-b <arrow> Move to window
Mk IVBlank slate
A/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for shells and session sharing
vim
terminal-based editor
vim + tmux = modality2
demo
Mk VA/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for shells and session sharing
vim with vimux
demo
The Dream:
Shell in the editor
Mk VIA/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for session sharing only
vim with Conque
zsh is sad… 😞 😞 😞
no demo
just no
no.
yes, emacs
Mk VIIA/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for session sharing only
emacs and eshell
Mk VIIIA/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for session sharing only
emacs and term
result: Close
Mk IXA/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for session sharing only
emacs and shell
result: Not quite
Mk XA/V chat via Skype
Host pair on my Mac
Wrote provisioning scripts
create user
add SSH public key
tmux for session sharing only
emacs and multi-term
zsh is happy here! 😄 😄
demo
Hosting on OSXAn awful idea
ISP
dynamic IP / DNS
router port forwarding
firewall
file permissions
Mk XI
A/V Chat via Skype
Manually configured cloud host
Manually provision pair
tmux for session sharing only
emacs and multi-term
https://github.com/elight/pairing-server
A/V Chat via Skype
Vagrant-provisioned cloud server
Manually provision pair
tmux for session sharing only
emacs and multi-term
Mk XII(Spring 2014)
demo w/ Sean
What’s left?Automate provisioning pair at server create
Maybe using something like keybase?
Container-ize non-pair provisioning
Update pair to automatically wemux attach at login time
Better term than multi-term?
vim-tmux-navigator
Tips & Tricks
Chat window position
Translucent terminal
A/V window near camera
Step-wise bandwidth reduction
Useful for:
Public wifi (QOS)
3G
Developing world
“Let me drive”
(Remote) pair
For further inspiration see:
pairprogramwith.me
tmux: Productive Mouse-Free Development
Evan Light@elight