Monthly Archives: 10月 2010

OpenStack Austin、クラウドの本命なのか?

“OpenStackは、Rackspace Cloud Servers と Cloud Files、そして、NASAのNebulaテクノロジを基盤とした初めてのオープンソースクラウドコンピューティングプラットフォームAustinをリリースした。これに対する反応と思われるものとして、Amazonは新規顧客に対して1年間無償のAWS利用層を利用できるようにした。”

InfoQ: OpenStack AustinとAWS無償利用層[更新あり]
OpenStack という団体がオープンな技術をベースとしたクラウド基盤 Austin なるものを公開したらしい。しかも Amazon が呼応している、ということは、ビジネス的にも十分耐えうるものなのか?とか思ってみたりした。
NASA の Nebula テクノロジをベースにしているらしい。Nebula、なんだそりゃ。ってことで調べてみたら CAPCOM のエミュレータが出てきた。
Nebula
もちろん、これは関係ない。Nebula ってのは「星雲」の意味なので、色々なプロジェクト名に使われているようね。そういや、ネビュラチェーンってあったな。
なんて冗談を言いつつ調べてみると、裏側では色々な企業の思惑も動いているようね。でも、クラウド事業の最王手 Amazon が乗っかってきたら、それを崩そうとしてきた他の企業はどう思っているんだろうな。なんて心配してみた。
なんていうログを残そうと会社で思い、時間がないので家で書こうとリンクを送って、改めて見てみたら追記が・・・。

“更新. OpenStack Austinの発表に続いて、MicrosoftはOpenStackにWindows Server 2008 R2 Hyper-Vを統合することを約束した。MicrosoftはCloud.comにアーキテクチャ及び技術に関するガイダンスを提供し、OpenStackがMicrosoft仮想化プラットフォーム上で動くのに必要なコードを書くことになるだろう。そのコードはOpenStack.orgで利用可能になる予定である。”

InfoQ: OpenStack AustinとAWS無償利用層[更新あり]
あら、Microsoft さんも参加なんですね。こりゃびっくりだ。
そんなこんなで要注目の OpenStack、インストールはまた今度。今日はやる気がないだけ。っつーか、こんな時間だし。ただ、サポートされるハイパバイザは Xen、KVM、QEMU、UML とあるので、それらを統合するだけのもの?あんま英語サイトを読む気力がない。
まー、ぶっちゃけクラウドとか、あんま興味がない。いや、クラウドは興味があるけど、仮想マシンを単一マシン内で多数動かすってのには興味がない。効率的に思えないんだよね。OpenVZ (Virtuozzo) の方が仮想マシン層を挟まない分、効率的に思える。Linux on Linux の場合に限られるけど。
って思うのは、自分が Web 屋に属しているからかもしれない。Web で主流の通信である HTTP ってのは、ユーザが期待する処理を細分化してサーバに要求し、各要求の応答をそれぞれ受信するスタイルになっている。そのため、要求の複雑性はある程度抑えられるので、分散環境に於いてたまたま担当したマシンがそれなりに応答することが求められるんですよね。
だけどサイエンスの世界で求められるのは高度に複雑な処理をいかに高速に処理するかってこと。これは HTTP プロトコル上に乗っているシステムとは正反対だと思います。高度に複雑な処理をこなすために仮想マシンを並べる、ってのは違う気がするけど。
ただ、クライアントからの要求を細分化しても残るのがオブジェクトの共有。そういう意味では OpenStack が実装している Object Stack ってのは気になる。ただ、使っているハードウェアと台数が同じなら、既存の RDBMS と大きな違いが出るのかは疑問だと思う。って、使ってみてから言えよ、ってね。
そういえばオープンベースのクラウドと言えば Eucalyptus ってのがあるけど、それとの違いを語っているページもありました。
クラウド事業者のためのオープンソースプロジェクト「OpenStack」 - Publickey
まー、色々ありつつ、要注目なものだと思っています。

携帯電話のメーカー直販

“ 携帯電話メーカーが法人向けにスマートフォンなど高機能端末の直販を始める。カナダのリサーチ・イン・モーション(RIM)は業務用ソフトを組み込んだ携帯を従来より安い価格で販売。NECも年内に端末とシステムで開始する。携帯電話の販売はこれまで通信会社が独占してきたが、メーカーの参入で独占が崩れ、価格やサービスの多様化が進みそうだ。”

