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

 9/1
Other
2T の HDD が安くなってきたみたいなので、そろそろ買おうかなと値段を調べて
いた。2T の HDD が出てだいぶ経つので、そろそろ 4T とかも当たり前に出て
いるものだと思ったけど、まだ時代はそんなに進んでないのね。で、買うのは
良いけど、内蔵にしようか、外付けにしようか、どうしようかと悩んでいる。
外付けは、別途箱を買わないといけないし、もうこれ以上机の上にものを置き
たくないし。内蔵にすると電源が入れっぱなしになるので、寿命とか熱とか、
消費電力が気になる。フロント 3.5インチベイにスイッチ1つ付ければ解決かと
おもったけど、SATA って 3.3V もあるので3回路スイッチが必要みたいだし、
えらい線が細かそうだし。ちょっと保留だな。

 9/2
Electric
久しぶりに秋月電子のページなんかを見ていたら、今は 3W ぐらいのパワー LED
が売っていて、ウィンカーに使えるかもな、と考えていたりした。でも、放熱器
つきなので、だいぶ熱がこもりそうだし、そもそも熱が出るということは効率が
悪いってことだよなぁ。それと、昔は高かった青とか白の LED が、今は赤色と
値段が変わらなくなってきてる。たまには、電気モノでもやろうかな。

 9/3
Other
7月に旅行していたときに、ヘルメットのスピーカがえらい聞こえ辛いので、何か
聞き取りやすくて面白い製品はないのか調べていたら、骨伝導のものがあった。
そう言えば、昔少し流行った気がするけど。で、色々製品を見てみたけど、えらい
値段が高いんだよね。多分、特許がらみなのかな、と思うけど。5千円ぐらいで
何か良い製品あればなぁ。

 9/4
Electric
旅行に行って、頼みの綱の携帯電話が電池切れ。PHS も入らないし、公衆電話を
探すという20世紀の生活をしていた。なんだか、携帯電話を持っている意味が
ないので、バイクに充電器を付けようかなと考えた。と行っても、7805 と2つ
ぐらいのコンデンサだけど。いっそのこと、USB の口にしたらよいのだけど、
防水型のがあるのかな、と探したらあるんだね。L-com の WPUSBAF という製品。
日本だと、小売しているところがなさそうだけど。おとなしくシガーソケットを
付けようかな。

 9/5
Other Network
コンテナ船の情報を調べていたら、aprs.fi というサイトで船の場所がわかる
しくみがあった。調べていたら、aprs というアマチュア無線のパケット通信と、
GPS とを組み合わせて自局位置の相互認識に使われるみたい。ブログとかとは
違って、リアルタイムなのでこれはこれで面白そう。例えば、北海道で旅をして
いて、知り合いは今どこにいるのか、近くにいれば連絡する、みたいな使い方が
できるし。問題は、電波が届くかどうか、というところだけど。今度、もう少し
調べてみよう。

 9/6
Other Network
昨日の APRS を調べていたのだけど、船にアマチュア無線局があるのも変だな、
と思って調べてみると、昨日のページの船舶の位置はAIS(自動船舶識別装置)と
いう仕組みを使っているらしい。2つほど、知っている船の名前を調べてみた。

さんふらわーふらの
http://aprs.fi/?call=i%2F431800070
ナッチャンWorld
http://aprs.fi/?call=i%2F431000445

wikipedia の AIS のページを読んでいたのだけど、位置がわかると、船の場所を
海賊に教えてしまうようなもんだし、海上保安庁の船は取り締まりもできないし、
漁船は秘密の漁場も教えてしまうものだし、運用するのは難しいものみたい。
確かになぁ、と思ってしまった。

 9/7
Network
Skype のベータ版 5.0.0.123 が出ていたので、インストールしてみた。いつもの
ようにエモーティコンに追加がないか見てみたけど、どうもいつもと様子が違う。
エモーティコンの文字列が実行ファイルにないのである。周辺のファイルも見て
みたけど、やはりない。前のバージョンに比べて、バイナリが10M以上も小さく
なったので、圧縮しているのか、ネットワーク越しに取得しているのでしょう。
困ったな、ということで別な方法で調べた。結果、特に新しいエモーティコンは
増えてなかった。折角調べたのに、残念。

 9/8
