Diary?::2005-12-22

01:18

ふと思ったのだけれど、読み物としての Web 日記って最悪な連載体系だよな。だってこれ、書き手が飽きるまでは続くんだぜ (ってか飽きても続くことが結構ある。俺には理解不能だけど)。どこで読んだのかは忘れたけど、確か週刊誌の連載漫画とかはあまりにも長くなると新規購読者を発掘できなくなる傾向にあるらしい。確かに、例えば今から「からくりサーカス」を 40 巻一気揃えるとかはちょっと厳しいよな。いくら面白い漫画でも、そういう物量的な部分でのハンデってのは如何ともし難い。

全く同じ事は Web 日記にも言えるわけで、例えばこの日記は俺が飽きるまでは更新が続くだろうし、そもそも俺が日記を書く原動力というのは直観とその時のテンションと毎日何かに対して感じるうんざり感なわけで、きっと俺は俺が漠然と考えているよりもずっと長くこの日記を書きつづけるのだろう (便宜上日記という名称だが、何度も書いている通りこんなものは日記じゃねえ)。で、そうして貯ったアーカイブを全部読んでくような奇特な人物は果たしてどれだけいるのだろうね? 半年にも満たない現在の分量でさえ、過去ログを全部読んでいった人は片手で数えられる程度なのだけど。

そして Web 日記のたちの悪い所は、一話完結でも連続したストーリーでもないってことだ。例えばこの文章は、きっとそれ単体でも完結したものになるだろう。でも、もしかしたら将来のいつか俺はこの文章の続きとなるようなものを書き出すかもしれない。もしかしたら殆んど同じ事を繰り返すかもしれない。暗黙のうちにこの文章を土台にしたものを書くかもしれない。というか少なくとも俺は過去に書いた日記を暗黙の前提としている節がある。例えば俺は

ざっと適当に書き出してみたけどこれは氷山の一角で、恐らくは言語化できない、少なくとも俺の語彙には存在しないものを前提として日々の更新をしていると思う。

えーと、つまりは Web 日記ってのは余程突出した面白さを持っているとか、それなりに役に立つものでもない限りは、ある程度の時期を堺に新規読者が殆んど獲得できず、古参の常連相手の内輪的な読み物に成り下がるんじゃねえのかと。

そしてコミュニケーションの手段を殆んど持たず、ただ更新頻度と量だけは多いこの日記は遅かれ早かれ読者が目減りしていくのだろうね。だって新規の読者はせいぜい検索エンジンや他のサイトからのリンク程度で、定着する可能性はゼロに近いんだから。そして常連が去っていく可能性は決してゼロでは無いし、案外大きい。

本来理想的な Web ページは完全な読みきりか短期集中連載で、どんなに長くても単行本数巻で終わる程度のボリュームなのだろう。もしくは完全な一話完結の連続。それなら言いたいことを完全に無駄無く表現できる。と思う。そして Web 日記ってのは別にただ惰性や暇つぶして書く類のものだから、まったくもってまともな読み物では無いね。

あー、本当に文章が混沌としてきた。結局俺は何が言いたいんだ? 多分太く短くって事を言いたいんだと思う。でもこの怪文書は明らかにそれとは反している。そもそも俺は短期集中とか読み切りで面白い文章を書く能力は持ち合わせていない。

結論:俺は無いものねだりをしている。

13:39

メールより。

こんにちは。

