■ 6/1
地デジに変わるので、そろそろ対応のテレビを買わないとな、なんて思っていたの
だけど、あんまりテレビ見ないからプロジェクタでも良いかもなんて考え始めた。
プロジェクタを少し調べていたら、3D のプロジェクタも出始めていて、心が 3D
対応のプロジェクタに傾きかけた。が、3D 対応のプロジェクタを買うと、Blu-ray
のプレイヤーがないと意味がないし、そもそもまだ 3D のコンテンツなんか少ない
だろうな、と頭の中が現実を見始めた。結局、テレビ見ないし、DVD 再生に使う
だけならテレビを買い換える必要がないことに気が付いた。お金がないので、
テレビは後回しにしよう。
■ 6/2
隣の部屋の VH7-PC を PC から鳴らしたいけど、5m ぐらいの USB ケーブルを
使わないと接続できないし、ケーブルの見た目も汚い。何か良い方法はないかな、
と調べていたら、サンワサプライの UWB-H300 という製品があった。ワイヤレスで
USB を転送できるもので、値段は30000円ぐらい、さらに既に廃番になっている。
そんなお金を掛けられなし、売ってないので、もう少し調べてみたら、今は規格
として Wireless USB というものがあるらしい。
http://www.usb.org/developers/wusb/
やっぱり製品として、まだ少ないみたいで、値段が高め。でも、キーボードとか
マウスってワイヤレスの方が便利だから、これから普及していくかもしれない。
と、共に電源が必要だから、電池が流行るかもな、なんて想像して。Wireless
USB って IEEE 802.11g よりも転送が早かったりするから、これから無線 LAN も
いらなくなってしまうのかな。どうなるのだろう。
■ 6/3
なんだか、昨日から大量の Virus メールが届いている。偽 Amazon と偽 Microsoft
からのメールがほとんどで、よくある Virus みたい。何でこのタイミングで大量に
届いたのかイマイチ不明だけど、流行っているのかなぁ。Gmail で POP3 の受信を
していると、削除してくれなくて、手動で削除するのが面倒なんだよね。久し
ぶりに telnet で POP3 なんか叩いたけど、コマンドをすっかり忘れてしまって
いた。
■ 6/4
HDD を買おうか、と少し頭を過ぎって。そろそろ 3T ぐらいの HDD が売っているの
じゃないかと調べてみたら、2G までのしか売ってない。そろそろ容量の上昇が
足踏みしている感じ。それとは変わって SSD は 512G まで容量があって、時代は
もう SSD になっているのかな、という気がしてきた。CPU のクロックも、上昇が
止まってマルチコア化している流れだし、そろそろ PC の限界が見えてきているの
かもしれないなぁ。
■ 6/5
まさかの5日遅れだったのは気にしないで。先月末に調べた GPS の話の続き。
KDDI の携帯電話では、基地局からの測位も使ったハイブリッド方式というのを
使っている。AFLT というらしく、衛星からの電波が入らなくても、比較的正確な
位置情報がつかめるとのこと。AFLT を使えば、大気圏でのゆらぎとか色々問題が
なくなって、衛星からの GPS より正確に測位できると思ったけど、ふと準天頂の
部品調達で原子時計が遅れたために打ち上げが延びた、と書いてあったのを思い
出した。原子時計はアメリカから買うらしい。携帯電話のアンテナごときで、
原子時計なんかつけたら、いくらになるかわからないし、そもそも携帯電話の
アンテナの位置は非公開だからキャリア外のユーザには使わせないだろうし。
固定局を使っての測位ができれば、もっと精度があがるのに、もったいない、
なんて思っていたけど、よく考えたらそれがロランCだった。衛星での GPS が
メジャーになったので、廃局の一途を辿っているみたいだけど。
■ 6/6
ある web ページにアクセスしたときの status code のみ欲しくて。200 だとか
404 だとかの数字のみだけ。wget じゃ grep 使わないと駄目そうだし、curl で
なんとかできないかな、と man を眺めていたら、-w オプションを見つけた。
-w を付けて実行してみたけど、いらない表示だらけなので、-s と -o /dev/null
にして、実行。こんな感じになった。
[toyota@dstar]$ curl -w "%{http_code}\n" -s -o /dev/null "http://www.yahoo.co.jp/"
200
良い感じ。
■ 6/7
authlog を眺めていた。
Jun 7 09:41:24 mustafar sshd[28793]: SSH: Server;Ltype: Version;Remote:
2xx.xxx.xxx.xxx-1265;Protocol: 2.0;Client: Granados-2.0
この Grandos って何だ?というのが始まりで、調べてみると Routrek Networks
というところの SSH Library for .NET というものらしい。
http://www.routrek.co.jp/product/varaterm/granados.html
Granadosは、エルネスト・チェ・ゲバラが若い頃南米を旅行したときの相棒の
名前に由来しています。
そう言えば、Motorcycle Diaries という映画で出てきた気がする。で、これは
Varaterm 用に開発されたらしい。Varatern のページに行くと。
http://www.routrek.co.jp/product/varaterm/
Poderosa の元となったものみたい。これで3つが繋がった。Poderosa って、
あのゲバラが乗ってたバイクの名前だし、Varatern の Vara は Che Guevara の
Vara だったんだ、と。
よくよく調べると、ちゃんと作者のブログにも書いてあったし。
http://okajima.air-nifty.com/b/2005/02/post_1.html
たまには、バージョンアップして欲しいなぁ。
■ 6/8
某所でプログラムを作ったのだけど、別な環境で動かないみたい。ライブラリの
依存関係が問題みたい。仕方なく gcc で -static なコンパイルをしたのだけど、
20kB ごときのバイナリが 700kB ぐらいになって、気分が凹む。このぐらいの
サイズなら問題ないのだけど、せっかく小さく作ったプログラムなのでね。最初
からインストールする環境を考えれば良かったな、と後悔。
■ 6/9
なんか、Google のトップにある上の文字、出てくるのがゆっくり、というか、
じわっと出てくるようになった。マウスポインタが表示部分内にないと、その
文字も出てこないし、最初見たとき、どうなってしまったのかと少し驚いた。
Google カレンダーも少し変わったみたいだし、何かの更新のタイミングだったの
でしょう。上の文字は、すぐに出ていて欲しいものだなぁ。
■ 6/10
輸送用のコンテナのことを調べていたら、中古コンテナ販売なんてのを見つけた。
20フィートコンテナで30万円ぐらいで買えるみたいで、これって駐輪場にぴったり
じゃないかと。でも、締め切ってしまうと暗いし空気が流れないし、換気口とか
窓とかを付けたくなる。窓とか付いた加工済みのものも売っているけど、値段が
高くなってしまう。コンテナって、ディスクグラインダーなんかで切れるものなの
だろうか。内寸と外寸の差は、80mm ぐらいあるので、片側 40mm だろうけど、
波打ちの加工とか、角の部分の補強とかあるので、鉄板は 5mm ぐらいかなぁ。
なんか、想像していたら楽しくなってきた。置く場所ないけど。
■ 6/11
ちょっと時間ができたので、海運会社に何軒か問い合わせをした。ちょっと海外
から荷物を送ろうと思って。半分ぐらいの会社で、個人は相手にしていないと
やんわり断られて、そうじゃない会社でもインコタームズな略語を当たり前の
ように使うので、さっぱり意味がわからなかったり。良く使う FOB でも、解説
してるページを見ると、「本船甲板渡し条件」なんて余計にわからないような
感じだし。もう少し勉強しないと。
■ 6/12
いつも外でバイクをいじっているときなんかで使っているデジカメ COOLPIX L6
は、仕事場に持って行っているので、μTOUGH-6000 で撮影した。マクロモードの
表示出ているけど、テレ端で撮影距離が 30cm ぐらいになって、非常に使い辛い
感じだった。夜になって調べてみたら、マクロモード以外にスーパーマクロモード
というのがあるみたい。今やってみたら、2cm まで寄れるけど、ワイド端のみの
動作だった。ワイド側だといらないものまで写り込んでしまうので、できれば
テレ端でのスーパーマクロがあると、ありがたいな、と思う。
■ 6/13
最近、gmail のスパムフィルタを通過して、添付として画像がついたメールが
よく届く。添付の画像を開くと、viewer によって buffer overflow でもおきる
かもしれない、とそのまま捨てていたが、気になったので見てみることにした。
Firefox で添付の jpeg 画像を見てみたけど、特に問題はなかった。画像自体は
文字が書いてあるもので、単なる spam フィルター対策だったみたい。画像で
少し驚いたことがあって、jpeg なのにモスキートノイズが全く出ていなかった。
そのためか、ファイルサイズはでかめ。これじゃ、spam を送るのも帯域を使って
大変そうだ。それにしても、ほとんど公開していない gmail のアカウント宛てに
spam が届くようになるとは。
■ 6/14
しばらく前、NetBSD 5.0.2 な環境で、FDclone をコンパイルしたら、エラーに
なった。ちょっと放置していたのだけど、調べることにした。
[toyota@mustafar]% make
~snip~
cc -DNETBSD=1 -O -Wno-attributes -DFD=3 -c -o sysemu.o sysemu.c
cc -DNETBSD=1 -O -Wno-attributes -DFD=3 -c -o dosdisk.o dosdisk.c
In file included from dosdisk.c:42:
/usr/include/sys/disklabel.h:357:1: error: pasting "FS_" and "(" does not give
a valid preprocessing token
In file included from dosdisk.c:42:
/usr/include/sys/disklabel.h:357: error: expected ',' or '}' before '(' token
*** Error code 1
Stop.
make: stopped in /tmp/fdclone/FD-3.00h
*** Error code 1
Stop.
make: stopped in /tmp/fdclone/FD-3.00h
ちょっと古い FDclone 3.00f とか 3.00b とかでも現象は発生。FDclone 3.00x は
ダメみたい。仕方なく、sys/disklabel.h の確認をする。
355 #ifndef _LOCORE
356 #define FS_TYPENUMS(tag, number, name, fsck, mount) __CONCAT(FS_,tag=number),
357 enum { FSTYPE_DEFN(FS_TYPENUMS) FSMAXTYPES };
358 #undef FS_TYPENUMS
359 #endif
こんな感じ。__CONCAT は sys/cdefs.h なんかで宣言されていて、
#define __CONCAT(x,y) x ## y
となっていた。## とか使ったことがないので、どう展開されるのか想像しにくい
けど、ちょっと調べて。
http://gcc.gnu.org/onlinedocs/cpp/Argument-Prescan.html
なんとなく理解する。NetBSD 自体の問題のような気がしたが、
#include <sys/disklabel.h>
#include <stdio.h>
int main(){
printf("%d\n", MAXMAXPARTITIONS);
}
テストプログラムを作ってみても、問題がおきないので、何かがコンフリクト
しているのでしょう。FSTYPE_DEFN が怪しい気がしたので、sys/disklabel.h を
コピーして、いじることにした。
322 /*
323 * Partition type names, numbers, label-names, fsck prog, and mount prog
324 */
325 #define FSTYPE_DEFN(x) \
326 x(UNUSED, 0, "unused", NULL, NULL) /* unused */ \
327 x(SWAP, 1, "swap", NULL, NULL) /* swap */ \
328 x(V6, 2, "Version 6", NULL, NULL) /* Sixth Edition */ \
329 x(V7, 3, "Version 7", NULL, NULL) /* Seventh Edition */ \
330 x(SYSV, 4, "System V", NULL, NULL) /* System V */ \
331 x(V71K, 5, "4.1BSD", NULL, NULL) /* V7, 1K blocks (4.1, 2.9) */ \
332 x(V8, 6, "Eighth Edition",NULL, NULL) /* Eighth Edition, 4K blocks */ \
333 x(BSDFFS, 7, "4.2BSD", "ffs", "ffs") /* 4.2BSD fast file system */ \
334 x(MSDOS, 8, "MSDOS", "msdos", "msdos") /* MSDOS file system */ \
335 x(BSDLFS, 9, "4.4LFS", "lfs", "lfs") /* 4.4BSD log-structured FS */ \
336 x(OTHER, 10, "unknown", NULL, NULL) /* in use, unknown/unsupported */\
337 x(HPFS, 11, "HPFS", NULL, NULL) /* OS/2 high-performance FS */ \
338 x(ISO9660, 12, "ISO9660", NULL, "cd9660")/* ISO 9660, normally CD-ROM */ \
339 x(BOOT, 13, "boot", NULL, NULL) /* bootstrap code in partition */\
340 x(ADOS, 14, "ADOS", NULL, "ados") /* AmigaDOS fast file system */ \
341 x(HFS, 15, "HFS", NULL, NULL) /* Macintosh HFS */ \
342 x(FILECORE,16, "FILECORE", NULL, "filecore")/* Acorn Filecore FS */ \
343 x(EX2FS, 17, "Linux Ext2","ext2fs","ext2fs")/* Linux Extended 2 FS */ \
344 x(NTFS, 18, "NTFS", NULL, "ntfs") /* Windows/NT file system */ \
345 x(RAID, 19, "RAID", NULL, NULL) /* RAIDframe component */ \
346 x(CCD, 20, "ccd", NULL, NULL) /* concatenated disk component */\
347 x(JFS2, 21, "jfs", NULL, NULL) /* IBM JFS2 */ \
348 x(APPLEUFS,22, "Apple UFS", "ffs", "ffs") /* Apple UFS */ \
349 /* XXX this is not the same as FreeBSD. How to solve? */ \
350 x(VINUM, 23, "vinum", NULL, NULL) /* Vinum */ \
351 x(UDF, 24, "UDF", NULL, "udf") /* UDF */ \
352 x(SYSVBFS, 25, "SysVBFS", NULL, "sysvbfs")/* System V boot file system */ \
353 x(EFS, 26, "EFS", NULL, "efs") /* SGI's Extent Filesystem */
354
355 #ifndef _LOCORE
356 #define FS_TYPENUMS(tag, number, name, fsck, mount) __CONCAT(FS_,tag=number),
357 enum { FSTYPE_DEFN(FS_TYPENUMS) FSMAXTYPES };
358 #undef FS_TYPENUMS
359 #endif
327行目から352目までコメントにして、FDclone をコンパイルしたら、あっさり
通ってしまった。どれかの文字列がぶつかっているみたい。絞り込んでみたら、
334行目の MSDOS と判明。とりあえず、この行を削除したら、コンパイルできる
のだけど、根本的な解決じゃない。でも、FDclone 内部では MSDOS をバリバリ
使っているし。どう変更すれば良いのだろう。
■ 6/15
e-mail のシグネチャについて調べていた。で、セパレータって規定されている
のか調べると、RFC3676 の 4.3 Usenet Signature Convention に書いてあった。
> There is a long-standing convention in Usenet news which also
> commonly appears in Internet mail of using "-- " as the separator
> line between the body and the signature of a message.
これまで - を3つとかにしてるときもあるな、と反省したのだけど、良く見ると
DASH DASH SP と書いてあった。スペース文字も必要だったんだ。知らなかった。
■ 6/16
Firefox で jpeg を表示したとき、気になるので Exif 情報を見る。いつもは、
Exif Viewer というのを使っているのだけど、どうも見づらいので、別なのを
探していたら、FxIF というのを見つけた。シンプルで見やすいのだけど、表示
される情報が少ない。もう少し、詳細に出てくるボタンでもあれば非常に助かる
のだけど。仕方なく、Exif Viewer に戻ることにした。
■ 6/17
cygwin で tar を実行したら、見慣れないメッセージが出た。
[toyota@mustafar]% tar xvfz FD-3.00h.tar.gz
~snip~
-rw-r--r-- shirai/user 226665 2010-06-14 00:00 FD-3.00h/fd.cat
-rw-r--r-- shirai/user 40138 2010-06-14 00:00 FD-3.00h/kanji.hin
tar: 7980 に長いゼロブロック
ちょっと意味がわからないので、locale を変更した。
[toyota@mustafar]% tar xvfz FD-3.00h.tar.gz
~snip~
-rw-r--r-- shirai/user 226665 2010-06-14 00:00 FD-3.00h/fd.cat
-rw-r--r-- shirai/user 40138 2010-06-14 00:00 FD-3.00h/kanji.hin
tar: A lone zero block at 7980
なんだか、日本語訳は lone と long を取り違えている気がするけど。Linux な
別の PC だとこの表示がでなかったので、バージョンを見てみることにした。
cygwin での tar は。
[toyota@mustafar]% tar --version
tar (GNU tar) 1.22.90
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
な感じ。Linux 側での tar のバージョンは。
[toyota@zonama]% tar --version
tar (GNU tar) 1.15.1
になっていた。とりあえず、GNU tar のページからバージョン 1.22 のソースを
取ってきて、ソースを眺める。「A lone zero block at」を出力するファイルは、
2つ。
src/compare.c
src/list.c
src/compare.c の中身を見てみることにした。
if (status == HEADER_ZERO_BLOCK)
{
set_next_block_after (current_header);
if (!ignore_zeros_option)
{
char buf[UINTMAX_STRSIZE_BOUND];
status = read_header (false);
if (status == HEADER_ZERO_BLOCK)
break;
WARN ((0, 0, _("A lone zero block at %s"),
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
}
}
HEADER_ZERO_BLOCK が2回続かないと、表示されるみたい。A lone zero block at
の表示が出る FD-3.00h.tar.gz と表示が出ない FD-3.00g.tar.gz を、gunzip
して、中身を見てみたら、確かに最後の部分の 0 埋めが少ない気がする。
GNU tar のページから バージョン 1.15.1 のソースを取ってきて、動作の違いを
比較しようとしたら。
[toyota@zonama]% ./tar-1.15.1/src/tar tfvz /tmp/FD-3.00h.tar.gz
~snip~
-rw-r--r-- shirai/user 226665 2010-06-14 00:00:00 FD-3.00h/fd.cat
-rw-r--r-- shirai/user 40138 2010-06-14 00:00:00 FD-3.00h/kanji.hin
./tar-1.15.1/src/tar: A lone zero block at 7980
あ、出るな。OS についてきた tar は、何かしらの patch が当たっているので
しょう。とりあえず、何で A lone zero block が出るのかは、置いておこう。
■ 6/18
先月の GPS デジカメの続き。なんだか、出力される内容が機種によってだいぶ
違うようなので、調べてみた。
model | SONY DSC-HV5X | NIKON P6000 | Panasonic DMC-TZ10 | iPhone 3GS
|
---|
GPS tag version | 2.2.0.0 | 2.2.0.0 | 2.2.0.0 | -
| North or South Latitude | ○ | ○ | ○ | ○
| Latitude | ○ | ○ | ○ | ○
| East or West Longitude | ○ | ○ | ○ | ○
| Longitude | ○ | ○ | ○ | ○
| Altitude reference | ○ | ○ | - | ○
| Altitude | ○ | ○ | - | ○
| GPS time | ○ | ○ | ○ | ○
| GPS satellites used for measurement | - | - | ○ | -
| GPS receiver status | ○ | - | ○ | -
| GPS measurement mode | ○ | - | ○ | ○
| Measurement precision | - | - | ○ | -
| Speed unit | ○ | - | - | -
| Speed of GPS receiver | ○ | - | - | -
| Reference for direction of movement | ○ | - | - | -
| Direction of movement | ○ | - | - | -
| Reference for direction of image | ○ | ○ | - | ○
| Direction of image | ○ | ○ | - | ○
| Geodetic survey data used | ○ | ○ | ○ | -
| Reference for latitude of destination | - | - | - | -
| Latitude of destination | - | - | - | -
| Reference for longitude of destination | - | - | - | -
| Longitude of destination | - | - | - | -
| Reference for bearing of destination | - | - | - | -
| Bearing of destination | - | - | - | -
| Reference for distance to destination | - | - | - | -
| Distance to destination | - | - | - | -
| Name of GPS processing method | - | - | ○ | -
| Name of GPS area | - | - | - | -
| GPS date | ○ | ○ | ○ | -
| GPS differential correction | ○ | - | - | - | |
ファームウェアで増えていたりするかもしれないけど、iPhone のバージョンが
入ってないのは、問題外な気がするなぁ。
■ 6/19
昨日の表を見ていたら、DMC-TZ10 って Altitude 、つまり高度の情報って記録
してないことに気が付いた。衛星捕まえて測地しているので、緯度経度出すのと
処理は同じだろうし、高度も計算上出てくるのに、何で出力してないのだろう。
山歩きしたときの高度情報とかって便利だと思うのに、もったいなぁ。
■ 6/20
ここ1週間ほど、国内・国外と何度かメールのやりとりをしていて。国外からの
メールは、ビジネスでも当たり前のように html メールで、色とかフォントの
大きさまで変えて、なんだかなぁ、って感じ。
国内からのメールでも、改行を適宜入れてなかったり、機種依存文字を使って
いたり。おまけに、引用を削除せずに全部つけろ、とまで言われた。それじゃ、
その200文字も改行しないとか、機種依存文字とか、そのシグネチャとか、RFC に
則ってちゃんと送ってくれ、そもそも全文引用は RFC1855 では勧められていない
とか、送り返そうとしたけど、大人なのでやめといた。
■ 6/21
ちょっと NetBSD の ncurses をインストールしようと。
[toyota@mustafar]% wget http://ftp.netbsd.org/pub/NetBSD/packages/current-packa
ges/NetBSD/i386/5.0.2_2010Q1/All/ncurses-5.7nb3.tgz
--2010-06-21 14:18:19-- http://ftp.netbsd.org/pub/NetBSD/packages/current-pack
ages/NetBSD/i386/5.0.2_2010Q1/All/ncurses-5.7nb3.tgz
Resolving ftp.netbsd.org (ftp.netbsd.org)... 2001:4f8:3:7:230:48ff:fec6:9aaa, 2
04.152.190.15
Connecting to ftp.netbsd.org (ftp.netbsd.org)|2001:4f8:3:7:230:48ff:fec6:9aaa|:
80... failed: No route to host.
Connecting to ftp.netbsd.org (ftp.netbsd.org)|204.152.190.15|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1212675 (1.2M) [multipart/x-tar]
Saving to: `ncurses-5.7nb3.tgz'
100%[==========================================>] 1,212,675 244K/s in 5.2s
2010-06-21 14:18:24 (228 KB/s) - `ncurses-5.7nb3.tgz' saved [1212675/1212675]
wget は最初に、IPv6 のアドレスで接続しようとするんだ、なんて思いながら、
nslookup をしてみた。
[toyota@mustafar]% nslookup ftp.netbsd.org
Segmentation fault (core dumped)
これが事の始まり。何で core を吐くのかデバッグするために source を落として
きた。make してみる。
[toyota@mustafar]% wget http://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.2/source/se
ts/src.tgz
[toyota@mustafar]% tar xfz src.tgz
[toyota@mustafar]% cd usr/src/dist/bind
[toyota@mustafar]% chmod u+x ./configure
[toyota@mustafar]% ./configure
[toyota@mustafar]% make
実行してみた。
[toyota@mustafar]% ./bin/dig/nslookup ftp.netbsd.org
Server: 192.168.3.1
Address: 192.168.3.1#53
Non-authoritative answer:
Name: ftp.netbsd.org
Address: 204.152.190.15
問題ない。できた、バイナリを見てみた。
[toyota@mustafar]% ls -l bin/dig/nslookup
-rwxr-xr-x 1 toyota wheel 3446569 Jun 21 14:25 bin/dig/nslookup
[toyota@mustafar]% ls -l /usr/bin/nslookup
-r-xr-xr-x 1 root wheel 74408 Feb 7 02:39 /usr/bin/nslookup
サイズが全く違う。strip してみたが。
[toyota@mustafar]% strip bin/dig/nslookup
[toyota@mustafar]% ls -l bin/dig/nslookup
-rwxr-xr-x 1 toyota wheel 1200696 Jun 21 14:27 bin/dig/nslookup
やっぱり同じ。ldd をしてみたら、bind 周りのライブラリを含んでいるので、
大きくなっているみたい。ちょっと面倒そうだし、どうしたもんかな、と考えて
バイナリの確認をしてみることにした。
[toyota@mustafar]% cd /tmp
[toyota@mustafar]% wget http://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.2/i386/bina
ry/sets/base.tgz
[toyota@mustafar]% tar xfz base.tgz
[toyota@mustafar]% usr/bin/nslookup ftp.netbsd.org
Server: 192.168.3.1
Address: 192.168.3.1#53
Non-authoritative answer:
Name: ftp.netbsd.org
Address: 204.152.190.15
あれ?動くし。サイズと日付の確認をしてみた。
[toyota@mustafar]% ls -l usr/bin/nslookup
-r-xr-xr-x 1 toyota wheel 74408 Feb 7 02:39 usr/bin/nslookup
[toyota@mustafar]% ls -l /usr/bin/nslookup
-r-xr-xr-x 1 root wheel 74408 Feb 7 02:39 /usr/bin/nslookup
全く同じ。バイナリレベルで確認してみる。
[toyota@mustafar]% md5 usr/bin/nslookup
MD5 (usr/bin/nslookup) = 3bceaa5051a3952049944860c910bf7e
[toyota@mustafar]% md5 /usr/bin/nslookup
MD5 (/usr/bin/nslookup) = 7ab66fc0a2c0e9febfd1395e4f58a91e
md5 の結果も cmp の結果も、どちらも同じバイナリじゃないという結果。つまり、
何かの原因でバイナリが壊れてしまったということみたい。CF に入れて動作させて
いるので、そのせいかもな。とりあえず、動く nslookup を上書きしておいた。
# cp -p usr/bin/nslookup /usr/bin/
# chown root:wheel /usr/bin/nslookup
# exit
[toyota@mustafar]% rehash
[toyota@mustafar]% nslookup ftp.netbsd.org
Server: 192.168.3.1
Address: 192.168.3.1#53
Non-authoritative answer:
Name: ftp.netbsd.org
Address: 204.152.190.15
これで動くようになった。で、何やってたんだっけ。
■ 6/22
3か月振りぐらいに、Dovecot のバージョンがあがって、v1.2.12 がリリース
された。久しぶりだったので、全然気が付かなかった。大きな変更内容はなく、
バグ修正がメインみたい。Dovecot blog の方は全然更新していないし、v2.0 が
出るのはまだ先かもしれないな。
■ 6/23
Google のサービスをコマンドラインで操作できる googlecl が出たとかなので、
使ってみようとダウンロードしてきた。解凍して、INSTALL.txt を見ると。
GoogleCL requires Python 2.5 or 2.6 and the gdata python client library.
あ、いきなり駄目な感じ。そもそもこれは、何に使うコマンドなのかを調べて
みると、Blogger / Calendar / Contacts / Docs / Picasa / Youtube で使える
らしい。Picasa も Youtube もコマンドラインから見られるわけじゃないので、
データのアップロードや削除の管理だけみたい。他も同じ感じで。使えない。
この中では、Blogger と Calendar しか使ってないけど、日本語ちゃんと処理
でるのかな。
■ 6/24
とあるプログラムをコンパイルしようとしたら。
$ make
~snip~
cc1: warnings being treated as errors
main.c: In function 'main':
main.c:101: error: 'optarg' redeclared without dllimport attribute: previous
dllimport ignored
問題部分は、
extern char *optarg;
という部分で、getopt のためのもの。/usr/include/getopt.h を見ると。
#ifndef __INSIDE_CYGWIN__
extern int __declspec(dllimport) opterr;
extern int __declspec(dllimport) optind;
extern int __declspec(dllimport) optopt;
extern int __declspec(dllimport) optreset;
extern char __declspec(dllimport) *optarg;
#endif
になっている。解決方法がよくわからない。試しに、該当部分を消してみたら、
エラーが起きなくなった。とりあえず、コードは。
#ifndef CYGWIN
extern char *optarg;
#endif
に修正した。cygwin もちょっと面倒だなぁ。
■ 6/25
UTF-8 の文字幅、というか全角半角って、どう調べれば良いのか調べてみたら、
http://unicode.org/Public/UNIDATA/EastAsianWidth.txt
という「東アジア幅」なるファイルが存在していて、これを元にするみたい。
1文字1文字いちいち調べるのは、かなり面倒だし時間がかかりそう。なにか
良い方法はないものかと、Linux の /usr/include/iconv.h なんかを見てみた
けど、なさそう。簡単にできる方法ないもんかなぁ。
■ 6/26
最近の Cygwin だと -ltermcap というか、libtermcap がないみたいで。世の
流れは terminfo を使うみたいで、不要ということなのかな。手元のプログラム
では、-ltermcap と -lncurses を configure でチェックしているが、Cygwin
環境だとエラーが起きてしまう。仕方なく書き換えようということで、terminfo
の使い方を調べたけど、-lterminfo というか libterminfo なんてファイルは
ないので、ncurses があれば terminfo が使われるような感じ。単純に -ltermcap
を付けないで、コンパイルしてみたら、問題なくバイナリができた。意外と単純に
できたので、拍子抜けした。
■ 6/27
昨日の続きで。configure で -ltermcap をチェックしているので、チェックを
しないように configure.in を書き換えた。autoconf してみた。
[toyota@dstar]% ls -l configure*
-rwxr-xr-x 1 toyota toyota 215090 6月 27 15:03 configure
-rwxr-xr-x 1 toyota toyota 66841 11月 22 2006 configure.bak
-rw-r--r-- 1 toyota toyota 2173 11月 22 2006 configure.in
configure できたけど、サイズでかくね?autoconf を実行した環境は CentOS 5
で、autoconf のバージョンは、
autoconf (GNU Autoconf) 2.59
だった。以前に configure を作った autoconf は、configure の中身を見ると
autoconf version 2.13
になっていた。さらに configure を実行すると。
[toyota@dstar]% ls -l configure*
configure: error: cannot run /bin/sh ./config.sub
config.sub を必要とするみたいだし。なんだか、私は時代に取り残されている
みたい。
■ 6/28
ここのメールを Gmail というか、Google Apps にしてしまおうかと悩んでいる。
Google Apps にしてしまえば、web サーバのみになるので、SSD 化というか CF で
稼働させることに心配がなくなる。問題は、メールのアカウントが300以上ある
ので、それをどうするか、ということ。aliases と virtual ファイルで、4つ
ぐらいのアカウントにまとめてるけど、Google Apps にそのままのアカウントで
転送させるとなると、その数だけアカウントを作って、ログインして、設定を
変更するという大変なことになる。対処として、このメールサーバで一度受けて、
それを gmail に転送する手もあるけど、spam が結構含まれているので、この
サーバからのメールの spam 判定に影響しそう。なんとか、どちらかを解決する
方法はないものかと、ずっと考えている。
■ 6/29
25日の続きで、iconv 関数を使って、文字列の変換をしたりするプログラムを
書いていたりする。試しに、
ict = iconv_open("UTF-8", "SHIFT-JIS");
にして、EUC な文書を通したりすると、無理やり全部変更しないで、おかしな
文字があった時点で iconv 関数での変換を終了してしまう。漢字コードが混在
している文書だと、無理やり変換して欲しいのだけど、止まってしまうので、
細切れにして変換するしかないみたい。頭が良いというのも、困るときがある。
■ 6/30
某所で作業をしていて、バイナリデータを見たくなった。od -x コマンドでも
見られるのだが、エンディアンの関係でバイトが前後してしまうため、どうも
見辛い。かと言って、余計なソフトを入れられる環境じゃないので、何か別の
方法はないかな、と調べたら vim でできることが判明した。ファイルを開いた
後に、
:%!xxd
とすると、バイナリデータがアドレスと16進表記で表示される。編集はできない
みたいだけど、見る分には十分。もっと、早く知っておくべきだった。
|