2014-03-04

Boost.勉強会 #14 東京に参加した

3月1日の土曜日に、Boost.勉強会 #14 東京 : ATNDに参加してきた。

Boost.勉強会というのは、Boostを中心に据えて、C++関連の知識を発表しあう、すっかりプログラマーの間では定着した感のある「勉強会」のひとつだ。Boost.勉強会は、趣旨に賛同する各地のメンバーによって開かれているが、ここ東京では、IIJから部屋を借りて開くのが定着しているようだ。IIJの部屋は広いので、120人まで入れる。

せっかくドワンゴに雇われて、今年からフルタイムでC++の啓蒙活動をしているのだから、自己紹介と宣伝のために、なにか適当なドワンゴTシャツでも着ていくことを思いついた。ドワンゴTシャツぐらい、社内に転がっているだろうと探してみたが、あいにくと、今は超会議用のTシャツしかないそうだ。超会議用のTシャツは、運営スタッフ用のシャツで、ドワンゴの社名は入っておらず、また、大きく「運営」と書かれている。これを着ていくのは、明らかに違うだろう。

超会議といえば、私もスタッフの一人として参加する予定になっている。私は超会議に出る必要はないそうなのだが、ドワンゴ社員のほぼ全員がでるとあれば、出てみるべきだろう。たまには非日常も悪くない。私に割り当てられる仕事はまだわからないが、何かが割り当てられるだろう。

今回が三回目となるこの超会議、初回は、個人の特性を無視して適当に役職が割り振られた結果、悲惨なことになったらしい。一日中、チャーハンを作るハメになったドワンゴ社員が、「俺は中華鍋を振るためにドワンゴに入社したんじゃねぇッ!」と悪態をついたり、特にゲームには興味のないドワンゴ社員がゲームブースに配置されて何もわからず混乱したりしたそうだ。二回目からは希望を取るようにしたそうだが、まあ、すべてがうまく行く非日常などないのだろう。

それはさておき

あるいは、スーツを着た人間の大好きな、死んだ木に印刷された、いわゆる名刺と呼ばれている紙切れを配って、本来不要な紙の浪費に貢献すべきだろうか。あいにくと、私はまだ名刺を作る申請をしていなかったので、今から作ったところで、数日後の勉強会には間に合わない。それに、どうせ名刺を作るのならば、役職をC++ Evangelistにでもしたいものだ。この一ヶ月、人と会うたびに、C++エヴァンジェリストと呼ばれ続けているのだから、いっそのこと正式な肩書にしてしまえばいい。残念ながら、Boost.勉強会には間に合わない。

しかたがないので、ドワンゴステッカーを配ることにした。無難なデザインのドワンゴのロゴのステッカーだ。しかし、このようなものを能動的に配るのは、どうも私の自己紹介というよりは、ドワンゴの宣伝のような気がしてならない。宣伝はいいとしても(他人の勉強会でやるのは好ましくなかったが)、宣伝というものは、あまり露骨にやり過ぎると逆効果である。今回はやり過ぎたかもしれない。

さて、Boost.勉強会の階乗では、会場の提供者であるIIJ社員が、何やら可愛らしいステッカーを配っていた。これはいわゆる萌えというジャンルの絵柄らしい。なるほど、プログラマーの大半は萌えと親和性が高く、萌えステッカーの求心力は絶大だ。よくぞ考えた。この萌えステッカーの威力の前では、ドワンゴのステッカーは霞んでしまう。しかし、IIJはいままで、お堅い企業だとばかり思っていたが、このような柔軟な発想ができるとは思いもよらなかった。と思ったが、話を聞いてみると、なんでもIIJ公式のステッカーではなく、単にIIJ社員が趣味で作った私的なステッカーだそうだ。

