つれづれ日記 2004年11月

予定

毎日


2004年11月30日 (火曜日)

07:56:36 # Life SPAMフィルタの成績を見たら,1500通のうち,500通がSPAMとして認識できていなかった. 誤認識したメールの数については確認せずに削除しているので不明. うーん...もっときつくしてもよいのかなぁ...

2004年11月25日 (木曜日)

08:42:24 # Life getconfコマンドでNPTLであるかどうかを確認できる.

$ getconf GNU_LIBPTHREAD_VERSION
NPTL 0.60
$ LD_ASSUME_KERNEL=2.4 getconf GNU_LIBPTHREAD_VERSION
linuxthreads-0.10
	

ppc linux自体にnptlは移植されているようだ. しかしながら,Debian/PPCではnptlは利用されていないのか? バグ報告によると,gcc3.3はパッチを適用しないとppcのnptlに対応していないらしい. 3.4にならないとダメだ,とのDan Jacobwitzの言.

09:03:28 # Life 今日のメモ: 議事録ドリブンな会議エンジンっておもしろそうだなぁ.. ついでに,mixi版無敵会議とかもおもしろいなぁ..

09:07:45 # Life lindaは今日誕生日らしい.

Now running linda...
Happy birthday to me!
I'm 3 today!
E: ecasound2.2; Package contains autoconf-generated files.
W: ecasound2.2; Package Build-Depends on automake* or autoconf.
W: libecasound2.2-dev; Long descriptions contains short description.
Finished running linda.
	

09:12:18 # Life TLUGとYLUGが関連してくるのだが, OSDLの引越しは26日シャットダウン,29日サーバ復旧という手はずらしい. ということで,その期間YLUGとTLUGのサーバは利用できない.

09:16:45 # Life bootlogの分析のために, topの出力を分析するスクリプトが出ている. こういうグラフってなんとなくよいなぁ... pythonとmatplotの使い方の例としてよいかも.

2004年11月23日 (火曜日)

12:03:05 # Life openssl speedの速度をibookにて計測してみる. rc2 cbc, blowfish cbc, aes128 cbc, aes192 cbc, aes256 cbcに関しては athlon XP 1800+と同等の値が出ているがそれいがいは大体1/2から2/3程度. DSA/RSAのsign/verifyに関しては1/3程度の速度しか出ていない.うーむ. Zaurusに比べると何十倍という速度は出ているので,よしとするか?

OpenSSL 0.9.7e 25 Oct 2004
built on: Fri Nov 12 16:33:30 UTC 2004
options:bn(64,32) md2(char) rc4(idx,int) des(ptr,risc2,16,long) aes(partial) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md2                957.67k     2031.83k     2837.94k     3137.00k     3239.04k
mdc2                 0.00         0.00         0.00         0.00         0.00
md4               6547.32k    22540.30k    65129.84k   122686.74k   165716.97k
md5               5524.90k    18423.24k    50133.54k    87540.54k   112313.76k
hmac(md5)         7300.28k    23099.31k    58137.51k    93227.12k   113356.08k
sha1              5888.76k    19712.54k    52982.69k    92757.51k   117982.05k
rmd160            4748.82k    13838.06k    30774.26k    44149.85k    50957.70k
rc4              58834.21k    65191.05k    66637.97k    66751.87k    66981.82k
des cbc          20537.40k    22021.39k    22436.48k    22600.68k    22562.13k
des ede3          8057.81k     8279.63k     8364.27k     8379.08k     8350.19k
idea cbc             0.00         0.00         0.00         0.00         0.00
rc2 cbc          13942.81k    14603.24k    14794.06k    14865.66k    14850.12k
rc5-32/12 cbc        0.00         0.00         0.00         0.00         0.00
blowfish cbc     34270.32k    38769.85k    40034.34k    40327.59k    40380.09k
cast cbc         26653.17k    29408.62k    30052.02k    30298.39k    30287.80k
aes-128 cbc      33547.63k    35198.17k    35591.04k    35797.27k    35777.36k
aes-192 cbc      30443.81k    31871.89k    32284.87k    32330.95k    32383.82k
aes-256 cbc      27882.68k    29155.13k    29421.00k    29530.39k    29607.02k
                  sign    verify    sign/s verify/s
