Monthly Archives: 6月 2010

夜にアップデートはしない方がいい

何気にブログを運用しているサーバで yum update して再起動したら、OpenVZ の仮想マシンが動かなくなった。CentOS のイメージは動くが Gentoo イメージは動かない。色々探るってる時間もないと思い、最近借り始めたけど使っていなかったサーバに移動することにした。暇になったら移行しようと思っていたし、タイミングってのはこんなもんだ。
移行先のサーバの Apache 設定を見直し、不要なモジュールを読み込まないように変更。DB を用意して・・・、って MySQL 入ってないし。つか、PHP も入ってない。そういや最小構成でオーダーしてた。なので yum で色々入れた。
んで、DNS 設定を変える前に hosts 書いて確認してたが、文字化けがなかなか直らない。ふと気づいたら、テンプレート内の文字は化けていなく、DB から取ってきている文字が化けている。最終的にこれでした。

“skip-character-set-client-handshake”

mysqlとphpの連携で文字化け。skip-character-set-client-handshakeで解消 � kawama.jp
なんか有名なやつだよね。職場でも問題になってた。
にしても、やっぱバックアップ体制ってのは大切だねぇ。早く帰ってきたし、テレビ見てメシ食って風呂入って寝ようと思ってたんだけどなぁ・・・。結局、寝る時間同じですわ。
あー、金曜に設定変更しない方がいいってのを思い出した。そうだよね。土日を潰されたくない。

OUTRAGEはみんな悪者だった

OUTRAGE を見た。みんな悪者。ひどいもんだ。自分を守るためにウソばっかり。次回の選挙に当選するためにゲイだってのを隠してる。
ってのはアメリカの OUTRAGE ってドキュメンタリー映画の話。松島の未公開映画を取り上げている番組でやってた。
松嶋×町山 未公開映画を観るTV:
すごいねぇ。共和党はキリスト教系の支持に頼っているからゲイだってことが言えないんだって。民主党は割とカミングアウトしているらしい。共和党では偽装結婚している人もいるんだとか。
日本はどうなのかと考えてみた。まぁ、考えても分かんないけど。アメリカのワシントンはゲイの働きで成り立っているなんて話も出ていた。家族がいないと無制限で働けるからだって。日本でも隠れゲイの方が出世してたりして・・・、なんて思ってみました。俺はゲイじゃないから出世は無理だな。
来週に後編をやるから、気になった人は見てみてはいかがでしょうか。

SQLが馴染みにくい理由

“ さてミックさんが講演したのは「リレーショナルとはどんなことか」で、プレゼン資料はミックさんのWebサイトで公開されています。興味のある方はぜひダウンロードして読んでみてください。”

XMLDBやKVSは破壊的技術になり得るか? - @IT
この資料、面白かった。ミックさんって知らなかったけど。
資料では、一般的なプログラミング言語で使われている手続き型の手法と SQL で用いられている集合論的手法で、データの取り扱いがどう変化するかってのが、色々と例をあげて説明されていました。手続き型の手法ではループが必須の機構になりますが、集合論では集合を取り扱っているのでループと言う概念自体が存在しなくなります。これは非常に面白いです。
ちょっと前から「情報処理は統計学だろ」と勝手に思っていたのも相まって、集合論も面白いよなー、なんて思ってみてます。今度、集合論の専門書でも立ち読みしてこようかな。同じかな、違うかな。近いような気もするんだけど。
こんな面白そうな集合論なんだけど、なぜか馴染がないですよね。資料の後の方にも出てきますが、大学まで行かないと授業が存在しないんだそうです。なので理系大学生以外は集合論という存在すら知らない可能性が高い。
SQL はプログラマを必要としないデータストアとして開発されたはずだけど、一般人があまり知らない理論を元にしてしまっては使える人も少なくなりますね。もし、高校数学ぐらいで集合論のさわりだけでもやっていれば、IT の利用形態も変わっていたかもしれないのかな、って思ってみました。一般公開 SQL サーバとか。
にしても、そんな基本理念が違うプログラミング言語と SQL を両方使わなければならない現代のプログラマって不幸なんじゃないかと思います。そう考えると、考え方の近いデータストアである KVS が勢力を伸ばすんじゃないかとも思えます。それとも、SQL へ収束してプログラミング言語は見栄えの調整にのみ使われるるか。
まぁ、それぞれの勢力がそれなりに勢いを保って、結局のところプログラマは色々やってるんだろうなぁ。

新しいダイナブックに興味をそそられた

ミニノート libretto W100 トップページ
寝る前にもうひとつ。WBS で見た、新しいダイナブック。iP* に影響を受けてそうだけど、結局、自分が欲しいのはこんな PC なんじゃないかって思ったりしました。
ちっちゃくて、普通の OS が乗ってて、電話として使う予定はない場合。モバイルノートにタッチパネルと加速度センサーがありゃ十分だと思うんです。あ、GPS も欲しいな。
ってなわけで au の IS01 は必要なのかって自分に問いかけてみます。他のメーカーも同じようなの出してくるだろうしなー。むー。

