Mimori's Algorithms Diary

Last Modified : 03/04 18:19
Access :
tds mode : [static,site,cache:on]

2003/02/01 (Sat)

#1 テレビ50年

たまたま三宅アナがホストなのもあるけど、電子立国日本がマイベストだなー。

#2 RFC3268 TLS 用 AES サイファースイート

OpenSSLだと0.9.6系にはAESが入っていない。 OpenSSL0.9.7を利用して作った apache2 で ssl.conf に SSLCipherSuite ALL:!RC4:!RC2:!DES:!3DES:!IDEA' と書いてAESを強制しようとしてみたけどIE6からつながらなかった。まだダメかな。

IPsecの勉強したおかげでSSL関係の用語がよくわかるようになってきた。IPsecとSSLはレイヤーが違うだけで内部的な概念がすごく似ているかも。

#3 RTX1000 初期設定

BSD,Linuxのない環境で苦労した… Windowsから ping6 ff02::1%4 とやっても自分のマシンのエントリしか表示されずネットワークに接続されたインターフェースが調査できなかった。

RTA54iからping6 ff02::1 lan2 とやると返事が来るのだが、RTA54i からリンクローカルアドレスに向かって telnet fe80:... とやっても接続できない。

リンクローカルアドレスが判明したのでWindowsXPからtelnetに挑戦。TeraTermだとIPv6アドレスを直接書いても認識してくれず、%SystemRoot%/system32/drivers/etc/hosts に書いても認識せず。 ただのtelnetでも行けないなあ〜と思ったらこれは Cygwin telnet は対応してないせいで、cygwinでないコマンドプロンプトから telnet してやっと通った。

2003/02/02 (Sun)

#1 銃・病原菌・鉄(ジャレド ダイアモンド)

読みたくなったのでメモ。

#2 [ruby] RBCounter

いわゆるweb カウンター。RubyUnitな開発をしてみた。大した長さでもないのでそのまま掲載する。

test_rbcounter.rb。00128.png は実際には製作過程のクラスに無理やり生成させたファイルを目視で確認したもの。いくらTestFirstと言っても他にやりようないよなあ。

require 'rbcounter.rb'
require 'rubyunit'

class RBCounterTest < RUNIT::TestCase
  def setup
    # 各テストに対する準備ルーチン
    @dbpath = "/tmp/rbcounter.db"
  end
  def teardown
    # 各テストに対する後始末ルーチン
    if FileTest::exist?(@dbpath) then
      File::unlink(@dbpath)
    end
  end

  def test_new
    rbc = RBCounter.new(@dbpath)
    assert_equal(@dbpath, rbc.dbpath)
  end

  def test_countup
    rbc = RBCounter.new(@dbpath)
    newnum = rbc.countup("tako", 1)
    assert(FileTest::exist?(@dbpath))
    assert_equal(1, newnum)

    newnum = rbc.countup("tako", 1)
    assert(FileTest::exist?(@dbpath))
    assert_equal(2, newnum)

    newnum = rbc.countup("tako", 1)
    assert(FileTest::exist?(@dbpath))
    assert_equal(3, newnum)

    rbc.countup("tako", 5)
    assert(FileTest::exist?(@dbpath))
    assert_equal(8, rbc.num)

    rbc.countup("tako", 12)
    assert(FileTest::exist?(@dbpath))
    assert_equal(20, rbc.num)

    rbc.countset("tako", 128)
    assert_equal(128, rbc.num)

    cnt00128png = rbc.makepng("./img/%dnote.png", 5)

    str00128png = ""
    File::open("00128.png") { |fp|
      str00128png = fp.read()
    }
    assert_equal(str00128png, cnt00128png)
  end
end

rbcounter.rb

BDB1 を利用したのは、portupgrade に依存しているため事実上標準でインストールされていて、NDBMと違って1ファイルで済むため。

BerkeleyDB 1.85に排他制御が付いていないのは互換性のためにしょうがないとしても、RubyのBDB1クラスの中で排他制御を実装してくれればいいのに〜 最終的にはFileクラスを利用して3行で排他制御完了ではあったのだが、flockまわり3行が出来るまでそれなりに紆余曲折はあった。 *1 ちなみにイマドキのGDBMの方は排他制御が付いているようだ。

GDライブラリの利用については一発で動いた。画像の切り貼りだったら楽勝。

require 'bdb1'
require 'GD'

