katsuwo's diary - かつを日記

先月 2005年03月 来月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
HNS logo

2005年03月04日(金)

#1 I am Sam.

なんとなく tv を流していたら、I am Sam に見入ってしまいました。
以前に見たことがあるので話の流れは分かっていたんだけど、
やはり最後のシーンはいいものですねー:)

でも、一番僕の気を引いたのは途中で流れてた挿入曲の一つ。
この映画は全編を通して beatles の曲をカバーして使っているのですが、
その中の一曲(題名知らない ^^;)がかなりツボにはまったのでした。
歌っている人がとーっても気になるのだけど、サントラ買うしか方法はないかなぁ。

ちょっと google に聞いてみたのだけど、参加しているアーティストが多すぎて
どのシーンに誰が歌っていたかなんてさっぱり分かりません:p


うう…やばい。amazon で One click buy してしまいそうだ…。

2005年03月05日()

#1 [soccer] 今日の j-league

j-league の 2005 シーズン開幕〜:)
というわけで、久しぶりに雑感を書いてみます。

Reds 0 - 1 Antlers:

red card が出たシーンはつかみかかったアルパイも悪かったけど、
うまく倒れて見せた鈴木の勝利(笑)

reds は焦っていたのか、なんか空回りしている感じがしました。
判定のおかげでややいらいらしていたのもあるんだろうけど。

Marinos 0 - 1 Jubilo:

jubilo が勝ったのは完全に運のおかげ。
主審にも副審にも神の手が見えなかっただけですね:p

ゴンとチェヨンスのコンビだったせいか前線に放り込むボールが多くて、
しかもあまり精度が良くないものだからほとんどボールを失い続けていました。
この手の大味な展開が今後も続くようだと今シーズンは微妙な感じです。
単にマリノスにサイドで競り負けた上の選択でありますように。

マリノスはけが人が戻ってくるまでにポイントを落とさないかが鍵でしょうね。
3,4 月の連戦を乗り切れば先は明るいような感じです。

Albirex 0 - 4 FC Tokyo:

後半しか見てないんだけど、fctokyo は調子いいですね。
最後に投入されたダニーロはシュートがうまいので、今後が楽しみな感じです。

こっちは去年のようにけが人が出ないように祈りつつ戦っていく感じですかね。
今のメンバーが維持できれば良いところを狙っていけそうな戦力があるので、
今年は期待をかけてみていきたいと思います。

s-pulse:

初戦見たかったんだけど、中継してくれないのでニュース映像待ちかな。

#2 antenna software

最近なんとなく antenna software を作り始めました。

僕の設定が悪いのか、 なつみかん はあまり更新時刻取得の精度がよくないので、
自分で作ってしまえーというノリで書き始めています。

とりあえずある程度は処理できるようになってきているので、
もうちょっと時間が取れればどこかで公開できる程度にはなるかもしれません。

といっても、まだ更新時刻取得部分しか書いていないので、
html 生成部分に手を付けなくちゃいけないんですよねぇ。
なつみかんの nm_mf.pl をそのまま添付 *1 じゃダメかなぁ(笑)

samidare:

作り始めた後に今ある antenna software について調べてみたのですが、
その際に 簡単にまとめてあるページ を見つけました。

中でも、設定ファイルの形が似ている samidare がちょっと気になっています。
IgnorePath という XPath 風の HTML 除去指定を持っている箇所など、
参考になる箇所はいくつもあるようです。

ある程度形ができたら他のアンテナのいいとこも調べてみたいですねぇ。

*1: 自分でテストしている時は LIRS 形式で出力して nm_mf.pl で html 化しているのです。

2005年03月06日()

#1 Re: I am Sam.

買い物に出かけたついでに、book off でサントラを見つけてきました。\750。
で、僕が気に入った曲は Tr.2 blackbird / Sarah Mclachlan でした。

