canvas 要素での図形描画は手続き(アルゴリズム)の組み合わせなのか

いや、やっていることはドロー系図形描画ソフト(GIMP など)と同じだが、ペンツールやブラシツールといった視覚的な要素ではなく命令の羅列……すなわちアルゴリズムによって描画を行う。単なる画像ファイルと異なるのはそこだ。私が知る限り、画像としての情報を記録したファイルを視覚情報に変換する際、どのように描かれたかまで忠実に再現するものはない[1]。だが canvas 要素によって提供される空間に描画を行う場合は、必ずアルゴリズムそのものを実行しなければならない。なぜなら、描画に必要な情報は命令の集合であり、それらを統合するアルゴリズムだからだ。

確かに図形として認識される情報はファイルに収められている。だが、それはあくまでも JavaScript ソースファイルの中へ断片的に埋め込まれた命令の集合によって表現される。そもそも独立した「画像」ファイルとして存在してすらいないのだ[2]

アルゴリズムとデータ構造の分離を考えるなら、canvas 要素は問題を孕んでいるのかもしれない。少し見方を変えればデータと手続き(アルゴリズム)が同一視されている状態と認識できるといわれるかもしれないが(Lisp のような感覚)、それにしてもデータ構造とアルゴリズムは分離するに越したことはない。両者が混在していると純粋にややこしくなりがちになる。図形が複雑になればなるほどその傾向は強まる。

うーむ……今日のところはこれ以上うまくまとめあげることができない。もしかしたらこの指摘自体が単なる的外れである可能性だってある。だが現段階ではこうだとしかいえない。……睡眠とって、メシ喰って、もう少し考えてみようかしらん。

今日の読書:『ライズ民間警察機構』(フィリップ・K・ディック 創元 SF 文庫)

つーことで今日もディック。プロットの無茶苦茶加減はかなりの上位ランクに入る代物。後に見つかったディックの直筆原稿を付録として収録し、(本文はスラディック補筆のままだが)パーフェクトの一歩手前にまで近づけた版なのは確かだ。

読み始めるとぐいぐいと引き込まれてあっという間に時間が過ぎ去ってしまう魔力を秘めている点では素晴らしい。その点、『ザップ・ガン』は本当にひどかった。

そういえば『S-F マガジン 2007年10月号』(早川書房)の『大森望の SF 観光局』で大森氏が私のような若輩ディッキストにとってはびっくりとしか言いようのない話をされていた(強調筆者)。

(前略)マイナー SF カルチャー誌〈月間バルーン〉。創明社から〈SF ビッグ〉のあとを受けて七九年に創刊され、九月号から十二月号まで四号だけ出て休刊した(四号はみのり書房刊)。(中略)というのも、フィリップ・K・ディックの長編、Vulcan's Hammer の翻訳が連載されていたからである。この「バルカンの鎚」の訳者、都筑明こそ、何を隠そう、若き滝本誠その人(この筆名は、「続くめえ」の洒落だったらしい)。それから三十年近く経った現在も、Vulcan's Hammer は未刊のままなので(たぶん私の責任ですすみません)この都筑明訳が(未完ながら)唯一の貴重な邦訳ということになる。

『大森望の SF 観光局 第十回 ワールドコンまで半マイル』(『S-F マガジン 2007年10月号』所収 早川書房)

……何ですと! これは早速古書店で漁りを開始しなければ! しかし恐らくはかなりのマイナー雑誌。見つけるまでにまずひと苦労となるはず。そして値段もかなりするはず。うわ。何だそりゃ。素直に原著を自分で読めってか。畜生……。

脚註

  1. 私が知る限りでは、という意味。この広い世の中だ。もしかしたら存在するかもしれない。
  2. 勿論、外部ファイルに記録された図形情報を読み込ませる手段も考えることはできる。しかし結局その外部ファイルに記録された図形情報も、素直に実装すればその情報がアルゴリズムとデータ構造を併せ持つ状態になりうるだろう。データ構造だけ持たせようとするなら、ぶっちゃけた話例えば SVG ファイルのコンバータとして JavaScript プログラムを実装することと同じになる。コンバータは結局アルゴリズムを吐く。

2007-08-28

canvas 要素いぢり

現在絶賛いぢり中。純粋にガジェットとして考えた場合、この要素はとても面白い。あとで役に立つかどうかという思惑(標準化云々も含め)を全部無視しているので、かの悪名高い layer と同じ運命を辿る可能性もないとはいいきれないが、まあその時はその時だ。Mozilla Firefox の拡張機能の中にも canvas を利用したものが存在しているわけで、そういう方面での応用も将来的には効きそう。

とりあえずはまともに図形を描写できるようになるまでには持っていこう……。話はそれからだ。

今日の読書:『暗闇のスキャナー』(フィリップ・K・ディック 創元 SF 文庫)

