Web Pipes いろいろ使ってみた
patchservice は運悪く?他人が作ったパッチを動かそうとするとエラーが出たためほぼ未検証。
yahoo pipes はエンコーディングで失敗する場合があるのでみんなあれこれ苦労している模様。
MyRemix は OPML サポートしたらいいのに。メール使えるのはいいんだけどね。あと作業領域ひろげたいな。
プログラマだからかもしれませんが、パーツを一つづつおいていってつなげてプロパティを変えていくのが面倒に思えた。
でも、フローチャートがそのまま動くってのはいいかもしれない。
あと、Plagger だと動作させる環境からそれぞれつなぎにいくので対象のサーバ負荷を考えるとこういうサービスを使っていった方がいいんじゃないかな。
こういうサービスと Plagger を組み合わせると幸せになれるんじゃないかな。
yahoo pipes も MyRemix も一定期間内(最新一週間とかね)にしたかったんだけどやり方がわからなかった。RSSのFetchでFetch件数指定できたらそれだけで結構作りやすくなるのになー。誰か教えて〜
Plagger::Plugin::Publish::GoogleSitemap.pm
GoogleSitemap では RSS を登録することが可能ですが、ワーニング出るのがうっとおしいので Plagger でまとめて更新できるようにしてみた。
(WWW::Google::SiteMap必須)
2008/1/20追記 CodeReposにコミットしたよ!→http://coderepos.org/share/
package Plagger::Plugin::Publish::GoogleSitemap; use strict; use base qw( Plagger::Plugin ); use Plagger::Date; use File::Spec; use WWW::Google::SiteMap; sub init { my $self = shift; $self->SUPER::init(@_); my $output = $self->conf->{filename} or Plagger->context->error("filename is missing"); } sub register { my($self, $context) = @_; $context->register_hook( $self, 'publish.finalize' => \&finalize, ); } sub finalize { my($self, $context, $args) = @_; unlink( $self->conf->{filename} ); my $map = WWW::Google::SiteMap->new(file => $self->conf->{filename}); for my $feed ($context->subscription->feeds) { for my $entry ($feed->entries) { $map->add(WWW::Google::SiteMap::URL->new( loc => $entry->permalink, lastmod => Plagger::Date->now, )); } } $map->write; } 1; __END__ =head1 Plagger::Plugin::Publish::GoogleSitemap - Publish GoogleSitemap files based on your subscription =head1 SYNOPSIS - module: Publish::GoogleSitemap config: filename: /path/to/subscription.GoogleSitemap =head1 DESCRIPTION This plugin publishes GoogleSitemap file using feeds found in the subscription. =head1 CONFIG =over 4 =item filename Filename to save the GoogleSitemap file. Required. =item title Title to be used as GoogleSitemap head. Optional and defaults to I<Plagger Subscriptions>. =back =head1 AUTHOR UnderDone =head1 SEE ALSO L<Plagger> =cut
lastmod は Feed の時刻にした方がいいかもしれません。
→http://coderepos.org/share/browser/lang/perl/plagger/t/plugins/Publish-GoogleSitemap/GoogleSitemap.pmは対応済み
Plagger で WIDE 系 #goingmyway のようにする方法
百聞は一見にしかず。このようなチャンネルにする方法
WIDE系IRCサーバの#goingmywayでは、1分に1エントリを紹介するボットが常駐しており、それを話題として話ししあう仕組みになっています。
同じことをplaggerでできるんではないかなと思った訳ですが、plaggerbot-ircには一定時間ごとに出力する機構がないため、取得したRSSを差分で出さない場合一度に出てしまいます。それはそれでいいのかもしれませんが、1分に1エントリという形で出せるようpatchを作りました。
--- IRC.pm.org 2007-11-21 12:52:34.000000000 +0900 +++ IRC.pm 2008-01-01 22:50:02.000000000 +0900 @@ -50,6 +50,8 @@ for my $line (split("\n", $body)) { $self->{remote}->post( 'notify_irc/update', $line ); } + my $interval = $self->conf->{interval} || 0; + sleep($interval) if ($interval); } 1;
このpatchを適応したyamlの例(下記サーバ・チャンネルでは動作させていません)
global: plugin_path: - plugins timezone: Asia/Tokyo log: level: error plugins: - module: Subscription::Config config: feed: - RSSURL - module: Notify::IRC config: daemon_port: 9999 nickname: plaggerbot server_host: chat.freenode.net server_port: 6667 server_channels: - #plagger-test charset: utf-8 announce: notice interval: 60
この例では、intervalを60秒として追加しています。bot 側でなんとかしようかなと思いましたが、bot にキューイング機構をいれないといけないのでやめました。
interval の設定がない場合は待ち時間なしで動作しますので従来の yaml と互換を持っています。
新年明けましておめでとうごマウス
本年もどうぞよろしくお願いします。
ubuntu に atokx3 を入れる方法
誕生日でプライスダウンしていたので atokx3 を購入した。
http://faq.justsystem.co.jp/faq/1003/app/jsfaq.jsp?48355+0396
FAQに載ってるとおりやったらうまくいった。
簡単にセットアップできたのでびっくり。
win2vnc について
tightvnc の前に、実は win2vnc の漢字キー対応を行ってテストしていました。が、あるタイミングでキーボードが入力できなくなる現象が発生しています。日本語入力の切り替えはできるんですが、キーを受け付けずに、はじいている感じがします。
なんとなく原因がわかったようなわからないような・・・
こちらは日本語環境独自の影響なのかなぁという推測のまま進展していません。