YAPC::Asia Tokyo 2015 で CONBU スタッフとボランティアスタッフしてきた
例年ブログを書くのが遅いのですが、これでようやく自分の YAPC も終わることができます。
あなたと YAPC
今年で4回目の YAPC に行ってきました。スタッフ参加では3回目です。更に、去年の YAPC 後の HUB での縁があって、今年は CONBU の方のスタッフとしても参加していました*1。
普段は周りに YAPC を知ってる人のほぼ居ない職場で働いてたりするので、Web 業界界隈の話題で盛り上がれる知り合いは YAPC にスタッフ参加して得た大きな財産ですよ、はい。
YAPC ボランティアスタッフとして今年やったこと
YAPC のボランティアスタッフとしてやったことは例年とほとんど変わりません。前夜祭の受付前に集まって、年々洗練されてきたノベルティ詰めや Tシャツのたたみ直し*2を行い、各トークの司会・タイムキーパー・会場誘導等をやってました。会場での仕事は、同じ部屋のスタッフみんなや部屋係のリーダーがすごく頑張ってくれていたおかげで、大きな混乱もなくて良かったです。
ビックサイトになって会場キャパは倍増くらいしたけど、今年も満員のトークがいっぱい有りました。入れなかった人には心苦しいですが、「後で YouTube に上がるのでチェックしてみてください」とアナウンスするしかできませんでした。今年はアップロードが早くて、既に多くのトークが上がってるので、見れなかったトークや裏番組をチェックしましょう!
CONBU スタッフとして今年やったこと
宣伝
みなさん、CONBU が会場混雑を推測できる API を提供していたことは知っていましたか?
YAPC::Asia Tokyo 2015 会場ヒートマップ | CONBU API
YAPC 期間中のヒートマップを再現するようにしました!会場ヒートマップ眺めるの結構楽しいですよ!上記リンクから見れるので、自分が居た会場の混み具合を思い起こすのもいいのではないでしょうか!
なぜ会場ヒートマップは作られたのか
CONBU スタッフとしては、設営はほぼ参加せず、大きな話題になった LT(ライトニング設営: Lightning seTsuei)にも出なかったのですが、代わりに何が出来るか考えた所、会場ヒートマップが生まれました。
もともとは、今回から CONBU API というものを公開して、YAPC 参加者が自由にアプリとか作ってくれるといいなという感じでした。
YAPC:Asia 2015 の会場無線ネットワークを担当している CONBU です。新しい取り組みとして、無線 AP の接続状況を API として公開することにしました。 CONBU API Server https://t.co/agVBCuWN0J #yapcasia
— CONBU (@conbu_net) 2015, 8月 20
自分は開発用に擬似的なサンプル値を返すアプリをちょろっと書いていて*3 API の仕様も把握したので、ちょっとでも動くものが見せられたらみんな API 使ってアプリ作りたくなるかもと思い、前夜祭前日の日付が変わったくらいから3時間程度で書いたアプリです。当初はサンプル値をマッピングするだけのデモアプリでした。
CONBU API の利用例として、会場ヒートマップを作成しています。 YAPC::Asia Tokyo 2015 会場ヒートマップ Powered by CONBU API http://t.co/fK9HYCOOTt #yapcasia
— CONBU (@conbu_net) 2015, 8月 20
この時はただのデモアプリです
ただ想定外だったのが、今年の YAPC スタッフが手際が良すぎてノベルティ詰めが予想以上に早く終わってしまい、空いた時間で実データを反映するように改修して公開したら自分でも楽しくなってきてしまいました。そこからちょくちょく機能追加*4したりするうちに、気づけば公式アプリっぽい雰囲気になっていきましたw
ヒートマップで隣の会場や他の部屋の混雑具合を(ほぼ)リアルタイムで確認することができます! #yapcasia pic.twitter.com/Exd6QfJwjc
— CONBU (@conbu_net) 2015, 8月 21
まとめ
- YAPC 最高!!!
- ヒートマップばかり見てたからトークほとんど聞いてなかった
- YouTube に上がってるので後でチェックする
- 来年(再来年?)もスタッフやるぞ! 来年(再来年?)もスタッフやるぞ!
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