Weblog - Blog

RSS Ping

Posted at 2005-08-16T06:35:00+09:00 in Blog

以前、weblogUpdates.pingは「更新した!」ということしかわからないので、これを元に最新記事を拾おうとかすると面倒極まりないとかいう話をmiyagawaさんがしていたわけですが、海の向こうではRSS Pingというメタ・データ付きで更新通知を送る規格が考えられているようです。

RSS Ping 1.0の方はExampleを見れば一目瞭然なように、

をパラメータとしてHTTP GETでpingサーバーにリクエストしてやることにより更新通知をするというものみたいです。オプションとして、タグや最新記事のコピーが含まれるXML(最新記事のみを格納したRSS 1.0/2.0Atom 1.0)のURLを送信することも可能とか。

ドラフト段階のRSS Ping 2.0では、HTTP GETではなく最新記事のみを格納したRSS 1.0/2.0やAtom 1.0を下位に持つrss_pingをルートとしたXMLをHTTP POSTで送ってやることにより更新通知をするというものみたいです。他に更新通知スパム対策に認証の仕組みなんかも定義されるようです。

ひとつ前のエントリ、「Sam Cassellサヨウナラ」を例にとってRSS Ping 2.0の仕様に沿った送信するXMLを作るとすると、

<rss_ping version=2>
  <site_name>hail2u.net - Weblog</site_name>
  <site_uri>http://hail2u.net/blog/</site_uri>
  <feed_uri type="RSS 2.0">http://feeds.feedburner.com/hail2u/blog</feed_uri>
  <payload type="RSS 1.0 fragment"
    encoding="UTF-8"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <item rdf:about="http://hail2u.net/blog/sports/good-bye_sam_cassell.html">
      <title>Sam Cassellサヨウナラ</title>
      <link>http://hail2u.net/blog/sports/good-bye_sam_cassell.html</link>
      <description>昨シーズンは怪我とフロントとの確執などで思うように実力を発揮できず、Wolvesがプレーオフ出場を逃した戦犯扱いされたSam Cassellがトレードされました。キュートな離れ目をもう見れないかと思うと悲しいですね(心を込めて)。</description>
      <dc:creator>Kyo Nagashima (mailto:kyo@hail2u.net)</dc:creator>
      <dc:subject>Sports</dc:subject>
      <dc:ate>2005-08-16T05:09:17+09:00</dc:ate>
    </item>
  </payload>
</rss_ping>

こんな感じっぽい(ExamplesがRSS 1.0にwebmaster要素とかあったりとかちょっとおかしいので勘)。payload要素のtype属性にfragmentを含むと、RSS 1.0のchannel要素やAtom 1.0のfeed要素を記述しなくてもOKとか(なんか場当たり的)。あまり考えずに実装できそうではありますね(blosxomなんかだとflavourと簡単なプラグインだけでいけたりするかも)。

通知する情報自体はフィードで提供する情報とほぼ等価なので、最新記事のみを格納したRSS 2.0やAtom 1.0を丸投げとかで良いような気がする。

いずれにせよ単なる更新通知にしか使えないweblogUpdates.pingよりもパワフルではあると思うので、こういった規格にリプレースされていくと面白いかも。

Pingoat

Posted at 2005-08-13T22:09:00+09:00 in Blog

Pingoatは複数のblog更新通知サービスに更新通知を送信できるサービス(有名なのはPing-o-Matic!)のひとつです。見ればわかりますが、Bulkfeedsping.bloggers.jp1470.netなど日本の有名なサービスにも対応していたりするので、僕ら日本人にも使えるサービス。

blog更新通知はほとんどの方がやっていると思うわけですが、複数のサービスに送信しようとするとサービス側の好不調の波に左右され、最終的にはエントリの更新にも影響してしまいます。ので、こういった中継サービスは潜在的に需要は大きいはずなんですが、日本の各サービスに対応したものは無かった(と思う)ので、うれしい人はうれしいのかも。

この系統のサービスは、こういったチェックボックスの系統のものが多い様ですが、textareaにエンドポイントURLを列記して一気に送信できるサービスとかもあっても良いかなとか思ったりします。作ろうとは思わないんですが。誰かRuby on Railsとかで作って!

まぁそんなに送ってどうするんだという話もありますけど。僕は、

http://ping.bloggers.jp/rpc/
http://www.blogpeople.net/servlet/weblogUpdates
http://rpc.blogrolling.com/pinger/
http://rpc.technorati.com/rpc/ping
http://ping.feedburner.com/

の5つに送信で安定中です。別に深い意味があるわけではないですけど。

blogの掃除

Posted at 2004-12-31T17:19:00+09:00 in Blog

年末は大掃除というわけで、writeback(コメント + TrackBack)を殺してみたりしてみました。そのうち構ってもらえないことに寂しさを感じて復活させそうですが。こういうなんというかこそばゆい(または子供っぽい)突発的な行動は長くテキスト系のサイトをやってると定期的に起こすような気がする。僕だけ?

Permalinkがエントリの本文のみなので、サイド・バーが長すぎでバランス悪いのは良く無いですね。MTみたいにPermalinkではサイドバー無しとかが良さそうだけど、それはそれでWeblog以外のコンテンツとバランスが取れてない気がしたりもする。単にWeblogだけサイド・バーが長すぎると言うだけの話なのかもしれない。

予定ではエントリ・ファイルをAtom 0.3準拠なフォーマットにしてゴニョゴニョとかシステム的な部分にも大幅に手を入れようとか考えていたんですが、それはBlosxom 3ベースで作り直したらにしようかなと。AtomもAtomでアレなのでXMLな独自フォーマットでもでっち上げようかとか思ったりとか、カテゴリも流行りのTag方式を採用しようかなとか、効率良くPermalinkを静的なHTMLファイルに差し替えていく仕組みを作ろうかなとか、色々なことを考えているだけな状態だったりしますが。

blogsnow

Posted at 2004-12-03T18:01:00+09:00 in Blog

アクセス・ログを眺めてニヤニヤしていたところ、blogsnowbotというUserAgentで巡回に来ていたbotを見つけました。調べてみたらblogsnowという、BloglinesのTop linksとほぼ同じサービスで、blogで言及された回数の多いURLをランキング化しているものみたいです。「blog snow」ではなく「blogs now」みたいだ。

トップページに並んでいるランキングを見たところ、基本は最近言及があった事が基準のようです(タイトルの直ぐ下にあるバーの明るい緑の部分)。他にthis hourなどと言った本当にリアルタイムに近いランキングや、moviesなどあるジャンルに特化したものもあったりしますね。

特に目新しいサービスではないですが、検索その他のサービスがまったく提供されておらず、言及されたURLをランキング化することに特化していおり潔いなぁとか。また、速報性という点で類似のサービス(BloglinesのTop LinksやPopdexDaypopのTop News Storiesなど)に比べて数段優れているような気がします(嘘かもしれない)。デザインがシンプルでとても見やすいので、その点でもかなり気に入ったり。日本語化けてたりするけど。

Blog Hackers Conference 2004

Posted at 2004-09-21T18:55:00+09:00 in Blog

来年もあるのだろうか?と勘ぐってしまうBlog Hackers Conferenceより帰宅。感想とかは書くのは他の人に任せて、気になった点を列記してみたりとか。何はともあれ会場の様子の画像から。

3684kg!

間違えました(わざとですが)。これはおととい生まれた甥(まだ名前無いみたい)の写真。3700kg弱という巨漢。

それはともかく。

こんな感じ。わけわかんないですね。途中寝そうになったのは秘密。いや、つまらなかったわけではなくて、単に起きっ放しだっただけです。

FeedMesh

Posted at 2004-09-15T11:33:00+09:00 in Blog

Weblogs.Comが作成(策定)した更新通知システム(weblogUpdates.ping)にちょっと機能不足な感じを抱いているのは世界共通なようで、その解消と共にRSSの帯域問題にも効果があるかもしれないFeedMeshというプロジェクトが始まったみたいですね。

MLをきちんと読んでないので正確なところはわかりませんが、このプロジェクトが目指すものはRSSリーダーの分散型プロクシみたいなものなんではないかなぁと。更新通知の時に最新記事の内容が独自のネットワークに登録され、そのネットワーク(多分)上で共有されるので、RSSを配信元サイトにGETしに行く必要が(あまり)なくなり、配信側的にはオイシイかも。受信側もRSSを全て取得しなおす必要がないので、効率的(ネットワークの効率が良ければだけど)。