創元版(つまり訳者は山形浩生氏)をコミケ暇潰し用に持っていき、ページが余ったのでちまちまと先を読んでいた。もう5回以上読み返している。読む度に涙腺が緩んでしょうがない。もうトシなのだろうか。だってさ、ずるいんだよ。

ブルースには、光をさえぎるドナルドの手のひらしか見えなかった。それを千年も見つめた。手はじっとしている。固定されている。ブルースのために固定され続ける。時の外におかれた死んだ目のために永遠に固定される。そらすことのできない目と、どこうとしない手。目が見つめると時間が消え失せ、宇宙は彼とともにゼリーと化し、少なくとも彼にとっては、彼と彼の理解力といっしょに凍りつき、やがてそれが完全に停止する。知らないことは何もなかった[1]。もう何も起きることはなかった。

『暗闇のスキャナー』P393

しかし最後、このくだりは予想外の展開により打ち砕かれる。その名は、希望。

身をかがめて、ブルースは寸づまりの青い植物をむしり、それを右の靴に隠し、見えないようにした。友だちへのプレゼント。そう思って、誰にも見えない心の底で、感謝祭を待ちわびた。

『暗闇のスキャナー』P394

ブルース(=アークター)は救われなかった。しかし、彼によって救いの手は差し伸べられる結果になるかもしれない。そう予感させて物語は終結する。実にあざといが、そのあざとささえ効果的なのだ。痛めつけられ、罵られ、棄てられたブルース。その中でも彼は、本能的ともいえる救済への道を、それも救済される側ではなく救済する側にまわることで、自らの存在を立証する大仕事を成し遂げようとしている。問題は、成功したか否かではない。ブルースがそう在った、そう在ろうとしたこと自体にある。この白痴と化したブルースの姿は、『フロリクス8からきた友人』のエイモス・イルドを想起させる。

小説を読んだ後は、是非映画も観るべきだろう。あまりにも時間が足りないために少々不足気味の代物になってはいるものの、その出来栄えはバツグンだ。エンディングロールで涙しない読者は、まずいないだろう。

脚註

  1. 元テキストが間違っていたために刊行版では「知っていることは何もなかった」になってしまっていた部分。ここでは訳者サイトに従い訂正を施している。

2007-08-21

コミケの夏、日本の夏 Vol.2

3日目も行ってきた。午前中は曇りだったので直射日光の地獄からそこそこ開放されており、あまり汗をかかずにすんだ。去年よりも人数が凄いことになっていたような気がするし、どうも島中へ流された中堅や大手による大行列が大量発生したらしく、通路が例年になく大混雑。人の波に揉まれて戦利品がえらいことになるところだったが、それはそれ。きちんと100均で買った雑誌ホルダをショルダーバックに入れて硬化させ、つぶれにくくしてあるのだ。

今回一番の出物は、何といっても故米澤嘉博追悼本『米澤嘉博に花束を』だろう。カタログをめくっていて偶然見つけた代物だが、当然ながら同人誌。一般書店に流通するはずもなく、委託ショップに置かれる可能性も低い。これは買いだろ! と購入した次第。値は少々張って1500円。ただ執筆陣が豪華すぎるため値の割にはお買い得なものになっている。215ページもあるし。まだ全部読んでないので、じっくりいただきます。……惜しい人を亡くしてしまったものだ。

コミケが終わり、夏の終わりが始まった。これからやるべきことが山積みだ。ひとつひとつ、片付けていきたいと思う。

今日の読書:『JavaScript 第5版』(David Flanagan オライリー・ジャパン)

ついに来た! ということで早速読んでみる。但し、分量が膨大なのでとりあえず8章「関数」と9章「クラスとコンストラクタとプロトタイプ」のみ。

JavaScript クラスのサブクラス化として、9.5章で取り上げている内容は知らない人には要チェックなものだろう。私が継承用に使っている inherit メソッドプロパティと同じことをしていた。流石に完全なる実装依存の __proto__ プロパティの話はなかったが。Rhino の constructor プロパティにまつわるバグ話も脚注にあって、やはり有名なんだなあれはと再認識。

また、9.3.7 では「プライベートメンバ」としてクロージャを用いた値の変更が不可能な不変値(C++ 風にいうならプライベート変数)を実装する手段を述べていた。要はアクセサメソッドを定義してそいつをクロージャにしてしまえと。どこかで見たことがあると思ったら、Internal Properties Emulation で最初に述べられてる発想とほぼ同じだった。欠点としては、そのアクセサメソッドは各オブジェクトのインスタンスに保存される必要があるので、prototype プロパティには接続させられない点を挙げられる。つまるところ、大量に new するオブジェクトだとメモリ空間がもったいないと(これも前述の記事に書いてあるな)。……単純な関数なのでさほどの問題は起こらないだろうが。やはり1000レベルの生成が必要になるオブジェクトだと酷いことになるのかしらん。

