katsuwo's diary - かつを日記

先月 2005年04月 来月
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
HNS logo

2005年04月04日(月)

#1 option of pdumpfs-clean

今までpdumpfs-clean をオプションなしで使っていたのだけど、
2004/1/1 のデータなんて使いそうにない、ということでオプションを変更しました。
pdumpfs-clean --keep 1Y6M6W7D files/

これだけで 500MB 近くのディスクが空きました。
1 年強で結構内容が変わった/使わなくなったファイルって、結構多いんですね。

#2 Transparent screen

壁紙を使った trick art (といって良いのかな?)。

ちょっと面白いから真似てみたいなーとは思うものの、
職場の写真だとちょっとかっこよくないのが残念。
fashionable な環境だと合うんだろうなぁ。というわけで、自室も無理(笑)

2005年04月05日(火)

#1 ついてない…

朝、家を出て 1 分で気づきました。
イヤホン(右)のイヤーキャップがない…。
でも、彼はもう後戻りすることなど出来ないところ(時間)まで来ていたのです。

泣く泣く片耳で bgm 流しながら作業してます(;_;

2005年04月07日(木)

#1 付加価値サービス

itpro の記事を読んでいたら「付加価値サービス」なんて言葉を見かけました。
なんとなく VAN なんて言葉を思い出して、懐かしくなりました。
以前はあんまり「付加価値」という感じではなかった印象だったんだけど、
ようやく「付加価値」っぽくなってきた感がありますね。

(参考: ネットを蝕むのはフィッシングだけじゃない、DDoS攻撃も「高度なものだけで1日60件」 )

2005年04月19日(火)

#1 グロインペイン症候群

グロインペイン症候群ってスポーツヘルニアと同じ意味の言葉だったんですね。
(参考: サッカー選手に多いスポーツヘルニア )

それはともかく、アンリが同症候群にかかったらしいという噂を耳にしました。
今シーズンはもう FA カップとリーグ 2 位しか狙うものがない *1 ので、
ゆっくり休養して治してほしいですねぇ。

けが人:

徐々に戻ってきているのですが、Henry と Ljungberg が怪我してしまったのと、。
いつのまにか Clichy が今シーズン絶望になってしまったのがつらい。

次の chelsea 戦はけが人が増えないようにしてほしいですねぇ。

*1: どっちも争う相手が Man-U. というのがやりづらいですね:p

2005年04月22日(金)

#1 nonblocking io と select

今作っているプログラムでは、サーバ側が死んでしまうとクライアント側は
sysread() でブロックしたままになってしまうので、
nonblocking io や select による制御を行おうと思ったのですが、
ActivePerl ではこれに対応していないようです:p

こういった基本的な機能が使えないと、まったく持って困るなぁ。
現在解決方法を検討中…。

#2 [soccer] Chelsea 0 - 0 Arsenal

最後の(?)淡い望みも消えてしまいました…。
それにしても arsenal は攻撃に迫力が無さ過ぎます。

来シーズンは Henry とコンビを組める FW が一人欲しいなぁ。

2005年04月24日()

#1 接続不良?

普段使っている vaio-sr で、液晶パネルを一定以上開くと
画面の一部が赤くなってしまうようになってしまいました *1
本体を逆さにしたりしても現象は変わらず、
現象が発生するのはパネルの開き角度に関係しているようです。
おそらくヒンジ部分の接続がダメになってしまったのでしょう。

何度かぐりぐりやれば正常に表示されるので、
普段使用する分にはあんまり影響がないのですが、
いずれ完全に壊れてしまいそうな気がするので、早急に修理した方が良さそうです。

もう十分使っているので、そろそろ次のモデルにしてもいいのかも。
pointing device 周辺とか、hdd とかもあまり調子よくないし。

代打ノート:

修理する/しないに関わらず、とりあえず修理見積もりを出そうと思うので、
その間の代打ノートを見つけてきました。

古い mebius ノートの PC-PJ2-W2 です。
秋葉の中古屋を見て回っていたら、完動品で 14,800 円で見つかりました。
spec は Celeron 300MHz, Mem:64MB, HDD:10GB とちょっと貧弱な感じはしますが、
僕の使い方では特に支障なさそうな気がします。
Norton をいれても、teraterm と atok ぐらいはちゃんと動くでしょう:)

