YAPC::Asia Tokyo 2015 で CONBU スタッフとボランティアスタッフしてきた

例年ブログを書くのが遅いのですが、これでようやく自分の YAPC も終わることができます。

あなたと YAPC

今年で4回目の YAPC に行ってきました。スタッフ参加では3回目です。更に、去年の YAPC 後の HUB での縁があって、今年は CONBU の方のスタッフとしても参加していました*1

普段は周りに YAPC を知ってる人のほぼ居ない職場で働いてたりするので、Web 業界界隈の話題で盛り上がれる知り合いは YAPC にスタッフ参加して得た大きな財産ですよ、はい。

YAPC ボランティアスタッフとして今年やったこと

YAPC のボランティアスタッフとしてやったことは例年とほとんど変わりません。前夜祭の受付前に集まって、年々洗練されてきたノベルティ詰めや Tシャツのたたみ直し*2を行い、各トークの司会・タイムキーパー・会場誘導等をやってました。会場での仕事は、同じ部屋のスタッフみんなや部屋係のリーダーがすごく頑張ってくれていたおかげで、大きな混乱もなくて良かったです。

ビックサイトになって会場キャパは倍増くらいしたけど、今年も満員のトークがいっぱい有りました。入れなかった人には心苦しいですが、「後で YouTube に上がるのでチェックしてみてください」とアナウンスするしかできませんでした。今年はアップロードが早くて、既に多くのトークが上がってるので、見れなかったトークや裏番組をチェックしましょう!

yapcasia - YouTube

CONBU スタッフとして今年やったこと

宣伝

みなさん、CONBU が会場混雑を推測できる API を提供していたことは知っていましたか?

YAPC::Asia Tokyo 2015 会場ヒートマップ | CONBU API

YAPC 期間中のヒートマップを再現するようにしました!会場ヒートマップ眺めるの結構楽しいですよ!上記リンクから見れるので、自分が居た会場の混み具合を思い起こすのもいいのではないでしょうか!

f:id:ikosin:20150902022730g:plain

なぜ会場ヒートマップは作られたのか

CONBU スタッフとしては、設営はほぼ参加せず、大きな話題になった LT(ライトニング設営: Lightning seTsuei)にも出なかったのですが、代わりに何が出来るか考えた所、会場ヒートマップが生まれました。

もともとは、今回から CONBU API というものを公開して、YAPC 参加者が自由にアプリとか作ってくれるといいなという感じでした。

自分は開発用に擬似的なサンプル値を返すアプリをちょろっと書いていて*3 API の仕様も把握したので、ちょっとでも動くものが見せられたらみんな API 使ってアプリ作りたくなるかもと思い、前夜祭前日の日付が変わったくらいから3時間程度で書いたアプリです。当初はサンプル値をマッピングするだけのデモアプリでした。

この時はただのデモアプリです

ただ想定外だったのが、今年の YAPC スタッフが手際が良すぎてノベルティ詰めが予想以上に早く終わってしまい、空いた時間で実データを反映するように改修して公開したら自分でも楽しくなってきてしまいました。そこからちょくちょく機能追加*4したりするうちに、気づけば公式アプリっぽい雰囲気になっていきましたw

まとめ

*1:正式には CONBU の方は今週末の LL の募集に応募してたけど、YAPC も当日設営以外は準備等参加してた

*2:Tシャツは本当にあっという間に全部捌けてしまった

*3:もともとネットワーク機器の設定チームだったけど、そっちではあまりにも無力で役に立てなかったためカッとなって書いた

*4:細かい無線AP の位置調整をしたり、当初は部屋単位のアソシエーション数をマッピングしていたのを無線AP 毎のアソシエーション数が反映されるように改修

Test Kitchen の .kitchen.yml, .kitchen.local.yml を上書きする方法

環境変数で読み込むファイルを上書きできる

export KITCHEN_YAML=.kitchen.my.yml
export KITCHEN_LOCAL_YAML=.kitchen.my_local.yml
export KITCHEN_GLOBAL_YAML=$HOME/.kitchen/my_config.yml
kitchen verify

経緯

Override config file location via environment variables · Issue #304 · test-kitchen/test-kitchen という Issue があがり、それに対するプルリクで上書きができるようになった Add local & global file locations with environment variables. by fnichol · Pull Request #306 · test-kitchen/test-kitchen

Vagrant with chef_solo provision で Cookbook や Recipe の変更が適応されない問題

tl;dr;

synced_folders というファイルを削除する。

rm .vagrant/machines/default/vmware_fusion/synced_folders
vagrant provision

環境

検証したのは以下の環境。ちなみに、vagrant_1.6.5 の時は問題なかった。

補足

最初に結論を持ってきたのでココからは補足。

今年に入って Vagrant のバージョンを上げてから、レシピを更新してから vagrant provision をしても反映されないなーと思って悩んでいる所、1つ気づいたことがあって。

# 今までうまく言ってた時の出力
==> default: Rsyncing folder: /Users/ikosin/works/tmp_vagrant_project/ => /vagrant
==> default: Rsyncing folder: /Users/ikosin/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150216-6787-bols2e-default/ => /tmp/vagrant-chef/d23a7e0cb4c9516857e4b63ec4137d2b/cookbooks
==> default: Running chef-solo...

# 更新されない時の出力
==> default: Rsyncing folder: /Users/ikosin/works/tmp_vagrant_project/ => /vagrant
==> default: Running chef-solo...

こんな感じで、.berkshelf 以下の Cookbook が Rsync の対象になってない。

一応、Issue は上がってる。 Problem reloading Chef shared folders · Issue #5199 · mitchellh/vagrant

別の問題を回避するために今回の挙動になったみたいなので、今後どのような解決に落ち着くのかわからないが、ひとまず毎回こんな感じで実行してる。

rm .vagrant/machines/default/aws/synced_folders && vagrant provision