柔らかい雰囲気がしてとてもよいです:)
そのうち Sarah McLachlan の他の cd も買ってみようと思います。


今日町田の中古 cd 屋をさまよい歩いたばっかりなんだけどなぁ。
早くもまた cd 屋に行きたくなるなんて(^^;

2005年03月07日(月)

#1 Trac

project management software に trac というのものがあるようです。
ざっと見た感じでは Wiki + BTS + revision control が実装されているようです。
他には "Project Timeline" という機能もあるようです。

結構便利そうに見えるので使ってみようと思ったのですが、
revision control に svn を必要とするようなのであきらめました。
既存の repository は全部 cvs だから、対応してくれないと困るんだよなぁ:p

2005年03月09日(水)

#1 風邪引いた?

昨日軽い症状が出てるなーと思ったら、今朝起きてみたら風邪にかかってました。
症状がくしゃみ・鼻水と花粉症と一緒で、
ちょうど花粉が飛び出した時期と重なっているので、 ついに花粉症患者になってしまったのかと心配です。

とりあえず風邪薬を投薬してみたので、数日して治ることを祈ってます。

#2 [soccer] Chelsea 4 - 2 Barcelona

ぐああ。バルサが負けるなんてっ(;_;
3 失点のあとどうにか持ち直したように見えたのですが、
追いつくのがやっとだったということですね…。

バルサのディフェンスが良くなかったのもあるんだけど、
やはり chelsea のカウンターがうますぎたということなんだと思います。

なんにしろ、全力で応援してただけに残念です。

2005年03月10日(木)

#1 長い文字列の改行方法

url のような長い文字列を html の block 要素中に入れる場合は、
css で "word-break: break-all;" を指定するとよいみたい。

他には という方法もあるようだけど、これは改行位置の示唆を行うので
あらかじめ改行位置を推測してこれらの制御文字を入れておく必要がある。

ちゃんと試してはいないけど、css の方法は というあたりがやや気になる感じです。
手元の IE6 では動いたので、css の方法を採用するつもりなのですが。
(参考: 長い文字列の改行方法 - wbr, ­, css )

#2 TaskTray アイコンの復旧

explorer が死んでしまったときは tasktray の登録情報が消えてしまうため、
プロセスが生きているにも関わらず tasktray icon が表示されなくなります。

回避するには、TaskbarCreated メッセージの handler で
tasktray に再登録を行います。
TaskbarCreated メッセージは explorer が再起動した際に broadcast されます。
 const UINT WM_TASKBARCREATED = 
     ::RegisterWindowMessage(_T("TaskbarCreated"));BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
     ON_REGISTERED_MESSAGE(WM_TASKBARCREATED, 
                           OnTaskBarCreated)
 END_MESSAGE_MAP(CMainFrame, CFrameWnd)
 LRESULT CMainFrame::OnTaskBarCreated(WPARAM wp, LPARAM lp)
 {
     VERIFY(InstallIcons());
     return 0;
 }

 BOOL CMainFrame::InstallIcons()
 {
     NOTIFYICONDATA nid; 
     //
     // stuff nid with args
     //
     return Shell_NotifyIcon(NIM_ADD, &nid);
 }

この情報、archive.org でようやく記事を見つけました。
(参考: MSJ 1999/2 @ archive.org )

#3 perl de IPC

perl でプロセス間通信をやろうとすると あたりがあるみたい。

今回は双方向通信をやりたいので、IPC を選択してみました *1
次の script で child process の読み書きの file handle が手に入ります。
use strict;
use FileHandle;
use IPC::Open2;

my $pid = open2(*R_FD, *W_FD, "child.pl");
R_FD->autoflush(1);
W_FD->autoflush(1);

あとは R_FD, W_FD をつかって、ひたすら読み書きすることができます。
簡単な test code のレベルでは linux でも activeperl でもちゃんと動いてます:)

*1: Windows でも利用するので、(偏見込みで) socket は選択しませんでした:p
以前、WinSock が安定しなかったので嫌いなのです。
socket() 自体は native では無いらしいし。


2005年03月11日(金)

#1 find と rm の奇妙な関係。

他所で見つけた話。

cron などで以下のようなコマンドを実行していると危険なことがあるようです。
find /tmp -atime +3 -exec rm -- {} \;

理由は stat(2) と rm(1) が atomic な処理ではないので危ないということみたい。
stat(2) と rm(1) の処理の間に該当ファイルが差し替えられていると
勢いあまって違うファイルを削除してしまうことになるようです。

例として挙げられている攻撃方法はこんな感じ。
  1. /tmp/etc/passwd というファイルを作成する
  2. find が /tmp/etc/passwd を発見
  3. /tmp/etc を /etc への symlink に差し替える
  4. rm が起動され、/tmp/etc/passwd が削除される (実際には /etc/passwd)

で、この難しいタイミングで差し替えを実施する方法には なんてものがあるらしい。よく考え付くものです。
(参考: ここ ) *1

check my server.:

気になったので、ざっと /etc/cron.*/ 以下のスクリプトを確認してみました。

一般ユーザに書き込みができる path に対して find + rm は使っていなかったので、
特に問題は発生しないような感じでした。

唯一 /var/lib/php4 には書き込みができるようになったいたので *2
とりあえず chmod o-w しておきました。
何もファイルがないので、問題は発生しそうにありませんけど:p

*1: 修正: In 0317, リンク張りなおし。
*2: なぜなんだろ?

2005年03月12日()

#1 soccer まつり

最近見た試合の感想をずらーっと書いておきます。
見た日に書かないとだんだん面倒になってきていけません(^^;

#2 [soccer] Arsenal 1 - 0 Bayern Munchen

この試合は勝ったけど、合計スコア 2 - 3 で Bayern が勝ち抜け。

最近の低調ぶりを考えれば、本当にいい試合をしたんじゃないでしょうか:)
久しぶりにパスでゲームを支配しているのを見ることができたので、
負けてしまったものの満足をしています。

#3 [soccer] Juventos 2v - 1 Read Madrid

こんな攻撃的な Juventos、あと 5 年は見られないんじゃないかという試合。
前線に 2 人以上の人がいるというのは Juventos らしくありませんね:p

ふだんはどっちのチームも敵なので応援することはないのですが、
ネドベド好きの母親と Juventos を応援していたので、
なかなかいい気分の試合でした。

試合中あれだけシュートをはずし続けたサラジェタが、
延長の最後にボレーを決めるというのはサッカーの不思議だと思うことにします。

#4 [soccer] AC Milan 1 - 0 Manchester United.

総合力で Milan が勝ち。

常に 2 対 1 以上の状況を作り出されては、United は全くゴール前に迫れません。
案の定、ゲームを制されて得点できずに試合終了。
1st reg をまた見ているような感じでした。

#5 [soccer] Bolton 0 - 1 Aresnal

Bolton とは相性が悪いので嫌な予感がしていたのですが、やっぱり苦戦する羽目に。

伝統の Kick & Rush で肉弾戦を挑んでくる Bolton に一方的に押され続ける展開は、
見ていてはらはらの連続でした。
ボールを奪っても前線がレジェスだけでは、まったくキープができません。

今シーズンのレジェスは開幕当初の輝きが消え、まったく動きに冴えがありません。
ホームシックであるとか、英語がまだ使えないことであるとか、
チームに馴染んでこないのが原因なんでしょうね。
ドリブルなのかパスなのか迷う場面もあって、全然役に立っていません。
かつては脅威となっていたドリブルも、ほとんど成功しなくなっていますし:p
センスがあるのは間違いないので、調子を取り戻してもらいたいのですが…。

試合自体はレーマンが安定していた(!!)ので、試合開始時の 1 点を守りきって終了。
危険なタックルが(一方的に)繰り返されていた割には、
けが人が出てこなかったので一安心しています:)

