過去日記ログ、初期表示を展開した状態に変えてBODYタグのonLoadイベントで古い奴を畳むようにしました。スクリプトをオフにしても読めます。これで古いブラウザも嬉しい…わけがなく、CSSに対応していなければてんでダメです。諦めて乗り換えるが吉です。
IEでスクリプトを全部拒否するとカウンタの背景が灰色くなりますが、これはIEが24bit深度の透過PNGに対応していないせいなので MSに文句言いましょう。興味ある人はchromaを調べてみると良いと思います。
JoyToKeyもどきがなんとか形になりました。○○もどきだと呼びづらいのでJoyConverterと呼ぶ事にしました。時間かかりましたがただWTLに乗り換えていただけなので基本機能は同じです。連射機能の実装はとりあえず見送り、使いやすくする改良のみに留めました。
JoyConverterスクリーンショット
スクリーンショットです。見ての通りごく普通の2ペイン式です。設定するときは新たにダイアログが開いてそこにチマチマ入力します。このあたりはJoyToKeyをパ…いや、見習いました。WindowsはジョイスティックデバイスをインストールするとデバイスのIDがずれてしまう事があるため、Drag&Dropで設定をDevice1からDevice2にごっそり移動できれば素敵ですが今はできません。間違って変更したときのUndoができると素敵ですがやっぱりできません。手抜きですから。
昨日の授業の事を書き忘れていた。社工出身の人など線形計画法を前提知識にするとつらい人が居るため、線形計画法を必要としない最適化問題を扱います。具体的には最短路問題、最大流問題とそれらの応用である最小コスト問題などです。最終レポートの話もしていました。お題は「自分の研究に最適化を活かせ」で、面白ければAだそうです。ユーモアを求められても困るなあ…。
大下邸で晩御飯をいただきました。茶碗蒸しはお手軽でうまい〜。久しぶりにクノールカップスープ(粉をお湯に溶いて飲むコーンポタージュ)を飲みました。決して悪くない味だけど、めいらくのパック入りのコーンポタージュの方が断然おいしいですね。
ドコモの仕事と並行して、自分の研究となる予定のものも暇を見つけて進めています。
今日はERESTARTSYSの話です。普通ユーザーモードではお目にかかりません。しかしプロセスがトレースされていて、システムコールによりブロックされているという特殊状態でシグナルを受け取ると、返り値にこのエラーが入ったシステムコールがトラップされます。
getchar(3) でブロックするハンドラを書いて、sigaction(2) で指定するプログラムをトレーサで見張り、別のシェルからそのプログラムにkill(1) でシグナルを投げました。トレースするとこんな感じでした。
とこんな具合になっているようです。トレースされている方のプロセスではreadは失敗に終わり、トレースしないときと同様にEINTRが設定されて帰ってきます。ちなみにシグナルハンドラでブロックしているときに、さらにシグナルを投げるとハンドラの入れ子になります。1 -> 2 -> 2 sigreturn -> 1 sigreturn -> 元の場所、となります。
sigreturnの帰ってこないという特殊性とERESTARTSYSを考慮しないと、システムコールのスタックがうまく作れないなーなんて思った昼すぎのひととき。
寝坊してセミナーに遅刻しました。塚田氏の電話で起きなかったらやばかったなあ。
今日試しに研究室からこのページを見たら、同じ時間のログが二回記録されてしまいました。バグってますねえ、やはり記録時にロックしないせいでしょうか…。当面はe-Counterに元々書いてあったロック機構で運用してみます。そういえばここのカウンタ、KENT WEBさんのe-Counterが元なのでe-Counterを名乗っていますが、拡張しすぎてe-Counterのコードがほとんど残っていません。KENT WEBで元のカウンタを見ていただくとわかりますが、元のはシンプルを売りにしているのでログも吐かないし、画像連結もしません。
カウンタの「本日」のヒット数が正確でない(1回少ない値が出ることがある)問題は承知していますが、修正は困難です。例えば、合計100ヒット、本日10ヒットだったとします。次は合計が101で本日が11となるべきですね。しかし「合計」と「本日」というように表示を2つに分けたために、どちらが先に読まれるかわかりません。表示順序は以下の2つの場合が考えられます。
うちのように前回とIPが同じならカウントしない、という制約があるなら「合計」と「本日」のどちらのタイミングでもカウント処理を行うように書いてしまうと解決します。後から来たリクエストがどちらであろうと、前回とIPが同じということで無視できるからです。
ところがこのカウンタは、とにかく表示されたら1回カウントするという設定にもできます。そもそも画像のカウンタなので、画像を表示しない設定の人はカウントしようがなく、この設定に何か意味があるのか?と思いますが、別問題なので触れずにおきましょう。全てカウントする設定の場合、正確な「本日」表示は難しいです。思いつくものはある秒数(適当に決める)内の再表示はカウントしないようにするくらいでしょうか。でもそれって正確なカウントなのかなあ?
Comsys 2005二日目。加藤研から持ってきて会場内に設置していた無線LAN基地が異常に調子悪くて困りました。加藤先生を始めとしてMac組は昨日から全員繋げないと言っていたし。一見するとアンテナ三本で立派なのに、所詮バッファローってことですか…。それとも無線LANの利用人数が多すぎたのかなあ?
Comsys 2005に参加しました。前回は東京タワーの近くでやったので、非常に遠くて疲れました。今年は筑波大学で行われました。やはり近い場所は良いですね。ちなみに明日もあります。
カウンタの仕様を変更しました。今までは1桁ずつ表示させていたため、例えば5桁表示なら5回リクエストが飛んでいました。それを PNGの連結ライブラリで連結した画像を表示するように変更しました。5回CGIが起動することと、PNGの連結処理を比べるとどちらが重いのか?という議論もありますが、そもそも大してアクセス数のないサイトなので気にしていません。どちらかというと1桁だけ欠けるという事態がなくなって嬉しいです。
ところが別の問題が起きました。IEはパレットカラーのPNGしか透過処理をしないようです。連結ライブラリが出力するのは24bitの透過PNG画像のため、全く透過してくれません。これはIEの素敵な仕様なのでしょうね、仕方ないのでchromaで透過処理をしてごまかしました。
IEってなんていうか中途半端な実装だなあ。
タイトル変えました。横に書いてあるのはラテン語です。文法とか単語の意味はGoogleに聞けば出ます。
先日のsuExecを止めた悪影響が出ていました。ログファイルのパーミッションを644としていたためにカウンタがログを書き込めず、数日間カウントが停止していました。最近全然回らないなあと思ったら、なんとも情けない設定ミスでした。
サーバで開発をするのは良くないのはわかっていながらも、家にLinuxマシンがこれしかないのもあって使いまくりです。今日ミスって無限ループ内でnewをやったら、スワップしまくってネットワークが固まりました。これしきで固まってしまうんだなあ。
あと、誰も気づかない点としてgif画像をPNGに置換中です。これも昔は IEがPNGを表示できないという腐った仕様だったためです。今は透過PNGも普通に表示してくれますがね。カウンタの画像やリンクの横にあるアニメーションgifなどはまだ残っていますが、アニメーションなんて正直どうでもいいのでそのうち静止画になります。
流行のAjaxを使ってみようと思い立ったものの、サーバが必要な処理が特に見当たらないのでJavaScriptのみを使うことにしました。大した事しませんけどね。
昔NN4やIE4が全盛だった時代にJavaScriptに一度挑んで、ブラウザによってあまりに動作が違ったため、がっかりして使うのをやめた記憶があります。最近になって互換性も向上してきたようで、昔実現したかったことがあっさり書けてびっくりです。
そのためIE4とかNN4のような骨董品を使っている人は、過去日記のリンク項目が展開できなくなりました。あきらめましょう。
集中授業に出ました。書類の直しをするばかりでだるいです。これがSEの仕事なのかあ、つまんねえなあ。
北脇さんとじょーとで福村に行きました。焼き魚は食べるのが面倒くさいからもう頼みません。噛んでる時間より突付いている時間の方が長いなんて…。
板野先生の授業の最終課題は2つの英文章を選んでA4 3枚に要約せよ、という課題です。短めのを2つ選んで全部訳してしまったので、あとは適当に3枚になるように切り詰めればOKかな。
Google先生に捕まっていない(Coinsの時のアドレスで残ってる)と思ったら、Yahoo先生につかまっていました。「野菜のめぐみ」でページ検索したら、えぇぇぇ4番!?ばかな、こんなページが!
ちなみに某野菜ジュースと同じ名前なのは、昔、毎日飲んで気に入ってたからです。当初は(今も?)内輪事だけだし、平気だろうと構えていたらこんな上に出てるとは存じませんで…スミマセン。そのうち名前変えます。
JoyToKeyもどきをやっとWTL版に移植しました。使い勝手は変わらず、自己満足の世界です。機能追加しようにももう特に欲しい機能はないし、連射機能くらいかなあ。でも使わないなあ。
11/23現在、未だGoogle先生に捕捉されていない奇跡。できればこのままそっとしておいていただきたいね。
昨日に引き続きNTPの話です。Ring Server ProjectがNTPサービスを提供しているようです。適当なNTPサーバが見つからないなあとお困りのあなたはntp.ring.gr.jpを使ってみると良いでしょう。
研究室のNTPサーバの同期先をネット研(stratum 3、hakobe(学情)またはmfeedと同期)から SINET(stratum 1、GPSかな?)に変更しました。これはSINET利用機関専用のNTPサービスで、研究室から使って良いのか不明です。筑波大学の内部組織もまたSINET利用機関と言えるのか?という点がはっきりすれば解決します…。
実は hakobe.cc.tsukuba.ac.jp(学情のNTPサーバ、stratum 2)が使えれば一番楽です。はい。でもこれも勝手に使って良いのですか?誰か知りませんか?
話は変わって我が家のサーバについて。favicon.icoがないぞ、というエラーが溜まりまくってうっとおしいためルート(/var/www/)にfavicon.icoを追加しました。今のアイコンは適当です。そのうち差し替えます。
みなさんには関係ありませんがもう1つ。必要性を感じないため suEXECを無効にしました。参照:How to disable suexec of Apache.にDebian流の方法が載っています。Apache2系は初めからsuEXECが無効なようですね。
パソコンの時計は勝手にどんどんずれていきます。放って置くと1分くらいずれていることもしばしばです。
そこでNTPという時計合わせのためのプロトコルを用います。我が家ではntp.jst.mfeed.ad.jp(stratum 2)とバックアップにWAKWAK(stratum 3)のNTPサーバと同期しています。NTPで時刻の同期を行う場合、上の階層のサーバに負担をかけないように注意しましょう。
具体的には家の中の1台だけを上位のサーバと同期させ、他のマシンはその1台と同期させるようにします。だからってうちのサーバを使わないでね…しょぼいマシンなんでいじめないでください…。
< | 2005 | > | ||||
<< | < | 12 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
合計:
本日: