Slide 1

Slide 1 text

Introducing Hokaido Rust of Us - Chapter 4 2015-10-31 @hibariya

Slide 2

Slide 2 text

Hi, there. ● Hika Hibariya ● @hibariya

Slide 3

Slide 3 text

github.com/hibariya/pty-rs

Slide 4

Slide 4 text

その後の成果

Slide 5

Slide 5 text

github.com/idobata/hokaido

Slide 6

Slide 6 text

Hokaido: Terminal sharing tool

Slide 7

Slide 7 text

Hokaido: Terminal sharing tool ● シェルを起動し出力を TCP で共有する ● 画面が滲まない ● あまり帯域を使わない ● シェル以外は共有できない

Slide 8

Slide 8 text

Broadcaster <-> Server <-> Watcher

Slide 9

Slide 9 text

Hokaido needs server for relay $ hokaido server

Slide 10

Slide 10 text

Watching other’s shell $ hokaido watch \ --host hokaido.example.com

Slide 11

Slide 11 text

Broadcasting your shell output $ hokaido broadcast \ --host hokaido.example.com

Slide 12

Slide 12 text

Watch ● 見るだけ ● 1つのシェル出力を複数人で watch できる

Slide 13

Slide 13 text

Broadcast ● 同時に broadcast できるのは1人だけ ● 他の人に奪われると以後共有されなくなる

Slide 14

Slide 14 text

Channel ● broadcaster + watchers = channel ● 1つのサーバで複数の共有を中継できる ● --channel オプションで名前をつける

Slide 15

Slide 15 text

$ Demo

Slide 16

Slide 16 text

[dependencies] docopt='0.6' # parse options libc='0.1.8' nix='0.3.9' # signal handling pty='0.1.5' # fork with new pty rmp-serialize = '0.7' # MessagePack rustc-serialize='0.3' termios='0.2.0' # inherit termios

Slide 17

Slide 17 text

Current version: 0.0.2 ● 動く ● エラー処理が不十分 ● テストがほしい ● 使い心地の調整が必要

Slide 18

Slide 18 text

cargo install hokaido