4/1
乗っているスクーターのアルミホイールに JWL のマークがあるか見てみたけど、
見つからなかった。隣にあったバイクにもなかったので、どうやら二輪車には
JWL マークは不要のようだ。う〜ん、規格がないってのも、少し心配。
4/2
SANDISK の CF の無線 LAN カードを買っていたので、このレポートでも書こうかな、
と思っていたのだけど、良く考えたら、開封しても使わないかもなぁ、と数秒間
悩んで、結局開けないことにした。ものは、これ。
http://www.sandisk.co.jp/retail_connectpluswifi.html
チップは prism3 らしいので、何とか Linux でも動くみたいだけど。
http://www.sandisk.com/pdf/industrial/ProdManualCFWLANv1.0.pdf
4/3
Konica Minolta Dimage Z2 を買ったのでそのレビュー。いつものように写真が
あるので、別ページに。
4/4
昨日の Dimage Z2 で撮影をしてみた。
4/5
プラネックス BRC-AP04 のファームウェアを解析した。
アクセスポイントだけど…。
4/6
作ってるプログラムがメモリーをぶっ壊しているようなので、 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
バイナリエディタ hi(t) で検索するときに 0x だけを入力すると暴走する修正を
したのだけど、修正はたった2行。わざわざバージョンをあげるほどでもないな…。
4/8
あ、 KYOCERA Finecam M410R が送料税込みで 19800円で売ってた。仕様を見たの
だけど、Dimage Z2 よりデザイン良いし、 52mm のフィルター使えるし、レンズが
少し明るいし、Dimage Z2 はちょっと失敗だったかも。タイミングって難しい…。
4/9
久しぶりに GA50 のエンジンを掛けようと思ったら…、掛からなかった。キックを
すること30分以上、だいぶ汗をかいてしまった。やっぱり、バイクも機嫌って
あるように感じてきた。
4/10
車のターボチャージャーから、また異音がするようになった。1週間に直したばかり
なのに…。16日にちょっとお出かけしようと思ってるので、それまでに直さないと
いけないなぁ…。洗車もしたいし。困ったもんである。
4/11
LAN-iCN2 の HDD を定期的にバックアップしようとスクリプトを書いたのだけど、
バックアップが必要なファイルとそうでないファイルがあるので、困りもの。で、
スクリプトを書いても、ネットワーク越しなので ssh でパスワードなしでファイルを
コピーできるようにしないといけないし。それはちょっと嫌な気分なので、何か
良い方法がないか模索中。
それにしても、だ、 U-SEN は工事でネットワークが切れるのを当日電話で連絡して
くるし、最近よく途切れるし、酷いよなぁ。前は、 DHCP で振る IP を少なく設定して
足りなくなったり、とてもネットワーク屋さんとは思えない。ネットワークが
途切れる現象、続くようだったら文句を言おうかな。
4/12
車の CDチェンジャー、太陽誘電の CD-R が読み込めない、という問題が1月に
発覚して、ちょっと悔しいので、4倍速、8倍速、16倍速で書き込みをしてみて
読めるようになるかやってみた。結果は全てダメ。安物のブランドの方が読み込んで
くれるなんて、なんと持ち主思いの CDチェンジャーなんだろうか…。
4/13
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
パナソニック充電器 BQ-390 レビュー。いつものように写真があるので、別ページ。
4/15
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
ここ数日、ときどき DNS がひけなくなる現象が出ている。私は、 local 内に
立てている DNS サーバを参照しているので、問題なくひけるのだが、家族から
ネットワークに接続できないと苦情が…。問題は、ルータが DNS リレーに失敗
しているか、 U-SEN の DNS に問題があるか、だと思うのだけど、私が外にいる
ときに限って発生するので、よくわからない。困ったもんだ。
4/17
車のオーディオ製品を見てたのだけど、なんだか高く見えてしょうがない。確かに
電圧変動とか、振動とか、家庭製品よりも厳しい部分があるだろうし、大きさと
熱も制限があるのだろうけど、それにしてもねぇ、という感じ。どこかで中古を
探そうかな、と初めてパーツオフに行ってみたけど、中古の割には値段が高いし。
何か良いアイディアはないものかなぁ…。
4/18
デジタルカメラのデータを写真に焼いてくれる無料券があったので、カメラ屋に
行って頼んだ。で、日付を入れますか?なんて聞かれたので、日付の入る位置を
聞いてみた。アルバイト君が言うには、「横写真の場合はこの位置、縦写真の場合は
この位置」と。疑問だったので、聞いてみた。「縦写真と横写真の判断は誰が
やるんですか?」と。すると、「写真によって…」とよくわからない返事。再度、
「例えば、この写真には縦写真という情報は入っていないのだけど、これが縦写真と
どうやって判断するのですか?」と聞いてみた。アルバイト君、「てんちょ〜」と
奥に行って店長を呼んできた。結局のところ、縦写真だろうが横写真だろうが、
日付は横写真での位置に出るらしい。あやうく騙されるところだった…。
4/19
NTT Docomo が PHS の新規受付をやめてしまい、 WILLCOM が定額プランを打ち
出したので、乗り換えようとカタログを貰ってきた。7月からはデータ通信と
定額プランで5000円になるらしい。これはおいしい。手元にある AirH" と Docomo の
PHS とまとめてしまおうと考え中。1つだけひっかかるのは、10年ぐらい使って
いる Docomo の PHS の電話番号か変わるってことか。
4/20
カメラ屋で焼いてもらったデジタルカメラの写真、意外とまともな写りだった。
なんだか200万画素でも十分な写り。L版ぐらいだったら、200万画素でもまともな
感じ。今売っている500万画素とかのデジカメ、他の人達は使いこなしているの
かなぁ…。
4/21
訳あって、明日から入院なので、常時稼動中のパソコン3台の内、2台を落とす。
しかし、 Linux は安定しているよなぁ…。というわけで、しばらく更新はありま
せん。
4/25
久しぶりに秋月のページに行ったら、車にぴったりの電圧計を発見した。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
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
USB-シリアル 変換を調べていたら、 USB GEAR なんてページを発見した。
http://www.usbgear.com/
USB 製品も色々と出ているのだなぁ、と妙に関心して見ていたのだけど、8ポートの
シリアル変換なんてあって、少し驚いた。
4/28
ホームセンターに行って、車用のインバーターを見ていた。で、使用例として、
デモを行っていたのだけど…。こんな感じ。
コンセント
↓AC100V
安定化電源(車の代わり)
↓DC12V
インバーター(商品)
↓AC100V
ラジカセ用のACアダプタ(使用例)
↓DC6V
ラジカセ(使用例)
えらい効率悪い。最初の車の代わりの安定化電源を抜かしても、12V から 6V を
取り出すのに、いちいち 100V にするなんて。 7806 とコードだけで済むじゃん、
と思ったけど、世の中の人は何の疑いも持たずにインバーターなんだろうなぁ…。
4/29
ラジオしか聞けない車に乗る可能性が出てきたので、なんとか簡単便利に気に入った
曲を聞ける方法がないか調べてみて、 USB メモリが刺せる FM トランスミッターが
あるのがわかったので、調べてみた。
製品 | 製造 | 価格 | 備考
|
---|
MP3onChannel | 不明 | 5000円前後 | 現在は販売されていない?
| TOBIZO | AVB | 7000円前後 | ラインイン対応
| LAT-CARMP3 | Logitec | 7500円前後 | 2005年4月生産終了
| MP3 FMCarDrive | back-worlds? | 12800円 | 詳細不明
| シガーソングライター | MIB | 12800円 | 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
LED を調べていたのだけど、以前明るいという理由でテールランプに台湾オアシスの
TOL-50aURsCEs を使用した。しかし、こいつの指向角は15度で、良く考えるととても
テールランプに良いとは思えない。できれば60度ぐらいあると、真後ろ以外からも
見やすくて良いのじゃないかと思う。で、良く明るさで書かれている mcd は、
一般的に指向角が鋭いほど値が大きくなる。つまり、明るいからという理由で単純に
テールランプに使用するのは、少々考えもの、ということである。
試しに OptoSupply のページに行って、5mm の LED が角度でどのぐらい明るさが
変わるのか見てみた。単純に赤色高輝度のものを比較したので、正しいかどうかは
とりあえず別として。
製品 | 指向角 | 明るさ平均 | 明るさ最大
|
---|
OSHR5111A | 15度 | 3000mcd | 7000mcd
| OSHR5131A | 30度 | 2500mcd | 4800mcd
| OSHR5161A | 60度 | 2000mcd | 3000mcd |
となっている。LED テールランプを作るときは、明るさだけで選んではダメだ、
ということみたいである。
|