« 2005年06月13日 | top | 2005年06月18日 »

2005年06月14日

blogramming = blog + programming

今日、あだちんと話していて思いついたこと。

blogを書くという行為を、プログラミングする行為と融合してしまうことを、
blogrammingと言う。 書かれたものを blogramという。 そのためのツールを
blogramming環境と言う。

blogramとは、ブログのコンテンツ、つまりエントリ、アクセス記録、コメント、
トラックバックなどを対象とするプログラムである。
blogramはこのように対象を限定しているので、専用にデザインされた
言語仕様やライブラリをもつ。

blogramは永久ループに入ったりCPUを使いすぎないように、
緻密に設計された砂箱の中で実行される。

blogramは、 blogツールの中に格納され、内部や外部から呼びだすことができる。
たとえば「RSSにトラックバックの情報が入ってないのが不満」ということであれば、
RSSを作るblogramを改変すればよい。RSSを送りだすところも、
上記の定義から blogram である。

ハローワールドblogramは以下のようなものである。
これはRuby風の仮想コードで、あるエントリの行数を数えている。


def countLine(entryID)
return getEntry(entryID).split("¥n").size
end

以下の例は、全エントリの行数を数えている。

def countTotalLine()
cnt = 0
getAllEntry().each { |ent|
cnt += ent.split("¥n").size
}
return cnt
end

以下は、そのブログの「検索」されたキーワードのトップのものを返す。

def getTopSearchMsg()
return getAllSearchWord().sort.shift['word']
end

これらのサブルーチンをXMLRPC越しに呼びだす。
以上では外部からの呼び出しを仮定しているが、内部からも当然呼びだせる。
以下のようにテキストを書く。


これまでに、私は、countTotalLine()行のブログを書いたが、
これは、technoratiでは、 technorati.rank("totalLine", "ringo" )番目に多い。
そして、きのうは、 acecssNum(today-1) 回アクセスされた。

何だか新しいなあ。。。 wikiのプラグインをブログ向けに最適化し、
よりプログラムとの境界をなくした感じかもしれない。

blogrammingによって、 これまで取りこぼされてきた多くの情報を発信できるほか、
現在、検索エンジンのサーバーが負担している処理のかなりの部分をblogramming環境が
かたがわりできる、RSSの仕様の不足などに対して迅速に、勝手に、自由に対応できる。

ほかのwebサービスとの連動などが可能になるなど、いろいろ発展が考えられるのではないか。

ブログツールを、本来の部分と、そのツールを使って作られた内容に対する処理をする部分に分け、
さらに使いやすいAPIを提供することで、今までにないサービスが可能になるのではないか。

Posted by ringo : 01:06 | TrackBack

« 2005年06月13日 | top | 2005年06月18日 »