2006-04-01
λ 書式フォーマットいただき君
メモ
λ SQL Server で SQL Mail を使用せずに電子メールを送信する方法
TransactSQLの中から OLE オートメーション を使うサンプルとして有用。
int型の変数をハンドルとして使うのね。 sp_OADestroy を呼ばないと SQLServer 内にオブジェクト残りっぱなしになりそうなんで、あんまり気軽には使えんな。
λ Perlish Magazine 20060401 号
「次号は 19106 年 5 月 中旬発行の予定です。」に受けた。さすがperl。
2006-04-02
λ vodafone ハッピーボーナス
2年単位の契約の代わりにかつてのロングウェイサポート並の割引率。 これだったら vodafone 3G にしてもいいかな。
データ通信はハッピーパケットスーパーを適用して1packet 0.042円(税込) 1MBytesあたり344円かあ。やっぱ高えな。
もし機種変するなら702NKIIの予定。
λ 掃除
先週来 部屋の掃除モードに入ってしまって大量に物を廃棄中。
大きいAV機器が最後の砦になりつつある。LD-S1はゴミかのう…と思ったら1万円ぐらいにはなるらしい。 やふおくに出すだけならどうってことないが、最終的な搬出のことを考えると頭が痛い。
2006-04-03
λ AX300 HDD交換 作業メモ
CDドライブが2台搭載されているマシンで作業する。 昔AX300のシステム領域をbzip2圧縮でバックアップしといたCDRを発見したのでオリジナルのHDDは全く利用しなかった。
- 新規HDDを IDE primary-master に接続
- KNOPPIX v4.0.2 をCDドライブ1台目(IDE secondary-master) に入れる
- AX300のシステム領域をbzip2圧縮でバックアップしたメディアをCDドライブ2台目(IDE secondary-slave)に入れる
- ブート boot: で knoppix dma 2 noswap と入れる
- コンソールを開いて su で root 権限になる
- exec env -i sh でLANG等をクリアしたシェル起動
- bzip2 -d < /mnt/cdrom1/ax300.bz2 | dd of=/dev/hda bs=2048
- fdisk で /dev/hda4 を解放、/dev/hda4 に対して残り全領域を確保、書き込んで終了
- mkfs.xfs -f /dev/hda4
- mkdir /mnt/hda2; mount /dev/hda2 /mnt/hda2
- mkdir /mnt/hda4; mount -rw /dev/hda4 /mnt/hda4
- tar -xzf /mnt/hda2/opt/MC/data/data.tar.gz -C /mnt/hda4
- shutdown -h now
おおよそ30分弱の作業だった。
(4月6日追記)ブート時に boot: で knoppix dma 2 noswap と入れると、RunLevel=2(コンソール)起動で、 HDDへのアクセスがDMAありになる。圧倒的に速くなった。10分弱で終了。
(7月13日追記)新しいKNOPPIXだと mkfs.xfs が「すでにフォーマットされてる」と文句言う。-f オプションで強制フォーマット。
λ 702NK レビュー Bluetooth
Bluetoothキーボードとリンクしてる! 超買う気になった。 VirtualKeybordがSeries60対応にという話も。
先月実績でパケ代1100円もかかってて、バリューパックシルバー+ハッピーボーナスだけなら月額支払料が下がるのが判明。 702NKII でどれぐらいパケット通信するかは未知数だがCLIEの代替としての利用が出来れば嬉しい。 とにかくまずはパスワード管理ソフトだな。
λ ソニー、モニター音質を実現した耳栓型イヤフォン
SHURE E5c の音質に文句はないのだが、常用するにはコードの取り回しがダメすぎる。 SONYヘッドホンのOFCリッツ線なら取り回しに関しては昔から馴染みがあるのでちょっと欲しい。
λ XServeのディスクいよいよ死亡
XServeを再起動すると、「ログインウィンドウを起動中」のところから先に進まない。 sshでは入れるので最後のファイル回収。
代わりのハードディスクが用意できなかったのでサービスは別のFreeBSDマシンに移動する作業を開始。 結局 asr コマンドをマスターしなかったなあ。
会社でXServeがないと一番困る作業は Graphviz 日本語版。
2006-04-04
λ 702NKII 入手
「ウォレット」という多分内部で暗号化して保存していると思われるクレジットカード等の番号管理ソフトが最初から入っていた。 内蔵ソフトは想像以上にイイ。
作法が日本の携帯文化ではないってのは以前から聞いていたが、PDAだと思って使えば問題なし。Palm文化には近い気がする。 カナ漢字変換に全然期待してなかったら、予測変換はまあまあいけてる。
ソフトの入手についてはとりあえずここからスタート。
Bluetoothの機器名を変更した後にリセットしないと新しい機器名になってくれなくて困った。Bluetooth自体のオンオフは繰り返したつもり。
702NK レビュー Tips。 言語を「自動」と「日本語」の間を相互に変更するとリセットコマンドとして使えるバッドノウハウ。
λ Virtual Server 2005 R2: Now Available as a Free Download
Virtual Server 2005 R2 はタダになってしまった。わお。
ま、MS的にはゲストOS側のライセンス買えってことだな。
λ freeSSHd レビュー
この上で rsync.exe を動かせたりしないかしら。
λ [FreeBSD] 6.1-BETA4→PRERELEASE マシン 上に trac インストール
XServe で動いていたサービスの代替としてとりあえず 6.1-BETA4 マシン 上に構築してみる。
pkg_add ftp://ftp.jp.freebsd.org:/pub/FreeBSD/ports/i386/packages-6.1-release/All/portupgrade-2.0.1_1,1.tbz pkg_add ftp://ftp.jp.freebsd.org:/pub/FreeBSD/ports/i386/packages-6.1-release/All/ja-trac-0.9.3.tbz pkg_add ftp://ftp.jp.freebsd.org:/pub/FreeBSD/ports/i386/packages-6.1-release/All/sudo-1.6.8.12_1.tbz pkg_add ftp://ftp.jp.freebsd.org:/pub/FreeBSD/ports/i386/packages-6.1-release/All/ja-less+iso-382.258.tbz pkg_add ftp://ftp.jp.freebsd.org:/pub/FreeBSD/ports/i386/packages-6.1-release/All/cvsup-without-gui-16.1h_2.tbz
ports は portsnap で構築してみる。/etc/portsnap.conf
SERVERNAME=portsnap.FreeBSD.org KEYPRINT=9b5feee6d69f170e3dd0a2c8e469ddbd64f13f978f2f3aede40c98633216c330 REFUSE arabic astro audio benchmarks biology cad chinese deskutils emulators finance french REFUSE games german hebrew hungarian korean mbone multimedia news palm polish portuguese REFUSE russian science ukrainian vietnamese x11-clocks x11-fm x11-themes x11-toolkits x11-wm
を書いた後、portsnap fetch; portsnap extract で出来上がり。次回以降は portsnap fetch; portsnap update で。
- /usr/local/sbin/portinstall sysutils/daemontools
- /usr/local/sbin/portinstall sysutils/smartmontools
- /usr/local/sbin/portinstall sysutils/compat5x
$SVNDIR/conf/svnserve.conf の設定
[general] anon-access = write auth-access = write
apache22で mod_auth_digest の設定方法が随分変わってた。 /usr/local/etc/apache22/httpd.conf, /usr/local/etc/apache22/extra/httpd-ssl.conf, /usr/local/etc/apache22/Includes/httpd-trac.conf
その他書いた設定ファイル: /etc/rc.conf, /etc/ntp.conf, /etc/resolv.conf, /boot/loader.conf
今のとこさぼっていて各種デーモンを daemontools 管理下にしていない。
smartmontools での調査
- smartctl -a da0
- smartctl -t short da0; sleep 60; smartctl -l selftest da0
- smartctl -t long da0; sleep 3600; smartctl -l selftest da0
cvsup してシステム更新したら 6.4-PRERELEASE になってた。
λ SQLite の管理
XServe(ppc) から FreeBSD(i386) に と異なるアーキテクチャ間でTracデータベースを移転するのに、バイナリのdbファイルのままだとさすがに駄目だった。 dump と リストア(実際にはSQL文を食わせるだけ) を利用して Trac 内の SQLite データベース再構築。
(ppc)% echo .dump | sqlite $TRACDIR/db/trac.db | bzip2 > trac_backup.dumpdb.bz2 (i386)% cp /dev/null $TRACDIR/db/trac.db (i386)% bzcat trac_backup.dumpdb.bz2 | sqlite3 $TRACDIR/db/trac.db (i386)% trac-admin /home/trac resync
最後の resync はSubversionリポジトリと一致しているかの確認のため行っている。(実際ディレクトリが異なっていたのでシンボリックリンクで対応)
cd /local; ln -s /home/trac; ln -s /home/svn cd /; ln -s usr/local sw # Finkのディレクトリのふりをするため
当初はMSSQLServer系の インポート・エクスポート といった単語で調べていてなかなかたどりつけなかったり。
2006-04-05
λ オレンジニュースからリンクされた
自分では大したネタだとは思ってなかったのだが、世の中そういうもんだ。
ちなみに現在のFreeBSD ports/www/apache22 でインストールして、
/usr/local/etc/rc.d/apache22.sh 経由で起動する場合は、
/etc/rc.conf に以下のように書くと /sbin/kldload accf_http まで実行してくれるようになっている。
apache22_enable="YES" apache22_http_accept_enable="YES"
ただし、/sbin/kldload accf_data の方はやってくれない。…まあこっちは大した効果がない気もするが。
λ 動と静
プレゼンテーションレイヤーとビジネスロジックレイヤーが分離していて、 ビジネスロジックレイヤーを作ったことがある人は以下のようにやれば何でもしてくれる関数をプレゼンテーションレイヤーに提供したいと思ったことが 一度はあるはずだと思うのだが。
x = apply("add", a, b);
複雑なコンテキストに依存して内部処理が分岐せざるを得ないような状況だったら、 最終的には動的言語の記述力に対して引数の型なんてほとんど取るに足らない情報量しか持ち得ない、 というような話なんではないかと。(きっとこれは DSL (Domain Specific Language)の話に続く)
逆にあまりコンテキストに依存しない処理を記述したいんだったら、静的言語のが有利。
でもそういうコンテキストに依存しない処理はどんどん .NET Framework 内に取り込まれちゃってるわけでー。 ほんと自分では細かい最適化するような処理は書かなくなったよ。
λ 702NKII Bluetooth リンク
Bluetoothリンク経由標準モデム → Nokia 6680 Bluetooth Modem (署名されていないドライバ) にドライバを変更しないと使えなかった。
マニュアルでは『コンパネの「電話とモデムのオプション」からモデムの追加をしろ』と書いてあるけど、 追加だと途中のCOMポート選択がうまくいかなかった。 とはいえ、後から確認すると何故かCOMポートがPCカードモデムとかぶっていたので、PCカードモデム側を再インストールして対処。
Bluetooth経由でOutlookとのスケジュール・TODO同期に成功した! 待受画面にPocketPCのTodayみたいな表示モードがあってかなりイケてる。 これならCLIEからさようならできるな。ていうか単体PDAが廃れるのもよくわかる。
パケット通信でのダイアルアップは、PC Suite をインストールした時にか勝手に *99# への接続先が出来てた。 とはいえユーザ名とパスワードは後から入力する必要がある。
- ユーザ名:ai@vodafone
- パスワード:vodafone
これらの接続情報を知ってさえいれば難しいことは何もない。
PHSと違ってパケットでRemoteDesktop使うと死ねるので、Windows側にfreeSSHd仕込んでコマンドライン管理の修行せねば。 しかしLetsNote R3 にBluetooth内蔵されていないのがつくづく悔やまれる。
λ バーコード 画像生成
MiBarcodeだと必ずクリップボードを経由することになって安定運用できんので調査。
- バーコードメーカー 1050円
- BarCode.NET 18900円
- バーコードフォント2 29400円
- QRdraw Pro 35000円
近い将来一度に10000件以上処理することになりそうだから、BarCode.NET あたり買ってもらおうかしら。
λ 新しい FreeBSD マシン
壊れてリプレースすると自動的に3GHz級のCPUがやってきてくれて、今まで2GHz以下でも別に不満はなかったのだが、 やっぱ速いのはいいよな。
XServeからのSubversionリポジトリ引き上げ時に途中までしかdumpできてなかったのが判明約半月分 orz
幸いこの間の主な作業はここのリポジトリとは全く別管理だったドキュメント作成作業だった のと、 最新のソースは working directory として手元にあるとはいえそこそこダメージがある。 リポジトリのバックアップは最低でも毎日どこかリモートにとるような仕組みにしやう。
λ SSIS によるデータのやりとりドキュメント
SSISのアイコンをくっつけて作ったフロー図(動作そのもの)に、必要なコメントを埋め込んでおく。 でもってPrtScキーでキャプチャーしたのを Word に貼り付けて、詳細設計書だと主張している今日この頃。
λ キャッシュカードに4桁の乱数を書いておく
これいいな。1と7、5と6が判別しにくいようにしておくと更にいいかも。
λ 数式処理システムMaximaで楽をしよう
Mathematica みたいなのがタダなのねん。
2006-04-06
λ 10時間停止
1時ぐらいからマシン止まってた。自動fsck に失敗し、lost+found にファイルが出来た。なんかしらんがRubyのソースファイルだった。
portsディレクトリ中っぽいので、cvsupコマンドを -s オプションなしで起動して中身を更新しといた。
λ [FreeBSD] FreeBSD 6.1 Release Process
約1ヶ月遅れ中。もうすぐ RELENG_6_1 branch と RC1 になるかも。
λ [FreeBSD] IBM x346
ACPIを有効にするとSCSIバススキャンのところで止まるし、無効にするとahd0側は認識するのに
ahd1: Dumping Card State at program address 0x21 Mode 0x33
とか言われて何かと思ったが、x346 は ServeRAID 搭載(たぶんZeroChannelRAID)なのでそんなことになっているものと想像される。 (格安で流れてきたマシンのため構成をよくしらんかった)
RAIDを構成しつつ、ips ドライバ経由で使うのがいいんだろうか。でもFreeBSD稼働中にリビルドとかできるのかとかよくわからない。 来週から他社にも公開するサーバにしようという計画になりつつあってどうしたもんか。
λ [FreeBSD] trac で日本語 component, milestone, priority, ticket_type, severity
MacOSXだと何も考えずにシェルからUTF-8を突っ込んでいたが、 FreeBSDだとどうやっていいのやら悩んだ挙句
env LANG=UTF-8 sudo -u www trac-admin /home/trac
とやってUTF-8言語状態のpython環境内でインタラクティブ操作をしてみた。
λ [FreeBSD] いろいろ日本語
…とやってから気づいたが、env LANG=UTF-8 sh とやれば UTF-8 が使えるシェルになるじゃんよ。 ~/.login_conf にこんなん書いてログイン直後から使えるようにしてみた。
me:\
:charset=UTF-8:\
:lang=UTF-8:
grep とかでもフツーに日本語使える。
…portsnap は動かないな。つーかtarがこけるっぽい。tar が使えんとさすがに不便だな。
λ [FreeBSD] graphviz 日本語
てことはもしかしてOSX同様に graphviz で日本語が通るかもよ?
パッケージからインストールしてみた。
% env LANG=C sudo pkg_add ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.1-release/All/graphviz-2.6_4.tbz % env LANG=C sudo pkg_add ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.1-release/All/ja-ipa-ttfonts-1.0.20040814_1,1.tbz
IPAフォントを入れると、勝手にX11のフォントとして登録してくれたのを fc-list コマンドで確認する。
% fc-list IPAUIGothic,IPA UIゴシック:style=Regular IPAGothic,IPAゴシック:style=Regular IPAPGothic,IPA Pゴシック:style=Regular IPAMincho,IPA明朝:style=Regular IPAPMincho,IPA P明朝:style=Regular
でもってUTF-8で日本語の入った dot ファイルを食わせてみる。
% env LANG=UTF-8 dot -Gfontname=IPAMincho -Nfontname=IPAMincho -Efontname=IPAMincho tako.dot -Tpng
できた!! freetype2→GD2 経由でUTF-8はフツーに通っているものと思われる。
ちなみに当初portinstallで入れようとしていたのだが、IPAフォントを使っている配布物のコンパイルの途中でf77を要求されて、 f77を入れていないシステム故コケた。
初代XServe(G4 1GHz)については、OSを10.2から更新してなかったのでOS代約10万+HDD交換代を払うかと思うと、ゴミ箱行きが濃厚になってきた…
graphviz でアンテナリモート取得グラフ にヒントはあったのに。3年遅れだ。
今の sid の graphviz は日本語が使えるようになっている事に昨日気がつく(fontname に日本語フォントttfを指定(.ttf を除いたファイル名) / dot ファイルは UTF-8)。
Graphvizドキュメントの日本語訳はここからゲット。
2006-04-07
λ 702NKII メーラー
Vodafoneの通常MMS受信した場合、サーバ側に保管されているメールを一括で削除できなくて困っている。
- 全削除メニューはない
- 「すべてマーク」→「削除」とやると全件削除しようとしている処理は見えるが、常に失敗する
Vodafone 3G MMS メール の 料金について (国内利用) に お客さまセンターへの問い合わせ結果が。ある程度自動で削除処理をやってくれるみたいだけど、1日20件を超えるようだとダメ。 基本的に会社宛メールを全部飛ばす感じで運用していたので全くもってこれでは困る。 My Vodafone に入ってみたけどメール設定はあっても、届いたメールを管理する機能はなかった。
とゆーわけで、携帯端末専用IMAP4アカウントを作成。PC側にも同じアカウントを作成して削除作業はPCで行うような感じで。 702NKIIでもIMAP4アカウントだったらまとめて削除するのも全然問題なかった。
ただこれだと通知されない(自分で取りにいかないといけない)から、今までの携帯転送部分を384bytesで切ってサーバに残らないようにしないとだめだ。
λ Graphviz 使いこなし
subgraph名をclusterで始めると、クラスタとして認識される。そうするとサブグラフ全体を四角で囲ってくれる。
縦方向の制御は rank を使う。(rankdir=TBの場合)
- subgraph を作って subgraph に対する rank 指定でなんとかする
- 透明edgeとedgeに対するconstraint(constraint=trueならrankを始端<終端にする, constraint=falseだと制御しない)
横方向の位置は、edge の weight を指定して、短くしたいedgeと長くしたいedgeを設定する。
λ オンキヨー、AV志向のViiv準拠PC
これでCPUがCoreDuoだったら購入意欲かなり高まったのだが。次に期待。
λ T字型ER で データを削除するタイミングが分からん
T字型ER は受注みたいに「データが増えまくる」モデルの設計の時には理解しやすいんだが、 「その増えたデータを期限切れになった時に消す」っていうのをどう実現すればいいのかがいまいち分からない。
実際のところはWebメールみたいなモデルを実装しようと思ってるんだけど。 せっかくなのでExchange2003みたいにメッセージ本体は1つだけ保存(宛先が複数になっていても)というようにしたいし。
UNIXのファイルシステムだとこうなるな。
- inode側 にリンクカウントがある
- Maildir中のファイル→メール本体(inode) をハードリンクを利用してメッセージ本体は1つを実現
- ユーザのメール削除動作は Trash に移動するだけ(リンクカウント減らない)
- Trash にファイルは一定時間過ぎたらファイルを削除(リンクカウントが1つ減る)
- inode側 のリンクカウントが0になったら実体を削除
2006-04-08
λ P4Merge
Perferceクライアントに含まれるマージツール。見た目かっこいい。Perferceクライアントは無料(サーバは人数増えると有料)
WinMerge日本語版も現在3ペイン実験版が提供されている。
λ MSI K8T Master2-FAR (MS9130) に 8GB メモリ搭載失敗
マニュアルによると最大8GBメモリサイズを使用可能とあったので、 TS256MDR72V3K を4枚利用しようとしたがだめだった。
- 8GB(2GB*4) Windows Server 2003 EE (R1) が起動中バーが左右に移動しているまま進まない(表示上は動作し続けている)
- Memtest を実行したが特に問題はなさそう。ただしMemtestが4GB以上の領域にアクセスしているのかどうかは不明
- 8GB(2GB*4) Windows Server 2003 EE (R2) インストーラーが Setup 中に止まる
- 4GB(2GB*2) に減らしたら起動した。が、システムプロパティは 3.5GB と言っている。メモリエラーがイベントビューアにあった
- 当初の8GBの時とメモリスロットの位置を交換しつつ、コンタクトZ処理もしてみる。メモリモジュールを3回抜き差しもしてみる。がやっぱり8GBだとダメ
Opteronマシンはもう1台あるから半分はそっち行きだな。残念。
λ Xbox 360 メディアブリーフィング
カルドセプトはXBox Live なのー。勘弁して。NDS になってくれればいいのに。
2006-04-09
λ 1200 x 1920 ピクセル
縦長にして横に2枚並べるってのを以前からやりたいとは思いつつも、 開発用の母艦がThinkPadなどのノートだとどうしても「母艦+上に追加モニター」という構成になってしまう。
今は 1600x1200x2枚(開発用) + 1024x768(メール等用) という体制。
DELL 3007WFPはAppleCinemaDisplayより10万安いな… 30インチを使う日は来るのだろうか。
2006-04-10
λ [FreeBSD] FreeBSD-6.1 RC でのpflog on daemontools
pflog を動かすための run スクリプト。pflog カーネルモジュールがロードされてなかったので /etc/rc.d/pflog からその部分をパクってきた。
#!/bin/sh
PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
pflog_prestart()
{
# load pflog kernel module if needed
if ! kldstat -q -m pflog; then
if kldload pflog; then
echo 'pflog module loaded.'
else
echo 'pflog module failed to load.'
return 1
fi
fi
# set pflog0 interface to up state
if ! ifconfig pflog0 up; then
echo 'could not not bring up pflog0.'
return 1
fi
# report we're ready to run pflogd
return 0
}
pflog_prestart || exit 1
exec 2>&1
exec softlimit -c 0 \
envdir ./env \
tcpdump -n -e -l -i pflog0
# pftcpdump options
# -n : don't resolve
# -e : Print the link-level header
# -l : stdout buffer
λ iCal2Cybozu
iCalendar形式のスケジュール管理ソフトを使うことはあるかな?
λ Trac ドキュメント管理 for ISO9001
Trac で ISO9001 っぽいドキュメント管理をしようとするとこんなかな。
- ドキュメント本体を Subversion リポジトリにつっこむ
- レビューの議事録は wiki に掲載 (日時/プロジェクト名/件名/レビュー目的/出席者)
- ドキュメントへの指摘事項は ticket にする。上記の レビューの議事録 wiki ページへの相互リンクをしておく。
- ドキュメントへの修正内容は コミットログ。上記の ticket と相互リンクしておく。
改定履歴を手で管理するなんて無駄すぎ。
λ [FreeBSD] 6.1-RC での pf.conf
ipv6.mimori.org に割り当てているIPv6アドレスに対して、ホスト内からのみ接続できなくなった。6.0 時代は通ってたのに。
pass quick on $ext_if from $external_addrv6 to $external_addrv6
てなルールを追加したら通るようになったけど、どういう変更があったのかよう分らん。
λ Audi A3 Sportback 3days モニターキャンペーン
2.0TFSIか3.2quattro (要するにミッションがDSG) だったら絶対乗りたいんだけど、
モニター車両の車種・ボディーカラー・装備等はご指定いただけません。
と判然としない。うーん。
とはいえ試乗3日間で5000円はレンタカーと比べればタダみたいなもんだ。
λ [FreeBSD] FreeBSDの公式Java JDK/JRE 1.5バイナリがリリース
かなり嬉しい。イマドキJRE1.3ってありえんだろ。
あとはMSがFreeBSD向けVirtualServerR2用モジュールを提供してくれるとかなーり環境が良くなるのだが… (Javaテスト環境という状況だったらSolaris10用でも可)
現在のVirtualServerR2用Linuxモジュールの提供は以下の通り。
- Red Hat Enterprise Linux 2.1 (update 6)
- Red Hat Enterprise Linux 3 (update 6)
- Red Hat Enterprise Linux 4
- SuSE Linux Enterprise Server 9
- Red Hat Linux 7.3
- Red Hat Linux 9.0
- SuSE Linux 9.2
- SuSE Linux 9.3
- SuSE Linux 10.0
もし今使うなら SuSE Linux 10.0 かなあ。
2006-04-11
λ [FreeBSD] 6.1-RC での daemontools
5.x以前の svscan が起動しない事件が2連続で発生。ルーティングとかsshdとか全面的に daemontools 管理下なので大ダメージだ。 ldconfig のタイミングかなんかで compat5x なライブラリが見えないんだろうか。
portupgrade -f sysutils/daemontools で再構築した。
λ 情処 システム管理 の勉強
残り1週間になって初めて参考書を開く。 某社の本社移転も含めていろいろやってきたので、知識レベルとしては大丈夫そうな気はするが、 例によって「正確な用語を手で書く」がネックになりそうだ。
あと初めて小論文形式の 午後II なので、600字〜800字の範囲で論文を書くというトレーニングをしている暇がさっぱりない。 ただし、一般的な技能として「考える技術・書く技術ワークブック」だけ先行してこなしていたので、 全体構成に向けてのイメージ作りはなんとかなりそう。
午後II はセキュリティ対策に絞って勝負すっかな。セキュアドで大体の用語把握してるし。
「考える技術・書く技術ワークブック」に沿うと全体として述べるべき論点は設問そのものである! たぶん導入部の S-C-Q のQにあたる部分。
- S はシステムの構成
- C は発生した問題
- Q は「どうやって解決するか」
この導入部をアに記述する。
「どうやって解決したか」をイに記述する。具体的な方策の項目数は5個ぐらい必要。
イで記述した内容の評価を書くが「概ねうまくいったが2,3の問題があった。問題を解決するにはどうするか」をウに記述する。
この小論文においては「決められた字数で書く」というのがおそらく至上命題である。 最初から100%完璧な問題解決をするのが目的ではない。 むしろ「問題点の把握→改善計画の立案→実施→評価と新たに発生した問題点の把握」という 改善プロセス[サイクル]を表現するものだと思うのがいいんじゃなかろうか。
λ MCTS必須科目日本語提供開始
アップグレードで受験する予定なのでとりあえずパス。たぶん2回目無料キャンペーンとのからみで6月にいくつか受けることになると思う。
λ Object Hierarchy and Inheritance in JavaScript
1997年のNetscapeドキュメント。Function.prototype は Netscape Navigator 3.0 に搭載されていた。
手元でもこのドキュメントは持っていて、ファイルのタイムスタンプによると俺は1997年12月18日に入手していた。 でも「functionの定義がオブジェクトの定義ってどういうこと??」という疑問で終わっていて、 当時はその威力がさっぱり分からなかった。
とはいえ捨てずに残っていたのはひっかかるものがあったんだと思う。
λ セキュリティ チェックリスト: ASP.NET 2.0
監査とログ記録のとこが弱いなあ>俺アプリ
特定の重たい要求に対して、パフォーマンス カウンタに記録する方法を学ばないといけなさそう。 ログを出力して後から解析でもよいのだが、 パフォーマンス カウンタ を使うと特定の閾値に対する警告を出す仕組みがある、ってのがよい。
λ Graphviz を利用した画像ファイル生成用 Makefile
ALL: transition.png gattai.png gattai2.png .SUFFIXES: .png .dot SSH = ssh DOT = dot DOTHOST = ホスト名を指定 FONT = IPAMincho .dot.png: $(SSH) $(DOTHOST) $(DOT) -Gfontname=$(FONT) -Nfontname=$(FONT) -Efontname=$(FONT) -Tpng < $< > $@
λ WinGraphviz
Shift_JISの日本語が通るらしい。COMオブジェクトでの提供でコマンドラインが無い。てなわけでまだ使ってない。
最新版バイナリがmsiでなくcabでしか提供されてないのは何かと思ったら、 Embended WinGraphviz in Internet Explorer な訳ね。 開発者側は Flash Player みたいにして使いたいようだ。
λ Graphviz の解説
「fontnameにTTFのファイル名を書く」の部分で arialuni.ttf なんてないしMS明朝等を指定する方法が謎だったが、
IPAフォントをC:\Windows\FONTS に突っ込んでそのファイル名を指定(ipag.ttf等)したら表示できた!
という訳で上のMakefileのssh部分はムダであった。
「IPAフォント」を取り出してWindowsで使う 解説。 多分オリジナルを展開するでもいいとは思うが。
Graphviz チュートリアル。わかりやすい。
Ajax/Graphviz。すごいけど、あんまりAjaxの意味はない。
2006-04-12
λ WebMatrixHosting
2ヶ月弱放置していたらサーバーエラー発生。(本当に2ヶ月放置するとアカウントがなくなるらしい) ASP.NETを v1.1 と v2.0 の間で変更したら直った。 認証が.NET Passport経由だと個別にアカウント覚えなくてよくて楽だ。
30日経過していたので、VWDHosting の方は案内通り消滅。
λ 防衛庁40億円でPC 5万6千台調達
1台あたり71428円。モニター込だろうからかなり安いなあ。 まあネットワークインフラやサーバはすでにあるものだろうし、そっちに比べたら恐らく大した値段ではないような。
むしろActiveDirectoryでグループポリシーの運用とかちゃんとやるのかとかに興味ある。
λ ファイアウォール不安定
最近sshが突然止まったりしてどうも不安定なファイアウォールを調査したところ、 ipfstat を取ったら、ipfilter の TCP state で 0/6 と中途半端になっている接続が大量に発見された。 特定のマシンからpop3s への接続のようだ。
IPFilterのステート保持時間の調整をしていないマシンだったので、
この調整値を投入しつつ、ipf -Fsコマンドで中途半端なセッションを一掃した。
λ Miredo
KDDI研究所6to4リレールータ の終わってしまった今こそ、IPv6体験するなら Teredo やろ! と思って調べてたら、 Miredo 発見。ぱっと見イケてる感じがする。
直接関係ないけど the experimental prefix will no longer be usable as of 6th June 2006. だそうだ。 もうすぐ 3ffe が使えなくなるってことかしら。使ってないけど。
λ [FreeBSD] Flets回線トラブル
FreeBSDマシンをルータにしている回線トラブルの調査でPPPoE(プロバイダ)側が悪いのかFlets側が悪いのかを調査するのに、 Flets.NET 経由での ping6 を利用した。
結果として通らなかったので Flets 側と判断。
局までの回線がどうなのかを調べるには、ping6 リンクローカルでの隣のノード とやるわけだが、
隣のノードが分からなければ ping6 -I インターフェース名 ff02::1 で調査。
こういう時のトラブルシューティングにIPv6便利。
Ethernetのフレームを直接扱う術もnetgraph使えばできそうな気はしてきたが。
man ng_ether より:
This command dumps all unrecognized packets received by the ``fxp0''
interface to standard output decoded in hex and ASCII:
nghook -a fxp0: orphans
This command sends the contents of sample.pkt out the interface ``fxp0'':
cat sample.pkt | nghook fxp0: orphans
These commands insert an ng_tee(4) node between the lower and upper pro-
tocol layers, which can be used for tracing packet flow, statistics,
etc.:
ngctl mkpeer fxp0: tee lower right
ngctl connect fxp0: lower upper left
ngctlコマンドに Graphviz用 dot ファイル生成機能があるのを発見。mpd で PPPoE やってる時のグラフ:

λ MCTS早期取得コンテスト
アップグレード試験を受ける気だったのでパスしようと思ってたら、 70-431 はアップグレードとは関係なく必須科目だったので受験することにした。
明日明後日でSQL2005無料トレーニング受けるので今月中にアタックぢゃ。 …今はプロメトリックでは提供されてないな。
λ 人の生と死はシステム化できない
以前のエントリで「見たくないものがある」という話があって、それって自分の死の事なんじゃないかなあと漠然と思ってたんですが。 日本の社会全般に、死ぬ事に対して正面から向き合わずに「誰かに押し付けて安心しようとする」傾向を感じていて、 ベンツを乗り回す坊さんはそれが職業だから置いとくとして(汗) 医者に押し付けるのは酷っていうか、 医者は神じゃないっつーのっていうか。
なんか話が逸れた。
俺は明日交通事故で死ぬかもしれないという思いをなるべく実感として持ちながら生きようとしてますわ。 まあ明日じゃないかもしれないけど100年後には死んでるわけでそこは受け入れないとね。
A4の紙一枚を1年分のカレンダーとして50枚床に並べてみて、この升目のどこかでたぶん死ぬ、 というようなことをやるとナカナカに現実感ありまふ。システムではないがそんなソリューション(?)
2006-04-13
λ 702NKII imap クライアント
一度接続すると接続しっぱなしになっていて、 サーバ側でメールが到着すると比較的すぐに「サーバ側から端末に向かって」パケットが流れていた。 (サーバ側の imapd が到着を検出するらしい)
定期的に接続するのに比べると無駄がないし、転送されるのはヘッダ情報だけなのでかなりいい。 移動中などPCを開いていられない環境になったら imap 接続するという生活パターンにしてみよう。
2006-04-14
λ Vodafone某サイトでエラー
数日前だが
Microsoft OLE DB Provider for ODBC Drivers エラー '80040e4d' [Microsoft][ODBC SQL Server Driver][SQL Server] ユーザー 'sa' はログインできませんでした。 /hoge/getTopMessage.inc 行30行
というエラーが出てきた。
sa でのログインってイマドキありえんだろ。SQL Injection あったらまるごとさようならだ。 しかもODBCなので古い体系で開発している可能性大。なので SQL Injection の可能性も大。
λ 702NKII PCからの接続 と 内蔵メーラーの接続
内蔵メーラーが IMAP 接続しっぱなしの状態だと、 なぜか認証が通ってから「ネットワークにコンピュータを登録中」の画面でコケる。
最終的にPCからの接続は通らないのは納得できるが、なんで認証が通るのか謎。IPアドレスの割当に失敗するのかな。
λ 自宅Router 設定消去
会社のFlets回線トラブル関係でいろいろいじってたら、IP電話の設定消してしまった orz
設定した時の日記見ながら再設定せねば。
ネットボランチDNS 電話アドレスサービス が邪魔をしてつながらない現象発生。以下のコマンドを投入したら通るようになった。
# pp select 2 # no netvolante-dns sip use pp on
λ ポケモンSuica
7月に発売するらしい。
2006-04-15
λ [.NET] Source Code for the Built-in ASP.NET 2.0 Providers Now Available for Download
デフォルトのままでも動くには動くんだけど、
- メール送信の部分を System.Net.Mail から変更したい
- パスワード再発行時にいきなり新しいパスワードを平文で送るのをなんとかしたい
- 新規登録時にメールアドレスの確認が出来るまで有効にしたくない
みたいなカスタマイズしたいところだったのですごくありがたい。
2006-04-16
λ 情報処理技術者試験 システム管理
午後II はセキュリティ方面のネタが全然書けない設問でかなりヤマを外した。緊急変更プロセスを選んで なんとか時間ぎりぎりで無理やり1600字埋めたけど、明らかにネタ不足で多分だめであろう。
クイックリリースが当たり前になってると、標準の変更プロセスと緊急の変更プロセスの差なんてほとんどねえよ。みたいな。
人の管理とか教育体制みたいな話だと全くもって書けんし。
2006-04-17
λ クレジットカード退会処理 修行
オリコカード
WebからPDFの退会届をダウンロードして記入の上郵送する。
ソニーファイナンス eLIO
電話をしてさんざん個人情報をしゃべらされた上に、改めて退会届が郵送で来るらしい。それに記入して返送する。
JCBカード (NTT.Com SafetyPass)
SafetyPass に最初に電話したら、クレジットカード機能付はJCBに連絡しろとのこと。
JCBの問い合わせ先に電話すると、音声自動応答だけで退会処理が完了した。ちとびっくり。
残ちょこむは商品選択するのがめんどかったので、全額寄付した。
λ SQL Server 2005 でインデックス付きビューがすべてのエディションで利用できること
計算式を含む場合や後方文字列で一致させるような場合に便利そう。
参照系で EnterpriseEdition をほいほい導入できないからね。 しかし「すべて」ってことは Express Edition も含むのか。
2006-04-18
λ サーバ停止16時間
ホストしている別ドメインの blosxom サイトにリファラースパム攻撃され、 perlプロセスが大量にできて仮想メモリをくいつくしていた。
apache2.2の worker だとRLimit*が効いてくれないようなので、なかなか対策しずらい。
pfを使って、一時的にテーブルを利用してパケットを落とすように設定した。
RCS file: RCS/pf.conf,v
retrieving revision 1.10
diff -u -r1.10 pf.conf
/// pf.conf 2006/04/10 13:18:35 1.10
+++ pf.conf 2006/04/18 03:59:13
@@ -15,7 +15,8 @@
icmp_out_types = "{echoreq, echorep, unreach, squench, timex}"
# Tables:
table <rfc1918_net> const { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }
+table <spammer_net> { }
multicast_net = "224.0.0.0/8"
# Options: tune the behavior of pf, default values are given.
@@ -72,6 +73,8 @@
block drop in quick on $ext_if from <rfc1918_net> to any
block drop out quick on $ext_if from any to <rfc1918_net>
+
+block drop log quick on $ext_if from <spammer_net> to any
# block IDENT (port 113)
block log quick inet proto tcp from any to any port = ident
実際にIPアドレスの範囲を投入
pfctl -t spammer_net -Tadd 200.118.2.219 pfctl -t spammer_net -Tadd 80.58.205.0/24 pfctl -t spammer_net -Tadd 69.59.189.156 pfctl -t spammer_net -Tadd 216.12.200.106 pfctl -t spammer_net -Tadd 213.140.56.4 pfctl -t spammer_net -Tadd 83.18.112.118 pfctl -t spammer_net -Tadd 217.19.149.243 pfctl -t spammer_net -Tadd 218.56.32.230 pfctl -t spammer_net -Tadd 212.138.64.179 pfctl -t spammer_net -Tadd 64.146.28.212 pfctl -t spammer_net -Tadd 213.140.14.185 pfctl -t spammer_net -Tadd 216.93.179.108 pfctl -t spammer_net -Tadd 80.249.72.180 pfctl -t spammer_net -Tadd 24.232.133.87 pfctl -t spammer_net -Tadd 163.153.67.12 pfctl -t spammer_net -Tadd 202.110.131.54 pfctl -t spammer_net -Tadd 217.76.144.121 pfctl -t spammer_net -Tadd 200.207.38.180 pfctl -t spammer_net -Tadd 65.216.75.240 pfctl -t spammer_net -Tadd 217.219.155.217 pfctl -t spammer_net -Tadd 80.249.72.179 pfctl -t spammer_net -Tadd 212.138.64.180 pfctl -t spammer_net -Tadd 63.215.145.249 pfctl -t spammer_net -Tadd 58.67.31.194 pfctl -t spammer_net -Tadd 213.137.96.130 pfctl -t spammer_net -Tadd 65.54.188.131 pfctl -t spammer_net -Tadd 151.198.230.253 pfctl -t spammer_net -Tadd 193.227.17.30 pfctl -t spammer_net -Tadd 218.63.252.219 pfctl -t spammer_net -Tadd 210.146.119.101 pfctl -t spammer_net -Tadd 203.36.224.19 pfctl -t spammer_net -Tadd 60.32.106.233 pfctl -t spammer_net -vTshow
パケットをdropしてセッション確立してないはずなのに、リファラースパム要求は1秒1回ぐらいの割合でずーっと来るなあ。 どういうシステムなんだろ。単にtimeout短いだけなのかしら。
λ MCSE Messaging, MCSA Messaging カード来た
(MCSE,MCSA)*(2000,2003) の4枚同時取得。だったのだが、なぜか昨年夏取得した MCDST も重複して送られてきた。
λ 情報処理技術者試験 システム管理 自己採点
午前問題の答えが公開されていたので自己採点。46/55 なんで多分クリアだろう。
しかしいきなり問1で「キャッシュに存在しない確率r」を「キャッシュに存在する確率」と読み違えていたのがショック。 問題文でわざわざこの部分は太字にもしてあったのにー。
λ 日本語クラス名での ソースコードファイル名の管理
Subversionで日本語ファイル名を扱うのは危険なので(現在サーバ側はFreeBSDだから)、 ファイル名だけは英数字を基本としているのだが、日本語クラス名に対応する英語名称を調べるのがめんどい。
基本台帳って英語でどう言うのかなあ。daityo? Google経由英辞郎で resident registry。
λ VirtualServer 2005 R2 上の WindowsXP で動く AntiVirus ソフト
自分では試してないが NortonAntiVirus2005 が動かなかったらしい。AVG AntiVirus はOK だけど、日本語じゃないので客先提案はしずらい。
λ IISの集中バイナリログ と LogParser
後でいろいろ加工するんだったら、集中バイナリログ+LogParser で運用するのがいいかもしんない。
R2 から登場した Common Logging File System と IIS Log が連携するのかどうかは未調査。 IIS7 からの対応のような気はするが。 IIS のログをCPU&DISK資源的にオフロードする方法がいまいち確立しない。
2006-04-19
λ またマシン落ちた
昨日と別のIPからアタックされてた。1時間監視して18IP追加。
リファラースパムよけなしでのblog運用はできないし、自由に設置させられない。 とりあえずURLの移動を依頼した。数週間は持つであろう(希望)
λ tdiary-2.1.4 アップデート作業
自分用インストールスクリプトを作成してみた。
#!/bin/sh # tdiarydir=/home/h/mimori.org/tdiary-2.1.4 cd $tdiarydir # 作業中はアクセス不能にしておく touch .htaccess chmod 000 .htaccess # cp ./misc/plugin/squeeze.rb ./squeeze.rb # chmod a+x squeeze.rb cp ./misc/plugin/trackback/tb.rb ./tb.rb chmod a+x tb.rb cp ./misc/style/rd/rd_style.rb ./tdiary/rd_style.rb ln -s /home/h/tdiary/tdiary.conf tdiary.conf ln -s /home/h/tdiary200/cache/html squeeze touch antenna.lirs ln -s /home/h/tdiary/antenna.lirs hina.di # 念のため .htaccess の設定は最後にする cp /home/h/tdiary/dailyupdate/dot.htaccess ./.htaccess chmod 644 .htaccess
オリジナルファイル側を変更して、独自プラグインを利用している部分をばっさり削除。2004年以降基本的に使ってなかったし。
リンク元表示を復活させた。以前表示できてなかった2005年4月全体の表示でこけなくなったのでなんとかなるかな。
λ [FreeBSD] ACCEPT_FILTER
リンク元をたどってたらこんなのが。2chで ACCEPT_FILTER を適用したら劇的に負荷が下がったそうだ。 「過去最強の呪文」との声もあり。
某所の画像キャッシュサーバを更新したいんだけど、予備の機材がないんだよなー。
λ Cheetah 15K.5
エンタープライズ向けに出せるぐらいに垂直磁気記録方式は安定してきたのかしら。
λ SQL Server 2005 SP1
キター
λ SQL Server 2005 Service Broker
- MessageType は struct のようなもの
- Contract は interface のようなもの。中で利用される型は MessageType で規定される。
- Queue はキュー
- Service は Contract(interface)→Queue(待ち行列)→Procedure(処理) のかたまり。
2006-04-20
λ SQL Server 2005 SP1 適用作業
あんまりメインで開発作業に使ってない持ち歩きマシンに適用しようとしたら、ReportingService にログインできなくて進めなくなった。 インストール後にマシン名を変えていたのが敗因らしい。 その他にも IIS Admin Service が [無効] で全く起動できない状態だったとかいろいろメモリ節約設定で手間取った。
レイアウトいじりぐらいができればいいんで、ローカルの ReportingService はサービスとしては不要だろうとアンインストールすることにした。
ていうか Microsoft SQL Server 2005 Express Edition with Advanced Services を試そう。
Microsoft SQL Server 2005 Express Edition with Advanced Services だけあれば、データベースエンジンのアップグレードもしてくれるので、 データベースエンジンだけのアップグレードを個別に作業する必要はない。 こいつの中には ManagementStudioExpress も入っている。
が、SQLServer2005 Developer Edition が入っている環境に、Express な ReportingService を入れようとしても入れさせてくれない感じ。
λ 今日のリファラースパム
404 not found を返すようになったらほぼ止まった気がする。
λ RSS の中身が https
例によってhttps経由で更新しているからなのだが…
tdiary.conf に以下の記述をすれば直るかな?
@base_url = 'http://mimori.org/~h/tdiary/'
CSRF対策にひっかかって更新できなかったorz 当面作業は中断。
2006-04-21
λ 70-431
876点で合格。
- bcp のコマンドラインオプション
- ビュー作る時のオプション
- レプリケーションの監視
あたりを今後勉強しないとなー。
今後の予定
- MCITP(DatabaseAdministrator) : 70-447 (upgrade)
- MCITP(DatabaseDeveloper) : 70-441, 442
- MCITP(BusinessIntelligenceDeveloper) : 70-445, 446
- MCPD(WebDeveloper) : 70-551 (upgrade)
- MCPD(EnterpriseApplicationDeveloper) : 70-553, 70-554 (upgrade)
- MCPD(WindowsDeveloper) : 70-552 (upgrade)
無料バウチャー3枚を上から順番に適用して、MCPD方面は前回同様 TechEd の時についでに受ける方向で。
λ VUE 新宿会場
初めてVUEで受けたけど、時間前に到着したら「お席は用意できてます」っていきなり始められて、 プロメトリックに比べてなかなかアバウトだった。 さらに無料バウチャー使ったのにスタンプカードにスタンプ押してくれて、6回受けると何かくれるらしい。 遅刻にも比較的寛容という噂。
しばらくVUE使ってみよう。
λ 今年中にPDFとFlashを統合する
Flash側がPDF取り込めるように拡張されるんなら歓迎だけど、PDF(Portable Document Format)側の仕様を増やすのはやめてほしいなあ。 どんどん Portable じゃなくなるじゃん。
λ [FreeBSD] OSPFルーティングが朝になると腐ってる
普段は大丈夫なのに、朝来ると外向けルーティングが腐っていることがたまにある。 夜中のうちにFlets回線かなにかが一時的に落ちたりしてるんじゃなかろうかと邪推し、 朝の6時にzebraを再起動するようにしてみた。
λ MS クエリビルダの罠
SELECT * FROM hoge というSQL文の * の部分を展開するのに利用していたら、EXISTS 文の中の SELECT * まで展開しやがった。やめてー
2006-04-22
λ 穴川を先頭に宮野木JCTまで渋滞
実家にいた頃に車に乗っている時のデフォルトは BayFM だった。 交通情報で幾度となく「穴川を先頭に宮野木JCTまで渋滞」のフレーズを聞いたが、 実際に体験したのは初めてのような気がする。
千葉市の向こうへの用事なんて以前は全然なかったからなあ。
2006-04-23
λ MCTS(SQL Server 2005)
MCPサイトのMyTranscriptで確認できた。やっぱVUEのが仕事早いな。
λ ピア ツー ピア トランザクション レプリケーション
ピア ツー ピア トポロジのすべてのノードはピアです。各ノードは同じスキーマとデータにパブリッシュおよびサブスクライブします。変更 (挿入、更新、および削除) は、すべてのノードで実行できます。指定された 1 つのノードに変更が適用されたことをレプリケーションが認識するので、変更がノードを何度も循環することはありません。
ディストリビューターがいらないだけかと思ったら、想像以上にすごい機能だぞ。 仕組みとしては netnews に近い雰囲気だ。 書き込みの比率が比較的多いアプリケーションで使うとよさそう。
でもメンテナンスの注意事項を見ると、運用管理上はあんまり嬉しくないかも。
2006-04-24
λ 5年ぶりにIPv6論争の季節がやってきましたよ
Flets.Net が IPv6 global address なのに外に出られない話
limited connectivityがないのであれば,global addressではなくsite-local addressを振るべき
Flets.Net が一般向けサービスである以上、ただの site-local でもまずいわけで。 site-local だけど global に予約されたアドレス空間みたいのがあるといいのかなあ。
中国の独自DNSrootじゃないけど、今後は The Net じゃないネットワークとの共存も必要になるんじゃなかろうか。
λ [.NET] Microsoft Visual Studio 2005によるWebアプリケーション構築技法―ASP.NET 2.0上での参照系・更新系アプリケーションの設計
5月22日発売予定。ISBNとかもまだだけどメモ
λ [.NET] Source Code for the Built-in ASP.NET 2.0 Providers Now Available for Download
軽く読んだ。パスワードのエンコード方式が分かったのが最大の収穫。 中身のかなりの部分は入力チェックに費やされていた。やっぱそうなるよな。
一部については自分のとこのライブラリに組み込んでブレークポイント設定してとめられるのも確認した。
しかしメール送信部分は含まれてなかったな。 Membership クラス自体にそういうインターフェースないんだから当たり前だったのだが、 Web Control のメール発信機能との闘いは終わらない…
λ Charles Web Debugging Proxy SSL Debugging
内部にCharles CAが仕込まれていて、動的にCharles CAによって署名された証明書を生成するらしい。
なかなか豪快なProxyソフトだ。
fiddler + RPASpy でもSSLサイトへのアクセスURLぐらいは見れるので、 当面はこれで作業する。
λ [FreeBSD] BruteForceBlocker
インストールした。ports から入れた後、/usr/local/share/doc/bruteforceblocker/INSTALL を見ながら設定した。 初回にこのサイトにある blocklist をダウンロードして初期テーブルとして利用している。
設定されたテーブル内容とキャッチ状況は以下のコマンドで確認した。
pfctl -t bruteforce -vTshow
いきなり1400エントリもあるのはどうかなあ。 しばらく link local IPv6 でのtelnetができるマシンで様子見をしよう。
λ ヤマハ VPNクライアントソフトウェア
RTX1500だと PPTP がなくてちょっと困ってたのに対応できそう。 IPSec(NATトラバーサル+XAUTH) ってことはファームウェアも更新されるんだな。
λ FreeBSD 6.0 設定手順みたいなものを Trac につっこむ
新人研修の一環として FreeBSD インストールやらせるらしいので、ローカル流儀なところを Trac 内の Wiki に書いた。 (どっちがついでか謎だが、この前サボって daemontools 化してなかったサーバ内のサービスを daemontools 化する作業をしつつドキュメント書き)
一般的な手順については、 FreeBSD Expert 2006 を渡すだけの方向で。
2006-04-25
λ はてな認証APIの使い方
なお、certパラメータは一回使い切りの値になります。同じcertの値で再度ユーザー情報を取得することはできません。
一回限りなのはいいとして、有効期限はどうなってるんだろ。アプリケーション側で勝手に決めろということかしら。 はてな側のアカウントに有効期限がないので、それでいいような気もする。
しかし現時点で新たに作る"公開"認証APIに利用するハッシュアルゴリズムとして MD5 はないだろう。SHA256ぐらいにしてホスイ。
λ SSL での AES サポート
WindowsXP 世代での AES サポートは今後もやる気なしということか?
λ Opera9 beta
wiki にアクセスしてみたら、日本語リンクで行った先のURL表示(アドレスバー) が日本語のままだった。 %ほげほげ の部分をデコードして表示してくれるようだ。面白い。
クライアント証明書の利用について、証明書領域を保護する Master Password を設定できるが、 「毎回パスワード入れる」「セッションの間有効」「n分間有効」と選べるのがよい。
λ ブラウザにより表示を切り替える
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers の中を見ればわかるが、 ブラウザによる切り替えというよりは ASP.NET Mobile Control が統合された結果としてこうなっている。 User-Agent によって切り替えるという切り口では同じだから。
日本の最新の携帯事情に追従しているのかどうかが謎。中に入っている機種名からするとちょっと古めなので。
λ Virtual Keyboard と 702NKII
<URL:http://www.virtual-laser-keyboard.com/> を見たら Nokia 6680 がサポートされている記述があり、 VKB付属のドライバCDを確認したら、Symbian 用のドライバがあった。ネットからダウンロードしようと探し回っていた俺はアホか。
とはいえ、Vodafone公認アプリではないので通常のインストールには失敗し、 更に今まで使っていた Java版unsis でも展開に失敗したので、 HalWin を使って展開した。
- Eドライブへのインストール用として展開し、RS-MMC に E ドライブ用の system 以下をまるごとコピー
- C:/system/fep/VkbFep.fep のみ FExplorer を使って本体上にコピーし、リセット。
マニュアルに記載されている通りに使えた〜。選択ボタンは [Fn+Return] に割り当てられていた。1ボタンだと危険ということかしら。
λ Trac に記述した wiki 上の文書管理
Subversionリポジトリに取り込みたいような、一応Trac(バックエンドはsqlite)上で履歴管理されてるからそれでいいような。微妙。
2006-04-26
λ Lets'Note 新機種
Bluetooth 内蔵なら買い換えたかもしれんが、パス。
(追記) バッファロー 2GBのDDR2メモリも受注生産 が 5〜10万円の間だったら検討したかもしれんが、20万ではbit単価高すぎ。
λ A Crash Course on ASP.NET Control Development: Template Properties
ASP.NET 2.0 でのリッチな Web Control は内部的にテンプレートをかかえられるようになっていて、 細かい制御もやり放題っぽいのだがいい資料がなかなかなかった。
λ .jp ドメイン更新
お名前.com から3度目の電話催促。営業をがんばってるっつーかなんつーか。
今回は根負けしたが、将来的にはJPRS(JPDirect)にしやう。インフラ維持してもらっているお布施のつもりで。
λ [FreeBSD] trac の設定
/usr/local/etc/apache22/Includes に拡張子 conf でファイルを置いておくと、 勝手に読み込むapache22の設定ファイルモデルは結構いけてると思うようになったので、 それに準ずるように設定ファイルを書き換えてみた。
/usr/local/etc/apache22/Includes/trac.conf とかいう感じでファイルをつっこむ。
### Trac共通の設定 Alias /trac-htdocs /usr/local/share/trac/htdocs <Directory "/usr/local/share/trac/htdocs"> Order allow,deny Allow from all </Directory> <Directory "/usr/local/share/trac/cgi-bin/"> AddHandler cgi-script .cgi DirectoryIndex trac.cgi Options ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> ### 各プロジェクトの設定 # trac_mimori.org Alias /trac_mimori.org/trac.cgi/chrome/common /usr/local/share/trac/htdocs Alias /trac_mimori.org/ "/usr/local/share/trac/cgi-bin/" <Location "/trac_mimori.org/"> SetEnv TRAC_ENV "/home/svn/trac/mimori.org" SSLVerifyClient require </Location> <Location "/trac_mimori.org/trac.cgi/login"> AuthType Basic AuthName "Trac" AuthUserFile /home/svn/trac/mimori.org/conf/trac.htpasswd Require valid-user </Location>
trac.ini で最低限必要なのは以下のような設定。utf-8 の代わりに Shift_JIS を使うことも出来る。
[trac] htdocs_location = /trac-htdocs default_charset = utf-8
λ Redirectを使わず リンクをクリックした回数をカウントしたい
target=_blank を使わないで新しいウィンドウでリンクを開く方法 と ユーザがページに滞在した時間をサーバに記録するJavaScript を眺めていてこんなん作ってみた。
「そのリンクをたどって目的地に行った」というログを取るために count.cgi を叩きにいくjavascript。
var LinkCount = Class.create();
LinkCount.prototype = {
initialize: function(className, parentElement) {
var elements = document.getElementsByClassName(className, parentElement);
for (var i = 0, len = elements.length; i < len; i++) {
Event.observe(elements[i], 'click', this.addLinkCount.bindAsEventListener(this));
}
},
addLinkCount: function(event) {
var element = Event.element(event);
var link = element.getAttribute('href');
var trackurl = "http://mimori.org/count.cgi?u=" + escape(link);
var image = new Image;
image.src = trackurl;
}
};
Event.observe(window, 'load', function () {
new LinkCount('count');
});
ここではサンプルとしてカウントを取りたいAタグに class="count" というクラスを割り当てると、そーゆー動作をする。 JavaScriptを使っていない人のことは知らんが、悪さはしないと思う。(リンクは辿れるはず)
2006-04-27
λ Trac におけるクロスサイトスクリプティングの脆弱性
Trac 0.9.5 になっている。
ports/japanese/tracは現時点ではまだ未対応。 ports/www/tracは対応済み。
ports/japanese/trac/Makefile の中にあるバージョン番号を 0.9.4 → 0.9.5 に書き換えて、
make makesum; portupgrade japanese/trac で更新した。
λ Livedoor Reader
ここんとこしばらく Lunascape でRSSウォッチしていたのだが、 Vodafoneパケ代の恐怖 という状況下だと「クライアントマシンから勝手にRSSをチェックしにいくのは困る」、 という理由で使いずらいなあと思っていた。(あとまとめて既読にする機能が欲しかった)
そんなわけで Livedoor Reader。Lunascape 側の設定は放置なので、タブブラウザとしては Opera, Firefox を試用中。
左に Livedoor Reader Subscribe 用アイコンも貼ってみた。
λ VMWare Server β
FreeBSD の minimal インストール状態で少し触ってみた。
- Diskイメージは圧縮されてないみたい。がっつり食われるのでノートだと使いずらい?
- インターフェースはWeb経由のもあるけど、そうでないのもある。ローカルマシンでの操作ならMS VirtualServerよりもサクサク動く。
- 仮想ネットワークは 0番から9番までの10個用意されている。0番は基本的にホストマシンとのブリッジ専用。8番はNAT経由で外部への接続可能。それ以外はVMWare内部ネットワークで、DHCPを使うことも可能。
- FreeBSDというゲストOSタイプを指定可能、追加ツールもあるが、どっちかというとXwindowへの対応用であって、カーネルモジュールがあるわけではなさげ。時計の合わせ方が分からん。
仮想マシン上のFreeBSDでzebraを使ってbgpのテスト環境を作りたいだけなのだが…
時計が合わない環境でルーティングプロトコル扱うのは危険だが、Linuxだと IPv6 の扱いが微妙っぽいし。悩ましい。
2006-04-28
λ NSD
ラウンドロビンができないのは痛いようなそうでもないような。
高負荷高可用性サイトだとロードバランサを入れるのだが、 「ロードバランサ+バックエンド」のかたまりが複数系統になるような超高負荷サイトの構築まではやったことないので、 単独で高可用性が担保できないラウンドロビンは実際のところあんまり使わない。 (クライアント側でリトライするんだったら、クライアントソフト側でラウンドロビンをその他の高可用性機能と共に組み込めばいいし…)
DNS サーバパフォーマンス評価を読むと、 参照パフォーマンスは最高。ただし更新には弱いと。
bind9+dnscache からわざわざ乗り換える程ではないかなあ。新規DNSサーバ立ち上げするような機会に思い出すぐらいでいいか。 openblocks みたいなショボマシンに搭載するには最適。
λ Opera 9
スペースを押してるだけで、HTMLヘッダーにある link rel="next" なリンクを辿ってくれるのが便利。 これを書いてないBBS形式の日記でもたどってくれてるんだけど、何を認識しているんだろう…
2006-04-29
λ A Crash Course on ASP.NET Control Development: Template Properties 読んだ
ITemplate の公開メソッドは void InstantiateIn (Control container) しかありません、ってエーー。Eval しかありませんぐらいのファンキーさだ。
メソッドとしてはそれしかないんだけど、ITemplate を使う側と使われる側での値のやりとりはメソッドではない場所で行われていて、 Property と Attribute が鍵を握っているようだ。 パラダイムシフトに頭が追いついていないなあ。
λ Virtual Machine Additions For Linux (Virtual Server 2005 R2)
FreeBSDに組み込めないもんかとカーネルモジュール部分のソースを見てみたけど、 メモリの読み書き、イベントのやりとりIRQの設定、ぐらいで具体的な仕様はさっぱり分からんかった。 具体的な部分はバイナリで提供されているdaemonプログラムに入っているようだ。
もしかしたらLinux Emulationで動くかもしれんけど闘う気にならん。
λ RSS の中身が https になるのを今度こそ修正
tdiary.conf に以下の記述をした上で、更新を送信する際のRefererを http://mimori.org/~h/tdiary/update.rb にするだけだった。
@base_url = 'http://mimori.org/~h/tdiary/'
@options['csrf_protection_allowed_referer_regexp_for_update']の行を変更する方法もあったが、 余分なアクセス許可は増やさない方が吉。
「前の10日分」が動いてなかったのは、.htaccess 内の
RewriteRule ([0-9]+)\.html$ index.rb?date=$1 [L]
を
RewriteRule ([-0-9]+)\.html$ index.rb?date=$1 [L]
にするだけだった。
λ IBM x346 HostRAID 失敗
RAID の構成作業
BIOS のAdaptecのところで CTRL-A を押してAdaptecの設定画面に突入
- AIC-7902A の Configure/View SCSI Controller Settings に入って、 HostRAID を Enable にする
- AIC-7902B の Configure/View SCSI Controller Settings に入って、 HostRAID を Enable にする
- AIC-7902B の Configure/View HostRAID Settings に入る
HostRAID Settings で RAID構成作業
- Create で RAID1 を選ぶ、ディスクの ID=0, ID=1 を選択、newRAID(コピーしない)を選択、RAID名称を入れてビルド
- Spare で ID=2 を選択
newRAID のところは、 copy(0→1),copy(1→0) というのも選択できて、リビルドに使える。
FreeBSDのインストール作業
例によってACPI有効だと acd0 の認識のあとで止まってしまう。ahd を無効にできるかなと、hint を指定してみたが、ムダだったようだ。
set hint.acpi.0.disabled=1 set hint.ahd.0.disabled=1 set hint.ahd.1.disabled=1
ahdは結局無効にならず、ahd経由で da0,da1,da2 が見える。仕方がないので da0 に向かってインストール。
ID=0のディスクを抜いてブートしてみると、ブート領域が見つからなかったようで、NICのPXEが起動していた。
da0 にインストールした環境で、ahd デバイスを抜いたカーネルを作成してブートしてみたが、やはり root partition がないといってブートしない。 結局のところ 6.1-RC の ips ドライバでは認識しないようだ。
2006-04-30
λ tDiary 昨年以前の特定の日付へのアクセスは静的HTMLに飛ばす
mod_rewrite を使って squeeze.rb が生成したファイルに飛ばすことにした。ln -s ~/tdiary200/cache/html squeeze でシンボリックリンクを作成してから。
.htaccess:
RewriteEngine on
RewriteBase /~h/tdiary
RewriteCond %{HTTP_USER_AGENT} ^Hatena.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^samidare [OR]
RewriteCond %{REMOTE_ADDR} ^66\.154\.38\.18$
RewriteRule ^.*$ index.rdf [L]
RewriteCond %{HTTP_USER_AGENT} ^NATSU-MICAN/.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WDB/.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^TAMATEBAKO/.*
RewriteRule ^$ hina.di [L]
RewriteRule ^2003([0-9]{4})\.html$ squeeze/2003/$1 [L]
RewriteRule ^2004([0-9]{4})\.html$ squeeze/2004/$1 [L]
RewriteRule ^2005([0-9]{4})\.html$ squeeze/2005/$1 [L]
RewriteRule ^([-0-9]+)\.html$ index.rb?date=$1 [L]
RewriteRule index.html$ index.rb [L]
foontone, my-ex プラグインを消去、title_list プラグインを resent_list プラグインに変更。
カテゴリで利用していた .Net → .NET の正規化作業もした。
λ [ASP.NET] DataGrid Template Columns creation in Runtime (using C#) and DataBinding
DataGrid に対して動的にテンプレートを追加するサンプル
λ Opera 生活
Shift+カーソルキーでリンク間を移動するキーボードナビゲーションがいい。IEだとタブ押しまくり以外の方法を知らなかったからなあ。 他にもいくつか移動のためのナビゲーションが存在する。
これだったらマウスなしで生活できそうだ。
あと画像表示は Cache されたのだけ自動表示にしてみた。パケ代節約にも貢献。
λ Opera の PKI 管理
SSLサイトへのアクセスに関して、アドレスバーの表示が 鍵が外れた表示になっていることがある。 Thawteの SSL123 (mimori.orgのissuer)は最初から鍵外れた表示で、ALT+Enter でプロパティを表示させると 実在証明してないことが分かったんだけど、どういう仕組みかと調べる。
Accept するけど Warn を出すっていうRoot証明書を定義できるので、 GeoTrust系(GeoTrustとEquifax で始まるCA全部)で警告を出すようにしてみた。 この状態だと確かにアドレスバーの表示が 鍵が外れた表示になる。
GeoTrust系証明書に対して「弱い信頼表示」できるようになったのは嬉しい。
でも当初の Thawte SSL123 がそうなる理由がわからんな。 あれ、https://mixi.jp/home.pl も鍵外れてる。Verisign なのに。ますますわからん。
using plugin: amazon calendar2 category html_anchor makelirs makerss recent_comment3 recent_trackback3 squeeze tb-send tb-show recent_list
Copyright(C) 2003-2007 by KAMIYA Satosi (上美谷 智史) All rights reserved.
λ こ [残念orz..]