Diary?::2005-12-21T23:38 (http://return0.dyndns.org/d/2005/12/21#s8 ) を読んで気になった点があったのでメールしています。

  • /d/latest:最新の日記(XHTML フォーマット)
  • /d/latest/rss.rdf:最新の日記(RSS/RDF フォーマット)
  • /d/latest/index.xml:最新の日記(XML フォーマット)
  • /d/latest/atom.xml:最新の日記(Atom フォーマット)
といった四つの URL をリクエストしたときのレスポンスに期待できるリソースたちはそれぞれフォーマットや対象となるクライアントが異なりこそすれ、同じ「最新の日記」への URL であると思います。
同じ実体の異なるフォーマットは恒久的・表現的な URI において拡張子とマッピングされた Content-Type で識別されるべき。よって必要な URI は /d/latest(.xhtml | .rss10 | .atom) 一つとなり、コンテントネゴシエーションによって UA それぞれに適切なフォーマットのファイルが返されることが期待されます。

現状、「RSS」がフロントエンドのユーザーの目に映るところにまで出ていますが、RSS は XML ボキャブラリの一つに過ぎず、「何か」をマークアップするための一フォーマットの名前に過ぎません。

ユーザーたる人間はその「何か」――サイトのフィード――がどんなフォーマットで提供されているかなどに興味はありませんし、作成者側は興味を持たせるべきではありません。RSS 0.91 なのか 1.0 なのか 2.0 なのか、はたまた Atom なのか、といったことはサーバーから serve される際の MIME Type・XML 名前空間とユーザーエージェント(フィードアグリゲーターなど)の間でのみ注意されるべきです。

私は説明の際に「rss」から「Webフィード」といった Google や Microsoft が推奨する名称を使っています。

もしかしたら同じような事を思った人がいたかもしれないので、日記上で解答します (転載許可は出ています)。

この怪文書の RSS が rss.rdf というURI で提供されている理由は二つあります。

  1. URI の役割として分けた。
  2. まだ RSS を前面に出して認識させた方が都合がいい。

まずは一番目の理由から。 rss.rdf と latest はあくまでも別の役割を担っていると俺は認識しています。更新情報のチェックのためだけの RSS と、通常のブラウザで読ませる HTML を同じ URI で提供することには若干の違和感を感じます。さらに rss.rdf は最新の 15 件、 latest は最新の 3 日分と提供するデータが根本的に異なります。私見ですが、コンテンツネゴシエーションで複数のフォーマットを提供する場合、それらは意味的に同じものである必要があると考えています (例えば言語や文字コード、 text/html と application/xhtml+xmlなど MIME Type が違うリソースを提供する場合)。

また、現状の RSS リーダーの普及率やブラウザの使用率を見る限り、 RSS を知っていてさらに使っている人はかなり少ないものと思われます。 RSS の自動検知を全ての主要な UA が実装するか、もしくは全てのアンテナサービスと RSS リーダーが統合されたサービスになるかでもしない限り、 RSS の存在を前面に押し出すことは悪い選択肢では無いでしょう。

ところで転載許可が出ているからって、こういうのも CCPL で提供するのは不味いのか? 問題があったら対応します。

13:55

俺が心の底から気に食わない言い回しの一つに、バチがあたるぞという言い回しがある。バカも休み休み言え、バチってのはあたるものじゃなくてあてるものだよ。

バチがあたるぞというからには、自分以外の何者かがバチをあてることを期待している。でもそれって他力本願もいい所じゃないか? 相手の事がそんなに許せないのなら、自分で何か行動しろよ。

俺はあらゆる神秘主義的な意味での宗教を否定しているけど、それは同じ理由だ。人間を救うのは人間だけだし、人間を裁くのも人間だけだ。祈っている暇があったらその分働いて、稼いだ金を募金した方がずっと手っ取り早いし確実だ。

15:47

とりあえず HTML トランスレータのバックエンドとして、以下のような感じで HTML を生成するライブラリを作っている。

p = Paragraph()
p.add('text. ', {'id': 'id1'})
p.add(A('anchor', {'href': 'http://return0.dyndns.org'}))
p.add(' text.')
print p
# 出力
<p id="id1">text. <a href="http://return0.dyndns.org">anchor.</a> text.</p>

正確さを求めるのであれば、受容可能な要素や属性を細かく定義すればいいのだけど、それは何というか面倒くさい。 DTD から生成? それは大げさ過ぎるな。今必要なのは、あくまでもバックエンドとしての軽いライブラリなんだから。ただ、 Active State の Python Cook Book で出されている奴よりは高機能な必要がある。

何でこんなものを作っているのかというと、 DOM 周りのライブラリを使うのがとんでもなく面倒臭いからなのだけれど。 DOM は明らかに機能過多というかいろいろ面倒臭くて、それにパフォーマンスもあまり良いとは言えない。車輪の再発明はするな? 本当に再利用可能な車輪なんて数える程しか存在しねえよ。

というか趣味でやってることなんだからどうでもいいのだけど。

16:44

ただでさえ寒いってのに、この強風は何なんだー。

さて、このままではパフォーマンスがかなり不味いということが発覚した訳だけど、その場合どうすればいいのか。

前者の方が多分まともなやり方だろうな。データ構造が腐っていると大変な目にあうのは世の常。

18:06

風呂に入ろうとしたら柚子を渡された。ああ、今日は冬至だったな。

ところで我らが Guido van Rossum が Google で働いてるってちょっと待て。マジか? マジなのか?

19:36

今のところ「範馬刃牙」はそれほど酷い状態では無いのだけれど、いつ「バキ」の悪夢がやってくるかと思うと安心して読んでられない。

というかまだ方向性が全然見えないな。まだ第三話だから当然かもしれないのだけど、一体何のために今回のエピソードがあったのだろうか。前作であまりにも評判の落ちた刃牙の名誉回復が狙いか? でも、板垣先生がそこまで小賢しい計算をしているとは思えないしな。

21:57

やっぱ端末の配色は黒地に彩度を落とした白だよな。試しに黒地に緑というのをやってみたけど,発狂しそうになったので止め。俺には無理だ。

23:39

$su
**Pasword:
su: パスワードが違います
Written by Kuwata Chikara
Creative Commons