配信側は現状の更新通知システムの実装にちょっと手を加える程度で済む(ように作る)はずなので、問題はあまり無いと思いますが、独自のネットワークにアクセスする必要があることからRSSリーダー側の対応は結構大変そう。

Blog Hacks: Hack #79

Posted at 2004-08-31T22:39:00+09:00 in Blog

もう第二刷!な、ぶろがーのますとあいてむBlog HacksのHack #79ではPerlでBloglinesの新着記事数をチェックするスクリプトのお話です。このHackの子見出しは、「WindowsやMac OS Xと違ってBloglines Notifierの用意されていないLinuxなどで・・・」となっていますが、現在はMozilla Extensionとして動作するものKDE上で動作するものが公開されています。ので、通常はこちらを使った方が良いと思います。

と、するとこのHackが無意味なモノになってしまうのでいろいろと誤魔化してみる。子見出しと違う形になってしまいますが、いろいろなプログラムからBloglinesの新着は取得できるんだよ!みたいなHackとして受け取ってもらえれば幸いです。Hackの前半で書いているように、ごく簡単な手続きでパースしやすい文字列が返ってくるってわけです。

Windowsだと、簡単なスクリプトが動かせたりするSamurizeCoolMonKapsulesなどでBloglinesのNotifierを作ることができるでしょう(使ってないので僕は作りませんけど)。また、TClock Lightのユーザー定義文字列を引数でセットできる機能を利用して、WSHで新着記事数を取得してTClock Lightに渡し、タスクトレイに表示するなんてことも可能です。

TClock Lightを利用してBloglinesの新着記事数をタスクトレイに表示

これを実現するためには以下のようなVBScriptファイルでOK。

sMail = "<登録したメールアドレス>"
sTClock = "C:\Program Files\TClock Light\tclock.exe"

Set oXmlHttp  = CreateObject("Msxml2.XMLHTTP.3.0")
Set oWshShell = WScript.CreateObject("WScript.Shell")

sTClock = Chr(34) & sTClock & Chr(34)

oXmlHttp.open "GET", "http://www.bloglines.com/update?user=" & sMail, False
oXmlHttp.send
sRes = oXmlHttp.responseText

aRes = Split(sStr, "|", -1, 0)

oWshShell.Run sTClock & " /ustr9 " & aRes(1)

あとはTClock Lightの書式設定にUSTR9と書いてやればこのVBScriptを実行するたびにタスクトレイの表示が更新されます。定期的にこのVBScriptを実行したい場合は、同じくTClock Lightのアラーム設定で適度な間隔を指定してやれば良いです。さらにはTClock Lightのマウス操作設定で、タスクトレイのダブルクリックをファイルを開くにしてやり、ファイルに、

http://www.bloglines.com/myblogs

を指定すると、タスクトレイのダブルクリックからMy Blogsが開けて完璧!

まぁ僕はtcbloglinesを使っているんですけどね。

コメント・スパム対策いろいろ

Posted at 2004-08-31T12:32:00+09:00 in Blog

既にそれなりの効果を上げているものから妄想段階のものまで、コメント・スパム対策を羅列してみる。とりあえず10個。とりあえずて。ちなみにうちでは3つほどを連続でチェックしてます。現状では95%近く拒否できている模様。みんなでやればきっと楽しいいたちごっこ!

評価の星(☆)は5段階。とは言うものの5のものはなかったりする。これは僕が未だに「決定的な対策は無いかなぁ」と感じていることを受けています。また、手作業でのスパミングは考慮外です。文末に「(未確認)」と付いているのは、誰も実装してない妄想段階の対策です。あくまでも機械的に投稿されるものへの対策。手作業でのスパミングはIPで投稿間隔チェックとかで良いと思います。

URLのチェック ☆☆☆

ブラックリストなURLのリストを作成し、それに該当するかどうかでチェックする方法。誤爆の可能性は無く、対策としては確実。しかし、最初の一回は絶対に防げないことや、ブラックリストの管理などの手間がかかることなど、コストの割に報われない。

アスキーチェック ☆☆☆

コメントの本文がアスキーのみかどうかでチェックする方法。効果はかなり高いが、誤爆の可能性も否定できない。最近ちょくちょくあったりするロシア語や韓国語のスパムは防げない。

ひらがなチェック ☆☆☆☆

