2003年07月の雑感

更新日:2003-07-26
[トップページへ] [6月] [8月] [過去の雑感へ]

7月26日()

 読書されてますリンクの傾向と対策

ミステリ系読書されてますリンク」のリンク先をざっと見てみました。

という印象を受けました。 あくまで印象であり、ちゃんと統計を取ってないし(取るつもりもありません)、過去のページまで遡って調べていないので、 実際には違っているかも知れません。

私は、人の書いた書評なり感想なり本のあら筋なりを読んで、面白そうだと思ったときに、その本を手にします。 (つまらない本は読みたくないし。) その本の感想などをこのサイトで書くことになります。 そういうことから、必然的にこのサイトで取り上げられる本は、他のサイトと似たりよったりになるでしょう。 これは致し方のないことかも知れません。 以前は、ミステリマガジンや小説推理やダ・ヴィンチや新聞などの書評を読んで面白そうな本を手にしていたのですが 最近、そういうことをしなくなったので、ますますそういう傾向が強くなるんじゃないかと思われます。

ところで、ミステリ系読書されてますリンクからリンクされてる中で、 (特に海外の)ハードボイルドやスパイ小説や冒険小説を取り上げているサイトが、 あまり見当たらなかった(←これも私の印象です)のは

  1. 単なる偶然。

  2. (高橋さんが)意図的にそうした(ハードボイルドはともかく、スパイ小説や冒険小説は(狭義の)ミステリとは区別している)。

  3. (それぞれのサイトの管理者の方が)以前は、その手の作品も取り上げていたが、最近は、その手の作品を読まなくなったから。

  4. 私の気のせい。

のどれでしょうか?

ちなみに私は、最近、その手の作品を読まなくなりました。 もっとも、本格ミステリが出発点にあるので、その手の作品を数多く読んでいるとは言えません。

ただ、クライブ・カッスラーの「ダーク・ピット」シリーズはもういいやと思ったのは確かです。 『タイタニックを引き揚げろ』を読んだときは面白かったのですが、 だんだんピットの不死身さ加減が鼻についてどうしようもなくなってきたのでした。

 本日買った本

 本日買わなかった本

 『大きな枝が折れる時』(ジョナサン・ケラーマン)

最近、読んだ訳じゃないんだけど印象に残っている作品その2。

ストーリーは、あまり覚えていません。 じゃあ何が印象に残っているかというと、翻訳者です。 普段、私は、海外作品を読んでいても、誰が翻訳したのかということは気にしません。 唯一、例外だったのが、この作品です。 終盤に差しかかったところで、「うまい。これは一体誰が訳したんだろう。」と気になり、思わず表紙を確認したほどでした。 (もちろん、元の文章も良かったのでしょうが。) そこにあった名前は、北村太郎。 調べてみたら、詩人だとのことで、なるほど、訳もうまい筈だと納得したのを覚えています。

それ以来、ミステリで「北村太郎訳」とあると、ああ、あの北村太郎かと注目するようになりました。 (詩人北村太郎には全く関心がありませんでした。) ロバート・リテルの作品『スリーパーにシグナルを送れ』とか『チャーリー・ヘラーの復讐』とか。 (←ほら。海外のスパイ小説だって読んでるんですよ。←本格ミステリが出発点にあるというのがバレバレです。)

北村太郎氏は数年前に他界されました。今となっては、北村太郎訳の新作を読めないのが残念です。


7月25日(金)

 復活

体調を崩してました。

 違和感

どうも違和感がありました。 「ミステリ系読書されてますリンク」のことです。

内容や主旨は、いいんです。 違和感があるのは、タイトルです。 この違和感の元が何なのか自分なりに探ってみました。 結局、主語の違いなのだと気づきました。 私は、「ミステリ系更新されてますリンク」の「更新されてます」の主語は、「ウェブページ」だと思ってました。 つまり、「ミステリ系ウェブページが更新されてます」という風に解釈していたのですね。

一方、「ミステリ系読書されてますリンク」の「読書されてます」の主語は、「ウェブページ」ではありません。 「ミステリ系ウェブページが読書されてます」では、文として破綻してしまいますから。

ここで、ふと気づきました。「読書されてます」の主語は、人なのかも知れないと思いました。 つまり、そのページの著者(管理者)が「読書されてます」なのです。 つまり、「されて」は受身ではなく尊敬の意味なのです。 そういう意味に取れば、「更新されてます」も尊敬の意味だったのかと半ば無理矢理に納得したのでした。