もうリーグも CL も失ったので、せめて FA カップは取って欲しいなぁ。

2005年03月14日(月)

#1 perl de thread.

perl でスレッドを利用するには perl5.8 の環境で
use threads;

sub thread_closure($)
{
  # ...
}

threads->new(\&thread_closure, $arg);

sleep(1);  # waiting thread.
のようにすればよいようです。
(参考: ずんWiki - Perlでマルチスレッド )

2005年03月16日(水)

#1 check version of bind.

次のコマンドで、bind のバージョンを確かめられるようです。
% nslookup -q=txt -class=CHAOS version.bind. monochrome.jp
Server:         monochrome.jp
Address:        61.206.114.101#53

version.bind    text = "9.2.4"

何も設定していない場合は取れるようですが、
取れないようになっているサイトもあるようです。

#2 ppp session has down.

monochrome.jp がなぜか myip の ppp session を維持できなくなってしまいました。
Mar 16 23:30:43 evergreen pptp[23588]: anon log[main:pptp.c:243]: The synchronou
s pptp option is NOT activated
Mar 16 23:30:43 evergreen pptp[23591]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent
 control packet type is 1 'Start-Control-Connection-Request'
Mar 16 23:30:43 evergreen pptp[23591]: anon log[ctrlp_disp:pptp_ctrl.c:721]: Rec
eived Start Control Connection Reply
Mar 16 23:30:43 evergreen pptp[23591]: anon log[ctrlp_disp:pptp_ctrl.c:755]: Cli
ent connection established.
Mar 16 23:30:44 evergreen pptp[23591]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent
 control packet type is 7 'Outgoing-Call-Request'