Doxygenでドキュメント生成から解放されるのか

Doxygen
プログラマにとってはドキュメントって避けたい仕事ですよね。そんな面倒なドキュメント作りを自動化してくれるツールで Doxygen というものがあります。他にも色々あるみたいだけど、割と古くからし、有名なプロジェクトでも使用されているのでいいんじゃないかと思います。なんか日本人的な選択かな・・・。
実際のところ、会社では PHP なので PhpDocumentor がいいのかなって思っていたのですが、一生 PHP やる訳でもないので、多言語対応なツールがあったらいいなって探していました。そこで出会ったのが Doxygen です。主に C とか Java なんだろうけど、PHP、Python、Fortran、さらには MS 系の言語にも対応しているそうです。こりゃいいわ。
んで、会社事情もあり Cake なのですが、v1.2 をダウンロードして Doxygen で処理してみたら behavior の i18n だかのファイルで無限ループに吸い込まれました。どうやら下のほうで

if () { ... }

で囲まれたクラス定義があり、それを消したら進んでくれました。なんだかなぁ。他のバージョンなら大丈夫かも。会社の手を加えた Cake はいけた。
しかし残念なことに Cake の API ブックは ApiGenerator という Cake のプラグインで作られているらしい。

“This Api was created using the new Api Generator plugin for CakePHP. This plugin enables us to easily build api docs based on php5 reflection and some regex magic.”

CakePHP: the rapid development php framework: Api : Pages
バージョン 1.1 は Doxygen だったようだけど、なんで変えちゃったんだろ。あんまマッチしなかったのかな。Web で見るには ApiGenerator もいいけど、PDF とか出来るのかな。Doxygen はできる、らしい。まだやってない。
Doxygen のいいところで、クラスの相関や関数の呼び出し状況を図にしてくれる機能があります。まぁ、他のツールでもできるんだろうけど。んで、その作図機能を提供しているのが Graphviz ってやつ。こっちの方が気になってると言ってもいい。
Graphviz ってのも割と古くからあるツールっぽいです。テキストで dot という言語を書くと、ネットワーク図とかデータ相関図とかを生成することができます。面白い。暇なときに日本語のチュートリアルをやったりしてます。
Graphviz チュートリアル
ネタが古いなぁ・・・。
ちょっと考えているのが、dot で仕様を書いて、Cake のテンプレートを吐き出し、出来上がったら Doxygen でドキュメント生成。Subversion で管理しておけば、テンプレートの差分を吸収していけるから、仕様変更も対応しやすい、なんてね。
まー、結局はコメントを入れるのはプログラマだから、ドキュメントを作っていることに変わりはないんだよねー。コツコツやるか、最後にまとめてやるか。夏休みの宿題と同じだね。

北海道まで車で帰るか悩んでみた

そろそろ夏休みのことを考えようと思った。サークルの OB 合宿がお盆の真っ只中に開催されるので、それに合わせて東京から北海道に帰るプラン。
今年は車を買ったので、飛行機 vs 車を考えてみた。
ドライバーだけで考えると、片道では、

  • 大洗からフェリー: 4万円ぐらい
  • 青森からフェリー(青森泊): 2.5万円ぐらい
  • 飛行機パック最安: 2.5万円ぐらい

って感じ。
うーん、青森まで運転も耐えられるだろうけど、値段はあんま変わんないんだな。微妙だ。青森に立ち寄りたいなら車かなぁ。友達に会いに行くかな。
同乗する人がいたら安くなるか。でも、意外とフェリー代も高いので、大洗フェリーはなしだ。青森からフェリープラン、誰か来るかなぁ。明日、同じ合宿に参加しそうなやつらに聞いてみようかな。

雁坂トンネルは拍子抜けだった

“☆日本国内の一般国道山岳トンネル延長ベスト3☆
* No.1 雁坂トンネル(一般国道140号) ★★★延長6,625m★★★
* No.2 寒風山トンネル(一般国道194号) ★★延長5,432m★★
* No.3 安房トンネル(一般国道158号)   ★延長4,370m★

雁坂トンネル有料道路
雁坂トンネルを通過してきた。通過しただけ。止まるとこないし。単なるトンネル。でも、一般国道の山岳トンネルで一番長いらしい。
かなり長いのかと思っていたが、あんま長くは感じなかった。通過時間は計っていないです。なんか拍子抜け。
山梨側から入ったが、トンネルの手前の広瀬ダムに寄ってみた。誰もいなかった。でも猿がいた。熊も出るらしい。ちっちゃい公園が付いていたので、ひと回りして立ち去った。
あ、広瀬ダム、Google Map でかなり詳細の画像がでるな。ちょうど白い車が止まっている所に止めたわ。

