寝坊してセミナーに遅刻しました。塚田氏の電話で起きなかったらやばかったなあ。
今日試しに研究室からこのページを見たら、同じ時間のログが二回記録されてしまいました。バグってますねえ、やはり記録時にロックしないせいでしょうか…。当面は e-Counter に元々書いてあったロック機構で運用してみます。そういえばここのカウンタ、KENT WEB さんの e-Counter が元なので e-Counter を名乗っていますが、拡張しすぎて e-Counter のコードがほとんど残っていません。KENT WEB で元のカウンタを見ていただくとわかりますが、元のはシンプルを売りにしているのでログも吐かないし、画像連結もしません。
カウンタの「本日」のヒット数が正確でない(1回少ない値が出ることがある)問題は承知していますが、修正は困難です。例えば、合計 100ヒット、本日 10ヒットだったとします。次は合計が 101 で本日が 11 となるべきですね。しかし「合計」と「本日」というように表示を 2つに分けたために、どちらが先に読まれるかわかりません。表示順序は以下の 2つの場合が考えられます。
うちのように前回と IP が同じならカウントしない、という制約があるなら「合計」と「本日」のどちらのタイミングでもカウント処理を行うように書いてしまうと解決します。後から来たリクエストがどちらであろうと、前回と IP が同じということで無視できるからです。
ところがこのカウンタは、とにかく表示されたら 1回カウントするという設定にもできます。そもそも画像のカウンタなので、画像を表示しない設定の人はカウントしようがなく、この設定に何か意味があるのか?と思いますが、別問題なので触れずにおきましょう。全てカウントする設定の場合、正確な「本日」表示は難しいです。思いつくものはある秒数(適当に決める)内の再表示はカウントしないようにするくらいでしょうか。でもそれって正確なカウントなのかなあ?
ドコモの仕事と並行して、自分の研究となる予定のものも暇を見つけて進めています。
今日は ERESTARTSYS の話です。普通ユーザーモードではお目にかかりません。しかしプロセスがトレースされていて、システムコールによりブロックされているという特殊状態でシグナルを受け取ると、返り値にこのエラーが入ったシステムコールがトラップされます。
getchar(3) でブロックするハンドラを書いて、sigaction(2) で指定するプログラムをトレーサで見張り、別のシェルからそのプログラムに kill(1) でシグナルを投げました。トレースするとこんな感じでした。
とこんな具合になっているようです。トレースされている方のプロセスでは read は失敗に終わり、トレースしないときと同様に EINTR が設定されて帰ってきます。ちなみにシグナルハンドラでブロックしているときに、さらにシグナルを投げるとハンドラの入れ子になります。1 -> 2 -> 2 sigreturn -> 1 sigreturn -> 元の場所、となります。
sigreturn の帰ってこないという特殊性と ERESTARTSYS を考慮しないと、システムコールのスタックがうまく作れないなーなんて思った昼すぎのひととき。
昨日の授業の事を書き忘れていた。社工出身の人など線形計画法を前提知識にするとつらい人が居るため、線形計画法を必要としない最適化問題を扱います。具体的には最短路問題、最大流問題とそれらの応用である最小コスト問題などです。最終レポートの話もしていました。お題は「自分の研究に最適化を活かせ」で、面白ければ A だそうです。ユーモアを求められても困るなあ…。
大下邸で晩御飯をいただきました。茶碗蒸しはお手軽でうまい〜。久しぶりにクノールカップスープ(粉をお湯に溶いて飲むコーンポタージュ)を飲みました。決して悪くない味だけど、めいらくのパック入りのコーンポタージュの方が断然おいしいですね。
JoyToKey もどきがなんとか形になりました。○○もどきだと呼びづらいので JoyConverter と呼ぶ事にしました。時間かかりましたがただ WTL に乗り換えていただけなので基本機能は同じです。連射機能の実装はとりあえず見送り、使いやすくする改良のみに留めました。
JoyConverter スクリーンショット
スクリーンショットです。見ての通りごく普通の 2ペイン式です。設定するときは新たにダイアログが開いてそこにチマチマ入力します。このあたりは JoyToKey をパ…いや、見習いました。Windows はジョイスティックデバイスをインストールするとデバイスの ID がずれてしまう事があるため、Drag&Drop で設定を Device1 からDevice2 にごっそり移動できれば素敵ですが今はできません。間違って変更したときの Undo ができると素敵ですがやっぱりできません。手抜きですから。
過去日記ログ、初期表示を展開した状態に変えて BODY タグの onLoad イベントで古い奴を畳むようにしました。スクリプトをオフにしても読めます。これで古いブラウザも嬉しい…わけがなく、CSS に対応していなければてんでダメです。諦めて乗り換えるが吉です。
IE でスクリプトを全部拒否するとカウンタの背景が灰色くなりますが、これは IE が 24bit 深度の透過 PNG に対応していないせいなので MS に文句言いましょう。興味ある人は chroma を調べてみると良いと思います。
1学期以来の 4限連続授業でした。VLSI 工学とバイオメトリクスのどちらも面白そうです。ああ、授業を全部きちんと聴いたら腹減ってしまいましたよ。
フレッツスクウェアにつなげなくて困っていたのですが、できたっぽいのでメモします(Corega WLBAR-54GT ファームウェア Version 1.10)。マルチセッション PPPoE のセッション 2 をフレッツスクウェアにしたとします。
「IP アドレス追加」ボタン(たぶんルーティングテーブルの設定)を押し、そこに 220.210.194.0/25 と 220.210.195.0/26 と 220.210.195.64/26 あたりを指定して保存します。保存したら勝手に切断されるので再接続してください。もしくは手動で切断し、再接続します。でないと設定が反映されません。不便ですね。
この設定により東日本エリア DNS サーバである 220.210.194.67 に ping が通るはずです。もしくは
$ nslookup www.flets 220.210.194.67
とすると、220.210.194.109 と答えてくれるはずです(12/7 時点です。変わる可能性があります)。
その後「ドメイン追加」ボタン(たぶん DNS のリレー先の設定)を押します。www.flets 以下をフレッツスクウェア側に導くため www.flets と書いても全く繋がりません。ここには www.flets/ と書かなければならないようです。スラッシュの有無はそんなに大事ですか?私が馬鹿なだけですか?補足しておくと .flets/ としておくと www.wowow.flets/ のようなドメインにも接続できてより便利になります。
とにかく http://www.flets/ と打ってフレッツスクウェアに繋がれば成功です。こんなに苦労したのに肝心のフレッツスクウェアは大して面白くなく 5分後に切断しました。悲しいです。
オマケの話です。
WLBAR-54GT は 54Mbps 対応と銘打っているものの、802.11g で繋ぐとルータがハングアップ(※)します。無線が使いたければ買い替…いや、クライアントから 11g で繋がないように気をつけるか、ルータ側で 11b 以外を拒否するように変更します。シータ…じゃなかった 11g を返せ!と叫んでもムス…じゃない Corega 様は非情です。君も男なら聞き分けたまえ。
ファームウェア古いんじゃないの?と言われそうなので弁解しておきます。確かに初版のファームウェアがバグバグというのは良く見受けられます。しかしここで使ったのは 2回も改定された最新ファームウェアです。それでいてこのありさま。呆れます。
なんでこういう製品がなくならないか?そんなの簡単で、安くて売れるからです。こんなところでいくら腐ってるぞって力説しても(そして仮に同意をいただいたとしても)、次の買い替えにはやっぱり安い方がいいよねって言って、みんな Corega や Buffalo 買うんです。書いてる本人も例外ではありません。庶民なんてそんなもんです。
※正確に言うと、無線が使えなくなりパケットも外に行かなくなります。内側からの設定はできたりできなかったりします。
塚原氏の発表でした。ちょっと時間苦しそうな発表でしたが、終わってみると色々な方面から適度に質問が飛び交って良い感じでした。お疲れ様です!
2人目の発表は速過ぎて意味がわからずじまいでした。質問ないなあとぼんやりしていたら、狩野先生がコメントを、というか説教を始めました。それはあまりに強烈で、他所の研究室なのにそこまで言って大丈夫ですか…?と余計な心配をしたくなるほどです。中でも一番きっついなーと思ったのは「あなたの発表は研究発表の形式になっていないんですよ、わかりますか?」の一言。いきなり全否定ですよ!厳しいです。
金曜日と月曜日の授業を切ることにしました。興味はあるけど時間が惜しい。今日 TWINS の学籍管理に修了見込みフラグ、なる謎の項目を発見しました。いつセットされるのでしょうか。
昔どうしてもクリアできなかったアルテリオス(日本物産、1987)をチート全開でクリアしました。以下、ゲーム紹介と簡単な感想をお送りします。
アルテリオスは RPG とガンシューティング戦闘という組み合わせの斬新なゲームです。SF の世界観やそれと合う暗めの音楽やグラフィックもなかなかのもの。と、良さそうに見えてもやっぱりクソゲー。その理由は簡単、やたら敵が強いんです!
特に尋常じゃないのがラスボスの手前に出てくる雑魚ども。レベル(このゲームでは CLASS)を最大にしても 4発で殺されるやつ(ハイパー フライア:STR 210)を初め、硬い速い強いの三拍子そろった敵がうろうろしています。こやつらは「雑魚」だから何度でも出てきて、かなりブルーになります。
ラスボスのサーベラーは攻撃力 100、守備力 243、HP 255 という狂った防御力の持ち主で、どうやってもダメージ 1しか通りません。私はチートしたので楽勝でしたが、普通に倒すなら CLASS 27 〜 31(カンスト)間の急成長を使って防御力を 100 オーバーにして、ガチンコで削りあうしかないでしょう。それ以前に CLASS が低いと途中のハイパー雑魚に殺られてしまう気がします。
肝心のエンディングはというと、これがかなりショボい。なにこれ、がっかり…。
9日から 10日に変わった頃にじょーから電話があり、結城邸での飲みに途中参加しました。なぜか紅の豚を見ていました。するめを焼いてたら足が燃えてちょっと短くなったりしました。
帰ってきてチューハイを忘れたなあと思っていたら、次の日(11日)に連絡があってさらにプリンも忘れてきたらしいです。そういえば買ったなあ。でも晩飯の後だったから食べなかったんだった。取りに行かなければ…。
ニチコンの電解コンデンサが不良品(?)らしく大量に死亡しています。DELL のワークステーション(Optiplex)や HP のマシンが死亡し始めていると、CNET でニュースになっていました。2ch では以前から話題になっていたようです。
それとは違う種類ですが、XBOX 360 も確かニチコンのコンデンサを積んでいたと思います。XBOX は熱にシビアな設計らしいので、基本的に熱に弱い電解コンデンサにとっては大きな負担です。今、動かないだの止まるだの叩かれている真っ最中なのに、一年後にはコンデンサが爆死して故障なんてことになったら笑っちゃいますね。XBOX ユーザは問題のない製品であることを祈るしかないでしょう。
もちろん問題がおきたタイプではないので関係ありませんが、前に死んだ GIGABYTE マザーも良く見たらニチコンが逝ってました。HDD は一度も壊れたことないのに、マザーはコンデンサが爆死しまくります。故障がわかりづらいくてうざいよー。
就職活動の話は塚田氏の所にいっぱい書かれているので特に書くこともないのです。他の人を押しのけて会社に受かるわけですから、やはり色々面倒なことが多いんだなあと切に感じるあたり、自分のやる気のなさが伺えます。
前スパーだったところにセイコーマートができました。早速会員になりました。このオレンジ色カードが懐かしい〜。スパーの時は結構通ってたのに潰れてくれちゃって、かなり不便しました。それからは 300m 先のセブンに行くようになったものの、セブンのオリジナルパンがぱさぱさで不味くて困りました。しかも棚をオリジナルパンで 8割埋めるなんてひでえよ…。
前のスパーのバイト(特に昼のおばはん)は最悪なので、戻ってこないように祈ります。客がレジに放置なんて、あの店で初めて見たもんなあ。しかも夕方だったし。とにかく心から祈るのです。
普段それほど肩こりしないのに左肩だけ異常にこってて不思議です。
我が家には暖房器具がエアコンしかなく、部屋の中とは思えないほど寒くなります。熱交換式のエアコンではセラミックヒータのように電熱線で直接空気を暖める暖房ができません。エアコンはあまり部屋が暖かくならないなあと思っているそこのあなた、それは気のせいではありませんよー!
雑な説明をすると、熱交換暖房とは外気から奪う熱とコンプレッサが出す熱を室内に捨てる動作です。夏使う冷房は室内の熱を集めて、コンプレッサの熱とともに室外に捨てる行為です。暖房は冷房の逆回しと言えるでしょう。そのため冬に近づき外気温が下がるほど、外気から熱が奪えなくなり暖房能力は下がります(仮に外気から全く熱を奪えなくてもコンプレッサの廃熱の分で暖房できる)。
さらに雪が降るような湿度があると室外機の熱交換器が凍ります。そのまま動作させると熱交換効率が下がるので、霜取りのヒータが動作するのですが、このとき暖房が止まります。つまり外気温が低く高湿度であるほど、エアコンの暖房は弱くなり、頻繁に止まるようになります。これが冬に近づくほど暖まらなくなる理由です。
って、誰に説明してるのかさっぱりわかりません。とにかく今日は寒すぎます。ボスケテー…。
一日使って明日のドコモとのミーティングのための資料とか実験とかをしていました。
Ragnarok Online もやっと nProtect GameGuard というチート対策製品を採用しました。既存のツール類は全て動かなくなったようです。JoyConverter(自作の JoyToKey もどき)も使えなくなりました。
しかし同じ仕組みのはずの JoyToKey は動きます。内部にホワイトリスト持っているのは確かでしょうけど、バイナリを書き換えたりゴミデータつけても使えることから、ファイルサイズやハッシュ以外で確認していると思われます。まさかイメージ名のチェックだけなんて思わないでしょう。単純すぎて試しもしなかったよ。基本は大事ですね!
nProtect GameGuard にはゲームのプロセスを他プロセスから隠蔽する rootkit 機能がついていてこれは外してほしいです。ゲームがハングアップしたら Windows 再起動かよ…ふざけてる。
またセミナー遅刻しました。三学期はたるんでるな。
セミナー後は秋葉原まで行ってドコモとのミーティングをしました。あまり研究に進展がないため今度超ロングミーティングをやるそうです。ほげ。
その後は都内でドコモの方々と筑波側メンバーの、懇親会兼忘年会をしました。リーマンの溜まり場という感じの飲み屋でした。魚料理と刺身がおいしいです。メニュー固定なので選ぶ余地なし、さらに精算では客にビール何本飲んだっけ?とか聞いてたりして面白いですね。筑波の地元店みたいに適当さ満点でした。
※お店メモ)都営新宿線 or 都営大江戸線、森下駅 A7 出口そば、大衆酒場魚三という店。一階は松屋みたいな U の字テーブルになっています。二階は広間でした。
ひたすら眠かった。夜、大下さんと灯油を買いに行って、回転寿司を食いに行きました。どこか行こうと言っても、大下さんったら「ご飯がいい」とか意味のわからんリクエストしかしないから、毎回回転寿司食ってます。たぶん外食行きたくないんだろうなあとか思いつつ、自分だけは寿司が食えて幸せです。
今のところ小樽、スシロー、元気(100均じゃないやつ)に行きました。あとは大漁、すしおんど(100均のほう)、かっぱ、松代にも何かあったなあ。他にもあったかな。
集中授業がありました。全然やっていなかったので肩身が狭いです。授業が終わった後、HLLA の松本氏(同じ班)とともに 11時間ぶっ通しでやって終わらせました。自分の担当範囲の実装より、がんがん見つかるバグをつぶすのに時間がかかりました。ほんとファッキンなシステムだわ〜。
ノートン先生が死んだ。Windows の起動時に Windows Installer が起動し「Norton Internet Security は修復をサポートしていません。」という謎のメッセージが必ず 2回出るようになりました。アンインストールしろという警告も出てむかつく。お望み通り Windows XP ごと消してやりました。
再構築時に素の Windows(SP1) が数秒で起動することに驚きました。しかし SP2 だの DirectX だのドライバだのユーティリティだの入れてわざわざ重くしなきゃいけなくて悲しいですね。それでも視覚効果全部切って、スタートアップ全部削って、いらんサービスも止めまくりなのでそこらに売ってる PC よりは軽いはずさ…。
やはり 4限連続で授業はきついです。がんばってもどこか一コマで寝てしまう。
Microsoft が Windows Vista では Intel 945G 内蔵アクセラレータ並みの 3D アクセラレータが必須とか寝言抜かしてますが、メーカーは Vista Ready が取れないとカッコがつかないので必死になって基準をクリアしようとがんばっているようです。
GUI に異常にこだわるのは Mac OS の風潮ですかねえ。たぶん Vista は買いませんが、万が一買ってしまったら確実に Aero Glass 無効にします。たかがウインドウの表示に Direct 3D を使うなんて無駄の極みです。電気代もったいないわ。
集中のミーティングをしました。といってもほとんどデバッグ作業です。なぜならベースとなるシステムがかなり終わっていてバグだらけだから。課題である新機能追加は即終了したのに、バグ対策に時間がかかりすぎて規定時間をオーバーしそうなんて、ずいぶん理不尽な授業だなあ。
今年最後のゼミでした。みなさま良いお年を。
榮樂氏とシグナルの話をしていました。同じシグナル(この時は SIGUSR1 を使った)を連続で送ると、シグナルが一つだけ保留されて、それ以上はマスクされるんですね。あとはマスクをはずして、スタックが溢れるまでシグナルハンドラを再帰させてみたら特に何も言われずに(SIGSEGV などが来ずに)プロセスが Terminate されることなどを確認しました。
このときは変な動きだと思っていましたが、見れば sigaction に「普通はハンドラ内ではキャッチしたシグナルがマスクされる」みたいなことが書いてあるじゃないか。マニュアルは良く読もう。
加藤先生のお宅で研究室のクリスマスパーティーが開かれました。小磯氏の腕によりをかけた料理が非常においしかったです。なんと前日から準備していたという気合の入れよう。
ところが、かなりの量で食べ切れませんでした。むむ、残すのは惜しいです。料理は 10品目近く出て、ケーキが 4つ(3種類)という豪華さに驚きました。
大下邸でビーフシチューとデザートにプリンを作ってみました。プリンは見事にすが入って全滅…材料がシンプルだから簡単かと思いきや、蒸し加減が非常に難しいお菓子でした。蒸し器を買って作ってみようかなあ。
シチューは煮詰めすぎたか水が少なかったか知りませんが、あやうく干からびるところでした。でもなぜか焦げなかったし濃くておいしかったです。結果オーライ。
忘年会に参加しました。時間ができたので久しぶりの参加です。実は夜なら時間空いてないこともないのですが、眠いか疲れているかで行く気力があまり…。それはさておき、忘年会のメニューはキムチ鍋とたこ焼きでした。たこ焼きは生地が間違ってた気もしますが、おいしかったので気にしないことにします。
先日(2005年 12月 22日参照)のシグナル関連の話です。sigaltstack で設定した代替スタックが溢れるとどうなるか実験しました。SIGUSR1(通常スタック)とスタックオーバーフロー(setrlimit での指定値)の時に来る SIGSEGV(代替スタック)に、中で getchar して停止するハンドラを設定し、外から SIGUSR1 を送りまくります。
2.4.31 では代替スタックが尽きたところでハングアップします。2.6.13.3 ではハングアップはせずずっとシグナルハンドラが呼ばれます。たまに SIGSEGV が飛んでいます。SIGSEGV のハンドラにさらに SIGUSR1 で割り込んでいるように見えますが…スタックがどうなっているのかよくわかりません。気が向いたら調査します…。
ARM への IDS 移植と、今後のリファレンスモニタ研究の両方に、前からいじっていたシステムコールフックのシステムが使えそうです。前のコードを見てたらプロセスの親子関係の扱いが間違っていて、唖然としました。Linux では親が死ぬと子は init の養子(生成元 pid != 親 pid)になるのに、何を思ったか死んだプロセスの親の養子にしていました。なにしてんだろ…。
フック時の処理を書く部分はどう書こうか迷うところでして、今回は Java のリスナモデルに習ってフックオブジェクトを登録したり消したりするスタイルにしました。こりゃ結構便利だ。
帰省のための準備などをして、飛行機にて帰ります。最近整備の手抜きが熱い JAL は一応避けましたけど、はっきり言って死亡率なんて気にしたら乗り物、特に自動車なんか乗ってらんねーっす。
昨日の話の続き。先生には研究的に意味ないと突っ込まれたところです。現在は wait や signal 周りのエミュレーションが適当っつーか…ほとんど何もしてない状態です。正月にその辺も補完できるとより良いと思うのです。ただ、前みたいに間違って暴走させてサーバが死んだりすると、北海道で泣きあかす羽目になるので、Linux 環境の ThinkPad も持っていく必要がありそうです。どちらも軽量ノートとはいえ…2台は重そうなー。
北海道に帰ってきました。
夏帰ってから今までのジャンプ約 21冊がきっちり積まれていたので 12時間かけて読み通しました。大下さんのとこで読んだデスノートの少し先が中途半端にわかってしまった。
今年後半のジャンプは読みきりラッシュで、未来のワンピース候補を作ろうと頑張っているのでしょう。前にも触れた(2005年 7月21日参照)ように、ジャンプは人気がなくなれば無理矢理打ち切る節があります。たとえば、中ボスクラスを倒して「俺たちの旅は今始まったばかりだ!」で終わりとか、急にラスボスとのラストバトルが始まって終わりとか、とにかく非常に不自然な終わり方をします。まあ、真実は集英社に就職しないとわかりません。
確かにアンケート結果を使えば評価は明確かつ単純だし、事前に人気の確認ができるからコミックもまず外さない、という長所があります。その代わり中盤から面白くなる作品は絶対出ません。だって打ち切られるから。ゆえに一瞬で灰になる作品か、ずっと面白い不朽の名作以外は出ません。しかし不朽の名作なんてそうそう出ません。難しいですね。
ダウンと発注ミスの東証様のお蔭で、テレビでも何とかのシステムが…という話を聞くようになりました。ソフト屋は人命に関わらないから気楽だね、なんて医療系に言われたことがありますが、今や原発の制御はコンピュータ様ですから、間違えば医療ミスなんて比較にならないくらい色々死にます。
そのうちソフトウェア会社が直接、死亡責任で訴えられる日も来るでしょう。これからソフトウェアで飯を食っていく予定の小心者としては、システムのバグがどうのというニュースにはブルブルするわけです。
富士通しょぼいとか、何やってんだカス!とか言って笑う人はですね、ほれ、自分が最近書いたコードがあれば、見直してみなさいな。色々バグ見つかって楽しいですよ。所詮人間が作るものですからね。嘲るので終わりにせず、明日は我が身と自身に問うのが賢いやり方ってもんですぜ。まあ、そう思ってもなかなか実行できないのもまた人間なのですがね。
高校時代の友達同士で食事とボーリングをしました。夕方に集合したのにすぐ終電の時間になってしまいました。電車の時間なんて普段意識しないからなおさらでした。
リファレンスモニタにてプロセス関連の扱いが間違っている問題を直そうと思い、Linux カーネルがプロセス管理に使っている構造体を参考に作ってみました。デバッグやテストが非常にめんどうくさいです。
紅白を見てたら一日が終わり、妹が番組をガチャガチャ変える中、ナイナイの番組で年が明けました。今日は書くことがないので、今実家で使っている即席ネットワーク環境でも紹介しましょう。ちなみに実家はフレッツ ADSL です。
夏までは直結で使っていましたが、母 PC のセキュリティが気になるので、今年の夏に無理矢理ルータを買わせました。ただそのとき無線機能をけちってしまい、床をケーブルが這うことになりました。これだと同居しているじーさん達がひっかけそうで怖いのです。
今回は 2台あるし、アドホックモードを試したらあっさり通信できちゃったので、勢いに乗って片方のマシンをルータにしてみました。据え置き側は必然的にバッテリーが刺せない X31(Linux)になるため、慣れない iptables と格闘する羽目に。いざ成功して使ってみると、無線のレスポンスがいまいちですけど、とっても便利だわ。
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2021.
Powered by PHP 5.2.17.
using GD bundled (2.0.34 compatible)(png support.)