不定期日記

J2千葉観戦記, ライブの感想を中心とした備忘録


2003-05-03 (Sat) [長年日記]

_ [DTM] General MIDI Lite

ZDNet, ASCII24の記事。えらく昔の記事だけど、General MIDI の軽量版で、携帯・PHSをターゲットにしているらしい。でも、今まで知らなかったということは、結局まだ世の中これを採用する方向には進んでいないのでしょう。


2003-05-06 (Tue) [長年日記]

_ [Computer] Solaris7(Sparc) にて 24bit カラーの表示

どうしても設定方法が分からなかった為、直接ファイルを書き換えてしまいました。期待した通りに動いているので、そのまま使用しています。

--- /usr/dt/config/Xservers.orig    Thu May 18 18:09:03 2000
+++ /usr/dt/config/Xservers     Thu May 18 13:39:24 2000
@@ -102,5 +102,5 @@
 ################################################################################

- :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner + :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner -dev /dev/fb defdepth 24

_ [FreeBSD] FreeBSD に RedHat 用パッケージを依存関係を無視してインストール

cpio のマニュアルをきちんと読んだわけではないので、オプション指定は最低限のもののみです。DISTDIR, PKGNAME は適当に指定して下さい。

> cd /compat/linux && rpm2cpio ${DISTDIR}/${PKGNAME}.rpm | cpio -di

2003-05-07 (Wed) [長年日記]

_ [FreeBSD] OpenSSLの利用

FreeBSD 4-STABLE にて OpenSSLを用いてApache, qpopperおよびstoneの通信を暗号化するための手順です。

  1. 証明書の作成
  2. apache+modssl
  3. qpopper4
  4. stone

_ 証明書の作成

これは自分でCAを運用して自己署名をする場合の手順です。日本ベリサインなどのCAに署名してもらう場合は、CAに関する操作はCSRの作成だけです。