アスキーチェックを一歩進め、コメントの本文にひらがなが含まれるかどうかでチェックする方法。これも誤爆の可能性は否定できないが、ロシア語や韓国語のスパムは防げる。

URLと本文の比較 ☆☆☆☆

(typesterさん案)URLとして入力された文字列が本文にもあるかどうかでチェックする方法。マッチさせる方法は工夫する必要はあるので、誤爆の可能性は否定できない。しかし、多くのスパムがあるURLへの誘導を目的としたものであり、結果としてURLと本文の両者に同じURLがあることが多いというスパマーの心理を突いた対策で、効果は高そう。

本文のURLの数をチェック ☆☆

(typesterさん案)本文にURLが5つ以上書かれているかどうかでチェックするという方法。誤爆の可能性は否定できないが、通常のコメントでは5つ以上URLをコメントで投稿することはまずないのであまり問題になることはない。一方で、しきい値(この場合は5)に満たない場合はまるでチェックできないなど問題もある。他のスパム対策と組み合わせて利用するべきか。

指定した文字列を入力チェック ☆☆

コメントの投稿フォームに予め設定したランダムな「this is not spam」などという文字列を手動で入力してもらい、それをチェックする方法。基本的に手作業での投稿を強制することに繋がるので、効果はそれなりに高い。しかしそれ以上に訪問者が負担と感じると思われるので、スパム対策としては下策。

画像で指定した文字列を入力チェック ☆☆

コメントの投稿フォームにランダムな文字列を画像で表示し、その文字列を手動で入力してもらい、それをチェックする方法。基本的に手作業での投稿を強制することに繋がり、効果はそれなりに高い。しかしそれ以上に訪問者が負担と感じると思われるので、スパム対策としては下策。

hiddenでパラメータを渡してチェック ☆☆☆

(oobaさん案)エントリのIDなどから類推しづらい文字列を機械的に生成し、それをhiddenでパラメータとして渡してやり、それをチェックする方法。指定した文字列を入力チェックなどとは違い、訪問者に負担をかけないという点では優れている反面、機械的に解析することが比較的容易であるという脆い面もある。

プレビューチェック ☆☆☆

訪問者に一旦プレビューしてもらい、その後改めて投稿してもらうことによりチェックする方法。これも手作業での投稿の強制に繋がるので、効果はそれなりに高い。前の二つと比べても訪問者への負担は少ないので良い。

IPチェック ☆

ブラックリストなIPのリストを作成し、それに該当するかどうかでチェックする方法。確実ではない上に、誤爆の可能性も否定できない。更には最初の一回も防げない。管理の手間も辛い。という即効性は皆無な対策。ただし、投稿間隔のチェックなどのためにIPをチェックすることは必要とは思われる。

リファラチェック ☆☆☆☆

リファラがblog設置URLまたはblog設置先ドメインを含むかどうかでチェックする方法。詐称することは可能なものの、機械的にスパミングする奴でそこまでやっている奴はあまりいない(今のところ)ので、効果はかなりある。

HTTP_ACCEPT_ENCODINGをチェック ☆☆☆(☆)

HTTP_ACCEPT_ENCODINGにgzipが含まれるかどうかでチェックする方法。基本的に誤爆はしない(はず)が、詐称することは容易。HTTP_ACCEPT_ENCODINGにgzipが含まれる場合、gzipでエンコードしてサーブするサーバー(XREAなど)の場合は、詐称しても意味が無い(gzipのデコードを実装しなければならない)ので☆追加。

HTTP_ACCEPT_LANGUAGEをチェック ☆☆☆

HTTP_ACCEPT_LANGUAGEにjaが含まれるかどうかでチェックする方法。詐称することは容易な上、中にはきちんと設定していない人もいる。取りこぼし・誤爆共に可能性が高いと思う(未確認)。

HTTP_FORWARDEDをチェック ☆☆☆

(oyamaさん案)多くのプロクシ・サーバーが送信するヘッダであるHTTP_FORWARDEDやHTTP_X_FORWARDED_FORがあるかどうかでチェックする方法。多くのスパムがプロクシ・サーバーを介して投稿されることを考えると、効果は絶大ではある。しかし、スパムの投稿以外の目的でプロクシ・サーバーを介して投稿することもかなりあると思われる(会社からなど)誤爆率も高い。一時的な処置としては良いと思う。

