planet chemoinformatics をちょっと修正

planet chemoinformaticsのRSS Auto Discoveryが微妙におかしい(/が抜けてた)ので修正。これで、livedoor readerとかbloglinesに登録できる。ま、直接rssを放り込んでも良いんだけど。僕はwebでほとんどみないので、デフォルトのテンプレートをいじって綺麗にしたいという欲求が沸いてこない(今のとこ)。だからRSSリーダーで読んだほうが良いと思うヨ。ちなみに、一日3回更新するように設定してます。

あと、docking.orgも追加した。rssが日付と本文を含まないので、Filter::EntryFullTextを書いてみた。

author: kzfm
handle: http://docking.org/.*?article\.pl\?
extract: (<TABLE WIDTH="100%" BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR><TD BGCOLOR="#FFFFFF">.*?                  </TD></TR></TABLE>)
.*?NAME="returnto" VALUE="//docking.org/article.pl\?sid=(\d\d/\d\d/\d\d)/\d+">
extract_capture: body date
extract_date_format: %y/%m/%d

なかなか快適になってきた。

plaggerでChangeLog(3)

少し色々やってみた。
CustomFeed::ChangeLog
Filter::ChangeLog

  • markdownのフィルターは教えてもらったplaggerのplugin使うように変更
  • clmemoのタグでフィルタリングするようなプラグインも用意した(とりあえずtodoだけGMailに送ればよいので)
  • Filter::BreakEntriesToFeedsでエントリ毎に送信
  • Filter::Ruleで重複チェックをしたいために、偽のpermalinkを生成するようにした。

というわけで、今はこんな設定で動かしてます。

plugins:
  - module: CustomFeed::ChangeLog
    config:
      changelog_file: /home/kzfm/clmemo.txt

  - module: Filter::ChangeLog
    config:
      tag: TODO

  - module: Filter::Rule
    rule:
      module: Deduped
      path: /tmp/dedupe-changelog.db

  - module: Filter::Markdown
    config:
      empty_element_suffix:  />
      tab_width: 4

  - module: Filter::BreakEntriesToFeeds

  - module: Publish::Gmail
    config:
      mailto:   kppppq@gmail.com
      mailfrom: kppppq@gmail.com
      mailroute:
        via: smtp_tls
        host: smtp.gmail.com:587
        username: kppppq@gmail.com
        password: ppppppppppp

これで、TODOのタグつけたアイテムのみGmailに送られるようになる。

2006-10-04 kzfm  <kzfm@teketou.com>
    * TODO: perl
    まるパーのcatalystの章激読み返す
    ====
    Jiftycheck

publishのプラグインを変えれば、blosxomもOK(下書き書いておくのに便利そう)。

さて、気になってるのは、重複チェックの為に用意した嘘っこパーマリンクは駄目だよなと。そもそもパーマリンクのないようなものを扱うのはどうしたらいいんだろうか?と。この際、wikiとかchalowみたいなのにpublishするようにしたほうがよいのか。

かなりやっつけなFilter::ChangeLogなんて作ったけど、ホントは既存のフィルタで対応できるんだろうなと。あとでちゃんとプラグイン調べないといけない。

変更検知して自動でplagger動くようにしたいが、POE使えばよいんだろか?またはmeadowだったらキーバインド指定しておくのが使いやすいんだろうか。

過去のエントリ

URI::Fetchがプロキシーサーバーを通らん

お盆前にインストールにトライしたことがあるんだけど、表題の通り、職場のマシンにplaggerがインストールできない。まぁ、面倒だったのと、どうせ職場からだとGMail通らんし、家で遊んでたほうが楽しいし生産的だしとかいった理由で、ずっと放置してた。

でも最近、イントラのRSSをまとめるためにイントラにplanetが欲しくなったので、URI::Fetchのtestが豪快にこける理由を追ってみた(ってどうせプロキシの設定なんだろうけど)

71     $ua->agent(join '/', $class, $class->VERSION)
72         if $ua->agent =~ /^libwww-perl/;
73     $ua->env_proxy;

やっぱ原因はプロキシで、lwpのuaちょっといじるだけで対応できた。 あとはplaggerのインストールも無事完了。

plaggerでChangeLogを扱う

clmemoみたいなchangelog形式のファイルをplaggerでフィルタリングしながらしかるべきとこ(はてブ,gmail,デリシャスとか)に送れたら便利じゃんと思ったので、シコシコと書いてみた。最初ココいじればいいかなと思ったんだけど、配列だとちょっと使いにくいのとヘッダーもう少し分けたかったので自分で書いた(そのせいでちょっとおかしいとこがある)

Plagger::Plugin::CustomFeed::ChangeLog

clmemo.txtはこんな感じ

2006-05-26  kzfm  <kerolinq@gmail.com>
        * test: テスト汁
        断酒でコーディング、呑むとやる気なくなるからな

2006-05-23  kzfm  <kerolinq@gmail.com>
        * 雑感: 今日は朝からお疲れ気味。
        最近雑用おおすぎ
        ちょっと会議もふえすぎ

