時計を壊せ

駆け出してからそこそこ経ったWebプログラマーの雑記

YAPC::Hiroshima 2024が終わった

yapcjapan.org

終わった……。というのが率直な気持ち。 怪我や事故などの大きなトラブルなく終わることができて本当にホッとしている。

2023年度は仕事も忙しく、かつプライベートも色々あり、とにかく様々が立て続けにあってずっと頭がパンクしていたように思う。 ほかにも様々な状況などが重なった結果、今回はあまりまともにYAPCを手伝うことができなかった。

できたのが杜甫々(とほほ)さんとそーだいさんへの講演オファーをするくらいで、あとは多少の相談に乗ったりくらいで運営としての事前準備は今回は殆ど関われていない。 それでもこれだけ多くの人がYAPCを楽しんでもらえたのは、これを準備してきたコアスタッフの面々と他のJPA理事の面々のおかげだとおもう。本当にありがたい。

「段取り八分、仕事二分」とは言うが、その「二分」の部分だけでも貢献しようと当日はできる限りのことをした。

その結果、当日は様々に気を配り目を配りとしていたところあまり余裕がなく、そーだいさんのトークを聞きにいくことは出来なかったが、 杜甫々(とほほ)さんのキーノートだけはなんとか途中から直接聞くことができた。

これが、本当に面白かった。

他の方も書いていたけど、仕事の合間にやったとさらっと言っているその内容が本当に凄かった。 特に印象に残ったWin32 APIのインターフェースをLinux上に構築する話はWineの一部を自作しているようなもので、 仮にやろうと思ってもそう簡単にできるものではないと思うしこういうことをさらっと「やった」と言えてしまうのはかっこいいと思った。

他にも様々なエピソードを聞くことができた。

そして、最後の質疑応答の答えにあった「好きだから」という言葉は、それまでの流れもあって「『好きだから』ここまでできるんだよ」「『好きだから』続けると色々なものを積み上げられるかもしれないよ」というメッセージとしても自分には響いた。

YAPCという場にお招きできて、自らの言葉でこういったことを語ってもらえたのは自分にとってはもちろん、YAPC参加者もとい日本のPerlコミュニティ*1にとって大きな価値になったと思う。 もちろん、このブログとは別途、杜甫々さん本人にも直接お礼を伝えた。

まだ後始末は終わっていないし次のYAPCの実現に向けて動き出している部分もあり、 目まぐるしいなという感じではあるが無理なくできる範囲で今後もやっていこうと思う。

JPA*2ではYAPCを手伝いたい。自分がYAPCを作りたい。自分こそがYAPCだ。 そんな人々のちからを借りてYAPC::Japanの開催を実現しています。

少しでも興味が湧いた方がいらっしゃったら、自分のTwitter DMやJPAのメール窓口 info@perlassociation.org までぜひお気軽にご連絡ください。

*1:Perlを知ってる人も知らない人もYAPCに参加して楽しめるひとは仲間じゃんPerlコミュニティじゃんっていう感じ

*2:Japan Perl Association YAPCの主催組織

YAPC::Kyoto 2020~2023の思い出

3年前、2020年の2月にこんな記事を書きました。

blog.perlassociation.org

まだその脅威の全貌が明らかにならないままに刻一刻とタイムリミットは迫り、 YAPC::Kyoto 2020のために積み上げてきたものとそれをその状況下で実施することのリスクを直視して、頭を抱えました。

自分たちの本業は当然ながらイベントの運営ではありません。 その一方で、イベントの開催には様々な準備が必要になってくるため、それなりの労力と時間がかかります。 それを誰もが持て余しているわけがないように、スタッフも暇だからそれをやっているわけではないのです。

では、それをどこから捻出するかというと、趣味や大切な家族との時間を削ったり、睡眠時間と体力を削ったり、業務調整をして同僚に助けてもらうなど、人によってその程度の差はあれど全く何も犠牲にしていないという人は少ないでしょう。 そういった、掛け替えのない時間をもらうことによってYAPC::Kyoto 2020の準備は進められてきたことを、自分はよく理解していました。

イベントは一点物です。 イベントの準備のほとんどは「その日」のためにしか使えないものであり、つまりイベントを中止するという判断はそのために準備したもののほとんどを無意味なものにしてしまうことを意味します。 例を挙げると、イベントの内容は会場や日程に大きく左右されます。必ずしも同じスペースが同じ条件で借りられるとは限りませんし、どこでどのようなことをやろうとしていたかという構想も簡単に崩れてしまいます。ゲストとして呼ぶ人々の都合がつくかもわかりません。

