YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 2: Remote pairing from the comfort of your own shell

About me

Page 3: Remote pairing from the comfort of your own shell
Page 4: Remote pairing from the comfort of your own shell
Page 5: Remote pairing from the comfort of your own shell
Page 6: Remote pairing from the comfort of your own shell
Page 7: Remote pairing from the comfort of your own shell
Page 8: Remote pairing from the comfort of your own shell
Page 9: Remote pairing from the comfort of your own shell
Page 10: Remote pairing from the comfort of your own shell
Page 11: Remote pairing from the comfort of your own shell
Page 12: Remote pairing from the comfort of your own shell

^

a bit

Page 13: Remote pairing from the comfort of your own shell

“Lonely Bunny” by valkeeja

Page 14: Remote pairing from the comfort of your own shell

Remote Pairingfrom the comfort of your own shell

Page 15: Remote pairing from the comfort of your own shell
Page 16: Remote pairing from the comfort of your own shell

“Remote Pairing Stacks I’ve Tried and

Thrown Away”

Page 17: Remote pairing from the comfort of your own shell

Mk I Remote Pairing Stack

(2009 give or take…)

A/V chat via Skype

Skype Screen Sharing

Page 18: Remote pairing from the comfort of your own shell

Shoulder surfing

Page 19: Remote pairing from the comfort of your own shell
Page 20: Remote pairing from the comfort of your own shell

We’re all Tony Stark

We hack

We experiment

We evolve

Page 21: Remote pairing from the comfort of your own shell

Mk II

A/V chat (then) OSX Chat app

OSX Screen Sharing

Page 22: Remote pairing from the comfort of your own shell
Page 23: Remote pairing from the comfort of your own shell

Mk III

A/V chat via Skype

Vine VNC (OSX)

Page 24: Remote pairing from the comfort of your own shell
Page 25: Remote pairing from the comfort of your own shell

tmux

Page 27: Remote pairing from the comfort of your own shell

demo

Page 28: Remote pairing from the comfort of your own shell

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

Page 29: Remote pairing from the comfort of your own shell

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

Page 30: Remote pairing from the comfort of your own shell

terminal-based editor

Page 31: Remote pairing from the comfort of your own shell
Page 32: Remote pairing from the comfort of your own shell

vim + tmux = modality2

Page 33: Remote pairing from the comfort of your own shell

demo

Page 35: Remote pairing from the comfort of your own shell

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

Page 36: Remote pairing from the comfort of your own shell

demo

Page 37: Remote pairing from the comfort of your own shell
Page 38: Remote pairing from the comfort of your own shell

The Dream:

Shell in the editor

Page 40: Remote pairing from the comfort of your own shell

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

Page 41: Remote pairing from the comfort of your own shell

zsh is sad… 😞 😞 😞

Page 42: Remote pairing from the comfort of your own shell

no demo

Page 43: Remote pairing from the comfort of your own shell

just no

Page 44: Remote pairing from the comfort of your own shell

no.

Page 45: Remote pairing from the comfort of your own shell
Page 46: Remote pairing from the comfort of your own shell
Page 47: Remote pairing from the comfort of your own shell

yes, emacs

Page 48: Remote pairing from the comfort of your own shell

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

Page 49: Remote pairing from the comfort of your own shell
Page 50: Remote pairing from the comfort of your own shell

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

Page 51: Remote pairing from the comfort of your own shell

result: Close

Page 52: Remote pairing from the comfort of your own shell

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

Page 53: Remote pairing from the comfort of your own shell

result: Not quite

Page 55: Remote pairing from the comfort of your own shell

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

Page 56: Remote pairing from the comfort of your own shell

zsh is happy here! 😄 😄

Page 57: Remote pairing from the comfort of your own shell
Page 58: Remote pairing from the comfort of your own shell

demo

Page 59: Remote pairing from the comfort of your own shell

Hosting on OSXAn awful idea

Page 60: Remote pairing from the comfort of your own shell

ISP

dynamic IP / DNS

router port forwarding

firewall

file permissions

Page 61: Remote pairing from the comfort of your own shell
Page 62: Remote pairing from the comfort of your own shell

Mk XI

A/V Chat via Skype

Manually configured cloud host

Manually provision pair

tmux for session sharing only

emacs and multi-term

Page 63: Remote pairing from the comfort of your own shell
Page 64: Remote pairing from the comfort of your own shell
Page 65: Remote pairing from the comfort of your own shell

https://github.com/elight/pairing-server

Page 66: Remote pairing from the comfort of your own shell

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)

Page 67: Remote pairing from the comfort of your own shell

demo w/ Sean

Page 68: Remote pairing from the comfort of your own shell

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?

Page 70: Remote pairing from the comfort of your own shell

Tips & Tricks

Page 71: Remote pairing from the comfort of your own shell

Chat window position

Page 72: Remote pairing from the comfort of your own shell
Page 73: Remote pairing from the comfort of your own shell

Translucent terminal

Page 74: Remote pairing from the comfort of your own shell

A/V window near camera

Page 75: Remote pairing from the comfort of your own shell

Step-wise bandwidth reduction

Page 76: Remote pairing from the comfort of your own shell

Useful for:

Public wifi (QOS)

3G

Developing world

Page 77: Remote pairing from the comfort of your own shell

“Let me drive”

Page 78: Remote pairing from the comfort of your own shell
Page 79: Remote pairing from the comfort of your own shell

(Remote) pair

Page 80: Remote pairing from the comfort of your own shell

For further inspiration see:

pairprogramwith.me

tmux: Productive Mouse-Free Development

Evan Light@elight

[email protected]


Related Documents