* 雑感: WindowsXPだと環境変数の扱いがイマイチわからなくて苦労した
        なかなかつらい
global:
  timezone: Asia/Tokyo

plugins:
  - module: CustomFeed::ChangeLog
    config:
      changelog_file: /home/kzfm/clmemo.txt

- module: Publish::Gmail
    config:
      mailto:   xxxxxx@gmail.com
      mailfrom: xxxxxx@gmail.com
      mailroute:
        via: smtp
        host: localhost:25

gmailに送ったらこんな感じ。

changelog2plagger

あー、毎度のことながらwarningでてます。

$ ./plagger -c changelog.yml 
Plagger [info] plugin Plagger::Plugin::CustomFeed::ChangeLog loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger::Plugin::CustomFeed::ChangeLog [info] Load /home/kzfm/clmemo.txt

Warning (line 22): Found an action ({$item[1]}) after an unconditional
                       
Plagger::Plugin::Publish::Gmail [info] Sending ChangeLog to xxxxxx@gmail.com

まだParse::RecDescentのitembodyのところが駄目駄目なのと、データの構造汚いのが気に入らない。日付とアイテム毎に入れ子のループを回さないといけないのだが、そういう場合ってどういうデータの構造にするのがよいのだろう?ハッシュと配列が入り混じっててヘナチョコになってしまったヨ。

WindowsでCatalystとPlaggerを動かす

学会のwirelesslanがcolinuxで使っているプライベートアドレスとぶつかっていて、外につなげながら、colinuxでコードを書くことができん。アドレス変えるのも面倒なので、WindowsでCatalystとPlaggerを動かすことにした。

上のサイトを参考にしたヨ。

あと、ChangeLog パーザもみつけたので、コレをいじってプラグインを書けば、clmemoをplaggerに読ませて、gmailにメモ送りができるかな。

パッと思いついたことをgmailに送りたい

Chiba日記~つぶやき~

いちいちgmailにアクセスするのが面倒なので

僕はclmemoを使っているので、こういうことができるEmacs-Lispがあれば嬉しい。 clmemoのtextファイル監視しておいてplaggerでgmailに送るのもありかな。とか考えるとblosxomのpublishもwikieditishじゃなくて、plagger使ってclmemo形式のやつをタグでフィルタリングして必要なものはtodoへ、blogに送るやつはblogのエントリとして突っ込むみたいなことにしたほうが楽チンなのかな。

ちなみに、todoだったらfirefoxの拡張使ってgoogle calendarに突っ込むことも多いです。出社時間前とか夜中に予定として入れておくと嫌でも目に付くヨ。

Search::Estraier

plaggerが0.70にあがっていたので、アップデートしたらSearch::Estraier というモジュールが含まれていて、Bulknews::Subtechでもエントリになってたので調べたらかなり面白そう。

Hyper Estraierをインストールしてestmaster起動してから、Search::Estraierをインストールしたんだけど、どうもエラーを吐く。

t/5_Node..............ok 24/142# $VAR1 = {                                   
#           'TIME' => '0.001',
#           'LINK#0' => 'http://localhost:1978/node/_test1_2346
 _test1_2346 label       
10000   5       0       26874431    5',
#           'DOCNUM' => '5',
#           'HINT#1' => 'girl   11',
#           'VIEW' => 'SNIPPET',
#           'VERSION' => '1.0',
#           'NODE' => 'http://localhost:1978/node/_test1_2346',
#           'HIT' => '5',
#           'WORDNUM' => '0'
#         };
can't get http://localhost:1978/node/_test1_2346/_set_link: 
401 Unauthorized at t/5_Node.t line 248
# Looks like you planned 142 tests but only ran 125.

認証なんだけど、colinuxに入れててしかもデビアーンなのでいまいちわからん。というわけでとりあえずのforce installで。なかなか快適なので職場のnamazuを替えたろかとか思ったが、pdfとかwordのフィルタちゃんとやらんといかんね。

plaggerと組み合わせて使ってサーバの検索範囲の類似度を考慮したP2Pで結び付けられれば、ヒトの興味によって緩やかに結び付けられた検索体系が出来上がるような気がしておもろいかもなんて思ってしまう。フォークソノミーの検索版みたいな、、、そんなのはもう概念としてありそうな気がするが僕は知らない。

あとは、まだほとんどさわってないが、mod_estraierでリバースプロキシ用意すれば、blosxomのダイナミックキャッシュとかgoogle sitemapsの検索に頼らなくてもいい感じになるかも。

ProductName Blog Hacks ―プロが教えるテクニック&ツール100選
宮川 達彦
オライリー・ジャパン / ?円 ( 2004-08-07 )


plaggerで狙い撃ち

plaggerいじりしていて集中力が切れたら、突然、狙い撃ちbyリンダが、、、、、

プラガ~プラガ~プラプラガ~~

うーん、頭から離れん。