Other
昨日の Skype の件、バイナリに直接格納されていないものをどうやって検索した
のかと言うと、実行中のメモリをダンプして、その内容を検索した。使ったのは
Microsoft の User Mode Process Dumper というツールで、ダンプしたファイルを
バイナリエディタで確認した、という単純なこと。User Mode Process Dumper を
初めて使ったけど、意外と面白くて便利かもしれない。

 9/9
Other
ちょっと gcc 4.1.2 on Linux な環境で C のプログラムを書いていて、バグが
出た。元々のコードは。

for(i=0; i<strlen(buf); i++){
  sprintf(ret, "%s%02x", ret, buf[i]);
}

になっていて、あらあらサイズのチェックをしましょうよ、な感じで。16進数の
形式変換がなければ strlcat(無ければ strncat)で対処するけど、ここは。

for(i=0; i<strlen(buf); i++){
  snprintf(ret, sizeof(ret), "%s%02x", ret, buf[i]);
}

と単純に置き換えたら、動かなくなった。元々の sprintf 自体、あまりお行儀が
良くない気がするけど、これを snprintf にしたたけで動かなくなったので、
原因特定に時間がかかってしまった。結局、もう1つバッファを作って、一度
そこに流してから、なんてことになったけど。とりあえず、2つの関数の違いを。

int i;
char ret0[16];
char ret1[16];
char buf[] = "abcde";
memset(ret0, 0, sizeof(ret0));
memset(ret1, 0, sizeof(ret1));
for(i=0; i<strlen(buf); i++){
  sprintf(ret0, "%s%02x", ret0, buf[i]);
  snprintf(ret1, sizeof(ret1), "%s%02x", ret1, buf[i]);
}
printf("%s %s\n", ret0, ret1);

こんなコードの結果は。

[toyota@zonama]$ ./test
6162636465 65

となる。知らないで使うと、大変なことになる、という教訓になった。

 9/10
Other
家で使っている椅子が壊れたみたい。ダンパー式の上下するものなのだけど、
いつの間にか、座面が下がっているのである。調節して高さをあげてみても、
1週間もすると、下がってしまっているのである。多分、少しずつ下がって
いるので、なんとなくすぐには気が付かないみたい。ちょっと、ダンパー部分を
見てみたら、オイルが漏れている様子。モーターサイクルのフロントフォークの
オイル漏れのような感じ。フロントフォークならオイルシールとダストシールを
交換すれば済むのだけど、椅子のシールなんて売ってないだろうし。そもそも
このオイルって何のオイルだろう。お金がないので、しばらくこのまま使うけど
時間を見つけて家具屋で物色してみようかな。

 9/11
Linux Other
最近使っている CentOS 5.4 な環境で。複数のファイルがあって、それぞれの
日本語のコードが異なっている。vim でそのファイルを開けば、全て自動判別
してくれるので、変換する必要はないけど、vim だとちょっと重い。できれば
less で見たい。less は man less すると jam less のものが出るのだけど、
utf8 以外の文字コードのファイルは文字化けしていて見られないし(LANG が
ja_JP.UTF-8 の環境)。それが cat だと何故か JIS コードのファイルが見られ
たりする。

[toyota@zonama]$ ls -l
合計 16
-rw-rw-r-- 1 toyota    toyota    167  9月 11 13:43 euc.txt
-rw-rw-r-- 1 toyota    toyota    173  9月 11 13:43 jis.txt
-rw-rw-r-- 1 toyota    toyota    167  9月 11 13:43 sjis.txt
-rw-rw-r-- 1 toyota    toyota    250  9月 11 13:44 utf8.txt
[toyota@zonama]$ cat utf8.txt
日本國民は、正義と秩序を基調とする國際平和を誠實に希求し、國權の發動たる
戰爭と、武力による威嚇又は武力の行使は、國際紛爭を解決する手段としては、
永久にこれを放棄する。
[toyota@zonama]$ cat jis.txt
日本國民は、正義と秩序を基調とする國際平和を誠實に希求し、國權の發動たる
戰爭と、武力による威嚇又は武力の行使は、國際紛爭を解決する手段としては、
永久にこれを放棄する。

