[an error occurred while processing this directive]

2005年3月分

[an error occurred while processing this directive]

最新の日記へ

前月 翌月

2005/2/29・・じゃなくて3/1(ぉ)(火) 18:56頃
早いものでもう3月。今月こそ皆勤なるか?まあ無理だろうけど(ぉ)。
●アクセス解析とか
あ゛〜更新してねぇ。また暇があったらやっとくか・・って見てる人いるのかねぇ。
●MOOPS&開発
停滞中(ぉ)。やばい、なんとかしなければ。
●SETI@home/BOINC
また停電で止まってる。それと、トップページがローカライズ(日本人から言えば日本語化)されてるらしいが、IEだと標準では文字化けする。手動
でUTF-8にしてやれば文字化けは解消するのだが、そもそもcharsetでiso-8859-1指定してるのにUTF-8な日本語コード入れてる時点でおかしい。ローカ
ライズするんだったらその辺もしっかりやってほしいものだ。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/3(木)18:42頃
早速更新抜けてるorz。
●MOOPS
いくつかのルーチンを別ファイルに分けてincludeするように変更。これはプログラム自体の変更ではないが、私にとっては分かりやすくミスも少なく
なる・・はずである。あとはmemMOOPSのスコアオーバーフロー対策や、ログの整理(まだ完了してないが)、細かい変更など。まだhdMOOPSの実装が
できていないのと、ログの整理(具体的にはバグ対処用ログと結果ログの分離、スコアの保存など)を完了させる必要がある。とりあえずそれぐらい
できたらリリースするか。
●SETI@home/BOINC
停電を機にいろいろ強化しておくらしいので落ちてる。あと、前回書いたローカライズが止まっている。もしかしてこのページ見たから?(んなわけ
ないない)本当のところはどうなんだろう。やっぱり中途半端なローカライズだから引っ込めたのか?それともDB鯖落ちてるからローカライズシステム
も止まってるのか?復帰後に見たら分かるかもしれない。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/5(土)5:06頃
あ゛〜不規則な生活に陥っている・・・。
●SETI@home/BOINC
あまりに長いダウンのせいで、「Naomi」のWUが枯渇してた。早速リクエスト投げて5WUほどもらった。表のニュースのほうには何もないが、Technical
Newsのほうには復帰したが、UPSとの接続メンテで落ちるかもと書いてあった。あと、前回書いたローカライズは復活していて、今度は変なコード指定
がないのでIEが自動認識して化けずに表示される。でもまだ途中らしく、左側の手順1〜3のうち、3だけがまだ英語のままだった。これって原文読みたい
ときはどうすればいいんだろう?IEの設定を英語優先にすればいいのかな???でもそれだと他の同じシステムを使ってるサイトでも英語表示になり
そうだが。
●MOOPS
前の更新と順番が逆・・というのはどうでもいいので(ぉ)おいといて、いよいよhdMOOPSの実装に取り掛かる。しかしこれが結構大変・・でもなく
あっさり実装完了(ぉ)。といってもまだMOOPS本体から呼び出すのではなくテストプログラムのみだが、他のベンチマーク(aluMOOPSやmemMOOPS)と
同じく簡単な関数にしたので呼び出し側の記述はそれほど難しくないはずだ。しかし問題は数値だな。hdMOOPSの指標はMOOPS(Million Oct Octet Per
Second)なのだが、これだと5MiB/sぐらいだと0.65MOOPSになってしまう(スコアはシーケンシャルとランダムの読み書きの平均速度の平均)。
スコア数値を上げようと思ったらMOOPSをMillion Of Octet(?)とかMilliOn Octet(これはいくらなんでも・・)適当に解釈を変えるしかないが、
その場合MOOPSの元の理念(無駄に8で割っている値(ぉ))というのがなくなってしまう。もともとMOOPSを作った当初はここまで本格的に作りこむこと
を考えていなくて、単なるネタでMOOPS(Million Oct Operations Per Second)としたので、今になって詰まっている。第一CPU能力こそ数年前の
1000倍とか10000倍とかになっていて、秒間何百万命令も実行できるが、HDDは容量は別として読み書き速度はそんなに速くないからね・・。まあ、
このまま低いスコアでリリースする可能性が大だな。インフレスコアが多い中でそういうのもアリかもしれない。
●桃の節句というかひな祭り
一応我が家にも女の子(妹)いるのでかざりました。というか今でもあります。しまうのが遅れると嫁に行くのが遅くなるとかいいますが、本人は
・・・いや、あまり言わないでおきましょう(ぉ)。だれか(妹の関係者)ここ見てるかもしれませんし。と、これだけでは書くことがあまりないので
雛人形のネタを。うちの雛人形は全部出すとフルセットでそろってるんですが(三人官女とか五人囃子とか家具とか)、出したり片付けたりするのが
面倒なので最近はメインの2体しか出してません。あと、お内裏様(っていうのは2体の呼び名なんですかね?ここでは男の方)の刀を磨いてあったり
します。一応ペーパーナイフぐらいには。もちろん磨いたのは私です(ぉ)。紙やすりと包丁研ぎ器を使って磨き上げました・・半分だけ(中途半端
やな〜・・某ネタ風に(ぉ))。でも安っぽい金属(そりゃ本物の刃物用の金属だと危なすぎ)なので黄色くなってしまった。もし将来買取とか出す
としたら・・
鑑定人「う〜ん、これはいいですね。○○万ぐらいですかね。」
私たち「(やったー!!そんなに高いのか!)」
鑑定人「ん?この刀・・」
私「(うっ、やべ・・)」
鑑定人「・・・さっきの取り消し。1000円ですね(全体で)」
私たち「・・・」
私以外の家族「こ〜ら〜。よ〜く〜も〜・・!!(怒怒怒)」
私「ひぃぃぃぃぃ・・」
なんてことになったりして。まあ売ったりしないとは思いますが。
追記:上の偽買取劇はネタです。第一2桁も行かないでしょう。あと、刀の損傷(しかも普通あまり見ない内部)だけでそんなに価値落ちたりしない
でしょう。むしろ外観から見える傷とか、小物の欠品が査定に響きそうな気がします。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/6(日)5:33頃
不規則生活げっふげふ〜(ぉ)。
●SETI@home/BOINC
最近またSETI@home/BOINC日記と化してきましたね。まあそれだけSETI@home/BOINCが不安定ということですが。あれから結局またすぐに落ちて
しまい、「Naomi」と「Fen」のWUが枯渇しました。相変わらず「Sephie」だけは27もWUのこってるんですが(BOINCのシステムが「Sephie」を過大評価
しすぎ?)。なのでしばらく「Naomi」と「Fen」はCnQ(「Naomi」のAthlon 64の省電力機能)とEIST(「Fen」のPentium Mの省電力機能)動かして
電力抑えておきますか(使ってない時はハイバネーション(STD)かスタンバイ(STR)で落としておく)。いや、いまさら旧SETIやるものなんだし、
かといってこの一時的なダウンのためだけに他のプロジェクト(Einstein@home/BOINCとかClimate Predictionとか)参加するのもあれだし。まあ、
すぐに復帰するだろうからあまり電気代減らないだろうけどね。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/6(日)8:17頃
二度目。ちなみに途中一度寝ている。
●週刊魔法戦隊
by DeAGOSTINI・・というのはもちろん嘘です。もしあったら、毎号ついてくるパーツを集めると変身セットが完成するとかなのかな?まあ、それは
おいといて。今回は黄がライトニングボルト(いや、むしろサンダーストームかも。ってかRO知らないと意味不明(ぉ))で煙幕張って逃げてましたね。
それと、戦隊物の定番の全体合体がついに登場。これ以上新しい呪文とかあるのか?ところで、魔法使いで巨大化して合体もするというのをどこかで
見たような気が。そう、なんと少女マンガ系?のレイアースと似ている。まあ、あれは魔神(ましん)に変身するんじゃなくて乗り込むんだったが。
それはいいとして、合体後に剣をたくさん出して攻撃するやつがあったが、あれはてっきり剣が飛んでいってざくざくざくっっ・・て刺さるのかと
思っていたら違った。あと、コカトリスが出てきて味方の一人も石化していたが、石化といえばネギま!では魔法耐性が高すぎて石化の進行速度が
遅いと途中で窒息死してしまうという話があった。単純に防御力強けりゃいいってものでもないんだな。以上、魔法ヲタ話でした(与太話だろw)。
●SETI@home/BOINC
前回ので書き忘れた分を書く。本当は追記しようかと思ったが、↑これだけだと寂しいので新しく書く。Technical Newsを見るとこの週末ずっと
ダウンしているらしい。orz。あとは、Server Statusのページのkoshについての説明がまだない。やっぱり一時的なのか?そんなことはないと思う
んだがな〜。トラブル対策が忙しくてそこまで手が回らないのかもしれない。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/8(火)2:06頃
昨日はFFXIでLv上げしようと思ったが眠くて断念。で、今こうやって夜更かし(ぉ)。Lv上げできるのはいつの日だ・・。
●ひっそり閑
最近ちょっと約定期blogに記事投げすぎてこっちが閑に。なかなかバランスが難しいな。というか日常のことをあまり書いてないからだが(ぉ)。
こっちは日常の何気ないことも書いていい日記のつもりなので、もっと書こうと思えば書けるのだが、どうも今まで比較的非日常ネタが多かった
のであまり書く気になれないんだよなぁ〜。第一何で日記が3つ(約定期日記、自作PC日記、約定期blog。他のは別サイト扱いだったり特殊だったり
するのでレギュラーは一応この3つ)もあるんだよ。将来的には統合されるかもしれないなぁ。その時はきっとblogシステムを使って、自作PC関連は
カテゴリになるだろうね。まあ、いつになるか(あるいは永遠にならないかも)分からないけどね。あ゛〜でも過去ログの移行が面倒だな。約定期日記
と自作PC日記では等幅フォント、preタグ、XGAという制限ならではのレイアウトも多いからな〜。なので実はWindows+IE(1.0とかは想定外だが)+
XGAという環境以外ではかなりレイアウトがずれてたりする(時々Linuxとかで確認している)。まあその辺はご了承くださいということで(ぉ)。
●1.0の正体
謎のUser Agent「1.0」が、かなりの数アクセス解析に引っかかる。なんとその数2129(全体は15801)。こいつの正体がどうもspam(もといS.P.A.M.
=SPecial Annoyance Message(自作の造語(ぉ)))用ロボットじゃないかという話だ。で、蹴る方法は.htaccessを使えばいいらしいのだが、なんと
今使っているHTTPサーバのAN HTTPDでは.htaccessはおろか、User Agentによるフィルタリング設定もない。もちろんBlackICE(ファイアーウォール)
やルータのファイアウォール設定でも無理だ。でもまあ、すでに2000ものアクセスがあるということは、ほとんどのアドレスは持っていかれて
しまったということなので、いまさら対処しても遅いかもしれない。そういえば最近やたらS.P.A.M.(SPAMじゃない。でもSPecialがS.P.ってのは
おかしい気もするが)メールが増えたが、これが原因だったのかも。しかしS.P.A.M.(すなおにspamって書けよ)メールうzeeeeeeeeeeeeeeee!!!!!!!
件名と本文に独自のフィルタをかけているが、最近のspam(やっt(ry)は微妙な(つまり普通のメールにもありそうな)言葉を使ってくるので
ひっかかりにくくなっている(かといって、あまり厳しくすると普通のメールがspamと間違えられて捨てられてしまう)。今のところ、トップページ
にトラップアドレスを仕掛けているので、ここに来たのは確実にspamなのだが、残念ながらOutlook 2000にはspamを学習する
機能がないので使えない。せいぜい苦情を言うのに使えるぐらいか。でも相手が外国だと面倒なので苦情いえないし、国内だとほとんどADSLとかの
個人ノード(spam発信ツール自体にSMTPサーバ機能があるんだろう)なのである程度まとまらないとプロバイダに文句言っても意味なさそうだ。
しかし1.0は諦めるとしても、新たな脅威が来ることも考えられる。やはりApacheとかに変えるべきか?でも、User Agent自体が自己申告のため
信頼性は低く、わざわざ「spamツールでーす」と名乗るのはあまりないことを考えるとそんなに意味がないのかもしれない。まあ当分現状で行くか。
(2008/5/24)trapアドレス一元管理のため、@が全角になっているものも含めて自鯖トップ以外のtrapアドレスを削除。
●アクセス解析スクリプト更新
これ書いてる時点ではまだ最中なのだが、トップページなどからいけるアクセス解析(トップ約定期日記、あとFFXIサイトにもある)が古くなって
来たので改良している。具体的には記録側(report〜.cgi)ではなく表示側(replist〜.cgi)でUA判定するようにした。これによってログサイズは
肥大するが、情報の欠落が防げるので後から多角的分析ができたりする。といってもすでにある分は情報が欠落されているのであくまで今後のアクセス
に対してのみ効果があるが。ちなみに上の1.0の記事はこの変更をやっていて「1.0ってのがやたら多いな。これなんだろう?」と改めて思った
(以前にも一度思ったことがあったがぐぐってなかった)のでぐぐって見たらそういうことだったというわけだ。ところで、もともとこのアクセス
解析ツールはKentさんAccess Report1.82を改造して使っているのだが(改造するのはかまわないと書いてある)、本家はすでに3.1になっており、
2.3以前にはセキュリティホールがあるらしい。しかし、やはり本家は過去ログ対応や表示部での判定はしてないので(おそらくログ肥大対策だろうが、
私としてはログに100M食おうが200M食おうが、表示に1分かかろうが10分かかろうが(って、今15000件ほどあるが数秒で終わってる)いいので過去
ログを残したい)、大体セキュリティホールの目星はついている(おそらく〜.logを〜.cgiに変更すればいいはずだ。logだとログが丸見えになって
しまうからだろう)から修正しておくか。もし違ったらやばいけどな(ぉ)。
●トップページ40000ヒット突破!
やった〜ついに40000だ。原因不明のアクセス増加によって、30000まではあっという間に行ったが、そこからなかなか増えなかった。さて、40000ヒット
目はどんな人かな〜・・
counter : 40000
date    : 2005/03/05 11:42:20
host    : 〜.bbtec.net
address : 220.〜.〜.〜
referen : 
agent   : 1.0
spamロボットかよorz。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/9(水)3:50頃
また夜更かし・・かと思いきや、寝てしまってて2:30ぐらいに起きた。あ゛、風呂入らないと・・。
●SETI@home/BOINC
どうやら復帰した様子。まだWU供給足りてないみたいだが。それより大激怒なのは、Windows版のクライアントが変わってしまい、今までのように
startコマンドで高優先度起動できなくなってしまったのだ。一応boinc.exe→boincmgr.exeの順でバッチファイルから起動すれば可能だが、その場合
boinc.exeのコンソール窓が残ってしまい鬱陶しいし、boincmgr.exeかboinc.exeを終了させてももう片方は自動で終わってくれない。さらに、それだけ
ならまだしも、ベンチマークの整数スコアが約5200→約3600と激減。これではClaimed Creditが大幅に低下し(SETIのクライアントのほうは変わって
ない(4.09)ので)、ひいてはGranted Credit(最終的にもらえるクレジット)も低下してしまう可能性が高くなる。まったく、どんな変更加えたら
ベンチマークスコアがこんなに変わるんだ。いっそベンチマークをSETIクライアントに組み込んでおいたらいいのに。例えば短いテスト用WUを実行
させて、その時間でベンチマークスコアを決めると言った具合にするとか。ということで当分前の4.13を使うことにする。今のところまだ移行せよ
というアナウンスもないことだし(実は「Sephie」だけ試験的に4.19に移行してある。しかしどこを間違ったのか(スコア表上で)マシンが分裂して
しまったorz)。
追記:4.19と4.13はあまりベンチマークのスコアに変化がないようなので、4.19に全台移行した。ちなみにβでは4.66まで出ている(公式ページでは
Developmetも4.25までしかないが)。しかし、少し前まで公式ページでのβは4.66(65?)で、リンクを押さないとベータ版は表示されなかったはず
だが・・???しかも4.25が正式版とβ版両方に出ているのがおかしい。もしかしてこれ(4.25)βなんじゃないか?
koshの説明追加されてたのを書くの忘れてた(2005/3/11)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/9(水)21:06
2度目。
●IMAP+Outlookでよかった!
大学から来たメールを、迷惑メールと間違えて消してしまった。しかも、Shift押しなので削除済みフォルダ(ごみ箱に相当)に入らず直で消えて
しまった。うわ〜これはやばい!!!!もし、今までのPOPだったら再送をお願いするところだ。しかし、IMAP+Outlookの場合はIMAP上のメールを
消してもなぜか消滅せずに一時削除状態になる。そこで、復元を試みると、完全に復元することができた。あ〜、IMAP化しておいてよかった。
追記:今のところ、大学のメールサーバとnetgrooveのメールサーバでは一時削除できることが分かっているが、他のIMAPでも可能かどうか(IMAP
の規格として定められているとしたら可能なはずだが)は不明。あと、一時削除せずに一気に消す設定にする方法や、一時削除状態のメールを一気に
クリアする方法は分からない。netgrooveのやつはwebメーラーから開けば一時削除状態のメールが全部クリアされる。大学のほうはどうやって消して
たか忘れたな・・もしかして時間が経って自動削除されてたのかも。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/12(土)6:24頃
●猛烈に樽゛い
最近夕方になると、どんなに寝てあっても眠くなる。しかも、そこで寝てしまうと、起きた時に猛烈に樽゛い。う〜ん、これって低血圧のせいなの
かな〜?(両親も低血圧な方らしいので遺伝か?)まあ、体力が落ちてるのもあるんだろうけど(休みに入ってから全然運動してない(ぉ))。
このままだと予定してることがちっとも進まん・・早く体力回復するように祈ろう。さ〜てRO三ま
System halted.
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/12(土)12:12頃
2度目。
●ブックマークセット
今月分から記事の先頭の日付部分にブックマーク(「<a name="〜">○○</a>」というやつ)をつけることにした。なにやらXHTML1.1では廃止されてる
らしいですが、当分HTML4.01Transitionalで行くので問題なし。こうなったら20年後とかまでHTML4.01使ってやろうか(ぉ)。それはそれで有名になる
かもしれないけどね。ということで、今後この日記にリンクする際は「<a href="http://sephiebrain.jp/html/diary/yyyymm.html#ddii>〜</a>」と
すれば該当記事に飛べます(yyyyは西暦、mmは月、ddは日、iiはその日の何回目の更新か(普通は01だが、この記事のように2度目だと02になる))。
ただし、このdiary.htmlにある記事にリンクした場合、1ヶ月経つとリンク切れします。それについては・・今月分まで作るようにします。ただ、
たまにコピーするの忘れてるかもしれませんがその際は思い出すまでお待ちください(ぉ)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/13(日)23:00頃
最近猛烈に樽゛いのだが、どうやら風邪っぽい。鼻水も咳も出ないが、やや頭痛いのと微熱があるのと猛烈に樽゛い症状が。最後のが一番嫌。
●トラックバック実装
ついにこの約定期日記にトラックバックが実装された。もちろん、blogツールに切り替えたのではなく、自作+他人のCGIのサブルーチン寄せ集め
で作ったものだ。ページ表示毎に生成しているため少々遅いが、それは次の「Sephie」アップグレードで解消されるだろう(ぉ)。ということで、
コメントに躊躇していたみなさん、トラックバックならもう少し気軽に打てるのでは(逆かも)?さあ、Let's Ping!(トラバ打つことをPingと言う
らしい)・・でもspamはお断りだけどね。ちなみにblogツールの正式名称はWeb Publishing Toolとか言うらしい。MTはPublishing Platformに
なってるけど。ところでこのトラバ実装、前からやろうとは思っていたが、実際に取り掛かったのは今日が初めてで、1日で仕上げてしまった。まだ
バグとか穴もあるかもしれないが、それはぼちぼち直していこうかと。あと、トラックバック受信だけでなく送信用の独自ツールも作っておいた。
もちろん勝手に使われては困る(spam用なんかに使われるといやだし)ので認証かけてあるけどね。これでこの約定期日記も一応blogっぽいことが
ほとんどできるようになった。後はブラウザによる外部からの編集だが、それは当分ないだろうね。
●ぐ、ぐ、Google大暴走〜〜
まあこの手のネタは某所で見かけるので特に突っ込まずに本題へ。今朝、何気なく「Sephie」のWebサーバ(AN HTTPD)のタスクトレイアイコンを
見ていると、猛烈な勢いでアクセスされている。まさか、新手のワームか?と思い、BlackICEのログをチェックするがそれらしい兆候(やたら長い
リクエストとか、cmd.exeやroot.exeなど怪しいファイル名が含まれている)はない。そこで、Webサーバのログをチェックすると、とんでもない
ことがおきていた。どうなっていたかというと
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=4&level=1&roeZ HTTP/1.1" 200 7743
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=2&level=1&ILcw HTTP/1.1" 200 5010
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=1&level=0&95GE HTTP/1.1" 200 5131
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=1&level=0&jpdc HTTP/1.1" 200 5131
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=4&level=1&uZbt HTTP/1.1" 200 7743
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=2&level=0&jkRi HTTP/1.1" 200 4420
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=1&level=1&SNQL HTTP/1.1" 200 5931
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=3&level=0&LB3c HTTP/1.1" 200 3923
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=0&level=1&U9Bl HTTP/1.1" 200 4186
crawl-66-249-65-147.googlebot.com - - [12/Mar/2005:23:57:44 +0900] "GET /cgi-bin/ffximember/guildmember.cgi?limit=2&level=1&EmwA HTTP/1.1" 200 5010
↑こうなっていたのだ(ログまんま貼ってる都合で推奨サイズの1024*768だと右がはみ出してますがご了承ください)。これが何百件と続いている。
後で調べると、なんと昨日から続いているではないか。そのせいで、普段300〜500KiB程度のログが2MiB以上に膨れ上がっていた。しかも、Googlebot
だけではなくmsnbotも同じCGIに大量アクセスしている。これは一体どういうことなのかと思ってログをじっくり眺めてみると、必ずリクエストの最後
が英数字4文字のランダムになっていることが分かった。そこで、該当するCGI(guildmember.cgi)を見ていると、なんといくつもあるリンクのURLに
毎回乱数生成した文字列をくっつけているではないか。つまり、Googlebotやmsnbotは
1.まず/ffxi/index.htmlなどからリンクをたどって当該CGIへ
2.生成されたページのリンクをたどる(仮に「guildmember.cgi?〜&AAAA」とする)
3.すると、2.のときと内容が違うので違うページとみなしてその新たに生成されたページを調査開始
4.また生成されたページのリンクをたどる(こんどは「guildmember.cgi?〜&BBBB」とする)
5.すると、4.のときと内容が違うので違うページとみなしてその新たに生成されたページを調査開始
6.また生成されたページのリンクをたどる
7.すると、内容が違うので違うページとみなしてその新たに生成されたページを調査開始
8.6.に戻る
という無限ループに陥っていたのだ(実際はどこかで打ち切るだろうが)幸い当該CGIにはカウンタもアクセス解析もないので無駄にカウントを回され
ることもないが、さすがにこの状態ではDDoS攻撃状態になってしまうので、CGIの乱数生成部分をコメントアウトした。何も問題がないようであれば
このままいくつもりである。しかし・・このguildmember.cgiって、休眠というか廃止状態のLSのメンバーリストなんだよな。もうあってもなくても
同じだったりする・・じゃあ消せよとか言われそうだが、それもあれなので(あれってなんだよ)一応残してある。
追記:CGI改変してさて一安心・・と思ったら、まだgooglebotのインデックスに過去の分が残っているらしく、しつこくアタックしてくる。そこで、
一時的にCGIをリネームして無効にし、さらに普段は404エラーを独自のCGIによって出しているのをデフォルトのメッセージに戻した(これによって
HTTPサーバは200ではなく404を返すのでgooglebotも「ページがない」と認識するはず)。しばらくこれで放置しないとだめだな。
●Jcode.pl→Jcode.pm
今までアクセス解析や掲示板の日本語処理にJcode.pl(&jcode'convert()など)を使っていたのだが、これがUTF-8に対応していない。もはやUTF-8
は良くも悪くもかなりの普及率なので(MTなどもUTF-8だし、Googleなども検索クエリにUTF-8を使っている(ie=Shift_JISとかすればUTF-8以外も
使えるが))、対応しないとアクセス解析のリファラなどが文字化けして読めない。そこで、Jcode.pmを導入することにした。幸いにも楽にインス
トールできるスクリプトが付いていたのでそれを実行してあっという間にインストール完了。あとは「require "./jcode.pl";」を「use Jcode;」に、
「&jcode'convert(〜);」を「Jcode::convert(〜);」に変更すればおしまい・・と思っていたのだが、どうもh2z系(実はjcode.plにはconvert以外
にもh2zという半角カナを全角カナに変換する関数もある)がうまく行かない。「Jcode::convert(\$str,"sjis","","z");」でできると書いてある
のだが、そうやってもハンカクカナ(実際は半角)が保狂凝(ホーキョーギー・・なんか中国語みたい(ぉ))になってしまう。しかし、これはJcode.pm
の問題ではなく、半角カナのみの文章や、半角カナと英文字など、文字コードが判別できない文章を↑のように変換(第3引数を省略)すると、
どうやら強制的にEUCとして処理されてしまうらしいのだ。そこで、対策をぐぐってみると、隠しフィールドに「あいうえお」といった文字列を
入れておいて、そのフィールドに対してJcode::getcode()をかけて文字コードを調べ、そのコードを変換元にすればいいということがわかった。
早速そのように変更すると、文字化けが嘘のようになくなった。これでうっかり半角カナのみの文字列で投稿しても安心だ・・って、そんなこと
普通はしないけどな。
●明日(実はこの時点で14日なので今日だが)大学行かないとorz
アルバイト書類が手違いで無効になってしまった?らしく、もう一度提出しに行かないといけなくなったorz。まあ、ついでにマクドナルドでてりたま
バーガーでも食って&買ってくるか。できればついでに本屋にも寄りたいものだ。でも体力減りそうだなぁ。
●TODO
高:部屋の片付け、MOOPS、開発(そういえば全然話がないが、まさかぽしゃったとか違う人になったとかじゃないよな)、体力回復&向上
中:FFXI黒上げ、ROノビ上げ、まだ読んでないCLAMPノキセキ2巻分読む
低:風来のシレン2最果て
ってなところか。もちろん最高:早く寝る、バイト書類書く・・だが。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/15(火)17:21頃
もう3月も半ば。早いもんだなぁ。
●大学へ
昨日、アルバイトの書類を出しに大学に行ってきた。しかし、バスの中からすでにただならぬ雰囲気。駅にはレオパレスの宣伝がいたし、なんとなく
そうかな〜とは思っていたが、なんと前期日程の入学手続き日だったらしい。階段を上がったところの広場には運動部の部員がぞろぞろ。しかし、
特に呼び止められることもなくさっと通過し、目的の場所(S棟クリエルーム)へ。しかし、書類を渡すべき人がいない。そこで、免許用PCを立ち
上げるが、開発のデータが入ったUSBメモリを家に忘れてきてしまった。仕方がないのでMOOPSの開発でもやろうかと思ったが、なんと「Naomi」で
VMwareを使ってTurboLinuxを立ち上げてこようと思っていたのに急いでいて忘れてしまったのだ。とりあえず現状(4.01)のMOOPSをビデオ編集PC
(免許用とは別の、HTなPentium 4 3.2GHz搭載)で実行するが、予想通りオーバーフローでアウト(一応対策したはずだったが不十分だった)。
スコアがマイナスになってしまい使い物にならない。と、そこへ同じように書類を出しに来た外国人学生がいたので、便乗して私も書類をそこにいた
人に預けておく。さらに、家に電話して母に「Naomi」のVMwareを起動してTurboLinuxを立ち上げてもらった(途中間違えてWindows2000起動したが
強制シャットダウンさせた(ぉ))。おかげでSSHが使えるようになったので、SSHログインしてsu rootかけてsmbmountで「Fen」のXドラやWドラを
マウントしてそこにあるMOOPS関連データを吸い上げ、色々とテスト。判明した問題点などをWebメールで送信。まさにインターネット大活躍。
じつはそうこうしているうちに書類を渡すはずだった人もすでに来ていた(ぉ)。その後帰り際にマクドナルドで期間限定てりたまバーガーなどを
かって帰路に着いた。ちなみに昼もてりたま食った。ところで、てりたまのてりやきは豚の照り焼きらしい(マクドナルドのサイトで調べた)。
鶏かと思ってた。まあうまいからどっちでもいいけど(ぉ)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/17(木)20:16頃
樽゛いな・・風邪が治ってないんだな、きっと。むしろこじらせてたりして(ぉ)。
●MOOPS
hdMOOPSがなかなか難しい。結構値がばらつき、1割ぐらいの誤差はどうしても生じてしまう。まあ、厳密なI/O処理やってないからね。なのであくまで
参考程度ということで実装することにする。もともとMOOPS自体が参考程度のベンチマークでしかないからね(ぉ)。所詮MIPS(DhrystoneやWhetstone。
WhetのほうはFLOPSか)にはかなわないさ。
●SSH Booter
先日大学から母に手伝ってもらってSSHサーバを立ち上げたが、外部から手軽にSSH鯖を起動できるようにHTTP鯖+バッチファイルを組み合わせた
起動システムを作った。そんなことしなくても常時立ち上げておけばよさそうだが、なぜかCygwin系のSSHはことごとくアウトだったので、しかたなく
VMware+TurboLinuxを使っているため、CPUやメモリ使用率の問題から常時稼動させるわけにもいかないのだ。気になるのはセキュリティだが、もし
勝手に起動されても特に問題はないはずだ。SSHサーバのほうも、パスワード認証を無効にする予定なのでパスワードクラックという手は通じない。
・・・はい、パスワード無効完了。すでに大学からはキーを投げてあったので問題なくログインできる(ためしに「Fen」→大学の鯖→「Naomi」と
接続してみたが普通にログインできた)。これで重い(といってもA4ノートでは最軽量クラスだが)「Fen」を持ち歩かなくても、家のPCの全ファイル
を外部から読み出せる(そう、全てのマシンはドライブルート共有してるので見放題。だからこそセキュリティ甘いと死ねる)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/19(土)16:37頃
部屋の片付けしないといけないんだけどな〜。分かってはいるけどついついだらだらしてしまう。昨日〜今日(2時ごろ)はFFXIやってて疲れたし。
●SETI@home/BOINC
いよいよ旧SETI終了が秒読み段階に入った。うまくいけばあと1ヶ月ぐらいで移行するらしい。BOINC版のアカウント情報にある旧SETIのWU数も今月
15日時点のものに更新されていた。しかし、最近Server Statusはrunningで、更新時間も新しいのに繋がらないということがたまにある。
一体何が原因なんだろうか?
●RDF Feed実装
ついにこの約定期日記にRDF Feed(RSS 1.0)を実装した。これでほとんどblogツール並みになった。検索は全体のNamazu検索やGoogleのサイト検索
があるし、コメントもトラックバックもある。しかし、一番の特徴であるブラウザからの更新や、データベースとしてのデータ管理などのWeb 
Publishing Toolとしての機能は全くない。さらに、↓のほうにTODOと緑色で書いてあることは全て私が手動でやっている(ぉ)。あたかもblogツール
のように見える(?)が、実体はFrontPage 2000で編集し、htmlソースを弄り、手動でコピーしたりRDF書いたり(注:一応そういうツールを使って
書いている。さすがにHTMLより厳密な文法のRDFを手書きするのは無理がある)しているのだ。強いて言えばFrontPage 2000自体がWeb Publishing 
Toolといえるかもしれないが。あと、最近のblogはXHTMLだったりするが(もちろん全部が全部そうではない)、この約定期日記は一応HTML 4.01 
Transitionalということだが、実際は推奨されないタグやら要素やらがたくさんあるイレギュラーHTMLである(ぉ)。まあ、target属性とかname属性
を入れまくりな私にXHTMLはまだ不要だな。ところで、なぜここまでblog化しているのにblogツールに移行しないのかというと、やはりこうやって
手動で更新するのが気に入っているからかもしれない。blogツールならできないイレギュラーなこと(つまり、HTMLやXMLの文法に反すること)も
やり放題だし(ぉ)。アーヒャヒャヒャヒャh
HTTP/1.1 410 Gone
っあ゛ー!!データが消えたーっっ!(ぉ)余談だが、HTTPレスポンスに「418 I'm a teapot」というジョークコードがあるらしいです。ところで
ほとんど410なんて見ませんね。見かけるのは404(Not Found)、401(Unauthorized)、403(Forbidden)、500(Internal Server Error)ぐらい
ですかね(エラーじゃない時は200(OK)だけど、直接見ることはあまりない)。
追記:サーバ側にrdfのMIMEタイプを「application/rdf+xml」で登録しておいた。こうしたほうがクライアント側でエラーが起きにくいらしい
(デフォルトでは「application/octet-stream」(変更可能))。あと、IEは約定期日記のRDF生成に使ってるツールの出力するRDFをCDF(Microsoft
のチャンネル定義ファイル)と勘違いするので、レジストリにrdfをxml(text/xml)として登録しておいた。しかし、IEで直にrdfファイルを見ること
はあまりないので意味がないかもしれない。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/22(火)1:03頃
もう3月も残り1/3を切ったな(31*(1/3)=10.3333…だから)。そろそろ部屋の片付けをしないと・・。
●MOOPS
部屋の片付けは進んでないのにこっちはかなり進んだ(ぉ)。一応hdMOOPSを組み込み、ログも見直してすっきりさせた(デバッグログと通常ログを
分けた)。あとはログの手動出力やCSV出力、ヘルプの書き直しなどをやる必要があるかな。なんとか3月中に出せるといいんだが。一方、大学の
開発のほうはあれから連絡がなく、細かい仕様も分かってないので手が出せない。もしかしてマジでぽしゃった?いや、そんなことないと思いたい。
●SETI@home/BOINC
ネット接続が切れてるらしい。おかげでWUが落ちてこない。早くも「Fen」が残り7WUしかない。サーバ状態データベースも日本時間の昨日6時30分
5秒から更新されていない。こんな状態であと1ヶ月ほどで旧SETI打ち切れるのかねぇ・・。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/22(火)16:33頃
二度目。
●blogと違うところ
そういえば、blogツールは基本的に1トピック1エントリ(書く人によるが)だが、この約定期日記は1エントリにいくつも詰め込んでいるのと、
タイトルが日付と時刻なので、どこかにトラバ(自作ツールで)するときは少々工夫しないと意味が分からなくなる。尤も、blogツールじゃない
日記からトラバ送信したり、トラバ受信したりすること事態が普通ではないが。
●RBOサントラ
前にRBOという同人ゲームを買ったが、そのOPやEDがかなりいいのでサントラも発注した。もちろん、秋葉原などには遠くていけないので通販で
(秋葉原以外にも店あるだろうけど)。しかし、私のヲタ度はかなり微妙なもので、PC系、デジタル物にはかなりはまっているが(いわゆるハイテク
おたくというやつ)、ゲームはそれほどでもないし、美少女キャラは嫌いではないがエロゲは×だ。フィギュアはほとんどといっていいほど興味が
ないが、昔ぷよぷよの食玩(おまけ付きのお菓子・・もといお菓子つきのおもちゃというべきか)で集めたアルルの人形とか(なぜか5体(うち1体は
ボールペンかシャーペンの頭)もある)、CLAMPノキセキのチェス駒とかは集めてる。あと、アニメ系は結構好きだが、ポスターとかDVDは持っていない。
まったくもって微妙すぎるヲタ度だ。むしろヲタともいえないぐらいだが、普通の人とは明らかに違うだろうと思っている。約定期日記コードに触れる
のであまり詳しくは書けないが、ネットやテレビに触れる前から私は相当変人でしたがね。なにせ
DDPキター(しかも今度はGUIだ)!!やっぱりあれはやばかったか。余談だが、↑こういうのを作る(ぉ)のに、Accele付属のWinOperatorを使って
ます。というかRBOサントラから随分引っ張ったな。
(2008/3/20)Accele(WinOperator)が入手不可能な状態になっていたため勝手に作ったミラーへのリンクに差し替え。
●SETI@home/BOINC
一時的?に復帰してたのでWUが10を切ってた「Fen」も40になり当分安心だ。しかし、新機能追加したりチート対策したりとより強化されているのは
いいのだが、そのせいで随分脆くなってる気がするなぁ。短期間で機能強化しすぎなのかもしれない(それは私のMOOPSもだが、規模が違う)。
このままだとあと1ヶ月で旧SETIから移行は難しいかもしれないが、なんとかやってくれることを祈ろう。
●Trackback Pinger HSP版
前にCGI+IEのフォーム送信を利用したTrackback Pingerを作ったのだが、どうやらLivedoor blogやsbなどの一部のblogツールはリファラ持ちの
トラックバック(http://sephiebrain.jp/〜.cgiなどからブラウザを使ってTBを打つと、相手にそのアドレスがリファラ(参照元)として伝わる。
MTなどのblogツールやリファラを伝えない設定のブラウザ、専用TBツール(ブラウザを使わない)だとリファラは空になる)をspam対策として
蹴るようになっているらしい。そこで、MTでTrackbackを自作のWWWサーバもどきに打ち(別にAN HTTPDなどのHTTPサーバでもよかったのだが)、
それをEtherealというパケットキャプチャ(それ以外にも機能があるかもしれないが、とりあえずここではそういうことにしておく)ツールで
キャプチャし、その振る舞いをHSPで実装して完了。もちろんUser-AgentはMovableTypeから変更しておいた。あと、gzipやdeflateなど使えないので、
ヘッダのTEを削除してConnectionからTEを消しておいた。そして自分のblogにテスト送信し、問題ないことを確認したら本来の目的であるアキバBlog
へのTB送信。もちろん問題なく成功した。実は文字化けしたらどうしようかとか思っていたのだが大丈夫だったようだ。ちなみに、UTF-8変換と
「%+2桁16進」へのエンコードは手持ちのスクリプトにあったのを適当に利用。UTF-8変換は2001年8月ごろにUnicodeをHSPで弄ってた時に作ったらしい。
「%+2桁16進」のほうはehttpモジュールを参考にして一部エンコードする文字としない文字を変更し、MTのエンコード結果と一致するようにした。
余談だが、UTF8とUTF8Nの違いを今更知った。TeraPadにUTF8とUTF8Nの2つあるので謎だな〜と思っていたが、UTF8はUTF8Nの先頭にBOM(Byte Order
Mark)というエンディアンを示す2バイトのデータが付いているのだ。しかしUTF8はエンディアンが関係ない(もともとインターネット上だと
エンディアンに関係なく順に("123"という文字列なら0x31 0x32 0x33)格納するし)のでUTF8Nというのがあるらしい?詳しいことはぐぐってくれ(ぉ)。
ちなみに、このPingerの公開予定はない(別に他にもいっぱいあるだろうし欲しいという人もいないと思うが)。TBspamとかに使われると責任とれない
からね。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