和気あいあいと、こんなことが出来たら面白そうだ、こんなことができるとみんな嬉しいのではないか、という具合で盛り上がっていた運営メンバーの様子を思い浮かべながら、 中止を考えざるを得ないこの変化にどのように対処するか、中止以外になにか打つ手はないか、現状でベストな打ち手はなにか、といったことをひたすら考えていました。

そして、2時間近い話し合いをオンラインで行って結論を出し、以下のようなブログエントリを書きました。

blog.perlassociation.org

あえて「開催見送り」「延期」という言葉を使い、「中止」とは書きませんでした。

イベントの延期は、それを言うこと自体は簡単ですが、それを実際に行うことは簡単ではありません。 その準備のほとんどが無駄になったことにもう一度前向きに取り組むためには意思が必要です。 そして、延期を提案するということは「いままでと同じくらいの労力と時間をもう一度ください」と言うことに等しいので、延期したいということへの共感が必要です。

しかしながら、イベントのスタッフをやった報酬は、イベントを開催してそこに参加したり関わった方々からの感謝、それだけです。 そして、これは開催することで初めてそれを得ることができます。まだそれがない状況で、延期としましょうと言ったところでそれは本当にできるのでしょうか? 最初はよくても、燃え尽きる、折れる、といった形容をされるような状態になってしまっても不思議ではないと思います。

とりあえず言っておけば良いという意見もあるかもしれませんが、もし期待値を高めてそれを裏切るという行為になってしまうと、信頼を毀損してしまいます。 自分自身のことであればそれでもよいかもしれません(よくはない)が、YAPCという世界中で何代にも渡って主宰が交代してきたカンファレンスは自分だけが築き上げたものではない、これまでYAPCをつくりあげてきた人々から受け継いだ大切な財産です。

「延期」と言うからにはたとえ誰も手伝ってくれなくてももう一度やる覚悟を持つ、そういう気持ちが自分にとっては必要でした。 YAPC::Kyoto 2020のメンバーは延期に対して前向きに向き合ってくれて、延期と決めた話し合いでも「絶対やるぞ!」となって終わるくらいに前向きでいてくれたので、それに背中を押してもらったことであまり迷わずに延期と言うことができました。

そうなれば、コロナ禍でイベントがやりづらくなっても、なんとかYAPCを開催するための土台を維持したいとなります。 コミュニティは生き物であり、集まるきっかけが失われると死んでしまいます。

オンラインでそれをどうするか、悩んだ末にJapan.pm 2021、YAPC::Japan::Online 2022というイベントをやりました。 このあたり葛藤とそこからどうしたかはイベント振り返り Meetup #2というイベントでも話したとおりです。

speakerdeck.com

そして、結果的にはこのようにYAPC::Kyoto 2023として復活を果たしました。 いろいろと不安を書いていましたが、実際はどうだったか。

なんと、YAPC::Kyoto 2020を手伝ってくれていたほとんどのスタッフが引き続き手伝ってくれました。そうでない方も3年のあいだに状況が変わって手伝えなくなってしまった、当日の予定が合わなくなってしまった。といった方ばかりで、自分の知る限りでは100%のメンバーが延期開催の実現に引き続き前向きでいてくれました。 先に書いたような不安は幸いにも杞憂に終わり、id:azumakuniyuki さん id:papix さんを中心に多くのメンバーが高いモチベーションでまた新しいカンファレンスを作ることに尽力してくれたのです。

結果的に、(ブランクが空いたことなどを加味しても)残念ながらトラブルは少なくはありませんでしたが、 それを踏まえても「とても良かった」と参加した人々に言ってもらえるような、多くの人の心に残るカンファレンスとなったのではないかと思います。 ぼくも、とても良いカンファレンスになったのではないかと思います。

この彼らの前向きさとこの結果に力をもらって、自分たちにとって掛け替えのない場をこれからも続けるために、自分にできることを引き続きやっていきたいと僕も心を新たにすることができました。 そんなわけで、YAPC::Kyoto 2023を作り上げてくれたメンバーに僕は感謝をするばかりです。本当にありがとうございました。


いろいろと思い出して感慨深いものがありました。という話でした。

YAPC::Kyoto 2023ではぼくはスタッフ業として溢れたタスクを拾ったり、あるいは #ぶつかり稽古 のリバイバルイベントの司会進行兼実況解説役やLTもやりましたが、その話はまた別で書こうかと思います。

YAPC::Japan::Online 2022が終わり、その先の未来について

YAPC::Japan::Online 2022が終わりました。

JPA代表あるいはYAPC::Japan::Online 2022の主催としてのコメントはこちらに書きました:

blog.yapcjapan.org

ここでは、個人的に考えていることを書いてみます。

コミュニティ主催のカンファレンスの価値はなんだったのか

なぜ、ぼくたちはカンファレンスに参加(した|していた)んでしょうか?
なぜ、ぼくたちは、どこかの誰かがやってくれる大きなカンファレンスではなく、自分たちのカンファレンスを作っているのでしょうか?

