mixi読み逃げ
http://d.hatena.ne.jp/Paul3/20070321/p1
PlaggerでPlanetサイトを作る
いろいろとみていたらRSSを集約したポータルサイト?っぽいのを「Planetほにゃらら」というらしく、それをPlaggerで簡単に作ることができるよ、ってのを知った。そもそもPlanetサイトなんて呼び方は知らなかったんですが、たとえばApacheに関する話題を扱ってるサイト・BlogのRSS/Atomをアグリゲートして表示するサイトのことを「Planetほにゃらら」というらしいです。
http://opentechpress.jp/developer/article.pl?sid=06/09/19/0257203
Planet PlanetというOSSがあるらしいですが、これはPythonで書かれてるらしい。でもこれって、Plaggerの方が簡単じゃん?ってことで、Bundle::Planetというモジュールが入ってるそうです。
早速、
http://blog.livedoor.jp/hakin/archives/50718352.html
あたりを参考に試してみることにしました。
そういえば、まだApacheをインストールしていなかったので、Apacheをインストールしておくことに。Plaggerの出力結果がhtmlなら、ブラウザで見たいじゃないですか。いつもならソースからmakeするところですが、後々の管理も楽にするために、ここはyumでインストールすることに。
#yum -y install httpd
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
httpd i386 2.0.52-28.ent.centos4 base 888 k
Installing for dependencies:
apr i386 0.9.4-24.5.c4.2 base 88 k
apr-util i386 0.9.4-21 base 51 k
httpd-suexec i386 2.0.52-28.ent.centos4 base 28 k
Apacheの起動
#/etc/rc.d/init.d/httpd start
httpd.confは
/etc/httpd/conf/httpd.conf
global:
assets_path: /root/plagger/assets
timezone: Asia/Tokyo
plugins:
- 適当なFeedを取得してくるプラグインを書く・・・
- module: Bundle::Planet
config:
duration: 14 days
title: Planet Test
description: Planet Test
dir: /var/www/html/planet/
url: http://192.168.1.14/planet-wiki/
theme: sixapart-std
stylesheet: http://example.com/planet-wiki/css/styles.css
しゃかしゃかと実行したあと、
Plagger::Template [debug] Assets path: /root/plagger/assets/plugins/Publish-Planet:/root/plagger/assets/common
Plagger::Plugin::Publish::Planet [info] Save Planet HTML to /var/www/html/planet/index.html
Plagger::Plugin::Publish::Planet [debug] Assets Directory: /root/plagger/assets/plugins/Publish-Planet
Plagger::Plugin::Publish::Feed [info] save feed for http://192.168.1.14/planet-wiki/ to /var/www/html/planet/atom.xml
Plagger::Plugin::Publish::Feed [info] save feed for http://192.168.1.14/planet-wiki/ to /var/www/html/planet/rss.xml
Plagger::Template [debug] Assets path: /root/plagger/assets/plugins/Publish-OPML:/root/plagger/assets/common
Plagger::Plugin::Publish::OPML [info] Writing OPML to /var/www/html/planet/subscriptions.opml
Plagger::Template [debug] Assets path: /root/plagger/assets/plugins/Publish-FOAFRoll:/root/plagger/assets/common
Plagger::Plugin::Publish::FOAFRoll [info] Writing FOAFRoll to /var/www/html/planet/foafroll.xml
って感じでPlanetサイト用のファイルが作成されてるのがわかる。ブラウザでアクセスしてみたら、うまいことそれっぽいのが作成されてたよ。スタイルシートは適当にいじってあげる必要がありそうです。
これで定期的にPlagger実行→Planetサイト更新ってのができそうです。社内でたててみようかな。Feedの登録をできれば外からできるようなインターフェイスがほしいのと、Plaggerで実行→Planetサイト更新を(S)FTPか何かでできると便利ですね。あ、これはPlaでなくてもbashで書けばいいか。
Plaggerが動いた
いろいろ調べてみると、みんなPlaggerのインストールで苦労してるみたいですね。こりゃあ俺も先が思いやられるかな・・・と思いつつ、先日インストールしたPlaggerを実行してみることに。
まずは定番、ってことでmixiのマイミクさんの日記をGmailに送信する。
こんなconfigを書いてみる。
global:
assets_path: /root/plagger/assets
timezone: Asia/Tokyo
plugins:
- module: CustomFeed::Mixi
config:
email: *********
password: *********
fetch_body: 1
show_icon: 1
- module: Publish::Gmail
config:
mailto: *********
mailfrom: plagger@localhost
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: *********
password: *********
*********の部分は自分の環境に合わせて書き換える。早速実行してみたけど、エラーが出てうまく動かない模様。
YAML Error: Invalid element in map
Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
Line: 6
Document: 1
at /usr/lib/perl5/site_perl/5.8.5/YAML.pm line 33
config.yaml中のインデントは正確に記述しないと駄目っぽい。私はconfig.yamlはWindows上のテキストエディタで編集して、Puttyでコピペして編集してる。ネットで調べながらいろいろいじってみる。はまったところは以下のところ。
○インデントは半角スペースで。TABはだめ。
○インデントの数をきちんとそろえる。半角スペース2個で。
○「- module」のところ、「-」と「module」の間にはスペース1個。
これで実行してみる。
[root@localhost ~]# plagger -c config.yaml
Plagger [info] plugin Plagger::Plugin::CustomFeed::Mixi loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger [info] Rewrote 2 password(s) and saved to config.yaml
Plagger [info] plugin Plagger::Plugin::Bundle::Defaults loaded.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Summary::Auto loaded.
Plagger [info] plugin Plagger::Plugin::Summary::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::HatenaFotolife loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::MediaRSS loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::ApplePhotocast loaded.
Plagger::Plugin::CustomFeed::Mixi [debug] Cookie not found. Logging in
Plagger::Plugin::CustomFeed::Mixi [info] fetch 23 entries
なんか上手くいったっぽい。Gmailで確認してみると、おおっ、メールが届いてる!でも中身が空っぽです。
そうか、テンプレートの類はPlaggerインストールしてもコピーはされないので、assetsパスにコピーしてあげる必要があるとのこと。
cp -pr /root/.cpan/build/Plagger-0.7.17/assets/plugins/ plagger/assets/
これで上手くいった。それにしてもPlagger関係のまとまったテキストってのが無い。公式サイトが英語だから?Perl使いを対象にしてるから初心者向けの説明は不要だから?
![]() | Web API マッシュアップブック 関 正秀、加藤 貴之 他 (2006/11) 毎日コミュニケーションズ この商品の詳細を見る |
Gmailの転送設定のメモ
[設定]-[転送設定]メニューでは、一つのアドレスにしか転送設定することはできない。「,」で区切って複数登録してみましたが、ダメでした。
転送設定するもう一つの方法は、フィルタリングのアクションを使うこと。フィルタリングで条件にマッチしたメールに対するアクションとして転送先アドレスを設定することができる。ここでは、フィルタリング条件として「Subject」が「*(半角のアスタリスク)」を指定すると、「全てのメールにマッチした場合」という条件を設定したことになる。その上で、転送先アドレスAを設定する。
フィルタリングは複数作成できるが、まったく同じ条件(Subject=*)のフィルタリングは作成できない模様。なので、Bアドレスへの転送設定は、[設定]-[転送設定]メニューで行う。
これでGmailに届いたメールを、AとBのそれぞれに転送する設定が完了。
フィルタリング条件の指定を変えれば(たとえば、1つ目はSubject=*、もう一つはFrom=*とか)、フィルタリングだけでもできそう&3人以上への転送設定でもできるのかな。とりあえず2つのアドレスに送りたかったので、これは試してません。
![]() | ポケット図解 Gメールの使い方がわかる本 「Gmailの使い方」管理人 三浦 健 (2006/12) 秀和システム この商品の詳細を見る |
Plaggerインストール(その1)
○環境:WinXP上でVMwareWorkStationを動作させ、CentOS4をインストール。yumでパッケージを最新にして直後。Plaggerが動くようになるまでのメモ。
Perlのバージョン:
[root@localhost ~]# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
1)CPANをセットアップ
#cpan
2)Bundle::CPANをインストール
cpan>install Bundle::CPAN
3)とりあえず様子をみてみる
cpan>test Plagger
[Core Features]
- YAML ...loaded. (0.62)
- YAML::Loader ...loaded. (0)
- Test::More ...loaded. (0.65 >= 0.42)
- Test::Base ...loaded. (0.52 >= 0.52)
- Class::Accessor::Fast ...missing.
- File::Find::Rule ...missing.
- UNIVERSAL::require ...missing. (would need 0.1)
- Template ...missing. (would need 2.13)
- Template::Provider::Encoding ...missing. (would need 0.04)
- YAML ...loaded. (0.62 >= 0.39)
- Text::Tags ...missing.
- DateTime ...missing. (would need 0.35)
- DateTime::TimeZone ...missing. (would need 0.56)
- DateTime::Locale ...missing. (would need 0.32)
- DateTime::Format::Mail ...missing.
- DateTime::Format::W3CDTF ...missing.
- DateTime::Format::Strptime ...missing.
- Digest::MD5 ...loaded. (2.33)
- LWP ...loaded. (5.79)
- HTML::Parser ...missing. (would need 3.51)
- URI::Fetch ...missing. (would need 0.071)
- Cache::Cache ...missing. (would need 1.04)
- Module::Pluggable::Fast ...missing.
- HTML::ResolveLink ...missing.
- Date::Parse ...missing.
- MIME::Types ...missing. (would need 1.16)
- Net::DNS ...missing.
- XML::Feed ...missing. (would need 0.12)
- XML::LibXML ...loaded. (1.58)
- XML::Atom ...missing. (would need 0.23)
- XML::RSS::LibXML ...missing. (would need 0.23)
- Encode ...missing. (would need 2.1)
- Term::Encoding ...missing.
- File::HomeDir ...loaded. (0.64)
==> Auto-install the 25 mandatory module(s) from CPAN? [y]
Yesで自動インストールを2回くらい実行してみたが、どこかでエラーになっているようで再度test Plaggerしてみても、状況が変わらない。とりあえずの策として、上記で「missing」となっているモジュールを個別にインストールしてみた。
install Class::Accessor::Fast
・・・(以下略)
いくつかエラーで失敗しているのもあるが、とりあえず最後までインストールしてみる。再度test Plaggerしてみると・・・
*** Checking for Perl dependencies...
[Core Features]
- YAML ...loaded. (0.62)
- YAML::Loader ...loaded. (0)
- Test::More ...loaded. (0.65 >= 0.42)
- Test::Base ...loaded. (0.52 >= 0.52)
- Class::Accessor::Fast ...loaded. (0.30)
- File::Find::Rule ...loaded. (0.30)
- UNIVERSAL::require ...loaded. (0.11 >= 0.1)
- Template ...loaded. (2.18 >= 2.13)
- Template::Provider::Encoding ...loaded. (0.07 >= 0.04)
- YAML ...loaded. (0.62 >= 0.39)
- Text::Tags ...loaded. (0.04)
- DateTime ...loaded. (0.36 >= 0.35)
- DateTime::TimeZone ...loaded. (0.63 >= 0.56)
- DateTime::Locale ...loaded. (0.34 >= 0.32)
- DateTime::Format::Mail ...loaded. (0.30)
- DateTime::Format::W3CDTF ...loaded. (0.04)
- DateTime::Format::Strptime ...loaded. (1.0700)
- Digest::MD5 ...loaded. (2.33)
- LWP ...loaded. (5.79)
- HTML::Parser ...loaded. (3.56 >= 3.51)
- URI::Fetch ...loaded. (0.08 >= 0.071)
- Cache::Cache ...loaded. (1.05 >= 1.04)
- Module::Pluggable::Fast ...loaded. (0.18)
- HTML::ResolveLink ...loaded. (0.05)
- Date::Parse ...loaded. (2.27)
- MIME::Types ...loaded. (1.18 >= 1.16)
- Net::DNS ...loaded. (0.59)
- XML::Feed ...loaded. (0.12 >= 0.12)
- XML::LibXML ...loaded. (1.62)
- XML::Atom ...loaded. (0.25 >= 0.23)
- XML::RSS::LibXML ...loaded. (0.23 >= 0.23)
- Encode ...loaded. (2.18 >= 2.1)
- Term::Encoding ...loaded. (0.02)
- File::HomeDir ...loaded. (0.64)
[Better Encoding detection]
- Encode::Detect ...missing. (would need 1)
==> Auto-install the 1 optional module(s) from CPAN? [n]
PlaggerのCore FeaturesはOKっぽいので、cpanからインストールしてみる。
オプションモジュールについては、デフォルト設定のままでインストールしてみた。
cpan> install Plagger
・・・
Installing /usr/bin/plagger
Installing /usr/bin/plagger-ircbot
Writing /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/Plagger/.packlist
Appending installation info to /usr/lib/perl5/5.8.5/i386-linux-thread-multi/perllocal.pod
/usr/bin/make install -- OK
Failed during this command:
AVIF/Time-Duration-1.04.tar.gz : make_test NO
・・・うまくいったのか?
[root@localhost ~]# plagger -v
Plagger version 0.7.17
とりあえず今日はここまで。次回はインストールが正常にできてるかどうか、簡単なサンプルを動かしてためしてみるつもり。
VMWareにCentOSをインストール
VMWareを使って環境構築するのは実は初めて。仮想化環境も2007年は大分本格化しそうだし、そろそろ勉強もかねてインストールしてみることにした。
CentOSのISOイメージファイルをCentOSのHPからダウンロード。さすがにCD4枚分のISOイメージファイルのダウンロードには時間がかかるので、Bittorrentでダウンロード。夜中にダウンロードを開始して、そのまま放置してたら朝方にはダウンロード完了してました。
VMwareで仮想環境を作成して、CDROMデバイス(ノートPCなのでCD-ROMは付属していない)にダウンロードした1枚目のISOイメージファイルを指定して起動。しばらくするとCentOSのインストーラが起動。
ここまでは順調でしたが、パーティション指定のところでハードディスクが認識されずにインストールが途中で止まる。
あれこれネットで調べてみると、
○VMWareの仮想環境で構築されるハードディスクは、デフォルトではSCSIデバイスとして作成される。
○CentOSのインストーラは、SCSIデバイスを認識できない
○なので、VMWareの仮想環境でIDEのハードディスクを設定すればよい。
なーんだ、あまりに簡単な話なので、ネットで探しても、なかなかヒントは見つかりませんでした。早速そのとおりに変更して改めてインストールを試みると・・・今度はすんなりとインストールすることができました。
インストールが終了したら、yumによりパッケージをアップデート。WindowsUpdateみたいなものか。これもはじめて使うけど、これは便利だ。cronに登録して定期的に自動更新させることもできるようだ。
yum使い方メモ
1)Yum用のPGPキーをCentOSのサイトからインポートする。アップデート時にファイルの正当性を確認するのに必要。
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
2)アップデート可能なパッケージ一覧を表示する
# yum check-update
3)アップデートする。初回実行時は結構時間がかかる。
# yum update
4)インストール履歴は/var/log/yum.logに記録される。
![]() | はじめてのVMware―最新版「Workstation5」の仕組みと利用法 初野 文章 (2005/09) 工学社 この商品の詳細を見る |
コクピットイズム03
表紙&巻頭特集の「スペースシャトル最終便」に萌えるね。スペースシャトルミッションは2010年で終了するのだとか。最後のミッションは国際宇宙ステーションの建設。再利用可能な宇宙船の実現が可能であることを証明することに一役かったスペースシャトル、NASAの今後の方向性はどうなるのかな。
この特集号には、ブルーインパルスの特集も掲載されてました。これまた萌える。
![]() | コクピットイズム03 (2007/02/27) イカロス出版 この商品の詳細を見る |
校了
アスキーネットワークマガジン 2007年5月号(3月24日前後発売)に、Webアプリケーションの負荷テストとパフォーマンス診断に関する記事を書きました。第三特集で12ページの力作です。
Webアプリケーションの負荷テストの準備、計画、方法、負荷テスト結果の評価方法等について体系的に解説しています。ここ数年携わってきた仕事の集大成(のはじまり)的な位置づけで書きました。
記事原稿については、そのうちこのBlogでも公開できるところは公開していきたいと思います。
乗り換え
常備酒の焼酎とウイスキーが切れたので、久しぶりにジンをボトルで買ってみました(ボンベイサファイア)。お店で飲むときはジントニックとかカクテルチックですけど、ジンはロックのストレートが美味いです。いい仕事した後のご褒美はジンです。今日は風邪気味なので、ジンをアクエリアスで割ってみました。味が優しくなりました。お試しあれ。(悪趣味?)
![]() | Web 2.0 ツールのつかいかた まだ、Googleだけですか? 橋本 大也、梅田 望夫 他 (2006/10/06) 技術評論社 この商品の詳細を見る |
あたらしい教科書 広告
広告業界のことなど、スピリッツでやっている(た?)「きまぐれコンセプト」程度の知識しかなかったですが、cramtoyの職場である汐留には天下の電通が入っていることもあり、汐留近辺の書店ではのきなみ、広告・メディア関係の書籍が幅を利かせています。
「あたらしい教科書」シリーズでは、コンピュータとか面白い試みだな、と思ってましたが実際に購入したのはそんなわけで広告の巻となりました。広告の仕組みも、広告の業界で働く人たちの仕事ってのもよくわからんしね。
ちょっと前に伊東 美咲が広告代理店で働くドラマがありましたが・・・あんなストーリー仕立てでクリエイティブなプレゼンって・・・広告業界だからできるプレゼンなのかなあ。
広告の世界でも、クリエイティブには金を出すが、製作管理(フィー)には金を出さない、というクライアントが主流らしい。そもそもフィーとコストという概念は広告業界のものなのかもしれないですね。フィーとコスト、SI業界でもまっとうな料金として請求していかねばなりません。
![]() | あたらしい教科書〈6〉広告 天野 祐吉 (2006/07) プチグラパブリッシング この商品の詳細を見る |
輪違屋 糸里
新撰組小説傑作コレクション(私的)に堂々のランクインです。
浅田次郎と新撰組、といえば「壬生義士伝」が有名で映画化もされていますが、個人的にはこちらの方を推したい。物語の焦点は芹沢鴨の暗殺事件。芹沢鴨といえば、どちらかというと、悪役なイメージがこれまで強かったですが、こんどの小説では主人公では無いにしても新撰組の物語における重要な役割を演じていたことが再認識されます。
壬生義士伝で朝だ次郎がとった、登場人物に語らせる、という手法(解説によると子母澤寛へのオーマージュではとあるが)は今作でも見事。壬生義士伝では主人公の津軽弁(だっけ?)が正直言って良くわからなかったけど、今作では土方、沖田、永倉といった江戸っ子が語ってますので、無理無く引き込まれることでしょう。
![]() | 輪違屋糸里 上 (1) 浅田 次郎 (2007/03) 文藝春秋 この商品の詳細を見る |
![]() | 輪違屋糸里 下 (3) 浅田 次郎 (2007/03) 文藝春秋 この商品の詳細を見る |
「さおだけ〜」「Web進化論」あたりから続いているらしい?新書ブームですが、さすがに最近食傷気味&何を読んでも新書の内容に深みがないな〜と思い始めた今日この頃。某雑誌で読んだところによると、出版社にとっては新書というジャンルはお手軽らしいですね。これだけの新書が量産されていると、そりゃあ二番煎じや内容が薄いものも多くなるわけだ、自ら自分の首を締めている状況か・・・。
さて、「進化しすぎた脳」の方は、脳科学者の著者が高校生(といっても、慶応義塾大学ニューヨーク高校?という設定らしいのだが・・・なんともハイソですね)を相手に最新の脳科学の研究を説明するという内容。自分の理化学の知識は高校レベルでとまってるはずなので、レベル的には文系にも分かりやすいかも。といっても、良く言われるように脳って分からないことの方が多いようなので、分かった気になっているだけかも。
読書メモ:「進化しすぎた脳」=>人間を含めた動物は、環境に対応して脳の機能が進化してきた。しかしながら人間の脳は進化しすぎた。どれくらい進化しすぎたかというと、自分以外の環境に働きかけて変化させられるくらいに。環境に適応する必要がなく、環境を変化させる力を持ったが故に、人類の脳はこれ以上進化はしないだろう。
さて、記憶とか心(気持ち、感情)ってどこにあるんだろう、というのも本書の一つのパートとしてあるわけですが、当然、心臓じゃなくて脳に電気的な信号としてそれはあるわけで(多分ね)。
で、続いて 貫井 徳郎 の「 転生 」を読んだ。こっちはミステリーね。あらすじとしては、心臓移植を受けた大学生が、移植前とは違う趣味/嗜好を持つようになり、夢に出てきた見知らぬ女性に恋をして・・・という内容。これ以上はネタバレなので書きませんが、記憶/感情は細胞記憶のレベルで脳以外にも蓄積されるのかもしれないなあ、というかそう思いたいなあと思わせる作品でした。貫井 徳郎、面白いですよ〜。
そんなcramotyの前世は「遊女(花魁)」でした。あれ、これは転生違いか。
http://www.walkerplus.com/uranai/zensei/pages/yujo_1.html
ビリーの件は、ちょっと風邪気味なのでお休み中。まだ体重に劇的な変化は見受けられませんが、筋肉はついて来た感じがします。是非。
![]() | 進化しすぎた脳 池谷 裕二 (2007/01/19) 講談社 この商品の詳細を見る |
![]() | 転生 貫井 徳郎 (2003/02) 幻冬舎 この商品の詳細を見る |