cat って coreutils に含まれているみたいで、CentOS の SRPM をダウンロード
してきて中を見たけど、よくわからず(真剣に見てないだけ)。大量の patch が
当たっているので、その patch を見たけど、日本語関係のものはなさそうだし。
個人的には、cat はそのまま表示してもらいたいのと、less になんとか日本語の
自動判別と表示をして欲しいのだけど、以前あった jam less のページは既に
消えてしまっていて、昔の patch でさえ入手が危うい感じ。その昔の patch に
しても UTF-8 は扱えないし。なぁんか、中途半端なんだよなぁ。lv を使えと
いうのもあるけど、手が less のタイプに慣れてるし、PAGER 変数を使っている
ものからも呼び出したりするし。悩みどころ。

 9/12
Other
去年買った手元のドライブ Optiarc AD-7240S の対応メディアを調べていたら、
DVD+R9 と書いてあった。この R9 って何?と思って調べてみたら、DVD+R DL の
ことみたい。英語版の wikipedia にはちゃんと also called DVD+R9 と書かれて
いた。なんだか、ちょっと片面2層の色を見たことないので、今度買ってきて
試してみようかな。

 9/13
WWW
Gmail でメールを送信しようとしたら、見慣れぬウィンドウが出た。

https://mail.google.com のページから:
ファイルは添付しましたか?
メッセージに「添付」と書かれていますが、ファイルが添付されていません。
このまま送信しますか?

こんな機能があったのね。でも、私の文章には添付なんて言葉は入ってないし
(相手の前のメールには入っていた)、昨日同じメールに返信したときには、
何も出なかったし。なんだか、変な感じ。色々条件があるのでしょう。ちょっと
余計な機能のような気もするけど、添付忘れする人には便利かも。

 9/14
Network
とある人に ssh でログインできるかやってみて、と言われて slogin コマンドで
ログインしてみたが、駄目だった。それを見ていたその人は、「いや、ssh で」
って言っている。同じです、と私は言ったけど、どうにも怪しい顔をしている。
slogin が ssh のシンボリックリンクになっているのを見せたが、なんとなく
まだ納得してない顔していた。無視したけど。私は、rlogin/rsh/rcp で慣れて
いたので、ssh も slogin も同じだけど、なんとなくログインは slogin で、
コマンドは ssh コマンドでと分けて使っている。多分その人は r 系のコマンドを
知らないんだろうなぁ、なんて思いながら。

 9/15
Linux Other
今日も CentOS 5.4 の話。
FILENAME_MAX の値を調べていたて、stdio.h(本当は bits/stdio_lim.h) の中を
見ていたら、FOPEN_MAX を見つけた。こんな感じ。

#if defined __need_FOPEN_MAX || defined _STDIO_H
# undef  FOPEN_MAX
# define FOPEN_MAX 16
#endif

この値、OS で16のファイルじゃ少ないだろうから、1プロセスあたり16ファイル
だろうな、と思ったけどそれでも少ない気がする。man stdio.h をしてみた。

{FOPEN_MAX}
    Number of streams which the implementation guarantees can be open
    simultaneously. The value is at least eight.

だって。同時に open できる保障する値、らしい。ちょっとプログラムを書いて
100のファイルを open しても余裕だった。man stdio.h には FILENAME_MAX も。

{FILENAME_MAX}
    Maximum size in bytes of the longest filename string that the
    implementation guarantees can be opened.

とあって、保障する最大値。じゃこっちも、./././././a みないに 4096 文字の
ファイルを open してみたら、errno 36(File name too long) があっさり返って
きた。こっちはきちんと守らないと駄目みたい。

 9/16
