2006年02月28日

Plagger::Plugin::Subscription::YahooJ

http://tech.yappo.jp/download/plagger/YahooJ.pm

=head1 NAME

Plagger::Plugin::Subscrption::YahooJ - Subscription from YWS

=head1 SYNOPSIS

- module: Subscription::YahooJ
config:
results: 25
keyword:
- plagger
- yappo

=head1 DESCRIPTION

This plugin creates Subscription by fetching YWS.

=head1 AUTHOR

Kazuhiro Osawa

=head1 SEE ALSO

L<Plagger>, L<YahooJ::Search>, L<http://developer.yahoo.co.jp/>

=cut


Yahoo! Japanの検索結果を取得します。
Plugin::Cacheと組み合わせると新しくindexされたURLの検知が出来るようになります。
YahooJ::Search必須。

YahooJ::Searchの去就が定まってないのでNoluggerなんでしょうかね。
てかPlugin::Cacheがないと使いにくいってのも加速されてるぽ。

Posted by Yappo at 19:36 | Comments (0) | TrackBack

Shibuya.burogukyoukaiのサイトを公開しました

Shibuya.burogukyoukai

id:yappoは、主に東京近辺の人を対象に、コミュニケーション手法として注目を集めている「ブログ」の更なる利活用支援を行ってみたい気がしたため、「Shibuya.burogukyoukai」を立ち上げたかも。

Posted by Yappo at 18:33 | Comments (0) | TrackBack

Plaggerの野良Pluginたち

とりあえず現時点でのPlagger野良Plugin(以下 Nolugger)をリストアップ。
何かしらの事情でcommitされていなかったり、つくり途中だったり、ペンディング中だったり、野良の気満々だったりと色々あります。
commitされる物が大部分かもです。
本体のAPIとの辻褄が合わなくなって動かなくなっても泣かない。
だってNoluggerだから。

Publish::Feed
RSS/Atomフィードを吐き出してくれます。

Publish::Hotline
Hotlineってなんだったっけ?

Store::DBIC
Store to SQLite?

Filter::HatenaDiaryKeywordLink
はてなキーワードをつけてくれるフィルターです。
itmediaとかの原稿にはてな気ワードリンクがつきます。

Filter::StripImage
画像タグを消してくれます。
むしろobjectタグとかも消えると。。。

Widget::MM
same the Widget::Hatena Widget::Delicious

Publish::Pipe
パイプで他のプログラムに吐き出します。FAXでも印刷でも電報でも何でもありです。
Notify::Talkはこれつかえばいいんじゃね?

CustomFeed::LWWP
Livedoor Weather Hacksです。

Aggregator::RssSearch
rss検索の検索結果feedを読み取ります。

  - module: Aggregator::RssSearch
config:
url:
- http://bulkfeeds.net/app/search2.rdf?q=%s
- http://blogdb.jp/search/rss/%s/index.rdf
keyword:
- perl
- plagger
- cpan
とか書いておくと
bulkfeeds/blogdbそれぞれから3個ずつのキーワードで検索してくれます。

Subscription::OpenSearch
Open Searchに対応しているならこちら
でもAUTHORとかdateが取れないんだな・・・

Cache
一度Plaggerが検知したURLをPublishしないようにするためのデータをキャッシュします。
これは本気の野良です。
Plagger COREでCache機構がつくはずなので、その場しのぎなのです。

CustomFeed::2ch
2chの新規に立てられたスレッドを検知してFeedにしてくれます。
ニュー速系とかで役に立つかも。vipとかで使うのは無茶です。
今のところ2chのみ、新着スレ検知のみですが、新着レス検知なんているのかな?
技術系の板だと使いどころあるのかな?

Filter::PlaggerTracLogo
plagger.orgのrss feedの画像が嫌な人向けに、癒されるPlaggerのロゴに置き換えてくれます。


Subscription::PingServer
Aggregator::Xango Search::Rast, Senna, Namazuと組み合わせると・・・

今の所こんなもんだと思われ。
結構な人数、数量のプラグインがあるのね・・・世に出たばっかなのに。
FeedをプラグするだけじゃなくPerl Hackerをもプラグしてますな。
というか、RSSリーダにもなるしFeed Serverにもなりえそうです。

発音しにくいは文字の並びがかっこ悪いわで我ながらNoluggerってセンスに萎えてみたもののgoogleで引っかかる単語だった。

Posted by Yappo at 07:16 | Comments (0) | TrackBack

WWW::2ch - にちゃんねる形式の掲示板を操作するモジュール

関連:
WWW::2chを正式リリース
WWW::2ch::Plugin::Iwashiといわし簡易ビューワー
WWW::2ch updated

