logo
code:Haemophilus influenzae

ここに書かれていることは無保証です。同じことを行って問題が発生しても、 龍義は責任をとりません。
 2003年9月 
 2003年10月 
 2003年11月 
 2003年12月 
 2004年1月  2004年7月 
 2004年2月  2004年8月 
 2004年3月  2004年9月 
 2004年4月  2004年10月 
 2004年5月  2004年11月 
 2004年6月  2004年12月 
 2005年1月 
 2005年2月 
 2005年3月 
アイコンの説明

4/1
Other
乗っているスクーターのアルミホイールに JWL のマークがあるか見てみたけど、
見つからなかった。隣にあったバイクにもなかったので、どうやら二輪車には
JWL マークは不要のようだ。う〜ん、規格がないってのも、少し心配。

4/2
Other Network
SANDISK の CF の無線 LAN カードを買っていたので、このレポートでも書こうかな、
と思っていたのだけど、良く考えたら、開封しても使わないかもなぁ、と数秒間
悩んで、結局開けないことにした。ものは、これ。
http://www.sandisk.co.jp/retail_connectpluswifi.html
チップは prism3 らしいので、何とか Linux でも動くみたいだけど。
http://www.sandisk.com/pdf/industrial/ProdManualCFWLANv1.0.pdf

4/3
Other
Konica Minolta Dimage Z2 を買ったのでそのレビュー。いつものように写真が
あるので、別ページに。

4/4
Other
昨日の Dimage Z2 で撮影をしてみた。

4/5
Network
プラネックス BRC-AP04 のファームウェアを解析した。
アクセスポイントだけど…。

4/6
Other
作ってるプログラムがメモリーをぶっ壊しているようなので、 gdb で追ってたの
だけど、マルチスレッドなのでうまくできない(というか、使いこなせてない)。
何かないかな、と探していて、 memwatch というものを見つけて、使ってみた。
まずは、ダウンロードから。

[toyota@kashyyyk]% wget http://www.linkdata.se/memwatch-2.71.tar.gz
[toyota@kashyyyk]% tar xvfz memwatch-2.71.tar.gz
[toyota@kashyyyk]% cd memwatch-2.71/

プログラムではなくて、ソースファイルを一緒にコンパイルして使うもののようで
ある。とりあえず、テストプログラムを make してみることにしてみる。

[toyota@kashyyyk]% vi test.c

で、以下の部分を削除。

/* Comment out the following line to compile. */
#error "Hey! Don't just compile this program, read the comments first!"

[toyota@kashyyyk]% make
[toyota@kashyyyk]% ./a.out

MEMWATCH: assert trap: test.c(69), 1==2
MEMWATCH: Abort, Retry or Ignore? a
MEMWATCH detected 3 anomalies

ログファイルができたようなので、見てみる。

[toyota@kashyyyk]% cat memwatch.log

============= MEMWATCH 2.71 Copyright (C) 1992-1999 Johan Lindh =============

Started at Tue Apr  5 14:39:13 2005

Modes: __STDC__ 32-bit mwDWORD==(unsigned long)
mwROUNDALLOC==4 sizeof(mwData)==32 mwDataSize==32

statistics: now collecting on a line basis
Hello world!
underflow: <5> test.c(62), 200 bytes alloc'd at <4> test.c(60)
relink: <7> test.c(66) attempting to repair MW-0x8051170...
relink: MW-0x8051170 is the head (first) allocation
relink: successful, no allocations lost
assert trap: <8> test.c(69), 1==2

Stopped at Tue Apr  5 14:39:21 2005

unfreed: <3> test.c(59), 20 bytes at 0x805101c          {FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE ................}

Memory usage statistics (global):
 N)umber of allocations made: 4
 L)argest memory usage      : 220
 T)otal of all alloc() calls: 530
 U)nfreed bytes totals      : 20

Memory usage statistics (detailed):
 Module/Line                                Number   Largest  Total    Unfreed 
 test.c                                     4        220      530      20      
  64                                        1        100      100      0       
  60                                        1        200      200      0       
  59                                        1        20       20       20      
  57                                        1        210      210      0       