class RBCounter
  attr_accessor :dbpath
  attr_reader :num

  @@MIN_DIGITS = 1  # 最小桁数
  @@MAX_DIGITS = 50 # 最大桁数
  @@MAX_KEYLEN = 16384 # カウンターキーの最大文字数。これを超えたキーを渡された場合は何もしない

  def initialize(apath)
    # 引数は データベースへのパス
    @dbpath = apath
    @num = 0
  end

  def countup(key, increment_num)
    # key : カウンターキー(任意の文字列)
    # increment_num : 増加させる数値
    # 返り値は 増加した結果の数値
    return nil if key.length > @@MAX_KEYLEN
    db = BDB1::Btree.open(@dbpath,
			  BDB1::CREATE | BDB1::WRITE,
			  0644,
			  "set_pagesize" => 512,
			  "set_cachesize" => 16 * 512)

    File.open(@dbpath, "r") { |fp|
      fp.flock(File::LOCK_EX)

      @num = db[key].to_i
      @num += increment_num

      if (increment_num != 0) then
	db[key] = @num.to_s
      end 
    }
    db.close

    return @num
  end

  def countset(key, newnum)
    # key : カウンターキー(任意の文字列)
    # newnum : 新しく設定される数値
    # 返り値は 新しく設定された数値
    return nil if key.length > @@MAX_KEYLEN
    db = BDB1::Btree.open(@dbpath,
			  BDB1::CREATE | BDB1::WRITE,
			  0644,
			  "set_pagesize" => 512,
			  "set_cachesize" => 16 * 512)

    File.open(@dbpath, "r") { |fp|
      fp.flock(File::LOCK_EX)

      @num = newnum
      db[key] = @num.to_s
    }
    db.close

    return @num
  end

  def makepng(imgtemplate, digit)
    # imgtemplate : 各桁の文字を表す png ファイルのテンプレート (sprintf への引数)
    # digit : 出来上がりの桁数 この桁数を超えた場合は、超えた桁数を優先する
    # 返り値は PNG 文字列
    pngarr = Array.new(10) # 各桁の画像イメージオブジェクトをキャッシュしておく配列

    # 整数を 各桁ごとの数値の Array に変換
    digitarr = []
    begin
      n = @num.to_i.abs # ignore minus value
      while n != 0
	digitarr.unshift(n % 10)
	n = n / 10
      end
    end
    # digit引数に満たない桁分を 0 で埋める
    digit = @@MIN_DIGITS if digit < @@MIN_DIGITS
    digit = @@MAX_DIGITS if digit > @@MAX_DIGITS
    if digitarr.length < digit then
      paddinglen = digit - digitarr.length
      (1..paddinglen).each { |i|
	digitarr.unshift(0)
      }	
    end

    # 各桁ごとの PNG ファイルを読み込みつつ
    # 出来上がり全体の width, height を計算する
    totalwidth = 0
    totalheight = 0
    digitarr.each { |d|
      png = pngarr[d]
      if png == nil then
	png = GD::Image::new_from_png(sprintf(imgtemplate, d))
	pngarr[d] = png
      end 

      totalwidth += png.width
      totalheight = png.height if png.height > totalheight
    }

    # 全体のPNGを作成
    totalpng = GD::Image::new(totalwidth, totalheight)
    targetx = 0
    digitarr.each { |d|
      png = pngarr[d]
      png.copy(totalpng, targetx, 0, 0, 0, png.width, png.height)
      targetx += png.width
    }
    return totalpng.pngStr()
  end
end

rbcounter.cgi。画像の素をどう指定するかが一番悩ましい。

#!/usr/local/bin/ruby
# ●使い方
# http://.../rbcounter.cgi?q=カウンター識別文字列;img=画像文字列;digit=表示桁数
#   [カウンター識別文字列]は何でもかまわない(最大16384文字)。省略時は HTTP_REFERER を利用する
#   [画像文字列] は各桁のPNG取得時に #{imgdir}/[数字][画像文字列].png に展開される。省略時は 'note' が利用される
#   [表示桁数] は桁数だが、数値がこの表示桁数を超えた場合は無視される。省略時は 6 が利用される
# ●新しい数値の設定の仕方
# http://.../rbcounter.cgi?q=カウンター識別文字列;set=設定する数値
require 'rbcounter'
require 'cgi'

# dbpath : カウンターを保持するデータベース(BerkeleyDB) httpdの実行権限で読み書き可能である必要がある
dbpath = '/home/virtualhost/counter/etc/rbcounter.db'
# imgdir : 各桁のPNGを置くディレクトリ
imgdir = '/home/virtualhost/counter/docs/images'
# imgstr : img引数 省略時の文字列
imgstr = 'note'
# digit  : digit引数 省略時の表示桁数
digit  = 6

# ================ ここから下は変更不要 ================
cgi = CGI.new

q = cgi.referer
q = cgi['q'][0].to_s if cgi.has_key?('q')
digit = cgi['digit'][0].to_i if cgi.has_key?('digit')

rbc = RBCounter.new(dbpath)
rbc.countup(q, 1)
rbc.countset(q, cgi['set'][0].to_i) if cgi.has_key?('set')

imgtmpl= "#{imgdir}/%d#{imgstr}.png"
if cgi.has_key?('img') then
  imgtmpl= "#{imgdir}/%d#{cgi['img'].to_s}.png" if cgi['img'].to_s =~ /^\w+$/
end

cgi.out({ 'type' => 'image/png',
	}) {
  rbc.makepng(imgtmpl, digit)
}

exit 0

RBCounterクラス内でエラーが出た場合、makepng がエラーメッセージを書き込んだPNGファイルを生成するとユーザーフレンドリー *2 になるけど自分では要らんのだよなー。GDの文字描画の勉強がてらそのうち作るかも。


*1:当初 BDB1::Btree.open(@dbpath, "w") やら BDB1::Btree.open(@dbpath, "r+") で開こうとしていたのが最大のハマリ原因
*2:というか httpdの吐く error_log が見れない人向け

2003/02/04 (Tue)

#1 TDS用 .htaccess もうちょっと改良

XBitHackがApache2でも動くようにはなっていたものの、TDSの更新かけると index.html のモードが勝手に書き換わっていたのでハンドラーの指定に変更。

Options +Includes +ExecCGI
DirectoryIndex index.html
<IfModule !prefork.c>
AddHandler server-parsed .html
</IfModule>
<IfModule prefork.c>
AddOutputFilter INCLUDES .html
</IfModule>

@ apache2からだけアクセス可能にする .htaccess

小技。

<IfModule !prefork.c>
    # apache 1.x
    Order deny,allow
    Deny from all
</IfModule>

2003/02/06 (Thu)

#1 SuperMicro P4SBR

長いこと「一度CDROMブートローダを起動してから」でないとHDDからブートしない *1 という状態で、Windows2000のクリーンインストールをしても、HDDの先頭領域をzeroにしてNetBSDをインストールしても症状が変わらず、 更に別のマシンで起動していたHDDに入れ替えても症状が変わらなかった。

というわけでBIOSが壊れていると踏んで、BIOSアップグレード。1.0(表示なし)から1.0cにして直った。ASUSみたいにBIOSのリリースノートが簡単に読めないとめんどくさいなあ。


*1:FreeBSDだとBTXまで行くものの、BTXがパニックする

#2 Gianism Private License

「お前のものは俺のもの、俺のものは俺のもの」ってライセンスです。
その態度を全員が取っても矛盾しないのが、デジタルメディアでありGPLであるのです。

copyleft ってジャイアニズムだったのか!

#3 マイクロソフト、IEに関する“緊急”のセキュリティホールを警告

