ここのところ, ejcrw for linux, 「知る辺の道」, 「夕凪の街 桜の国」
ここのところ
妙に忙しくてなかなか時間がとれず。先週 dcraw とさんざん戯れてたツケが回ってきたか?!
ejcrw for linux
gorry さん作のキヤノン CCD RAW ファイル操作ツール、crwtools の中から、CRW ファイルに含まれている VGA サイズのプレビュー用 JPEG ファイルを抜き出すための「ejcrw」コマンドを、linux でコンパイルできるよう修正、makefile を追加してみました。
「知る辺の道」
紺野キタさんの新刊。お話の雰囲気はいつもの感じで良かった…んですが、設定といいお話の内容といいどこかで見たような印象が。「辻占売」とかかなぁ。
「夕凪の街 桜の国」
こうの史代さんの本。ヒロシマがテーマの漫画です。いろいろなところで絶賛されていたことから興味を持って買ってみましたが、確かに、静かに心を動かされる本でした。
僕らが小さかったころ、たかだか20年くらい前にすぎないはずなのに、今と比べるととても「この前の戦争」が近いものだったように思います。東京の空襲やヒロシマ、ナガサキについて、生の声で語ってくれる人も (それこそ身の回りにも) 多かったし、社会的な関心もまだまだ高かった1。
今年はこの前の戦争が終わって60年目にあたるのですね。記憶が風化していくことは止められないけど、大切なこと、忘れちゃいけないこと、そういうことを少しでも子供たちに伝えていけたら、と思いました。
PowerShot G1 と dcraw(2), 「すばらしい新世界」
PowerShot G1 と dcraw(2)
G1 で何とかちゃんとした色を出そうといろいろ試行錯誤してみたんですが、挫折…orz。
キヤノンの RAW ファイル、CRW フォーマットには VGA サイズの JPEG イメージがプレビュー用として含まれているのですが、そちらからピクセルを拾って対応する RAW データ上のピクセルへのマッピングを行い、変換行列を作ってみる、というところまでやって、色味は確かにかなり近づいたものの激しい色化け、ノイズが生じてしまって使い物にならず。たぶん行列の精度が低いのが問題なんだろうなぁ。ここから精度を改善していくアイディアも今のところないし、何しろ寝不足が辛いので、とりあえずペンディングということにしました。残念!
「すばらしい新世界」
オルダス・ハックスリー著。1930年代に書かれた、アンチ・ユートピア (最近ではディストピアと言うことが多いのかな?) SF 小説、らしい。僕がこの本を読もうと思ったきっかけはもちろん、こっちの本を読んでいたことと、なぜか新宿の紀伊国屋 (南口店) で平積みになっていたから。
子供は完全に工場で計画的に「生産」され、しかも胎児の段階からアルファからイプシロンまでの格付けによる発育コントロール1をし、条件反射訓育と称して自分の階級や境遇を絶対的に肯定し他の階級へ否定的感情を持つようすり込まれる2。高度な科学や芸術は禁止され、社会生活における不安感解消のためにはソーマという合法ドラッグまで用意されている。「社会の安定」のために完全に統制された全体主義的なイメージは、ヒトラーのドイツとかスターリンのソ連とかを容易に想像させるわけですけれども、僕はそういったイメージよりもむしろ、書かれていることがあまりに「合理的」なことが逆に怖いと感じました。
物語は、そんな文明社会にひょんなことから紛れ込んだ野蛮人、ジョンの顛末を描く、という形で進みます3。ところで上で僕が要約した内容にも、訳者の松村さんの解説にも、おまけにアマゾンのレビューでも、そのような未来は反ユートピア的だ、というニュアンスにあふれているわけですが、確かに現在の我々から見ると非常にグロテスクで、幸福とはとてもいえないような未来だけれども、実は作中で本当に不幸な人間はジョンだけなんじゃないか、とふと思ったんですよね。統制者の一人であるモンドとジョンが議論するシーンがあるのですが、我々に近い感覚を持つジョンが感じた文明国の有りようへの疑問点、不満点を、モンドはことごとく論破していきます。それも、単に思想的、イデオロギー的な方法で論破するのではなくて、科学的根拠に基づいて論破するのです (もちろん SF 小説なので言及されている根拠も全て架空のものではあるのですが)。そういう意味では、たとえどんなにグロテスクに見えようとも現実に科学的なやり方でシステムを維持、運営している統制者は素直にすごいといえるんじゃなかろうか。ジョンの不幸は、文明国の有りようから生じたものではなくて、単なるカルチャー・ギャップによるものだったんじゃないか、と思ったのです。
とはいえ、僕はそういう未来を「グロテスクだ」と感じる自分の感覚を信じたいし、だからこそこの小説の持つ「合理性」を怖い、と感じました。この小説に書かれていることほど極端な例は現実にはないけど、「合理性」の名の下にいろいろなモノが抑圧される、という構図は、もっと小さな例ならいくらでも転がっていそう。今読んでいる本によると、科学者ってのは本来、懐疑主義者で謙虚なものだそうですよ!
PowerShot G1 の RAW ファイルを Linux 上で扱う
PowerShot G1 の RAW ファイルを Linux 上で扱う
G1 は RAW 記録モードを持っていたりするのですが、これまで RAW 現像ソフトが Windows や Mac でしか使えないから、という理由で一度も利用したことがありませんでした。でも、今では Linux 上でもそこそこ RAW 形式のファイルを扱える環境が整ってきているのですね。ここ何日か調べて見たところでは、
RAW ファイルを現像する
結構有名な「dcraw」というアプリケーションがあって、いろいろなデジカメに対応しています。RAW ファイルを 8bit PPM/16bit PSD/16bit PPM に変換出来ます。Debian sarge にはパッケージも存在します。
でも、G1 の場合カラーバランスがおかしくなってしまうよう。現在ちょっと試行錯誤中。
16bit PPM を編集する
かつて「filmgimp」と呼ばれていた gimp の拡張版、「CinePaint」が利用できます。
その他、RAW ファイルからプレビュー用 JPEG を抜き出す「crwtools」は Windows 版ですが wine でも動作しますし (ソースも付属しているので移植も容易かも)、RAW データ中の EXIF 情報を参照する「CWRInfo」もあります。とりあえずいろいろ遊べそうです。
仮面ライダー剣の最終回
仮面ライダー剣の最終回
今日はブレイドの最終回でした。思えば、ブレイドは最初からノリが悪くて、一時「オンドゥル」が流行ったりもしましたが<流行ってねー(笑、どうも盛り上がりに欠ける上にお話の出来もいまいち、という印象でした。
しかし今日の最終回は非常に良かった。そりゃ、結局ギャレンやレンゲルのキングフォームも出てこないし、映画との話のつながりもなくなっちゃいましたけど、それでも最後に剣崎の下した結論と、その後の演出はとても胸に残るものでした。
これまで、実はほとんど惰性で全話 DVD に録画してたんですが、最後にこの話がくるのならそれも無駄ではなかった、と思った。
それにしても、この話を見てしまうと映画のシナリオはほんとにシオシオだったなぁと思ってしまう。お父さんはあんまり買うつもりなかったんだけど、子供たちは欲しいって言っているんだよなぁ。
餅つき大会, 「幸福な遊戯」, 「ヤサシイワタシ」, ATOK 快適!
餅つき大会
今年も幼稚園の餅つき大会に行ってきました。相変わらず重労働であることには変わりなかったのですが、今年は途中から餅つき組ではなく餅配り組に移動したので去年よりは楽だったかも。
そういや、今年はあゆみさんと有葉も一緒に行ったのですが、僕がヘロヘロと餅をついている様をみて「加澤君が一番ヘロヘロだった」と言われてしまった…。握力、腕力が決定的に足りないのが問題だろうなぁ (途中から杵をまっすぐ持つだけでもつらかった)。普段マウスより重いものを持ってないから。少しは腕も鍛えた方がよいのかも。
「幸福な遊戯」
この間「対岸の彼女」で直木賞を取った角田光代さんのデビュー作、らしい。若い女性を主人公にした短編「幸福な遊戯」「無愁天使」「銭湯」3編からなる短編集です。
どの作品も女性性というものが強くでているような気がして、これまであんまりそういう話を読んだことがなかったのでなかなか新鮮でした。冒頭の「幸福な遊戯」の舞台設定なんかは保坂さんの「プレーンソング」なんかを彷彿とさせるようなものなのに、保坂さんの世界がのほほんと平和に日々すぎていくのに対して、角田さんの世界は前へ進もうとする人、今ある世界を守ろうとする人、いろいろな人の感情が渦巻いていてとても熱いです。それは「若さ」なのかもしれないし、モラトリアム期間の人特有の焦燥感なのかもしれません。僕もモラトリアム期間は楽しく謳歌すると言うより日々焦り辛かった記憶しかないので、角田さんの作品に出てくる人の気持ちは何となくわかるような気がしました。
「無愁天使」にあるモノに囲まれてはいるが退廃したイメージの描写は非常にリアリティがあってちょっと恐ろしかった。以前「やじうま watch」に紹介されていた「ebay にはまって家をモノで溢れかえらせた母親の家」を見た時にも感じた恐怖。
どの作品も、普段あまり描かれないような側面について書かれているため読んでいて辛い人もいるかもしれない。そういうところはちょうど同じ時期に読んだ下記の作品とも通じるモノを感じました。
「ヤサシイワタシ」
アフタヌーンに連載されていたらしい、ひぐちアサさんの本。中学時代に全国大会に出るほどのテニスの腕前だったが怪我で断念せざるを得なくなって大学では写真部に入った「芹生くん」と、奔放な性格と華麗なオトコ遍歴で名をはせた (と裏表紙に書いてある・笑)「弥栄さん」の話。
ひぐちさんの前作、「家族のそれから」でも思ったんですが、お話の流れはちょっとわかりにくいんだけど、ところどころにぽっと引っかかる言葉が出てくる。物語の中の人物たちが、話の中で完全に描かれきっているわけじゃなくて、この話の裏にはもっと深いものがあるように感じさせる、というところがこの作者の魅力かも、と思いました。
そういう意味では、お話の中では特徴的な言動のみが紹介されているにすぎない (ように思える) 弥栄先輩のキャラクターにはちょっと「やられた」感アリ。これまで他の小説、漫画ではあんまり見たことのないタイプのキャラクターだけど、自分の高校時代やその後にはまさに彼女のようなタイプの知り合いが確かにいた。僕は当時、どちらかというと「いらぬ苦労を背負い込んでる、本人の問題」と冷たく突き放す側だったけど、今は芹生くんの気持ちも少しはわかるような気がする。
連載誌が「アフタヌーン」だからか、「家族のそれから」でもこの作品でも、最後はかわいい女の子が全ての救いを引き受けてしまうという話の構造が、個人的にはちょっと気になりました。オトコとしては正直「救われる」ので楽なのですが、角田さんの作品のように最後まで本来のテーマで押し切ってしまった方がお話としては純度が上がるような気がする。
ATOK 快適!
Debian でも無事使えている ATOK、もー非常に快適。プログラムとしての動きも非常にちゃんとしてるし、さすが商用プロダクトだなぁと感心しました。もっと早くに買っておくべきだった。
ATOK 17 for Linux の Debian sarge へのインストール手順
ATOK 17 for Linux の Debian sarge へのインストール手順
今日は前に予約した ATOK for Linux の発売日。朝、宅急便で無事到着したので早速 Debian sarge マシンにインストールを試みてみました。そもそもサポートされているとは一切うたわれていない Debian のこと、ある程度の苦労は覚悟していたのですが、思いのほかあっさりインストール出来てしまいちょっと拍子抜け。以下に手順をまとめますね。
参考資料/準備など
ATOK の CD-ROM 内の、doc/ATOK/readme_for_tar.html は tar ball からインストールする手順を書いた文書なのですが、こちらが非常に参考になりました。なお、CD-ROM をマウントする手順等は省略。また全ての手順は root ユーザで行ってください。
1. rpm を deb へ変換
CD-ROM 上の bin/ATOK や bin/IIIMF にある rpm ファイルを適当な作業領域へコピーし、alien を用いて rpm を deb に変換します。
# cp /cdrom/bin/IIIMF/*.rpm .
# alien *.rpm
2. deb をインストール
出来上がった deb をインストールします。この際、iiimf-gtk22_trunk_r2059-1_i386.deb は /usr/lib/gtk-2.0/2.2.0/ ディレクトリが存在する場合にのみ、また iiimf-gtk24_trunk_r2059-1_i386.deb は /usr/lib/gtk-2.0/2.4.0/ ディレクトリが存在する場合にのみ、さらに iiimf-gtkopt24_trunk_r2059-1_i386.deb は /opt/gnome/lib/gtk-2.0/2.4.0 ディレクトリが存在する場合にのみインストールします。
# dpkg -i iiimf-client-lib_trunk_r2059-1_i386.deb \
iiimf-csconv_trunk_r2059-1_i386.deb \
iiimf-docs_trunk_r2059-1_i386.deb \
iiimf-gtk24_trunk_r2059-1_i386.deb \
iiimf-protocol-lib_trunk_r2059-1_i386.deb \
iiimf-rc_trunk_r2059-1_i386.deb \
iiimf-server_trunk_r2059-1_i386.deb \
iiimf-x_trunk_r2059-1_i386.deb \
iiimf-gtk22_trunk_r2059-1_i386.deb \ ←/usr/lib/gtk-2.0/2.2.0 がある場合のみ
iiimf-gtkopt24_trunk_r2059-1_i386.deb ←/opt/gnome/lib/gtk-2.0/2.4.0 がある場合のみ
3. gtk.immodules の更新
下記手順により /etc/gtk-2.0/gtk.immodules を更新します。
# mv gtk.immodules gtk.immodules.orig
# gtk-query-immodules-2.0 > gtk.immodules
4. rc ファイルを作成
いろいろなディストリビューションに対応するためか rpm パッケージのインストールでは起動スクリプト関連がセットアップされないようで、下記シェルスクリプトを実行します。面白いことにこのシェルスクリプトは Debian 系のシステムにも対応しているようです。
# /opt/atokx2/sbin/makerc
5. reboot or daemon 起動
システムを再起動するか、下記手順で ATOK 関連 daemon を起動します。
# /etc/init.d/IIim start
6. クライアント側の設定
5.まででとりあえずサーバ側の設定はおしまいですので、あとはクライアント側の設定をするだけです。クライアント側の設定については CD-ROM の doc/ATOK/setting.html が参考になります。
export USE_XOPENIM=yes
export QT_IM_SWITCHER=imsw-multi
export QT_IM_MODULE=xim
.. /opt/atokx2/bin/atokx2_client.sh
(XMODIFIERS や GTK_IM_MODULES は上記シェルスクリプト中で設定されています。
他の IM プログラムに関する起動設定、環境変数は削除しておいてください。)
X のリソース (.Xresources や .Xdefaults) に含まれる *inputMethod を htt に変更。
以上です。
「そして二人だけになった」, PostgreSQL 8.0 リリース!
「そして二人だけになった」
ここのところまじめな本が続いていたので、気楽に読める本が読みたくてこれを買いました。森博嗣著。ほんとは3冊目まで読んでる「S&Mシリーズ」の続きが読みたかったんだけど、会社の近所の本屋にはなぜかS&Mシリーズが全然なくて、しょうがなく一冊もののこの本にしてみました。
内容的には相変わらずな展開(笑。この人のトリックって舞台装置が大がかりすぎて、そんな舞台ならば何が起こっても不思議じゃあるめーと読者に思わせてしまうところが、ミステリーとしてはマイナスなのではないかなぁ?もちろんトリック自体は「フェア」なものであるわけなんだけど1、非日常的な舞台ゆえ非日常的なトリックをあれこれ想像してしまっている読者 (>俺・笑) からすると、毎回ちょっと肩すかしを食らわされたような気がしてしまう。
相変わらずの癖になる野暮ったさっぷりは健在。主人公は盲目の天才科学者・政治家 (もちろん♂) なんだけど、そのヴィジュアルは背中まで達するストレートのロン毛、前髪はまっすぐに切りそろえられている、のですよっ!(笑。主役の、「勅使河原潤 (てしがわらじゅん)」というネーミングセンスも「うはー(汗」って感じ。一番最初にこの名前が出てきた時は、これからこの小説の最後までこの四文字名字と付き合うのかと思うとちょっとガックシ来ましたもの。
ムーンサルト (2回宙返り1回ひねり) ばりのラストの展開は確かに思わず声を上げるというか絶句しちゃう感じだけど(笑、ひねりはいらなかったんじゃないかな、ひねりは。
PostgreSQL 8.0 リリース!
アーカイブログ、ポイント・イン・タイム・リカバリ、テーブルスペースや Windows へのネイティブ対応を果たした PostgreSQL 8.0 が晴れてリリースされました!パチパチパチ。
可用性の向上、という意味でアーカイブログ+ロールフォワードが導入されたのは嬉しいんですが、Oracle との比較で見ると Current REDO ログ (PostgreSQL の場合は WAL ログ) のミラーリングにまだ対応してないのは中途半端かなと思いました。Current WAL ログが失われてしまうと結局は「クラッシュ直前まで戻れない」という状況になってしまう。ハードウェアや OS ベースでミラーする、というソリューションももちろんあるけど、究極的にはアプリケーションでちゃんとハンドリングしないとダメなんじゃないかな…。
あとアーカイブログ設定が、「アーカイブを行うコマンドを直に書く」という非常に分かりやすい方式なのには笑った。好きなコマンド書けばアーカイブミラーも出来るしリモートアーカイブも出来るしなんでもやり放題。商用 DB じゃありえない設計だよな(笑。
そうそう、会社でちょこっと pgbench してみたところでは、7.4.6 と比べると確実に速くなってる感じ。バッファキャッシュ管理が賢くなってる、ということで「shared_buffers をデカくしても遅くならなくなった?」と期待したんですが、そっちはあいかわらずでした。8.0 でも shared_buffers を大きくしすぎるとスループットは低下するようです。
「アンダーグラウンド」, チャリンカー規制
「アンダーグラウンド」
村上春樹さんの、地下鉄サリン事件の被害者62人へのインタビューをまとめたノンフィクション。なぜ今これを読もうと思ったかというと、ある人の blog で (って最近こればっかりだな・笑)、奈良の女の子の事件など最近のおかしな事件を理解するにはこれを読んでおく必要があると思う、と書かれていたから。
力作ですね。前書きにもありますが、それまで、被害者の方々は受けた取材の結果である記事や報道に必ずしも満足しておらず、というかどちらかというと不信感を強くしていた (本当に言いたいことは書いてくれない) という現実があって、そのため可能な限りインタビューイの本意を伝える、というところに力点が置かれたインタビュー集となっています。そのために、本全体を通しての「村上春樹としての」主張はほとんど感じられず、ただ淡々と被害者の方々の「1995/3/20 に何があったのか、そしてそれが彼らにどんな影響を及ぼしたのか」がつづられています1。これが実に胸を打つのでした。
最後の村上さんのご意見は納得。前書きから引っ張った「サリン事件に対するこの仕事への個人的な理由」には少し拍子抜けでしたけど (笑。
チャリンカー規制
先日ここでも「もしや被害者?」という方の話を書きましたが、ようやっと Yahoo! が対策に乗り出す模様。しかし本当に出品者の手元に商品があるかどうかは確かめようがないわけだし、実効性があるかどうかは疑問だなぁ。利用者としてはエスクローサービスを利用出来ないような取り引きはしない、などとして自衛するしかないのかもしれませんね。
パソコン修理, HDD 換装手順
パソコン修理
1/12 に注文した、新しい HDD が到着しました。というわけでこのマシンの HDD 換装を行いますので、本日何度かここへアクセス出来ないことがあると思いますがあしからず。
HDD 換装手順
今日の HDD 換装手順を記録しておきます。
前提
ThinkPad X20 の内蔵 HDD (60Gbytes) がクラッシュの前兆を示したため、80Gbytes のものと入れ換えた。利用した周辺機器は外付け FDD、外付け HDD ケース (IEEE1394 接続)。
パーティション構成
旧ディスクのパーティション構成は下記の通り。
- /dev/hda1 (512Mbytes) … MS-DOS 領域 (Hibernation、緊急用)
- /dev/hda2 (256Mbytes) … Linux swap
- /dev/hda3 (残り全て) … Linux root
新ディスクでも上記構成を踏襲した。MS-DOS 領域は、いわゆる suspend to disk、hibernation 用領域として利用する。また Linux kernel と loadlin.exe を置いておき、ブートローダを壊してしまった時の緊急用としても使えるようにしておく (他にも fdisk.exe と format.com、phdisk.exe (hibernation 設定用ユーティリティ) なども置いておく)。
作業手順
- 旧ディスク上の MS-DOS パーティションから起動し (lilo で「DOS」を選択)、そこにある kernel と loadlin.exe できちんと起動できることを確認しておく。loadlin.exe、kernel image が古ければ新しいものをコピーする。同時に、MS-DOS 起動 FD を一枚作り、fdisk.exe、format.com をコピーしておく。
- IEEE1394 経由外付け HDD ケースを接続してみて、きちんと認識、mount 出来ることを確認しておく。
- 旧ディスク取り外し/新ディスク取り付け後、1. で作った FD を用い外付け FDD から起動する。
- 新ディスクに対して fdisk.exe を実行し、512Mbytes の基本領域を作成、起動可能とした後、format、システムファイルの転送を行う (format c: /s)。
- FD を取り除き、新ディスクから MS-DOS が起動できることを確認する。
- 再び新ディスク取り外し/旧ディスク取り付けし、新ディスクは外付け HDD ケースにセットし接続した後、single user mode で起動する。
- 外付け HDD 内の新ディスクに対して cfdisk を実行し (cfdisk /dev/sda)、上で作った MS-DOS 領域はそのままにして、その後ろに Linux swap 領域、Linux root 領域を作成する。
- それぞれの領域を初期化する (mkswap /dev/sda2、mkfs.xfs /dev/sda3)。
- 旧ディスク、新ディスクの MS-DOS 領域 (/dev/hda1、/dev/sda1) をそれぞれマウントし、旧ディスク側の内容を新ディスク側へコピーした後、umount する。
- 新ディスク側 Linux root 領域 (/dev/sda3) を /mnt に mount する (mount -t xfs /dev/sda3 /mnt)。
- 新ディスク側にマウントポイント、tmp ディレクトリを作成する (/mnt/.dev、/mnt/proc、/mnt/mnt、/mnt/sys、/mnt/tmp。所有者、permission は旧ディスク側を確認して合わせておく)。
- 旧ディスクの内容を全て新ディスク側へコピーする ((cd / && tar cf - .qt/ bin/ boot/ cdrom/ dev/ etc/ floppy/ home/ initrd/ lib/ mnt0/ opt/ root/ sbin/ usr/ var/ vmlinuz*) | (cd /mnt && tar xvfp -))。
- 電源を落とし、再び旧ディスク取り外し/新ディスク取り付けを行う。
- 起動すると MS-DOS 領域から起動するはずなので、あらかじめコピーしておいた loadlin.exe、kernel を用いて Linux を起動する。
- lilo を実行して新ディスクにブートローダをインストールする。
以上です。ファイルコピーするところがやっぱり一番時間がかかります。しかも今回、ファイルコピーを途中で中止 (設定ミスに気がついて) した上で、その続きからファイルコピーを行ったためファイルの permission が正しく設定されておらず1、それをやり直したりしていたので5時間もかかってしまいました。