なるほど。これを自分で作っているプログラムに組み込んでみることにした。
Makefile にコンパイルオプション -DMEMWATCH -DMW_STDIO を追加して、同時に
memwatch.c をコンパイルするようにした。あとは、ソースファイルで memwatch.h
を include するようにして完成。思ったよりも簡単だったな。

4/7
Other
バイナリエディタ hi(t) で検索するときに 0x だけを入力すると暴走する修正を
したのだけど、修正はたった2行。わざわざバージョンをあげるほどでもないな…。

4/8
Other
あ、 KYOCERA Finecam M410R が送料税込みで 19800円で売ってた。仕様を見たの
だけど、Dimage Z2 よりデザイン良いし、 52mm のフィルター使えるし、レンズが
少し明るいし、Dimage Z2 はちょっと失敗だったかも。タイミングって難しい…。

4/9
Other
久しぶりに GA50 のエンジンを掛けようと思ったら…、掛からなかった。キックを
すること30分以上、だいぶ汗をかいてしまった。やっぱり、バイクも機嫌って
あるように感じてきた。

4/10
Other
車のターボチャージャーから、また異音がするようになった。1週間に直したばかり
なのに…。16日にちょっとお出かけしようと思ってるので、それまでに直さないと
いけないなぁ…。洗車もしたいし。困ったもんである。

4/11
Network LAN-iCN2
LAN-iCN2 の HDD を定期的にバックアップしようとスクリプトを書いたのだけど、
バックアップが必要なファイルとそうでないファイルがあるので、困りもの。で、
スクリプトを書いても、ネットワーク越しなので ssh でパスワードなしでファイルを
コピーできるようにしないといけないし。それはちょっと嫌な気分なので、何か
良い方法がないか模索中。

それにしても、だ、 U-SEN は工事でネットワークが切れるのを当日電話で連絡して
くるし、最近よく途切れるし、酷いよなぁ。前は、 DHCP で振る IP を少なく設定して
足りなくなったり、とてもネットワーク屋さんとは思えない。ネットワークが
途切れる現象、続くようだったら文句を言おうかな。

4/12
Other
車の CDチェンジャー、太陽誘電の CD-R が読み込めない、という問題が1月に
発覚して、ちょっと悔しいので、4倍速、8倍速、16倍速で書き込みをしてみて
読めるようになるかやってみた。結果は全てダメ。安物のブランドの方が読み込んで
くれるなんて、なんと持ち主思いの CDチェンジャーなんだろうか…。

4/13
Other
C言語、構造体の中にいくつかの構造体があって、それが一致しているかどうか
比較をしなければならなかった。で、単純に memcmp で構造体を比較してみたら
どうもうまくいかない。小さいテストプログラムを書いてみた。

#include <stdio.h>
int main(){

  struct testst {
    unsigned int    r_int;
    unsigned char   r_char;
  };

  printf("sizeof(struct testst):%d¥n",sizeof(struct testst));
}

この結果が 8 になったので、やっと原因がわかった。というか思い出した。
問題は char の後の部分である。

#include <stdio.h>
int main(){
  int i;
  char *vp;

  struct testst {
    unsigned int    r_int;
    unsigned char   r_char;
  };

  struct testst test1;
  struct testst test2;

  test1.r_int=0;
  test1.r_char=0;

  test2.r_int=0;
  test2.r_char=0;

  printf("memcmp(test1:test2):%d¥n",memcmp(&test1,&test2,sizeof(struct testst)));

  vp=(char *)&test1;
  for(i=0;i<sizeof(struct testst);i++){
    printf("%08x ",*vp);
    vp++;
  }
  printf("¥n");

  vp=(char *)&test2;
  for(i=0;i<sizeof(struct testst);i++){
    printf("%08x ",*vp);
    vp++;
  }
  printf("¥n");
}

この結果が

memcmp(test1:test2):-1
00000000 00000000 00000000 00000000 00000000 ffffff84 00000004 00000008
00000000 00000000 00000000 00000000 00000000 fffffffa ffffffff ffffffbf

こんな感じ。構造体の取り方でこうなってしまったのである。原因がわかったので、

