2008年5月アーカイブ

2008年5月30日

OpenFLの全文取得に使うSITEINFOをwedata版にした

retlet.net - OpenFL + Store::Fastladderで広告エントリーの削除と全文取得をするブクマコメントでotsuneさんに

SITEINFOはwedata版に書き換えたほうがよさそう

と言われて直そう、として挫折したところに速攻fubaさんが対応してくれたので適用した。

WebService::Wedataをダウンロードしてインストール。

$ perl MakeFile.PL
$ sudo make
$ sudo make test
$ sudo make install

yamlのPlugin名を修正。

-  - module: Filter::EntryFullText::SiteInfo
+  - module: Filter::EntryFullText::LDRFullFeed

2008年5月28日

Vimperatorプラグインのsbmcommentsviewer.jsにtagsAndComment追加した

sbmcommentsviewer.jsはページに付けられた各種SBMのタグやコメントをバッファウィンドウに表示するVimperatorプラグイン。

map b :viewSBMComments<CR>

としておけばbキー一発でブクマコメントを一覧できて非常に便利なんだけど、タグが長すぎるとコメントの表示領域が圧迫されて見辛いことが。
というわけで、タグとコメントを同じ列に表示するtagsAndCommentフォーマットを追加してみた。

使い方は、コマンド実行時に-fオプションを使用するか、

:viewSBMComments -f id,timestamp,tagsAndComment

.vimperatorrcに設定を記述する。

let g:def_sbm_format = "id,timestamp,tagsAndComment"

これが、

retlet.net - Vimperator30D730E930B030A430F3306Eime_controller.js304C57305473306B4FBF5229 - Firefox
Uploaded with plasq's Skitch!

こうなる。

retlet.net - Vimperator30D730E930B030A430F3306Eime_controller.js304C57305473306B4FBF5229 - Firefox
Uploaded with plasq's Skitch!

あとついでに、ユーザーアイコンとユーザー名が上下中央揃えになるようにhtmlを少しいじった。
他にも見た目いじりたいなーと思ったんだけど、良い感じにならなかったんでuserstyel用にidとclass振るだけに留めた。

2008年5月27日

Plaggerをcronで定期実行する

crontabではほとんどの環境変数が設定されていないらしいので、そのままTerminalと同じコマンドを打っても動作しないことがある。

crontab で実行されるときには、ほとんどの環境変数が設定されていないので注意が必要。~/.cshrc・~/.login で設定している環境変数は設定されていないし、PATH も /bin:/usr/bin くらいにしか通っていない。そのため、command の部分に指定するのはシェルスクリプトにしておいて、シェルスクリプトの先頭で環境変数の設定を行い、その後いろいろなコマンドを実行するようにしておくのがよいだろう。

でもPlaggerとかをいくつも実行してる場合、いちいちシェルスクリプト用意するのも面倒だよなー。ということで、crontabに環境変数を指定してみた。
参考: suVeneのあれ: crontab 設定の小話

$ crontab -e

行頭に以下を追加。

PERL5LIB=~/Sites/plagger/plagger:~/Sites/plagger/plagger/lib:$PERL5LIB

すると以下の表示。ファイルの保存が出来てない?

crontab: temp file must be edited in place

どうもvimでファイルのバックアップを取る設定になっているのがまずいみたい。
参考: OSXでcrontabの編集が反映されない « ku

普段の設定はCronniX経由でやっているので、根本的な解決はせず一時的に.vimrcの該当行をコメントアウトして回避した。

$ vim .vimrc
":set backup

で、設定してOK。なはずなんだけど、なぜか

/opt/local/bin/perl plagger -c ~/Sites/plagger/fastladder-crawler.yaml

では動かず。

/opt/local/bin/perl ~/Sites/plagger/plagger/plagger -c ~/Sites/plagger/fastladder-crawler.yaml

としてやる必要があった。
なんでだろう。plaggerのパスは通ってるはずなんだけど。

あと /opt/loca/bin/perl も書きたくないなと思って

PATH=/opt/loca/bin:$PATH

とかしても書かないと動かない。せつなさサクレツ。

メモ

cronの設定ファイル直接編集してみたところ、CronniXから変更を加えた際にその部分が消えてしまった。
あちこちの説明を読むと、cronttab -e したり、crontab ~/.crontab したりしているし、直接編集は思想的にNGなのかな?

一応、cronの設定ファイルは(Mac OS X 10.4.11の場合)以下にあるけどいじらない方が良さそう。

$ vim /var/cron/tabs/USERNAME

2008年5月26日

OpenFL + Store::Fastladderで広告エントリーの削除と全文取得をする

せっかくPlagger通してるんだからやってみた。
yamlはこんな感じ。

plugins:
  - module: Subscription::LivedoorReader
    config:
      username: USERNAME
      password: PASSWORD

  - module: Filter::StripRSSAd
  - module: Filter::EntryFullText::SiteInfo
    config:
      impersonate: 0
      force_upgrade: 1

  - module: Store::Fastladder
    config:
      sync_rate: 1
      connect_info:
        - dbi:mysql:fastladder_production
        - root
        - on_connect_do:
            - SET NAMES utf8
      member_id: 1

LDR Full Feedのsiteinfoを使ってフィードを全文入りにupgradeするPlagger::Plugin::Filter::EntryFullText::SiteInfo(2008/2/27仕様変更) - fubaはてなを導入。

Plagger実行。