2005/3/29(火)11:49頃
もうすぐ春休みも終わりだなぁ。あぁ、単位落とした成績表もらうの凹むなぁ(そういえばそうだったな、忘れてた(ぉ))。
●近況
MOOPS開発にはまって下不下不。部屋の片付けは全然手付かず。そんな状態なので体力づくりの運動なんてできるはずもない(ぉ)。今朝も片付けよう
と思っていたのだが、CFの青窓(「自作PC日記」参照)の原因究明に時間を取られてあぼん。まあ、あと半日あるし・・。
●警察だ!
逮捕する!うわーついに○○してるのがばれたか〜っ!!・・じゃなくて、昨日警察が来てたらしい。どうやら殺人事件現場にあった携帯電話の
バッテリーと同じものを使う携帯電話の契約者に片っ端から聞き込み調査してるらしい。しかし、その時私は徹夜でMOOPSの開発をやっていたために
疲れ果てて寝ていたので詳細は不明。しかし、悪いことでお世話になりたくはないですな・・。
●MOOPS
一気に新機能実装とか64bit化とかやりまくるもんだから頭が混乱しそうかも。いや、むしろ手が追いつかん(ぉ)。新規追加としてはgMOOPSにBitBltを
追加した。といってもHDBenchのようにカラー帯が縦に流れるやつではなく、MOOPSロゴに少し手を加えたものを画面に表示しまくるという内容だ。
あと、gMOOPSのスコア算出がなぜか合計値になっていたので平均値に修正した。そのためgMOOPSの値は以前とは全く互換性がなくなってしまった。
一応正式項目ではないのでTOTALスコア算出には含まれていないが、含めるようにしてV4-IIとしてリリースするべきかも。あとはログを整理して
デバッグログと送信・保存ログ(ほぼ内容は同じになった)に分け、さらにCSV出力もサポート(まだ開発中だが)。64bit化については、memMOOPSの
値が大きすぎて(1KiBなどではL1キャッシュが効くため)近い将来バッファオーバーフローしそうなので、1000で割った値を返すように暫定処理して
いたのを、64bit値として返すように変更。それに伴ってlonglongというモジュール(tailさん作。もう今はサイトが違う人になってしまっている
(Geocitiesなので名前などと違い/~naoyaなどに相当する部分が番号のためだろう))を使おうとしたが、multillとdevll(divllのスペルミスだろう)
にバグがあったのと、除数と乗数に指定できる値が16bitほどしかなかったので64bitフル対応版を自作して追加した(もちろん、multillだと結果は
最大128bitになるが、オーバーフロー分は計算せずに切り捨てるようにした。それ以上必要ならlllong(USKさん作。こっちもサイトにlllongがない
・・と思ってたら名前違うし!(ぉ)longmathでした。見つけたついでにバージョンアップ(1.0→2.2))を使うし。今回もlllong、もといlongmath(
モジュール名はlmathになっている)を使っても良かったのだが、せっかく自作で64bit版作ったのと、たかが64bit程度だとどうも勿体無い気がして(ぉ)。
今度128bitが必要になったら乗り換えるか(何年後だよ)。たかが64bitとは言うものの0〜9223372036854775807(signedの正の範囲)まで扱えるので
当分オーバーフローの心配はないだろう。ちなみに今回longlongを弄っていて、10倍がシフト演算だけで実現できる(aの10倍はa<<3+a<<1。つまり
8a+2a=10aということ)事に気づき目からうろこ。でももしかすると、HSP3.0では64bitぐらい標準でサポートしていたりして。さすがに1024bitとか
は無理だろうけど・・。と、あまりMOOPSと関係ない話になったところでお開き。次はリリース時かな?
●バックアップ
そういえば1ヶ月ほど取ってない。リアル友は初期不良でHDD飛んだらしいが、いつそういうことが起こるかわからないので日頃からバックアップして
おかなければいけないなぁ。でも私の場合は人災で飛ばすことのほうが多いけどね。20GのSCSI HDD飛ばした時もわけもわからずWindows 2000の回復
コンソールからFIXBOOTだかFIXMBRだかをかけて、FAT12になってしまったし、「Fen」1stのHDD飛ばした時もハイバネーション状態でパーティション操作
するなんてアフォなことしたし。後はわざとじゃないが「Naoko」を何度も落とし(これは私だけの原因とも言いがたいが)物理クラッシュしたり、
「Naomi」のUドラのパーティション操作(ハイバネーション状態ではない)に失敗して吹っ飛んだりというのもあるが、どちらも私の行動1つで防ぐ
ことができたといえる(「Naoko」の場合は不安定なところに置いていたのが原因だし、「Naomi」の場合は使いもしないNative Linux(VMware上では
ないという意味。ディストリビューションはTurbo Linux)をインストールしようとしなければ起こらなかった)。でもバックアップ取ったほうがいい
のには変わりないので週一のバックアップを徹底しなければいけないな。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]

最新の日記へ

前月 翌月