memset(&test1,0,sizeof(struct testst));
memset(&test2,0,sizeof(struct testst));

と、初期化してから使うことにした。で、問題なく動いた、と。

4/14
Electric
パナソニック充電器 BQ-390 レビュー。いつものように写真があるので、別ページ。

4/15
Other
minicom を起動したら、見慣れないメッセージ。

[root@kashyyyk]# minicom
** Parameter bits is public, but is marked private in global config file
** Parameter parity is public, but is marked private in global config file
** Parameter stopbits is public, but is marked private in global config file

/etc/minirc.dfl の設定が問題のような気がするが…。色々と設定してたら、
いつのまにか消えてしまった。原因は一体なんだったのだろう…。

4/16
Network Other
ここ数日、ときどき DNS がひけなくなる現象が出ている。私は、 local 内に
立てている DNS サーバを参照しているので、問題なくひけるのだが、家族から
ネットワークに接続できないと苦情が…。問題は、ルータが DNS リレーに失敗
しているか、 U-SEN の DNS に問題があるか、だと思うのだけど、私が外にいる
ときに限って発生するので、よくわからない。困ったもんだ。

4/17
Other
車のオーディオ製品を見てたのだけど、なんだか高く見えてしょうがない。確かに
電圧変動とか、振動とか、家庭製品よりも厳しい部分があるだろうし、大きさと
熱も制限があるのだろうけど、それにしてもねぇ、という感じ。どこかで中古を
探そうかな、と初めてパーツオフに行ってみたけど、中古の割には値段が高いし。
何か良いアイディアはないものかなぁ…。

4/18
Other
デジタルカメラのデータを写真に焼いてくれる無料券があったので、カメラ屋に
行って頼んだ。で、日付を入れますか?なんて聞かれたので、日付の入る位置を
聞いてみた。アルバイト君が言うには、「横写真の場合はこの位置、縦写真の場合は
この位置」と。疑問だったので、聞いてみた。「縦写真と横写真の判断は誰が
やるんですか?」と。すると、「写真によって…」とよくわからない返事。再度、
「例えば、この写真には縦写真という情報は入っていないのだけど、これが縦写真と
どうやって判断するのですか?」と聞いてみた。アルバイト君、「てんちょ〜」と
奥に行って店長を呼んできた。結局のところ、縦写真だろうが横写真だろうが、
日付は横写真での位置に出るらしい。あやうく騙されるところだった…。

4/19
Network Other
NTT Docomo が PHS の新規受付をやめてしまい、 WILLCOM が定額プランを打ち
出したので、乗り換えようとカタログを貰ってきた。7月からはデータ通信と
定額プランで5000円になるらしい。これはおいしい。手元にある AirH" と Docomo の
PHS とまとめてしまおうと考え中。1つだけひっかかるのは、10年ぐらい使って
いる Docomo の PHS の電話番号か変わるってことか。

4/20
Other
カメラ屋で焼いてもらったデジタルカメラの写真、意外とまともな写りだった。
なんだか200万画素でも十分な写り。L版ぐらいだったら、200万画素でもまともな
感じ。今売っている500万画素とかのデジカメ、他の人達は使いこなしているの
かなぁ…。

4/21
Other
訳あって、明日から入院なので、常時稼動中のパソコン3台の内、2台を落とす。
しかし、 Linux は安定しているよなぁ…。というわけで、しばらく更新はありま
せん。

4/25
Electric
久しぶりに秋月のページに行ったら、車にぴったりの電圧計を発見した。1000円と
お手頃なのだけど、ほとんど「測定グランドと電源のグランドは共通にできません」
だって…。車に付けるときに、わざわざ電池付けるなんて馬鹿らしいしなぁ…。
調べてたら、 mycom の記事があった。
http://pcweb.mycom.co.jp/news/2005/02/03/006.html
小数点の変更もできるみたいだし、20V の設定もできるみたいだし、結構便利みたい。
5V のグランド共通の奴買ってみようかな。それと、金属探知機も少し気になる。

あ、今頃、ページを見たりして。ごめんなさい。ucha さん早く復帰してくださいね。
http://slashdot.jp/journal.pl?op=display&id=279285&uid=10757

