hkoba blog

プログラマーです。プログラミング言語ミーハーです。ツッコミ歓迎です。よろしくどうぞ(能代口調)

最後の YAPC::Asia 2015 、ボランティアで参加してみました

yapcasia.org

(今の形の) yapcasia は最後と聞いたので、最後くらいは少しでも恩返し出来ないかと、サポートスタッフのボランティアに参加してきました。

前日準備と前夜祭

ノベルティグッズの袋詰め作業(千人分以上?)は、事前の打ち合わせの時に牧さんが一番つらいと言っていたので、 私もかなり覚悟して行きました。でも実際にやってみると、(確かに肉体的には辛いものの) 意外に楽しめる面もありました(私にとっては。他の人にとって楽しめたかどうか…それは聞いてみないと分からない)。 記憶では、牧さんの予想時間より2時間?ほど早く作業を終えられた!とか。(11時集合で、14時頃にほぼ終わってたので…)

早く終わった理由を振り返ると、少し思い当たるのが、作業する自分たちを、並列プログラミングにおける『ワーカー・プロセス』に例える人が多かったこと、のように思います。並列度の大小に気を配り、ボトルネックを探し、思いついた改善を自ら即座に実行に移す人が多かったことと、それに誰もとがめず違和感ももたず自然に追試し良ければ即広める。でもそれが効果を発揮しない段階が来たらさっさと捨てて、また次なるアイディアの出し合いを楽しむ…そんな雰囲気が、うっすらですが、あったこと、でしょうか。

私の視点で振り返ると、

  • 最初の Tシャツたたみで、例の YouTube で話題になった2秒でたたむやり方を、自分の手で上手く出来るまでやってみたことで、改善意識に火が付いた。
  • 次に向かったノベルティグッズ詰めでも、工程の改善が見る間に進んでいった。
    • 当初は『チラシ重ね』『袋入れ』『グッズ入れ』『シール入れ』の四段流れ作業を4並列、だったかな?
    • チラシ重ねは、上に重ねるより下に重ねるほうが速いと気づく人が出て皆真似る→速度上がる
    • 速度が上がるとバッファがたまる→工程を減員して、別の工程に進んでもらう
    • 改善→移動を繰り返すうちに、全員が全工程に慣れる。
      • 今いる工程のパイプラインが詰まったら、自発的に別の工程に移動し始める
      • ムダに気づける余地が更に生まれる。
    • 『袋入れ』工程をグッズ入れ側で受持つように。
    • シールを一枚一枚、山から取ってトートバッグに直接入れるのは効率悪いと気づく人が出て、 シールだけまとめる人と、それ以外の工程の人へと分業
    • シールまとめの作業が狭苦しい感じだったので机を移動させる。ついでに移動距離も最適化

単調作業のストレスと肉体的大変さは有ったけど、こういった諸々の改善プロセスが、時間の経つのを忘れさせる面白さにもなったのかも?。勿論、仕事の工場とかだと、あんなふうに工程間を自在に行き来することは許されないでしょうけれど。

あの時、我々は、我々自身をプログラムしていたんじゃないかな…並列処理が当たり前の時代のプログラマーは、 ああいう作業の効率改善にも向いてるのかもしれない、な〜んて。

前夜祭

私は受付チームに配属されて、企業スポンサーさんとスピーカーさんの受付を @kaihar4 さんと一緒に受け持ちました。

開始早々、渡されてたリストが去年のだった!w なんてトラブルも有りましたが、 そこでスタックせずに『名刺だけもらって対応』路線にさっと切り替えを指示してくれた、 コアスタッフの女性陣、その後も随所に発揮してくれた柔軟性、臨機応変な対応力と適切な指示出しは、 非常に頼もしかったです。優秀な人は魅力的ですね!

英語圏のスピーカーさんの受付は、ちょっと緊張しましたが、牧さんに『お名前を伺ってもよろしいですか?』を何ていいますか?と聞いて『Can I have your name, please?』だと言ってもらえたので、よしこれ一本槍だ!と押し通しました。

一日目