携帯電話、メーカーが企業に直販 通信会社独占崩す  :日本経済新聞
携帯のメーカー直販が広がりそうだと。携帯電話として売るというよりは、大きなシステムの端末として携帯機器を売るという感じらしい。前から内線の仕組みと PHP が組み合わせて売られてたりするし、その延長なのかなー、って思いました。
個人の携帯の買い方として直販が出てくるのは、まだまだ先なのかもしれないですね。

日帰り紅葉・温泉ツアー、トンネルもあるよ

ロープウェイ/谷川岳ロープウェー株式会社
谷川岳に行ってロープウェイから紅葉を眺めてきた。時期的にちょうど良かったようで、かなりキレイだった。
それはそれで良かったのだが、そのちょっと手前にある土合駅にも寄ってきた。

“下りホームが新清水トンネル内にあり、駅舎(地上)からは10分ほど階段を下りないと到達できない、「日本一のモグラ駅」として親しまれている。「関東の駅百選」認定駅の1つ。”

土合駅 – Wikipedia
地上の駅から地下のホームまで 486 段の階段を下りなければならない、モグラ駅。本当は水上あたりに車を置いて列車で行ってみたかったのだが、二時間に一本しか列車が走っていないので、今回はやめておいた。
土合駅は無人の駅なので、特に切符など買わなくてもホームまで行けました。最初は道路と川を越えるための横移動。その後、一気にホームまで下る階段の登場です。なかなかの迫力。見る価値ありです。登ってくるのはちょっと疲れますけど。
土合駅の後、紅葉を眺めに谷川ロープウェイへ。ロープウェイの次はリフトで頂上へ。楽でいいねぇ。冬はスキー場としてやっているそうです。頂上からの眺めは非常に良かった。この山々した風景は北海道では見れないよね~、と同郷のメンバーと話していた。大雪山とかも高さはあるけど、本州ほど山が連なっている所はないんだよね。
山を満喫した後は、もちろん温泉。割引券に釣られて猿ヶ京温泉まで行ってしまった。昔、猿ヶ京ホテルに入ったことがあったが、今回はこっち。
群馬県みなかみ町天然日帰り温泉、絶景露天風呂なら猿ヶ京温泉まんてん星の湯にお越しくださいませ!!!
安いけど、施設は新しく、いいお湯でした。
という感じで 400km ぐらい走ってきたのだけど、30L ぐらいしかガソリンを使っていないようなんですよね。スタンドは行っていないので正確には分からないけど、リッター 13km ぐらい。やけに燃費がいい。やっぱエアコンを使っていないからか?

そのチームでの情報共有はどのツールで行うか

“Michael氏とPeter氏はその結果から構成に基づいたチームのための推奨をまとめた。彼らは、チーム構成、進捗報告の必要性に基づいて、有形のツール、Webベースのツール、それら2つの組み合わせのどれが必要になるか、以下のように結論付けた。”

InfoQ: アジャイル界隈ではシンプルなツールが好まれる
チーム運営ツールについての話。アジャイルチームの場合、と言っているが、普通のチームでも当てはまると思う。特定の製品を比較しているのではなく、Web ツールとスプレッドシート、有形のホワイトボードなどを比較している。
昔はチーム内での情報共有と言えばホワイトボードだったんだよね、たぶん。今でも外出や休暇の情報を共有するために使っているところは多いと思う。Web 化するのは簡単そうに思えるが、パッと目に入ってくるホワイトボードと同じ浸透度を保った Web ツールを作るのは意外と難しいと思う。
MS のオフィスが世界中に広まって、情報共有のために Excel を使うことが非常に多い。スキルの差こそあれ、大多数の人が説明なしに使えるツールというのは他のツールにない利点だ。ただし、その点でもホワイトボードに勝っているわけではない。それでもホワイトボードよりも広まったのは、保存のしやすさや遠隔地に情報を渡しやすいという点が大きいのだと思う。
しかし Excel は単一のファイルに全てが詰まっており、遠隔地にその情報を伝えるには複製をやり取りしなければならない、という特徴がある。それはバックアップを取りやすいという長所にもなるが、最新版の管理が難しいという短所にもなる。
と言うわけでデータはサーバという特別な場所で集中管理しましょう、って方向のツールが Web ツールだ。ここでは Web ツールと言うが、別にブラウザ経由でなくてもいいと思う。というか、Web になったのは最近で、昔は Java とかで専用アプリを作っていたはずだ。集中管理、という点がスプレッドシートからの進化だ。
このように、管理ツールは徐々に進化してきたかのように思えるかもしれないが、単にチームの形態が変化してきて、ニーズが変化したことによるツールの変化かもしれない。もちろん、それぞれのツールは進化していると思う。
というわけで、リンク先のどんなツールを使うべきかって表。チームの特性に対するクライアント等への進捗報告が必要か否かっていう観点で、どんなツールを適用すべきかってのを表している。これはアジャイルのための話ではない。