まだ読みきってはいないが、JavaScript を触ることがある人間にとってはまさに必携の書となるだろう。情報工学の素養がある人間にはとても読みやすいが、冗長な説明が気になるといえる。しかし初学者向けの本ではない。その意味では説明が不足している。つまり、ある程度中間的な層を狙って書かれている本だ。メモリリークのややこしい話題(IE の ActiveX がらみ)は別記事を見てくれという辺り、その傾向が窺い知れる。だがどんな JavaScript 愛好家にとっても「こういうのを待っていたんだ!」と叫べる書物である事に間違いはない。うふふ。じっくり読んであげましょう。

2007-08-20

コミケの夏、日本の夏 Vol.1

ということで準備と1日目に有明まで行ってきた。準備は友人が「行こうぜ」っていうものだから一緒についてった感じ。外は滅茶苦茶暑かったが、ほとんど屋内で折畳み机 & パイプ椅子の運搬をしていただけなので水分を適度に補給するだけであまり体力は奪われなかった。さほどの重労働でもないし。途中、東4ホール用の机を積んだトラックが高速道路でエンスト立ち往生したらしく、レッカー車で急遽牽引。会場までどうにか引っ張ってきた。そのため東4の作業は一時中断。ついにトラックがやってきたときは皆拍手喝采で出迎えた。その時ばかりはレッカー車の運転手がヒーロー扱い。きっとびっくりしていたことだろう。そしてそんなレッカー車を記録に残そうと写真をバシバシ撮る奴らが続出。ほほえましい光景だった。ちなみに作業そのものは他のホールからの応援(野次馬)が到着していたらしく、かなりの大人数で一気に人海戦術。ものの15~30分ぐらいで片がついた。ちなみにあとで西ホール屋上のじゃんけん大会に出たが、あと一勝というところで封筒を逃した。悔しい。

1日目は単独で。始発に乗り込んだ。会場前は既に炎天下。人の数も凄まじい。既に深夜組(いけないんだが……)の列固定は終っている時間なので、大きな混乱もなく列につけた(東側)。そのあとはお決まりの待機と移動。途中、9時50分なのになぜか拍手が鳴って皆驚いていたが、どうやら早まった奴の仕業らしい。ちゃんと10時丁度に会場から鳴り響く拍手にあわせて、まだ入場待機列で照りつける日差しに汗だく状態のまま拍手した。それにしても暑いの何の。その日だけで水2リットルとスポーツドリンク0.5リットルを消費。全部汗となって消えた。私はどちらかといえば水のような汗を大量に流す、臭いが出にくいラッキーな体質(べとつかないし)な半面、そのせいですぐ上着がぐっしょりしてしまう。熱は奪ってくれるけど、脱水症状にならないようにするので必死。

1日目の狙いは何といっても技術系の同人。ActiveWorks の正規表現本、松浦リッチ研究所の仮想マシン Tips、nomina project のタブブラウザ本(つーか Gecko いぢり本)などを入手。商業じゃ手に入らないような代物(ピンポイントに濃い代物など)がゴロゴロしているのがもう素晴らしいの何の。その他、1日目にまわされた大手に並んでみたり、友人の頼みで企業エリアに行ったもののひとつは売り切れひとつは列がいつまでたっても進まずで完全敗北。最後はぶらりと技術系を中心に会場を巡ってみて3時頃家路に。駅が無茶苦茶に混雑していたが Suica 持ちなので切符は要らないうえに専用改札が使えるのであっさりクリア。ちなみに切符組は行きがけに買っていくのが常識。だって空いてるし。推奨もされてるし。

明日は3日目。また参戦。今度は友人と行ってくる。どうやら曇りのうえに雨が降る可能性もあるということで、今度は防水対策をしていこう。荷物が増えるのは嫌だが、いたしかたあるまい。

今日の読書:『輝くもの天より堕ち』(ジェイムズ・ティプトリー・ジュニア ハヤカワ文庫 SF)

神々よ! ……この物語で涙腺を刺激されない奴は云々。あまりにも先が気になるにも関わらず怖くて読めないというジレンマのために1週間以上を費やしてようやく完読したのだが。あのくだりでは本気で涙が止まらなかった。あまりにもひどい。何百というページによって紡がれた美への感情移入は、あえて描写がカットされた陰惨さとともに読者へ襲い掛かる。結末は確かにハッピーになる人もいるのだが、そうでない者も相当数いるのが何ともティプトリーらしいというか。もうアレだ。この本は読むべきだ。今すぐに。誰もが。今まで翻訳されなかったのは罪深いとしかいいようがないぐらいだ。

2007-08-18

しまったサイ本予約し忘れてた!