やっぱり早起きが辛かった(^^

お昼までは、ひたすら受付してました。有名な方々が目の前に来るという点では凄く美味しいポジションだったのですが、 とにかく粗相をしないようにするのが精一杯、みたいな感じ。リストからお名前探すの遅くてごめんなさい!みたいな。『アメちゃんもどうぞ』で笑ってくれた方がそこそこ居てよかった…。

午後になって少し落ち着いたので、一件だけトークを聞きに行かせてもらいました。 個人的に興味が有ってどうしても聞きたかった WebAudio のトーク です。 WebAudio の全体像の説明がとても良くまとまっていたのと、 ScriptProcessorNode が Deprecated! みたいな最新の話題も 聞けて、更にそう来るか!みたいなビックリ応用の話もあって、大満足でした。

.oO(あの Canvasオシロスコープとか、github に置いてあるんでしょうかね…見てみたいな〜って…)

懇親会

color sync のお陰で、入場誘導が非常に楽でした。 (参加側だった去年までは、ごにょごにょって感じがあったので(><)。これは劇的な改善だったと思います)

いくつかの営業さんとお話出来たのは、もしかしたら今の仕事や将来に役立つかもしれないので、この御縁は大事にしたいなぁ、とか。

あと、大昔の O'Reilly の第一回 The Perl Conference Japan のトーク応募に私を誘って下さった、 前田 薫 さんが私に気付いてくださったのが、とても嬉しかったです。

るーるーるーだけの蛍の光で追い出し、楽しかった。(俺だけ?)

二日目

やっぱり早起きが(ry

(前の週のコミケ参加から続く)肉体的疲労もピーク! ですが、一日目に比べると遥かに暇で、まったりした感じでした。 ですので、交代で少しトークを聞くことが出来ました。

私は Jonathan Worthington の Perl6 の並列処理・非同期処理・並行処理のトークを聞きに行きました。 yapcasia.org

(同時通訳ではなく、英語だけで聞いたのですが)、彼の英語は、英語の耳さえ出来ていれば意味が追えるレベルのスピード・明瞭さだったので、内容に集中できました。

トーク後半の、Perl6 のメタプログラミング機能を使って書かれた OO::Monitors, OO::Actors の紹介の下りや、 "Concurrency is about competition to access and mutate" という概念把握は、非常に面白く聞かせてもらえました。

折角なので質問もしてみました。『メタプログラミングを使って実現しているとのことですが、 OO::Monitors や OO::Actors の複雑さはどれくらいか?例えば何行くらいか?』と(日本語で^^; 同時通訳さん、ありがとうございます) 尋ねた所、そんなに難しくないよ、monitor は 50(15?)行くらいじゃないかな?みたいな返事だったように思います。 ほんまかいな!と思ってググったら

oo-monitors/Monitors.pm at master · jnthn/oo-monitors · GitHub

今は 93 行だったけど、それでも凄いよ!

…それにしても、こういう技術的な質問を即席で英語で質問するのは今の私には非常に困難ですが、 日本語で質問して良いなら、かなり楽になりますね。やはり今回の通訳さんは、とても優秀な方だったのだと思います。

最後に, RJBS にバグの話を出来たこと

個人的に今回の yapcasia で、自分が達成できた一番大きなことは、 私が以前 RT に報告した perl5 のバグの問題を、 perl5 の開発まとめ役である @rjbs に話せたこと、 重大性を認識してもらえたこと、ではないかと思います。

↑このバグ自体の説明は省きます。詳しくは RT 参照、手元で動かせば重大さは理解できるはずです。

本当は懇親会の時に話しかければ良かったのですがボランティア業で頭が一杯で気づかず…

二日目の終わるギリギリに気付いて、でも rjbs は最後のトークを聞きに行ってる状況で。 でも諦めきれず、トーク会場に入ってこっそり彼の姿を10分ほど探すと、彼らしき人を発見。 トークに熱中してたら悪いな〜と思って遠くから様子をうかがうと、何やら手元に光る二画面の液晶が… DS じゃん!

なら迷惑にはならないか…と意を決して、彼に mention を飛ばした所、しばらくして、返事をくれました。

彼に私の服装(狂った紫の帽子!)を伝えて、 クロージングの後の、出口の所で待っていると、ちゃんと見つけてくれました。(今私のツイ見ると不定冠詞が落ちてるw)

後は、カタコトの英語でバックポートのお願いをした所、彼から今朝、RC に入ってるよ!って返事をもらえました。

これなら、少なくとも 5.20 以後は救われそうです。 Perl を主なプログラミング言語として使う者の一人として、この数カ月一番気をもんでいたことなので、 胸のつかえが取れた感じです。

Email での議論と違って、対面の英語は、身振り手振りを交えて英文自体の難度は相当下げることが出来るし、 相手の表情を確認しながら話せるので失礼がないか過度に心配する必要も無くなるので、 相手の英語を聞き取ることさえ出来れば かえって楽なのかもしれません。

中津燎子の英語未来塾で英語の発音改善に取り組んだ成果が出ているようで、 ちょっと自信がつきました。

まとめ