トップ(最新)

nDiki : 12月29日

2003年12月29日 (月)

過去の今ごろ このエントリーを含むはてなブックマーク

過去の12月29日より。

スポンサード リンク


[ WiKicker ] tDiaryテーマ互換モードの実装 このエントリーを含むはてなブックマーク

WiKickerベースの日記システム実装に合わせて、Wiki の方も tDiaryテーマ互換モードを実装しておく。

div の追加、class の変更など。 当然ではあるが表示要素が異なるので tDiaryのテーマの要素にうまくマッピングできないものが出てくるな。 どうしたものか。 できるだけ、近そうなものにはマッピングしてみたが。

補助用に複数の外部スタイシートを指定できるようにもしておく。 新し目のCGI.pm だと

 start_html(-style => {-src => [ 'a.css', 'b.css' ]})

のように直接複数指定できるのだが、古いやつだと駄目。-head の方に Link({-rel => 'stylesheet'...}) で複数指定する必要あり。


掃除 このエントリーを含むはてなブックマーク

換気扇カバー交換とか。 換気扇のパーツやら、ガスコンロの五徳やらをシンクに入れて洗剤でつけ置き。 換気扇のパーツ、ボロボロ塗料が剥げてくる。弱すぎ。


[ 12月29日全て ]

2004年12月29日 (水)

SUUNTO COMET このエントリーを含むはてなブックマーク

rimage:http://www.naney.org/img/2004/U/U2004-12-29-0001.jpg 以前から1つバッグにぶらさげておこうと思っていた温度計、結局スントのに。 マイクロコンパスつきのスントコメット。

コンパスは無くても良いのだけれど、この手の小さいアウトドア用温度計はだいたいコンパスがついている。 THE NORTH FACE のコンパス無しのもあったのだが、裏面がちょっとやわそうだったので候補から脱落。


[ アウトドア用品 ] [ 製品レポート ]


Zippo ハンディウォーマーデビュー このエントリーを含むはてなブックマーク

今日は東京にもが降り気温も1℃台まで下がっている(気象庁観測)。

明日からの東北帰省に投入する予定であるハンディウォーマーを本日デビューさせた。 7月に買ったままだったやつ

うひょー。すげーあったけー。 ちょっとオイルの臭いがするけれど、使い捨てカイロなど比べものにならん熱量。 良い良い。 ハクキンカイロすばらし。

自分だけぬくぬくするのも悪いので、用にもう1個買ってきた。 こちらは2004年モデルなので注油カップと火口がちょっと違うらしいが、ほとんど同じ。

今年は量産したのか、結構いろいろなところで売っているのをみかける。 R25でも通販してたし。


[ アウトドア用品 ]


THE NORTH FACE TEKUNDER このエントリーを含むはてなブックマーク

rimage:http://www.naney.org/img/2004/U/U2004-12-29-0002.jpg 帰省に際して寒いのでズボン下があった方が言うという。

どうも年寄り臭くて好きでない。 こう見えても中学校時代は、間地君と二人で冬でも学生服の下は半袖Yシャツで通した男だ。

帰省してみて寒くてかなわなかったらそこで買えばいいじゃないかと主張したのだが、お店までどうするんだなどと反論をいただく。

しょうがない。1着用意しておくか。 しかしイトーヨーカドーで買うのは嫌だ。 ラクダ色のなんか買ってしまうと、もう戻れない線を越えてしまいそうだ。

どうせならアウトドアウェアとして買おう。 それならば自分の自尊心も傷つかない。 将来レジャーでも使えそうだし。

ということでの中、神田まで出掛ける。 丁度年内10%OFFになるダイレクトメールがきていたし。

事前にはモンベルあたりのをチェックしていったのだが、店頭にはなし。 ちょっと割高だが THE NORTH FACE のにした。

 TEKUNDER THUERMO
 テックアンダーサーモ

 THERMASTAT MW TROUSERS (NU65105)
 サーマスタットMWトラウザース
 男性用中肉