技術的負債という言葉にグッときた

“それは、全ての「あなたが今は、やらないと決めた内部的 なことで、しかし、そのままにしておくと、将来の開発を妨げるもの」である。[Ward Cunningham]。表面的には、アプリケーションは、高品質で、いい状態にあるように見えるが、これらの問題がその下に隠れている。QAは、アプリケーションは、良い品質で、ほとんどバグが無い、と言いさえするかもしれないが、それでも負債は、存在するのである。もしこの負債を管理せずに、減らしもしないと、コードを書いたり、保守したりするコストが、結局は、顧客への価値を上回ることになる。”

InfoQ: 技術的負債、マネージャの視点
「技術的負債」、っていい表現かもしれない。アジャイル的なキーワードと付いているけど、開発全般に言えることだと思う。
記事では技術的負債の増える要因がいくつか挙げられているが、中小企業が陥りやすいのはこれだと思う。

“経験不足の開発者 – あるプロジェクトでは、何のトレーニングも受けずに、あるいはオブジェクト指向プログラミングでは、どうコードを書くべきかを知らない開発者が Java/C#/Rubyで書いている。結果として、彼らは、慣れている言語、すなわち、 Visual Basicなどに相応しい書き方で書き続ける。”

InfoQ: 技術的負債、マネージャの視点
中小の企業では、なんとなくできる人が案件に投入されてしまいがちです。しかし、しっかりした仕事をしてもらうには、しっかりした知識・技能が必要です。Web で検索して解決できることを言っているのではありません。検索して得た知識をいかに実装するか、という話です。
というわけで、技術者としてしっかりした仕事をしたいなら、本質的なところを学ばなければならないよなぁ、って再確認しました。

X-Padという見慣れないHTTPヘッダ

“X-Pad: avoid browser bug”

X-Pad: avoid browser bug – 刺身☆ブーメランのはてなダイアリー
仕事でバグ探しをしている時、見慣れない HTTP ヘッダを見つけた。バグではないらしい。むしろ昔のバグを含んだブラウザを救済するために吐いているらしい。
バグを含んだブラウザと言っても、Netscape Navigator 2~4 あたりらしく、今はほとんど存在しない。そろそろ気にしなくてもいいのではなかろうか。
というわけで、こんなヘッダを吐く機能は停止させる設定があるのかと探してみたが、見つからない。ソース見れってかー。面倒だなぁ。
ってことで、

