あと味

たくさん情報を食べて、たくさん発信すると、あとになって味わい深い。

YAPC::Asia TOKYO2011で感じたこと・考えたこと

今年は、会社の理解もあり、念願のYAPC::Asia TOKYO 2011に参加することができました。YAPCは初参加です。

結論として、ものすごく楽しく、刺激を受け、良い思い出となりました。

中学生の作文みたいな感想で稚拙ですが、3日間の感想をまとめてみます。

  1. 参加した動機
  2. 前夜祭
  3. 1日目
  4. 2日目
  5. 感じたこと・考えたこと

この順番で書いてあります。

参加した動機

YAPCは以前から羨ましいなと思っていました。初めて触ったプログラミング言語Perlでしたし、趣味プログラミングのために利用していたこともありました。Perl界隈の有名人のブログや書籍なども読んでいて、あまりPerlに触れていない時期もありましたが、結果的には最も長く触れている言語だったと思います。その言語の大イベントということで、いつか参加したいと思いが強くありました。

去年・一昨年は職種的に参加しづらいということもありましたが、エンジニアではなかったという劣等感があったのが、参加を躊躇していた最も大きな理由だと思います。*1

今は、ようやくエンジニアとしてのキャリアをスタートさせることができたので、この部分がクリアできたのは、参加の大きな動機になっています。

ただ、それでも、やはり技術や知識面での劣等感はありましたので、以下のやり取りがなければ、参加していなかったかもしれません。懇親会にて、キッカケを作ってくださった@lestrrat(id:lestrrat)さんに感謝の言葉を伝えることができてよかったです。

第三者から見たら、大したことないやり取りかもしれませんが、自分にとっては、参加する一歩を踏み出す大きなキッカケです。

前夜祭

福井からの参加だったので、木曜日の昼頃、新幹線に乗って会場に向かいました。

荷物を下ろしたり、Suicaを手に入れたりなどして、会場に向かいましたが、東工大の入り口がわからず迷ってしまい、*2@s_ohira(id:s_ohira)さんのトークから参加しました。Twitterでしか絡んだことがなかったので、声をかけていただきお会いできてよかったです。

事前チェックインをしてしまえたのは楽でした。後、東工大の敷地内を多少把握できたことと、ロケタッチでPerlおまつりシール貰えてよかったです。

1日目

東工大の入り口は把握できたので、スムーズに講堂に入れました。

どのトークを聞くかはいろいろ迷ったのですが、メインホールのトークが特に多くの人に聞いて欲しいトークなんだろうなと考え、1日中メインホールに居座ることにしました。

「 Perl 5.16 and beyond」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

Perl5.16とその先というお話でした。英語ではありましたが、Perlがどのように開発されているのか、これからどのような方針で開発していくのかを聞けて勉強になりました。字幕もあり、非常にわかりやすかったです。

小さい言語を目指していくって話や、CPAN Author達みんながPerlを作っているんだという話が印象深かったです。

「 Carton: CPAN dependencies manager」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@miyagawa(id:miyagawa)さんを初めて生で見ました。RubyのBundler相当をPerlで実現するというCartonというツールのお話でした。

まだ、自分がPerlで作ったプロダクトが少ないのでバージョン依存等の問題に出会ったことはない気がしますが、今後長く続けていくうちに、Cartonにお世話になることがきっと出てくると思いました。

「 SmartPhone development guide with Node/CoffeeScript and HTML5 technologies, for Perl programmers」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@naoya_ito(id:naoya)さんも初めて生で見ました。NodeとCoffeScriptでスマートフォンアプリケーションを作る事例についてのお話でした。

特にアクションの多いスマートフォン向けアプリだと、イベントドリブンな言語を使う利点は高そうだなと思いました。

フロントエンドに書いたけど、やっぱりバックエンドに置いといた方がいいなと思った処理をコピペできるっていうのもいいですね。

「 perlbrew」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

Any::Eventのお話でした。同じ非同期処理の話だし、前のトークと比較しながら聞けたらいいなと思いましたが、内部の技術的な話が多く、スライドよりもしゃべり中心だったので、正直あまりわからなかったです。。。英語のヒアリングできるといいな。

モジュール開発者の話は、そのモジュールをよく使っていないと厳しいなと思いました。

「 Perl 5.14 For Pragmatists」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