サイ本とは、『JavaScript 第5版』(David Flanagan オライリー・ジャパン)のこと。マジ不覚。今注文すると Amazon でも5日はかかるか……。仕方ない。それでもいいか。本当は今すぐにでも欲しいが、神保町あたりにまで行かないとオライリーの本を売っている書店がないという罠。ひどい。ひどすぎる。

今日の読書:『自殺されちゃった僕』(吉永嘉明 飛鳥新社)

まず飛び込んでくるのはねこぢるのイラストが描かれた帯である。にゃーことにゃっ太の空虚な眼差しは、見つめられる読者の背筋を凍らせる。

この本はねこぢると交友関係のあった著者による、自殺してしまった者への回想録鎮魂歌である。サブカル(というよりはアングラ)界では超のつく有名人である青山正明や著者自身、そしてねこぢる、著者の妻に関しての記述。それらが淡々と、時に感情をむき出しにしながら、しかし壊れることなく続けられている。ドラッグ(法的に問題がありまくる類)の話がぽんぽんと「あたりまえ」のものとして飛び出す辺り、著者自身がかなり深みまで嵌ってしまっていた事実をありありと想像させる。それに気づくとき、私の背筋は嫌でも逆立った。

この本は、ある程度ではあるが『暗闇のスキャナー』と似ている。フィリップ・K・ディックもまた、ドラッグにより自身の健康のみならず友人までもを失った。その怒りをぶつけた作品は、しかしその筆致そのものは穏やかである。過剰な感情移入導入も、巧妙に隠蔽されている上にしたたかだ。『自殺されちゃった僕』もまた、似たような特質を持っている。ただし似ているだけであって、根源は違う。そこが傑作と佳作の違いである。

『自殺』は、自殺並びにドラッグ摂取を諦めさせるためにはあまりにも無力というしかないのが本当のところである。何故なら、そこには絶対的絶望が非常に見えにくいからだ。著者にとっての悲しみは妻の死、友人の死という「死」そのものに即している。だが、死そのものを求めることもある自殺志願者にとって、死を前面に押し出した生への渇望は毒になりかねない。悪循環が発生するかもしれない。

ドラッグに対する希薄としかいいようのない認識(表現)もまた問題である。諸悪の根源をドラッグを生み出す人間そのものにまで追い求めたディックと違い、吉永はドラッグそのものに原因を追い求めることすらしていない。言及もドラッグに対する怒りがほとんど感じられない。抗精神薬における致命的な副作用をぼかしている。その上で「死」にのみスポットライトを当ててしまっている。これはいただけない。原因ではなく結果そのものを重視しすぎている。その自殺に至る過程は言及こそすれ、決定的にこれはマズいという批判を行っていない。

だが、わざわざ批判を行うために、死人にムチうつような真似をする必要などないのだ。その事実はディックが教えてくれる。無論、その根拠には絶対悪としての人間(アンドロイド)が存在しているわけだし、結構安易であるといってしまえばそれまでだが、少なくとも本質にはより近づいている。吉永にとって大切なのは「大切な人が自殺してしまった」ことであり、その原因そのものではない。これではただの憐憫録になってしまう。よってこの『自殺されちゃった僕』は、決して批評的な読み物としては使えないのである。

だが、データバンクとしてはとても有用だ。ねこぢるや青山といった人物の人物像を構築するために必要な情報はかなり高密度でつまっている。主観的な面はさておいても、彼らの一面を知るうえではとても参考になる書籍であろう。また、本質を知ってしまった場合はそのようにしか読まれえないであろう。

2007-08-15

特に何も……

こんな日もあるさ。

今日の読書:『本の雑誌 2007年9月 ほおずき夜なべ号』(本の雑誌社)

まあいつもの通りの内容。特集は「エンタメ・ノンフの秋!」。エンタメ・ノンフとは「エンターテインメント・ノンフィクション」の略称である。まあ読んだ限りでは「おもしろく読めるノンフィクション」程度の扱い。しかしそういう代物はマジメでお固いノンフィクションと比較され冷遇される運命にある。そんなエンタメ・ノンフを救うべく書店の棚種類に新たなジャンルを加えようではないかという話。何というか、もう勝手にやってくれ、という感じ。本屋の内部事情はぶっちゃけた話消費者にとってはどうでもよいことなのである。勿論利用する際に利便性が上がるなら実によい話なのだが、はっきり言ってあまり得になりそうなネタがない。そんなもんだろうよ。

2007-08-12

Element.addMethods(...) の使い方 - Prototype JavaScript フレームワーク

Prototype JavaScript フレームワーク環境下における Element.addMethods(...) は、名前の通り Element オブジェクトへ任意のメソッドを追加するために用いられる。公式ドキュメントによれば、次のような方法で利用する。

Element.addMethods([methods])