2ch.netとかjbbsとかの形式の掲示板を取り扱うモジュール作ったですよ。

WWW::2ch 0.02 downloadすいません、、、リンク先がかなり間違っていましたorz

ざっと探してみたけど、それらしいのなかった・・・ほんとにないの?

使い方は

  use WWW::2ch;

my $bbs = WWW::2ch->new(url => 'http://live19.2ch.net/ogame/',
cache => '/tmp/www2ch-cache');
$bbs->load_setting;
$bbs->load_subject;
foreach my $dat ($bbs->subject->threads) {
$dat->load;
my $one = $dat->res(1);
print $dat->title . "\n";
print '>>1: ' . $one->body;
foreach my $res ($dat->reslist) {
print $res->num . ':' . $res->date . "\n";
}
last;
}

my $bbs = WWW::2ch->new(url => 'http://live19.2ch.net/test/read.cgi/ogame/1140947283/l50',
cache => '/tmp/www2ch-cache');
my $dat = $bbs->subject->thread('1140947283');
$dat->load;

こんな感じでコードを書くとあなたのスクリプトが2chビューワーになるです。。。

IDとかBEとかも取ってくるのでうはwwwwwwwwwwwwwwwww嫁が広がリングwwwwwwwwwwwwwwwwwwwwwwww
サーバの事を考えて一応キャッシュ機構を内部で持ってますが、ただのファイルベースキャッシュなので嫌なら適当に作ってください。
たとえば

my $bbs = WWW::2ch->new(url => 'http://live19.2ch.net/ogame/',
cache => Cache->new);
なんて事もできます。
cacheは、いわゆるCacheのgetとsetが実装されていれば独自のCache機構を使うこともできます。
モジュール名とかは2chらしさを重視してますです。

基本的に書き込み処理はサポートさせない方向です。
あと、あまり調子に乗ってアクセスしてるとバーボン飲まされます。

WWW::2ch::Plugin::*にプラグインを突っ込むと他の形式の掲示板に対応させることも出来ます。
有効にするには

my $bbs = WWW::2ch->new(url => 'http://live19.2ch.net/ogame/',
cache => '/tmp/cache', plugin => 'Yahoo');
と、pluginを指定します。
一応Jbbsとpinkbbs位は用意する予定です。

あとは、ローカルのdatを食わせることが出来たほうが嬉しいのかしら。。。

それが書けたらCPANにrarでうpします。
アナウンスってどの板のどのスレに投下しときゃいいんだろか・・・

Posted by Yappo at 06:27 | Comments (1) | TrackBack

2006年02月24日

Rast.pm 0.04 リリース xmlrpc serverとmerger対応ほか

Plugin::Search::Rast を Yappo さんが実装する夢をみた
と言われる夢を見たので、せっかくなのでRast.pmもupdateしました。 現在配布されているRast 0.3.1 に対応できています。

Download Site

