12/1
最近、仕事で SPAM 対策、に関係することもやっているのだけど、高いお金を
払ってまで SPAM を遮断しなければならない現実をみると、少し悲しくなって
しまう。今、一番怖いのが、 SPAM 遮断装置を作っているところが、検知率を
上げるために、 SPAM を送信するのではないか、ということ。それにしても、
困った世の中だ。
12/2
FIVA がとうとう全く起動しなくなった。これまでは、何度か電源を入れ直したり
すると、
Operating System not found
が消えて、起動したのだけど、今日はどうやっても駄目。世に言う FIVA 2xx の
突然死の状態とは異なるようなので、少しは良いのかもしれないけど、動かないと
それはそれで仕事に影響がある。本体が悪いのか、 HDD が悪いのか調べるために、
家にあった IBM ブランド時代の Travelstar 2台を接続してみた。ついでに
言うと、今までは東芝の MK だった。で、 Travelstar を接続したのだけど、
やっぱり現象は同じ。ま、家にあった 2.5" HDD は壊れているから放置していた
ものなので、本当に原因は本体か、と言われるとそうじゃないかもしれないの
だけど。念のために CASIO の web page に行ったら、なんか spec のページとかは
既に削除されているし…。困ったなぁ。週末に購入した秋葉原の店に持って行って
修理をお願いしようかな。
12/3
ここのところ MSN Messenger が起動しない。エラーメッセージは、
MSN Messenger への接続中に問題が発生しました。問題を解決するには
[診断ツール]をクリックしてください。
というもので、エラーコードは
0x8100036f
な感じ。診断ツールも使えないので、少々困っていて、ルータの問題かな?なんて、
ルータを再起動しても、やっぱり動かない状態だった。で、やっと判明した。問題は
IE の設定。どうやら IE の設定で無効な Proxy Server を指定していると、うまく
接続できないようである。普段 IE なんてものを使わないので、全然気が
付かなかった。プロキシの設定を外すと、何もなかったように起動した。う〜ん、
これは果たして便利なのだろうか、余計なおせっかいなのだろうか…。私は後者に
感じる。
12/4
某所にて Brother MFC-3820JN のセットアップを行った。今まで Win98 の PC に
接続していたのを WinXP の PC に接続し直したのだけど、 WinXP には標準で
FAX 受信機能が付いていることが判明。いや、便利なのは確かだけど、こんな
ことをされると、 MS 以外の会社って儲からなくなってしまうよなぁ。
12/5
corega BAR HGWL を分解した。
次回の分解は PCI BRL-04FM かな。
12/6
結局、 FIVA を修理に出したので、しばらくは帰ってこない。 FIVA で使っていた
ハードディスクは買ったときのものとは別なものだったので、今手元にある。この
データを吸い上げようと思ったのだけど、どれかの PC を開けて接続するのは
面倒だな…と考えていた。ふと、 2.5 インチの外付けケースを買ったのを思い
出した。家にあったのは、これ。http://supertank.iodata.jp/products/soto25ih/
この中にハードディスクを入れて、 PC に接続したら…、駄目。どうやら AC
アダプタが必要みたい。でも、 AC アダプタが見つからない…(涙)。どうしよう。
棚の奥をごそごそ見てみたら、それらしき AC アダプタ発見!早速接続したら、
電源 LED が点灯。すかさず PC と接続。う〜ん、どうやら中身が壊れているようで
ある。うまく拾い出せるかなぁ…。
12/7
FIVA のハードディスクを SOTO-2.5iH から USB で Terminator P4 に接続して、
中身を読み出す。ハードディスクとして認識してくれないので、昔買った R-Studio
データレスキュー、というソフトで中身を取り出す。このソフト、私の中では、
かなり最強。いつの間にか扱いがキヤノンシステムソリューションズに変わっていた
けど。で、中を調査するのに 10 時間近くかかり、それから中身を取り出す。これ、
終わるのは明日になりそう…。
そうそう、11/28 にフジカラーのネットサービスで注文したポストカード、やっと
明日できるとメールが来た。一体、どの辺が「仕上りの目安 ご注文承りから5日後」
なのか、と思う。喪中なので、早く出さないといけないのに、この遅さはどう
考えても納得いくものではないし、遅れたことの謝罪が1つもないのは、どうかと
思う。多分、もう利用しないでしょう。
12/8
Redhat9 PC に vls のインストール。
http://download.videolan.org/pub/vls/0.5.6/ から vls-0.5.6.tar.bz2 を
ダウンロードしてきた( vls-0.5.6.tar.gz の方は壊れてるっぽい)。
[toyota@gamorr]% tar xvfj vls-0.5.6.tar.bz2
[toyota@gamorr]% cd vls-0.5.6
[toyota@gamorr]% ./configure
〜省略〜
checking dvdread/dvd_reader.h usability... no
checking dvdread/dvd_reader.h presence... no
checking for dvdread/dvd_reader.h... no
configure: error: The development package for libdvdread is not installed.
Please install it and try again. Alternatively you can also configure with
--disable-dvd.
DVD を読み込むライブラリが必要みたい。いらない場合は --disable-dvd を
付ければ良いみたいだけど、使いたいので、 libdvdread のインストールをする。
面倒なので、 http://download.videolan.org/pub/vls/0.5.6/contrib/ から
libdvdread-0.9.4.tar.gz をダウンロードしてきた。本当は公式 web page みたいな
ところからダウンロードしなきゃいけないけど。
[toyota@gamorr]% cd ../
[toyota@gamorr]% wget http://download.videolan.org/pub/vls/0.5.6/contrib/libdvdread-0.9.4.tar.gz
[toyota@gamorr]% tar xvfz libdvdread-0.9.4.tar.gz
[toyota@gamorr]% cd libdvdread-0.9.4/
[toyota@gamorr]% ./configure
[toyota@gamorr]% make
[toyota@gamorr]% su
[root@gamorr]# make install
[root@gamorr]# exit
インストール完了。 vls のディレクトリに戻って、再開。
[toyota@gamorr]% cd ../vls-0.5.6
[toyota@gamorr]% ./configure
〜省略〜
ecking dvbpsi/dvbpsi.h usability... no
checking dvbpsi/dvbpsi.h presence... no
checking for dvbpsi/dvbpsi.h... no
configure: error: cannot find libdvbpsi headers
なんに使うか知らないけど、 libdvbpsi が必要らしいので、インストールする
ことに。これも面倒なので、公式 web page じゃなく、 videolan の web page から
ダウンロードしてきた。
[toyota@gamorr]% cd ../
[toyota@gamorr]% wget http://download.videolan.org/pub/vls/0.5.6/contrib/libdvbpsi3-0.1.4.tar.gz
[toyota@gamorr]% tar xvfz libdvbpsi3-0.1.4.tar.gz
[toyota@gamorr]% cd libdvbpsi3-0.1.4/
[toyota@gamorr]% ./configure
[toyota@gamorr]% make
[toyota@gamorr]% su
[root@gamorr]# make install
[root@gamorr]# exit
インストール完了。 vls のディレクトリに再び戻る。
[toyota@gamorr]% cd ../vls-0.5.6
[toyota@gamorr]% ./configure
[toyota@gamorr]% make
[toyota@gamorr]% su
[root@gamorr]# make install
[root@gamorr]# exit
インストール完了。でも、使い方が良くわからない。 telnet で localhost に
接続して使うやり方はわかったけど、使い勝手がイマイチだし。もう少し、使って
みることにしよう。
12/9
昨日の今日で、
[toyota@sernpidal]% uname -srp
FreeBSD 4.7-RELEASE i386
な環境に vls を入れた。色々あって、必要だったんだけど。さっそく、解凍から。
[toyota@sernpidal]% tar xvfy vls-0.5.6.tar.bz2
[toyota@sernpidal]% cd vls-0.5.6
[toyota@sernpidal]% ./configure
〜省略〜
checking dvdread/dvd_reader.h usability... no
checking dvdread/dvd_reader.h presence... no
checking for dvdread/dvd_reader.h... no
configure: error: The development package for libdvdread is not installed.
Please install it and try again. Alternatively you can also configure with
--disable-dvd.
この辺は、昨日と同じなので、既にダウンロードしてあったものを再利用。
[toyota@sernpidal]% cd ../
[toyota@sernpidal]% tar xvfz libdvdread-0.9.4.tar.gz
[toyota@sernpidal]% cd libdvdread-0.9.4
[toyota@sernpidal]% ./configure
[toyota@sernpidal]% make
〜省略〜
gcc -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -o .libs/ifo_dump ifo_du
mp.o ../dvdread/.libs/libdvdread.so -Wl,--rpath -Wl,/usr/local/lib
../dvdread/.libs/libdvdread.so: undefined reference to `be64toh'
*** Error code 1
っと、昨日とは違うメッセージ。ちょっと調べたら、 be64toh の宣言に問題がある
みたいなので、修正してみた。
[toyota@sernpidal]% vi dvdread/bswap.h
で、起動して、該当部分の変更。
#elif defined(__FreeBSD__) && __FreeBSD_version >= 470000
#include
#define B2N_16(x) x = be16toh(x)
#define B2N_32(x) x = be32toh(x)
#define B2N_64(x) x = be64toh(x)
/* This is a slow but portable implementation, it has multiple evaluation
* problems so beware.
* Old FreeBSD's and Solaris don't have or any other such
* functionality!
*/
#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__)
#define B2N_16(x) ¥
x = ((((x) & 0xff00) >> 8) | ¥
(((x) & 0x00ff) << 8))
#define B2N_32(x) ¥
x = ((((x) & 0xff000000) >> 24) | ¥
(((x) & 0x00ff0000) >> 8) | ¥
(((x) & 0x0000ff00) << 8) | ¥
(((x) & 0x000000ff) << 24))
#define B2N_64(x) ¥
x = ((((x) & 0xff00000000000000) >> 56) | ¥
(((x) & 0x00ff000000000000) >> 40) | ¥
(((x) & 0x0000ff0000000000) >> 24) | ¥
(((x) & 0x000000ff00000000) >> 8) | ¥
(((x) & 0x00000000ff000000) << 8) | ¥
(((x) & 0x0000000000ff0000) << 24) | ¥
(((x) & 0x000000000000ff00) << 40) | ¥
(((x) & 0x00000000000000ff) << 56))
#else
この __FreeBSD_version >= 470000 の部分を、 __FreeBSD_version > 470000 に
変更した。これは、数字を 500000 とかにしても、良い。
[toyota@sernpidal]% make
[toyota@sernpidal]% su
[root@sernpidal]# make install
[root@sernpidal]# exit
問題なく、インストールまで完了した。vls の続き、と言っても、もう1つ
ライブラリが必要だから、また configure で止まると思うけど。
[toyota@sernpidal]% cd ../vls-0.5.6
[toyota@sernpidal]% ./configure
checking dvdread/dvd_reader.h usability... no
checking dvdread/dvd_reader.h presence... no
checking for dvdread/dvd_reader.h... no
configure: error: The development package for libdvdread is not installed.
Please install it and try again. Alternatively you can also configure with
--disable-dvd.
と思ったら、さっきとエラーが一緒。インストールした libdvdread を見てくれて
無いようなので、 configure に /usr/local/include を見るよう、少し追加した。
[toyota@sernpidal]% ./configure CPPFLAGS=-I/usr/local/include
checking dvbpsi/dvbpsi.h usability... no
checking dvbpsi/dvbpsi.h presence... no
checking for dvbpsi/dvbpsi.h... no
configure: error: cannot find libdvbpsi headers
これは予想通り。なので、早速 libdvbpsi のインストール。
[toyota@sernpidal]% cd ../
[toyota@sernpidal]% tar xvfz libdvbpsi3-0.1.4.tar.gz
[toyota@sernpidal]% cd libdvbpsi3-0.1.4
[toyota@sernpidal]% ./configure
[toyota@sernpidal]% make
[toyota@sernpidal]% su
[root@sernpidal]# make install
[root@sernpidal]# exit
問題なくインストール完了。 vls に戻って続ける。
[toyota@sernpidal]% cd ../vls-0.5.6
[toyota@sernpidal]% ./configure CPPFLAGS=-I/usr/local/include
configure は通るようになったので、あとはすんなり行くかな、と思ったのだけど。
[toyota@sernpidal]% make
"/tmp/vls/vls-0.5.6/Makefile", line 9: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 10: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 11: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 29: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 46: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 48: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 64: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 66: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 69: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 71: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 78: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 80: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 85: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 87: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 91: Need an operator
Unknown modifier '%'
Unknown modifier 'b'
Unknown modifier '%'
Unknown modifier 'b'
"/tmp/vls/vls-0.5.6/Makefile", line 132: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 175: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 177: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 204: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 208: Need an operator
"/tmp/vls/vls-0.5.6/Makefile", line 212: Missing dependency operator
"/tmp/vls/vls-0.5.6/Makefile", line 217: Need an operator
make: fatal errors encountered -- cannot continue
あらら。この Makefile の形式を全く認識してくれていない。とりあえず。 gnu make
を入れてみることにする。
[toyota@sernpidal]% cd ../
[toyota@sernpidal]% wget http://ftp.gnu.org/pub/gnu/make/make-3.80.tar.bz2
[toyota@sernpidal]% tar xvfy make-3.80.tar.bz2
[toyota@sernpidal]% cd make-3.80
[toyota@sernpidal]% ./configure --prefix=/usr/local
[toyota@sernpidal]% make
[toyota@sernpidal]% su
[root@sernpidal]# make install
[root@sernpidal]# exit
gnu make インストール完了。これは /usr/local/bin に入ったので、これを使う
ときは、明示的に /usr/local/bin/make と指定してあげる。
[toyota@sernpidal]% cd ../vls-0.5.6
[toyota@sernpidal]% /usr/local/bin/make
〜省略〜
Compiling src/mpeg/streamdescr.cpp...
g++ -Wall -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DCONFIG_PATH='"/usr/local/etc/vi
deolan/vls"' -DBUGGY_VLC -DYY_NO_UNPUT -DSYSLOG -o obj/mpeg/streamdescr.o -c sr
c/mpeg/streamdescr.cpp
src/mpeg/streamdescr.cpp:42: dvbpsi/dvbpsi.h: No such file or directory
src/mpeg/streamdescr.cpp:43: dvbpsi/descriptor.h: No such file or directory
src/mpeg/streamdescr.cpp:44: dvbpsi/pat.h: No such file or directory
src/mpeg/streamdescr.cpp:45: dvbpsi/pmt.h: No such file or directory
src/mpeg/streamdescr.cpp:46: dvbpsi/dr.h: No such file or directory
make: *** [obj/mpeg/streamdescr.o] Error 1
さっきより進んだ。しかし、やっぱり止まってしまったみたい。CCFLAGS option を
追加してあげることにした。 Makefile を修正すれば良かったのだけど、他にも
影響しているかもしれないので、 configure のときに指定して、やり直した。
[toyota@sernpidal]% ./configure CPPFLAGS=-I/usr/local/include CCFLAGS=-I/usr/local/include
[toyota@sernpidal]% /usr/local/bin/make clean
[toyota@sernpidal]% /usr/local/bin/make
〜省略〜
Linking vls...
g++ -D_REENTRANT -rdynamic -o bin/vls obj/core/application.o obj/core/exception
.o obj/core/file.o obj/core/lexer.o obj/core/log.o obj/core/parsers.o obj/core/r
eflect.o obj/core/serialization.o obj/core/settings.o obj/core/socket.o obj/core
/string.o obj/core/system.o obj/core/thread.o obj/core/module.o obj/core/iso_lan
g.o obj/server/buffer.o obj/server/directory.o obj/server/input.o obj/server/out
put.o obj/server/channel.o obj/server/request.o obj/server/admin.o obj/server/br
oadcast.o obj/server/manager.o obj/server/program.o obj/server/telnet.o obj/serv
er/nativeadmin.o obj/server/tsstreamer.o obj/server/vls.o obj/server/daemon.o ob
j/mpeg/ts.o obj/mpeg/rtp.o obj/mpeg/streamdescr.o obj/mpeg/reader.o obj/mpeg/con
verter.o obj/mpeg/dvbpsi.o obj/mpeg/tsdemux.o obj/mpeg/tsmux.o obj/extras/getopt
.o obj/extras/getopt1.o obj/filechannel.a obj/netchannel.a obj/filereader.a obj/
ts2ts.a obj/ps2ts.a obj/localinput.a obj/videoinput.a -lcrypt -lc_r -ldvbpsi $FI
LECHANNEL_LIB $NETCHANNEL_LIB $FILEREADER_LIB $TS2TS_LIB $PS2TS_LIB $LOCALINPUT_
LIB $VIDEOINPUT_LIB
/usr/libexec/elf/ld: cannot find -ldvbpsi
make: *** [vls] Error 1
惜しい。最後の一踏ん張り、だったのに。さらに LCFLAGS も追加。
[toyota@sernpidal]% ./configure CPPFLAGS=-I/usr/local/include CCFLAGS=-I/usr/local/include
LCFLAGS=-L/usr/local/lib
[toyota@sernpidal]% /usr/local/bin/make clean
[toyota@sernpidal]% /usr/local/bin/make
warning メッセージがかなり出た気がしたけど、なんとか出来上がったみたい。
インストール。
[toyota@sernpidal]% su
[root@sernpidal]# /usr/local/bin/make install
[root@sernpidal]# exit
とりあえず、完了。で、使い方、cfg ファイルを設定して vls を起動し、telnet
から接続してstart コマンドを指定したら、動いた、かなり面倒。もう少し楽な
やり方はないのかなぁ…。
12/10
IE と Netscape/Mozilla で、タグの color 設定が違うのを発見した。異なる
色になるのは lightgray で、IE の場合は #0000A0 になり、 Netscape/Mozilla の
場合は #D3D3D3 になった。普段、 IE なんか使わないから IE で自分のページを
見たときに驚いてしまった。
で、少し面白い仕掛けを考えた。ブラウザ簡易判別。
私のブラウザは IE です | 私のブラウザは NN/Mozilla です |
Opera はどうなんだろうなぁ…。あまり使わないから、消しちゃった。
12/11
Opela Piccolo の分解をしてみた。密かに車に積もうかとも思ったのだけど、よく
考えたら、車に乗る時間って週に数時間ってことがわかって、やめることにした。
じゃ、原付に付け…、いや、やめておこう。
12/12
どうも google はこのページのキャッシュを http://www.tatsuyoshi.net/toyota/tech
としても持っているようで、そのキャッシュを見ると、おかしな状況になることが
わかった。例えば、そのページに 20041020/index.html なんてリンク先があると、
http://www.tatsuyoshi.net/toyota/tech/20041020/index.html
じゃなくて、
http://www.tatsuyoshi.net/toyota/20041020/index.html
を見に行ってしまう。対策できないかと少し考えたのだけど、全てのリンクを
絶対パスで書いてしまうと、移動したときに書き直しが面倒になるし、うまい
解決方法が思い浮かばなかった。Google でなんとかしてくれないかなぁ…。
→→→
12/13
今日の午後辺りから、 tatsuyoshi.net 以下にアクセスできない状態であった。家に
帰って気がついたのだけど、原因がよくわからない。あいにく NOTE PC を修理に
出してしまったので、 AirH" で外部から接続ができないし。で、どうやら原因は
DNS にあるようで、 zoneedit をのぞいて見たら、以下の文があった。
http://www.zoneedit.com/status.html
Network Status
Last Update Time: 12/12/04 03:36 pm EST
We are currently experiencing a distributed denial of service
attacke (DDOS) on two of our nameservers, ns14.zoneedit.com
and ns19.zoneedit.com. We are working with our ISP's to get
these servers returned to full operation as quickly as possible. We
appreciate your patience as we work to restore service for these
servers.
If you depend on reliable DNS service, we recommend logging
into your account, clicking on "Nameservers" and purchasing a
"tertiary" nameserver. 3 nameservers are exponentially more
reliable than 2 nameservers.
だそうだ。原因が私の範疇なら、作業することで少しは気を紛らわすことができる
のだけど、ただ直るのを待つ、というのは体に悪い。
12/14
色々とメールアドレスがあると、色々な From を付けたメールを送る必要があるの
だけど、そのメールアドレスごとにメーラのアカウントを作成するのも面倒なので、
うまく From を変更できるメールソフトを探しているのだけど、なかなか見つから
ない。できれば、 X-Mailer 変更できたり、 Messege-ID に余計なドメインが
つかないものが良いのだけど、どこかにそんなメーラないかなぁ…。
12/15
DNS に不具合があった 13日の通信ログを見ていたのだけど、 web のアクセスは
検索ロボットと不正アクセス、 smtp のアクセスは不正アクセスがほとんどだった。
良く考えると、不正アクセスは dns から引いてくるのではなく、IP ベースで
来るので、こんな結果になったのだな、と思った。なんか、この辺りで、うまくて
面白く動作するものが作れないかなぁ…。
12/16
とあるプログラムを cygwin に移植、というか cygwin でも動くようにしているの
だけど、cygwin に cfmakeraw 関数がないので、コンパイルにエラーがでた。この
cfmakeraw は何をやっているか良くわからないけど termio 関係のものらしい。
手元のマシンで、手持ちのソフトが cfmakeraw を使っているか調べてみたら、
ntp が使っているようであった。 ntp 4.1.1a のソースでは見つかったけど、4.2.0
では使っていない様子。その 4.1.1a のソースを見てみた。
#ifdef HAVE_CFMAKERAW
cfmakeraw(&termios);
#else
termios.c_iflag &= ‾(IMAXBEL | IXOFF | INPCK | BRKINT | PARMRK |
ISTRIP | INLCR | IGNCR | ICRNL | IXON | IGNPAR);
termios.c_iflag |= IGNBRK;
termios.c_oflag &= ‾OPOST;
termios.c_lflag &= ‾(ECHO | ECHOE | ECHOK | ECHONL | ICANON | ISIG |
IEXTEN | NOFLSH | TOSTOP | PENDIN);
termios.c_cflag &= ‾(CSIZE | PARENB);
termios.c_cflag |= CS8 | CREAD;
termios.c_cc[VMIN] = 1;
#endif
こんな感じ。ふ〜ん、という感じで、そのままプログラムに組み込んでみて、
コンパイルしてみた。が、 cygwin では PENDIN が定義されていないみたいで、
エラーが起きた。 Linux でちょっと調べてみた。
[toyota@gamorr]1% grep -r PENDIN /usr/include/* | grep -v PENDING
/usr/include/asm/termbits.h:#define PENDIN 0040000
/usr/include/bits/termios.h:# define PENDIN 0040000
/usr/include/rpcsvc/rex.h:#define PENDIN 0x20000000
/usr/include/rpcsvc/rex.h:#define LPENDIN 0x2000
/usr/include/rpcsvc/rex.x:const PENDIN = 0x20000000; /* tp->t_rawq needs reread */
/usr/include/rpcsvc/rex.x:const LPENDIN = 0x2000; /* needs reread */
だそうで。多分、 0040000 だろうと、上記のコードに PENDIN を define して
コンパイルしてみた。無事通った。この PENDIN が少し気になって、 Linux の
man コマンドで chmakeraw を引いてみたら、そのままコードが載っていた。
cfmakeraw は端末の属性を以下に示す通りに設定する:
termios_p->c_iflag &= ‾(IGNBRK|BRKINT|PARMRK|ISTRIP
|INLCR|IGNCR|ICRNL|IXON);
termios_p->c_oflag &= ‾OPOST;
termios_p->c_lflag &= ‾(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
termios_p->c_cflag &= ‾(CSIZE|PARENB);
termios_p->c_cflag |= CS8;
しかし、返り値の説明がないなぁ。気にしないで、上記のコードを追加して、結局、
以下の形にした。
#ifdef HAVE_CFMAKERAW
cfmakeraw(&termios);
#else
termios_p->c_iflag &= ‾(IGNBRK|BRKINT|PARMRK|ISTRIP
|INLCR|IGNCR|ICRNL|IXON);
termios_p->c_oflag &= ‾OPOST;
termios_p->c_lflag &= ‾(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
termios_p->c_cflag &= ‾(CSIZE|PARENB);
termios_p->c_cflag |= CS8;
#endif
モノは問題なく動いたので、これで良いことにしよう。
12/17
ここ数日、 Windows XP sp2 を触っているのだけど、 anti virus ソフトを入れないと
「危険にさらされてます」って起動時に毎回出る。なんだか、違うぞって気がして
ならない。それだったら、最初から「anti virus ソフトを入れないで使うと危険な
製品です」と書くべきだろう。
12/18
NAS 製品をまとめたいと思っているのだけど、どうやってまとめようか悩み中。
とりあえず、 HDD 無しだけを羅列してみた。
12/19
こんなメールが来た。
Return-Path: <nobody@fox01.fox01>
X-Original-To: toyota@tatsuyoshi.net
Delivered-To: toyota@tatsuyoshi.net
Received: from fox01 (unknown [218.25.172.84])
by kamino.tatsuyoshi.net (Postfix) with ESMTP id A832B74004
for <toyota@tatsuyoshi.net>; Sun, 19 Dec 2004 02:46:44 +0900 (JST)
Received: by fox01 (Postfix, from userid 99)
id CCB126A8FA3; Sat, 18 Dec 2004 20:51:38 +0900 (JST)
To: toyota@tatsuyoshi.net
Subject: メールアドレス変えました
From: queens_court_1212@yahoo.co.jp
Errors-To: queens_court_1212@yahoo.co.jp
Message-Id: <20041218115138.CCB126A8FA3@fox01>
Date: Sat, 18 Dec 2004 20:51:38 +0900 (JST)
覚えてる?さて…誰でしょう?
写真アップしておきました。確認してね?
http://www.zl8.jp/‾grape/?id=dG95b3RhQHRhdHN1eW9zaGkubmV0
メールが来て5分後に、 218.25.172.84 にポートスキャンをしてみた。
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp closed domain
80/tcp open www
110/tcp closed pop3
113/tcp closed auth
123/tcp closed ntp
443/tcp open https
こんな感じ。 smtp は postfix で、 Open Relay はしてないみたい。はて、これは
ヤラレちゃったサーバなのか、それともとりあえず Linux をインストールした
サーバなんだろうか…。それにしても、最近の spam は、スパムフィルタに濾過
されないように、必死なんだなぁ。
12/20
C のプログラムを書いていて、エスケープシーケンスが必要になったから、ちょっと
調べていたら、なんだか昔、 dos の prompt をエスケープシーケンスで凝って書いた
なぁ、なんて思い出した。で、思わず printf とエスケープシーケンスで、
printf("¥033[37m);
みたいな感じで、遊んでみたのだけど、どうやっても21世紀のプログラムとは
思えないものが出来た。というわけで、 html と font タグを使って、代用する
ことにして、21世紀のものとは思えないものは、お蔵入りにした。
12/21
外付けハードディスクを調べていたら、「ケンジントンスロット」付き、と書いて
あって、このケンジントンスロットとは何か、と思って調べてみた。簡単に言うと、
盗難防止用のワイヤーを取り付ける穴のことらしい。で、盗難防止の製品を作って
いる Kensington 社の名前を使っていて、この Kensington 社のページには、
製品の紹介とかと一緒に、この穴の規格もちゃんと載っていた。いやいや、
まだまだ世の中には知らないことがいっぱいだなぁ…。
12/22
すみません、旅行に出かけるため、26日まで更新はありません。
12/27
というわけで、休み明けのコーディング。もう、駄目駄目。無駄そうな分岐を
うまく適化できないし、3項演算子の書き方忘れてるし、 str 系の関数も、
調べながら書いたりしてるし。何よりも集中力が持たない。困ったもんだ。
12/28
とあるプログラムの Solaris8(sparc) 移植。元々は Linux で動いていて、
FreeBSD でも動くようにしたのだけど、それよりも Solaris で動くようにする方が
大変だった。 include する順番がすごい厳しいし。例えば、
#include <netinet/ip.h>
の部分は、
/usr/include/netinet/ip.h:130: parse error before "n_long"
/usr/include/netinet/ip.h:133: parse error before "n_long"
/usr/include/netinet/ip.h:135: parse error before '}' token
/usr/include/netinet/ip.h:136: parse error before '}' token
こんな感じでエラーになった。で、これは
#ifdef SOLARIS
#include <stropts.h>
#include <sys/conf.h>
#include <netinet/in_systm.h>
#else
#include <netinet/ip.h>
#endif
に書き換えたりして。同じように netinet/ip_icmp.h も
/usr/include/netinet/ip_icmp.h:65: parse error before "n_short"
/usr/include/netinet/ip_icmp.h:72: parse error before "n_short"
/usr/include/netinet/ip_icmp.h:79: parse error before "n_short"
/usr/include/netinet/ip_icmp.h:81: parse error before '}' token
/usr/include/netinet/ip_icmp.h:91: parse error before "n_time"
/usr/include/netinet/ip_icmp.h:93: parse error before "its_ttime"
/usr/include/netinet/ip_icmp.h:101: parse error before '}' token
/usr/include/netinet/ip_icmp.h:108: parse error before '}' token
だったので、
#ifdef SOLARIS
#include <stropts.h>
#include <sys/conf.h>
#include <netinet/in_systm.h>
#else
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
#endif
にした。まだまだ動くまでには時間がかかりそう。
12/29
ニコンのフォトストレージビューア COOLWALKER MSV-01 が、 Linux で動いて
いるのか、というのが気になって、ファームを見てみたら、 VxWorks のようで、
少しがっかりしたり。で、中を見てみたら、
E:/vista2prj/Nikon_prj/Nikon_prj_src/Prj_Rahab-ver1.06.01.040601/fs/dosFsFat.c
なんて、開発環境がわかるような感じで見えるし、 strings の結果に grep で
Copyright を拾ってみたら、
Copyright 2001- Texas Instruments, Inc.
Copyright 1984-1996 Wind River Systems, Inc.
Nixvue Systems Pte Ltd Copyright(C) 2003 All Rights Reserved.
COPYRIGHT (C) 1990-1999. All Rights Reserved. Zinc Software Incorporated.
が出てきた。製品自体はどこかの OEM なのかなぁ…。
12/30
部屋の片付けしてたら、色々なものが出てきたのだけど、古いルーターも何台か
出てきて、どうしようかな、といった具合。ハブとして使っても良いのだけど、
4ポートとかじゃ中途半端だし、オークションで売るにしても安くて手間の方が
かかるだろうし。ここ数年で BB ルータは価格がもの凄く性能が上がって安く
なったから、うれしい反面、ゴミが増える原因にもなったのか、と思ってしまった。
12/31
今年も1年ありがとうございました。
|