人それぞれいろいろな答えがあると思いますが、はっきり「これだ」といえる理由がある方はおそらく多くは無いのではないかと思います。ぼくも、なんとなくカンファレンスに参加するのは好きだし、得られるものが多い気がしているだけで、あまりうまく言語化できないです。

自分の場合はどうだろうと、自分がカンファレンスに求めているものを言語化するとしたらなんだろうと考えると「自分の興味を広げる場」が大事なことの一つになるのかなと思いました。
そして、自分の場合はその主催者でもありますが、それに労力を割く理由はまた違って、PerlとPerlコミュニティの人々が好きで、それらのために少しでもなにか出来ることをしたいということになるのかなと思います。

自分の興味を広げるということ

自分の興味を広げる場、というのは実はなかなか作るのが難しいものだと思います。

なにか新しいことに興味を持つときのことを考えると、もちろん最初はそれに興味を持っていないわけですから、なにかきっかけが必要になります。 多くの場合、それは会話やSNS、テレビなどのマスメディア、あるいは仕事や生活のなかで起きることになります。

ただ、いずれも自分で選ぶものなので、いつの間にか傾向が偏っていきます。

フィルターバブルという言葉を聞くようになりましたが、ご存知でしょうか。 これはパーソナライズされたレコメンドなどを通じた情報に触れ続ける環境に居続けることによって、興味関心の薄い情報に触れにくくなる現象と言われていると思います。

フィルターバブルはこの最たるものの1つだと思いますが、そうでなくとも情報源を選択する必要がある以上は多かれ少なかれ偏りをもたらしているのではないでしょうか。 たとえば、普段よく見るテレビ番組はほとんど固定化されていませんか?新しい雑誌を最も最近読んだのはいつでしょうか?意識しなければ、たいていは同じものを選ぶのではないかと思います。 興味の幅を広げようと思っているのであれば、このような選択はしないほうがよいかもしれません。

自分の考えでは、興味の幅を広げるためには、興味関心から「少し」ズレた選択をすることが必要だと思います。 たとえば、身近な例だと、少し違う道を通って町並みを見てみる、書店に足を運んで少し違う本や雑誌を読んでみる、関連する少し違う分野の勉強をしてみる、といったようなことです。

カンファレンスの良さ

ぼくがカンファレンスの場に感じる良いところは、興味関心から少しズレたものに出会えるところでです。

カンファレンスに参加しようと思うと、一定のまとまった時間をカンファレンスに割くことになります。 目当ての発表がある場合はそれを聞きますが、そうでない場合はあまり興味がなかった発表を聞いてみたり、廊下などで近くにいた知り合いと話したりすることになるでしょう。 あまり興味がなかった発表が予想外に面白くてそのトピックに興味を持ったり、知り合いが聞いた別の発表について聞いたら

そして、懇親会で近くにいた人にとりあえず話しかけてみたりすると、全く違う発表に興味を持っていることがわかったりします。なかには当日に発表をしていた人などもいるでしょう。 その発表や分野の魅了を語ってもらったりするうちに、自分の興味がいつの間にか広がっているということも珍しくないのではないでしょうか。 さらに、気が合う人であればその後も他のカンファレンスなどで何度も合うことになって、いつの間にか同僚や友達になってることすらあります。

そういった、自分の興味を広げるチャンスがカンファレンスには多く広がっており、同じカンファレンスに参加し続けるだけでも少しづつそれを広げていくことが出来ると思っています。 そんな知的好奇心を刺激する楽しみがカンファレンスにはあります。また、いわゆる勉強会もその縮小としての楽しみがあるように思えます。

特に、コミュニティ主催のものはよりカジュアルなコミュニケーションに重きを置いていたり、トピックの幅も少し広く持っているものが多く、よりそんな楽しみが多いような気がしています。 (もちろん、企業主催のものでも通ずる部分は多いですし、また違った良さや面白さもあると思います。)

一方で、コロナ禍でオンラインカンファレンスが広まった後、オンラインカンファレンスでは以前ほどカンファレンスを楽しめないことが多くなったような気がします。

オンラインカンファレンスの難しさ

なぜ、コロナ禍でオンラインカンファレンスが広まった後、以前ほどの盛り上がりがなくなってしまったのでしょうか?

個人的な所感として、まず、懇親会への参加がいままでよりも難しくなったように感じました。

ZoomやGoogle Meetなどで大人数で雑談をしたり、オンライン飲み会をしたことがある方はおそらく共感していただけると思いますが、 意外と遅延が影響してなのか発話のタイミングが難しかったり、イヤホンやスピーカーだけでは同じ方向から複数の人の声が聞こえてくるからか聞き分けるのが難しかったり、カメラとマイクだけでは気分がなかなか共有できなかったりすると思います。