$ cd /tmp/
$ tar xjf /usr/portage/distfiles/httpd-2.2.16.tar.bz2
$ grep -r -C5 X-Pad httpd-2.2.16/
httpd-2.2.16/modules/http/http_filters.c- * It is more expensive to check the User-Agent than it is to just add the
httpd-2.2.16/modules/http/http_filters.c- * bytes, so we haven't used the BrowserMatch feature here.
httpd-2.2.16/modules/http/http_filters.c- */
httpd-2.2.16/modules/http/http_filters.c-static void terminate_header(apr_bucket_brigade *bb)
httpd-2.2.16/modules/http/http_filters.c-{
httpd-2.2.16/modules/http/http_filters.c:    char tmp[] = "X-Pad: avoid browser bug" CRLF;
httpd-2.2.16/modules/http/http_filters.c-    char crlf[] = CRLF;
httpd-2.2.16/modules/http/http_filters.c-    apr_off_t len;
httpd-2.2.16/modules/http/http_filters.c-    apr_size_t buflen;
httpd-2.2.16/modules/http/http_filters.c-
httpd-2.2.16/modules/http/http_filters.c-    (void) apr_brigade_length(bb, 1, &len);

ふむ、http_filters.c に書かれているのか。これ、避けられないのかなー。grep と less で追いかけるのは無理がある・・・。
というわけで、Doxygen にかけてみた。が、CALLER_GRAPH が出てこない。なぜだろう。って本気でのめりこんだら帰れないのでやめておく。
まー、無害なヘッダだから気にすんなってことだね。

PHP 5.3にしてのトラブル

PHP: PHP 5.2.x から PHP 5.3.x への移行 – Manual
Gentoo の PHP が 5.3 になって、会社の開発用 PC もバージョンアップしていた。色々と変更になっているのだが、タイムゾーンの設定方法が変更になったらしい。ってのはバージョンアップしたときに気づいていたのだが、面倒なので後回しにしていたら、マシンを貸していた後輩から突っ込まれた。

PHP Fatal error:  Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.

PHP 5.3.0 で動作が変更されたんだと。

“date.timezone string PHP 5.3.0 より前のバージョンで、 環境変数 TZ が設定されていない場合に 全ての日付/時刻関数で使用されるデフォルトのタイムゾーン (PHP 5.3.0 以降では 環境変数 TZ を参照しなくなりました)。 優先順については、date_default_timezone_get() のページで解説されています。サポートしているタイムゾーンについては サポートされるタイムゾーンのリスト を参照ください。”

PHP: 実行時設定 – Manual
でも、今までだって TZ 環境変数なんか設定していなかったし、なんだろなぁ。まぁ、php.ini に date.timezone 設定を入れたら警告は出なくなるからいいんだけど。
PHP ソースで date_default_timezone_set() 関数を使って設定する方法もあるらしいけど、毎回書くのはうざいし、インフラとしては設定されているのが適切だと思います。システムには設定したうえで、ユーザごとに表示する時刻のタイムゾーンを変更したいって時とかは PHP ソースで変更って感じかな。
つか、5.3 での新機能で Phar が気になっているんだけど、遊べていない。アーカイブにまとめて、そのまま実行できるらしい。納品した後で気安く修正されたくない場合に有効なきがするんだ。でも気安く修正できなかったら PHP の良さ半減なので微妙な気もする。

Flash CS5でAndroidアプリを作れるらしい

“ Androidで動くAdobe AIRアプリは、2010年5月末にリリースされた「Flash Professional CS5(以下、Flash CS5)」に「Adobe AIR for Android」という拡張機能を追加することで、簡単に作成できます。Flashのスキルやいままでの資産を生かしつつ、新たにJava言語などを学習しなくてもAndroidアプリが作れるということで、この機能はFlasherの方には大変な朗報ですね!”

Flash CS5でAdobe AIRのAndroidアプリを作る準備(1/3) – @IT
Adobe の Flash CS5 で Android アプリが作れるようになってたんですね。すげーなぁ。Web 制作・開発会社でも Flash が使えれば Android アプリに手を出しやすくなりますね。iPhone 側はどうなんだろうなぁ。

Vimの薦め

インストール、そしてはじめの一歩 - @IT
@IT で「今さら聞けないVim」という連載が始まった。これから Unix 系 OS で開発や運用を始めてみようとしている方は、読まれるといいと思います。
っても、始まったばっかりなので大したことは書いてありませんでした。インストールと Hello World 的なもの。でも、ここから始まるんだよなー。
と言いつつ、自分は Windows 上で gVim を使うほど vim を愛してはいません。サクラエディタを使っております。
サクラエディタ
つか、範囲選択できて、カット・コピー・ペーストができて、正規表現での検索ができれば十分なんだよな。あ、開発するならハイライトも必要か。関数名をピックアップして自動補完してくれるのは自分的に微妙。そこは自分で打ちたい派です。
最近よく目にする nano っていうテキストエディタは軽量でいいっぽいけど、いまいち好きになれなくて詳しく調べていない。もしかしたら求めているテキストエディタに一番近いのかも、とも思うが、そんなモチベーションはない。
あと、Vim と Emacs がよく比べられたりするけど、自分の周辺の Emacs 使いが「Emacs は環境だ」って言っていたので、別物ってことでいいと思います。Eclipse と比べてあげたらいいのかな?
ってなわけで、大体の Unix 系 OS にはデフォルトで入っている Vim がお薦め。環境変数 EDITOR も /usr/bin/vim にしておきましょう。

アンドロイド搭載のガラパゴス

“ アンドロイドをベースにした端末は、各社が独自のソフトを加えることで機能や使い勝手が変わってくる。電子書籍端末としての機能を前面に打ち出したのがシャープだ。同社のブースには12月に発売する「GALAPAGOS(ガラパゴス)」を計70台以上並べ、来場者が使い勝手を試せるようにした。”

アンドロイド搭載のタブレット端末、日韓3社が競演  :日本経済新聞
すごい名前だ。ガラパゴス・ジャパンを貫くという意気込みか?
結局、Symbian が Android になっただけでガラパゴス状態は続くんだろうな。各メーカーは自社製品の独自性を持たせたいはずで、開発力を持っている日本は OS が何であれガラパゴスになっていくんだ。
ガラパゴス状態であることを恥じる必要はない。それは開発力が高いことの証明だ。
つか、iPhone は相当なガラパゴスだと思う。