MEDIUM WEIGHTのアンダーウェア。試着してみた。Mでいいかな。

しかしいい値段するね。 アンダーウェアなのに、着ているシャツより高いよ。


[ アウトドア用品 ]


年賀状作成終了 このエントリーを含むはてなブックマーク

rimage:http://www.naney.org/img/2004/misc/2004-12-29-0001.jpg

結局昨日の夜、GIMPで15分ぐらいでささっと書いて完成。 今回はあまりウケを狙わず。 プリントゴッコっぽさを出したぐらい。特別にフィルタとかかけたわけではないけど。 に何も言わないで見せたら「プリントゴッコみたいな感じ」と言っていたので、まぁそれなりの雰囲気は出せたかな。

特に手書きのコメントは無し。ご容赦。

写真去年使用した素材


有給休暇 - 年内最後 このエントリーを含むはてなブックマーク

今年7回目。(計算が合っていれば)残16日(去年分4日 + 今年分12日)。

ということで就業規則通りだと来年は合計25日(2004年分12日 + 2005年分13日)。


[ 12月29日全て ]

2005年12月29日 (木)

うるう秒はNTTの時報サービスでは楽しめない このエントリーを含むはてなブックマーク

多くの人が知っている通り、来年の1月1日に閏秒が挿入される。 7年前の実施の際には楽しみそびれた。

今年は時報が1発多いところをぜひ聞いてみたい。

と楽しみにしていたら、朝のテレビで聞いたところによると時報で打つ数は変わらないという。 NTT東日本によれば、

調整にあたっては、お客さまが時報サービス「117」番を聞かれた時に自然な形となるように、平成18年1月1日(日)、午前8時58分20秒から午前9時00分00秒までの100秒間に時報サービス「117」番の秒音を100分の1秒ずつ長くして、時刻を1秒遅らせ、午前9時ちょうどに日本標準時に合うようにします。 - 時報サービス「117」番の「うるう秒」調整の実施についてより。

ショック。楽しみにしていたのに。

そういえば時差について今まで全然考えていなかったので夜中の12時をイメージしていたのだけれど、日本だど9時なんだよな。

2005年が1秒長い地域と、2006年が1秒長い地域があって何か気持ち悪い。


書籍の処分の判断はどのようにするべきですかね このエントリーを含むはてなブックマーク

今年も今日が最後である。昼休みはオフィスのスタッフ全員で近くのPATATI PATATAへテクテク歩いて行って食事会。 午後の3:00過ぎから、大掃除

チームメンバ内で「本が増えてきたから本棚が欲しいね。その前にまずは今あるキャビネットにある古い本を捨ててスペースを確保しよう。」と話ていたので、今日実行することにした。

古いハードウェアのマニュアルやら、もはや使っていない開発環境に関する解説本やら出るわ出るわ。また、プロジェクトの資料として購入していたであろう特定分野の本などもいろいろと。

「もはや、いらんだろう」という本が多いのだが、こういうのって誰かが「それいる」というのが出てきそうで決断しにくかったりするのだよね。 誰が何のために買ったのかわからんものは特に。

ということで不要と判断した本を一度山積みして必要だと思った人がそれらを棚に戻し、残ったものは捨てるということにした。

なので、大掃除は済んだものの机の上にはいらないであろう本がどっさり。

今後、本を購入していく際はどうしていくのがいいのだろうね。 購入を希望した人の名前を書いておくかね?


[ 12月29日全て ]

2006年12月29日 (金)

年賀状印刷 - プリンタのインクを買い足し このエントリーを含むはてなブックマーク

デザインが完成したので、本日一気に印刷

インクが切れそうになったので途中、近所の LaOX に買いにでかける。 現在使っているエプソン PM-750C1997年モデルながら、まだまだ現役。 普通に使う分には十分なのだが、縁無し印刷ができないので以前から買い換えたいと考えている。