どれもちょっとしたことではあるのですが、その積み重ねでどうしてもある種のコミュニケーションの緊張感というか、そういったものが解きほぐしきれず会話が弾まない。会話が広がりにくいところがある気がします。

次に思い浮かんだものは、以前id:matsumoto_rさんが書いていたこの記事です。

hb.matsumoto-r.jp

自分は昨年に結婚をさせてもらったばかりで子供もいないのでまだ家庭内の仕事の総量は少ないほうだと思いますが、(パートナーがそこまで気にしていようといまいと)一定以上の負担をかけてしまう事実が自宅からオンラインで参加するとよりはっきりと分かるし、それがわかってしまえばそれを想像すると(オンラインでも、たとえオフラインに戻っても)二の足を踏みがちなのは気持ちとしてとても理解できます。(もちろん、それに何らか折り合いを付けて参加している方もおおぜいいらっしゃると思います。)

さらに懇親会といういわゆるサブイベントともなれば、ちょっとやめておこうという方も当然いらっしゃることでしょう。いい調子のときはただリラックスして楽しそうに喋ってるしそのように見えるものですから、パートナーからすると頭では分かっていても少しイラッとくる瞬間があるであろうことは想像できるでしょうし、そもそもの理解を得るにはコミュニティの文化的な背景とカンファレンス参加のモチベーションを共有する必要があるでしょう。

そして、一緒に参加している人の様子がわからないので、懇親会に参加してもどんな人たちと喋ることになるのかイメージが湧きにくいのも難しいポイントでしょう。

こういった様々なハードルがあってなのかはっきりとは分かりませんが、懇親会に参加する人はオンラインカンファレンスでは少ないようで、そうなるとやはり懇親会に参加する魅力はますます落ちてしまうでしょう。

このように、懇親会ひとつ取ってもこれだけ難しいので、オンラインカンファレンスには様々な難しさがあるといえます。

振り返ってYAPC::Japan::Online 2022ではどうだったのか

こういったことを感じていたので、目指したしたのが「ちゃんと交流できる」オンラインカンファレンスでした。

コミュニケーションの軸はDisocrdに置いて、いくつかの施策を実施したのですが、特に印象に残っているものを2つ紹介します。

裏トーク

まず、昨年にやったJapan.pm 2021でも同じことを目指して「裏トーク」というシステムを考えました。

これは、コミュニティの人を2~3人ほどMCとして招いて、カンファレンスの発表を聞きながらざっくばらんに語りあってもらい、それを参加者でトークの副音声として聞くことができるという仕組みです。 これによって、プラスアルファの楽しみを感じてもらいながら「空気感」を感じてもらうのが狙いでした。

どんな人がいるのかよくわからないところに飛び込むのは怖いものです。 こんな人達がいるのか、ということが人や空気感からなんとなく想像できると、少しだけかもしれませんが安心できるのではないでしょうか。

これがどれだけうまく行ったか、自分がフラットに体験することは叶いませんが、参加者の方々の反応を見る限りは上々だったのではないかなと想像しています。というか、そう思いたい。

前回で手応えを感じたので、今回も同様にやることにしました:

blog.yapcjapan.org

YAPCチキン && ビール && ラムネ

これは今回のためにスタッフとして手を上げてくれたメンバーが提案してくれたのですが、やはり飲食は強くて、同じご飯を食べるだけでもTwitterやDiscordなどを通じて空気感を共有できます。

ゲスト対談をしながら進行したのも相まって、懇親会は予想を大幅に上回る盛り上がりを見せて、自分は配信現場から翌日のために素早く撤収したりなどしてその環に混ざることが叶いませんでしたが、とても楽しんでもらえるオンラインカンファレンスの懇親会にできたのではないかなと思います。

紹介しきれないくらい様々なアイディアが出て、今回は少なくとも自分だけでは作ることができなかった、とても良いオンラインカンファレンスになったのではないかなと思います。

その先の未来について

来年のことを言えば鬼が笑うと言いますが、その先の未来についても少し想像を膨らませてみたいと思います。

YAPC::Kyoto 2020の延期判断をしてから実に2年もの月日が経ちました。 YAPC::Kyotoはまだ開催することができておらず、その見通しもまだ立っていません。

ただ、希望は出てきました。

ワクチンや治療薬の開発が進み実際に接種・投与がなされたり、さらに自宅療養も含めて医療的な知見が蓄積して、COVID-19に対して少しづつ医療的に立ち向かえるようになってきていること。コロナ禍における音楽フェスなどの大規模イベントの開催などを通じて、出来る限りの対策をした上で開催されるそれなりの規模のイベントに対してのリスクがその参加者のリテラシーと合わせて見直され、ものによっては社会的な反発が少なくなりつつあること。COVID-19の感染対策への個々人の向き合い方について一定の社会的常識ができつつあること。などです。