Other
久しぶりに湯船に浸かろうと、湯を入れた。が、数秒で給湯器が止まってしまう。
ガスのメーターのところの機械を見ると、流量オーバーと出ている。その機械の
リセットボタンを押すと、復帰したのだけど、給湯器を使うとまたガスが止まって
しまう。仕方なくガス屋に電話して聞いてみたら、急にガスの使用量が増えた
ので、ストップする機能が働いたとのこと。もう2、3回リセットすれば多分
使えるらしいので、やってみたら問題なく使えるようになった。どうやら小さな
マイコンが入っているらしく、使っていると学習するとか言っていた。それに
今週はそんなお客様が多いって。みんな考えることが一緒なのかな。で、この
ガスメーター、見ると電源を取っていないので、どっから取っているのかを設置
しているときに聞いたら電池なんだと。それも10年もつんだって。流量の統計を
取っているだろうから記憶領域もあるだろうし、学習しているのでそこそこの
計算はしているだろうし、PIC ぐらいの能力なんだろうけど、それで10年持つ
のは優秀だなぁ。リチウム電池なのかね。

 9/17
Other
Dovecot v2.0.3 がリリースされた。このページ見たら、v2.0.2 を見落として
いたみたい。v2.0.0 のリリースからちょっと早めのペースでバージョンアップ
している感じだな。落ち着いたら、入れ替えしてみようかな。

 9/18
Other
デジカメの写真を整理していたら、ドット欠けした写真が見つかった。気になった
ので、調べてみたら北海道旅行中の7月19日以降の写真に全てドット欠けがおきて
いる。カメラはオリンパスの μTOUGH-6000 で、メールを調べたら購入したのは
10月3日になっている。これは、保障期間内だ、と思って手元の領収書を調べて
みたが見つからず。もう一度メールをよく読むと、代引きで買っている。という
ことは、運送会社の領収書か。そんなの捨てちゃっただろうなぁ、なんて思って
もったいないけど、あきらめることにする。

 9/19
Other
半分頼まれ事で、デジカメの写真のプリントをする必要があった。ちょっと、
値段の相場を web で調べてみたけど、1枚4円~35円と値段の差が結構あって。
細かいサービス内容を色々見てみたけど、安いところは基本料金が高かったり、
送料がかかったり、安いペーパーを使っていたり。なんだか、まとまった枚数じゃ
ないと安くならないし、相応な感じみたい。問題が一つあって、今回プリントする
写真はハガキサイズの KG 版にしたい。その大きさだと、やってないところが
あったり、L版だと安い所が KG 版だと高かったり。なんだか、調べ疲れて、適当な
ところでお願いしてみた。基本料金なしで、1枚20円しなかった。あとは手元に
きたとき、仕上がりがどうなっているか、だな。

 9/20
Network
普段は見ない内側のサーバで dmesg したら。
arp info overwritten for 192.168.11.1 by 00:07:ba:xx:xx:xx
arp info overwritten for 192.168.11.1 by 00:0f:a3:xx:xx:xx
のようなログがあった。なんだこれは、と思ってログを確認すると、先月末の
ADSL モデムを取り替えたりしていた時期のものだった。と言っても、同じ機械
なので何で MAC アドレスがこんなに大幅に違うのか気になって確認してみた。

00-07-BA   (hex)        UTStarcom, Inc.
0007BA     (base 16)    UTStarcom, Inc.
                        1275 Barbor Bay PKWY
                        Alameda CA 94502
                        UNITED STATES

00-0F-A3   (hex)        Alpha Networks Inc.
000FA3     (base 16)    Alpha Networks Inc.
                        No.8 Li-shing 7th Rd.,Science-based Industrial Park
                        Hsinchu  300
                        TAIWAN, REPUBLIC OF CHINA