4/26
Terminator K7-DDR
skype for Linux を使ってみる。
http://www.skype.com/products/skype/linux/
からダウンロードしてくる。QuickTime なんて入ってなさそうな PC だったため、
skype_staticQT-1.1.0.3.tar.bz2
の方をダウンロードしてきた。さっそく解凍して実行。

[toyota@kashyyyk]% tar xvfj skype_staticQT-1.1.0.3.tar.bz2
[toyota@kashyyyk]% cd skype_staticQT-1.1.0.3/
[toyota@kashyyyk]% ./skype
./skype: error while loading shared libraries: libdbus-1.so.0: cannot
open shared object file: No such file or directory

だめみたい。libdbus というのが必要みたい。試しに QuickTime が必要な
skype-1.1.0.3.tar.bz2
でもやってみたが、現象は同じ。libdbus を探してみた。

[toyota@kashyyyk]% ls [/usr,]/lib/libdbus*
ls: No match.

ないみたい。念のため、 /usr 配下をすべて検索してみたけど、みつからない。
そもそも、 libdbus は何をするものなのかさえ、良くわからない。困ったときの
google で、 web page をみつけた。
http://www.freedesktop.org/Software/dbus
ここから、ソースをダウンロードしてきた。

[toyota@kashyyyk]% wget http://dbus.freedesktop.org/releases/dbus-0.33.tar.gz

さっそく make してみる。

[toyota@kashyyyk]% tar xvfz dbus-0.33.tar.gz
[toyota@kashyyyk]% cd dbus-0.33
[toyota@kashyyyk]% ./configure
[toyota@kashyyyk]% make
〜snip〜
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -DDBUS_COMPILATION=1
-DDBUS_LOCALEDIR=¥"/usr/local/@DATADIRNAME@/locale¥"
-DDBUS_API_SUBJECT_TO_CHANGE=1 -g -O2 -Wall -Wchar-subscripts
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -MT
dbus-gproxy.lo -MD -MP -MF .deps/dbus-gproxy.Tpo -c dbus-gproxy.c  -fPIC
-DPIC -o .libs/dbus-gproxy.o
dbus-gproxy.c:31:24: glib/gi18n.h: No such file or directory
dbus-gproxy.c: In function `dbus_g_proxy_invoke':
dbus-gproxy.c:1469: warning: implicit declaration of function `_'
dbus-gproxy.c:1469: warning: passing arg 4 of `g_set_error' makes
pointer from integer without a cast
dbus-gproxy.c:1524: warning: passing arg 4 of `g_set_error' makes
pointer from integer without a cast
dbus-gproxy.c:1529: warning: passing arg 4 of `g_set_error' makes
pointer from integer without a cast
dbus-gproxy.c:1538: warning: passing arg 4 of `g_set_error' makes
pointer from integer without a cast
dbus-gproxy.c:1554: warning: passing arg 4 of `g_set_error' makes
pointer from integer without a cast
make[2]: *** [dbus-gproxy.lo] Error 1
make[2]: Leaving directory `/home/toyota/src/dbus/dbus-0.33/glib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/toyota/src/dbus/dbus-0.33'
make: *** [all] Error 2

gi18n.h が見つからないみたいなので、検索してみた。

[toyota@kashyyyk]% find /usr -name gi18n.h
/usr/local/include/glib-2.0/glib/gi18n.h

あるみたい。とりあえず、で良いので、シンボリックリンクを張って、ごまかした。

[toyota@kashyyyk]% su
Password:
[root@kashyyyk]# cd /usr/include
[root@kashyyyk]# ln -s /usr/local/include/glib-2.0/glib glib

これで再度 make 。

