2011年10月16日
YAPC::Asia Tokyo 2011
ありきたりで、毎回そして誰もが言うことですが、楽しかったし、刺激になった。
本当に運営の人はお疲れ様でした。毎年のことながら素晴らしいカンファレンスをありがとうございました。今年の運営はこれまでの経験が活かされていて、非常に洗練されていたと思います。
今年は話をしたかった人とかなり話せてすごくよかった。「交流しよう」というテーマに即して、全体的にすごく交流しやすい雰囲気を作り出していたと思う。深く考えていなかったけど「懇親会無料」ってのも、交流を促進させるための施策として素晴らしいものでしたね。それに、昼食の時間が取ってあったので、芝生で交流ができたのは非常によかった。
個人的にはブログやらTwitterやらISUCONやらで以前より名前や顔を覚えてもらえていることもあって、交流しやすかったというのもあります。勝手に後夜祭から帰途につくときに、「@lapis25 さんと話せなかったな」とか思っていたら、帰りの電車を待っているときに本人から声をかけていただけたのは感激でした。
まあ、そこまで有名になったわけでも無いのですが、実力に比べて若干名前先行の感があるのでもっと精進しないといけないな、と思います。
そして、Kamakura.pmで話した内容の焼き直しでも良いから、話しておけばよかったと少し後悔しています。年々トークのレベルが上がっているので、そろそろ話しておかないと置いていかれる一方だな、という感じがする。来年は話す。
印象に残ったトークとか
Perl 5.16 and beyond(Jesse Vincent)
Perlに対する誤解を解くだとかレガシーPerlがどうのみたいなことを言うフェーズは終わって、どんどんPerlを進化させていくというフェーズに入った。Perl自体をよりスリムに、ソースコードもリファクタリングしていく。
といった内容を話していたと思いますが、非常に力強いメッセージで、期待が持てました。
ORMに関する議論なんかで良く言われることですが、すわ関数呼び出しのコストが高いだとか、オブジェクト生成のコストが高いからといって、ハッシュばかり使うっていうのは、有効なのはわかりますが、バッドノウハウ以外の何者でもない。(DBICがオブジェクト作り過ぎなのは確かですが)
確かに、ハッシュはシリアライズもしやすいし、イチイチオブジェクトの流儀を覚えるよりも楽なことも多いのは確かですが、だからといって、ハッシュばかり使うのは他言語からしたらナンセンスに思えるのは確かだと思います。
そのあたりが、今後Perl自体のソースコードのリファクタリング次第で高速になっていくことを期待しますし、共通的なオブジェクトモデルがどうなっていくか気になるところです。
Mobage オープンプラットフォームの事件簿(Toru Yamaguchi)
モバゲーでサービスを作っていることもあって、Zigorouさんやriywoさんのトークも非常に自分にとって身近で興味が持てるネタでした。
特にZigorouさんのトークに関しては「ここまで話しちゃっていいんだ...」とかびっくりするような内容でした。
話していた障害の話は、自分が作っているサービスにもモロに影響がでたやつなんだけど、話を聞いてみると、規模は違えどこちらでも悩んでいるような話で、逆に親近感が湧くような話でした。
しかし、それらに対する解決策は目からウロコが落ちるような、でも真似したくないような驚くべき内容で、とはいえ発想の転換という点では非常に参考になりました。
初日の懇親会で、Zigorouさんとお話しましたが、「なんか欲しい機能とかありませんか」とか聞いてきてくださって、こちらが出した要望にも真剣に考えてくださって本当に嬉しかったです。
こういうエンジニアの横のつながりってのは、なかなか非エンジニアには理解しがたい部分でしょうね。
他者のエンジニアが弊社に遊びに来ることとかあるんですけど、「スパイかも知れないよ」とか冗談をいう人がいて、勿論冗談なんだけどそういう冗談が出てしまうのは非常に残念だなぁと思ったりすることもあるので。
あとは、riywoさんのトークでも、
- 運用側にイベントの開始を伝えてない
- 「リアルタイム」という言葉は特に危険
みたいなことを話していて「あるある」とか思いました。
Perlで構築された中規模サイトのDC引っ越し記録(FUJIWARA Shunichiro)
ベストスピーカー賞おめでとうございます。初日のほうが来場者が少ないし、投票を促されるのも二日目なので、二日目のトークが有利だと思われる中での勝利は見事としか言いようがありません。
弾座談会
トークじゃないけど、二日目の夕方にスウィーツエリアで日本と海外のハッカーたちによる座談会が行われていました。
そこではいつもは空気を読まない弾さんのファシリテート力に驚いた。それだけじゃなく、弾さんが途中で口を挟んでも、すかさずそれに口を挟み返す、みたいなことが頻繁に行われていて、「ああ、これが英語圏の会話なんだな」とか思いました。
スピーチとかはあるけど、英語の座談会的なものは初めて聞いたのは初めてだったので非常に面白かった。聞き取れた英語は3割くらい。
その他思ったこと。
ハッカー文化の啓蒙
こういうYAPCの雰囲気やハッカー文化的なものを、ビジネスサイドの人たちにも理解してもらうことは大事なのかなぁと思った。最後のhidekさんのトークを聞いてもDeNAなんかはそこにすごく成功しているんだと感じた。
自社のエンジニアの書いたコードが他社のサービスで動いているし、その逆もまた然り。そういう基本的なところからして、ビジネスサイドの人間はなかなか信じられなかったりする。
YAPCがビジネスビジネスしたイベントになるのはゴメンだけど、お金を出してもらうだけではなく、ビジネスサイドの人を引っ張ってくる努力もしたほうが良いんじゃないかと感じている。
今回はスポンサー枠みたいなのもあって、うちの管理部門の人もYAPCに来たりしたわけだけど、一人は「YAPCすごく楽しいですね!」と言っていた。そいつはなんでも本気で「楽しい」と言えるナイスな奴なので、逆に参考にはならないけど、そういうふうにYAPCの空気を非エンジニアに感じてもらうってのは重要なんじゃないかと思う。
キャリアとか家庭とか
Perl界隈は僕くらいの年代が多いと思うんだけど、家庭をどうするかに関して色々考えていている人が多いように感じました。JPA理事の牧さんも子供欲しいっておっしゃってますし。
刺身さん問題(僕しか言ってない)について刺身さんと話せたのも良かった。
一般的にWebエンジニアは家庭を大事にしますが、Webサービスは昼夜問わず対応しなければいけないことも多く、仕事との両立は頭の痛い問題です。
しかし、帰りの電車で、@lapis25さんも@kazeburoさんも「子供かわいいですよね」とかおっしゃっていて、非常に幸せな気持ちになりました。
てことで、Webエンジニアは結婚相手として非常におすすめですね。おすすめな理由はここでは語り切れないので、またの機会にあらためることにします。
22:47
2011年10月10日
人生は調和級数であるがゆえに美しく、業が深い
しかし、ブログは一度放置に入って全く書かなくなるものですね。くだらないことでも良いから書き続けることが大事なんでしょう。てことでくだらないことでも書こうかなと。
最近はMTで書くのがたるくなってきて、自分で適当なBlogツール的なものを作ろうかとか考えて、markdownをgit管理する簡易CMS的なものを多少作ってもいたのですが、そんなことをしているうちに余計ブログを書かなくなったフシもあります。
閑話休題。
最近(でもないけど)以下のようなツイートをよく見かけますね。
hogeはfuga日生きた。今日は有意義だったか
こんなのは以下のワンライナー一発です。11448日生きたようです。
perl -MDateTime -E 'say DateTime->today->delta_days(DateTime->new(year=>1980,month=>6,day=>5))->in_units("days")'
これを見て常々考えていたことを思い出したんだけど、一年の体感時間て何故かどんどん短くなるじゃないですか。それは、一年が自分の中で何度も繰り返された末に、その価値がどんどん陳腐化していくのが大きな理由だと思うんですね。
これの数式化を試みると、0歳から1歳までの1年てのはその人にとっては人生の全てなわけですよ。この1年の価値を1とすると、1歳から2歳までの1年は自分の人生の1/2を占めるわけで、1/2の価値になります。そして31歳から32歳の1年は自分の人生の1/32にしかなりません。つまり以下のようになります。
人生の体感時間 = 1 + 1/2 + 1/3 ...
この体感時間に基づいて、実際に自分がどれくらいの割合の人生を消化しているのかを1歳から100歳まで出力するワンライナーが以下です。人生が100歳と長めに仮定しています。
perl -e '$die=100;$r+=$_ for map{1/$_}1..$die;printf "| %3d | %5.3f |\n",$_,sub{$i+=1/$_;$i/$r}->()for 1..$die'
| 1 | 0.193 |
| 2 | 0.289 |
| 3 | 0.353 |
| 4 | 0.402 |
| 5 | 0.440 |
| 6 | 0.472 |
| 7 | 0.500 |
| 8 | 0.524 |
| 9 | 0.545 |
| 10 | 0.565 |
| 11 | 0.582 |
| 12 | 0.598 |
| 13 | 0.613 |
| 14 | 0.627 |
| 15 | 0.640 |
| 16 | 0.652 |
| 17 | 0.663 |
| 18 | 0.674 |
| 19 | 0.684 |
| 20 | 0.694 |
| 21 | 0.703 |
| 22 | 0.711 |
| 23 | 0.720 |
| 24 | 0.728 |
| 25 | 0.736 |
| 26 | 0.743 |
| 27 | 0.750 |
| 28 | 0.757 |
| 29 | 0.764 |
| 30 | 0.770 |
| 31 | 0.776 |
| 32 | 0.782 |
| 33 | 0.788 |
| 34 | 0.794 |
| 35 | 0.799 |
| 36 | 0.805 |
| 37 | 0.810 |
| 38 | 0.815 |
| 39 | 0.820 |
| 40 | 0.825 |
| 41 | 0.830 |
| 42 | 0.834 |
| 43 | 0.839 |
| 44 | 0.843 |
| 45 | 0.847 |
| 46 | 0.851 |
| 47 | 0.856 |
| 48 | 0.860 |
| 49 | 0.863 |
| 50 | 0.867 |
| 51 | 0.871 |
| 52 | 0.875 |
| 53 | 0.878 |
| 54 | 0.882 |
| 55 | 0.886 |
| 56 | 0.889 |
| 57 | 0.892 |
| 58 | 0.896 |
| 59 | 0.899 |
| 60 | 0.902 |
| 61 | 0.905 |
| 62 | 0.908 |
| 63 | 0.911 |
| 64 | 0.915 |
| 65 | 0.917 |
| 66 | 0.920 |
| 67 | 0.923 |
| 68 | 0.926 |
| 69 | 0.929 |
| 70 | 0.932 |
| 71 | 0.934 |
| 72 | 0.937 |
| 73 | 0.940 |
| 74 | 0.942 |
| 75 | 0.945 |
| 76 | 0.947 |
| 77 | 0.950 |
| 78 | 0.952 |
| 79 | 0.955 |
| 80 | 0.957 |
| 81 | 0.960 |
| 82 | 0.962 |
| 83 | 0.964 |
| 84 | 0.967 |
| 85 | 0.969 |
| 86 | 0.971 |
| 87 | 0.973 |
| 88 | 0.975 |
| 89 | 0.978 |
| 90 | 0.980 |
| 91 | 0.982 |
| 92 | 0.984 |
| 93 | 0.986 |
| 94 | 0.988 |
| 95 | 0.990 |
| 96 | 0.992 |
| 97 | 0.994 |
| 98 | 0.996 |
| 99 | 0.998 |
| 100 | 1.000 |
100年生きたとしても、7歳にして人生が折り返すことがわかります。
さて、上の式をみてピンと来た方もいらっしゃるかも知れません。1 + 1/2...の無限和を数式化すると以下のようになります。
![\displaystyle\sum^{\infty}_{n=1} {1 \over n}]()
はい。これは調和級数ですね。
上記リンクから引用。
名称の「調和」(harmonics) というのは音楽や和声学における倍音の概念に由来するもので、振動弦の倍音の波長というのが弦の基本波長の 1/2, 1/3, 1/4, ... となっていることによる。調和級数の各項は前後の項の調和平均になっており、また調和平均という用語もやはり音楽に由来するものである。
音楽においても非常に重要な数式でもあり、西洋音楽の美しさの要とも言える式だということがわかります。
さらに以下の記述を引用します。
調和級数は、その項の極限が 0 になるにもかかわらず発散するという意味で、初学者にとっては直観的ではない級数である。
はい。ほんと直観的ではないですね。
この級数が収束するのであれば、人生を無限に生きることに特に意味が無いと断言できるのですが(いくら生きたって頭打ちだから)、この級数が発散するということは、無限に生き続けることにはわずかながらに意味があるということです。
「いくら生きたって、一定の値に収束するんだから、無限に生きたって意味はないんだ」とか言いたかったんですが、見事に失敗に終わりました。ということで人生は美しくも業が深いものですねと改めて思ったのでした。
00:29