さて、肝心の勉強会であるが、今回、私の興味を強く引いたのは、Kumazaki Hiroki氏の、いつからFIFOがスケールしないと錯覚していたであった。Lock Freeの深淵をうかがい知ると共に、「ロックフリー」という呪文は、kumagi神を召喚する呪文なのだという認識を持った。今後うっかりと「ロックフリー」とつぶやこうものならば、すぐさまにkumagi神が虚空から出現して、三回ぐらいプログラマーとしての自信を消失するほどメタメタのギタギタに論破されるであろう。コードを書かずしてそうなるのであるから、ロックフリーなコードを書くという闇儀式を行った日には筆舌に及びがたいほど論破されるに違いない。我々凡プログラマーには、精神の安定のために「ろっくまぎふりー」な環境が必要とされている。いや、それでは自称ロックフリーなクソコードを量産するだけだ。ますますkumagi神を荒ぶらせる結果となってしまう。

さて、勉強会の後に、近くの中華料理屋で懇親会を行った。懇親会では、様々な雑談をした。

懇親会に、Oculus Riftを持ってきている人がいた。これは、あの伝説のゲームプログラマー、John Carmackもid Softwareを辞して開発に参加したほどのHMDだ。かねてからその名前は聞いていたものの、実物を触るのは初めてだ。しかも、実際に体験することができた。Oculus Riftを体験した結果・・・

筆者は未来を見た。

Oculus Rift。これはすばらしい。いや、素晴らしいなどというものではない。これは未来だ。これこそが我々の求めていたバーチャルリアリティだ。しかも、実装方法はあんなにも簡単だったとは。なぜ、いままでこんなものが存在しなかったのか。ああ、ああ。

残念ながら、Oculus Riftの魅力を文章で伝えることはできない。平面ディスプレイで閲覧する読者に映像で伝えることもできない。あれは、とにかく体験するしかないのだ。

技術的な話をすると、Oculus RiftはHMDに屈折レンズと、Hillcrest Labsの6軸加速度センサーを取り付けただけのものだ。HMDに出力する映像を歪めて、さらに屈折レンズで視野全体に投影する。そして、6軸加速度センサーで顔面の向きの動きを検知するのだ。HMDに出力するソフトウェアは、顔面の向き入力を受け取り、出力を対応して変化させる。すると、全方位に顔面の向きを動かしても、映像が追従して変わり、あたかも首を振って周りの景色を眺めているかのような錯覚を引き起こすのだ。視界が完全に映像で満たされ、顔面の方向に従って映像も動くため、信じられないほどの現実感がある。

ああ、なんとこんな簡単な仕組みで、全方位映像が実現できるとは、思いもよらなかった。John Carmackがidを辞めるのも無理はない。これを体験したあとでは、もはや一人の天才が必要とされないゲーム開発などやっていられないに違いない。この技術は、まだ始まったばかりであり、Carmackのような天才を必要としている。

当日用意されたデモ用の映像は三種類あった。ひとつは、トロッコがジェットコースターのような線路をひたすらグルグル回る映像。これは、おそらく人によっては3D酔するだろう。私は3D酔を経験したことがないので、実際の体の動きを伴わずして、映像だけで酔う感覚というのは、よくわからないのだが。しかも、酔い止めを服用すると症状が軽減されたりするらしい。ますます謎だ。

もうひとつは、初音ミクの3Dモデリングを描画するデモ。このモデリングされた初音ミクを描画するデモは、なかなかにきわどい服を着ており、視点をどの方向に向けるかで、性癖がまるわかりという罠をもっている。

3つ目のデモは、Google Street Viewを映すというものだった。顔面の方向に連動してStreet Viewの方向も変わるので、なんと中華料理屋にいながらにして、私の自宅周辺を全方位眺めることができてしまった。

ああ、Oculus Rift。これは素晴らしい。これこそ未来だ。

懇親会では、これだけではまだ不十分で、映像に連動して風を当てるだとか、匂いを生成するだとかの別の感覚を刺激する装置も必要だなどと議論されていた。まあせいぜい、トニーたけざきのマンガに出てきた世界にならぬよう気をつけたがよい。