もともとの社会に戻ってきつつあるというわけではありませんが、オフラインでカンファレンスを開催する上でのハードルは少しづつ解消されていっているのではないでしょうか。

その一方で、一定の不可逆な変化もあるでしょう。

コロナ禍においてリモートワークが中心となり、生活スタイルが変化したこと。先に紹介した記事のように、それによって意識が変わったこと。様々な事情で引き続きCOVID-19への感染リスクが高い人がいるなかでウィルスの根絶はおそらく困難であることから感染対策が全く必要がなくなる可能性はおそらく低く、少なくとも中長期的にそれを継続する必要があること。などです。

オフラインでカンファレンスを開催することができたとしても、それに安心して誰もが参加することができるかというと必ずしもそうではなく、各々が何らかのハードルを乗り越えてくる必要があると想像しています。 いったいどれだけの人がそのハードルを乗り越えることができるのか、これだけ大きな変化があったわけですので、それを予想するのは困難になってきていると思います。

個人的な話

結婚して、将来について考えるなかで、人生の厳しさ・難しさを実感することが増えたように思います。 フィナンシャルプランナーに相談したり、家について考えたりなどすると、もっと頑張らなければと思わされます。

その一方で、カンファレンスの運営業などは報酬などの発生しない、ボランティアで行っています。

一般的に、コミュニティ主催のカンファレンスの運営は業務としては行わせてもらえないことが多いので、 業務外で家庭内などプライベートでもやらなければならないことが多いなかで、その隙間をうまく使ったり時間を捻出したりしてカンファレンスの準備に充てる必要があります。

しかし、カンファレンスを主催する立場ともなれば、多くの意識や注意をカンファレンスに注ぎ込まなければなりません。 十分にリソースを割かなければ、大したことができません。

たとえば、タスクを洗い出してスケジュールを決めたり、決まったことをスケジュールどおりにただやるだけではなく、状況に応じて柔軟に素早く意思決定をする必要があります。 そのためには、その背景に関する理解やチームに対する理解がなければならず、日々変化していくそれを自らインプットし、判断するべきタイミングを見逃さずにそれを発見し判断していくことが必要です。

少なくとも、自分がそういったことをちゃんと行うには、苦手なりにそれなりの時間をそこに費やして頭を整理して集中して考えなければ、まだまだそんなことはできそうにありません。

その一方で、カンファレンス運営にリソースを割きすぎると、当然ですが本業に影響をきたします。 うまくバランスが取れないと、どちらにも迷惑をかけてしまいます。

実際、今回は個人的にはそのバランスをうまく取れずどっちつかずな状態に陥ってしまい、それぞれで十分なバリューが発揮できなかったように感じます。 特に業務に目立って支障が出たとき、迷惑をかけてしまった同僚たちにはもちろんのこと、年に限られた回数しかない評価のことなど、考えると色々と苦い気持ちになります。

じゃあそんなに難しいのになんでやっているんだという話ですが、それはやはり僕がPerlとPerlコミュニティの人々が好きで、それらのために少しでもなにか出来ることをしたいというこの1点に尽きます。 そして、その気持ちだけで何も行動をしなければ、同じように他のひとも行動を起こさなくて、そのコミュニティやカンファレンスはあっさりと無くなったりあるいは風化してしまうという現実もよく知っているからです。

だからこそ、そういった難しさと向き合いながらも、YAPC::Japanというカンファレンスに関わり続けてきているわけです。

ただ、その気持ちと実際の負担に折り合いが付かないタイミングが来たら、どうしても関わり方を見直すことにならざるを得ない場面がいずれくるのだろうとも想像しています。

その先の未来

さて、暗い未来を想像しましたが、確かな希望もあって、それはこんな記事をここまで読んでくれている皆さんの存在です。

今回のYAPC::Japan::Online 2022では、自分にできることの限界をよく思い知らされました。 そして同時に、自分にない発想をもたらして、それを実現に向けて奔走してくれるスタッフのありがたさをです。

こういった活動を自分がこれからも続けていくためには、他でもない皆さんの助けが必要で、そしてそういった個々人の負担を減らしていくためにはまだまだ多くの方々の助けが必要であるということです。

もちろん、ぼくが苦しんだようなこういった難しさと多かれ少なかれ向き合う必要はあるかもしれないし、モチベーションの大小もひとそれぞれで、そしてみんな忙しくて、なかなか難しいことは分かっています。

それでも、どうか、少しだけでもいいので、力を、時間を、頭を貸してください。 もしよかったら yapc-japan-online-2022@googlegroups.com あるいは自分のTwitter DM宛で相談をください。