root@hostname> cp /usr/src/crypto/openssl/apps/CA.sh /etc/ssl/
root@hostname> cd /etc/ssl
root@hostname> chmod u+x CA.sh
root@hostname> ./CA.sh -newca	: CAの秘密鍵と自己署名された証明書を作成
CA certificate filename (or enter to create)
Making CA certificate ... Using configuration from /etc/ssl/openssl.cnf Generating a 1024 bit RSA private key .............................++++++ ............++++++ writing new private key to './demoCA/private/./cakey.pem' Enter PEM pass phrase:Password Verifying password - Enter PEM pass phrase:Password again ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JA State or Province Name (full name) [Some-State]:Tokyo-to Locality Name (eg, city) []:Bunkyo-ku Organization Name (eg, company) [Internet Widgits Pty Ltd]:University of Tokyo
Organizational Unit Name (eg, section) []:School of Engineering Common Name (eg, YOUR name) []:hostname.example.com Email Address []:XXXX@example.com root@hostname> ./CA.sh -newreq : ユーザの秘密鍵と公開鍵を作成し, CSRを作成 Using configuration from /etc/ssl/openssl.cnf Generating a 1024 bit RSA private key ......++++++ ....++++++ writing new private key to 'newreq.pem' Enter PEM pass phrase:Password
Verifying password - Enter PEM pass phrase:Password again ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JA State or Province Name (full name) [Some-State]:Tokyo-to Locality Name (eg, city) []:Bunkyo-ku Organization Name (eg, company) [Internet Widgits Pty Ltd]:University of Tokyo Organizational Unit Name (eg, section) []:School of Engineering
Common Name (eg, YOUR name) []:hostname.example.com Email Address []:XXXX@example.com
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Request (and private key) is in newreq.pem root@hostname> ./CA.sh -sign : CAの秘密鍵を用いてCSRに署名し証明書発行 Using configuration from /etc/ssl/openssl.cnf Enter PEM pass phrase:Password of CA
Check that the request matches the signature Signature ok The Subjects Distinguished Name is as follows countryName :PRINTABLE:'JA' stateOrProvinceName :PRINTABLE:'Tokyo-to' localityName :PRINTABLE:'Bunkyo-ku' organizationName :PRINTABLE:'University of Tokyo' organizationalUnitName:PRINTABLE:'School of Engineering' commonName :PRINTABLE:'hostname.example.com' emailAddress :IA5STRING:'XXXX@example.com' Certificate is to be certified until Jun 16 04:50:38 2002 GMT (365 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=JA, ST=Tokyo-to, L=Bunkyo-ku, O=University of Tokyo, OU=School of Engineering, CN=hostname.example.com/Email=XXXX@example.com Validity Not Before: Jun 16 04:50:38 2001 GMT Not After : Jun 16 04:50:38 2002 GMT Subject: C=JA, ST=Tokyo-to, L=Bunkyo-ku, O=University of Tokyo, OU=School of Engineering, CN=hostname.example.com/Email=XXXX@example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a9:b6:c5:6c:15:4e:6f:5e:b6:a5:ab:6e:01:2f: --cut some line-- 03:45:2a:56:af:8a:33:b7:87:6b:ff:de:05:52:26: 6c:ba:a6:e8:08:1c:31:b4:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 21:61:08:37:01:31:11:7B:69:F2:C3:83:A5:76:31:A7:C1:60:18:61 X509v3 Authority Key Identifier: keyid:51:17:D5:64:98:D1:0F:90:FE:5F:3B:64:35:17:8B:F4:72:07:3B:1E DirName:/C=JA/ST=Tokyo-to/L=Bunkyo-ku/O=University of Tokyo/OU=School of Engineering/CN=hostname.example.com/Email=XXXX@example.com serial:00
Signature Algorithm: md5WithRSAEncryption 52:8b:99:a5:02:e8:fd:e0:7d:41:a0:a7:58:85:6d:63:5b:75: --cut some line-- cf:e7:72:8e:1b:54:c9:1f:2e:b0:5e:96:87:6e:fc:22:52:04: 13:7f -----BEGIN CERTIFICATE----- MIIEUDCCA7mgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCSkEx --cut some line-- LWp1VJRpRK11nGGgaalPzTq1C4b7sTnIwBuiuk+nxEvP53KOG1TJHy6wXpaHbvwi UgQTfw== -----END CERTIFICATE----- Signed certificate is in newcert.pem root@hostname> openssl rsa -in newreq.pem -out newpriv.pem : ユーザの秘密鍵からパスワードを除去 read RSA key Enter PEM pass phrase: writing RSA key
root@hostname> cat newcert.pem newpriv.pem > newcertforqpop.pem : CAにより署名された証明書とユーザの秘密鍵を一つのファイルにまとめる : (Qpopper 用, stone(SSL対応パケットリピーター)の場合も同様)

_ apache+modssl

/usr/local/etc/apache/httpd.conf に以下の行を追加

SSLCertificateFile /etc/ssl/newcert.pem
SSLCertificateKeyFile /etc/ssl/newpriv.pem

_ qpopper4

下記内容で/usr/local/etc/qpopper/qpopper.config を作成

set clear-text-password    = ssl
set config-file            = /usr/local/etc/qpopper/qpopper.config
set tls-support            = alternate-port
set tls-version            = default
set tls-server-cert-file   = /etc/ssl/newcertforqpop.pem

/etc/inetd.confに以下の行を追加

pop3s stream tcp nowait/15/30 root /usr/local/libexec/qpopper qpopper -s -f /usr/local/etc/qpopper/qpopper.config

_ stone (パケットリピーター)

root@hostname> cp newcertforqpop.pem ${openssl_certsdir}/stone.pem

${openssl_certsdir} は、 /usr/local/openssl/certs や /etc/ssl/certs など。

例えばimapdをSSL化する場合は、以下のように実行する

root@hostname> stone -l localhost:imap imaps/ssl &

_ 参考文献


2003-05-08 (Thu) [長年日記]

_ [Computer][ruby][windows] COMコンポーネント利用の例

WindowsのCOMコンポーネントを利用するためのサンプルプログラムを作りました。どれも動作は同じです。

_ VisualWorks 5i.2

$(VISUALWORKS)\com\COM-ALL.pcl を Parcel in する必要があります。

VBScript と全く同じ流れです。

example1
	"Open Excel Window"
| controller workbook worksheet | controller := COMAutomationApplicationController on: (COMAutomationApplicationController dispatchDriverClass createObject: (GUID clsidFromProgID: 'Excel.Application')). controller isVisible: true. workbook := (controller getProperty: 'Workbooks') getProperty: 'Add'. worksheet := workbook getProperty: 'Worksheets' with: 1. worksheet setProperty: 'Range' withArguments: (Array with: 'A1:D1' with: (Array with: 'North' with: 'South' with: 'East' with: 'West')). ^controller

Excel用のクラスが用意されていたのでそれを利用しました。

example2
	"Open Excel Window"
| controller worksheet | controller := Examples.Excel97ApplicationController new. controller isVisible: true. controller addWorkbook. worksheet := controller worksheets at: 1. worksheet setRange: 'A1:D1' to: (Array with: 'North' with: 'South' with: 'East' with: 'West'). ^controller

_ VBScript

拡張子を .vbs にして保存し、ダブルクリックすると実行できます。

Option Explicit
Dim excel, workbook, worksheet
Set excel = WScript.CreateObject("Excel.Application")
excel.Visible = True
Set workbook = excel.Workbooks.Add()
Set worksheet = workbook.Worksheets(1)
worksheet.Range("A1:D1").value = Array("North", "South", "East", "West")

_ ActiveScriptRuby

参考: COM Meets Ruby, Win32OLE製作過程の雑記

require 'win32ole'
excel = WIN32OLE.new('Excel.Application') excel.visible = TRUE workbook = excel.Workbooks.Add(); worksheet = workbook.Worksheets(1); worksheet.Range('A1:D1').value = ['North', 'South', 'East', 'West'];

2003-05-09 (Fri) [長年日記]

_ [Web] ブラウザによる、出力するリクエストヘッダの違い

WebブラウザがHTTPリクエストを行う際に出力するリクエストヘッダを観察してみました。

_ Mozilla-0.9.8 の場合

GET / HTTP/1.1
Host: www.hogehoge.com
User-Agent: Mozilla/5.0 (Windows U; Windows NT 5.0; en-US; rv:0.9.8) Gecko/20020204
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1
Accept-Language: ja, en-us;q=0.50
Accept-Encoding: gzip, deflate, compress;q=0.9
Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66
Keep-Alive: 300
Connection: keep-alive

_ IE5.5sp2

GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; T312461)
Host: www.hogehoge.com
Connection: Keep-Alive

