2006/05/28 Sun 12:42
いつか借りようと思っていて、やっと借りてきたうちの1本『エターナル・サンシャイン』(Eternal Sunshine of the Spotless Mind)を見た。
記憶を消してしまいたいような出来事や関係はあって、それが関係であるならば相手のことをイヤになって消したいと思う。でもそれを総点検してみるとぽろぽろと良い記憶がつながって出てくると。
ただ見終わった後で自分を省みてみると、記憶を消したいと思う理由はどちらかというと自己嫌悪のほうが多かったりするのだが、記憶を消すということは自分の嫌な面もナシにできるわけで、そう思ってから映画に飜ってみるとクレメンタインが記憶を消そうとした衝動の背景には自己嫌悪も絡んでいたであろうことがわかってくる。
ジョエルが彷徨うのもまさに自分の脳内なわけで、これは2人の脳内放浪映画か? と思ってみると『マルコヴィッチの穴』も「脳内性」みたいなものがテーマだったわけで、カウフマンの抱えている主題というのは「脳内」とその外部との、つまり「脳内」と他者との関係にあると言うのは間違いじゃなさそう。
それはともかく、考えてみると、消そうとしたその関係には良いところが多々思い当たるわけだ。それは相手に良いところがあったからだし、そのことから自分も相手にとって何らかの良いところがあったということがわかるし、関係そのものについてもまたしかりだと。「消したい」と思うような記憶について、それを「思い出す」ことにより、自己嫌悪に彩られた過去へこういう視線を投げることもできるのだなぁと思えたところが個人的な収穫だった。
もちろんそれも一度は消そうと思うような記憶なんだから、思い出したくない部分を多々含むものなんだろうけども、というか基本的にそっちのほうが多いくらいなのかもしれないけども、記憶が消したいようなものとしてある状態だからこそ、そのときに発見する良い部分、美しい部分の意外さに驚かされてしまう。良いばかりでも、悪いばかりでもないというその凡庸なことを凡庸なまま憶えておくということは、凡庸な行為ではないと思う。
Blessed are the forgetful, for they get the better even of their blunders.
(Friedrich Nietzsche, Beyond Good and Evil)
“忘却はよりよき前進を生む”(DVD字幕)
――忘れっぽい人は幸いである。彼らは自分の愚行をも「綺麗さっぱり」忘れてしまうからだ。
(『善悪の彼岸』 7章 217 木場深定訳 岩波文庫 194頁)
英語を直訳すると「忘れやすい人は幸いである、なぜなら彼らのしくじりにさえ打ち勝てるのだから。」くらいでしょうか。こう言っておいた後で
How happy is the blameless vestal's lot! / The world forgetting, by the world forgot. / Eternal sunshine of the spotless mind! / Each pray'r accepted, and each wish resign'd
“幸せは無垢な心に宿る/忘却は許すこと/太陽の光に導かれ/陰りなき祈りは運命を動かす”(DVD字幕)
Alexander Pope, Eloisa to Abelard, Lines 207-210だそうです。こっちは大きな不安が伴うけど、訳してみると「純潔な処女の運命はなんと幸福なことか! 忘れられた世界を越えて、世界を忘れゆく。汚れなき心の永遠の輝きよ! 祈りはいずれも受け入れられ、望みはいずれも退けられる」……えーとだから、実際には嫌なことやうしろめたいことはあって、世界を忘れても行かれないと。
2人は再び結びつき、さらに再び危機を迎える。そこに至ってforgetが「忘却」であるとともに「赦し」でもあるというダブルミーニングが効いてくる。わざわざ記憶を消さなくても、forgetすることは可能なのである。
流れで『善悪の彼岸』をめくってて目に留まった箴言をもうふたつ。この作品とも遠からず結びつくでしょう。
平和な状態にあるとき、好戦的な人間は自己自らに襲いかかる。
(『善悪の彼岸』 4章 76)
愛から為されることは、常に善悪の彼岸に起こる。
(同153)
てかここまでまったく触れずに来ましたが、この作品を観ようと思ったのはカウフマンでもジム・キャリーでもケイト・ウィンスレットでもフロド(イライジャ・ウッド)のおかげでもなく、ミシェル・ゴンドリーのためです。事前に逆回しという言葉をよく聞いていたので前編フィルム逆回しを期待していて拍子抜けしたけど、最終的にはすごく良かった。
2006/05/05 Fri 17:59
先週から作っていたJavaScriptライブラリを公開します。Wikiライク、というよりもむしろはてなダイアリーライクな変換エンジンです。
wikirender.jsをロードし、wikiRender.render(String)にテキストデータを渡すと、ルールに従って整形した結果が返されます。整形ルール(記法)についてはデモページのフォームを参考にしてください。
document.getElementById('preview').innerHTML
= wikiRender.render( document.getElementById('input').value );
返されるのはDOMオブジェクトではなくHTMLタグを含んだ文字列なので、innerHTMLに入れてやる必要があります。ZEROBASEのDOMコードジェネレータなどと組み合わせればDOMエレメントとしても処理できるかもしれません。
wikiRender.interWikiNameオブジェクトにプロパティを追加することで、InterWikiNameを追加設定することができます。
wikiRender.interWikiName.WikiName = [
URI prefix, URI suffix, UTF8_encode_flag (boolean), encodeURIComponent_flag (boolean)
];
3番目の真偽値で値をUTF-8にエンコードするかどうか、4番目の真偽値ではそのエンコードにencodeURIComponent()関数を使うかどうかを選択します。4番目がfalseの場合はencodeURI()関数でエンコードされます。
デモページでは以下ようなInterWikiNameを設定しています。デモページで使用しているwikidemo.jsも参考にしてください。
wikiRender.interWikiName.GoogleSrchJa = [
"http://google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q", "", true
];
wikiRender.interWikiName.AmazonJP = [
'http://amazon.jp/exec/obidos/ASIN/', '/bdp-22/ref=nosim', false
];
また、wikiRender.headingBaseプロパティの数値を変更することにより、Hタグの開始値を変更することができます。見出しは2段階まで使えるようになっており、デフォルトでは*でH1、**でH2に変換されます。
wikiRender.headingBase = 4;
デモページでは上のように設定しているので、*がH4、**がH5に変換されます。こちらもwikidemo.jsを参考にしてください。
Download: wikirender.js 0.0.1 (2006-05-05)
Download: wikirender.js 0.0.2 (2006-05-06)
ライセンスは、いわゆるMIT License (X11 License)とします。
Windows XP上のIE 6.0、Firefox1.5.0.2、Opera 8.54、Netscape 7.1で動作することを確認しました。
追記(05/06):いくつかのバグを修正した0.0.2を公開しました。
そして、ゆうすけさんがJavaScriptライブラリ検索 - JSAN Searchを公開されていたのを発見し、検索してみたら案の定Wikiwygを大発見。まぁ、あっても自分で作るんですけどね。Wikiwygのスタンドアロン・デモを触ってみましたが、超カッコイイ。
2006/05/05 Fri 01:44
少しずつイベントモデルがわかってきました。ブラウザごとの違いも少しわかった、というかWindowsで最新のOpera、Firefox/Netscape、IEに対応すればいいのなら、IEだけwindow.eventを使ってやればいいということがわかりました。またwindow.onloadハンドラの中でイベント宣言をすれば、すべてのイベントも*.jsファイルに移せると。だたし実際に少し組んでみた感想としては、prototype.jsを使ってしまうほうが賢いだろうと思います。
というわけで、Wiki機能を実現するライブラリ(みたいなもの?)を作りはじめました。とりあえず基本的なHTMLマークアップ系(DHTMLで動作確認できるのでデバグがとても楽)は完成して、ToDoはInterWikiNameを付けるくらい(それ以上は後で考える)。ファイルI/Oをやってくれるサーバサイドスクリプトと組み合わせてAJAXなWikiが作れるようなものにしたいところ。
2006/04/26 Wed 03:48
いまここの更新はwikieditish.cgiを自前で改造して使ってるんだけど、「試験前の掃除欲」を向かわせる先としてリアルタイムプレビュー(できればWiki記法対応も)+遷移なし記事表示/編集を搭載したAjaxなWikieditishを作ろうと思い立ち、とりあえずプレビュー部分を作……ろうとして早速ハマった。
というのも、イベントハンドラまですべて*.jsファイルに逃がそうとがんばっていたら、どうにも動いてくれなくて悩みまくった。window.loadのタイミングでonkeyupハンドラ内で使っているgetElementByIdがエラーを吐くらしく、どう指定してやるんだかわからない(とりあえずdocument.onkeyup = onkeyupHてかんじにしたらFireFoxでは動いてる様子)。このあたりから、HTMLタグの属性部分でイベントハンドラを指定してしまったほうが、なにかとわずらわしいトラブルが減りそうな気がしている。でもエレガントじゃない。
Livedoor Readerやはてなブックマークなんかを見てみると、HTMLファイル内での指定もかなり使われてるみたいだし、ハマるよりは使ってしまえばいいのかなあ……でもはてなRSSはほとんど逃がしててイカス。これは監視するイベントの種類にも関係してそうだけど。
まぁあくまで「試験」があるわけなので、ひとまずペンディング。
2006/04/16 Sun 18:45
個人的に繁忙期に入るので、少し生活を変えてみようと思う。どこを変えるかというと、今現在ネットにかけている、あるいは吸い取られている時間を減らしたい。とはいえ個人的なメール送受信(SNSのメッセージ機能も含めて)は減らすわけにもいかないので、主な削減対象はウェブ閲覧の時間である。
僕のネット歴はだいたい10年前後なのだが、1日のうちウェブ閲覧が占める時間は概ね増大の一途であった。少なくとも意識的に減らすのは今回が初めてといってもいいくらいだと思う。これは必要からそうしていたというよりも、耽溺または依存していたと表現するほうが相応しい状態である――あるいは、帰ってきてテレビつけちゃってそのままダラダラ見続けてしまうような感覚のほうがより近いかもしれない。ともかく、それを初めてカットしてみようと思う。
さて、そうすることで起こりそうな変化はいくつかあるが、「世間から取り残される」という漠然とした不安が僕を今まで耽溺した状態にとどめおいたのは間違いなく、今回もその種の不安はある。しかし以下のようないくつかの疑問を抱いてもいる。
-
本当にウェブを見ていれば世間から取り残されずに済むのか
-
まぁウェブを見なかったとしたら、多少の「取り残されている」感は出るだろう
-
でも、過剰にウェブを見ることが、ある意味取り残されることにもなるのでは
-
つまり僕のリアルな周辺におけるウェブ情報の評価の問題で、実生活の価値基準では必ずしも要らない情報が多い(将来的には未知数だが、それ以前に現在が切迫しつつある)
-
たとえ世間についていく必要があるとしても、現在チェックしているすべては必要ないのでは
-
硬軟とりまぜた情報をひとくくりに論じても意味がなさそう
-
個人的に苦手な、取捨選択作業のいい練習になるかも
と、まぁいろいろ書いてみたが、要するに、あえて「取り残され」てみるのも面白いかも、と感じているのが大きい。実はそれほど大したことなかった、と判明するのは、それはそれで怖いけど。
たとえ取り残されても永遠にその状態でいなきゃいけないわけでもないし、実はそれほど取り残されなかったり、取り残されても追いかける必要を感じなくなるのならそのままでもいい。
と、何をいまさらというような話で、多くの人は細かく考えずこういうシフトができるものなのかもしれないが、個人的にはそれなりに大きな発想の転換だったりする。とりあえず今月いっぱい試してみるか……実行できるかどうかのほうが問題だな、まず。井上雄彦の発言を反芻して取り組んでいきたい。