JavaScriptでフォームを書き出す ☆☆☆

(oobaさん案)JavaScriptでコメント投稿フォームを書き出すことによって、機械的にパースしにくいフォームに仕様という対策。JavaScriptファイルを別ファイルにすれば、さらにパースしにくくなるかも。JavaScriptのパーサーはいくつもあったりするのでばれれば即終了とか言う可能性は否定できないが、現状では効果的な対策かもしれない(未確認)。

mt-comments.cgiをリネーム ☆☆

(oobaさん案)Movable Type専用の対策方法。それなりに効果があると思いきや、あまりひっかからない模様。スパマー手強い。


こうやって対策をぶっちゃけていくと、スパマーも学習してしまうわけで、結局は独自に学習するスパム対策が・・・ということになって、ベイジアン・フィルタマンセー!になっちゃいそうな。

他にも良い対策あったら教えてください。

追記

oobaさんとoyamaさんの案を追加しました。

追記@2004/09/20

typesterさんの案を追加しました。

1000エントリまでの道

Posted at 2004-08-28T13:42:00+09:00 in Blog

1年と3ヶ月ちょっとでようやく1000エントリに到達しました。1000エントリまでの推移を興味本位で調べてみる。ということで1000ゲットズサー(←これを書きたかったらしい)。

カテゴリごとのエントリ数

blosxomの話題が多いと思いきや、RSSに注力していた時期が長かったので、RSSの話題がトップ。そろそろ「blog!blog!」書くのも飽きてきた(カッコイイ)。

月ごとのエントリ数

月平均でちょうど50というところ。日平均だと1.7前後。このペースは維持したいところだけど、エントリ数がそのblogの良さの指針になるわけでもないので適当に。一日一エントリというのを頭に入れておく程度の感じで。

コメント数: 786

およそ8割くらいという感じか。コメントがつきにくい類いのエントリを書いている割には多い気がする。返事するのがメンドウなので、コメントの数が減るように努力します。

TrackBack数: 349

コメントのちょうど半分くらい。意外に多い感じ。多くのblogツールでは、明示的にping先URLを指定して送信という形でTrackBackを実装しているものが多く、今後もそれは変わりそうも無いので、減りもせず増えもせずという感じになりそう。

引用した数: 131

あまり人のサイトから何かしら引用して書く人ではないようです。TrackBack数と併せて考えると、引用するよりされることが多いサイトということですか。フフッ。


ということで1000ゲットズサー(←コレが書きたかったらしい)。

1000エントリついでに全エントリをRSSでバックアップしておいた。バックアップの仕方は、月ごとのRSSを全部GETしてマージという荒業で。素晴らしく巨大なRSSが出来上がりました。

blosxomマンセー!

weblogUpdates.pingはなかったことに

Posted at 2004-08-26T11:49:00+09:00 in Blog

weblogUpdates.ping の拡張メモから頭に浮かんだ妄想の類いのエントリを書いてみる。weblogUpdates.pingはblogのタイトルとURLだけなものなので、それらの情報に加えてエントリのURLとタイトル、概要が既に定義されているTrackBackを利用しちゃえば良いんじゃないかなとか。既にあるものの別な利用に過ぎないので、拡張するよりもツール側の対応も楽勝!とかなんとか。

仕組み的には通常のTrackBackとなんら変わるところは無い(と思う)ので、送信側(=blogツール)のやることは、

だけ。前者は近頃のblogツールには大抵実装済みだと思うので、実際には後者の実装のみになるかなと。

受信側ではうまいことゴニョゴニョすれば、weblogUpdates.pingの受信と共存することも可能ではないかなとも思います。

ただ、TrackBackの仕様書らしきページには、

The central idea behind TrackBack is the idea of a TrackBack ping, a request saying, essentially, "resource A is related/linked to resource B".

とか何とかなっているので、アレな使い方になってしまうことは確かですけど。

実際にTrackBackによる更新通知を利用した更新通知サーバーが出来たとすると、そのサイトではWeblogs.Comみたいな素っ気無い物ではなく、RssRollingみたいな「おっ?」という感じになり、それもまた面白そうかななんて。

Page 1 of 7: 1 2 3 4 5 6 7 »

Weblog archives

by Category

This page was last modified on 2005-08-16T06:35:25+09:00 (in 0.269 secs).