Object オブジェクトとして methods を与えることにより追加を行う方法。次のように用いる。

// 無名オブジェクトを用いる方法
Element.addMethods({
    // element 変数には $(...) で参照するノードが入る
    testProperty1 : function(element, foo) {
        // 念のため一度ラッピングするようだ
        element = $(element);
        // 処理を書く
        alert("First OK: "+foo);
    }
});

// 一旦変数へ代入してからでも OK
var obj = {
    testProperty2 : function(element, foo) {
        element = $(element);
        // 処理を書く
        alert("Second OK: "+foo);
    }
};
Element.addMethods(obj); // 最初入れ忘れてた……orz

// "First OK: 1" を alert する
$("foo").testProperty1("1");

// "Second OK: 2" を alert する
$("foo").testProperty2("2");

コード断片中にも書いたが、メソッドを定義する場合に用いる無名関数の第1引数(element)には前例でいうところの $("foo") 返り値が入る。ただし本家の例コードにもあるように一旦 $() をくぐらせて Element オブジェクトとしてラッピングしなおした方がよいらしい。

実は [methods] と書いたように引数を省略することも可能なのだが、理由は後で説明する。

Element.addMethods(tagNames, methods)

特定の要素名を持つオブジェクトのみにメソッド追加を行うこともできる。その際は、第1引数に追加対象の要素名を記述する。単一要素名を記入するなら "div" のように文字列を与えればよい。

また複数の要素名を指定することもできる。複数要素名を記入するなら Array オブジェクトを ["div", "span"] のように与えればよい。次に例を示す。

// 単一要素名の場合
Element.addMethods("div", {
    testProperty1 : function(element, foo) {
        // 処理を書く
    }
});

// 複数要素名の場合
Element.addMethods(["div", "span"], {
    testProperty2 : function(element, foo) {
        // 処理を書く
    }
});

以上のように便利なメソッドであるが、それゆえの注意点もある。本家マニュアルによると、このメソッドを利用する際にはネイティブないし Prototype で既に定義しているメソッドやプロパティをオーバーライドしてしまわないようにプロテクトする機能が実装されているという。しかしその際、Prototype は他のフレームワークが定義したメソッドやプロパティについては一切チェックしないらしい。複数のフレームワークを使っていたりする人は要注意というわけである。

最後に、汚いとされる Element.extends(...) の話をかいつまんで述べておく。それは、引数なしで Element.extends() を呼び出す方法だ。前段階として Element.Methods にメソッドとして利用するプロパティを追加しておく。この方法のいやらしいところは、Prototype の内部利用プロパティを使っているという点にある。本来内部で利用されるために確保されたプロパティをいじっているため、それだけで事故や思わぬ誤動作が紛れ込む危険性がある。私はあまり使いたくないが、しかし時にはこの利用法が功を奏する場合もあると公式ドキュメントは説いている。詳細は公式ドキュメントで。読む気力があって意味を理解できるぐらいでないと利用する意味はないだろう。

さて、何でまたこんなメソッドの存在を知ったかといえば、お手軽に Element オブジェクトへメソッドを追加する方法はないかなーと考えていたから。具体的には Element.addNextSibling(node) という Element とその nextSibling ノードの間に node を追加するメソッドを組み込みたかったから。いや、確かに element.parentNode.insertBefore(node, element.nextSibling) とか書けば一発なんだけれど、addNextSibling の方が短くて済むじゃない。タイプ数が。そんなこんなで色々試した(1時間半くらい)がうまくいかず、prototype.js ソースコードを眺めていたら、何やらお宝の匂いがする addMethods なるメソッドを発見。公式サイトを検索したらドキュメントもあって、しかも求めていたものドンピシャリときた。コレを使わない理由はない。早速実装したという次第。ついでに Element.addPreviousSibling(node) も。

いやはや、楽をしようとするといいことがあるもんだ。

今日の読書:『欺術 史上最強のハッカーが明かす禁断の手法』(ケビン・ミトニック & ウィリアム・サイモン ソフトバンクパブリッシング)

この本に載っているのは、コンピュータへのクラックを仕掛ける前または同時進行的にに行われることが多い「ソーシャルエンジニアリング」についての叙述である。あまり適切ともいえそうにない言葉だが、私は他に語る場合の言葉を知らないのでこのまま利用する。

あらゆる意味で一番危険なセキュリティホールは何か。この本は声高らかに警鐘する。「人間」だ! と。要するに詐欺師と呼ばれる類の人間が用いる技術を最大限発揮し、いかに「人間」を誤魔化して情報を引き出したり隙をつくったりするかという話の集大成である。

技術的な話はほとんどされていないし、あったとしても時代遅れである(本は2002年に出版されたが著者の一人は1995年から2000年まで刑務所の中で過ごしていた)。だが人間を騙す「欺術」の方はあまり古びているとは言いがたい。それは、人間という存在の思考・文化形態そのものが大変革しない限り有効だからだ。

思うに、コンピュータに対する対策は様々な手段で張り巡らされる事が多い昨今であるが、この本が警鐘する「人間に対する対策」は十分といえるだろうか? 企業の大小を問わず、十分であるとはいえないのではないか? 少なくとも私は学校でこのテの話を学んだ記憶もなければ、その後もまた然りである。

一番危険なのは、「この本を読んだからもう大丈夫だ」と思い込んでしまうことだ。するとまたココロの隙間に忍び寄るクラッカーにつけこまれる。かといって「読んだからといって安心はできない」といっても、またそれを利用されるだけのことである。短絡的であっても慎重すぎであっても駄目だのだ。大事なのはバランスである。

ハッカーとクラッカーについての問答は、まえがきで前置きされていたため以下省略。言葉は正確に用いなければ意味がない。本文中ではどうやら「犯罪」であると法的に認められる行為を行った場合はクラッカーとしているようだが、もしかしたら結構曖昧だったりするのかもしれない。後でもう一度調べてみよう。

2007-08-11

特に何があったわけでもなく

平々凡々な日でしたとさ。本当に何も書くことがないな……。本しか読んでないし。

今日の読書:『DDD 2』(奈須きのこ 講談社 BOX)

まあアレだ。季節に即したネタというか。要するに野球の話で盛り上がっている。野球というか球技全般に全く興味のない私にとっては「ふーん」程度の話が盛り沢山だったのだが、それでも最後まで読むことはできた。そのへんうまく話は練ってある。1長編2短編の構成だが、最後の短編がまたね、「そんなのアリかよ!」と。サービス精神を大事にする TYPE-MOON の人間らしいというか。

2007-08-10

『DDD 2』が出ましたね

そんなわけでこれから読書なのですよ。また積読が増えた。まあいいか。もうこのまま活字の海に溺れてしまえば。……うわ、かなり幸せな状況か? 今。

今日の読書:『オブ・ザ・ベースボール』(円城塔 『文學界 2007年6月号』所収・文藝春秋)

ようやっとバックナンバーを入手して読んだ。ふむ。『Self-Reference ENGINE』(早川書房)や『Boy's Surface』(『S-F マガジン 2007年9月号』所収・早川書房)に比べれば随分と話の流れがスッキリとしていて読みやすい。比較的単純にしてあるといってもよいだろう。SF 的な想像力を殆ど働かせる必要がない内容にも着目すべきかもしれない。それでも、論理的思考を日常に持つ人間なら程よく酔える倒錯した言葉遊び(論理遊び)はしっかりと含まれている。入門編(まだ作品数は少ないものの)としてはうってつけかもしれない。入手はしにくいだろうが、まだ書店に注文すれば出版社に在庫があるようだ。私が入手できたのが何よりの証拠。

ただやはり、話の流れをスッキリとさせてしまったが故に小説構造としては破綻しかけているという無情かつ逆説的な弱点を持った作品だとは思う。これは傑作であるとはいえない。何より、『Self-Reference ENGINE』を読んでしまった後はそう思ってしまわざるを得ない。確かに SF 的要素をある程度廃することによって、いわゆる文学的と呼ばれる雑誌にも掲載されうるだけの背景的強度を獲得することはできた。しかし同時に見た目の難解さを突きつけにくいという厄介な制約まで背負い込んでしまった。必要なのはセンス・オブ・ワンダーの提示であって、文学的リアリズムではない。ここに、作品の停車駅は決定してしまった。

だが安易に SF の想像力に寄りかかってもよい作品が出てくるとは限らない。必要なのはバランスであり、そのバランスをとるうえでの必要性である。アンバランスを得るためのバランスという言い方もできる。つまるところ、『オブ・ザ・ベースボール』は中途半端すぎたのだ。より極端に、尖った先を提示した作品を読者は求める。

現時点での最新作である『Boy's Surface』は、逆に尖り過ぎた挙句に編集側から「もちっとわかりやすくしてくれ」=「丸くしてくれ」と要求されてしまった結果の所産である。それでもかなり尖っているであろうこの作品、非常に面白い出来栄えとなっている。初稿は一体全体どんな代物だったのだろうかと考えさせられる。完成度などはどうでもよいから、一度その初稿版を読んでみたいものだ。きっと掲載版とは異なった刺激が存在するだろうから。

2007-08-09

阿佐谷七夕まつりに『電脳コイル』のサッチー出現 & IE クラッシュコードは 0xC0000005 エラーを引き起こす