さて、すでに告知した通り、筆者は今、ドワンゴに雇われている。その仕事は、C++の啓蒙だ。そして、筆者は東銀座の歌舞伎座タワーにあるセミナールームを使って、勉強会を開くことができる。ドワンゴからも、積極的に勉強会を開くように言われている。勉強会を開くには、事前の調査が必要である。一体どのように行えば良いのか。それには、すでに成功している例から学ぶことが重要である。

さて、既存の勉強会を観察すると、単なる技術の勉強以外の目的も見えてくるものである。

そもそも、私は勉強会の「勉強」という部分には、懐疑的である。技術というものは、30分や1時間ほど、教壇に立って板書したものを一回だけ見て身につくものではない。自分で十分に時間をかけて学ばなければならないのだ。そもそも、30分や1時間程度の時間で、数十枚から100枚程度のスライドを流して話をしただけで完璧に理解できるプログラミング上の技術があるのだろうか。

既存の勉強会を観察するに、勉強会というのは、むしろ技術紹介集会とでも改名すべきであるように思う。多種多様な人間が発表するので、自分の専門分野ではない、様々な技術に触れられる。こういうアルゴリズムもあるのだ。こういう文法もあるのだ。こういうソフトウェアがあるのだ。などといった知識を発見する場であるようだ。既存の勉強会では、大まかな主題だけ決めて、発表内容にかなり広い幅をもたせている。

また、勉強会には多種多様な人間が集まるので、通常ならば交流のない別分野の専門家同士が話をすることができる。これは極めて有意義なことであるし、楽しいことでもある。そのためには、懇親会の存在が非常に大きい。というより、多くの勉強会の目的は、勉強よりも、多種多様なプログラマーが集まって話すことにあるのではないかとも思われる。とすれば、話す場を提供するべきか。

ドワンゴで勉強会を主催するには、既存の継続して開かれている勉強会を参考にしなければならない。

まず、日時が重要だ。残念ながら、皆が皆、ドワンゴのような裁量労働制で働いているのではないので、この前の歌舞伎座.tech#2のように、平日の、それも木曜日の夜から深夜までの開催は、参加しにくいのではないだろうか。既存の勉強会にならうと、土曜日の午前中から夕方までとなる。

発表内容は、前述の考察の通り、技術の紹介のために、大きな主題を一つ決めておき、内容に幅を持たせるために、社外からも発表者を募る必要がある。

開催場所は、もちろんドワンゴが入っている歌舞伎座タワーのセミナールームだ。この部屋は108人入ることができるので、勉強会に十分な広さを持っている。また、発表の様子をインターネット上で動画配信する設備も揃っている(残念ながら、閲覧には不自由なソフトウェアが必要になるのだが)

そして、話し合いの場として、懇親会を行わなければならない。これは勉強会に欠くべからざる要素のようだ。これはどうするか。歌舞伎座tech#2のときは、セミナールームでピザとビールとソフトドリンクを配布していたが、やはり他社の中という環境では、腹を割って話すのも無理だろう。やはり、これは私的に幹事となり、周辺に数十人は入れる宴会場を確保して行うべきだろうか。

C++WGの論文の簡易レビューを片付けたら、勉強会の企画も行わなければならない。

なお、筆者は5月24日に開かれる、Boost.勉強会 #15 札幌 : ATNDにも参加して発表することになっている。筆者は普通の退屈な宿泊施設に金を払って泊まるのは、余り趣味ではないので、札幌のどこかに無料で泊まれるところがあればいいのだが。残念ながら、札幌にはギークハウスはないようだ。

ドワンゴ広告

この記事はドワンゴ社内でドミニオンを教わる前に書いた。

ドワンゴはBoost.勉強会に参加するような本物のC++プログラマーを募集しています。

採用情報|株式会社ドワンゴ

CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0

No comments: