Web Pipes いろいろ使ってみた

patchservice は運悪く?他人が作ったパッチを動かそうとするとエラーが出たためほぼ未検証。
yahoo pipesエンコーディングで失敗する場合があるのでみんなあれこれ苦労している模様。
MyRemixOPML サポートしたらいいのに。メール使えるのはいいんだけどね。あと作業領域ひろげたいな。

プログラマだからかもしれませんが、パーツを一つづつおいていってつなげてプロパティを変えていくのが面倒に思えた。
でも、フローチャートがそのまま動くってのはいいかもしれない。
あと、Plagger だと動作させる環境からそれぞれつなぎにいくので対象のサーバ負荷を考えるとこういうサービスを使っていった方がいいんじゃないかな。
こういうサービスと Plagger を組み合わせると幸せになれるんじゃないかな。

yahoo pipesMyRemix も一定期間内(最新一週間とかね)にしたかったんだけどやり方がわからなかった。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 の漢字キー対応を行ってテストしていました。が、あるタイミングでキーボードが入力できなくなる現象が発生しています。日本語入力の切り替えはできるんですが、キーを受け付けずに、はじいている感じがします。
なんとなく原因がわかったようなわからないような・・・
こちらは日本語環境独自の影響なのかなぁという推測のまま進展していません。

本家最新版
Win2VNC download | SourceForge.net