サッチーはりぼて全景阿佐谷七夕まつりの名物であるはりぼて飾り。商店街に軒を連ねる店の方々が手作りしているそれらの中に、NHK 教育のアニメ『電脳コイル』に登場するサッチーがあるという話を、確か 2ch の電脳コイルスレで紹介されてて初めて知った。一応写真を載せてみる。かなり綺麗な曲面とつくりで、出来栄えはかなりのもの。近くにある貴金属店で時計のベルトを叩き売りしてたおばちゃんに色々と訊ねてみたところ、近所の店の人は誰一人として元ネタを知らなかったとのこと。無論そのおばちゃんも。そんなもんだろうね。

「みなとや」看板全景その肝心のサッチーを造りあげたのは、「みなとや」という店の方だった。ご主人に話を訊くことができた。それによると、そのご主人の弟さんがネタ出しから製作までの全てを手がけた模様。話を伺いたいといったが、残念なことに外出中だった。明日まで祭りは開催されているので、もう一度行ってみようかとも思っている。

次のネタはスラドなどでも話題になっている IE クラッシュコードの話。実際に試してみたところ IE6 + WinXP Pro SP2 (パッチ全適用) で確かに落ちた。ただ「ウチの環境じゃダメだったぞ」という話もあるので少し調べてみると、このクラッシュ、主記憶空間に依存するらしいことがわかった。エラーコード 0xC0000005 を検索してみたところ、まさにこれだという記事を発見。IE に関する項目もあるので読んでみた。拙い英語力で読解・要約してみる。

エラーコード 0xC0000005 は、不正メモリアクセス違反を示す。IE6 では span 開始タグを含みながらも終了タグがない(つまりきちんと閉じていない)HTML ドキュメントを開いた場合に発生したことがあった(要約終わり)。

既に span の問題については Microsoft からも 回答とパッチ[1]が提供されているので問題はないが、それとは別に CSS との組み合わせで発生する事もあったという話らしい。

ここでどう考えても「問題になるだろ!」と声を荒げる人が出そうな事実は、クラッシュコードを公開した人の記事に関する話だ。現にスラドでも色々な意見を垣間見ることができる。

例えば「クラッシュコードを発見した事実を Microsoft に報告したか否か」については言及がないためどちらともいえない。

他にも「IE ではない他の UA 利用者に対し、コードを利用して IE に対するネガティブキャンペーンを行うとよいかも」という意味の扇情的な発言をしている。倫理的に考えた場合この発言は安易ではないかという疑問も浮上する。受け取り方でどちらの意味にも取れてしまうのだ。許されない行為を助長しているととることもできるし、他 UA のユーザを馬鹿にしているともとれる。

幼稚さを演出した文体は感情を逆撫でし、論理的思考能力を麻痺させる能力を持っている。

その他の問題も山積みだが、ともかくも事実として前述の Blog が少なくともコードの発端により近いこと(出典が別にある可能性がある)、発言に問題を多分に孕んでいることが挙げられる。これからも多少の間はネタ元として機能するのは間違いない。……鮮度が幾分か落ちた時点で、あっさりと見限られるとは思うが。

今日の読書:『ひぐらしのなく頃に 第一話~鬼隠し編~(上)』(竜騎士07 講談社)

『輝くもの天より堕ち』は途中まで読んだがまだ終ってない。合間の息抜きとして『ひぐらし』を堪能した。既にゲームの方は現在リリースされている全ての編を読了しており、展開そのものは全部知っているのだが、小説というメディアにコンバートした場合の『ひぐらし』も面白いかもしれないと読んでみた次第。

結論としては、やはり演出面に難がある。会話が多いのは当然としても、状況を髣髴とさせる描写が十分とはいえない。確かに同人・コンシューマゲーム版と比べ文中に描写を多く入れてはいるが、がっつりとした恐怖の演出や心情描写がイマイチだった。まだ慣れていないという問題もあるだろうし、私が心情描写の真骨頂ともいうべき作品の合間に読んでしまったという主観的問題点もある。

しかしながら全体の構成としては無難かつ十分にまとまっており、これといった描写の問題は見受けられない。三点リーダなどの記号的要素を多用しすぎという指摘は、既にゲーム版でも同様であるからして小説だけでない全体の問題としてとらえるべきだ。となれば『ひぐらし』全体の問題となるわけである。確かに読みにくい文体ではあるし、安易ともとれる部分も多々見受けられるが、全体として、包括した場合としてこの作品を評価する場合はそれらの問題点を帳消しにするぐらいの「勢い」が存在している。

長くなるんで割愛。

脚註

  1. 但し、サポートセンターへ連絡して必要な人だけ取り寄せる必要があるようだ。主記憶空間の問題は、アーキテクチャもそうだが実際のデバイスに大いに左右されるからなぁ……。

2007-08-07

積読消化中……

色々と。冊数より文字数で分量を量りたいものだが、文字数情報っていうものはどこにも載っていたためしがないなぁ。今は原稿なぞ全部テキストデータとして起こしているのだろうから、できなくはない筈だが。どこかで誰かがやりだすかな? やらないか。