_ w3m-0.2.3.2

GET / HTTP/1.0
User-Agent: w3m/0.2.2
Accept: text/*, image/*, audio/*, video/*, application/*
Accept-Encoding: gzip, compress, bzip, bzip2, deflate
Accept-Language: ja; q=1.0, en; q=0.5
Host: www.hogehoge.com

2003-05-10 (Sat) [長年日記]

_ [Internet] Windows で POP3 over SSL の利用

POP3 over SSLに対応していないメールソフトで、POP3 over SSL経由でメールを読む方法です。

_ 1. メール受信を行うための準備

コマンドラインでもGUIを利用してもどちらでも良いので、stoneを実行します。この時、popserver.domain の部分を環境にあわせて置き換えます。

_ コマンドラインから

stone をダウンロードする。

以下のコマンドを実行

C:\Stone>stone popserver.domain:995/ssl localhost:110

_ GUIの利用

wstone.png オレンジソフトのwstoneをインストールし、図のように設定して Startボタンを押す。

_ 2. メールソフトの設定

POPサーバ, 受信サーバ, Incoming Mail Serverなどの設定を、 "localhost" とする。

_ 参考


2003-05-11 (Sun) [長年日記]

_ FTPのPORTコマンド、PASVモードについての備忘録

FTPのPORTコマンドやPASVモードについてです。


通常、インターネット上のサービスを利用する場合には、クライアント側(自分のパソコン)からサーバー側(Webサーバー、FTPサーバーなど)へという方向で接続するということがほとんどです。

しかし、FTPの場合はちょっと違います。まず、コマンドのやりとりをする接続と、データのやりとりをする接続の2種類の接続を使います。

ここで、コマンドのやりとりをする接続の方は、クライアント側からサーバー側へという方向で接続されますが、データのやりとりをする接続は、サーバー側からクライアント側へという方向で行われます。

そのままでは、クライアント側のどこに接続していいのかサーバーには分からないので、それを教えてあげるのが、 PORT コマンドです。PORT コマンドを実行したあとは、実際にサーバー側から、クライアント側のPORTコマンドで指定された場所に接続して、ファイルの転送が行われます。

しかし、間にファイアウォールが入っていて、実際にはPORTコマンドで指定された場所にサーバー側から接続できないことがあります。その場合、200 PORT command successfulと表示したあと、実際のファイル転送ができずに、止まってしまうわけです。

ここで出てくるのが、PASVモードです。PASVモードというのは、サーバー側からクライアント側に接続できないのなら、クライアント側からサーバー側という方向で接続するようにすればいいじゃん、というモードです。このモードにすれば、サーバーからクライアントへ接続する必要が無くなるので、ファイアウォールがあっても大丈夫なわけです。

したがって、 200 PORT command successful でとまってしまうような環境の場合には、PASVモードを使用することでファイルの転送を行うことができるようになります。


2003-05-14 (Wed) [長年日記]

_ 絶対音感

あるといいと思うのは、絶対音感よりは、複数の音を同時に鳴らされた時、個々の音程に分解する能力。世の中の様々な音を音階として読みとる力って結局こっちの方が重要だと思うし、着メロを作るために耳コピするようなときに役に立つのもこの能力。

自分は、数ヘルツの差を気持ちが悪いと思う人間だし(昔ピアノを習っていた頃、発表会本番で弾きはじめたのはいいけれど、「なにか音がおかしい。間違えたか?」って思って弾くのをやめてしまった経験あり)、ドレミファソではなくソラシドレと聞こえるけど、それが絶対音感なのか、基準の音を記憶していてそこから相対的に判断しているだけなのかは分からない。

それで結局、最初に書いたような能力については持ち合わせていないため、そういう状況では楽器が頼り。これはきっと10年以上前に訓練するのをやめてしまったからだと思うし、訓練で身に付く能力でもあると思う。

蛇足だけど音痴か音痴じゃないかについては、アカペラでなければオケの音程と自分の声の音程の相対的な関係をいかに制御するかだから、絶対音感は全く関係無いでしょう。

_ ということでRefererを飛ばしてみるテスト;-)


2003-05-15 (Thu) [長年日記]

_ ソフトの悪用は開発者の責任か?

違法に使われる可能性があるからP2Pネットワークをすべて禁止にしてしまおうって話でしょうか。無茶苦茶な話だ。 著作権侵害はそりゃ悪いけど、だからといってそれ以外のこともすべて禁止すればいいって話ではないでしょう。

ファイル交換ソフトを禁止すること自体は、使ったこともないから痛くも痒くもない話だけど、その影響が非常に怖い。


2003-05-16 (Fri) [長年日記]

_ 東アジアサッカー選手権延期

そこまでやれば問題ないと思うんだけど。ここまでやってもだめっていう人がいるぐらいだから、ナイジェリアが来ないのは、ある意味当然。遠くにいる分、不安感は比べものにならないほど大きいはずだから。

_ Feel6 Farm

こんなのあるの知らなかった。IPv6の実証実験サービス。これで、一度太平洋を往復してから日本国内のサーバを見に行くなんてあほなことをやらなくてよくなる。

いまは、Freenet6を使ってるけど、あまりに遅いものだからsshする時、毎回 "-4" オプションをつけてIPv4接続にしてます。

_ [PC] ザウルス SL-C760

以前から噂はあったけど、やっと出ました。PC Watchによると価格は7万円だから、C700から+1万円。C760を買うべきか安くなったC700を買うべきか、はたまたさらに安いB500にするべきか。でもB500でガリガリプログラム書くのは、さすがにつらい気がする。安くなるはずのC700+オプションの大容量バッテリって手もあるか。使えるのかどうか知らないけど。

ついでにZDNetの記事も。


2003-05-17 (Sat) [長年日記]

_ [JEF] JEF市原 vs 鹿島アントラーズ

初アウェイに行ってきました。カシマスタジアム、でかいです。入場者数が1万9千人を超えたのに、メインスタンドには人がまばらで、2階席にはほとんど人がいないという状態でした。そんな状態なのに、鹿島ゴール裏だけは、ほぼ満席。それがみな計ったように同じ動きをする。結構異様な光景でした。

また、蘇我スタジアムにオーロラビジョンをつけて欲しいという話がありましたが、今日のような使い方なら必要ないと思いました。試合を中継していたけどそんなもの見るわけも無いし、リプレイなんて見ている暇はないし、唯一ゆっくり見ることのできるハーフタイムには、スポンサーのCMを流しているし。あとは選手紹介の時に映像を流していたぐらいだけど、正直そんなのはどうでもいいです。

_ 試合のほうは、前半はまるでやる気がなさそうな感じでした。阿部は完全に小笠原につきっきりで、それ以外の場所には行かないし、斉藤やら勇人やらがボールを持っても羽生やサンドロは逆サイドで歩いていたりしてボールの出し所がなく、後に戻すしか無いというような状況が続いていました。逆に鹿島は簡単にボールを回して、エウレルや柳沢がゴール前で突破を仕掛けるという流れを作ることができていました。

しかし、前半途中から、多少は積極性が出てきており、点が入るちょっと前にはほぼ互角にやりあうことができるようになっていました。点が入った後は見違えるように動きがよくなり、2点目は完全に崩すことのできた点だと思います。後半もいい動きは続いており、崩しかける場面も何度かありました。ナビスコのセレッソ戦からですが、今年のJEFは見ていてあまりの面白さに思わずにやけてしまうことがよくあります。今日の後半もそうでした。

でも、さすがに相手は鹿島で、決定機の数では負けていたと思います。結局今日の勝因は、途中から全体の動きが良くなったのはもちろんですが、それに加えて櫛野の好セーブ、鹿島の決定力不足、あとは運でしょう。

またあとから考えると、前半途中までほとんど動き出しがなかったのは、体力を温存していたのかと思えなくもありませんが、実際のところどうなのかはわかりません。


2003-05-18 (Sun) [長年日記]

_ [Internet] Feel6 Farm

dtcpclientって自分自身のIPv6アドレスは設定してくれないらしい。また、特にroute設定しなくてもルーティングしてくれるらしい(ここらへん、多分何か誤解があると思うんだけど)。で、これによると要は、dtcpclientを動かしてしまえば、あとは手で自分自身のIPv6アドレスを設定さえすればOKっていうことみたい。

ということで一応は設定完了。


2003-05-21 (Wed) [長年日記]

_ [Internet] bsfilter - bayesian spam filter

本文に含まれている単語の傾向からSPAMかそうでないかを判別するフィルタらしい。届くメールの99%は読んでないメーリングリストとSPAMなメールアドレスがあって、そこではprocmailを使うことが可能なので適用してみる予定。


2003-05-28 (Wed) [長年日記]

_ [Web] mail2web

同じようなことを考える人は、(当たり前だけど)いるもんだ。でも、APOPは使えないみたい。勝った(謎)。POP3 over SSL は使える。IMAP4もいけるそうな(これは負けた(再び謎))。

っていうか、日本語のメールがまともに読めないじゃないか。ということで使い物にはならない模様。

_ [Web] inetdbsfilter

inetdのアカウントを買ってしまいました。ここに bsfilter を仕込めるのかどうかテストしてみました。sshでログインできるマシンにはprocmailがインストールされておらず、ホームディレクトリに置いたbsfilterの実行ファイル(Rubyスクリプト)を読んでくれるのかわからなかったのですが、

“.forwardや.procmailrcはホームディレクトリにあるやつを読んでくれるのだから、メールサーバーでもホームディレクトリはマウントしているはず。したがってメールサーバーにRubyさえインストールされていれば、何も問題なくbsfilterは動くはず”

という仮説を立てて実験してみました。結果は予想通りで、コマンドとして$HOME/bin/bsfilterを指定してやればOKでした。というわけで何も問題なし。本格的にinetdを使うことにします。


2003-05-30 (Fri) [長年日記]

_ [Program] Perlによる複数ファイルの一括置換

Perlを用いて複数のファイル中に含まれる同じ記述を、別のものに一括で置換する方法です。

例えば、メールアドレスを変更したとき、WebページのすべてのHTMLファイルに書かれているメールアドレスを新しいものに置換する場合、

perl -i -pe 's,aaa\@old.com,bbb\@new.com,' *.html

のようにします。

ここで、perlに与えたオプションは、それぞれ概ね次のようになります。詳しくはマニュアル perl(1)を読んでください。

-e : コマンドラインに直接スクリプトを書きます。この例では、's,aaa\@old.com,bbb\@new.com,' というスクリプトを実行しています。
-p : 標準入力、もしくは指定したファイル名のファイルから、<>演算子を用いて入力を行い、これに対して繰り返しスクリプトを実行し、結果を標準出力に出力します。
-i : <>演算子で与えられたファイルを直接書き換えて修正します。 '-i.bak' のように拡張子を与えると、与えた拡張子をつけたバックアップファイルを作成します。

2001|01|07|08|09|10|11|12|
2002|01|02|03|
2003|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|08|09|10|11|12|
2017|03|05|06|09|11|12|
2018|05|08|10|11|
2020|07|