らしい。同じ企業名かと予想していたけど、違うみたい。そもそも、Yahoo は
MAC アドレスを持っているのか気になって見てみたけど、持っていなかった。
つまり、上のアドレスは製造元か販売元なんでしょう。よくわからないけど。

 9/21
Other
昔、ワンセグの携帯電話を借りて家で見たとき、全く見れなかった。どこかに
中継局ができていないか見てみたら、今月大船に中継局が出来ているのを発見。
エリアを確認してみたら、微妙にエリア外っぽい。それに、NHK と TBS のみの
中継だし、垂直偏波だし。使えない。総務省のページで確認してみたら、今年
戸塚にも中継局ができる予定みたい。そっちに期待かな。
それにしても、中継局って神奈川県だけでも20局以上あるんだ。なんとなく、
無駄なような気も少しする。一般人の家の屋根に15エレ2列2段スタックとか、
現実的じゃないので、中継局がこんなにできるのでしょうかね。

 9/22
Other
他人のプログラムを見ていたら、printf で \b を連発していた。これは一体何を
しているのだろうと調べると \b って backspace で、ASCII コードで 0x08 の
ことみたい。C 言語の教科書の最初の方に載ってたかもしれないけど、使った
ことがなかったから、すっかり忘れているようである。それはそれで良かったの
だけど、どうもうまく動いていないみたい。ちょっと試してみると、printf での
最後の \b が駄目っぽい。テストしてみた。

[toyota@zonama]% cat test.c
#include<stdio.h>
int main(){
  printf("colou\br\n");
  printf("programme\b\b\n");
}
[toyota@zonama]% gcc test.c
[toyota@zonama]% ./a.out
color
programme

\b は、1文字消すのじゃなくて1文字戻るということみたい。元のプログラムを
作った人は、勘違いしているみたい。私も勘違いしていたけど。そもそも \b で
対応ってちょっと苦しいよなぁ。ということで、\b を使わないように全体的に
書き換えてしまった。

 9/23
Other
18日に書いたμTOUGH-6000 のドット欠けの件、駄目もとでオリンパスに送って
みることにした。買ったときのお店のメールと保証書を付けて、買った日にちと
いうことにして。駄目だったら、修理扱いでお金を払えば良いし。ここのところ
ちょっと貧乏なので、なんとか保証範囲内でやってくれれば、と願って。

 9/24
Other
先週からデジカメのデータの整理をしている。これまで EXIF に GPS のデータ
なんかいらないよ、と思っていたのだけど、整理をしていると、場所があったら
あったで便利かも、と思うようになった。特に海外に行ったとき、これどこだった
かなぁ、なんて写真が結構あって。GPS 機能で電池の持ちが半分ぐらいになる
ぐらいだったら不要だけど、電池の消費が気にならないのだったら、次期デジカメ
候補の片隅に GPS のことを考えておこうと思った。

 9/25
Other
テレビの上下に、地デジに変えろとうざいし、10分ほど時間があったので、近くの
大型電気店でテレビを見て、とりあえずアンテナかな、とアンテナの種類を確認
すると、アンテナ不要の OCN なんとかがお得ですよ、と言われる。ちょっとだけ
話を聞いたけど、とてもお得とは思えないんだよね。工事とかも家のテレビ線に
割り込ませたりして。面倒臭さそうだったので、聞くのをあきらめたぐらい。
どこがお得なんだか、という気持ちだけが残った。

 9/26
Other
実家にちょっと寄ったら、親父の PC の調子が悪いとか。どうも、ドライバが
うまく入っていないみたい。CD-ROM から入れようとしたけど、このドライブも
認識してなくて。あーあ、ということで普段は XP しか触らないし、Vista も
触ったことのない私が、Windows7 を触ったりして。勝手がちょっと違うので、
どうもよくわからなかった。時間のあるときに USB 接続のドライブ持って、もう
一回行くことにした。

 9/27
