« 2008年02月 | メイン | 2008年04月 »

2008年03月 アーカイブ

2008年03月07日

悩む


ShopOptionsカタログと見積がきた。けど高いので悩み中です。(´・ω・`)

2008年03月16日

マイナーチェンジ

8std.jpg
悩んでいたらマイナーチェンジされたので実車を見てきました。後ろから見るとほとんど変わらない感じ。

2008年03月19日

FreeBSD6.0 + Apache2.2にmod_layout5.1をいれてみる

Apache2.2に対応したmod_layoutはportsにないみたいなのでソースから。

# wget http://download.tangent.org/mod_layout-5.1.tar.gz
# tar zxvf mod_layout-5.1.tar.gz
# cd mod_layout-5.1
# make
# make install
# vim /usr/local/etc/apache22/httpd.conf

<Virtualhost www.geek.com>
     AddOutputFilterByType LAYOUT text/html
     LayoutFooter "<P> This is the tail end of things</P>"
     LayoutHeader "<P> This is the beginning of things</P>"
     LayoutIgnoreURI */mt.cgi
</virtualhost>

# apachectl configtest
# apachectl restart

なぜかMTの管理画面を破壊してくれるのでmt.cgiを除外指定しました。微妙なモジュールなのかも。。。

参考

  • http://tangent.org/362/mod_layout.html
  • http://d.hatena.ne.jp/peppon/20070502/1178110782
  • http://httpd.apache.org/docs/2.2/ja/mod/mod_mime.html#addoutputfilter

2008年03月22日

Mac::Growlで2chの更新スレッドを通知する

昔は2chというものを毛嫌いしていたのに、気がつくと2chのスレッドを常にチェックしている毎日。
新たな書き込みの有無を確認するのが段々面倒になってきたのでGrowlに通知するスクリプトを書いてみました。似たようなものが多分あるのだろうけど、探すのが面倒だった。

#!/usr/local/bin/perl

use strict;
use URI;
use Web::Scraper;
use Data::Dumper;
use Encode;
use Mac::Growl ':all';
use vars qw($url $chkwords $interval $threads $last);

$url = 'http://hobby10.2ch.net/auto/subback.html';
$chkwords = 'rx-8';
$interval = 300;

if( $ARGV[0] eq 'init' ){
    RegisterNotifications(
        "2chChecker", # 登録するアプリケーション名
        ['alert', 'note', 'info'], # 登録したアプリケーションで使用する通知の種類。
        ['note'] # デフォルトで使用する通知の種類
    );
}

while(1){
    $threads = get_threads();
    for(keys %$threads){
        my $update;
        if( $last and $threads->{$_}->{res} > $last->{$_}->{res} ){
            $update = $threads->{$_}->{res} - $last->{$_}->{res};
            my $msg = "新しいレスがありました。($update)";
            Encode::from_to($msg, 'MacRoman', 'utf8'); # 10.4では不要
            my $title = $threads->{$_}->{title};
            Encode::from_to($title, 'MacRoman', 'utf8'); # 10.4では不要

            PostNotification(
                "2chChecker",
                'note',
                $msg,
                $title,
            );
        };
    }

    $last = $threads;
    sleep($interval);
}

sub get_threads{
    my $hash;
    my $details = scraper {
        process 'a','data' => 'TEXT';
        process 'a','href' => '@href';
        result 'data', 'href';
    };
    my $list = scraper {
        process 'small#trad a','lists[]' => $details;
        result 'lists';
    };

    my $res = $list->scrape( URI->new( $url ) );
    for( @$res ){
        my $data = encode_utf8( $_->{data} );
        $data =~ m/^(\d+)\:\s{1}(.*)\s{1}\((\d+)\)$/;
        my $url = $_->{href};
        $url  =~ s/\/150$//;
        $hash->{$url} = {
            'title' => $2,
            'res'   => $3,
        };
        delete $hash->{$url} if $chkwords and $2 !~ /$chkwords/i;
    } 

    return $hash;
}

動作環境はMacOSX 10.x。


準備として、Growlと必要なPerlモジュールをインストールしておく。Growlの1.1.2はMac::Growlが対応していなかったので0.7.6をいれます。

# ./growl.pl init

スクリプトをGrowlにアプリケーションとして登録する必要があるので、初回は上記のように引数付きで実行します。上記例ではアプリケーション名を「2chChecker」にしてあります。

sure.jpg

$urlに、板のスレッド一覧URLを指定。(↑これ。)

growl.jpg

$chkwordsにチェックしたいスレッドのタイトルに含まれるキーワードを入力して実行すると、スレッドが更新された際にデスクトップにこのような通知を出すことができます。
※上記の例では、車種・メーカースレの「rx-8」が含まれるスレッドの新着をチェックしています。(((;・∀・)

whileで回す処理はあんまりだとかPOEとかデータをDBにいれた方がいいとかそれplaとかもうちょっと汎用性があったほうがいいとか2ch全体のスレ検索ができたほうがいいとか、いろいろ拡張すると楽しそうではあるけど、スレの巡回チェック作業をやめるという当初の目的は果たしたので終了、と。

参考

  • http://search.cpan.org/~cnandor/Mac-Growl-0.67/lib/Mac/Growl.pm
  • http://my.opera.com/aloe/blog/2008/01/20/mac-growl
  • http://veadardiary.blog29.fc2.com/blog-entry-317.html
  • http://d.hatena.ne.jp/mteramoto/20070404/p1

2008年03月24日

Mac::Growlで2chの更新スレッドを通知する(続き)

前回の続き。少しいじって更新分のレスもGrowlに表示されるようにしました。
「システム環境設定」-「Growl」-「表示選択」の表示時間を長くし、「ラインを2-5行に制限する」のチェックを外しておくと読みやすいです。

ソースはこんな感じ。適当。



shikyo.jpg

こんな感じで表示されます。上記例は、市況2板の「ドル」というキーワードが入っているスレを監視しています。


これで通知はできますが、起動しやすいようについでにAutomatorでアプリ化しておきました。
手順は、アプリケーション→Automator.app→カスタム→ユーティリティ→シェルスクリプトを実行、をダブルクリック。右ウィンドウにスクリプトのパスを記述して保存、と。これでDockに格納することができるようになります。アプリケーションを閉じてもPerlのプロセスが切れないのが問題だけど・・・・。

以上の拡張で、スレッドを見に行く必要がなくなりました。頻繁に更新されるスレを確認するには結構便利なものです。満足満足。

2008年03月31日

ぶろっさむ


カメラを持参するのを忘れたので携帯で。今年はカメラを買おうと心に決めました。

About 2008年03月

2008年03月にブログ「Re::Monologue」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2008年02月です。

次のアーカイブは2008年04月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。