もちろん、カンファレンスは参加してくれる人、発表してくれる人なども居て初めて成立するものなので、無理に裏方を手伝ってもらう必要はないですし、これまで通り普通にカンファレンスを楽しんでもらうだけでもとてもありがたいです。

それでも、他のスタッフの参加ブログなどを読んで楽しそうだなとか少し興味を持つことができたなら、最初はお試し感覚でも大丈夫なのでご相談をいただけると嬉しいです。

PerlとPerlコミュニティの人々のためのそういった場や仕組みを、いっしょに色々なことを考えて実際に行動していって、未来をいっしょに作っていきましょう!

YAPC::Asia 2015でうっかりをなくす技術について発表しました

スライドはこちらになります。

www.slideshare.net

まとめていただきました!

うっかりを潰せ!Perlに見る「やらかし防止」 #yapcasia #yapcasiaC - Togetterまとめ

YAPC::Asia Tokyo 2015 1日目レポート[更新中]:YAPC::Asia Tokyo 2015 スペシャルレポート|gihyo.jp … 技術評論社

200人〜300人くらい入る部屋が満員御礼で立ち見も出る程の方々にお越しいただきました。

緊張してしまってうまく話せなかった部分や、時間配分を間違えてしまって最後のあたりが駆け足になってしまいましたが、 会場の雰囲気やまとめなどを見る限り、伝えたかったことは伝えられたかと思います。 裏番組が非常に魅力的な中で、あえてぼくのトークを聴きにきて頂きまして、本当にありがとうございました!

よかったら、ベストトーク賞の投票もおねがいします :)

yapcasia.org

宣伝

Gotanda.pm #6やります!

gotanda-pm.connpass.com

YAPC::Asia Tokyo 2014で個人スポンサーしつつボランティアスタッフしつつperl5 meta programmingについて喋りつつreject conでWorkmanについてLTしました

タイトルが長い。

YAPC::Asiaとは

ここを読むと良い。

概要 / ABOUT - YAPC::Asia Tokyo 2014

Perlのトーク殆ど無いじゃんという意見についての個人的な見解

いまどき色々な言語が開発に利用されるのは当たり前だし、特定の言語だけに絞るメリットはあまり無いのではって思う。
Perlを使ってい(る|た)人が興味が深い他言語/他分野の話をしてもPerlの人には面白いし役立つしべつに良いじゃないか。楽しみ方はいくらでもある。

YAPC::Asiaと私、あるいは何故ぼくは個人スポンサーになったか

YAPC::Asiaは2011年から毎年参加しているが、質が高く素晴らしいイベントであり、良いコミュニティになっていると思う。
僕は毎年ここで開発への情熱を貰っている。色々な技術に触れてわくわくする。エンジニアとしての将来のキャリアに希望が持てる。色々な人に来てもらいたい。
そういう素晴らしいイベントも、継続するためにはやはりお金が必要だと思う。個人で出来る事は少ないけれど、少しでも運営の助けになればと思い、小額ではあるが個人スポンサーをさせて頂いた。

ボランティアスタッフをやった

2012年から個人スポンサーはやらせて頂いていたが、今年からJPAYAPC運営委員会がYAPCの主催を行うということになり、 運営リーダーも牧さんから和田さんに変わるなど、新体制での運営となった。
いろいろ大変なこともあるかもしれないので少しでも力になれればと思い、コアスタッフとしてお手伝いすることも考えたが、 ボランティアスタッフすら経験していないのに勝手が分かるはずが無いと思い、まずはボランティアスタッフとしてお手伝いしていこうと思ったので参加を決めた。

作業としてはコアスタッフの人々が殆どの事を決めてくれていたので、殆ど手を動かすだけで済んだ。
具体的には、特典のTシャツを畳んだり、マイクを質問者のもとに届けたり、懇親会の参加者への案内をしたり、イベントホール外で飲食が無いよう*1grepしてblockしにかかる仕事とかをしていた。

今年はひたすらスタッフをやってみようと思っていたので、トークは殆ど聞かなかった。*2
ぼくは短大の頃に文化祭の主催をするなどしていたので、懐かしい気分になれた。一部でもYAPC::Asiaをつくることに貢献できることに喜びがあった。
終われば懇親会やHUBでいろんなひとと飲んで騒いでできたし、keynote sessionのときは仕事は全部終わっていたので生で見た。楽しかった。

トークについて