個人的には、「ミステリ系読まれてますリンク」の方がしっくりくるかなあと思いました。 この場合、主語は「本」です。 つまり、「ミステリ系の本が読まれてます」ですね。

いや、まあ、どうでも良い変なところに反応してしまいました。

 『巻説百物語』(京極夏彦)

読了。

妖怪話を一つの軸にした貫井徳郎の「症候群」シリーズの江戸時代版エンターテイメント小説という感じでしょうか。 (←ほとんど意味不明。) 主役の面々は、都築道夫の「なめくじ長屋」シリーズの主役を彷彿とさせてくれます。 実にいい味を出してます。

ミステリという観点から言えば、ハウダニット物の変形版になっています。 犯人はいかにして事件を起こしたかという点に主題を置くのがハウダニット物の典型なのですが、 主役の面々が事件をいかにして解決したか、その真相やいかに? という点に主題を置いたハウダニット物です。 その事件の解決に重要な役割を果たすのが、妖怪話という訳です。

抜群のリーダビリティでぐいぐいと引き込まれてしまいました。


7月20日()

 『平成トム・ソーヤー』(原田宗典)

読了。

『ネバーランド』と比べると時代を感じさせるような描写が目立ちます。 ちさと婆さんが死んじゃったあたりから、展開が急ぎ足になります。 もう少しじっくり書いて欲しかったです。


7月19日()

 本日買った本


7月18日(金)

 『闇色のソプラノ』(北森鴻)

読了。

因果関係があまりにあざと過ぎるようで、どうにもそれが気になって、すっきりしませんでした。 謎が斜めから歪んだ形で提示されます。その微妙な居心地の悪さが、かえって面白かったです。 蓮丈那智シリーズの民俗学ミステリの原形がここにあります。

 『ネバーランド』(恩田陸)

読了。

『木曜組曲』の少年版。 内容は全く違うし、ミステリ的要素は『木曜組曲』より薄いです。 でも、それぞれの章によって主役が入れ替わって告白していくという構成は似ています。 「一つだけ嘘を交える」というアイディアが膨らんでいくいかにもミステリー的な展開を期待したのですが、 そちらの方向には進みませんでした。 帯には青春ミステリとありますが、どちらかというと、ミステリ風味の青春小説といった方が正確です。


7月17日(木)

 Thinking in Java

Perl is backwards-compatible with Awk, Sed, Grep, and other Unix tools
it was meant to replace, and as a result is often accused of producing
"write-only code" (that is, after a few months you can't read it)

という一節に苦笑してしまいました。

常日頃、「(Perlで)書いてもいいけどメンテナンスは(それが自分で書いたコードだとしても)嫌だ。」と言っている 自分には、"write-only code"というのは旨い表現だと思えました。

まあ、必ずしも、"write-only code" は、Perlに限った話では無いのですが。


7月16日(水)

 何事も少しずつ

プログラムをちょこっと修正したら、いきなり終了しないで動きっぱなし。 CPUは100%の使用率になってしまいました。

結局、テストプログラムの方が間違っていて無限ループになってしまってました。 テストプログラムを修正してから、手抜きをしていきなり本来のプログラムも修正してしまったので 何が悪いのか特定するのにちょっと時間がかかってしまいました。 テストプログラムもちょっと修正しては、実行して確認するというステップを繰り返し、当初の目的を達成しました。

欲張ってはろくなことになりません。


7月15日(火)

 Java ダウンロード2

昨日のコードだと、Internet Explorer 5.0、6.0はダウンロードのダイアログが出ます。 残念ながら、5.5ではそのまま直接内容が表示されてしまいます。

ということで、

response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "filename=downloadfile");

としてみました。 attachmentをあえて外したのは、ついていると5.0と5.5でダウンロードするか表示するかを確認する画面で ファイル名が表示されなかったからです。 attachmentをつけるのが正しいと思うのですが、世の中思うようにはいきません。 (それとも何か勘違いしてる?)


7月14日(月)

 Java ダウンロード

クライアントへ送信するコンテンツ形式と応当ヘッダが同じでも、 Internet Explorerのヴァージョンの違いによって、微妙に動きが違います。 今回は、必ず、ダウンロードのダイアログを必ず表示させたいので、 とりあえず、こんな感じにしてみました。

response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=downloadfile");

他にも、application/x-download とか application/octet-stream-dummy とかいろいろ回避策はあるみたいですが、 結局、これぞ決定版というものが見つけられませんでした。 あとは、色々なヴァージョンのIEでテストして地道に確認していくしかないのかな。


7月13日()

 『女刑事の死』(ロス・トーマス)

