Google Developer Day 2010 Japanのまさかのまさか
クイズに解答しないと参加できないという、実に高飛車なGoogle Developer Day 2010 Japan(GDD)があります。
Googleへの忠誠心を試す踏み絵ではないかという声もありましたが解答を提出しました。Googleがどうこうではなく、課題が与えられたら解きたくなった、それだけの気持ちでした。
提出した解答が参加の基準点をクリアしたようで、おめでとうメールを受けとりました。
恥ずかしかったのでここに書きませんでしたが、提出した解答はあまり良い点数ではありませんでした。基準点が意外に低かったのかもしれません。
すごい競争率になるだろうと勝手に予想していました。考えてみれば、世の中の大半の人はGDDの存在すら知らないわけで、それほどでもなかったのかもしれません。
これで話が終われば、表題のまさかはひとつです。
9月末にJavaOne参加のためにサンフランシスコに行きます。日本到着が9月28日17時成田です。GDDは9月28日開催です...忘れていました。
もらった物はすべて井上に引き渡す条件でGDDに代理人を出すか、1日早く帰国するかの選択です。そもそも、格安航空券の往復チケットがある条件下で、追加料金を払うことなく1日早く帰国するアルゴリズムがわかっていません。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/gdd2010quiz/tbping
mixiはすごい
「mixi Plugin」と「mixi Graph API」を発表したようです。大胆です。facebookと名前まで同じです。
facebookのAPI(http://developers.facebook.com/docs/より)
- Graph API
- Social plugins
オマージュを感じます。
mixiの「イイネ!」ボタンはfacebookの「Like」ボタンへのオマージュ、と思ったら、以下によるとfacebook日本語版は「Like」を「いいね!」と呼んでいるようです。同じひらがなにするのは腰が引けたのでしょうか。
と、少し小馬鹿にしたような書き方をしてしまいました。ごめんなさい。
ぼく自身は別にマネが悪いとは思っていません。勝てば官軍です。出発点が同じでも違う進化をたどる可能性があります。ソフトウェアなんてそんなモノです。既にあるからと言って作らなかったら何も始まりません。
で、客観的に見てfacebookは超すごいです。昔は(http://dev.ariel-networks.com/Members/inoue/facebook-xfbml)、「facebookの技術は馬力はあるけどエレガンスさは無い」と言ったりしましたが、もう言いません(言えません)。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/mixi/tbping
芝浦工大
学情(http://www.gakujo.ne.jp)主催の「就活キャンパス芝浦工大」に参加するため、今週の金曜に芝浦工大に行きます。
あまりにミスマッチな学生と話をすると、お互いに疲れる上に、最悪の場合、嫌な気分になりかねません。すごいスーパープログラマでなくてもいいのですが、最低限、プログラミングを楽しめたり、プログラムのことを考えるのを楽しく思える人でないと、アリエルでプログラマにはなれません。
このため、某W社のマネみたいで気がひけますが、ブースにコードを張り出すことを考えています。
難しすぎると誰も寄ってこないかもしれないので、以下のコードを考えました。
// 次のコードの問題点を指摘してください // リストのすべての要素を削除(clearメソッドの再発明) public void buggyClear(List<String> lst) { for (int i = 0; i < lst.size(); i++) { lst.remove(i); } }
一応Javaのコードの断片ですが、Javaを知らなくても、勘が良ければ回答できます。
実際のところ、別に正解できなくてもいいかとも思っています。張り出されたコードを見てぎょっとして遠ざかるか、近づいてじっと眺めるか、の最初の態度だけでも選別可能かと思っています。
懸念は遠ざかる人には2種類いることです。難しそうだからと逃げてしまう人とJavaを小馬鹿にして去る人です。後者を逃さないために別のコードも考えました。次のコードです。
; 次の関数は何をするか答えてください (defun qsort (lst) (if (cdr lst) (let ((pivot (car lst)) (lst (cdr lst)) right left) (while lst (if (> (car lst) pivot) (setq right (cons (car lst) right)) (setq left (cons (car lst) left))) (setq lst (cdr lst))) (append (qsort left) (list pivot) (qsort right))) lst))
一応Lisp(elisp)のコードですが、Lispを知らなくても、勘が良ければ回答できます。と言うより、ほとんど答えは書いてあるに近いのですが。こっちも重要なのは、よく分からないコードを見せられた時に逃げ出さないかを見たいだけです。
ちなみに模範回答は、Javaの方を見て「副作用が...」とつぶやいて、Lispの方を見て「効率が...」とつぶやくことです。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/shibaura-it/tbping
tailのトリビア
WEB+DBプレスにtailfコマンドの紹介がありました。
tailfはtail -fと同じことをしますが、ポーリング的な動作をしないので効率が良いと書いてありました。tailfは次のutil-linux-ngに含まれています。
どうやっているのかと思いtailfのソースを見たらinotifyを使っていました。inotifyでファイル変更イベントを受けるとファイルサイズを確認します。以前とサイズが変わっていれば処理します。inotifyが使えない場合は、少しsleepしてチェックを繰り返す無限ループで処理します(古典的tail -f)。
これはトリビアと思ったのですが、本家のGNU core utilitiesのtailのソースを見てみるとこちらもinotifyを使っていました。2009年8月にリリースされたたv7.5で対応したようです。
そんなわけで正しいトリビアは「tailfはinotifyを使いtail -fを効率化したが、新しいGNU tailもinotifyに対応している」です。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/tailf/tbping
JavaOne/Oracle OpenWorldレポート - ラリーエリソン編 -
2010/9/19(日)から9/23(木)にJavaOne/Oracle OpenWorld2010に参加しました。
参加費は日本オラクル持ちです(http://dev.ariel-networks.com/Members/inoue/summer2010)。図々しいですが、来年も日本オラクルには参加費用を出してほしいので(できれば飛行機代とホテル代も)レポート記事を書きます。
長くなるので何回かに分けて書きます。客観的で公平な記事はプロのジャーナリストに任せて、このブログでは偏向した意見や個人的な感想を織り交ぜて書きます。時系列でのレポートではなくトピック単位です。今日はラリーエリソン編です。
なお、英語力と記憶力のため間違いがあるかもしれないので、間違いを見つけたら指摘してください。
ラリーエリソン(以下エリソン)はオラクル創業者にしてCEOに君臨する王様です。次のキーノートスピーカの紹介ページ(http://www.oracle.com/us/javaonedevelop/keynotes-144366.html)を見ても王様ぶりが分かります。
エリソン以外の人のBiographyは、いつどんな会社でどんな役職についたなどの真面目な経歴ですが、エリソンだけはこんな経歴です。
Larry Ellison has been CEO of Oracle Corporation since he founded the company in 1977. He also races sailboats, flies planes, and plays tennis and guitar.
もう少し書いてくださいと言える人はいないのでしょう。ついでに今回のエリソンのスピーチは時間オーバー(1時間近く)したのですが、誰も何も言えないのでしょうか。
今回、エリソンは2回キーノートスピーチがありましたが、2度ともスピーチ会場のMoscone Northに入れませんでした。入ろうとしたらそのバッジでは入れないと警備員に止められました。結局、2度ともスクリーンでスピーチを見ることになりました。他のキーノートで会場入りを止められることはなかったのでエリソンだけが特別でした。エリソンは現人神でした。
日曜のWelcome Keynoteと水曜のOracle Keynoteの2回のキーノートですが、未だになぜ2回似たような内容で話したのか謎です。おまけに2度のスピーチの出来はまったく別物でした。日曜のスピーチはあまり元気がなく、話しながら息が切れている感じでした。登場時に階段を上がっただけで息が切れたのかと思うほどでした(もういい年だし)。スライドが切り替わってから何を話すか考えているような雰囲気すらしました(これは少し言い過ぎかもしれませんが)。スピーチ前に流れたAmerica's Cup(ヨットの大会)優勝時の興奮したエリソンの顔と、キーノートのやる気のなさそうな顔を見ると、もう業界にビルゲイツもいないし、オラクルのCEOも飽きてきて引退時かもしれないと邪推するほどでした。
しかし、水曜のエリソンはノリノリのスピーチで別人でした。未だに2回のギャップと2回似た内容のスピーチをした理由が謎です。日曜のスピーチが水曜の予行演習だったのかと思うほどですが、もちろんそんなことはないので、不思議です。
Exalogic Elastic Cloud(以下Exalogic)というSun由来のハードウェアの話が多かったです。この前段としてクラウドとは何かという話から始めたのですが、salesforce.comをこけおろしていました。オラクルとアマゾンでクラウドを定義して、VirtualizedとElasticがクラウドの本質と決めたようです(なんでオラクルとアマゾンがクラウドを定義する権利を持つのかというツッコミはなしです)。Amazon EC2はクラウドだがsalesforce.comはクラウドではなく、単なるan application on the internetにすぎないと言ってのけました。
水曜にもsalesforce.com攻撃は続きました。salesforce.comの売りのマルチテナントを15年前の時代遅れの技術と言って、切って捨てました。マルチテナントはセキュアではないので、分けた方がいいとエリソンは言っています。10月にマークベニオフ(salesforce.comのCEO)が日本に来るので、エリソンがマルチテナントは15年前のold technologyだと言ったことの感想を誰か聞いてみてください。
オラクルとsalesforce.comの親密さは謎です。Oracle World展示会場でひときわ大きなブースを確保しているのがsalesforce.comです。マークベニオフは今回のOracle Worldに来てスピーチもしています。このふたり師弟関係と言えば師弟関係です。エリソンのスピーチでマークベニオフいじりも結構あったので、仲がいいからこそsalesforce.com攻撃ができる間柄なのかもしれません。
Exalogicの直接の比較対象はIBMのハードウェアでした。水曜のスピーチではDellのマシンをたくさん使うsalesforce.comも言及していました。IBMもDellもOracle World展示会場で大きなブースを構えていますし、マイケルデル(DellのCEO)はスピーチにも登場しました。今やオラクルはハードからソフトまでなんでもやるのでどこでも誰とでも競合します。それでいながらHPもDellもIntelもスピーチに登場するという協調ぶりでなにがなんだかという感じです。
ただひとつMicrosoftへの対抗意識がまったく無いのが逆に際立ちました。聞き逃しでなければひとことの言及もなかったと思います。無視することで眼中にないことを暗に示したのでしょうか。
ついでに言うとエリソンが多く語ったものはExalogicとLinuxとFusionです。逆にほとんど話さなかったのがJavaとSolarisです。これが何を意味するのか...
Sunを買収してExalogicのようなハードウェアを手に入れ、SolarisとLinuxというOSがあり、昔からあるデータベースなどのミドルウェア、とオラクルは上から下まで揃って持つことになりました。スピーチの中でもハードウェアとソフトウェアを一緒に提供できるメリットを強調していました。このメリットの補足としてスティーブジョブズの言葉も引き合いにだしていました。
Exalogicはハードウェアに合わせて完全にチューニングしたソフトウェアなので性能が良いし(テストも充分にできるので)安定すると主張します。これは事実だと思います。でも、この主張、SunでもIBMでもHPでも彼らのUnixで長年飽きるほど聞いてきました。これらのUnixに何が起きたかというとWindowsとLinuxによる駆逐です。いわゆる垂直統合の敗北です。
ITの世界の垂直統合の敗北は歴史的必然だという主張に対して、必然と言えるほどの歴史はない、という反論があります。確かに歴史は実は短いものです。たまたまMicrosoftがうまくやっただけでハードウェアを持っていた会社は戦術が下手だった、垂直統合が敗北の本質的理由ではない、という主張も可能です。
しかし、個人的な意見では、垂直統合は敗北の本質だと思っています。つまり何度戦っても垂直統合はオープン技術の前に敗北すると思っています。短期的には垂直統合が圧倒的な性能差でリードしても、時間が経てば安い量産品が性能差を埋めると思うからです。
日本オラクルに参加費を出しておいてもらっておいてなんですが、Exalogicのような垂直統合はオラクルの終わりの始まりかもしれません。
LinuxとFusionの話はまた別の機会に気が向いたら書きます。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/javaone2010-ellison/tbping
Re:JavaOne/Oracle OpenWorldレポート - ラリーエリソン編 -