気になるのはリカバリ CD などがないという箇所ぐらいです。
まぁ、今入っている win2000 がクラッシュするまでがんばってもらう感じで(^^;

間つなぎとしてはこんなもので十分でしょう、きっと。

修理内容:

液晶ユニット交換になったら 10 万近くかかるはずなので、
そういう見積もりが帰ってきたら他のノートに買い換えることにしようと思います。
うまく安く交換できる箇所が壊れていますように…。

*1: RGB の G,B が消える感じではなく、赤地に絵を映している感じ。 画面の黒の部分が赤になって、他はそのままに見える。

#2 くるま

最近車を買おうといろいろ動いていたんですが、ようやく購入契約をすませました。
車種はプジョーの 206XT (中古)です。

駐車場の契約が 5/1 からで書類関係に時間がかかるので、
納車は 5 月中旬ぐらいになりそうです。
うう… GW 中に手元にくるようにしたかったのに〜。

2005年04月25日(月)

#1 ticket for worldcup2006.

22 日付で worldcup のチケット申し込みの結果が返ってきていました *1
結果は
Due to the high demand for tickets for the 2006 FIFA World Cup Germany (TM),
the ticket applications correctly processed and accepted had to be entered
into a draw. Unfortunately, you have not been allocated any tickets for
the 2006 FIFA World Cup Germany (TM).
ということで、ダメでした。

次の機会にもまた申し込んでみる予定です。
一度は我らがオランダ代表の試合を、生で見てみたいですものね:)

*1: spam フィルタに引っかかっていて、全然気づきませんでした(^^;

#2 Re: nonblocking io と sysread

やや adhoc な対応ですが、thread と exit を使って回避することにしました。
#!/usr/bin/env perl

use threads;
use threads::shared;

my $th_running :shared = 1;
my $reading :shared = 0;

sub observe_read()
{
  my $sec = 0;

  while($th_running) {
    sleep(1);

    if($reading) {
      exit()  if($sec++ > 2);
    } else {
      $sec = 0;
    }
  }
}

$observer = threads->new(\&observe_read);

$reading = 1;
sysread(STDIN, $buff, 200);
$reading = 0;

if($buff) {
  print "readed: [$buff]";
}


$th_running = 0;
$observer->join();
これを実行すると以下のようになります。
% echo hoge | perl foo.pl
readed: [hoge
]
% perl foo.pl

二番目の例では 2 秒待って、observe_read スレッドに exit() されます。
ざっと書いた割にはちゃんと動いているようです。

2005年04月26日(火)

#1 GameCube has died.

GameCube の電源入れたら
エラーが発生しました。
パワーボタンを押して電源をOFFにして、
本体の取り扱い説明書に従ってください
というメッセージが出るように。
マニュアルには「本体が故障している可能性があります。」とか書いてありました。
お客様相談窓口行きだそうです…。

中古とはいえ、動かして 2 日目なんだけどなぁ。
さぁ fire emblem やろう、という僕には最悪の仕打ちです:p

#2 catch a cold.

風邪引きました。最近バイオリズムとか星の位置とかが最悪な感じです。

#3 [perl] threads とデストラクタ

下記の条件のもとで、デストラクタが呼ばれないことに気づきました。
これらの条件を満たすソースは次のようになります。
#!/usr/bin/env perl

use strict;
use threads;

package TestClass;

sub new()
{
  my %self = ();
  $self{'thread'} = threads->new(\&_thread_main);

  bless(\%self);
}

sub DESTROY($)
{
  my ($self) = @_;

  print "in DESTROY()\n";
  $self->{'thread'}->join();
}

sub _thread_main()
{
  sleep(30);
}

package main;

# main routine.
my $obj = TestClass->new();

sub main()
{
  $obj;
}

このスクリプトを実行すると以下のようになります。
% ./test_script.pl
A thread exited while 2 threads were running.

ちなみに main() 関数を削除して、実行すると以下のようになります。
% ./test_script.pl
in DESTROY()

main() 関数の有無によって、オブジェクトが破棄されなくなってしまうようです。
調べてみたところ、thread の有無にも関係があるようです。

最初に提示した条件の全てを満たしている場合に発生するようなので、
のいずれかを行うと、現象は改善します。
threads を利用しているスクリプトでは、オブジェクトは明示的に破棄 *1 する方がよさそうです。

*1: undef $obj; で明示的に破棄すると、デストラクタが呼ばれます

2005年04月27日(水)

#1 ice>Link:iPod

車載オーディオには iPod を買って、これを使おうかな。
どうやら 206 (のデッキ)にもちゃんと対応しているようだし:)

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

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