最近、読んだ訳じゃないんだけど印象に残っている作品その1。

ロス・トーマスと言えば、『冷戦交換ゲーム』に始まって、『八番目の小人』、『モルディダ・マン』、 『五百万ドルの迷宮』、『黄昏にマックの店で』などなど、面白い作品があります。

これらの作品に比べると『女刑事の死』は地味です。そんなに面白くも無いのです。 読んでいる途中は、どうしてもストーリーにのめり込むことができません。

ですが、最後の最後まで読み終えて、なるほど、作者はこれがやりたかったのか、してやられたと感じてしまいました。 「どうだ、参ったか」という作者の悪戯っぽい笑顔が浮かんでくるほどです。

カタルシスは味わえません。 他の作品ほど面白くもありません。 プロットも錯綜していなくて、ロス・トーマスの作品としては単純なストーリー展開です。 他の作品と比べるとどうしても地味に感じてしまいます。 ですが、それすらも、すべて作者の計算なのです。すべては、ラストへの布石となっています。

他の作品に比べると地味ですが、他のどの作品よりも読後に深い印象を残す作品なのです。


7月12日()

 『盤上の敵』(北村薫)

読了。

痛い話です。 でも、その痛さは北村薫だからこそ前書きを書かなければならなかったぐらいのものです。 他の作者だったら別に前書きは不要でしょう。 従来の北村薫の作品に比べればかなり痛い話ですが、だからと言って敬遠するのは勿体ない作品です。

猟銃を持った殺人犯が主人公の家に立て籠もります。 主人公の妻は人質にされてしまいます。 果たして妻を無事に救出することができるのか?

という話なのですが、意外なことに、手に汗握るサスペンスフルな展開にはなりません。 割と淡々と話が進んでいきます。

その分、無駄な部分が削ぎ落とされ、一気に終盤へと進み、 すべてが明らかとなる最後の仕掛けがより極立ってきます。 大技が鮮やかに決まっています。


7月11日(金)

 File#renameTo (Java)

ファイルを移動するときにも使えますが、変更前と変更後でファイルシステムが異なる場合には失敗するらしいです。 言われてみれば、File#renameTo が OS依存の rename などを呼び出しているとすれば十分納得できる話です。 (過去にUNIX系OSで似たような経験がありました。) これを知らないでハマりました。


7月8日(火)

 Vector#add と String#replaceAl (Java)

JDK のヴァージョンによっては動作しませんでした。

Vector#add の代わりに、Vector#addElement で使うことで回避しました。

String#replaceAll の方は、String#replace で逃げました。

Vector#add は 1.2から、String#replaceAll は 1.4から使えるようです。

ところで、1.4では、正規表現が使えるのですね。今回、初めて知りました。


7月7日(月)

 Eclipse と skkime と XKeymacs

微妙にキーバインドがぶつかるみたいで、時々おかしくなります。 いろいろ試してみてはいるのですが、なかなかよい折衷案が浮かびません。

 Win32OLE(Ruby)

このエラーの件は、mswin32 版 Rubyで発生するみたいです。 最近、Cygwinしか使ってなくて、気付くのが遅れました(Cygwinだとちゃんと動くのです)。 スクリプトの実行が終了した後で、エラーが起こっているように見えるのですが、原因がさっぱりわかりません。

エラーが起こる最小のスクリプトは、こんなのです。

require 'win32ole'
cls = WIN32OLE.connect("winmgmts:\\\\.\\root\\cimv2")
objs = cls.InstancesOf("win32_process")

今日は力尽きたので、調査の続きは、明日以降にします。


7月6日()

 ProFTPD 1.2 (Vine Linux)

JavaのFTPクライアントのコードをテストするためにFTPデーモンProFTPDをインストールしました。

ProFTPDのソースをProFTPDの公式サイトからダウンロードしました。 今回は、1.2.9rc1を使いました。

インストールはいたって簡単。 (常時起動するつもりは無いので configure のオプションのことは深く考えてません。)

tar jxvf proftpd-1.2.9rc1.tar.bz2
cd proftpd-1.2.9rc1
./configure
make
make install

一応INSTALLに書いてある手順に従ってテストをしておきます。 まず、FTPデーモンを以下の手順で起動します。

sh sample-configurations/PFTEST.install
./proftpd -n -d 5 -c /tmp/PFTEST/PFTEST.conf

別のコンソールから、

ftp -n -d
ftp> open localhost 2021
ftp> user proftpd

とログインして、ftpのコマンドが実行できればOKです。

実際にインストールされる proftpd.conf では、デーモンを実行するユーザーが、

