Feb 24, 2005

Update-n-Ping Plugin

エントリーを更新したときに更新Pingを送信するプラグインを公開します。Movable Type 3.1以降でしか動作しません。

UpdateNPing_Plugin - ogawa - Google Code

Movable Type 3.1以降では、新規エントリーを「公開」状態でポストしたり、「下書き」状態のエントリーを「公開」状態に変更すると、予め設定されているPingサーバーに更新Pingが送信されます。一方、すでに公開状態のエントリーを編集して再度保存しても更新Pingは送信されません。

このプラグインは、公開状態のエントリーを更新したり、新規に公開状態のエントリーを追加したときに更新Pingを送信するようにMTの動作を変更する機能を提供します。Pingが成功したかどうかはメイン・メニューのログで確認できます。

このプラグインは次のような場合に役に立つでしょう。XML FeedをFeedBurnerにハンドオフしている場合、ブログが更新され、オリジナルのXML Feedが更新されたとしても、FeedBurnerが提供するFeedにはすぐには反映されません。FeedBurner botがオリジナルFeedを「そのうち」フェッチしてくれるまで反映されるのを待たねばなりません。しかし、このプラグインを使ってブログが更新されたタイミングでPing-o-Matic!に明示的にPingを打てば、FeedBurner botは十分速くオリジナルのFeedをフェッチしてくれるはずです。

Feb 22, 2005

FeedBurnerに移行した件について。

Movable Typeの再構築が遅いの速いのという話がありますが、よくよく考えるまでもなくメイン・インデックスが再構築される(エントリー投稿・更新、コメント、トラックバック)時、RSS 1.0, 2.0, Atomの3つのXML Feedも一緒に再構築されています。ASP型のサービスでは大抵いずれか一つしか提供していないのにMovable Typeの親切ぶりはどうよ、どうなのよ、ねえ、と思わなくもありません。

個人的には一つだけにして当社比3倍(実際には他のアーカイブも再構築されるのでそんなに速くなりません)と行きたいところですが、Bloglinesで他のフィードにもまんべんなく読者が付いていることから判断するに、適当な方法で他のFeedのユーザーを誘導してやる必要が明白にあるということです。

とりあえずindex.rdf, index.xmlからatom.xmlにリダイレクトしてみたのですが、Bloglinesが3回ずつアビっていかれるご様子。また、AtomとRSSが将来統合されたらAtomという名前ですらなくなったりする気もしてその時またatom.xmlから変更するのかよ、と。将来Jabber/XMPP Botがフィード更新の通知を受け取ってから即時GETに来るようなフレームワークが一般的になったときに、今よりFeed Provider側(つまりは私の使っているサーバ)にトラフィックが集中しそうじゃんか、と。更新通知する仕組みを皆が用意するのは結局現実的でなくて適当なアウトソース先に丸投げしてそこが勝手に「アドバンストなテクノロジー」を発揮してくれればいいじゃんか、と。要するにもう少しユニバーサルで賢いやり方はないかと思ったわけです。