主な内容は

  • 他Hostのindexを利用するXML-RPCの対応パッチ

  • 複数のindexをまとめるmerger

  • Rast->openのRAST_DB_RDONLYとかのフラグが省略可能に

  • RAST_TYPE_DATETIMEプロパティに対応

  • などなどです。

    XML-RPCとかmergerの使い方は今までと大して差はありません。
    XML-RPCの例

    my $rast = Rast->open('xmlrpc.http://localhost:9999/RPC2');

    mergerの例
    my $rast = Rast->open([ '/foo/bar/baz', '/hoge/hoga/hogu' ]);

    複合系
    my $rast = Rast->open([ 'mlrpc.http://localhost:9999/RPC2', '/hoge/hoga/hogu' ]);

    XML-RPCを使うにはRast.pmの配布物に一度パッチを当てないといけません。
    同梱しているpatch.shを実行してパッチを当ててください。
    XML-RPCを使うようにしてRastをインストールした場合には、数点変更しなければならなかったのです。

    パッチあてないでXML-RPC有り/無しのRastに自動的に対応できればいいのですが。。。

    Rast本体インストール時に数点気になったことがありました。
    XML-RPC対応させるためにxmlrpc-c-1.03.11を入れたのですが
    rast-0.3.1/src/xmlrpc_server_abyss.c

    #include

    #include
    に変える必要がありました。

    またAPRの他にAPU(APR-util)も必須でした。

    XML-RPCのサーバはRast付属の物を使いますが、Perl使っても実装できそうですな。
    Rast::Server::XMLRPC とかかしら。


    って事で本題ですが。
    夢が現実になってPlagger::Plugin::Search::Rastが出来ましたとさ。

    Posted by Yappo at 05:19 | Comments (0) | TrackBack

    2006年02月22日

    はてラボで開発したい!

    「はてラボで開発したい!」(自動でキーワードになります)と書くともれなくはてなスタッフが巡回して、実力がありそうなら50%以下のVIPクオリティのサーバに開発の場を設けます。

    はてラボ: blog.bulkfeeds.net

    はてな社員じゃない人が開発できる場だったら面白いのに、とか思いました。

    うん、本当にもったいないよね。このままじゃ。
    Ningのパクリとか言われようがどーでもいいじゃん。面白きゃ。

    と、後先考えない事を言ってみる。

    (検閲されました)

    Posted by Yappo at 16:15 | Comments (0) | TrackBack

    2006年02月20日

    あーあ、やっちゃった

    お買い上げありがとうございます。 大沢 和宏様 お客様注文番号: (検閲されました) 価格: 96,721 円 モデル: PowerEdge SC430 SATA構成 CPU無料アップグレードパッケージ(300台限定)
    4台もどこに置こうorz

    いんすぱいあふろむSC430 を4台注文した - Ceekz Logs

    Posted by Yappo at 19:14 | Comments (0) | TrackBack

    2006年02月17日

    障害復旧しました

    原因は小さな悪魔が電源ボタン押してました。
    ログ見てもきちんとshutdownされてたのでファイルシステムには影響なさげ。

    Alpha Clipper Clipsなどのサービス障害中

    Posted by Yappo at 14:10 | Comments (0) | TrackBack

    Alpha Clipper Clipsなどのサービス障害中

    Alpha Clipper Clips
    Search Word Cloud
    photos
    などなどのサービスを提供しているマシンが11:30頃より止まっています。
    復旧予定は夜頃になります。

    Posted by Yappo at 13:23 | Comments (0) | TrackBack

    2006年02月15日

    今年の戦利品


    どうみても義理です。本当にありがとうございました。

    Posted by Yappo at 03:59 | Comments (0) | TrackBack

    2006年02月09日

    iPodから音が出なくなりました

    クリック音だけは出ます
    再生中にイヤホン抜くと再生停止はしてくれます

    でもイヤホンから音が出てくれません

    どうすればいいですか><

    追記:すんません、復活しました。電源メータ赤くなるまで再生して放置してました。

    Posted by Yappo at 16:18 | Comments (0) | TrackBack

    2006年02月08日

    中古楽器が買えなくなる前に

    ほしいものをリストアップ
    VL1(本命はVP1)
    mini moog
    memory moog(MIDI付き)
    Prophet-5
    MS-20
    DX7-II
    SY-99
    JD-800
    NordLead
    Trinity
    20畳くらいのへや

    Posted by Yappo at 15:10 | Comments (0) | TrackBack

    2006年02月07日

    アルファギークのガイドライン

    面接官「前職はアルファギークとありますが?」
    学生 「はい。アルファギークです。」
    面接官「アルファギークとは何のことですか?」
    学生 「頂点です。」
    面接官「え、頂点?」
    学生 「はい。頂点です。IT業界全員に大インパクトを与えます。」
    面接官「・・・で、そのアルファギークは当社において働くうえで何のメリットがあるとお考えですか?」
    学生 「はい。コメントスパムが襲って来ても守れます。」
    面接官「いや、当社には襲ってくるような輩はいません。それに人に危害を加えるのは犯罪ですよね。」
    学生 「でも、BlogRankingでも勝てますよ。」
    面接官「いや、勝つとかそういう問題じゃなくてですね・・・」
    学生 「はてブで1000 Users超えるんですよ。」
    面接官「ふざけないでください。それにはてブって何ですか。だいたい・・・」
    学生 「はてなブックマークです。SBMとも言います。ソーシャルブックマークというのは・・・」
    面接官「聞いてません。帰って下さい。」
    学生 「あれあれ?怒らせていいんですか?送りますよ。トラックバック。」
    面接官「いいですよ。使って下さい。トラックバックとやらを。それで満足したら帰って下さい。」
    学生 「運がよかったな。rbl.bulkfeeds.jpに登録されたみたいだ。」
    面接官「帰れよ。」

    以上、ファーストフードのバイト面接の一場面でした。

    Posted by Yappo at 12:10 | Comments (1) | TrackBack

    suggest_ajax.jsのver0.2をリリースしました

    id:onozatyさん作のsuggest.jsの拡張スクリプトsuggest_ajax.jsですが。

    Enjoy×Study - suggest.jsのver0.2をリリースしました

    yappoさんの「suggest_ajax.js - suggest.jsをAjaxなどに対応する等の拡張スクリプト」については、今回、関数名を一部変えた(keyup→keyevent)ので、ver0.2との組み合わせでは動かなくなります(せっかく取り上げていただいたばっかりなのに、、申し訳ござません…)。
    という事なので、さくっと対応させました。

    ソース
    サンプル

    主な変更点


  • suggest.js Ver0.2に対応

  • 候補リスト表示中のleft/right/return/esc key以外の挙動を変更

  • 候補リストを非表示中でも入力窓中でreturnを押すとblurイベントを発生させる

  • suggest.js Ver0.2で追加された要素には手を出していません。

    Posted by Yappo at 10:57 | Comments (0) | TrackBack

    2006年02月03日

    suggest_ajax.js - suggest.jsをAjaxなどに対応する等の拡張スクリプト公開

    先月suggest.jsというGoogle Suggestっぽい物を簡単に作れるスクリプトが公開されました。
    ちょろちょろっと自分の使いやすいようにカスタマイズしていたのですが、それを公開してみます。

    最初はAjax化でもしようと思ってたですが、Ajax処理内蔵するのもいけてないので付けるのやめました。
    ソースの中身は、全部なごりなのです。。。

    suggest.jsの思想の真逆を行っているなんて事は気のせいです。

    ソース


    suggest_ajax.js

    サンプル


    ajaxで補完リストを読み込む

    主な変更点


  • 補完リスト上でEnterキーを押して、選択肢の確定を行うことができる

  • 補完リストの作成直前と、選択肢の確定後のそれぞれにフックを行うことができるregister_hook()メソッド追加

  • 補完データを更新するreload()メソッド追加

  • 確定した入力内容を取り出すgetText()メソッド追加

  • 入力エリアの監視を停止するexit()メソッド追加
  • 使い方


    基本はsuggest.jsと同じです。
    <script src="suggest.js"></script>
    <script src="suggest_ajax.js"></script>
    ってな感じでロードしてください。
    呼び出し方は
                var suggest = new IncSearch.Suggest_Ajax(
    "text", // 入力のエレメントID
    "suggest", // 補完候補を表示するエリアのID
    list, // 補完候補の検索対象となる配列
    {dispMax: 10, interval: 1000}); // オプション
    と、同じ呼び出し方ができます。
    listはnew Array()と空の配列を入れることもできますし、オプションが無ければ
    var suggest = new IncSearch.Suggest_Ajax('text', 'suggest');
    と引数を省略できます。

    hookはserachblurに処理を挟む事ができます。
    searchでデータをAjaxかなにかで取ってきて補完リストを更新する処理を行います。

      suggestajax.register_hook('search', function (suggest) {
    var ajax = new Ajax.Request('./suggest_ajax.txt', {method: 'get', onComplete: function (res) {
    var list = eval(res.responseText);
    suggest.reload(list);
    suggest.search();
    }});
    });
    こんな感じで処理を入れます。
    reload()で一覧更新を行った後に必ずsearch()を呼び出してください。
    この呼び出しを行わないとsuggestが機能しません。
    この例ではsearch()をAjax.RequestのonCompleteの最後に入れることがコツです。

    blurについてはサンプルのソースを確認してください。
    exitは動作をとめるだけなので、特に説明しません。

    そのほか


    ライセンスはsuggest.jsと同じく「クリエイティブ・コモンズ 帰属 2.1 日本」
    十数行くらいsuggest.jsからコードをコピーしています。

    Posted by Yappo at 16:12 | Comments (2) | TrackBack

    2006年02月01日

    ライブドアの件で最速に一言いわせてもらう

    最速インターフェース研究会 :: そろそろライブドア事件について一言いっとくか

    2月1日付けで株式会社ライブドアに就職しました。

    最速な人が来た。 - にぽたん研究所
    弊社に、最速インターフェース研究会の片栗 X こと mala らんが join しました。

    おめでとうございます!
    思えば(検閲されました。)で、(特捜部に消されました)とかで(Z部さんからクレームがきました)ホルモンカワユスだったりしたわけですが、実にめでたいです。
    そして(id:jnaoyaに怒られました)ですよね?

    じゃなーい!
    せっかくライブドア入りたい!をわがまま言って作ってもらったのに、ちっとも活用されていないじゃないですか!
    はてな入りたい!とかSixApart入りたい!
    (その後)とか活用されまくっているというのに!!!!

    ひどいひどいひどい!

    さっきはてなダイアリー市民になったので早速

    この仕組みを使わなくても、たまに入れることがあります。
    を付け加えておきました。

    と、空気を一切読まずに駄々っ子のように怒ってみた。

    まぁエンジニア的には事件とかそういうのはどうでも良い訳ですよ。惚れてしまったら。

    Yappo The Trackback Spamer.

    Posted by Yappo at 16:32 | Comments (0) | TrackBack