User     nobody
Group    nogroup

となっています。 Vine Linux では、nobodyはnobody グループのユーザーなので

User     nobody
Group    nobody

としておきます。

VMware上のWindows 2000 からも接続できることを確認しました。 ついでに、JavaのFTPクライアントのソースコードも簡単にテストしました。 (そのついでに、JDK 1.4.2 と Eclipse 2.1.1もインストールしました。 そのまたついでに、Windows 2000 Service Pack 4 もインストールしました。) とりあえず、TYPE I、TYPE A、RETR、STORなどが動作することを確認できました。

Windows 2000 上のIISを使って、Windows 2000 でFTPクライアントのコードを実行しても TYPE I と TYPE Aに違いが無かったので、今回、確認ができて良かったです。

 USB memory と Windows 2000 on VMware

VMware 上の Windows 2000 を起動した状態で、USB memory を挿したら自動認識しました。 ちょっとびっくりしてしまいましたです。


7月5日()

 トリック劇場版(超完全版)

TV版のような謎解きを期待していたのですが、犯人の自白でいきなり真相が明かされるというのはちょっと。 笑いのツボにも、はまることができませんでした。


7月4日(金)

 SDIC (Cygwin)

RFCを読んだりしていると、やっぱり辞書が欲しいと思いました。 そこで、新PCにインストール。

先にnkfをインストールしないと駄目だったというかすかな記憶があったので、 nkf を先にインストールしました。

nkfは、UTF-8対応したものを、 UTF-8 対応 nkf (nkf_utf8)のページ からダウンロードします。

tar zxvf nkf202-2003.05.04.tar.gz
cd nkf202
make CC=gcc
make test
install -m 755 nkf.exe /usr/local/bin
install -m 644 nkf.1 /usr/local/man/man1

CC=cc だとコンパイルエラーになってしまいます。gccで試してみたらOKでした。 make install だとインストールできないので、install でインストールしました。

次は、SDIC です。

SDICは、English Japanese Dictionary for mule/emacs からダウンロード。GENE95辞書とEDICT辞書も一緒にダウンロードします。

tar zxvf sdic-2.1.3.tar.gz
cd sdic-2.1.3
cp ../gene95.tar.bz2 .
cp ../edict.bz2 .
./configure
make install
make install-info
make dict
make install-dict

あとは、.emacs.el に

(autoload 'sdic-describe-word "sdic" "英単語の意味を調べる" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "カーソルの位置の英単語の意味を調べる" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)

と追加しておしまい。


7月3日(木)

 Eclipse と skkime (Windows 2000)

なんとなく相性が悪いような気がします。 キーの設定をEmacsにしてあるんですが、Ctrl + w が効きません。 最初は、XKeymacsを疑ったのですが、XKeymacsを終了しても挙動が変化しませんでした。

 Win32OLE(Ruby)

スクリプトでエラーが出るとの報告がありましたが、私の環境で再現できず。 とりあえず、Ruby 1.8.0 preview3を試してみてくださいとお願いしておきました。


7月2日(水)

 そしてIIS

JavaでXMLを扱う仕事をやることになりそうだったので、4,5日前から、暇を見つけては、 少しずつGoogleでJavaとXMLについて調べ始めていました。 JAXPなるものがあることも知りました。 昨日、急にその話が立ち消え(または、延期)になりそうな雰囲気に...。

ということで、急遽、今日から、Javaで(人が書きかけの)FTP クライアントのコードを 完成させる作業をすることになりました。

とりあえず、FTPサーバーをローカルで立ち上げるべくIISをインストールしました。 (今回、FTPサーバーがUNIXとは限らないのです。)

ところで、IISのFTPサーバーは、ファイルのリストを返すのにDOSモードか、UNIXモードか選択できるのですね。 これが、いいことなのか悪いことなのか良くわかりません。 (FTPクライアント側のコードでLISTの結果を解析しなくてはならない場合には、面倒になるだけなので嬉しくないです。)

その前に、まずは、RFCを読まなくては。


7月1日(火)

 cut

2列目と1列目を逆にして取り出せると思い込んでました。

$ cut -d, -f 2,1
foo,bar,baz # <= 入力
foo,bar     # <= 結果

もっと簡単な方法があるに違いないと思いながらも、他に方法を思いつかなかったし、時間も無かったので、 安直にawkに逃げてしまいました。

$ awk -F, 'BEGIN{OFS=","}{print $2,$1}'
foo,bar,baz # <= 入力
bar,foo     # <= 結果

[トップページへ] [6月] [8月] [過去の雑感へ]