早速 SUS (Software Update Services)に取り込み。やはりダウンロード遅いっす。適用は明日の午前3時…とはいえダウンロードの後、適用の許可をその前に出さないと。

2003/02/07 (Fri)

#1 フレッツスクウェア

今週のガンダムの視聴が2〜5分あたりで止まり、ファイアウォールが刺さってしまう感じ。

とりあえず内側のWindowsマシンに ROUTE ADD で直接ルーティングを書くと接続できる。 以前は外部へのデフォルトルート側からフレッツスクウェアに接続していたのが、別のマシンにしたのに172.26.0.0/16 のルーティングがOSPFで内側に回っていない雰囲気。 余分なIPをaliasで振っているのが気に食わんのだろうか…

#2 MySQLの高度な管理とチューニングテクニック

差分バックアップやレプリケーションも出来るのか…これでGPLなんだったら確かにMySQLのがいいかもなー

@ MySQL-3.23.55-max for MAC OSX 10.2

ふむう

#3 7812歩

2003/02/09 (Sun)

#1 gogole.com

どーゆーニセサイトかと思ったら本物ですた。

2003/02/10 (Mon)

#1 RADEON 9000(無印)

ファンレスグラフィックボードもう一つの候補。nVidiaよりはATI好きなので頭に入れておかないと。これより前の世代だとRADEON VEになってしまうらしい。

MATROX G450をもらうつもりだったのが、もらってみたらG400でAGP 2xでPentium4マシンに刺さらないのが判明したために急遽追加調査する羽目に… G450,G550の値段は新品だとRADEON9000より高いのでよほどのこだわり *1 がないと買えない代物だ。高解像度でぴっちりした画像を液晶で出すんだったらDVI接続すればいいわけだし。

高解像度液晶モニターの値段を軽く調べてみたけど Apple Cinema HD Display 25万円ってやっぱコストパフォーマンス的には安い方だな〜


*1:2048x1536を表示したいとか

#2 ソート関数プログラム

いきなり逆写像ソートのソースを見てもインパクトはないが、 分岐しないソート を見て、O(n) なソートアルゴリズムって何じゃいと調べ始めたのが最初。確かにメモリーが潤沢ならクイックソートですらケチくさいアルゴリズムということになってしまうのか。