Mar 16 23:30:44 evergreen pptp[23591]: anon log[ctrlp_disp:pptp_ctrl.c:841]: Rec
eived Outgoing Call Reply.
Mar 16 23:30:44 evergreen pptp[23591]: anon log[ctrlp_disp:pptp_ctrl.c:880]: Out
going call established (call ID 0, peer's call ID 41984).
Mar 16 23:30:46 evergreen pptp[23601]: anon warn[decaps_hdlc:pptp_gre.c:197]: sh
ort read (-1): Input/output error
Mar 16 23:30:46 evergreen pptp[23601]: anon warn[decaps_hdlc:pptp_gre.c:209]: pp
pd may have shutdown, see pppd log

うーん、"short read (-1)" って何で発生しているんだろう…??
pppd log が出てないので、原因がさっぱりわからない。

pppd log の取り方:

/etc/pppd/options に debug オプションが記述されている場合に、
local2 facility で出力されるようです。

debug オプションは書いてあったので、ずーっと悩んでいたのですが、
答えは README.Debian の中にありました。
Syslog facility level
~~~~~~~~~~~~~~~~~~~~
The default level of LOG_DAEMON has been overridden (as described in the pppd(8) man page), to be LOG_LOCAL2. The intent being that local2 be sent to /var/log/ppp.log for use by plog, if you add the following line to your /etc/syslog.conf file: local2.* -/var/log/ppp.log

というわけで、これを syslog.conf に追記して pppd log を取るようにしました。

で、原因は?:

で、log を取り始めてみたので原因追求を再開しようと思ったのですが、
なぜか問題はおきなくなってしまいました:p
syslog の設定の有無では挙動が変化しないので、これは関係ないようです。

なんとなく pptp server 側の問題のような気がしてきました:p

2005年03月18日(金)

#1 wdnmz

namazu-1.x 系には wdnmz というツールがあったようです。

wdnmz はインデックスに登録されているキーワードと
キーワードが含まれるファイルの数を得ることができます。

以下、namazu-1.3.0.11/src/wdnmz.pl から抜粋。
  wdnmz.pl v$VERSION - program to output list of words from index
  $COPYRIGHT

  usage: wdnmz [-iw] NMZ.i
    (default): 'word'  TAB 'count of the word in index'
         -w: output list of words for regexp search
         -i: using NMZ.ii to process
  usually use: % wdnmz -w NMZ.i > NMZ.w)