大きな地図で見る
広瀬ダムのさらに奥、西沢渓谷という所があった。
西沢渓谷の紹介(牧丘タクシー)
けっこう気になる。けどまた今度。時間がかかる。
ってなわけでトンネルを通過し、秩父に抜けました。なんか道路が細々していて分かりにくかったなぁ。ナビが細かい道を選んでくるのに着いていけず、何度かコースアウトしました。
そんなこんなで満願の湯に入って来ました。
日帰り温泉 秩父 長瀞 満願の湯
いい湯でした。露天も渓谷っぽい感じで、向かい側に滝も流れていた。露天に向かうテラスみたいな所がいい感じ。湯上りに体を冷ましながら一服。
おまけに蕎麦を食べたくなって、温泉の食堂で頂きました。なんとなく天婦羅も食べたくなって天ざる御膳を選択。でも天婦羅まではいらなかったなぁ。運転していただけなのに、カロリーオーバーだ。
食後に入り口の灰皿のところで一服しようとしたら、昔々の木が地中で石化したというベンチが置いてあった。元気になるとのことで座って一服してみた。元気になったかな。温泉だけで十分元気か。
帰りは高速で二時間、一般道で三時間とナビが言っていたので、あえて一般道を選択。そしたら二時間ぐらいで帰ってこれた。期待通り。途中で道を間違わなかったら、もっと早かったな。
そういやエンジンフラッシングの効果は如何程か、ということでガソリン満タンに。10km/L ぐらい。うーん、あんま変わってないなぁ。エアコン使っていたし?そんなもんか。
んなわけで、自然&ドライブ満喫してきました。明日は部屋の掃除でもしてよう。

Twitterが高負荷状態でした

“Twitter is over capacity.”

Twitter / Over capacity
Twitter がキャパシティーオーバーだそうです。そんなこともあるんだね。まー、限りあるリソースをベースに稼動しているんだから、いつかはそうなるよね。
んで、面白そうなリンクがあったので見てみた。
Twitter Status
ステータスを公開してるんだって。Web サーバがとか、DB サーバがとか、ってのを想像していたけど、違った。単にページを取得できるか、ってぐらいっぽい。まぁ、個別のサーバの負荷なんて公開しないよね。
ついでに HTTP のレスポンスヘッダーを見てみた。status. の方は CentOS だそうで。お、ちゃんと Etag 吐いてる。リバースプロキシで Squid 使ってるのね。
本家の方は OS を隠蔽している。Server: hi ってなんだ。NetCraft のサイトによると、hi と Apache が混在しているみたい。
Site report for twitter.com
本家のヘッダー、Etag 吐いてるけど、これっていいのかな?

Etag: "12c76838dd47b77123b85638479e432e"-gzip

-gzip ってのが怪しい。なんか Apache で同じようなバグがあったみたい。
Re: [users@httpd] Etag suffixed with
でも Twitter のサーバは hi だよね。関係あるのかな。Rails かな?分かりません。つか Expires が過去の時刻を指しているから使われないね。
にしても X-Revision: DEV っていいのか?

最近はFX

楽天証券 | ネット証券(株・FX・投資信託)
最近 FX で遊んでます。まぁ、楽天ヤバイって噂は置いといて。
感覚としてなんだけど、FX も公営競技のひとつかなって思います。なんならパチンコ的な。でも、それなりに計算すれば勝てる、気がする。
FX する時の心得としては、
・生活をかけるほど金をかけない、お小遣いの範囲で
・負けることを想定に入れる、負けても「あ、そう」ぐらいの心
・買ったとしても自分のために使わない、FX で勝つってことは誰かが負けてってことだからね
なーんてこと思ってみました。自分のことはさて置いて・・・。
あ、具体的に言うと、ロスカットが痛くない範囲で遊べばいいと思います。ハイリスク・ハイリターンより、ローリスク・ローリターン。結局、働いた分しか入ってこないんですよ。

MS自身によるIE9のテストは信用できるか

“Mozillaの考えでは、Microsoftのテストはテスト範囲を制限しているので、不正確で誤解を招く。”

InfoQ: MicrosoftのHTML5準拠テストの結果にGoogle、Mozilla、Operaが異議を表明
HTML5 関連のテストは色々なところが実施しているみたいだけど、MS のテストはかなり意図的なものだったっぽいっすね。自社製品である IE9 の点数を釣り上げる裏工作が相当入っているようです。
ただ、MS が W3C と共同で作業を行うような、標準への準拠という道を進もうとしている姿勢は評価している方もいるようです。
MSDN のサイトを見てみると、多少修正されているようでした。
Internet Explorer 9: Testing Center
やっぱ開発元がテストケースを作るってのは変な意図が入りやすいから気をつけなきゃならないですねー。なるべく第三者機関が立ち会うのがベター。IT という先進分野ではなく、建物とかの法定点検なんかを考えたら普通なんでしょう。まー、第三者機関が変な権力を持っちゃう危険もあるけど。