なのでインクカートリッジももうあまり買わないで済ませたいところではあるのだが、切れたら切れたら困るので買い足してずるずると。


有給休暇 - 年末の買い出し このエントリーを含むはてなブックマーク

今年12回目。12月28日(昨日)以来

(計算が合っていれば)残15日 (去年分1日 + 今年分14日)。

今年も去年分を1日残して最後の有給休暇

今日は主に年末の買い出し。 注連飾りやら、重箱やら、年始回りの粗品やら。


[ 12月29日全て ]

2007年12月29日 (土)

Twitter ベイジアンフィルタプロキシ このエントリーを含むはてなブックマーク

Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。

Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。

ということでベイジアンフィルタでフィルタリングしてみることにした。

自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。

 #!/usr/bin/perl

 use strict;
 use warnings;

 use HTTP::Proxy;
 use HTTP::Proxy::BodyFilter::complete;

 my $proxy = HTTP::Proxy->new(port => 8088);
 $proxy->push_filter(response => HTTP::Proxy::BodyFilter::complete->new,
                     mime     => 'application/xml');
 $proxy->push_filter(response => Bsfilter->new,
                     mime     => 'application/xml');
 $proxy->start;

 {

   package Bsfilter;

   use File::Temp qw/tempfile/;
   use XML::XPath;
   use base qw(HTTP::Proxy::BodyFilter);

   sub filter {
     my ($self, $dataref, $message, $protocol, $buffer) = @_;
     return unless defined($$dataref) && $$dataref ne '';
     eval {
       my $xml = XML::XPath->new(xml => $$dataref);
       my @nodes = $xml->findnodes('/statuses/status/text/text()');
       return unless @nodes;
       for my $node (@nodes) {
         my $text = $node->getNodeValue;
         if (is_NG($text)) {
           $node->setNodeValue("[NG] $text");
         }
       }
       $$dataref = qq(<?xml version="1.0" encoding="UTF-8"?>\n);
       $$dataref .= $xml->get_context->toString;
       utf8::encode($$dataref);
     };
     if ($@) {
       warn $@;
     }
   }

   sub will_modify { 1 }

   sub is_NG {
     my ($text) = @_;

     my ($fh, $filename) = tempfile();
     utf8::encode($text);
     print $fh $text;
     close($fh);
     my $result
       = system(
       "bsfilter --homedir ~/.twitter-bsfilter --ignore-header --auto-update $filename"
       );
     unlink($filename);

     return !$result;
   }
 }

@ HTTP proxy の作成

PerlHTTP proxy を作ろうとして真っ先に思い浮かんだのは POE だけれど、ちょっとヘビーなので今回は HTTP::Proxy をチョイス。 もともとフィルタリング HTTP proxy を作ることを念頭に置いた Perl モジュールなので今回の目的にぴったり。

1つはまった点といえば、filter の呼び出しがレスポンス全てを取得してからではなく一部分ずつの呼び出しになるところ。その仕様に気がつくのにちょっと時間がかかってしまった。 例えば XML 形式のレスポンスをフィルタしようとしても、普通に HTTP::Proxy を使うと XML の一部ずつがフィルタに渡されるため、XML のパースがうまくいかない。

これについては HTTP::Proxy::BodyFilter::complete を使うことで、まとめてフィルタに渡せるようになった。

@ レスポンスの処理

Twitter のタイムライン取得については P3:PeraPeraPrvXML 形式で取得しているので、そのタイプのレスポンスをフィルタするようにした。

XML::XPath でステータス部分を抜き出して NG 判定し、NG であれば先頭に [NG] を追加する。 これで Twitter クライアント側で [NG] を NG ワード指定すれば、表示されないようにすることができる。

@ bsfilter による NG 判定

NG 判定は普段メールspam フィルタとして使っている bsfilter を使った。 単純に system 関数で呼び出して結果を取得するだけ。

今回は対象がメールではないので --ignore-header を指定。また自動的に学習するように --auto-update を指定。 それと普段メールのフィルタリングに使っているのとは bsfilterデータベースを別にしたいので、--homedir も指定しておく。