Perl5 meta programming - YAPC::Asia Tokyo 2014ということで、Perl5でメタプログラミングをするための基礎的な要素について初学者向けに実際のコードを交えつつ解説した。(スライドはリンク先に掲載している) UNIVERSALとAUTOLOADは隣り合わせにするつもりだったがスライドを整理しているうちにズレてしまっていたなど、いろいろ不手際はあったが、少しでもpure perlメタプログラミングをするための方法について伝われば幸いである。 本当はもう少し実践的な話もしたかったが、これは別の機会でも良いだろう。 なお、このトークのスケジュールはPerl入学式Githubの裏側の話Perlあるある、そして あやかNowという人気トークの裏にあったので、当日はそんなに人は来ないだろうと目論んでおり、非常に気を抜いてリラックスして発表していたが、最終的には立ち見で聴いて頂く方も出てくるなど思いのほか多くの人に来て頂き本当に有難い限りだった。ありがとうございました。 毎年YAPCに来るたびに英語力の無さを実感していたので、英語力を鍛える意味を込めつつ英語でスライドを書いたが、もう一つ海外ゲストの人との話のネタにしたいという思いもあった。しかし、案の定というかGithubの裏側の話に吸い込まれたようでそれは叶わなかった。来年までにはもうちょっと喋れるくらいの英語力とコミュ力を身に付けたい。

LTについて

reject conでLTをした。

karupanerura/Workman · GitHub

これのデモをひたすらやった感じ。酔っ払ってたのでだいぶテキトーだった。 デモをやる裏で動画をひたすら流していて最高にカオスだった。 自分でやっておいて自分で吹き出してしまってしょうもない感じだった。

WORKMAN_CM - YouTube

YAPC Ramen Challenge

きました。

やりました。

f:id:karupanerura:20140904202906j:plain

dump sql type name. · b57ce92 · karupanerura/p5-Teng · GitHub

総括

