トップ 最新 追記

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


07/05/2008 うむ [長年日記]

tDiary 2081日目

[日記] うむ

改めて思う.bash はスゲー.

ただ bash はクロージャを実現できない気がする. オブジェクト指向ライクなことはできるが.


07/06/2008 なんか [長年日記]

tDiary 2082日目

[戯言] むう

「うはこれフラグじゃねwwww」などと思いつつも「まてあわてるなこれは孔明の罠だ」というささやきにより結果フラグをバキバキに折り倒す. 何事も時期を逃すと取り返しのつかないことになる. そんなことがここ 20 年のうちに何度あったかな.

思い立ったが吉日とはよく言ったものよな.

ついでに言うと回収できないフラグはそもそも立てるべきではなかった.

また排水溝から強烈な臭いがね. だから料理したらすぐ片づけしないとってあれほど…….

昨日作ったホワイトソースの残骸が原因くさい. 魚類と乳製品は危険というわけか.


07/07/2008 おお [長年日記]

tDiary 2083日目

[日記] おお

今日は織姫と彦星が年に一度のガチンコバトルする日じゃないか.

アーメン.


07/09/2008 [長年日記]

tDiary 2085日目

[日記] 夢

通ってた大学の廊下.

見覚えのある人とすれ違った.

振り返ると,死んだ知り合いだった.

「ちょ! おま!」

呼び止めようとしたけど,隣の研究室に入ってしまった.

すぐに俺も隣の研究室に入った.

けど誰もいなかった.

何だかとても悲しくなって,たくさん涙が出た.

というところで起きた. 何だ一体.

[日記] syslog-ng 云々

  • dest driver "program" と syslog-ng は pipe でつながってるくさい (afprog.c afprogram_dd_init)
  • syslog-ng 側 pipe はノンブロッキングモードで書き込みが行われるくさい (afprog.c afprogram_dd_init で g_fd_set_nonblock (実体は misc.c) を呼んでる)
  • pipe への書き込みが失敗すると,EAGAIN でも EINTR でもない場合に限り最終的に afprogram_dd_deinit と afprogram_dd_init が呼ばれて program が再起動されるくさい (log_writer_broken → log_pipe_notify → notify (afprogram_dd_notify))

全体がぼんやりだからあんまし自信ないけど.

  • pipe(7) によれば,O_NONBLOCK 有効, 書き込みサイズ <= PIPE_BUF の場合には,write(2) 失敗時には EAGAIN となる.この場合何事もなかったかのように partial flush の pos 0 で処理続行
  • O_NONBLOCK 有効, 書き込みサイズ > PIPE_BUF の場合には,バッファがいっぱいの場合は write(2) が即座に EAGAIN で失敗するが,そうでない場合,一部のみ書き込みが行われる可能性がある.この場合 partial flush として処理され,次回へ持ち越し
  • PIPE_BUF は Linux 2.6.11 以降では 65536 バイトらしい

例えば program が pipe (つまり stdin) からデータを吸い出すスピードが syslog-ng による pipe への write スピードよりも下回っていた場合,普通に考えれば pipe バッファがすぐに溢れる. 上記を踏まえると,このような場合は EAGAIN で正常終了処理続行なので,その間もどんどん queue に溜まっていくイメージか. そのうち queue も溢れて drop メッセージが出るようになるかな. いたるところにバッファがあってわけが分からんな.

更に言うならこれら全部想像でしかないという罠. 実はぜんぜん違ったりして.

syslog-ng の write queue は log_fifo_size オプションで制御できるっぽい.


07/11/2008 ふーむ [長年日記]

tDiary 2087日目

[日記] ふーむ

ここのところ何でかよく分からんけど精神衛生があまりよろしくない. 変な強迫観念というか妄想というか何というかまあそれ系の何かに脳みそが行ってしまうことが多々.


07/12/2008 ふひー [長年日記]

tDiary 2088日目

[戯言] だから

まあもちつけ.とりあえずソースコード読もうか.

ソースコードはコンパイルすれば実行可能になるだけのドキュメント DAZE?

ってえろい人が言ってました.


07/15/2008 ふむ [長年日記]

tDiary 2091日目

[日記] ちょっと面白い

use strict;
use warnings;
use IO::Handle;
use Time::HiRes qw(gettimeofday setitimer ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF);

STDOUT->autoflush(1);

my $alrm   = 0;
my $vtalrm = 0;
my $prof   = 0;

$SIG{'INT'} = sub {
    exit(0);
};

$SIG{'ALRM'} = sub {
    printf "SIGALRM(%d):   %s.%s\n", ++$alrm,   gettimeofday();
    setitimer( ITIMER_REAL, 1 );
};

$SIG{'VTALRM'} = sub {
    printf "SIGVTALRM(%d): %s.%s\n", ++$vtalrm, gettimeofday();
    setitimer( ITIMER_VIRTUAL, 1 );
};

$SIG{'PROF'} = sub {
    printf "SIGPROF(%d):   %s.%s\n", ++$prof,   gettimeofday();
    setitimer( ITIMER_PROF, 1 );
};

setitimer( ITIMER_REAL,    1 );
setitimer( ITIMER_VIRTUAL, 1 );
setitimer( ITIMER_PROF,    1 );

while(1) { };

nice 0 だとどんどんずれていくけど,nice -20 にするとずれ幅が小さくなる. RT プロセスにしたらずれが極小になるはずだと思うんだけど,イコール CPU 時間を占有することになるはずで,つまりずれとか以前にシステムが死ぬ気がするので試してない.


07/25/2008 がー [長年日記]

tDiary 2101日目

[日記] だから

この日記は べんろんぶん お助け掲示板じゃねー YO !!!!111

[日記] は

しまった,自分を To にして宛先を Bcc にしときゃよかった. 携帯のメールはほんにブロードキャストしづらいのう...

つーか携帯は予測変換よりも目的に応じたタブ補完機能を搭載すべき.

あとクリップボードを複数持てるようにすべき.

というかそもそも UI が終わってると思う. iPod Touch もビミョーだからきっと iPhone もビミョーに違いない. タスク切り替えがうんこすぎるんだよ.

とかテキトーなバリゾーゴンを吐いてみるテスツ.


07/28/2008 むう [長年日記]

tDiary 2104日目

[日記] 今日のプチびっくり

インスタントコーヒー (フリーズドライのアレ) って糸引くんですね.

[日記] ところで

「なんでお前んちのはすぐカビたり臭い放ったり糸引いたりすんだよwwww」

とか思う向きもあるやもしれんが,俺にしてみたら,

「なんでお前んちのはカビない臭わない糸引かないんだ????」

となるわけなんだが...

いやまじで.

本日のツッコミ(全2件) [ツッコミを入れる]

smbd [長期間保存しすぎ何じゃね? あと湿度? ]

atzm [そんな過酷な環境に置いてはいないはずなんだけどな... ]


07/31/2008 はー [長年日記]

tDiary 2107日目

[戯言][Perl] 矛盾

結局使う前に perldoc -m でソースコードを全部読むことになる CPAN に,相変わらずそこまで大きな価値は見出せない俺. 別に書き捨てスクリプトに使う分にはどうでもいいんだけどさ. クオリティを一定まで引き上げた上でデファクト的なモジュール群を Python みたく全部バンドルしてくれりゃいいのに. だから Perl が好きになれないんだ. くそめんどいから. CPAN 使うよりオレオレ実装してしまった方がコストが低いなんてよくあることだぜ. 意味がわからねー.