$ plagger -c Sites/plagger/fastladder-crawler.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::LivedoorReader loaded.
Plagger [info] plugin Plagger::Plugin::Filter::StripRSSAd loaded.
Plagger [info] plugin Plagger::Plugin::Filter::BloglinesContentNormalize loaded.
Can't locate Web/Scraper.pm in @INC (@INC contains: /opt/local/bin/lib /Users/Madhat/Sites/plagger/plagger/lib /opt/local/lib/perl5/5.8.8/darwin-2level /opt/local/lib/perl5/5.8.8 /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level /opt/local/lib/perl5/site_perl/5.8.8 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.8/darwin-2level /opt/local/lib/perl5/vendor_perl/5.8.8 /opt/local/lib/perl5/vendor_perl .) at /Users/Madhat/Sites/plagger/plagger/lib/Plagger/Plugin/Filter/EntryFullText/SiteInfo.pm line 9.
BEGIN failed--compilation aborted at /Users/Madhat/Sites/plagger/plagger/lib/Plagger/Plugin/Filter/EntryFullText/SiteInfo.pm line 9.
Compilation failed in require at /Users/Madhat/Sites/plagger/plagger/lib/Plagger.pm line 234.

怒られたのでWeb::Scraper入れる。

$ sudo cpan -i Web::Scraper

再度実行

$ plagger -c Sites/plagger/fastladder-crawler.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::LivedoorReader loaded.
Plagger [info] plugin Plagger::Plugin::Filter::StripRSSAd loaded.
Plagger [info] plugin Plagger::Plugin::Filter::BloglinesContentNormalize loaded.
Plagger [info] plugin Plagger::Plugin::Filter::EntryFullText::SiteInfo loaded.
Plagger::Plugin::Filter::EntryFullText::SiteInfo [debug] siteinfo: ^http://b\.hatena\.ne\.jp/entry/ id("entry-info")/div[@class="section"][1]|id("bookmarked_user")
Plagger::Plugin::Filter::EntryFullText::SiteInfo [debug] siteinfo: ^http://(feeds\.)?japan\.cnet\.com //div[contains(@class,"leaf_body")]
Plagger::Plugin::Filter::EntryFullText::SiteInfo [debug] siteinfo: ^http://www\.excite\.co\.jp/News/bit //div[@class="lh140"]
...

だららーっとsiteinfoが読み込まれてく。成功したっぽい。

2008年5月25日

OpenFLの未読最大件数を200件にした

デフォルト10件という意味のわからない仕様だったので修正した。

vim ~/Sites/openfl/fastladder/config/initializers/constants.rb 

MAX_UNREAD_COUNT = 200

参考: fastladderインストール(4) - PC日記

2008年5月24日

OpenFL + MySQL + Plagger::Plugin::Store::Fastladder 入れた

Web Service版のFastladderがTumblrのFeedに占領されたので追加のアカウント取ったんだけど切り替えが面倒くさい。
今あるLDRのFeedをOpenFLで読むようにすればLDRも画像関連に振れるんじゃね?ということで、インストールしたまま放ったらかしだったOpenFLがついに日の目を見る。

アジェンダ

  1. MySQLのインストール
  2. OpenFLのDB設定
  3. DBD::mysqlのインストール
  4. Store::Fastladderのインストール
  5. Plaggerでクローラーを動かす

4までほぼしゅにたんの記事をなぞっただけ。

参考

続きを読む: OpenFL + MySQL + Plagger::Plugin::Store::Fastladder 入れた

2008年5月22日

Windows XP SP3統合ディスクの作成

会社のWinマシンに入れる用に作った。統合にはnLite 1.4.5 Final を使用。
仕事の都合上あんまりカスタマイズするのもまずいので、ほぼ統合しただけ。

  1. 無印XPを使用(SP2適用済みを使用するより若干容量が削減できるらしい)
  2. Windows XP Service Pack 3 ネットワーク インストール パッケージをダウンロードして適用
  3. 無人インストール
    • プロダクトキー は空欄(他のマシンに入れる可能性も考えて)
    • OOBE のスキップ
    • ユーザー名パスワード変更
    • ワークグループ組織入力(同じ理由でコンピュータ名、名前は空欄)
    • 言語グループ > Japanese
    • タイムゾーン > (GMT+09:00) 大阪、札幌、東京
    • Automatic Updates > 更新の通知のみ
  4. オプション
    • 「Press Any Key...」ブートメッセージ 無効
    • 古い BIOS 情報を削除する > 有効
    • 重複ファイルを削除する > 有効

あとはデフォルトのまま。

  • トータルサイズ 669MB
  • ISOイメージ 640MB

一応VMWare Playerでテストしてからインストールした。
ハマり所としては、コンピュータ名が同じネットワーク内のマシンと被らないようにすること。テスト時に同じ名前入れてたら Windows をインストールしています のステップで無限ループした。

参考: nLite Windowsの不要なコンポーネントを削除する(Win XP SP3版)(Windows XP SP3での nLite設定例)

2008年5月19日

Vimperator 1.0でset hintstyleが効くようになった

ちょっと前まで設定は反映されているはずのに何故か見た目に変化がなかったHit-a-Hintのスタイル指定が正しく効くようになっていた。ひと月くらいアップデートしていなかったのでいつの間に直ったのかわからないけど。

これで、ユーザースタイルシートでフォントサイズを大きくするなんて面倒なことはせずに.vimperatorrcで設定できる。

set hintstyle+= font-size:15px;

こんな感じ。+を付けるとデフォルトの設定を上書きせずに値を追加できる。