めっちゃ楽しかったし継続していきたいので来年も(ボランティア)?スタッフやりつつ参加したいです! 関係者の皆様おつかれさまでした!ありがとうございました!来年もやりましょう!(手伝います!

*1:諸事情でイベントホール以外では飲食の許可が得られていなかった

*2:良い同僚が代わりに聞いて、社内でフィードバック会を開いてくれる事になっていたので、それを聞きつつスライドやYoutubeで補完すればいいやとなった。

#yapcasia 2013の感想とParallel::Asyncを書いたはなし

前夜祭

前夜祭では昨年のLTソンと同じくらいの熱気が会場を沸かせ、ときにはApache::LogFormat::CompileとかNorikuraとか真面目なプロダクトの紹介もありつつ、Acme系のはなしなどいろいろあっておもしろかったです。
ぼくも熱気に当てられて飛び込みLTとかやりました。ネタのつもりだったけど滑って残念な感じですみませんでした。

なお、スライドでも触れてる通り、ポチポチゲーの印象がつよいソシャゲですが、
最近はパズドラなどゲームゲームしているものも多く、遊ぶのも開発するのも面白いものが多いですので、
この機会に遊んでみては如何でしょうか。
中で触れてる奴についてはごにょごにょしてる最中ですの気になる方はで続報をお待ち頂ければと思います。

1日目

自分の発表まで資料の見直しと圧縮やらを繰り返しつつトークを聴いていました。

@rjbs さんのトークはPerl5.18あたりで入った新機能や廃止されるかもしれない機能、Perl開発の実態についての紹介でした。ガンガンいい感じの機能いれてこうぜって感じのアツいトークだった気がします。英語勉強しようと思いました。


id:songmu さんのDBまわりのはなしは、(たぶん)同業種かつ同職種である故か、知ってるところはうんうんうんとすごい勢いで同意したり、しらなかったところは id:kfly8 と「これやろうぜ!!」って盛り上がったりしました。


トークが終わった頃には次に聞こうと思っていた id:myfinder さんのRiakのはなしは既に始まっていて、
会場に着いたころには結構話がすすんでしまっていたきがします。
ぼくはRiakについて殆ど知らなかったので、あとで調べて発表のYoutube聴き直しながら勉強しようとおもいました。


お昼は @python_spameggs さんと麺場ハマトラに行きました。熱々濃厚で美味しかったです。


午後は id:yappo さんのメンテナンスしやすいコードを保つためのtool chainの工夫みたいなところで、
現状のsetupスクリプトの課題と、その解決策としてKsgkを作ったという感じの話でした。
だいぶテンションあがりました。


このあとぼくの発表でした。

緊張しててカバン背負ったまま壇上に立ち、それに気付いて頭が真っ白になって、アレな感じでした。
詳細は http://karupanerura.hateblo.jp/entry/2013/09/21/164133 をどうぞ。
Youtube見なおしたらやっぱりだいぶ酷くで申し訳なさでいっぱいであります。。。
次こそはと思っているので、来年の運営には少しでも力になれればと思っております。


そのあとは気ままにトーク聴いたりBOF行ったりぶらぶらしてました。
id:ry_mizuki がSpicaという素晴らしいモジュール書いてたのでLTでいいから発表しようぜとpushしたら発表してくれました!


Clientライブラリが無い、BtoB向けのAPIやマイナーなサービスのAPIを叩くときとかに重宝すると思います。
万能ではないけどだいたいのケースに対応出来るのでいいかんじです。
CPANにあがるのを

懇親会は去年以上にいろいろな人とおはなし出来て楽しかったし、料理も酒も美味しくて素晴らしかったです!
懇親会スポンサーの:DeNAさんありがとうございました!

懇親会のあとはHubに行ってなんか呑みながらくっちゃべってたきがしますが気が抜けすぎて酔っ払ってあんまり覚えていません。


あと家帰っていろいろ考えて反省とかしてたきがする。

2日目


こんなかんじでした

Hackathon


日曜日は用事があり公式のHackathonには行けなかったので月曜日にひとりHackathonをやりました。
最近、仕事でJavaを書く機会があり、Javaはカジュアルに並列処理を書けるので、
Perlでもカジュアルに並列処理できたらおもしろそうだなと思ってつくりました。

こんなかんじで並列処理が書けます。waitとか考えてなさそうなかんじ、カジュアルです。

use Parallel::Async;

my $task1 = async {
    my $res = ...;
    return $res;
};
my $task2 = async {
    my $res = ...;
    return $res;
};
my $task3 = async {
    my $res = ...;
    return $res;
};

my ($res1, $res2, $res3) = $task1->join($task2)->join($task3)->recv();

単純にforkすることやdaemonizeする事もメソッド1つ呼び出せば出来るようなかんじになっております。
isucon予選では即興でのworker代わりに使おうとしましたが時間がありませんでした。*1
けっこういい感じだと思いますので良かったらお使いください。

最後に

素晴らしいイベントをいままで育て、主導して運営してきた id:lestrrat さん、 id:941 さん、スタッフのみなさん、ありがとうございました。
本文中にもちらっと書いておりますが、来年の開催、運営を微力でもお手伝いできればと考えております。
コード書く事くらいしか取り柄がありませんがお力添えできれば幸いです。

*1:本当はResqueとかq4mとか使ったほうがよいはず。去年は時間切れで活きませんでしたがCluntchを使いました。

#yapcasia 2013 で 「ぼくがかんがえたさいきょうのMVC」について話してきました

昨日の13:40から多目的教室3で「ぼくがかんがえたさいきょうのMVC」という題でトークをさせて頂きました。


http://yapcasia.org/2013/talk/show/f60b8522-d43e-11e2-ac80-4cc16aeab6a4

内容について

大それたタイトルですが、MVC disというかんじではなく、上手くMVCを使うためにそれぞれのアプリケーションの要件に最適化した「ぼくがかんがえたさいきょうのMVC」をつくり、そこに対して規約を作り運用していくとだいぶ良い感じですよという感じの話で話をさせて頂きました。
20分は思いの外短いなということで、トピックスに対する答えはだいたい詰め込んだつもりですが、
時間の都合上一部削ったものもあります。すみません。


前半でMVCを何故カスタマイズするべきかについて触れ、後半でMVCをカスタマイズする例*1とそれを守るためにチーム内規約を作って運用するのオススメですという感じの事を話しました。
MVCは抽象的、って表現はいま思えば適当ではなかったです。「MVCは必ずしもあなたの書こうとしているアプリケーションの構成要素に対して具体的な紐付けが確定されているものではない」って表現のがたぶん僕の言いたい事に近いです。
なので具体的な構成要素との紐付けは自分で考えなければいけないけど、チーム内で解釈にブレが出るとカオスになるし、ちょっとイレギュラーな事をやってるとどこに紐付ければ良いか分からなくなるので、具体的に目的のアプリケーションのどの部分とMVCそれぞれが紐づくのか具体化しましょうということが伝えたかったです。


今回、MVC自体がビギナー向けの話題ではないかもしれないと思い、レギュラー向けで応募させて頂きましたが、ビギナーの方にも分かりやすい内容にまとめられたかなと思います。スライドはぜひご覧ください。内容についておかしいと思う点、不明な点があれば、Twitterのメンションやコメント欄などでぜひ気軽に質問/反論してください。



という問題があったみたいで、Sub Room3で id:yappo さんのトークを聴いていたのですが、Sub Room2での発表だと思ってちょっと前に抜けてSub Room2に行ったら違かったので慌ててSub Room3に戻ってだいぶ緊張した状態でトークを始める感じになるというハプニングもありました。
※これは僕が事前にちゃんとトークの前後関係や部屋を把握していれば防げた問題で、僕の責任です。アプリ自体は非常に便利に利用させて頂きました。作者の方、本当にありがとうございます。

*1:実例をもとに簡略化しました