[toyota@kashyyyk]% make
〜snip〜
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I..  -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include    -DDBUS_COMPILATION=1
-DDBUS_LOCALEDIR=¥"/usr/local/@DATADIRNAME@/locale¥"
-DDBUS_API_SUBJECT_TO_CHANGE=1   -g -O2 -Wall -Wchar-subscripts
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -MT
dbus-binding-tool-glib.o -MD -MP -MF ".deps/dbus-binding-tool-glib.Tpo"
-c -o dbus-binding-tool-glib.o dbus-binding-tool-glib.c; ¥
then mv -f ".deps/dbus-binding-tool-glib.Tpo"
".deps/dbus-binding-tool-glib.Po"; else rm -f
".deps/dbus-binding-tool-glib.Tpo"; exit 1; fi
dbus-binding-tool-glib.c: In function
`dbus_binding_tool_output_glib_server':
dbus-binding-tool-glib.c:461: `GPid' undeclared (first use in this function)
dbus-binding-tool-glib.c:461: (Each undeclared identifier is reported
only once
dbus-binding-tool-glib.c:461: for each function it appears in.)
dbus-binding-tool-glib.c:461: parse error before "child_pid"
dbus-binding-tool-glib.c:510: `child_pid' undeclared (first use in this
function)
make[2]: *** [dbus-binding-tool-glib.o] Error 1
make[2]: Leaving directory `/home/toyota/src/dbus/dbus-0.33/glib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/toyota/src/dbus/dbus-0.33'
make: *** [all] Error 2

dbus-binding-tool-glib.c で GPid が不明らしい。ちょっと調べてみた。
http://developer.gnome.org/doc/API/2.0/glib/glib-The-Main-Event-Loop.html#GPid
らしいので、 dbus-binding-tool-glib.h に

typedef int GPid;

を追加して、再度 make 。

