僕の同僚は30歳前後の人が特に多い。それで「腹回りの脂肪がやばい」 とかいう話がちょくちょく出るんだが、僕は自分とはかけ離れた世界の事象だと思っていた。昔から、ガリで有名だった僕においては、そんな事を気にする文明が開花していない。
社会人になってから、学生時代の同期と会うと「ちょっとデブったんじゃない?」的な忠告が入ってはいた。しかし、僕にとっては「むしろ、それで普通なんだ。よかった、よかった。」ぐらいの勢いで捉えていた。
ところが、去年の暮れぐらいに「胃下垂」という病気を覚えた頃ぐらいから、どうも腹回りのみに余剰な脂肪がついてきたみたいだ。 今日体重を計ったら65kg。計測を初めて以来、最重量級の値を記録した。 基本ガリで、腹だけデブっぽい感じの食糧難体系になりつつある事実を認めざるを得ない。
これは、早期に対策を打たねばぁ
久しぶりに写真を投稿。6月らしく紫陽花の花。 なんだか中途半端な紫陽花だと思っていたら、逗子の人が「がくあじさい」という花であると教えてくれた。紫陽花もいろいろあるのね。

なんだか余生をすごす人の日記みたいになったぞ。
僕は、3年ぐらい前から古橋さん(id:viver)さんのファンで、追っかけなんだけど、先週、彼の作品であるkumofsがInterop Tokyo 2009のクラウドコンテストで優勝をとったそうだ。すばらしい。分散基盤系の最先端技術を、論よりコードで切り開いて行く彼の姿勢はすごいよ。
畑違いの僕では大雑把にしかわからないのだが、Kumofsは、Web系のサーバ側の技術でここ数年注目を浴びているKey-Valueストアの類いのソフトウェアである。当初は、いちいちリレーショナルデータベースへ保存したり、取り出しするのでは、大量のユーザーをさばけないため、高速なキャッシュというイメージで出てきた技術だった。最近はそれ自体をオンメモリストレージ的に扱うようになっている。Google App EngineのDatastoreとか。AmazonのSimpleDBとか。 kumofsはいわゆる分散key-valueストレージ。mixiのmikoさんのTokyo Cabinet + Tokyo Tyrantが集中管理/リプリケーションであるのに対して、分散管理/スケーリングな感じ。Consistent Hashingという複数のサーバに効率的に冗長されたデータを保持させるアルゴリズムと、動的なサーバ追加を実現するdouble-hash-spaceという拡張を使っているらしい。
まだ実装が公開されていないので、よくわかんないけど、ずっとデータが雲の上にあるのは、なんだか落ち着かない。全体停電になったらどうするの?きっとファイルに落ちて、永続化されるのかな。。。
しかし、こうやって学術的なアルゴリズムが、パッと世に出てきて、その効果/効能が注目されるのは、やっててやりがいがあるだろうね。
Google I/O 2009のニュースサイトを追いかけると一杯、面白そうな技術が発表されている。
見た目とか、アプリの面ではAdobe Flashでやれちゃうような気もするが、 毎度のGoogleのアプローチは、独特のイデオロギーを背景にした、野心的なビジョンが伴っているところに魅力を感じる。
入社してすぐ「メールが大杉」とよく思ったものだった。どんな仕事も、 SMTPとファイルを駆使している。仕事は技術的に新しいかもしれないが、使う道具は宮大工が使う「やりがんな」みたいなイメージを持った。タスク管理、問題の改善のプロセスのためのコミュニケーションツールとして、メールのスレッド機能では抽象度が低すぎる。お仕事で使えるシステムになるかどうか別にして、Google WaveがWebによるコミュニケーションを1歩進めるストラテジーというのは気になる。
それ以外は、ブラウザの話。Web Workersのデモが、Webカムを使って ページの裏でjavascriptが動いて物体認識する的なアプリになっていたのがなんか面白そうだったのと、よりWebアプリケーションはネーティブアプリに近くなるというHTML5の標準化の件が興味深い。
社内引越でよっぽど乱暴に扱われたのか、仕事で使っている監視サーバのディスクが物理的に逝ってしまった。さらにマザーボードも死んだみたい。
普通なら、ハード構成の違う別のサーバへシステムを入れ直す必要があり、結構面倒なわけだ。ただ、当該の監視システムは仮想ハードウェア上に構築していたので、バックアップしておいた仮想マシンのイメージファイルから、簡単に別サーバ上の仮想マシンに復元できた。 監視するために物理的に複数のネットワークセグメントに足を出すので、 そこだけ復元先サーバにネットワークカードが必要だが、それ以外はまったく気にせずに復元できてすごく楽を体感した。
利用していたのは無償のVMWare Server 2.0。1.0でつくったイメージファイルとも互換性がある。ちなみに、VMwareは今回、手で行ったような作業を自動的に行うVMotionという製品も持っている。
近頃の仮想化ブームは、ただ流行というだけでなく、手軽なハードウェアリソースの抽象化を普及させてしまったという意味で、価値ある革命な気がする。クラウドブームがそういう価値があるのかというと、僕にはまだわからない。ハードウェアリソースの抽象化によって、これまでのソフトウェアはより抽象度の高い部分に押し上げられた。言い換えると自由になった?縛りが減ったと言えると思う。
VMWareはVirtual Appliance MarketplaceというWebページで何らかのシステムを構築した仮想マシンを販売している。これまでパッケージソフトウェアを販売していた ような会社が、それを仮想マシンにインストールし、使えるように設定してから、そのマシンごと販売しているわけだ。 客先のシステムは、ソフトウェア販売する側からすると何が起こるかわからない未来の宇宙みたな場所だ。なんだかエラーが出たとか、動かないとか、インストールに関連するトラブルは、仮想マシン販売で解決できてしまう(それでもネットワーク絡みとか、物理リソースに依存する部分は残るけど。。。抽象の漏れだな)。 なんなら、メーカサポートとして画面を操作できるソフトウェアをプリインストールしておいて、オンラインで操作のヘルプができるかもしれない。
実際、 Virtual Appliance MarketPlaceではトレンドマイクロが社内の検閲サーバを販売してたりする。ソフトウェア会社もVMイメージファイルで納品したりする時代がくるのかもしれないね。と改めて思ったのでした。
日記を書かなくなってしまった。書けないネタの方が一日の95%ぐらいを 占めている。のころ5%ぐらいの話をしてみよう。
近頃買った「More Joel on Software」を読むと、Microsoftってやっぱりすごい会社だなと思う。組織的に継続してソフトウェアをリリースする事に優れていると思うし、時代への戦略的な適応の仕方もある種、筋が通っている。あちこちでメタメタにいわれながらも C#や.NETを次々とリリースし、HPC分野やエンタープライズ向けクラウド分野への開発を進めているのはすごいと思う。
本書については、ソフトウェア開発者の姿/ソフトウェアのデザイン、ソフトウェア会社についてと、憧れのまなざしで読みすすめてみる。
それ以外だと、保守/運用をやってる観点から、設計時に求められる システムやソフトウェアの必要条件みたいなのを考えるようになった。 顧客の性質によるのかもしれないけど、以下は必須かなと思っている。
再起動無しに、ログ機能のOn/Offが可能であること。開発元にエスカレーションするに十分なログが取得可能な状態にしておく。ハードウェアだと、メーカーのダイアグ、サポートツール等をインストールしておく。OSだとエスカレーションできるように、コアを出す設定とか、レポート情報収集ツールを入れておく。
理由が明確でないエラーメッセージを不用意に出さない。必要であればアラーム集約を適切に行う。
とりあえず付けたレベルな監視システムは悪だ。無意味な顧客への説明対応に追われるだけ。
保守/運用作業の時に切り替えて作業ができるためサービス影響を減らせる。ただし、HAにする場合は想定される障害ケースとリスクを良く分析する。適当なHAはやらない方がましで、多くの障害の原因になり得る。
あれば救えるものはたくさんある。
こういうのをもっと精査して、普遍的なルールみたいなのを作りたいな。
4月に入ってから今日まで、アメリカ西海岸のような天気だった(ちなみに、海外に行った事ない)。すがすがしい晴天と乾燥した空気で春を感じる日々。今日は一転して雨、家に帰る時間には大雨になっていた。
コンビニで残っている590円の傘2、3本と天気の具合に悩んでいると、下の方にビニールカッパを見つけた。ちょっとだけ割安な400円。中学時代最強だと思っていたカッパが懐かしく、気分転換にカッパを選択してみたんだ。
装着して気づいたんだけど、スネから下が完全無防備なんだよね。 ついでに、カッパ降り注いだ雨粒が全て垂直に滑り落ちて靴を直撃、 結局、池に落ちたレベルで1つしかない靴とズボンが濡れた。
そもそも、コンビニにあるカッパの意味がわからん。雨に備えてビニールの長靴まで履いて準備をしておいて、「カッパを忘れた」といってコンビニでカッパ買う人なんているのか?(僕か。。。orz)
家の仮想環境はVirtualBoxにしているんだが、この度、mount.vboxsfを知って関心した。昔からあったみたい。
VMWare系統だとホストOSのファイルシステムのマウントには内部ネットワーク経由のCIFSか、NFSかを使う。(もしかしてvmware用のmountコマンドある? VirtualBoxではゲストOSにGuest Additionsをインストールしておくと、mount.vboxsfというのが使えるようになる。 ホスト側のVirtualBoxで共有フォルダを指定しておくと、mount.vboxsfをつかってばしっとマウントできる。どうせcifsをラップしているだけなんじゃないかとGuest Additionsを紐解いて眺めてみたが、どうも vboxvfsというカーネルモジュールがvirtualbox Host-Guest Communication Libraryを叩いてvfsを提供しているっぽい。本気だ。
他にも,VirtualBoxのゲストOSのコンソール画面はRDPに出せたり(ゲストOSのBIOS画面をRDP経由で見れる)、タダにしては非常によくできている感じ。Parallels, VMware Fusionとかどういう差分があるのかね。 「MacOSとゲストOSの画面が混ぜられるよ」とかぐらいかな。
三連休の後半は仕事で新宿に泊まる事になった。ホテルのネットワークをMBPとWindowsノートで使いたい。最初は、Windowsのブリッジ機能を使おうとした。
ホテル => LANケーブル => Windows PC => ワイヤレス => Mac
ワイヤレス部分でAd-hocでMacと繋ごうとして、うにょうにょ触っていたら、 「ワイヤレスネットワークのプロパティ」から「ワイヤレスネットワーク」というタブが無くなるという、よくあるらしいトラブルに巻き込まれる<URL:http://support.microsoft.com/kb/884239/ja>。腹立たしいのでMacをベースにしようと思った。
Macは環境設定の「インターネットとネットワーク」に共有というのがある。共有する経路をEthernet,相手をAirMacにしてGo。すんなり繋がった。 しかもMacがNATしてくれるらしくClass AのプライベートがDHCP経由でふられるようになった。
以前、Pragmaitc Bookstoreで買ったPDFがアップデートされて、epub形式で読めるようになっている事に気づいた。
いままではPDFをTouchにコピーして、それPDFリーダーで読もうとしていたが、画面サイズに対して書籍フォーマットの余白では読みにくかった。 EPUB形式は電子ブックフォーマットのスタンダードらしく、iPhone,iPod Touchでもソフトをインストールすると読めるらしい。 僕はStanzaを使ってみている。 iPod TouchでPragmatic Bookshelfの自分のページへアクセスして、epub形式をダウンロードすると自動的にStanzaが起動して取り込んでくれた。 PDFよりちょっとはまし。
epubはSonyやO'Reillyのebookストアで販売されている。 AmazonのKindleはサポートしていない?っぽい。
<URL:http://blog.chromium.org/2009/02/distributed-reliability-testing.html>
GoogleのブラウザChromeでは、どんなページを見てもクラッシュしないように分散信頼性テストをしているんだそうだ。 1時間毎に開発最新版のGoogle Chromeを複数のコンピュータ上に配置し、Googleの収集した大量のWebページを自動的にロードさせ、クラッシュレポートを出させるんだそうだ。UIもあらゆる並びでのアクション(タブのオープン、なんらかのダイアログの操作。。)を生成し、自動的にテストさせている。すごくレアの問題がおこった時でも、どの変更が起因したのかすぐ発見できて、直せると。
「Joel on Software」のJoelテストにあるように、良いソフトウェアを作るならデイリービルド、自動テストはやんなさいという文化は、Webに出てくるソフトウェア開発者文化的には浸透しているように感じる。しかし、実社会にいくとウンとレベルが違ってくる。Webでは見えない周辺(WebとかOSSとかじゃない)のソフトウェア産業に浸透するのは何年もかかるんだね。というか浸透しない気もする。低気圧と高気圧みたいな、相対的に品質とかソフトウェアに対する意識に差異があるって事なんだと思う。
_ ido [よし.一つだけ言わせてもらおう. 「そこは我々が5年前に通った道だ!」 うぇるかむ!]
_ おさむ [お!今から入門させていただきますよ。 自転車もそのうち。。。]