rsa  512 bits   0.0018s   0.0002s    571.2   5974.4
rsa 1024 bits   0.0092s   0.0005s    109.3   2023.7
rsa 2048 bits   0.0562s   0.0016s     17.8    613.1
rsa 4096 bits   0.3741s   0.0057s      2.7    174.7
                  sign    verify    sign/s verify/s
dsa  512 bits   0.0015s   0.0018s    662.8    555.5
dsa 1024 bits   0.0046s   0.0056s    216.2    179.0
dsa 2048 bits   0.0156s   0.0189s     64.2     52.9
	

2004年11月22日 (月曜日)

23:44:25 # Life iBookでのカーネル2.6.9と2.6.8でのxineの性能が違いすぎるという現象については, 現状てがかりはあまりない. 気が付いている点は,PCIデバイスの見え方が違うのと,... あれ?気づいたらNPTLになっていない. そもそもNPTLになっていないような気がする. multilibにもなっていない.うーむ.

PID1602がいったいどういう関数でつまっているのか,プロファイリングは簡単にとれないのだろうか? この範囲にある領域に対してのmemcpyが遅いとかそういうことが知りたいのだがなぁ...

linuxthreadsのマニュアルを読んでいたら,スレッドあたりスタックは2MBしか確保していない,との記述があって, びっくり.

CPUの使用TOPは下記のようになっている. xineが60%, Xが30%で合計100%程度.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1602 dancer    25   0  156m  54m  35m R 56.0 21.6  27:10.26 xine
 1322 root       6 -10 81476  31m  64m S 32.2 12.6   9:07.11 XFree86
	

2004年11月18日 (木曜日)

08:13:21 # Life archの使い方がまったくわからなかったが,どうやらこうやってチェックアウトできるらしい,ということがわかった. planetplanetはarch形式.

$ tla register-archive http://people.ubuntu.com/~scott/arch/personal/
$ tla get scott@netsplit.com--2004/planet--devel--1.0
	

08:52:56 # Life 今日のecasound利用. パッヘルベルのカノンベース4重奏の録音のためのコマンドライン. ベースはできが悪いのだが,とりあえず練習ということで.o

ecasound \
-a:rec,1 -i alsahw,2,0,0 \
-a:m -i null -pn:metronome,70 \
-a:1,m -o alsahw,0,0,0 \
-a:rec -o 1.wav -z:nointbuf 

ecasound \
-a:1 -i 1.wav \
-a:rec,2 -i alsahw,2,0,0 \
-a:m -i null -pn:metronome,70 \
-a:1,2,m -o alsahw,0,0,0 \
-a:rec -o 2.wav -z:nointbuf

ecasound \
-a:1 -i 1.wav \
-a:2 2.wav \
-a:rec,3 -i alsahw,2,0,0 \
-a:m -i null -pn:metronome,70 \
-a:1,2,3,m -o alsahw,0,0,0 \
-a:rec -o 3.wav -z:nointbuf

ecasound \
-a:1 -i 1.wav \
-a:2 2.wav \
-a:rec,3 -i alsahw,2,0,0 \
-a:m -i null -pn:metronome,70 \
-a:1,2,3,m -o alsahw,0,0,0 \
-a:rec -o 3.wav -z:nointbuf

ecasound \
-a:1 -i 1.wav \
-a:2 -i 2.wav \
-a:3 -i 3.wav \
-a:rec,4 -i alsahw,2,0,0 \
-a:m -i null -pn:metronome,70 \
-a:1,2,3,4,m -o alsahw,0,0,0 \
-a:rec -o 4.wav -z:nointbuf