Other
ある外国の人からバイクの質問に、webike.net というバイク用品通販のページの
リンクが貼られていた。webike は海外用のページも持っているみたい。で、その
ページを見ていたら、"Akira Makoto" というものが出てきた。その他の英語も
かなり怪しい。元のページを見つけて見てみたら、Akira Makoto の元の単語は
「純正」だった。どこをどう読んだら、Akira Makoto になるのだろう。少し気に
なったので、検索していると rakuten の翻訳エンジンも Akira Makoto と訳して
いるみたい。なんか、不正使用を検出する変なトラップなのかな。考えすぎか。

 9/28
Network
dovecot v2.0.4 がリリースされた。先月から、あのいつものバージョンアップの
ペースが続いている。最新版を追っている人には、ちょっと辛いかな、という
ぐらいのペース。multi-dbox を使っている人は、INDEX が変わるそうなので、
気をつけないといけないみたい。いつものように、dovecot.jp の更新だけ。

 9/29
Other Network
仕事場所で。一斉に色々な席から警告音が。ただし、私の席では何も鳴らず。
携帯電話かとも思ったけど、一斉に鳴ることはないので、PC がウィルスでも検出
したのかな、と思った。が、実際は携帯電話が緊急地震速報を受信した音だった。
実際に聞いたのは初めてだし、もっている人も最初困惑していた。私は都内に
いたのだけど、結局揺れは感じず。揺れる前に来たら、感動するんだろうなぁ。
ま、私の PHS と SoftBank の携帯電話は、速報を受信できないけど。

 9/30
Linux Other
なんだか、basename 関数を使っているところの動作が怪しかったので、ちょっと
man 3 basename をして眺めていた。そこで、使えないことが。そもそも、2つの
関数があるみたい。以下、日本語の man 。

basename() には 2種類の異なるバージョンがある。一つは既に説明した POSIX
バージョンでであり、もう一つは GNU バージョンで以下のようにして使用する。

    #define _GNU_SOURCE
    #include <string.h>

GNU バージョンは引き数を変更することはなく、 path の末尾が ’/’の場合は
空の文字列を返す。特に path が "/" の場合も空文字列を返す。 dirname() には
GNU バージョンはない。

glibc では、 <libgen.h> をインクルードすると POSIX バージョンの basename()
が使用され、それ以外の場合は GNU バージョンとなる。

そもそも、basename が引数を変更することに驚いた。適当なポインタの位置を
返してくれれば良いものを、なんて思う。libgen.h を確認してみた。

[toyota@zonama]$ less /usr/include/libgen.h
#define basename        __xpg_basename

__xpg_basename を define しているみたい。ちょっと、動作の違いをみるため、
テストプログラムを描いてみた。

[toyota@zonama]$ cat basenametest.c
#define _GNU_SOURCE
#include <string.h>
#include <stdio.h>

int main(){
  char file[][10] = {".", "/", "./", "//", "ls", "/ls", "//ls", "./ls",
                     "/bin/ls", "bin/ls", "/bin/ls/", "/usr\\/ls"};
  int i;
  for(i = 0; i < 12; i++){
    printf("%s[%s]\n", file[i], basename(file[i]));
    printf("%s[%s]\n", file[i], __xpg_basename(file[i]));
  }
}
[toyota@zonama]$ gcc basenametest.c
[toyota@zonama]$ ./a.out
.[.]
.[.]
/[]
/[/]
./[]
.[.]
//[]
//[/]
ls[ls]
ls[ls]
/ls[ls]
/ls[ls]
//ls[ls]
//ls[ls]
./ls[ls]
./ls[ls]
/bin/ls[ls]
/bin/ls[ls]
bin/ls[ls]
bin/ls[ls]
/bin/ls/[]
/bin/ls[ls]
/usr\/ls[ls]
/usr\/ls[ls]

GNU 版の違いは、最後に / が入っていた時の結果で、POSIX 版はそのとき引数を
書き換えてしまう。結果と動作を見る限り、GNU 版の方が使い勝手が良いなぁ。
元の引数を書き換えないので、strdup とかしないで済むし。

21st projects Tatsuyoshi Networks Prompt Works
by Tatsuyoshi since 2003