さらに元は dW:PsycoでPythonの実行速度をCと同等にする (GRAPHIC WIZARD'S LAIR)より。

#3 ICAClientInfo

MetaFrame環境で WFQuerySessionInformation を呼んで環境変数に値を取り込むためのソフト。マッピングされたクライアントのドライブは

SET ICAClientInfoWFClientDrivesCount=3 SET ICAClientInfoWFClientDrives=A:01 C:02 D:02

という感じで出てくる。…のだがドライブ名が衝突した場合のサーバ側のドライブ名が出てこない。微妙に使えねえ。

#4 レジストリ番犬ロン

なんかソフト入れる時に使うかも。

#5 Client Security Software 5.02

ログイン番犬シリーズってIBMのClient Security Softwareで 実現できるはずのものなんだけど 5.01だとうまく機能していなかったのでバージョン確認したら更新されてた。

#6 DriveRemap.exe

Windows2000でC:に割り当てられている起動ドライブをM:などに移動するツール。 CDROMも含めてC:の後ろに連続してドライブレターが割り振られている場合にのみ実行可能。

MetaFrame XP ServicePack2 を展開すると一番上にあったので、フツーのWindowsXPで起動してみたら実行できそうな雰囲気。 NimdaとかはCドライブ指定でアタックしてきていたので、少し苦労してCドライブを無くしておいた方が少しだけセキュリティ的に有利。本質的ではないけどー

#7 MetaFrame XP ServicePack2

MFCOM Componentを利用するためには、SP2をあてる必要があった。追加ライセンスを要求するFeatureRelease2は不要。

… MFCOM って(主にリモートから)サーバーファームを管理するための枠組みのためか current session に関するリソースを知る手段がない。マシン名とセッション番号さえ分かればいいし、普通のWIN32APIレベルだったら楽勝なのに…なぜCOMインターフェースで提供されてないんだー

可能な限りスクリプト以外書きたくない今日この頃。

#8 「デジモンバトルサーバー」ベータテスト

韓国で大人気とは知らなんだ。

@ 募集サイト

うお! インプモンが使えるんならすごくやりたいぞ。 (ほんとはテントモンがいればウォーゲームタッグが完全に組めるのに…と思わなくもない)

#9 8051歩

2003/02/11 (Tue)

#1 Remote Registry サービス

IBM ClientSecuritySystem をアップグレードしたら、ログオンできなくなるトラブル発生。ドキュメントを読むと、TPCA準拠じゃないマシンでアップグレードしてはいけなかったらしい…

こういういざという時は Remote Registry サービス が上がっていると隣のマシンからレジストリをいじれて助かる。

@ GINAによるCTRL+ALT+DELの無効化

WinLogonというキーワードは分かっていたのでどこいじるのか調べる際に見つけたサイト。 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon に GinaDLL という名前で格納されている。 ただしWindows2000/XPのデフォルト状態ではこの値は存在しないので、通常のWinLogon.exeの利用に元に戻す場合は単に削除すればよい。

2003/02/12 (Wed)

#1 19884歩

2003/02/13 (Thu)

#1 [FreeBSD] mpd

MD5 (mpd-3.12.tar.gz) = e9da7f27e61c71f45355b71768446e5c とかにアップグレードされてる。

Support for authentication and IP address assignment via RADIUS was added.

いきなり欲しい機能がストライクで追加だ。2chで話題になっていた複数セッション対応については明記されてないので不明。

#2 [FreeBSD] portupgrade

最近のportupgradeするパターン。/etc/make.conf と /usr/local/etc/pkgtools.conf をあらかじめそろえておく。

最高速マシンで sudo /usr/local/sbin/portupgrade -arp するとパッケージが /usr/ports/packages/ に出来上がる。 他のマシンは/usr/ports/packages/ を rsync でもらった後に sudo /usr/local/sbin/portupgrade -arP

#3 [OSX] 遠隔でソフトウェアアップデートする方法

単に softwareupdate というコマンドだった。

ターミナルの日本語はUTF-8にして下さい

Windows でそんなターミナルあるんか?とちょっと探したところでは発見できず。 だんだん世界がUnicodeに侵食されていく…

#4 Taku's PukiWiki

いろいろ参考になる感じ

#5 専用ストレージシステム「Xserve RAID」を正式にリリース

FibreChannelがやっとこの値段に。価格帯としては悪くないんじゃないかな。うちは120GBのミラーで十分だから多分使わないけど…

#6 IEEE1394&USB2.0対応DVD-RAM/R/RWドライブ

DVD-RAM でのバックアップにちょっと興味がわいてきたこのごろ。

#7 WLM2-G54

SNMP、RADIUS対応、ファームウェアのバージョンアップによりIEEE802.1x/EAPも対応予定

2月下旬発売で実物がないのでなんとも分からないが、本当に対応してしかも実売5万円台なら間違いなく買い。

#8 WDAP5000JP

いつの間にこいつもEAP対応になってたんだ。

というか 11aのアクセスポイントって対応してる方が多いっぽいな。しかし現状で11aに投資するのは危険だからなあ…なんとも悩ましい。

#9 IETF、iSCSIを正式承認

やはりスイッチングとかまでやるんだったらIPベースの方が将来性あるんじゃないかなー。Xserve RAID もiSCSIだったらよかったのに…

#10 7066歩

2003/02/14 (Fri)

#1 GBASP

大人気の模様。液晶の品質はこっそりと向上していたもののやはりライトのインパクトには勝てないということか。 俺的には例によってポケモンセンターオリジナル待ち(笑)。あるいはFE同梱版オリジナルでも可。

#2 Share My Desktop

入れた。ローカル環境だとかなり快適。日本語のドキュメントのみならず いきなり日本語のメニューが出てきたのにはびっくり。リモートで何でもいじれるようになったからOSXと戯れる気分が激しく上昇中。

直接いじってる側のマシンの解像度が1024x768だったので、OSX側の解像度を 832x624や800x600 に下げようとしたら画像が乱れて使えなかった。

#3 OSX 10.2 の IPv6

インターフェースにはいきなりIPv6アドレスが設定されていたが、ssh等アプリケーションは対応していないのかな。

#4 Mac OS Xで作るファイアウォール

やはりipfwか。natdもある模様。

#5 PostgreSQL の起動

su -c を利用して起動しようとしていたのだが、ブートアップの途中で fortuneメッセージが出て気持ち悪かったので daemontools ベースの起動に変更。runスクリプトはこんな。

#!/bin/sh
postgresdir=/usr/local/pgsql
if [ -x $postgresdir/bin/postmaster -a -d $postgresdir/data ];then
        rm -f /tmp/.s.PGSQL.5432
        exec setuidgid postgres env PATH=$postgresdir/bin:/usr/local/sbin:/usr/bin:/usr/local/bin:/bin \
        POSTGRES_HOME=$postgresdir \
        PGLIB=$postgresdir/lib \
        PGDATA=$postgresdir/data \
        postmaster -i -D $postgresdir/data
fi

ディレクトリのチェックは不要なような気もする。

#6 Mac OS X 10.2.4 Update

sshで入って softwareupdate コマンドでアップグレードしようとしたら、前回と違って番号が出なくなった。sudo softwareupdate MacOSXUpdate10.2-10.2.4 で更新。

#7 IPsecでのNATの設定について

2.2. アドレスが固定で1つのとき

ip pp address 172.16.100.1という設定を忘れないようにしてください。 nat descriptor address outerコマンドでアドレスを指定したときには、同じアドレスをPPインタフェースに設定する必要があるからです。

これに気づくまでに時間がかかった〜BSDみたいに PPセッション成立した瞬間にインターフェースアドレスが付くとのは違うらしい。

GapNAT状態でIPsecはうまくいっていたのだが、Yahooやら@ITやらに接続できない現象に遭遇していたのでRTX1000がPPPoEで直接外に出つつ、RTX1000の nat descriptor を利用する体制にしたのだった。 ついでにRTX1000の4ポートHUBを活用することにして8ポートHUBを撤去。RT54iでIPv6ルータ+OpenBlockSSでVPN張っていた時に比べるとずいぶんとすっきりしてきた。

#8 9014歩

2003/02/15 (Sat)

#1 ロードオブザリング 二つの塔(吹替)

細かいイベント盛りだくさんだった一部に比べて、話の流れはずいぶん分かりやすくできていたと思う。映像の出来は各所で絶賛されている通り。

原作読んだ時のヘルム峡谷の戦いってそんな大きいイベントに思えなかった、というかイセンガルドにエントが攻め込む方が好きなんで、 どうして皆さんヘルム峡谷が好きなんでしょうかみたいな。

あとギムリが完全に三枚目担当キャラになってるのが納得いかーん。レゴラスとの友情も、アラゴルンとレゴラスより下みたいなのはもっと納得いかーん。 誇り高き頑強な戦士なのに。ううう。

#2 15907歩

2003/02/16 (Sun)

#1 Kerberos for Macintosh

Mac OSX 10.2付属のKerberosはMITベースだ。

@ Mac OS X 10.2: About Using Kerberos

ログイン認証をKerberosにする方法とかをAppleが提供。

#2 4017歩

2003/02/17 (Mon)

#1 VIA 694D なDualCPUマザー

で利用していたマシンが以前より勝手にリブートする現象を起こしていたがついに電源も入らない状態に。 HDDを引っこ抜いてリムーバブルケースに入れ、別のマシンで起動しようとするもののWindows2000が inaccessible boot device というブルースクリーンで止まる。 Pentium4マシンが増えてきてVIAチップセットのマシンなんてなかなかないんだけど…

まあ元々不安定だったこともあって重要なデータがある訳でもなく、必要になったら1394ケースにでも入れて吸い出す方針でとりあえず放置。

#2 看護婦→看護師 保母→保育士

看護師のがえらそうなのは 看護師は国家試験保育士は都道府県資格 だからかしらん?

#3 「IPv6実験サービス」終了に関するお知らせ

3月31日で固定アドレスがなくなってしまうー

#4 Intel(R) アプリケーション・アクセラレータ:ダウンロード時の注意事項

まず Intel(R) チップセット・ソフトウェア・インストレーション・ユーティリティを Intel アプリケーション・アクセラレータよりも "先" にインストールする必要があります。

上記VIA694Dマシンの代替マシン構築時にこの手順を守らずアクセラレータインストールをやっちまいますた。OSが全く起動しなくなり、インストールCDより自動修復を試みると 初めて自動修復に成功。これはこれでいい経験だった(ということにしておこう)

…結局三度ぐらいためしたが、Windows2000でのIntel Applicaion Accerelatorインストールは成功せず。infファイルを入れてMS製ドライバのDMAを利用することにした。

#5 今日のスパム

ホームページご担当者様へ 突然のご連絡で誠に恐縮です。プレミアサーバの高井です。 誠に恐縮に思いましたのですが、****.comで現在ご利用になられているサーバの回線品質や設置場所をチェックさせていただきました...

ドメインは別なんだけど2通目が来て激しくムカついたので晒し。 ムカポイントは「****.comのサーバ品質について」というタイトルであろう。

いや、実際にサーバが落ちてる時間とったら品質良くはないと思うんだけど…今朝もNIC刺すのに電源落としたし(苦笑)

@ スパムに入っているURLでサーバ品質チェックしてみた

素直にタイムアウトくらいますた。3秒で返事来なかったら「遅いサーバすね」と表示するぐらいの芸を見せて欲しいものだ。

#6 IT系で持っている資格

Microsoft Certified Professional なわけだが、これは会社的に Microsoft Centified Partner になるとOS+Office+MSDN+Technetのライセンスがもらえて十分お釣りが来るから。 ある程度MS製品を扱う予定があるんなら数人で会社を作って参加するのはお勧め。

しかしシステムエンジニア方面の資格は試験勉強で得るものがそれなりにあると思うけど、開発方面はちょっと違うだろと思わなくもない。

#7 10435歩

2003/02/18 (Tue)

#1 GeForce4 MX440SE

ファンレスボードとして知人が買ってきた。とても安かったが

スペックの低い順に「MX420」「MX440-SE」「MX440」「MX440-8X(AGP 8X対応版)」「MX460」

だそうなので、性能対消費電力で言えばMX440-8Xのがやはりよさげ。

#2 IIS Lockdown ToolとURLScanの導入

昔は手で削除していたIISの余分なデフォルト設定を簡単にできて便利。

#3 Intel 845D チップセットマシン

イベントビューアにハードディスクのパリティエラーが起動する度に記録されていたので、IDE接続ケーブルを交換。 耐久テストも兼ねてネットワーク経由でDVD-R焼き用ソース4GB強をコピーしつつ、IEEE1394ハードディスクからコピーしつつ、内蔵HDD内でのファイルの移動とかやってみる。 が、ネットワーク経由でのファイルコピーしてるだけで挙動が激しく遅くなる。やっぱデスクトップ用チップセットはダメだのう。つくづく440BXはよかった…

@ SUPERMICRO X5DAL-G

ちと高いが足回りの強さを考えるとこいつか? この手のマザーにしては Unbufferd DDR が利用できるのが良い。

#4 cygwin の tcsh

やっと 6.12 ベースになったーと更新したけど、dspm オプションが組み込まれてなくて相変わらず日本語が表示できん。くそー

#5 14316歩

2003/02/19 (Wed)

#1 Darwin は UNIXではない

Xserve設定(otsune.com) に興味があったので少し調べモノをしてみる。

Darwin では sbrk() と mmap() が実装されていない。

実際に OSX 10.2.4 で man mmap するとシステムコールとして存在はしているようなのだが…

まあ予想としてはmmapが実装されていない *1 状況で、AppleFileService開発者が自前の mmap ルーチンを使ってキャッシュを実現しているのかなあ。 逆に単に mmap(2) を使ったキャッシュルーチンなだけかもしれんけど。

わざわざメッセージを出しているということは、AppleFileServiceの利用できるキャッシュ容量の指定がどこかで出来ると思われ。


*1:あるいはエミュレーションだから遅いことを知っていた

#2 Googleが“Blog”作成ツール開発元のPyra Labsを買収

自分の過去の日記の検索はGoogleに site:www.mimori.org 入れるってのが結構便利なんで、 「この話題なら確かアイツの日記にあったんじゃないかなー」みたいな使い方が流行るといいなあ。

あとgoogleは文字コードの扱いに関しては相当ノウハウがあると思うので、多国語同時利用化への期待とか。

#3 とあるタイの掲示板

管理しているサイト *1 にここの周辺からのリンクがあったので見に行った。タイ人がこーゆー絵を描くのでせうか?


*1:mimori.orgではない

#4 総務省、当初の予定通り地域IP網の県間接続を認可

フレッツグループアクセス が県越えられるようになったら、自宅をフレッツADSLにするかなあ。hi-hoのIP電話サービスもフレッツのみだし。

@ IIJmio

固定IPにすると無料でIPv6トンネリングサービス。

#5 フィルタリング

ipfilterの日本語解説としては一番よさげ。

だいたいうちで使っているのと同じ…なのはどう考えても IPF.KANJI しかまっとうな日本語ドキュメントが無いからだよなあ。 IPF.KANJIに比べて keep frags や flags S の説明、ICMP対策といったところが追加されているのが非常に嬉しい。ICMP typeなんて調べるの面倒で全通しにしてたからなあ。 *1

@ ネットワーク 学習ノート ICMP

SourceQuench について

ルータで輻輳が発生した場合、これを緩和するために、送出側にキューの残りがゼロになり、送出不可能になったときにICMP始点抑制メッセージ"ICMP Source Quench Message(Type4)"を送出します。 このメッセージを受信した送信元は回線のどこかが混雑していることを知り、送信間隔を開けたりします。 しかしこのICMPは不公平をまねくおそれがあるためにほとんど利用されていません。

*1:さすがにICMPredirectはOS側の設定で無効にしていたし、よほどアタックがひどくない限りはICMP echo(ping)を返した方が日常管理が楽。

#6 @IT SAN導入実践テクニック

XServe RAIDのバックアップってどうするんだろとSANの記事を読みつつ悩んでみる。

@ SonyのAITドライブ

LIB-162/A3 非圧縮時1.6TB テープライブラリ あたり? ここ によると154万。まーそんなものであろう。

#7 8866歩

2003/02/20 (Thu)

#1 [FreeBSD] mpd-3.12

快調に動作中。ただしNATは全く利用せず、apacheによるHTTPproxyメインのマシン。

#2 EZ-USBシリーズ プリンタードライバー

これでネットワーク越しに直接ラベル印刷できるようになるかな。これ抜きでも EL-700 は名機だと思う。

#3 G.A. ゲーム

XBOXの中では面白いシューティングらしいという言葉を鵜呑みに買ってみたら、シューティングじゃなくて 戦術級リアルタイムシミュレーションやん。でも面白いからOK。ボタンの割り当ては1つだけ納得いかない *1 ものの、全般に操作性がかなりよい。XBOX持ってて あのキャラに抵抗ないならおすすめ。普通パッケージングで引くよなあ…

フルボイス恋愛ADV部分はどーでもえーです。スキップしまくり。


*1: BACKボタンによるポーズを比較的多用するのに、隣のSTARTボタンを良く間違えて押してしまう。出てくるのはload/save系のシステムメニュー。

#4 高度な JavaScript 技集

md5とかDESとか。Web上でのパスワード認証をAPOPみたいにする場合に有用。

こちらも負けずにSHA1とAESの実装を〜(淡い希望)JavaScriptなら電車の中でもコーディングできるので気が向いたら。

#5 Hard Disk Drive Knowledge Base / Noises that indicate a defective drive

以前IBMで見つけてた奴。知人のパソコンから異音がするという話を聞いたのでHDDの異音サンプルを改めて検索。

#6 [NetBSD] NAT用のアドレス

ファイアウォール上でNAT用のアドレスを外側のインターフェースに振っていたのだが

ifconfig fxp0 inet 218.44.240.58 netmask 0xfffffff8

とやっていたら大体動いていたものの ntpd だけパケットを無視するという挙動を示していた。netmask 0xffffffff にしたら解決。FreeBSD時代は0xffffffffにしていたのに何でこんなnetmaskにしたんだっけ? ospfdが文句言ってたからかな。

#7 全国初、ネットで証明書交付 岡山市が実証実験

なんだX509じゃないのか。

交付される証明書は、市県民税証明書や所得証明書、納税証明書、軽自動車納税証明書など。モニターが自宅や公民館からパソコンの映像を通して担当課と対話。画面に氏名や住所などを打ち込み、あらかじめ発行している電子証明書などで本人確認ができれば、自宅や公民館のプリンターに出力される。

印刷された証明書の正当性はどうやって?

@ e!市役所実証実験 実験1 電子申請・交付

なお、交付文書には原本性を確保するための最新技術を様々な形で活用していますので、プリンターから打ち出されたその交付文書は、窓口で交付されたものと同様、本物の証明書として利用することが可能です。

具体的にはなんも分からん…電子すかしで電子署名が埋め込まれたりして。

文書の申請・交付の際には、本人性の確認のため電子証明書を利用した認証(なりすまし防止)を行います。電子証明書(フロッピーディスクに格納予定)は岡山市が発行し、お渡しいたします。

おお、自動的に電子証明書がもらえるのか。こいつはいいなあ。

#8 モバイルPentium 4 2.40GHz-Mを上回る Pentium M 1.60GHzの処理能力

低電圧版1.10GHz(12W)で低消費電力サーバーマシンどっかで作ってくんねえかな。

#9 6916歩

2003/02/21 (Fri)

#1 jba騒ぎを傍目でなんとなく見てて

人に噛み付いている暇あったらいいシステム *1 作ってがんがん人を集めればいいのにねえ。そうすれば結果として「あいつの言っていたことは間違っていた」のが証明できるだろうに…

MovableType方面でのカコイイCSSの蓄積に関しては大いに成果ありと思ってるのでうまいこと発展してくれればそのうちパクりたいというのが個人的希望。 そういう意味では複数のプラットホームへの気配りがあると嬉しい。

あとBerkeleyDBはBSDに標準で付いてくる1.x(db185.h)とsleepycat.comの作った2.x以降では、モノが違えばライセンスも違う *2 ので単にBerkeleyDBといわれると何だろな〜と悩んでしまう。特にLinuxの特定ディストリビューションだと2.x以降のパッケージが「普通」だったりするので…


*1:ここで言うシステムにはAssociationとやらの政治的システムも含む
*2:sleepycat.comの奴はBerkeleyDBと言いながらGPLに近い

#2 [FreeBSD] vinum での片肺運用復旧

メーリングリストが古いまんまだ、とツッコミを受けてしまったので monut /var するとパニックしてしまう 以前スレーブ側にぶら下がっていたドライブの復旧作業。通常運用中は ad1s1 なドライブだったのに、こいつで起動すると ad0s1 なドライブになってしまうせいで、vinumがどうにもオカシイと判断するらしい。 あきらめてresetconfigからやりなおし。といってもfstab,disklabelは生きているので簡単だった。

vinum resetconfig
vinum concat -v -n var_g /dev/ad0s1g
fsck /dev/vinum/var_g
vinum concat -v -n home_h /dev/ad0s1h
fsck /dev/vinum/home_h

mirrorでもconcatでも出来上がるもの自体は同じだった。しかし怖い作業であった… *1


*1:当初panicの原因が4.7Rに更新されたシステムなのに4.6.2Rで起動しているせいかと思い make world してしまい

#3 FreeBSD-4.7R-p5

20030220:       p5      FreeBSD-SA-03:02.openssl
        Update to OpenSSL 0.9.6i in order to correct `Timing-based
        attacks on SSL/TLS with CBC encryption' vulnerability.

例のOpenSSLの奴。文面を読む限りではOpenSSHと無関係そうなのでSSL付きapacheでも作っていない限りあんま関係ないのかあ。とはいえ順次パッチ当て。

#4 8170歩

2003/02/22 (Sat)

#1 通話まるみえ!? インターネット電話にプライバシーはないのか?

いつまで経ってもデジタルコードレスがさっぱり普及しない電話機売り場を嘆いて欲しいと思うPHS愛好者としては、 フツーのコードレス電話のがよっぽどプライバシーないことを訴えるべきかと。

つーかそもそもプライベートな会話は携帯電話使うんじゃ?

#2 8002歩

2003/02/23 (Sun)

#1 TDSの*.cgi

otsuneさんにレポートして頂いて .htaccessを修正しました。ありがとうございます。

error_logにエラー出してくれないタイプのミスは発見しずらいです。

@ WebUnit

システム構築時に WebUnit 使うようにしておいて、何か修正したら make test で確認するようにしたいところ。 とはいえ自分とこだからどうせ大した影響ないとか思うと 最初にそういう手間をかける気分になるのはナカナカ難しい。

#2 7247歩

2003/02/24 (Mon)

#1 VIA Processors

MB動作報告が有用。

#2 VIA C3M266-FL

あまりにDDRメモリが安いのでSocket370でDDRなマザーでいいのはないかと思っていたらちょうどいい新製品。

#3 Microsoft Wireless Optical Desktop for Bluetooth

BackSpaceが普通の大きさなのに、Deleteキーが2倍なところがさすがMicrosoft(笑)

#4 明日のナージャ

来週は細田演出らしい。チェック。100年前のイギリスについて時代考証をまじめにやってるせいか、かなーり遅れ気味という噂。

#5 ロジテック「LDC-RGB1」

480p/1080i/720p のD端子→RGBコンバータ。XBOXをコンポーネント端子のないプロジェクターにつないで遊んだばかりだったので興味あり。

@ IO-DATA TVBOX2

ロジテックとは逆にコンポーネントはD1(480i)のみ対応。 画質を追い求めるものじゃなくてRGBモニター1つで済ませないといけない、部屋の狭い人向け商品であろう。

#6 キッチン/粒粒

特にアーティスト名を知らせずにCDを聴かせたら「これって山本正之?」という質問が。 そう言われてみると山本正之 *1 にしか聴こえなくなってしまうぐらい声もそっくりなら歌詞の内容もそういう雰囲気。 山本正之とさねよしいさこのデュエット盤と言えば他の人も信じそうだ。


*1:ブルース系の歌。アニメ主題歌方面ではない。

#7 埼玉りそな銀行

自宅に一番近いあさひ銀行は「埼玉りそな銀行」になってしまうが、現在保有しているあさひ銀行は都内なため「無印りそな銀行」に。 今週中なら地元だけで口座移動できると思われるので出来ればやってしまいたいところ。

#8 12297歩

2003/02/25 (Tue)

#1 FreeBSD-SA-03:03.syncookies

ファイアウォール上で sysctl -w net.inet.tcp.syncookies=0 を実行しつつ 4.7-RELEASE-p6 の作成に入る。

p5にしたばっかなのに…前回の波は7月だったし、大学で試験も終わって休みに入ってすぐあたりがハックしたくなる季節なんかしら。

#2 DDIポケット端末からのIPv6ネットワークアクセス実験を開始

ええ感じ。…であると共にそろそろIPv6サイトもまじめに防御してるかチェックしないとという気分になった。

@ ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)利用実験

PRIN接続後、ここにある「Windows XP用設定コマンド」を見に行って出てきたコマンドをcut&pasteすると接続完了。 IBM Access Connectionsであれば全自動設定も出来るかな。

#3 ATI ALL IN WONDER RADEON

ドライバーを入れる順番について参考になる。今さらALL-IN-WONDERでキャプチャーという時代でもないのだが、DVD再生ボードとしてはそこそこ使えるので。

#4 DTLA-307020 ゆるやかに死亡

VIA 694DにぶらさがっていたHDDをi815EPなマザーに移植して復活を試みた。

そのままブートすると INACCESSIBLE_BOOT_DEVICE というブルースクリーンになったのはチップセットが違うせいかと思い、CDROMで起動して修復を試みるも失敗。

とりあえずあきらめてこのHDDのDドライブに.NetServer2003RC2などを入れてみてそれなりに動いていたが、ATIのドライバを入れるとリブート後こけまくり、 もう一度Cドライブ上に作成されたdriverで再インストールしようとすると「ファイルが壊れています」とのメッセージ。 後から思うとこの辺りであきらめるべきであったか。何度かATIのドライバの更新を試みるもことごとく失敗。

やっぱりWindows2000にしとこうかなあとインストールを始めたら、CDブート後インストール作業の途中、ファイルをコピーするところで何度か転送に失敗したメッセージを出して最後には IRQ LESS OR EQUAL というメッセージで死亡。 なんとなく連続使用した後の熱にやられているような雰囲気。DTLAは不良率が高いためにアメリカで集団訴訟まであったモデルだったらしい。 つーところでDTLA利用しているマシンは他にもあるのでそろそろ予防策をとるべし。

#5 7017歩

2003/02/26 (Wed)

#1 ハードウェアトラブル続行

DTLA-307020を抜いても相変わらず「ファイルが壊れているぞ」エラーが出ていて困った *1 のだが、IDEケーブルを変えたりメモリを刺しなおしたりしているうちに復旧した模様。


*1:の割にはブルースクリーンにはならないし、イベントビューアにも何も出てこないのでなんとも原因不明

#2 ATI ALL-IN-WONDER 128Pro on Windows2000Server

フツーに *1 DirectX8.1→ディスプレイドライバ→MMC7.1→ATI DVDプレイヤーの順 にインストール。 ドライバも無事に入っているようだしBIOSで割り込みをAPICモードにしていたおかげでIRQの共有は全く行われていない。

DVDの再生はうまくいったにもかかわらずTVチューナーが起動しなくてしばらく悩んだが、その昔 ターミナルサービスが有効だったりNetMeeting Remote Desktop Sharingをしていたりすると、チューナー起動できなかったような記憶がよみがえってきた。

Windows2000Proも入れて試すべし。

@ ALL in Wonder128 Proの簡易評価

正直、G400に肩を並べると言っても過言ではない。実にキレイだ。

そこまで言えるのか〜。初期のWindows2000ドライバはそれはもう散々ヒドイ目に会ったけど、今のドライバの出来であれば3D不要環境に入れるというのは悪くない選択か。チューナーは飼い殺し。


*1:まず一番最初に Windows2000SP3→Intel Chipset INF→Intel Application Accelerator も入れてから。

#3 apache2 on daemontools

apache2 の httpd は起動時に pid ファイルがあると動作中だと思って起動してくれない。panic等でOSが落ちた場合は掃除してやる必要がある。

FreeBSDでportsを使った場合、デフォルトは /var/run/httpd.pid で/var/runの下は自動的に掃除してくれるからそういう意味では問題なかったのだが一応。

#!/bin/sh
/bin/rm -f /var/run/httpd-apache2.pid
/bin/rm -f /var/log/httpd-ssl_mutex.[0-9]*

exec softlimit -c 0 \
        env PATH=/usr/local/sbin:/usr/bin:/usr/local/bin:/bin \
        httpd -k start -DNO_DETACH -DSSL \
        2>&1

どっちかというとportsだと勝手に /usr/local/etc/rc.d/apache2.sh を作られてしまうのが問題。 /usr/local/etc/pkgtools.conf の AFTERINSTALL セクションの書き方が分からず挫折中。

#4 ポケピカ累計1000万歩

まであと17万。そろそろ見えてきた〜

#5 11789歩

2003/02/27 (Thu)

#1 オムロン、MR104DVのファームウェア

β版との位置付け。とはいえ またもや延期されたMR104FH よりはOEM元がやる気だということであろう。現在でも末端IPsecルータとしてはコストパフォーマンス最強。

#2 MSがWindowsUpdateを濫用?

SUS を使った自動更新で、SUSサーバ以外のマシンは外界との通信ができないような環境だったら大丈夫なんじゃないかなあ。

それともSUSサーバが情報収集した上でMSに送信するとか? SUSはSUSサーバを外界から多段で構成できるし、通常は外界との通信拒絶した環境でも運用できるはずなので、そこまでやるとはあまり思えない。

#3 HGST(旧IBM) Drive Fitness Test

DTLA-307020の不具合 *1 がIDEケーブルのせいだったかもしれんので、ドライブの詳細なテストをしてみることにした。

…こういう作業やらCDROMなしマシン用のインストール作業がやりやすいように リムーバブルディスクをPrimary-Masterに接続したマシンを足元の作業用マシンとして仕立てた。

ディスクのチェックだけじゃなくて

Filesystem-based Corrupted Sector Repair (use DFT Utility option: Corrupted Sector Repair)

というあやしい機能もついている。あと、ドライブの寿命が近づくと S.M.A.R.T. のビットが立つらしい。

@ 結果

One or more currupted sectors found.

と出た。折角なのでCorrupted Sector Repairに挑戦。修復できたからといって使う気にはならんのでどうせ捨てるんだけどね…

一応DFTは復旧したようなメッセージ出した。けど、ファイル転送を試みるとどうも同じところで止まるっぽいので更にWindows2000のCHKDSKをかけてみる。 ……やっぱり同じところで止まる。DOSベースのツールだったから修復にはFATしか対応してないとかそういうオチか?


*1:その後バックアップのためファイルコピーをするとハードウェア的なエラーは出ないが、特定のファイルでかならず刺さる。

#4 8464歩

2003/02/28 (Fri)

#1 ww.google.co.jp

w.google.co.jp も定義されてる。wwww.google.co.jp や a.google.co.jp は定義してない。

#2 サイトのサイト ライセンス サーバーを変更するには

イベントビューアに

サーバー hoge のライセンス ログ サービスが利用できなかったため、ライセンス情報の複製に失敗しました。

というのが出まくってうざい状況への対処法。

1. Active Directory サイトとサービス を開きます。 
2. コンソール ツリーで、構成するサイトをクリックします。 
3. 詳細情報のウィンドウ領域で、[Licensing Site Settings] をクリックします。 

こんなとこにあったのか。ActiveDirectoryの本を読んでFSMO の移動はマスターしてたけど、ライセンスログについては把握してなかった。 *1

しかしActiveDirectoryに参加してない(NTドメインな)マシンでこのメッセージ出る場合はどうしたらええんやろ。単純にLicenseLoggingService止めちゃうとか?

@ How to Reset License Manager Information

Software Licensing with License Manager より。


*1:ライセンスログの仕組みがActiveDirectoryでなくて NT4 時代の名残だからと予想

#3 オートバイにもETCを導入 扇国交相が方針表明

現行の車載器方式とICカードを料金所でかざして通行する新方式の二つを利用してもらい

ETCにも Felica 導入したりするんかしら。

#4 大リーグ、マイナー契約選手にエフェドラ禁止を通達

春季キャンプ中に熱射病で死亡したオリオールズのスティーブ・ベクラー投手(23)の症状を引き起こした原因として、エフェドラを含むダイエット薬の服用が指摘されている。

2日ぐらい飲んで「こいつはやばい」と止めたゼナドリンってエフェドラが入っていたような…と調べたらビンゴ。

@ ハーブ系ダイエット薬、エフェドラ(Ephedra)の危険性

ここが一番いいかな。

#5 9947歩


ジャンプ 検索
年月日 :
カテゴリー :
Title only
Ignore case
コメント
ハンドル : 名前記録
一言 :

[Management] [TdfEditor] [LogAnalyse]
Powered by Tomsoft Diary System 1.6.2
Copyright(C) 2003 by KAMIYA Satosi [Mail] <mimoriso@anet.ne.jp>. All rights reserved. このサイトはリンク上等です。