読者です 読者をやめる 読者になる 読者になる

文字っぽいの。

文字を書いています。写真も混ざります。

今年もまた研究室でGithub勉強会をしました。

photo by Nat W

 研究室のB4が院試バトルを終えて、いざ卒研!となるこの時節、1人でも無駄な悲しみを背負う人が少なくなるようにと、去年(研究室でGithub勉強会をしました。)に引き続き、研究室Github勉強会をしました。

資料

 どんなことしたのかは、資料を流し見れば薄ぼんやりわかるはず。もうすこし統一感のある資料にしたかったですね。

背景とか

 僕がいる研究室では、人間とコンピュータの親和融合から発展する幸福的世界観を目指しています。ざっくばらんに言うと、人間に使いやすいコンピュータだとか、生活を少し幸せにするソフトウェア的手法だとかを研究しています。

 こういった人間が密接に関わる研究だと、ユーザビリティ評価とかやります。おなじソフトだけど、少しずつ条件がちがうプロトタイプをたくさん作って、比較実験をします。これに加えて、

プロトタイプ→ユーザビリティ評価→改善→ユーザビリティ評価→以下無限ループ

という、いわゆるPDCAサイクルな事も行う必要があります。なので、しっかりバージョン管理をしておかないと「あの時1回実装して不評だった機能を復活させて、もう再実験してみる。」状況や、「AタイプとBタイプとCタイプで比較実験してみる。」状況が複合的に発生した場合に、こんがらがって事故が起こる可能性があるわけです。

 こういった問題は、頑張れば人間の記憶力やメモを最大限に活用してなんとか対処できますが、僕らは現代日本に生きているので原始的解決法はやめましょう。それに、人力でなんとかするメリットよりも、うっかり実験失敗した時のデメリットの方が大きいです。卒業できなくなります。卒業はしましょう。

目指したこと

 今回の勉強会では、次の4つを目的としました。

 とりあえず、これができれば研究用のソフトウェアを、githubで管理できるはずです。ただ、publicのままだと未発表研究がバレちゃって大変なので、学生アカウント申請を取得して、privateリポジトリに変更するところまでを行いました。

気をつけたこと

 僕が高専で卒研をしていた3年前は、Dropboxで卒研データを全部管理していました。おそらく、今もそういう人が多くいると思います。github勉強会で一番多いのは「それDropboxでよくね?」という意見だと思うので、そうならないように気をつけました。確かにDropboxは手軽で強力なツールなのですが、研究用のソースコード諸々までそこで管理してしまうと、後で泣きをみることになります。みました。どこが不便かは資料に載ってる感じです。

 あと、コマンドは実際に叩いてみないと身につかないと思ったので、じっくりハンズオン的に進めました。たった数コマンドだけど、結構ヘルプの声があがっていたので、時間を多めにとっていたのは良かったと思う。勉強会中では、git pushしたあとでgithubのリポジトリページが変わって、README.mdが反映されているのを確認するところで終わりにして、あとはTry Git先輩に任せる感じにしました。BranchとかPull Requestの話をしだすと、きっと混乱してしまうので導入だけにとどめておきました。

 おそらく、Visual StudioとかEclipseとかのIDEで研究をする人が大多数だと思うけど、IDEでプロジェクトをgit管理するにしても、大体の流れがわかってないと大変なことになる。IDEの提供するgit周りが貧弱でも、必要となればシェルに潜れるのは結構強いと思っている。なので今回は、ひたすらシェルを叩く方向で勉強会をしました。あらかじめシェルの設定についての予備資料を提供して、当日のハマりポイントを少なくするようにもしてみたけど、効果はあったのかな。

やってみて

 弊研究室はWinユーザが多いのですが、Cygwinはdefaultのインストール設定だとssh-keygenが入ってなくて「よくわからないからCygwinフルインストール祭りじゃー!」と凶行に走る人が続出して、目を覆いたくなる様相でした。ちなみに、Cygwinはちょっと前までsetup.exeですべてのパッケージ管理をする唯一絶対神な世界観をしてたけど、最近ではapt-cygというapt-get的なコマンドが使えるようになりすこぶる便利になった。ここらへんも後で周知しておくと良さそう。フルインストールしてしまえば関係ないかもしれないけど……。

 あと、MacにUSBマウスとUSBスピーカつなげて、拡声器みたいに使ってみた。ライン出力するのには、LineIn(http://www.rogueamoeba.com/freebies/)ってのを使った。地味に便利だった。自分の声が聞こえて、めっちゃしゃべりにくかったけど、声をはりつづけるのはしんどいので総じて良かった感じ。

得られた知見

 留学生の人に「Githubは世界で一番ですか?」と聞かれて、意図が汲み取れないまま「んー、Bitbucketとかあるけど、世界一使われてるんじゃないかな?」と答えたら、「あー、中国は世界で一番のものは使えない。YoutubeTwitterFacebookも。だからGithubも中国から使えない。」と言われた。どうやら彼はPCで、中国からGithubを利用する方法をまとめた動画を見ていたらしい。その動画は1時間ぐらいの長さがあった。すごい世界観だった。

追記(2013/10/4):今聞いたところによると1時間以上ある動画は「操作しながらひたすら文句言ってるから長い。」とのこと。あと「たぶん、今なら直接Githubにアクセスできるはず。」というぼんやりした回答も得られました。どっちだ。