そこでFeedBurnerタン(FeedBurner - Point your feed here. We'll do the rest.)の登場ですよ。

FeedBurnerについてはGoogle 検索: FeedBurner。おいらの代わりにXML Feedの配信してくれるのに加えて、ブラウザヴィジブルにしてくれたり、統計を取ってくれたり、他のFeedをマージしてくれたりと(簡単にできることは)色々してくれます。多分「アドバンストなテクノロジー」も勝手に導入してくれるでしょう。

私のやった作業はこんな感じです。

当初Atom Feedを生成して、それをFeedBurnerに配信させる方法を記述していましたが、それだとbulkfeedsを含め多数のアプリケーションで正常に読み込めない問題があるようです。以下はRSS 2.0 Feedを生成するものとして記述を修正してあります。
  1. RSS 2.0 Feedを昔の名前(index.xml)以外の名前で生成するようにします。
  2. FeedBurnerでアカウントを作って1.で生成したFeedを指すようにします。これで「http://feeds.feedburner.com/AS-U-LIKE」という名前で配信できるようになりました。
  3. テンプレートで昔のFeedを参照している部分を2.で作ったものに書き換えます。私の場合例えばヘッダは以下のように書き換えてあります。
    <link rel="alternate" type="application/rss+xml" title="RSS"
          href="http://feeds.feedburner.com/ogawa" />
    <link rel="alternate" type="application/atom+xml" title="Atom"
          href="http://feeds.feedburner.com/ogawa" />
    
    なぜAtom形式でも宣言しておくかというと、RSS形式からAtom形式への変換はFeedBurnerが自動的にやってくれるからです。前者だけでも構わないと思います。
  4. 「移転しました」Feedを作っておきます。
  5. 適当な期間放置して、4.の「移転しました」Feedを削除します。
  6. やっぱり4.,5.は良くないっぽい(Bloglinesのsubscribe情報が全部消えた)。代わりに旧Feedから新Feedへpermanentなリダイレクトを設定した方がよいです。
    RewriteEngine on
    RewriteRule ^index\.rdf$ <新FeedのURL> [L,R=permanent]
    RewriteRule ^index\.xml$ <新FeedのURL> [L,R=permanent]
    RewriteRule ^atom\.xml$  <新FeedのURL> [L,R=permanent]
    
    Redirectでもできますからお好みで。

さてこの作業を行うと、ただでさえ遅かったBloglines(多分他のWebでサービスしているRSSリーダーも)の更新がより遅くなります。私の作ったFeedを適当な間隔でFeedBurnerがフェッチして二次公開し、それをBloglinesが1時間ないし2時間に一回フェッチするという二段構成になりますから。ただし、Ping-o-Matic!に更新Pingを打てばFeedBurnerに更新が即時に伝わって即フェッチに来ます。したがって一応二次公開に伴う遅延は限定的です。この場合、むしろMovable Typeが新規投稿時にしか更新Pingを送らないこと、従来からあるRSSリーダーの巡回遅延が大きいことの二つが問題です。

前者を解決するにはパッチを当てるかプラグインを入れるかして機能拡張する必要があります。

Ogawa::Buzz: Update-n-Ping Plugin

後者に関しては、私の場合2日に一度も更新しないので構いませんが、そのうちブレイクスルーが起きて如実に速くなることに期待しています。

また、Bloglinesの旧Feedに対するsubscribe情報は、新Feedに書き換わったみたいです。これを自動的にやるのは無理っぽい気がするので中の人が作業してくれた(=301 Redirectを検出してマージしてくれた)のだと思います。あるいは全読者が一斉に移行作業をしてくれたとか?アリエナーイ。

RSSリーダーを使っている読者様はお手数ですが下記URLから購読くださるようお願いいたします。

http://feeds.feedburner.com/ogawa

おまけ: RSSBarについて

FeedBurnerを使うとこのようにRSSリーダーごとの振る舞いも見られるわけなのです…。

しかし…、RSSBarというリーダーはユーザーベースでのシェアは3.6%(=6人/167人)なのですが、Feedのダウンロード回数でのシェアは43%(=478回/1112回)もあるのですね。24時間リーダーを使っていたとしても18分に一回クロールに来ている計算になり、他のツールと比較すると尋常でない頻度です。If-Modified-Sinceヘッダ付きで取りに来ているでしょうから、ほとんど304 Not Modifiedが返っているのでしょう。だけど、一方でリクエストしているクライアント側もそれなりの負荷がかかるわけで、遊休PCを使っているわけなのかしら?

こういうデータが見られるのは面白いです。

Feb 20, 2005

今更iPod shuffleをゲットした。

今更ですが、iPod shuffle 1Gをゲットしました。誕生日プレゼントです。超感謝。ちなみに25日が誕生日です。世間では大抵国公立大学の二次試験の最初の日で必ず朝電車が混みます。

ゆえあって注文は自分でしたのですが「ごるぁ!Apple Store、マジ殺すぞ!」とか思わせていただきました。てへっ。1/27に注文してからずーっと「注文処理中」で出荷直前まで状態が変わりません。だからいつ出荷されるか分からないし、納品後じゃないとキャンセル(返品)しようがありません。何ですかこれは? 近代の電子購入システムですか? アップルファンは特別気が長いのですか? Wired News - アップルストア店員が明かすハリウッドスターの素顔(上) - : Hotwiredを読んで私はむしろMelanie Griffithに共感を覚えました。

私は反アップル原理主義者です。あの会社の売り方と宣伝には生理的に我慢なりません。shuffleのパッケージ裏側の宣伝文句を読み始めて私は悶絶死しそうになりました。ああゆう寝言はPOP広告だけに留めてパッケージには印刷しないでいただきたいです。他にも例えばアップルのお家芸である極端に客観性を欠いた宣伝は、アップル - Mac mini - デザインの「究極のスモールサイズ」の比較写真などに一目瞭然に見受けられるわけです。わざわざタワー型筐体と比較したりして7台も縦に積み重ねたりしてあーあもう見てらんないって感じです。shuffleの「わずか¥10,980~」ってのも念のため「比類なきポリオワクチン、なんと500人分~」なんですけどって感じです。

ちなみにiPod shuffleは気に入っています。単純なことですが、モノには罪はないのです。高校生の頃、妙に高いMac雑誌を買っていましたし、大学生の時はDTM用にMac使っていました。

Feb 15, 2005

Plugin Directory

周知の事実なのかもしれませんが、いつの間にかMovable Type Plugin Directoryってobsoleteになっていて、Six Apart ProNet - Plugin Directoryが更新されるようになっていたらしいですよ。

先月末、recently_pinged_on pluginとquasi-spamfilter pluginの2つをポストしたものの、ProNetの方に掲載されているなどということは露ほども気が付かず、mt-plugins.orgに一向に反映されないので二度ほどゴルァメールを書いてしまったところなのですが(マズー)。今日ProNet MLに「MT Plugins Directory is DEAD?」というメールを書こうとしていたところなのですが(気が付いて良かった…)。というわけでプラグインデベロッパー、ウォッチャーはProNet Plugins Directoryの方をウォッチしなくてはなりません。

Six Apart ProNet - Plugin Directory - recently_pinged_on
Six Apart ProNet - Plugin Directory - quasi-spamfilter

追記: ProNet MLでもいろいろあってmt-plugins.orgにアクセスするとwww.sixapart.comにRedirectされるようになったようだ。でもどうやって新しいプラグインをポストしたらいいのだろう。

Movable Type 3.151 日本語版・修正案

ダイナミック・パブリッシング関係のバグはかなり潰したつもりだったのですが、まだまだ残っているようです。このエントリーにバグ情報をトラックバックすると、小人さんがパッチを考えてくれることがあります。

MT-3.151-ja-p01.zip

  1. save_entry時に「Use of uninitialized value in modulus (%) at lib/MT/Util.pm line 159」と言われて失敗する場合がある。(2005/02/10)
  2. ダイナミックパブリッシングでMTCommentOrderNumberが生成されない。(2005/02/10)
  3. ダイナミックパブリッシングでMTEntryCategoriesの中でMTCategoryCountを使用すると必ず1を返す。(2005/02/15)
  4. save_entry時にすでにエントリーに割り当てられているbasenameが変更されてしまう。(2005/02/15)
細かい説明は書いている暇がないので省略します。

Feb 11, 2005

南セントレア

「セントレア」は白紙に 新市名は住民アンケートで - livedoor ニュース

なんだよ、白紙カヨ。

幼少期に南知多ビーチランドあたりに行ったことがある(に違いない)私に言わせれば、南セントレア市で上等。だいたい美浜も南知多も地名としては大した歴史はない。「南知多市」とかしょーもない名前にするつもりだろうが、「知多」の南ってことで、思いっ切り「知多市」に従属しているわけでわざわざ付ける名前とも思えない。

つーか南セントレアになれば、皆「南セントレア」参りしてくれるわけよ。
しかも南セントレア女学院(ミッション系)とかもできるわけよ。で、制服とか高く売れるわけよ。
共学の南セントレア学園(制服はブレザー)はフェンシングとアーチェリーだけなぜだか強かったりするわけよ。
そういうありもしない物語がもう一億人民の頭の中で妄想されてるわけよ。
先端的なオタだとすでに「南セントレア子、萌えー」とか叫んでるに違いないわけよ。
それみんなチャラかい。

「南セントレア」がポシャるとなると次はぜひ(小川家的には)「ブルーノア市」を勧めたい。
名誉市民第一号は川崎麻世。

それで「セントレア」なんだけど、やはり「せんとりゃぁ」という名古屋弁のグルーヴ感を生かして発音したい(正しい発音は名古屋近辺の出身者に聞きなさい)。「せんとりゃぁでえびふりゃぁくおみゃぁ」とか延々グルーヴし続けられる。「せんとりゃぁす」というよく分からない動詞が発明されるのも時間の問題で、「あの娘せんとりゃぁすでかんわぁ」という(現在は意味のない)表現も可能になる。

Feb 5, 2005

Haller System

昨年末にhhstyle.com原宿本店で注文したUSM Haller Systemのキャビネットがようやく自宅に到着した。

hhstyle.com (メンドイのでアフィリエートとかするつもりはナイ)

想像していたより赤がどぎつくなくて、思いがけないクールさ加減。SOHOっぽい?
それしてもたかがキャビネットとは思えない重さだ。

Feb 3, 2005

NTT東日本の@ビリング

電話料金がたった105円安くなるということで申し込んだわけです、NTT東日本の@ビリング。もうほとんどの月々の支払いに電子明細サービスを利用しているので今更躊躇はありませんでした。

@ビリング | NTT東日本

そしたらユーザーIDがランダムな数字とアルファベット小文字の組み合わせ8文字でいやがりました(初期パスワードは数字8桁)。適当な例を作ると8he1zp4dみたいな感じ。覚えられるもんなら覚えてみろって感じ。2ちゃんのトリップか、パスワードの間違いですかって感じ。いかにも安全っぽいかも、という気がしている人がいるかもしれませんが、人間の自然な行動は「このユーザーIDを適当な紙にメモるだろ、ついでにパスワードもメモっとくだろ、紙ごと紛失してあぼーん」という事態を招きがちで、特段セキュアなわけではありません。

NTTドコモがeビリングを始めたときも確かそんなIDでした。途中からユーザーIDを変更できるようになりましたが。NTTグループはこういうのがお好きですね。ちなみに@ビリングはサービス開始から3年以上経っています(値引きは今年から)。

Feb 1, 2005

Movable Type 3.15 日本語版

Movable Type 3.15 日本語版でましたね。平田さんに送ったかいもあって3.121日本語版で指摘していたすべてのパッチを採用していただけました(ただ一点を除いては)。ダイナミック・パブリッシングもようやくまともに使えるようになってきたのではないでしょうか。

Ogawa::Buzz: Movable Type 3.121 日本語版・修正案

以下の問題は3.151日本語版で修正されました。

上で「ただ一点を除いては」というのは、上記エントリーでも解決法を述べている「コメントの設定で『コメントの表示順』を設定してもMTCommentsの表示順に反映されない」という問題が依然あります(パッチが一部適用されていません)。以下のように一行追加するだけで正常に動作します。

--- php/lib/block.MTComments.php.bak 2004-09-22 15:40:54.000000000 +0900
+++ php/lib/block.MTComments.php 2004-12-04 06:49:13.992670264 +0900
@@ -5,6 +5,7 @@
         $ctx->localize($localvars);
         $entry = $ctx->stash('entry');
         $args['entry_id'] = $entry['entry_id'];
+        $args['blog_id'] = $ctx->stash('blog_id');
         $comments = $ctx->mt->db->fetch_comments($args);
         $ctx->stash('_comments', $comments);
         $counter = 0;

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com