ecasound \
-a:1 -epp:60 -i 1.wav \
-a:2 -epp:10 -i 2.wav \
-a:3 -i 3.wav -epp:90 \
-a:4 -i 4.wav -epp:40 \
-a:1,2,3,4 -o mix.wav -eca
	

2004年11月17日 (水曜日)

09:14:55 # Life 今日の成果としては,iBookでWAVIOが使えることを確認したことかな. ecasound, ALSA, kernelのバージョンをあげたらいろいろと解決したように思う. それぞれにここ1月くらいで解決した重要な問題があった.

2004年11月15日 (月曜日)

07:13:04 # Life 今回購入したBarracudaはすげえしずか.

21:23:05 # Life linuxの2.6.10-rc2のchangelogを見る. 3000行近くあるんだよなぁ...ALSAへの変更も大量にあるし.大変だ. Adrian Bunkが怒り狂ったように関数と変数をstaticに変更するパッチを投げている. こういうカーネル全体へのポリシの適用みたいな変更処理がどこまで実施できるのか, 興味深い. Debianでもこういう仕事をしてきた気がするので,Adrian Bunkらしいといえばらしいかも.

2004年11月14日 (日曜日)

09:16:45 # Life wlの elmo-folder-update-threshold という変数でフォルダの中でたまに見えないメールというのが発生した. 前回あるフォルダをみたときから次にみる間に500通以上たまっているとサマリに出てくれないらしい. そんなのは不便すぎるのでとりあえず 5000にしておいた.

09:47:50 # Life 「勝手にDebian Planet-JP頁」で大浦さんのフィード生成が変だったので,修正.

10:04:35 # Life ipodlinuxを久しぶりにみたら,なんかよさげ. でも,uClinuxってfork()がない,との記述があって,びっくり. MMUがなくて浮動小数点演算が無いとかなりつらいなぁ...

16:51:30 # Life 新しいハードディスクをかってきた. Seagateの160GBのディスク.8MB cache, 7200rpmのはず.

hdb: max request size: 1024KiB
hdb: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63, UDMA(100)
hdb: cache flushes supported
 hdb: unknown partition table
	

とりあえずこんだけ情報があればなんとかなるか?

# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/hda3             28834744  20819348   6550672  77% /
/dev/hda4             47833640  36434052   8969760  81% /home
/dev/hda1               186663     42765    134261  25% /boot
# free
             total       used       free     shared    buffers     cached
Mem:        515676     338328     177348          0      15128     145340
-/+ buffers/cache:     177860     337816
Swap:      1951888          0    1951888
	

IDEプライマリのスレーブにディスクを接続, cfdiskでパーティションを切り, mke2fs -j /dev/hda1と, tune2fs -i 0 -c 0 /dev/hda1にて設定. /bootはジャーナルにしないほうがよさそう,grubはジャーナルを読めるわけではないと思うので. 読めなくても関係ないかな? んでもって,mkswap.

17:10 コピー開始.どれくらいかかるか... 19:19 終了.

今後の展開.

久しぶりすぎてなんか手順を覚えていない. cp -aでよかったのか全く記憶にないのだが, やりかたを覚えていないので,仕方が無い. 多分,バッファを使わない分効率が悪い気がする. うーん. しまった,間違ってtmpfsにログをはいているので,256MBを越えたらアウトじゃないですか... cp -v の出力が256MBを越えないことを祈る. 100万ファイルあって,それぞれ160文字くらいの出力を出すので,160MBくらいか?ぎりぎりだなぁ... 予想は二時間くらいかな,コピーが終るまで.

この作業は二時間で終了して,無事に安定稼働に行きました.

20:12:38 # Life うーん,どういうトリガーかわからないが,WAVIOを差しているとエラーが出るようになった. んでもって気づいたら死んでしまった. なんでだろう. USBデバイスが接続不良のときに接続しなおすルーチンのどっかでメモリリークか何かが発生している予感.

