月単位のアーカイブ: 9月 2009

varnish-2.0.4のCentOS5.3でのビルド

チラ裏なメモです。

varnish-2.0.4-1.el5.src.rpm
をもってきてrpmbuildすると・・・

—- v1 VCL compilation got 200 expected 106
—- TEST FILE: ././tests/v00017.vtc
—- TEST DESCRIPTION: VCL compiler coverage test: vcc_acl.c
FAIL: ./tests/v00017.vtc
===============================================
1 of 130 tests failed
Please report to varnish-dev@projects.linpro.no
===============================================

と、testsでコケてbuildできない。

http://varnish.projects.linpro.no/ticket/356
に登録されてるのとまったく同じ問題なんだけど、closeされてる。

DNSといえば、dnsmasq使ってるんで、相性的な問題かも?ってことで、/etc/resolv.conf のnameserver欄をコメントアウトして、DNS引けない状態にしてbuildしたら、無事とおりました。

菊の花の代わりにタンポポを使っても良いらしい

以前買ったこの本
遊び図鑑 遊び図鑑—いつでも どこでも だれとでも (単行本)
奥成 達 (著), ながた はるみ (イラスト)
福音館書店
1680円
★★★★★

少し野草のことも書いていて、野草の食べ方なんかも書いてあるので読んでみると・・・
タンポポ
はっきりと

キクの花の代わりにお刺身にそえたり、

と書いてます。

「タンポポを刺身の上にのせる仕事がはじまるお・・・」のAAを見る度にやらない夫よろしく『菊だろ』とココロの中でつっこんでたのですが、つっこめなくなってしまいました。

Buzzurlのランキングで恥ずかしめに・・・っ!(笑)

りょすけ?d(断じてブログではない)のほうに書いたんですが、ソーシャルブックマークを「deliciousのみ」から「はてなブックマーク+webhook+その他いろいろ」という体制に変更しました。

で、一昨日Buzzurlというところのものを足してみて、そのついでに過去のブックマークを移行したら、月間ユーザーランキングでいきなり一位になるというハメに・・・
buzzurl-200909-ranking
一位なのに返信もないしグーされてもないし読者もいない、なんという恥ずかしめ!(笑)

新福菜館のカップ麺を食べてみた

京都SWITCHに「新福菜館のカップ麺を食べてみた」ってのを書きました。

味的には・・・おもしろいけどおもしろくないというか、若干スープが甘かった気が・・・!?
乾燥ネギがちょっと残念というか、もうちょっとこだわって欲しいところでした

RSSは生きてるんで、rsscloudのプラグインも入れてみたけど・・・

TechCrunchには
これでRSSは完全に死んだ:FeedburnerのCEO、Dick CostoloがTwitterのCOOに
なんて記事がありましたが、とりあえずRSSもまだまだ生きてるんで、いろいろ見てみてます。
# 生き死にで言うとむしろtwitterのAPIのほうが・・・(笑)

で、ここのWordPressにはPubSubHubBubのプラグインを導入済みなんですが、rsscloudのプラグインも入れてみました。

ざーっとみたところ、rsscloudとpubsubhubbubの違いで、pubsubhubbubのhubが独立してるってのがあるかと。
# 逆にrsscloudのcloudは大味な印象

これはけっこう大きい問題で、WPでプラグインとりあえず使う分には大差ないですが、rsscloudのプラグインにはpubsubhubbubでいうhubの部分が入ってるんで、メンテは気をつかいます。
hubの部分が入ってるというのは、購読者への通知をプラグインから直接行うってことで、購読者が増えたら記事を公開するときの処理がとんでもなく重くなる予感も・・・

そして、RSSを吐くアプリに実装するのはpubsubhubbubのpubだけのほうが圧倒的に簡単です

というわけで、個人的にはWP以外のブログアプリが今からpubsubhubbubをサポートすることはあってもrsscloudをサポートするとはちょっと思えない感じです


参考URL
* HowTo: Implementor’s guide to rssCloud – rsscloud.org
* Draft: PubSubHubbub Core 0.2 — Working Draft – googlecode.com

PubSubHubBubのpubに対応する

自前アプリでPubSubHubBubのpubに対応するのをやってみたので、とりあえずメモしたものをブログに載せときます。

0. 対象

PubSubHubBubのpubサイト、すなわちRSS2.0またはATOMフィードを出力するWebサイト/Webアプリケーション
(注意)
文中の
YOUR_RSS2_FEED_URLはpubサイトのRSS2.0フィードのURL
YOUR_ATOM_FEED_URLはpubサイトのATOMフィードのURL
を示す。
hubサイトとして http://pubsubhubbub.appspot.com/ を利用する

1. RSSフィード/ATOMフィードの修正

-1. RSS2.0フィードの場合

* rss要素にatomのNSを入れる
(例)
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>

* atom:link rel=”self” と atom:link rel=”hub”を<channel>の中に入れる
<atom:link href="YOUR_RSS2_FEED_URL" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />

-2. ATOMフィードの場合

* link rel=”self” と link rel=”hub”を入れる
<link rel="self" type="application/atom+xml" href="YOUR_ATOM_FEED_URL" />
<link rel="hub" href="http://pubsubhubbub.appspot.com" />

-3. フィードの確認

http://feedvalidator.org/ で確認
エラーではないが、

* line 12, column 62: Unregistered link relationship: hub [help]
<atom:link rel=”hub” href=”http://pubsubhubbub.appspot.com” />

こんなRecommendationsが出るが、気にしない、というかむしろ正しい。

-4. appspotでの確認

http://pubsubhubbub.appspot.com/publish
のPublishフォームにフィードのURLを入力し、Publishを行う。
下のPublisher Diagnosticsフォームに同じくフィードのURLを入力し、「Get info」を押して

Topic Details – YOUR_ATOM_FEED_URL
Could not find any record for topic URL: YOUR_ATOM_FEED_URL

みたいなメッセージがでる。
Livedoor ReaderなどのPubSubHubBub対応クライアントでフィードを購読し、Sub側に現れてもらう。
下のPublisher Diagnosticsフォームに同じくフィードのURLを入力し、「Get info」を押して情報が出力されればOK

2. アプリからPublish通知を送る

hubサイト http://pubsubhubbub.appspot.com/ に対して、以下のパラメータをもつPOSTリクエストを送信する。このPOSTリクエストは application/x-www-form-urlencoded形式のContent-Typeで送信する必要がある。

  • hub.mode : “publish”という文字列
  • hub.url : RSS2.0またはATOMフィードのURL

phpのcurl関数で書くとこんな感じ
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://pubsubhubbub.appspot.com/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTDATA, 'hub.mode=publish&hub.url='.urlencode('YOUR_ATOM_FEED_URL'));
curl_exec($ch);
curl_close($ch);

※ POSTDATAをarrayで渡すとapplication/x-www-form-urlencodedにならないハズなんで注意