[toyota@kashyyyk]% make
〜snip〜
Running ./print-introspect org.freedesktop.DBus /org/freedesktop/DBus
./run-with-tmp-session-bus.sh: line 58: kill: (717) - No such process
killing message bus 717
./run-with-tmp-session-bus.sh: line 11: kill: (717) - No such process
./run-with-tmp-session-bus.sh: Message bus vanished! should not have
happened
make[2]: *** [dbus-bus-introspect.xml] Error 1
make[2]: Leaving directory `/home/toyota/src/dbus/dbus-0.33/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/toyota/src/dbus/dbus-0.33'
make: *** [all] Error 2

原因不明。でも、良く見てみると、ライブラリはできている雰囲気。

[toyota@kashyyyk]% cd  dbus/.libs
[toyota@kashyyyk]% ls -la libdbus*
-rw-r--r--    1 toyota   toyota     990684  4月 26 14:59 libdbus-1.a
-rw-r--r--    1 toyota   toyota       4996  4月 26 14:59 libdbus-1.exp
lrwxrwxrwx    1 toyota   toyota         15  4月 26 14:59 libdbus-1.la ->
../libdbus-1.la
-rw-r--r--    1 toyota   toyota        812  4月 26 14:59 libdbus-1.lai
lrwxrwxrwx    1 toyota   toyota         18  4月 26 14:59 libdbus-1.so ->
libdbus-1.so.1.0.0*
lrwxrwxrwx    1 toyota   toyota         18  4月 26 14:59 libdbus-1.so.1
-> libdbus-1.so.1.0.0*
-rwxr-xr-x    1 toyota   toyota     601099  4月 26 14:59 libdbus-1.so.1.0.0*
-rw-r--r--    1 toyota   toyota       5204  4月 26 14:59 libdbus-1.ver
-rw-r--r--    1 toyota   toyota    1240098  4月 26 14:59 libdbus-convenience.a
lrwxrwxrwx    1 toyota   toyota         25  4月 26 14:59 libdbus-convenience.la ->
../libdbus-convenience.la

コピーしてみた。

[toyota@kashyyyk]% su
Password:
[root@kashyyyk]# cp libdbus-1.so.1.0.0 /usr/lib/
[root@kashyyyk]# ln -s /usr/lib/libdbus-1.so.1.0.0 /usr/lib/libdbus-1.so.1
[root@kashyyyk]# ln -s /usr/lib/libdbus-1.so.1.0.0 /usr/lib/libdbus-1.so

で、 skype を再度実行してみて、重大なことに気がついた。実行に足りないのは
libdbus-1.so.0 で、今コピーしたのは libdbus-1.so.1 だってこと。ということで、
再度ダウンロードから。今回は 0.23.4 というバージョンでやってみることにした。

[toyota@kashyyyk]% wget http://dbus.freedesktop.org/releases/dbus-0.23.4.tar.gz
[toyota@kashyyyk]% tar xvfz dbus-0.23.4.tar.gz
[toyota@kashyyyk]% cd dbus-0.23.4/
[toyota@kashyyyk]% ./configure
[toyota@kashyyyk]% make

エラーは出ないで完了した。ライブラリのコピー。

[toyota@kashyyyk]% su
Password:
[root@kashyyyk]# cp dbus/.libs/libdbus-1.so.0.0.0 /usr/lib/
[root@kashyyyk]# ln -s /usr/lib/libdbus-1.so.0.0.0 /usr/lib/libdbus-1.so.0

これで skype for Linux が実行できた。ちょっと長かった…。
今日の分の改行位置がおかしいのは、一度メールで内容を投げてしまったため。
妙に見づらくなってしまった。

4/27
Other
USB-シリアル 変換を調べていたら、 USB GEAR なんてページを発見した。
http://www.usbgear.com/
USB 製品も色々と出ているのだなぁ、と妙に関心して見ていたのだけど、8ポートの
シリアル変換なんてあって、少し驚いた。

4/28
Electric
ホームセンターに行って、車用のインバーターを見ていた。で、使用例として、
デモを行っていたのだけど…。こんな感じ。

コンセント
↓AC100V
安定化電源(車の代わり)
↓DC12V
インバーター(商品)
↓AC100V
ラジカセ用のACアダプタ(使用例)
↓DC6V
ラジカセ(使用例)

えらい効率悪い。最初の車の代わりの安定化電源を抜かしても、12V から 6V を
取り出すのに、いちいち 100V にするなんて。 7806 とコードだけで済むじゃん、
と思ったけど、世の中の人は何の疑いも持たずにインバーターなんだろうなぁ…。

4/29
Other Electric
ラジオしか聞けない車に乗る可能性が出てきたので、なんとか簡単便利に気に入った
曲を聞ける方法がないか調べてみて、 USB メモリが刺せる FM トランスミッターが
あるのがわかったので、調べてみた。

製品製造価格備考
MP3onChannel不明5000円前後現在は販売されていない?
TOBIZOAVB7000円前後ラインイン対応
LAT-CARMP3Logitec7500円前後2005年4月生産終了
MP3 FMCarDriveback-worlds?12800円詳細不明
シガーソングライターMIB12800円MP3onChannelのOEM?
意外とあるけど、結構値段が高い。もっと調べていたら、Logitec の LAT-SD100MP3 を 見つけた。 http://www.logitec.co.jp/products/audio/latsd100mp3.html スパタ氏の記事もあったので、ついでに。 http://k-tai.impress.co.jp/cda/article/stapa/22714.html これは面白いかもしれない。しかしねぇ、あと5000円もだせば立派な MP3 が入った CD を再生できるカーオーディオが買えるんだよねぇ…。なんだか、ちょっと悩み どころだなぁ。 4/30 Other Electric LED を調べていたのだけど、以前明るいという理由でテールランプに台湾オアシスの TOL-50aURsCEs を使用した。しかし、こいつの指向角は15度で、良く考えるととても テールランプに良いとは思えない。できれば60度ぐらいあると、真後ろ以外からも 見やすくて良いのじゃないかと思う。で、良く明るさで書かれている mcd は、 一般的に指向角が鋭いほど値が大きくなる。つまり、明るいからという理由で単純に テールランプに使用するのは、少々考えもの、ということである。 試しに OptoSupply のページに行って、5mm の LED が角度でどのぐらい明るさが 変わるのか見てみた。単純に赤色高輝度のものを比較したので、正しいかどうかは とりあえず別として。
製品指向角明るさ平均明るさ最大
OSHR5111A15度3000mcd7000mcd
OSHR5131A30度2500mcd4800mcd
OSHR5161A60度2000mcd3000mcd
となっている。LED テールランプを作るときは、明るさだけで選んではダメだ、 ということみたいである。

21st projects Tatsuyoshi Networks Prompt Works
by Tatsuyoshi
since 2003