usb 2-1.4: new full speed USB device using address 28
ALSA sound/core/oss/pcm_oss.c:2428: unable to register OSS PCM device 2:0
ALSA sound/core/oss/mixer_oss.c:1270: unable to register OSS mixer device 2:0
usbhid: probe of 2-1.4:1.3 failed with error -5
usb 2-1.4: USB disconnect, address 28
Badness in remove_proc_entry at fs/proc/generic.c:688
 [remove_proc_entry+244/320] remove_proc_entry+0xf4/0x140
 [pg0+542144945/1069265920] snd_info_unregister+0x31/0x60 [snd]
 [pg0+542374798/1069265920] snd_pcm_substream_proc_done+0x3e/0xa0 [snd_pcm]
 [pg0+542375498/1069265920] snd_pcm_free_stream+0x1a/0x50 [snd_pcm]
 [pg0+542375583/1069265920] snd_pcm_free+0x1f/0x40 [snd_pcm]
 [pg0+542156131/1069265920] snd_device_free+0xa3/0xd0 [snd]
 [pg0+542156671/1069265920] snd_device_free_all+0x4f/0x90 [snd]
 [pg0+542137669/1069265920] snd_card_free+0x115/0x2b0 [snd]
 [pg0+542156554/1069265920] snd_device_disconnect_all+0x2a/0x50 [snd]
 [pg0+543423842/1069265920] release_substream_urbs+0x42/0x70 [snd_usb_audio]
 [pg0+542138312/1069265920] snd_card_free_in_thread+0x18/0x70 [snd]
 [pg0+543438129/1069265920] snd_usb_audio_disconnect+0x81/0xf0 [snd_usb_audio]
 [usb_unbind_interface+96/112] usb_unbind_interface+0x60/0x70
 [device_release_driver+86/96] device_release_driver+0x56/0x60
 [bus_remove_device+82/144] bus_remove_device+0x52/0x90
 [device_del+90/144] device_del+0x5a/0x90
 [usb_disable_device+156/208] usb_disable_device+0x9c/0xd0
 [usb_disconnect+161/304] usb_disconnect+0xa1/0x130
 [hub_port_connect_change+875/912] hub_port_connect_change+0x36b/0x390
 [hub_events+569/864] hub_events+0x239/0x360
 [hub_thread+53/272] hub_thread+0x35/0x110
 [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
 [ret_from_fork+6/20] ret_from_fork+0x6/0x14
 [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
 [hub_thread+0/272] hub_thread+0x0/0x110
 [kernel_thread_helper+5/24] kernel_thread_helper+0x5/0x18
	
 PREEMPT
Modules linked in: snd_usb_audio snd_usb_lib tuner bttv video_buf btcx_risc btaudio usbvideo usbnet usb_storage snd_ymfpci snd_opl3_lib snd_hwdep snd_via82xx snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd i2c_algo_pcf i2c_algo_bit i2c_dev i2c_core
CPU:    0
EIP:    0060:[__journal_drop_transaction+369/899]    Not tainted VLI
EFLAGS: 00010286   (2.6.9)
EIP is at __journal_drop_transaction+0x171/0x383
eax: 00000073   ebx: d48ed6e0   ecx: c0366d6c   edx: c0366d6c
esi: c14de560   edi: df62a62c   ebp: d48edb60   esp: df409da0
ds: 007b   es: 007b   ss: 0068
Process kjournald (pid: 925, threadinfo=df408000 task=df908560)
Stack: c031af20 c0306935 c03179d9 0000026b c031dba0 d48ed6e0 c14de560 c0190e45
       df408000 df170ddc df408000 c018f200 000007c5 dfc54000 c2d016f4 c02532b9
       dfc53000 c04329cc df408000 00000000 dffc6be4 00000000 00000f9c c5373064
Call Trace:
 [__journal_remove_checkpoint+69/128] __journal_remove_checkpoint+0x45/0x80
 [journal_commit_transaction+1744/4560] journal_commit_transaction+0x6d0/0x11d0
 [ide_build_sglist+25/128] ide_build_sglist+0x19/0x80
 [__ide_dma_begin+34/48] __ide_dma_begin+0x22/0x30
 [__ide_dma_write+187/192] __ide_dma_write+0xbb/0xc0
 [dma_timer_expiry+0/128] dma_timer_expiry+0x0/0x80
 [__ide_do_rw_disk+738/1168] __ide_do_rw_disk+0x2e2/0x490
 [kjournald+197/592] kjournald+0xc5/0x250
 [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
 [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
 [ret_from_fork+6/20] ret_from_fork+0x6/0x14
 [commit_timeout+0/16] commit_timeout+0x0/0x10
 [kjournald+0/592] kjournald+0x0/0x250
 [kernel_thread_helper+5/24] kernel_thread_helper+0x5/0x18
Code: 44 24 10 a0 db 31 c0 c7 44 24 0c 6b 02 00 00 c7 44 24 08 d9 79 31 c0 c7 44 24 04 35 69 30 c0 c7 04 24 20 af 31 c0 e8 5f 58 f8 ff <0f> 0b 6b 02 d9 79 31 c0 e9 45 ff ff ff c7 44 24 10 fa 79 31 c0
 <6>note: kjournald[925] exited with preempt_count 2
	

2004年11月13日 (土曜日)

22:35:39 # Life TLUG勉強会に参加. planner-elの背景となるPIM,計画マネージメントについてSachaさんがプレゼンテーション. planner-elの,emacsのあらゆる用途から予定をつくり出せるというのに衝撃. MHCはメールの内容から予定をつくり出してくれたが,planner-elは 現在利用しているバッファの内容から予定をつくり出すという一歩進んだ内容だった.

22:57:34 # Life ecasoundをいろいろといじる. アップグレードをいろいろとためしてみると,ダメなところがあった.

# unstable
	  apt-get remove ecasound ecasound2.2
	  apt-get install ecasound2.2
# experimental
	  apt-get install ecasound
ecasound2.2 2.3.1-3 を(..././ecasound2.2_2.3.5-1_i386.deb で)置換するための準備 をしています...
ecasound2.2 を展開し、置換しています...
未選択パッケージ ecasound を選択しています。
(..././ecasound_2.3.5-1_i386.deb から) ecasound を展開しています...
ecasound (2.3.5-1) を設定しています ...

ecasound2.2 (2.3.5-1) を設定しています ...

# unstable
	  apt-get remove ecasound ecasound2.2
	  apt-get install ecasound2.2
# experimental
	  apt-get install ecasound2.2
(データベースを読み込んでいます... 現在 105810 個のファイルとディレクトリがイン ストールされています。)
ecasound2.2 2.3.1-3 を(..././ecasound2.2_2.3.5-1_i386.deb で)置換するための準備 をしています...
ecasound2.2 を展開し、置換しています...
未選択パッケージ ecasound を選択しています。
(..././ecasound_2.3.5-1_i386.deb から) ecasound を展開しています...
ecasound (2.3.5-1) を設定しています ...

ecasound2.2 (2.3.5-1) を設定しています ...


# unstable
	  apt-get remove ecasound ecasound2.2
	  apt-get install ecasound
# experimental
	  apt-get install ecasound2.2

ecasound 2.0.4-13 を(..././ecasound_2.3.5-1_i386.deb で)置換するための準備をしています...
ecasound を展開し、置換しています...
dpkg: /home/dancer/pending/20041113/./ecasound_2.3.5-1_i386.deb の読み込みエラーです(--unpack):
 `/usr/share/doc/ecasound/ecatools_manpage.html'を上書きしようとしています。これはパッケージ libecasound7c102 にも含まれています。。
dpkg-deb: サブプロセス paste がシグナル (パイプが切断されました) によって強制終 了しました。
未選択パッケージ ecasound2.2 を選択しています。
(..././ecasound2.2_2.3.5-1_i386.deb から) ecasound2.2 を展開しています...
以下のパッケージの処理中にエラーが発生しました:
 /home/dancer/pending/20041113/./ecasound_2.3.5-1_i386.deb
	

2004年11月12日 (金曜日)

07:34:38 # Life rubyのクラスで利用するインスタンス変数は@で始まるらしい. メソッド内部で完結する変数は何もつけない.

08:04:45 # Life rubyのクラスを使った版を作成してみた. 記述量はrubyのほうが少ない気がする. 実行速度はあまり変わらない気がする. rubyのクラスを作成する方法はこれでよいのかよくわからないが,とりあえずそれっぽく動作しているので よしとする.

ruby:
real    0m1.901s
user    0m0.158s
sys     0m0.011s

python:
real    0m1.838s
user    0m0.061s
sys     0m0.007s

	

2004年11月11日 (木曜日)

09:15:18 # Life 今日のメトロノーム:ecasound -a:metronome -i null -pn:metronome,60 -o:alsahw,0,0,0

2004年11月10日 (水曜日)

09:06:21 # Life 今日のお勉強: pythonでのクラスの使い方と配列の弄び方を練習. 成果物: rss100lib.py (rss 1.0 のフィードを生成するための python モジュール). 感想: それなりに便利. ハック時間: 60分.

21:41:48 # Life ruby rssモジュールはあるらしい,ただDebianにはないだけで.

2004年11月9日 (火曜日)

08:42:32 # Today's hack 今日は大浦さんの日記が捕獲できるようにRSSフィードを作成してみた. 日本で勝手にDebian planet頁に追加してみました. 面倒なので日付情報は無しにして,planet側に保持させているのだが,いつか破綻するだろうか? あと,planetは二時間に一回程度巡回しているのだが,そんなもんでよいのだろうか?

2004年11月8日 (月曜日)

22:58:52 # Life WAVIOのメモページを作成した. 長い間微妙にいじっているハードウェアなので,ちょっとはメモしておかないとわけわからなくなりそうなため.

2004年11月7日 (日曜日)

01:02:36 # Life なにげなくDebian PPC でmp3を作成してみる. それっぽく作成できているようだ. lameをコンパイルして,作業. cdparanoia -BでバッチでCDからrippingして, lame でmp3にする. 古いJupiterのCDとかを電子媒体で保存したいため.

エンコードしてみると,大体4倍速程度でエンコードできる. あまりはやくない...

1999年あたりに作った曲とか,コピーした曲とか.昔こんなこともしていたんだなぁ,という感慨.

10:07:12 # Life 大浦さんが,公開鍵サーバに送付すればよい,ということを書いています. 公開鍵を公開鍵サーバに送付する際には, 相手のメールアドレスが正しいことを確認することが必要です. 相手のメールアドレスが正しく,そのメールアドレスを利用している人が 鍵を複合化できることを証明してくれる必要がある, という話しの展開になっているはず. なので,公開鍵サーバに直接あげるのはもうやめて, 相手に暗号化して署名した鍵をメールでおくるようになりました. すくなくとも,ブラジルでのkeysigningはそういう感じでした. まぁ,その時の流行とかもあるかもしれないですが.

16:53:12 # Life dancer-diary.elを改良して,曜日が入るようにしてみた. というか,過去4年くらい曜日がなくて不便だったのだが,それを一瞬で直るのに直さなかった自分にびっくり. こんな簡単だったのか...

2004年11月6日

16:49:41 # web maintenance 昨日の会議の結果をうけて,Mangosteenのページをアップデートしてみた. 来月セッションの練習をすることになった.

2004年11月3日

13:21:38 # Life nvドライバの-8においての変更点によってクラッシュしていた感じがする. -7のドライバを利用したかぎりでは問題が発生していない. ということで,なんとかなった.

2004年11月2日

08:17:27 # Life X11がよく固まる.CPU使用率100%になってしまう. 'nv'ドライバのせいなのだろうか?ハードウェアのせいなのだろうか?


Junichi Uekawa

$Id: 200411.html.ja,v 1.42 2004/11/29 22:57:22 dancer Exp $