今月は講談社 BOX の新刊が矢鱈と多くて財布の中身が大ピンチである。『情報環境論集』(東浩紀)、『ひぐらしのなく頃に 第一話~鬼隠し編~(上)』(竜騎士07)、『刀語 第八話 微刀・釵』(西尾維新)が同時に出た上、『DDD 2』(奈須きのこ)もじきに出る。

その上無茶苦茶に久しぶりのティプトリー新刊である『輝くもの天より堕ち』(ジェイムズ・ティプトリー・ジュニア 早川書房)や『ウェブ社会の思想 〈偏在する私〉をどう生きるか』(鈴木謙介 NHK ブックス)、極めつけは『魔導書ネクロノミコン【完全版】』(ジョージ・ヘイ編 学研)まで買ってしまった。もう駄目だ。

……あ、そういやティプトリーは確かサンリオ SF でも出てたっけ。お金貯めなきゃ。

今日の読書:『ラヴクラフト全集 3』(H・P・ラヴクラフト 東京創元社)

これも積読リストにあった代物。ラヴクラフト作品は大抵短編や中編なのでサクサクと読めると思いきや、実はそんなに生易しいものではない。じっくりと読み込むようにしないと、味わいたくてたまらない恐怖の源泉はやってこないのだ。まったくもって夏にはピッタリの作品たちである。

驚かされた作品がひとつ。『アウトサイダー』がそれだ。ネタバレはやめておくが、話の途中でカラクリがわかってしまう安易さというどうしようもない欠点こそあるものの、その視点そのものは1~3までの間に見せなかったものだ。巻末の作品解題を読む限り、どうやらラヴクラフト本人も気に入っていたらしい。そういうものなのか。完成度としては同巻収録のものでいえば『無名都市』『戸口にあらわれたもの』の方がいいような気もする。……人の好みの問題だろうか。

さて、今度は何を読もうか。『輝くもの天より堕ち』にでもするか。

2007-08-06

xyzzy の svn-mode と session-ext がコンフリクトしてる?

SVN リポジトリからチェックアウトしたファイル(例えばこの Blog の index.html)が含まれたセッションを、session-ext で起動時にリストアしようとするとどうしてか失敗する。.xyzzy での起動順序を変えてみたりしたが駄目だった。ううむ……多分 session-ext 側が xyzzy に元から定義されている関数をオーバーライドしているのが原因だと思われるのだが、未だに原因がわからない。そのせいで Blog を編集する時にいつもセッションファイルを開きなおして環境を再構築する羽目になっている。何でやねん。

cvs-mode でも同じような現象が起きるのかしらん……? CVS は元から導入していないし試してもいないので何もいえないのだが。まあちょいちょいといじってみようか。時間はある。

気づいたらいつの間にか8月になっていた。月日の流れるのは早いものだ。ようやっと夏らしい暑さが出てきたかと思いきや、また台風、しかも勢力がまたしても大きい。勘弁してくれ。

今日は久しぶりに HHK Lite2 の方を整備した。かなり埃とゴミが溜まっていた。本体側は掃除機とウエットティッシュで綺麗にし、キーは食器用の洗剤でごしごしと洗った。まだ乾かしている途中。そろそろ Pro の方も掃除してやらないといけないのだが、こちらは無刻印バージョンなのでなるべくキーを違えないようにしなければならない。余計に気を遣う。今日のところは掃除機で中のゴミを吸い取る程度にとどめた。……もう一台 Pro が欲しいなぁ。しかしもう Pro は中古しかない。Pro2 に移行したためだ。新品の HHK Pro2 は高いんだよなぁ……。お金が貯まったらにしよう。

今日の読書:『シミュラクラ』(フィリップ・K・ディック サンリオ SF 文庫)

ついに入手したサンリオの『シミュラクラ』。プロットがディック作品の中でも特に散逸してしまっているのが特徴だろう。プロット放棄の『タイタンのゲーム・プレーヤー』とは一味違う。だがこの無茶苦茶っぷりを愛せるようになってしまうと、もう手遅れの証拠なのだという。それもそうか。随分と投資もしたし。兎角サンリオとなると値が張ってしょうがないから……。当時の倍額は当たり前、下手すれば10倍にまで跳ね上がっているのだ。20年ほど前の代物にしては、大層な増額ぶりではないか。それだけ今でも需要と供給があるということ。まったくサンリオはどえらい遺産を残してくれた。……せめて、せめて私が物心つくまでは存続して欲しかったのに。そんな時代には既に過去のレーベルと化していた。

少し話は変わるが、今日もまた新しく本を買ってしまった。これで積読状態がめでたく5冊に。ぼちぼち読み進めましょうかね。

2007-08-02