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"
これが、
こうなる。
あとついでに、ユーザーアイコンとユーザー名が上下中央揃えになるように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
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
2008年5月24日
OpenFL + MySQL + Plagger::Plugin::Store::Fastladder 入れた
Web Service版のFastladderがTumblrのFeedに占領されたので追加のアカウント取ったんだけど切り替えが面倒くさい。
今あるLDRのFeedをOpenFLで読むようにすればLDRも画像関連に振れるんじゃね?ということで、インストールしたまま放ったらかしだったOpenFLがついに日の目を見る。
アジェンダ
- MySQLのインストール
- OpenFLのDB設定
- DBD::mysqlのインストール
- Store::Fastladderのインストール
- Plaggerでクローラーを動かす
4までほぼしゅにたんの記事をなぞっただけ。
参考
2008年5月22日
Windows XP SP3統合ディスクの作成
会社のWinマシンに入れる用に作った。統合にはnLite 1.4.5 Final
を使用。
仕事の都合上あんまりカスタマイズするのもまずいので、ほぼ統合しただけ。
- 無印XPを使用(SP2適用済みを使用するより若干容量が削減できるらしい)
- Windows XP Service Pack 3 ネットワーク インストール パッケージをダウンロードして適用
- 無人インストール
プロダクトキー
は空欄(他のマシンに入れる可能性も考えて)OOBE のスキップ
ユーザー名
、パスワード
変更ワークグループ
、組織
入力(同じ理由でコンピュータ名、名前は空欄)言語グループ
>Japanese
タイムゾーン
>(GMT+09:00) 大阪、札幌、東京
Automatic Updates
>更新の通知のみ
- オプション
「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;
こんな感じ。+を付けるとデフォルトの設定を上書きせずに値を追加できる。