@ NG と非 NG の学習。

NG ワードを twitter-NG.txt に、非 NG ワードを twitter-clean.txt に書いて以下のコマンドを実行。

 bsfilter --add-clean --ignore-header --homedir ~/.twitter-bsfilter twitter-clean.txt
 bsfilter --add-spam --ignore-header --homedir ~/.twitter-bsfilter twitter-NG.txt
 bsfilter --update --homedir ~/.twitter-bsfilter

自分の環境 (Debian GNU/Linux sid)では、UTF-8 で書いておいて問題なかった。

@ フィルタリングしてみる

あとは先の proxy を起動し、P3:PeraPeraPrv でプロキシとして localhost:8088 を指定すれば OK。

タイムラインを取得するたびに bsfilter が動いて NG なステータスには [NG] が挿入される。

@ フィルタリングの精度

これについては、まだまだチューンの必要ありかな。

  • 事前の学習データが少ない。
  • --auto-update していることもあり、最初に NG 判定が多いとそちら側に強化されすぎる。
  • 毎回 bsfilter を呼んでいるため、同じステータスが何度も学習される。

まだ使える精度まで上がってないけれど、教師データを増やせばそれなりにいけるかもしれない。

proxy の枠組ができたので、(@~は抜いてから bsfilter に渡すとか、前後の文脈も含めるとか)いろいろ試して遊べそうではある。 別に bsfilter にこだわらず、正規表現による判定などをしてもよいし。

この辺り P3 は Java で書かれているので、プラグインを書いて拡張できるよう将来になると面白いなと思ってみたり。


今日のさえずり - 「見え窓」はこの時の満足のためだけに使う このエントリーを含むはてなブックマーク

  • 11:44 しびれてた足を動かしたら、近くにあった年賀状イラスト集の表紙で小指を切った。イテ。というかしびれててどうにもできん。
  • 17:38 ホタルック欲しかったけれど LABI には40形なかった。かわりにパルックプレミア買った。
  • 18:37 5カ月ぶりにトレビーノ カセッティのカートリッジ交換。「見え窓」はこの時の満足のためだけに使う。
  • 00:26 P3 用に Twitter ベイジアンフィルタプロキシ作ってみた。 http://tinyurl.com/yqt75p

[ 12月29日全て ]

スポンサード リンク

■よく検索されるキーワード

torrent(51) 動画(24) 安めぐみ(21) 本名(21) tc-1(20) 画像(16) x31(16) wiki(13) windows(13) ドラマ(12) 作り方(12) 壁紙(12) thinkpad(11) ほぼ日手帳(11) 生年月日(11) 評判(10) 使い方(10) linux(10) システム手帳(10) 三条まゆみ(9) 真木よう子(9) インストール(8) usb(8) ポメラ(8) nikon(8) 修理(8) 値段(7) ほぼ日(7) ダイソー(7) 秋葉原(7) デロンギ(6) mp3(6) 無印(6) mp980(6) centos(6) 提案書(6) minolta(6) 無料(6) 口コミ(6) ボールペン(5) リフィル(5) so905ics(5) 書き方(5) スーベレーン(5) 方眼(5) iwgp(5) ミノルタ(5) gimp(5) レビュー(5) バッテリー(5) フリー(5) 評価(5) 万年筆(5) 写真(5) 映画(5) a6(5) タンブラー(5) porter(5) 無印良品(4) skype(4) 変更(4) firefox(4) デジカメ(4) イメージテック(4) make(4) moleskine(4) xp(4) ヨドバシ(4) 交換(4) 手帳(4) ユニクロ(4) 第25回ホリプロタレントスカウトキャラバン(4) f5(4) svn(4) ヨドバシカメラ(4) gmail(4) 冷蔵庫(4) ダウンロード(4) ショートカット(4) 筆まめ(4)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 2.298438s / load averages: 0.24, 0.24, 0.25
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)