2002-11-17 [長年日記]
_ ムスコの相手 (20:02)
日曜はここ数ヶ月恒例のテニス。いつもはオクサンとムスコと3人でやっているんだけど、今日はオクサンの会社の人たちが3人来たんで、ずいぶんみっしり動くことが出来た。
ちゃんとテニスできるかどうかのポイントは、「ムスコの相手をする人間を確保できるかどうか」だったりする。
しかし、ここ1週間ほどずっと体調不良だったのをおして、めっきり寒くなった外でテニスなんかをやっていたら、やはり体調が悪化した。普段はそのまま買い物に行くんだけど、まっすぐ帰宅。
明日は会社を休もうかなー。普段だったらあっさり休むんだけど、ここ2ヶ月は出向中なもんだから、あんまり気軽に休むことが出来ない。単なる出向ってだけでなく、裏事情がいろいろあったりするもんだから、面倒くさいのだ。
2002-11-18 [長年日記]
_ 頭痛と鼻水と腹下し (20:02)
朝起きたときはそこそこ体調が良さそうな気がしたのに、ムスコを保育園に送って返ってきたら一気にぐったり来たんで、今日はお休み決定。今回の風邪の主な症状は頭痛と鼻水と腹下し。そんなにひどくはないんだけど、微妙につらい状態が長く続く。普段は風邪薬が結構効く体質なんだけど、今回の風邪にはあんまり効かないなー。
_ TrackBack (20:02)
TrackBackという機能
blogネタで話題になったMovableType。基本機能の部分には大して興味がなかった(ありがちなものの集大成というだけ)し、RSS配信ってのも別にやればいつでもできる(けど再利用する人が出てこないと面白くない)よなーと思っていたんだけど、TrackBackって仕組みはちょっと興味を引かれるな。こういうのをWikiCloneでも取り込むといいかもね。
- http://www.movabletype.org/docs/mtmanual_trackback.html
- 日本語訳 - http://lowlife.jp/translation/mttrackback.html
- 2003/04/05 「TrackBackの図解」を追加
今のところ複数のWikiサイト間のつながりはInterWikiで表現しようってのが主流なんだろうけど、個人的にInterWikiってのはあんまり面白いと思わない。リンク(とページ生成コマンド)だけはつながるけど、それ以上のつながりがあまりにもないし。まあたったあれだけの実装であのくらいつながると言うこと自体は面白いけど(っつーかWiki自体がそういう面白さの積み重ねだから、それを否定しちゃおしまいって気もするけど)。
TrackBackのポイントは、ある記事(WikiCloneならばWikiPage)への他サイト(のWiki)からの言及を取り込む仕組みを用意しよう、ってことだろう。その仕組みも非常にシンプルだ。ある記事に他のサイトから反応する場合、あるURLを「対象の記事ID」と「反応したURL」を引数につけて呼んでくれれば、システムはその記事に対する他サイトからの反応があったことを認識する、というだけのもの。
tDiaryみたいにReferer解析をそういう用途で使えるように実装しているシステムがあったり、アクセス解析を使って手動でそういうことをやっている人は結構いるだろうけど、共通フォーマットを定めてシステムとしてそういうことが出来るようにするってのはいい考えだな。ずいぶん昔から「Web日記同士の言及リンクがわかりやすい更新報告型リンク集:http://ishinao.net/diary/?200201c&to=200201281#200201281」を作りたいといろいろ考えていたんだけど、リンク集という形式ではなくP2Pベースに実装するという考えは思いつかなかったよ。
WikiLikeでのTrackBackサポート方法(文字コードについて)
ここのWikiLikeでも実験的にTrackBackをサポートしてみました(RSSとTrackBackを実装を参照)。現行のTrackBackの仕様書には文字コードに関する情報が盛り込まれていないため、その部分を拡張しました。
- http://host.domain/dir/tb.php/sid/****というPATH_INFOの2階層目に入力文字コードを指定
- ie=****という要素(GET/POST)で入力文字コードを指定
- charset=****という要素(GET/POST)で入力文字コードを指定
- 投稿要素の文字列から自動認識を使って入力文字コードを判別
という順序で入力文字コードを指定します。最初に見つかった要素が優先です。
送信側としては、POSTするパラメータにcharsetを追加。多分これが一番直観的な実装なんで文字コードの解決手段としてはこの方法に収束していくといいな。うちはしばらくの間はすべてのパラメータを受け付けるようにしておきますけど。
TrackBackの送信側インターフェースも実装。文字コードは送信時にドロップダウンから選択できるようにした。ただ、本文の最初の255文字を抜粋として送信しているんだけど、そうするとほとんど元の引用文部分だけになっちゃうな。それはちょっといまいちかも。
※文字コード指定文字列は、受信側はそのままPHPのmbstring系関数に渡しています。送信側はutf-8/euc-jp/shift_jisで渡しています
_ TrackBackを実装する (20:02)
TrackBack的なものをWikiLikeに実装するとして、どんな感じにするといいだろう。もともとのTrackBackの実装を参考にしつつ、自分で欲しい機能を中心に仕様を考えてみる。
TrackBack的な機能を実装するにあたって抑えておきたいポイントとしては、
- 他のサイトの記事→自サイトの記事の言及について
- 他サイト側から自サイトへの通知が簡単
- 自サイト側の通知の受け取りが簡単
- 他サイトのどの記事(URL)が自サイトのどの記事(記事番号)に言及しているか
あたりだろう。
あとどうせこういうものを実装するならば、
- 専用クライアント→自サイトの記事の言及について
- 専用クライアントから自サイトへの通知が簡単
- 自サイト側の通知の受け取りが簡単
- 専用クライアントからの言及については、そのコメント本文自体も受け取る
なんて機能も実装したいところだ。
さらにそれらのインターフェース(API)について、特定の実装に依存するのは避けたいところなので、
というのもある。
あと、WikiCloneをはじめとする特殊な機能(単なるblogシステムよりも高度な機能)をもっているシステムで使った際に、さらに有用な機能を追加できるように、
- 送受信APIは、拡張情報の受け渡しに対応できるようにする
- ただし、基本的になAPIの利用は手軽である必要がある
ってな感じで試しにWikiLikeに実装してみて、複数サイトに置いたWikiLike同士で通信できたらどんな感じになるかを試してみよう。なんてことをやっていると、いつまで経っても完成しない罠。
_ TrackBackインターフェース (20:02)
TrackBackの受信側のインターフェースの実装はそんなに難しくないよな。試しに作ってみたけど、簡単に実装できる。ところでIEってヘッダにtext/xmlを返さないと、内容がxmlでもxmlと解釈(表示)してくれないんだっけ?
閑話休題、受信側のインターフェースにコメントの実体まで受信するとなると、それをどう処理するかを抽象化するのが難しそうではある。WikiLikeだったら、そのままコメント欄にPOSTしちゃえばそれで終わりなんだけど、一般的なインターフェースとして考えるともうちょっと融通が利くようにしておかないとまずいだろうし。
何にしろ、受信側はそんなに難しくなさそうだ。が、送信側が結構面倒くさい。えーっと、本家のTrackBackは送信側のインターフェースをどうやって実装しているのかな? 単純に考えると、コメント先のTrackBackインターフェース(ping url)と記事番号をフォームに手入力する感じ? なんかそれはかなりいまいちだよなー。
本当ならば、コメント先のurlを入力すると、そのurlから自動的に相手先のTrackBackインターフェースの実装を問い合わせて、TrackBackインターフェースにTrackBack情報を送る、みたいな実装がいいよなー。コメント先URLのQUERY_STRINGにたとえば「?sysinfo」とかつけたら、必ずそのシステムのTrackBack(をはじめとするコミュニケーション系の)APIの実装に関する情報を(xmlで)返す、みたいなメタ情報向けAPIはやはり欲しい。
2002-11-19 [長年日記]
_ blogな・か・ま (20:02)
絶望書店:http://home.interlink.or.jp/~5c33q4rw/のしっぽは廻るか?:http://home.interlink.or.jp/~5c33q4rw/nikki/2002_11.htm#17に、 >blogを嗤ってる方々のいくつかがblogmapというのに捕捉されていることに気づきました。あなたがたのやってるのはblogらしいですよ。 と書いてあったので、絶望書店もblogmapのデータ収集先に加えてみた。これであなたもblogな・か・ま(ハート)。
っつーか、まさかblogという言葉がここまで恥ずかしい言葉になってしまうとは思っていなかったなー。Web日記サイトとかテキストサイトとか個人ニュースサイトとか、大きな違いがないものにわざわざ別の名前が付けられている不便さを解消するための道具として、blogという言葉を使いたかっただけなのになー。
私は別にblogの真の定義なんてのはどうでもよくって、更新がある程度頻繁でハイパーリンクをちゃんと使っている(自分のページ内で閉じていない)個人Webサイト一般を表す表現(言葉)が欲しいだけなんですよ。それがblogでなくてもかまわないけど、自分で造語するのはつらい。
_ ライセンス面倒くさい (20:02)
WikiLikeはなんとかソースを公開できるところまでたどり着きたいなーと、ライセンスに関してググってうろうろしてみたけれども、なんだか面倒くさい話ばかりがみつかって、ちょっとぐったりする。何も見なかったことにして右にならってみようか。
_ ここのサーバー (20:02)
このサーバーで動かしているWikiLikeは、デバッグモードで動かしているんで、最下部に処理にかかった時間が出力されている。
ここのサーバーは、年2万円くらいで容量・転送量無制限だったりするんだけど、その代わり結構たくさんのユーザーが詰め込まれているんで、いまいちレスポンスが安定しない。プロセスを覗くと、よく大量のメールを送信しているところがあるし(SPAMじゃねーだろうなー)。
ときどき異常にレスポンスが遅くなったりすることがあるのは前から気づいていたんだけど、それがサーバーのせいなのか回線のせいなのか結構気になっていた。で、デバッグコード付きのWikiLikeを動かしてみて確認。やっぱりこのサーバーときどき処理が異常に重くなるんだね。通常0.05秒以内で終了するような処理に、5秒くらいかかったりするときがたまーにある。
2002-11-20 [長年日記]
_ 鼻水と痰 (20:02)
風邪はずいぶん良くなったんだけど、鼻水と痰が治らない。といっても鼻水は、水っぱな系統じゃなくて、鼻の奥に粘性の強いかたまりの存在を常に感じていると言ったもので、痰はその無意識に飲み込んだ結果、といったもの。症状としては全然大したことないんだけど、すごく気になってとてもいらつく。のど飴なめてもトローチなめてものどスプレーかけても全然すっきりしないし。
_ CONNECT mailb.microsoft.com:25 (20:02)
そういや今日のWebサーバーログに「CONNECT mailb.microsoft.com:25」なんてあやしげなものがあったんで、何かと思って調べてみたら、セキュリティの甘い(っつーかセキュリティがない)フォームメールCGIを検索するツールのログだった模様。そういや今日来たSPAMには「This message has been sent using a trial-run version of the TSmtpRelayServer Delphi Component.」とか丸出しで書いてあってちょっと笑った。そんなコンポーネントがあるんだね。もしかしてRelay可能なsmtpサーバーをスキャンしてSPAMを出す支援をするコンポーネントじゃあるまいな。
2002-11-22 [長年日記]
_ URL表記 (20:02)
RSSとかの前に、各サイトごとのURL表記について、定義する書式とそれを配信する方法を決めて欲しいなー。サイトをデータベースみたいなものとすると、その中から特定のページ(データ)を引き出すためのURLってのは、プログラム的に言えばAPIみたいなものだし、それが各ページてんでばらばらで統一感がないってのはいただけない。特に複数表記が可能なURL(インデックスファイル名の省略、引数の省略)なんかは、「公的にはどちらが正しい」とか決めておいてもらえるとうれしいなー。セマンティックWeb方面でそのあたり考えている人はいるのかな?
ちなみにこのWikiLikeでは、各ページの固定urlは、
って感じで、各キーワードの固定urlは、
※keywordの文字コードはEUC_JP って感じか。
揺らぎパターンとしては、
- http://www.ishinao.net/WikiLike/?sid=(page_sid)
- http://ishinao.net:80/WikiLike/?sid=(page_sid)
- http://ishinao.net/WikiLike/index.php?sid=(page_sid)
- http://64.177.143.173/WikiLike/?sid=(page_sid)
なんてのがある。
2002-11-24 [長年日記]
_ InterLink XP FAQ (20:02)
- InterLink XP FAQ(http://i386.s15.xrea.com/interlink/index.html)
ふーん、InterLink XPってちょっと欲しかった機械だったんだけど、VAIO SRX買っちゃったからその後全然チェックしていなかったんで、実際に発売されて以降こんなことになっているなんて知らなかったよ。っつーか、PC業界に新規参戦してくるメーカーには警戒した方がいい、って話なのかな。
2002-11-26 [長年日記]
_ WikiLike (20:02)
うげ、久しぶり過ぎてhnfの書き方を忘れちゃったよ。タイトルコマンドはなんて書くんだったかな?
で、Ich-Diaryはすでに過去のものとなりまして、現在の日記はWikiLikeで書いているみたいですよ。
2002-11-27 [長年日記]
_ リンクの集積で構造をみる (20:02)
『結局、日誌』Tue. Nov. 26, 2002(http://www.ne.senshu-u.ac.jp/~yamasita/diary/200211.html#20021126)の、 >テキストサイト(でも、ウェブ日記でも)、単一のリンクだけだと全体像が把握しにくいという問題。 とか >1週間とか1ヶ月くらいのリンクの集積で構造をみる。これは、blog mapの集計がヒント。 とか。
そのうちそういうことを自分でやりたいなーと思ってデータを集めていたんだけど、そんなことをやっている暇はいつになっても出来そうにない(というか、自分の中の優先順位が下がりすぎてしまった)んで、そういうことがやりたい人のためにblogmapで収集している生データを公開(http://ishinao.mine.nu/blogmap_rawdata.zip)。
zipファイル容量7Mバイト弱。展開すると35Mバイトくらいになります。中身は3個のCSVファイル。
- 「blogmap_source.csv」が「データ収集元ページのurl」とその「sid」
- 「blogmap_crawl.csv」が「データ収集日時(その日の最終回開始時間)」とその日を表す「sid」
- 「blogmap.csv」が収集したデータ本体で、「収集日sid」、「リンクされていたurl」、「収集元ページsid」
となっています。
ただし適当なフィルタリング処理によって、自動的に「リンクされていたurl」から除去されてしまっているものや、データ収集タイミングの狭間に消えてしまったデータなんてのもあります。ご利用したい方は何かの参考にどうぞ。面白い結果が出たら是非Webで公開してください。
2002-11-28 [長年日記]
2002-11-30 [長年日記]
_ 体調は回復せず (20:02)
一昨日一日仕事を休んだにもかかわらず、全然体調は回復しなかった。けれど、昨日でいったん出向を終えて自社に戻ることになっていたので、引き継ぎとかの関係上出ておかないとまずいよなということで、がんばって出社。しかし地に足がつかず、薄い膜を通して外界とコンタクトしているような、なんだか奇妙な感覚が一日中続いた。それでも脳みその働きにはあまり影響がなかったらしく仕事はそれなりに進んだ。で、ふらふらになりながら家に帰ってきたら、昨日忘年会だったオクサンがムスコとともに玄関で寝ていた。この酔っぱらいが! ムスコはベッドに連れて行ったけれども、オクサンを運ぶ気力はなかったので布団を掛けて放置。自分はベッドに入って寝ていたら、体調がどんどん悪くなってきて、体中が痛くて動けないんだけど熟睡もできない状態に。結局朝起きたら今にも死ねるくらい体調が悪化していた。というわけで、ただいま布団を3枚かけて暖房をがんがん焚きながらベッドに横になっている。薬を飲んで大汗をかいたらひどかった頭痛はずいぶんとひいてくれた。しかしそろそろオクサンが歯医者に出かける時間だ。最近家の中でボール遊びをしたがるムスコに、なにやらひどい目に遭わされそうな予感が……。
_ 世界のアンテナたち (20:02)
世界のアンテナたち(http://amano.haun.org/antennas/)を見て考えた。
textmaniaでは、サーバー負荷低減のために出来るだけ重複した情報をもつアンテナは、情報ソースとして利用しないようにしてきたんだけど、やっぱり頻度を少なめ(一日1回とか)にしつつ、多くのソースを利用するようにしようかなー。サーバー負荷に関しては、一応まだ余力はありそうな気配だし。
textmania自体も二次利用者向けの情報を公開した方がいいだろうか。textmania自体は何一つ新しい情報を生成しない完全二次情報オンリーアンテナだから、そこからの再利用性は考慮しない(再利用したければ、一次情報ソースを利用すればいい)という方針だったんだけど。あと、このサーバーはダウンロード用途禁止だから、lirs.gzとかを配信すると規約に引っかかる可能性もあるんだよな。ただもともとtextmaniaを作った頃には、最新n件の情報を何らかの形で外部サーバーでも利用できるようにして、子アンテナを作れるようにしようという計画はあったんだよな。出来る限りいろんなサーバーで動作するようなPerl-CGIで子アンテナスクリプトを書いたりして。というあたりを思い出しつつ、再び迷いの森を彷徨中。

