プログラミングを知り合いなどに教えるときに使ってるツール類。
前提だけども、こういったツール類をすぐに使いこなせるぐらいコンピュータ、インターネットに慣れてる人であること。
リモートじゃない場合はどうやって教えてるか
直接画面を見せながらプログラムを入力して、動かして説明してる。ファイルを渡すときはUSBメモリで渡す。
つまりこれらを各種ツールを使ってインターネットごしに同様にできるようにする。
繋ぐ(場所の問題の解決)
まずは横にいる状態、つまりネットワーク的に同じ空間にいる状態を作らないと各種ツールを使うのに不便です。
グローバルIPで片方に繋がる環境があれば必要なかったりするかもしれないけど、必要であればVPNやSSHなどでトンネル掘るなりして、LAN環境を作ります。
SSH
主に "-L" オプションのトンネリングで使う。
画面を見せる(デモを見せる)
リモートで画面を見せたり、共有したりするためのソフトウェア。
VNC
WindowsならRealVNCあたりが簡単かも、画面を見せられれば別のVNCサーバ/クライアントでも構わないと思う。
複数クライアントからの接続許可+表示のみで入力不可にすれば、複数人に同時に画面を見せることもできる。
google docs
リアルタイムで変更を共有できるので、ホワイトボードの変わりにdocsの図を使ったりすると良い感じ。
説明する(話す)
説明のためにチャットベースでやるのは時間がかかってイマイチだし、伝えにくい部分もあるので、音声は必須。インターネット経由で使える音声チャットソフトなどが該当する。
音声チャットのソフトはCPUパワーが少し必要だけど、最近のPCなら余裕ですよね。
GoogleTalk
ブラウザごしで使えたりするかも。
Windows Live Messenger
Skypeが使えるなら特にこれを選ぶ必要はない気がする。
ファイルを渡す
ソースコードや各種ファイルのやりとりに使うソフトウェア。手軽に使えることが重要。
Dropbox
フォルダ同期。httpで認証なしに直接アクセスできるPublicフォルダをうまく活用すると便利。
おわりに
最近は便利なツール/サービスが多くて楽になったねぇ。