Perl5.14でどのようなことができるかというお話でした。Perl5.14はすでに使えるのようになっていますが、以前のバージョンから使える機能しか触っていなかったので、勉強になりました。

英語ではありましたが、perldelta - perl v5.14.0 での変更点 【perldoc.jp】を開きながら聞いていたので、話に付いていけました。

リファレンスを取り扱う時の文法が簡潔になったり、破壊的なサブルーチンと知らずに使ってハマってしまうようなことがなくなりそうで、Perl初学者でも使いやすい言語になったんだなと感じました。

「 Mobageソーシャルゲームにおける大規模サーバ運用 with Perl (Large scale server operations in Mobage's Social Games with Perl)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@riywo(id:riywo)さんの、モバゲーのインフラのお話でした。

インフラの知識が乏しいので、ちょっと難しい部分が多かったですが、日々、様々な問題が発生していて、様々な問題解決手段を試しているということがわかって、インフラエンジニアもクリエイターだなと思いました。

もっとインフラのこと勉強しようと思います。

「 LT Day 1」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

LTは誰もが面白いネタを持ってきていて、とても楽しめました。

ずっとメインホールにいたので、くだけたトークを初めて聞けました。緊張がほぐれた感じがしましたし、2日目はくだけたトークも聞きたいなと思いました。

懇親会

ぼっち時間は長かったですが、会ったことがある方、ネットで絡んだことがある方を探して、多少なりお話できました。自分的には頑張れた方だと思っています。

@takesako(id:TAKESAKO)さんにごあいさつした際、地方PMで一番近いであろう、Kansai.pmのことをお聞きしたら、案内してくれました。その後、id:hakobe932さんに、Kansai.pmのいろんな方を紹介していただきました。ありがとうございました。

関西圏のイベントは福井から参加しやすいので、開催する際には、ぜひ参加したいです。

2日目

1日目を経て、2日目は自分の聞きたいトークに参加することにしました。

参加したトーク
  1. 「 続 Unix Programming with Perl (Unix Programming with Perl 2)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  2. 「 大規模環境における、マニアックなキャッシュ利用術 (Cache Maniacs)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  3. 「 ぼくがかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  4. 「 DISられないCPANizeを目指して (PrePAN - Introduction to a website to request for reviews of Perl modules)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  5. 「 Hacking with metacpan」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  6. 「 Monads in Perl」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  7. 「 Evolution of API With Blogging」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  8. 「 少人数でのWebアプリ開発 - CGIからPSGIまでの変遷」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  9. 「 OtoPerl - perl でライブ・サウンド生成しよう。 (OtoPerl - live sound generation with Perl.)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  10. 「 Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームを作ろう (Perl Hobby Programming - Games::BeLike::EightBIT Let's make the terminal game which looks like a retro 8 bit one.)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  11. 「 LT Day 2」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  12. 「 Managing A Band Of Hackers」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
  13. 「 Closing」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]
「 続 Unix Programming with Perl (Unix Programming with Perl 2)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@kazuho(id:kazuhooku)さんのUnixプログラミングのお話でした。

続編とのことだったので、後日前編も読まなきゃなと思います。

かなり具体的な話で、本当にしっかりしたUnixプログラミングをするには、モジュールのこともOSのこともよくしっていないといけないんだなと痛感しました。

フォーマルな感じで、大学の情報サイエンス系の授業って、こんな感じなのかなと、大学生が羨ましく思えました。

「 大規模環境における、マニアックなキャッシュ利用術 (Cache Maniacs)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@xaicron(id:xaicron)さんの、memcachedの利用術のお話でした。

これも個人的には馴染みが薄い話だったのですが、前の流れもあって、Perlハッカーはインフラハッカーでもあるんだなと思いました。

輝け!全日本最強 CPAN Author 決定選手権でも優勝されていましたし、キャッシュというテーマで、時間切れになるほど資料を用意していらっしゃったし、アウトプット力がすごい人なんだなぁと感じました。

「 ぼくがかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@cho45(id:cho45)さんのWAFのお話でした。

来るはてなダイアリーのアップグレードの舞台裏を聞けました。既存のフレームワークを使わず、WAFを自作したという話で、YAPCに参加してからはじめてのWebプログラミングの話だった気がします。

WAFの設計の話ですが、「安全 (信頼性設計)」「読むコード最小 (メンテコスト)」という設計指針を持って取り組んだということで、簡潔でわかりやすい話でした。こういうのって、人によっては、ダラダラな話になってしまいがちだと思うんですけど、シンプルに伝えられる人ってすごいなと思います。

その機能を使うべきか考えて欲しいことは、あえて面倒な手順(コストをかけさせるよう)にしておくという話も印象に残りました。

あと、その後、別の会場に移動した際に、発表を聞いていたnaoyaさんとcho45さんの絡みが見れて、面白かったです。

「 DISられないCPANizeを目指して (PrePAN - Introduction to a website to request for reviews of Perl modules)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@kentaro(id:antipop)さんの最近オープンしたPrePANの紹介や作った背景のお話でした。

懇親会でご挨拶して、ちょうど、2日目の大岡山駅に向かう道中でもお会いしたんですが、プレゼンの最終調整をされていました。

ある便利なモジュールを作った時に、CPANizeする人としない人がいる中、どうやったらCPANizeする人が増えるか考察した結果、その人にとってのincentiveを伸ばし、disincentiveを除くためのツールとしてPrePANを作ったそうです。

どちらかと言うと、disincentiveの方がCPANizeしない理由として大きいということでしたが、自分自身も、劣等感で今までYAPCに参加できなかったこともあり、共感しました。

「 Hacking with metacpan」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@tokuhirom(id:tokuhirom)さんのmetacpanについてのお話でした。

metacpanはcpanモジュールをググった時に、検索結果にミラーサイトが出るくらいの認識でしかなかったので、今後積極的に使っていきたいと思いました。

APIを提供しているようで、今後、そのAPIを活用した便利サイトがいろいろ出てくる期待を持ちました。

時間余った分も別の話をしてくれましたし、LTでもそうでしたが、発表に余裕のある人の話は聞いていて安心だしわかりやすいです。テンポもよくて、プレゼンの参考にもなりました。

「 Monads in Perl」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@hiratara(id:hiratara)さんの、Perlモナドを作ってみるというお話でした。

モナドという言葉に触れることは何度もあったんですが、そのたびに理解していない言葉です。ただ、今回のトークはすごくわかりやすかったので、多少のもやもやが消えたような気がしました。なるべく近日中に自分で動くコードを書けばスッキリするかもしれません。

後で調べてみたら、jQueryは本当にモナドだった - 北海道苫小牧市出身のPGが書くブログを書かれた方なんですね。JavaScriptの方が、言語仕様をまだ把握している方なので、また読み返したいと思います。

gihyo.jpのレポーターも平行してされていたそうですが、噛み砕いて説明できる人って素敵ですね。

「 Evolution of API With Blogging」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@comewalkさんの、ブログのAPIの歴史とこれからについてのお話でした。

話に出てくるもので、知らないメタ情報やAPIがたくさんありました。

今後のAPIとして、情報の取得をする時に、全入りは重いので、部分取得したり更新したりできるAPIがあるといいねとか、記事情報以外の全体的なインポート、エクスポートの共通仕様があるといいねというお話もありました。

個人的に、今後Movable Typeを利用するシーンも多くなりそう*3なので、ブログの新しい仕組みをどんどん開発して欲しいなと思います。

「 少人数でのWebアプリ開発 - CGIからPSGIまでの変遷」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@aloelightさんの、少人数でのWebアプリ開発についてのお話でした。

個人的には、このトークが一番身近だったため、とても参考になりました。aloeightさんの、少人数でWebアプリを開発していく上での開発手法の変化や苦労話を自分に置き換えながら聞いていました。自分もエンジニアが一人だけという現状なので。また、スキルアップしていく過程も聞けてよかったです。

YAPCに行くたびに、開発手法を見直しているとのことで、これも実践していきたいなと思いました。

「 OtoPerl - perl でライブ・サウンド生成しよう。 (OtoPerl - live sound generation with Perl.)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@hrkさんのPerlを使って、ミキサーを作るというお話でした。

サンプルをいろいろ聞かせてもらったのですが、後ろに薄く流れるBGMとしても効果があった気がします。なんとなく心地よく話も聞けた気がしました。

技術的に自分では到底思いつかないものでしたが、Perlの可能性を垣間見ました。

プロジェクタに映しながら、動的に音を変えていくコンセプトで作っているとのことで、そういうライブパフォーマンスがあったら、注目してしまいそうです。

「 Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームを作ろう (Perl Hobby Programming - Games::BeLike::EightBIT Let's make the terminal game which looks like a retro 8 bit one.)」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@keroyonn_(id:keroyon0630)さんの、Perlで8ビットゲームエンジンを作ったというお話でした。

初日のLTでも見せていただいて、すごく笑ったのですが、トークが面白い方ですね。初日のLTでは拝めなかったボス戦を見ることもできました。

ゲームプログラミングの書籍にあるサンプルコードをPerlで書きたいというのも、作った動機の一つだそうです。

異なるプログラミング言語のバックグラウンドがあってこそできる芸当なんだろうなと思いました。

「 LT Day 2」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

2日目のLTでした。Perl MongerのLTは本当にクオリティが高いですね。

「 Managing A Band Of Hackers」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

@hidekさんのハッカーをマネジメントするというお話でした。

DeNAにいるCPAN Author達を統べるマネージャーで、なかなか同じような体験をしている人はいないんだろうなと思いました。

非常に真面目な話でしたが、ところどころTwitterのTLに絡んだり、Perlの愛されキャラと言われる所以を垣間見ました。

コードを書かないと決意する葛藤の話など、内面的な心情を聞けたのも良かったです。

最後にPerlコミュニティに対しての感謝の言葉で締めていましたが、とても穏やかで幸せそうな笑顔が素敵でした。

感じたこと・考えたこと

今回、YAPC::Asia TOKYO 2011に参加して感じたこと・考えたことを書き出してみました。

発表者はその発表に自分の持つ数ヶ月すべてをかけてる(ように見える)

発表される方は皆さん1年間で得た知識財産や制作物を、この場で発表するという意気込みを持って参加しているように見えた。しかも半端なものではなく、自分で納得できるものを発表しているように見えた。

Perl Hackerの知識は広い

特に、インフラ、JavaScriptなどのフロントエンドの話もされている方、そもそも普段はPerlerじゃないって人が結構いて、広い知識を持っている方が多い印象。

エンジニアじゃないと参加できないというのは幻想だった

技術に興味があれば、どのトークも刺激的だし、むしろエンジニアでない方が発表することさえあることがわかった。

毎年参加するくらいの意気込みがあった方がいい

どうしてもトークが被ってしまうし、来年は今年見れなかった人のトークを見るというような計画もできる。あと、発表者のリアルな成長を目にすることができそうだし、頑張るモチベーションになりそう。

せめてネット上だけでもPerl Monger絡むべき

地方にいるとなかなかPerl Mongerの方とお会いすることができないが、ネット上で絡んだというだけでも会話の糸口はあった。懇親会を有意義に過ごすためにも。

手を動かさないといけない

来年、LTに出すぞという意気込みで、モノづくりしたいと思った。実際に手を動かしている人の話には魅力がある。

Perlerっぽく見える努力をする

Perlやってる感じがまだ出てない気がしているので、ブログも含め、Perlやってる人っぽく見えるようにしたい。

発表すればぼっちにならない

これは、YAPCで感じたことという訳ではないが、経験的に、発表者側に回れば、それなりに興味を持ってくれた人が話しかけてくれるし、YAPCでもまた同様だと感じた。

CPANAuthorになりたい

できれば来年には。多少なり、技術的な劣等感は拭えるはず。

仕事外にプログラミングできる時間を作る

大きな会社の方の発表は別にしても、そうじゃない方の発表は、仕事外でのプログラミング経験に基づいた話をしていることが多かったように思う。その時間が取れないというのはまずい気がした。

ブログの記事書くなら1日ごとに分けるか、ちゃんと帰ってからまとめといた方がいい

2日目に比べて、1日目の方が印象が薄い、というより、記憶が保ててない気がするので、頭の中の鮮度があるうちにエントリーに起こすなり、下書きするなりした方が良さそう。

最後に

運営の皆様、発表者の皆様、その他、参加された皆様。非常に良い体験ができ、刺激になりました。ありがとうございました。

*1:実は、こっそりPerl Casual #1には参加してたのですが、その時はエンジニアでもないし、そんなにPerlも書いてないし、空気感パネェ状態でした。

*2:というか、駅の目の前なのに横道に入ってしまった俺が悪い

*3:Wordpressを使う案件が多かったのですが、ソース読んだり、プラグイン作ったりする時に、馴染みのあるPerlの方が良いしストレスがないので、なるべくMTにさせて欲しいとお願いしているところ