#2 ajax

最近 google suggest などで使われている、
ajaxえいじゃっくすと読む ようです。

サッカーファンの一人としては、 あやっくす と読むんだと思ってたんですけどねぇ(^^;

#3 qwik.jp

QuickML と Wiki を併せ持ったようなツールがあるようです。
面白そうだなーと思ったけど、うちでは postfix が動いているので
QuickML 相当の機能は使えない予感がひしひしとします…(^^;

…と思ったら:

Postfix下での利用 なんて記事を発見。
うーむ、気が向いたら動かしてみようかしら。

でも、友人たちは使ってくれるんだろうか(^^;

2005年03月23日(水)

#1 今日の links

Google Code:

Google の open sourced softwares。
What is code.google.com? 
  Code.google.com is our site for external developers interested in
  Google-related development. It’s where we’ll publish free source
  code and lists of our API services.
だって。

形態素周辺確率を用いた分かち書きの一般化とその応用:

形態素解析と文字単位解析(ex. N-gram)を混ぜ合わせて分かち書きするという論文。
ある文字列から全ての形態素の組み合わせを抽出して、
各形態素の期待値(スコア)を掛け合わせることで、
形態素解析の精度と文字単位解析の再現率を mix しようとしているみたい。

発表資料だけじゃなく、論文自体も読んでみようかな。

2005年03月28日(月)

#1 [perl] Devel::DProf

Devel::DProf というプロファイラがあるらしいので、使ってみた。

まずは DProf を含めて、スクリプトを実行してみる。
(サンプルにはさっきまで使っていた mknmz を使ってみました:)
% perl -d:DProf /usr/bin/mknmz docs/

実行すると tmon.out というファイルが出力されるので、
これを dprofpp コマンドに渡してあげます。
% dprofpp tmon.out
Total Elapsed Time = 174.8969 Seconds
  User+System Time = 165.6069 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
 33.7   55.91 55.919 132000   0.0000 0.0000  File::MMagic::readMagicLine
 16.7   27.71 27.714 230139   0.0001 0.0001  IO::File::open
 15.8   26.19 82.118 132000   0.0000 0.0001  File::MMagic::magicMatchStr
 7.26   12.01 30.303  10000   0.0012 0.0030  mknmz::put_field_index
 6.57   10.88 163.16  10000   0.0011 0.0163  mknmz::namazu_core
 5.95   9.854 10.172  10034   0.0010 0.0010  util::readfile
 5.49   9.088 91.395  10000   0.0009 0.0091  File::MMagic::checktype_magic
 4.35   7.205  7.205  10000   0.0007 0.0007  mknmz::check_file
 1.55   2.574  2.574 230139   0.0000 0.0000  Symbol::gensym
 1.36   2.258  5.601 230139   0.0000 0.0000  IO::File::new
 1.23   2.030  2.115  10000   0.0002 0.0002  File::MMagic::checktype_data
 1.15   1.903 35.218 230139   0.0000 0.0002  util::fopen
 0.85   1.410  1.410  20000   0.0001 0.0001  mknmz::wordcount_sub
 0.81   1.345  1.345  10000   0.0001 0.0001  File::MMagic::checktype_byfilename
 0.78   1.290  1.549 180023   0.0000 0.0000  util::tmpnam

どうやら mknmz は処理の大半が File::MMagic に時間を割いているようです。
(参考: Perl のプロファイリング via 『Perl デバッグ』 )

以上、13 日分です。
Powered by hns-2.10-beta7, HyperNikkiSystem Project

このページへの link はご自由に。 アンテナへの登録の際には di.cgi を使ってください。 RSS 使いは rss.cgi もどうぞ。