USB メモリを買いました。本当は買わなくてもいいのですが、セミナーがあるから一回は使うよ、これから絶対元取るよ、と自分へ言い訳して買いました。256MB で 3000円もするんだね、高いなあ。
帰りにカワチに寄ったら、自分の目の前に居た女性が 2万2千円も買い物していきました。コットンとコンタクトの洗浄液が 1カゴに山盛り&数千円の細長い箱が 4本くらい。勢いの良い買い置きだった。
家に帰って USB メモリを使ってみましたが、あまりの遅さに使う気がなくなりました。君には失望させられたよ。
研究室に行って塚田氏のプログラムの手伝い、というかロジックの部分を共に考えていました。誰かが書いた数式を理解するのは面倒だが、込み入った事を自分で数式で表すときは便利だなあと感じます。ちなみにセミナーの文章書きは進みませんでした。
研究室のマシンを Linux 2.6 カーネルにしてから、ネットワークが良くストールするようになってしまったので 2.4 に戻しました。わずか 3日の短いお付き合いでした。
このページにアクセスしてきた人の UserAgent と RemoteHost のカウント数を見るだけの機能は昔からあったけれど、何か物足りないので、新たにブラウザごとのカウント数を出す機能を追加してみました。定義ファイルからデータを得ます。定義ファイル方式は自動判断より手間がかかるのですが、単に Perl でプログラム書くのが嫌だと思っただけです…。
結果は IE6 が圧倒的です。Firefox ががんばっていますが、ページの作者たる自分が使っているから多いのは当たり前。ここに訪れる人のシェアとしてはもっと少なくなるでしょう。
セミナー関連。文章に引き続きスライドも阿部さんにチェックしていただきまして、家で指摘された点の直しなどをしていました。月曜日は加藤先生も見てくださるそうです。
National の美容関連 CM で必ず言う「きれいなお姉さんは好きですか」というフレーズ、有名ですね。一体、きれいなお姉さんは何人いるのか?気になったので調べてみました。
初代から、水野真紀('92〜'96)、松嶋菜々子('97〜'00)、片瀬那奈('01〜'02)、中谷美紀('03〜'04)、そして現在は仲間由紀恵('05〜)です。
年齢的にシリーズ全部見ているはずなのに、松嶋菜々子と仲間由紀恵(てか今じゃん)しか覚えていません。片瀬那奈は最近見た番組でその話題が出てきて知りました。たった 5人なのに意外と覚えていないものだな。
じょーと昼を食べて、谷田部の野球場に送りました。野球サークルの OB 会だそうです。そして 2:30 頃にくいだおれに迎えに行きました。もちろん深夜よ?
迎えに来いと言われる方が、変に遠慮されて飲酒運転で事故られるよりよっぽどまし。命は大事にせねばいかんよね。あと 30年は友達の葬式なんか行きたくないからな!
引きこもりはなぜコンピュータ関連の仕事?と山下さんのページにあったので、考えてみた。
まずプログラマですが、どこかの会社に雇われているはずなので不可能だと思います。打ち合わせにも行かずに何を作るつもりでしょう?これはプログラマだけでなく定職に就くならどれにも言えます。
他には、ブログにアマゾンとかのアフィリエイト収入で生きるとすれば不可能ではないと思います。しかし収入を気にすると購買意欲を掻き立てる文章を書くため、裏づけとなる知識の収集などが必要ですよね、やはり出かける必要があると思います。
あとは出歩きたくてもできないくらいの障害を持つ人がやる仕事をゲットできれば引きこもれるけど、採用担当には仕事をなめてる奴としか思われないでしょう。これも非常に困難だと思います。
こんなところかな…。平凡な答えでしかも長くてすみません。
文章を阿部さんに見ていただくと共に、スライド発表を先生に見てもらうと、構成が良くないらしくわからんといわれました。水曜もう一度見ていただけるようなのでスライド直しの夜です。
授業行きました。明日の発表練習に向けてスライドを直し、寝ました。
再び先生に見てもらうと、それじゃ全然わからないといわれました。
ここ一週間で色々意見をいただいたのですが、総合してもよくわからないのであきらめました。発表は明日でもう時間ないし、自分にとって筋が通るように直します。
セミナー発表が終わりました。その後の全体ゼミで、先生から昨日と比べるとだいぶよくなったと言われ嬉しかったです。
もうひとつ、発表のときに「ここはこうなります…っと」のような変な語尾(たぶん次のページに移る時に言う)はやめた方が良いと指摘されました。「はい、気をつけます」と返事したものの、無意識なので直らないかもしれないです。
たまには読まれもしない長文を書いてみようかなーっとぉ!(直ってない)
JoyToKey もどきでは、デバイスを 1ms 間隔でポーリングしています。そのためには 1ms 経つまで帰ってこない関数が必要になります。現在の実装では Sleep と timeBeginPeriod を使って(※)います。なぜなら、負荷が低い状態ならば Sleep(1); はほぼ 1[ms] で帰ってくるし、これにより CPU をアイドル状態にでき、電気代の節約にもなるためです。一石二鳥なのです。
しかしこのソフトを使うときはゲームしていることが多いため、ゲーム側で高い負荷がかかる事があります。高負荷時には Sleep(n); は n[ms] では帰りません。高負荷時には Sleep(1); が 10ms とか 20ms 後に帰ってくることもザラです。
Sleep とは現在このスレッドは暇だから、指定した時間が「過ぎるまで」他のスレッドに CPU 時間を譲りますよ、と OS に教える事です。そのため自分以外に高い負荷がかかるスレッド(つまりゲーム)がいれば、Sleep を呼んだスレッドに制御を戻すのを遅らせてでも、高負荷のスレッドに CPU 時間を割り当てるのは当然の動きです。低負荷ならば Sleep(n); が n[ms] で帰ってくる傾向がある、というだけで常に Sleep(n); が n[ms] で帰ってくることは誰も保証していないのです。
Sleep を嫌うとビジーウェイト(時間がたつまでループして待つ)ことになりますが、JoyToKey もどきが CPU 100%食うようなアプリケーションだと嫌ですよね?…どうでもいい?チッ、皆が良くても俺は嫌なんです。
これは今作っているアプリケーションに限った問題ではなく、数ms ごと処理を実行するという部分があれば必ず出る問題です。ビジーウェイトなしに正確な時間待つ関数を作れれば、有用だと考えます。
現在考えているのは、低負荷時には Sleep を使い、高負荷時にはビジーウェイトに切り替える関数です。予想される弱点としては、低負荷時に Sleep を使って待つため一時的に高負荷になると Sleep がデッドラインを超えてしまう可能性があることです。ゲームに用いると一時的な負荷で激しく処理落ちする欠陥と言われそうですが、JoyToKey もどきには妥当な落としどころでしょう。実装できたらまた書きます。誰もここまで読んでないだろうけど、次回をお楽しみに。
※Windows は timeBeginPeriod(1); を呼ぶとなぜか Sleep の分解能も変わります。この副作用は昔からあるようです。とりあえず呼んどけ。
ビジーウェイトなしに正確な時間待つ関数を作るには?
昨日の続きです。負荷に応じて切り替える手法は、良さそうに見えて実は高負荷かどうか?という判定が意外に難しいことに気づきます。もっと単純かつ効果的なのはポーリングしているスレッドの優先度を 1〜2 段階上げることです。
既に知っている人は昨日の日記を読みながら、何だそれしきの事とニヤニヤしていたかな。うそ?それだけ?って思った人は実際にやってみて体感してください。キーワードは SetThreadPriority() です。
バックグラウンドで動かすなら、ポーリングの間隔は 10ms 以上が良いと思います。1ms だと頻繁に起こるスイッチングの負担で他のアプリケーションが遅くなります。あくまでもこれは我が家のマシンでの体感です。他の環境だともっと間隔をあけなければならないかもしれません。
代替わりコンパに行きました。知らない顔がかなり増えていてびっくりですよ。せめて作業くらいは顔を出そうかな、と思いました。
石岡市のダチョウ王国に行きました。ダチョウ肉を食するのと、動物と触れ合う「南のまきば」がメイン(たぶん)です。南のまきばではヤギが脱走していました。従業員のお姉さんが追いかけていたけど戻せず、別の従業員のおっさんは「あーヤギ?いいよほっといてー」って言い放っていました。で、本当に放置されていました。ヤギが枠の外にいるのに、客も従業員も誰も気にしちゃいない。ここはのどかだなあ。
その後、同じく石岡市の常陸風土記の丘でに行き、ずっと売店で買ったおもちゃで遊んでいました。手で引っ張るとプロペラが飛んでいく竹とんぼみたいなおもちゃです。最後は色々あって、全部壊れました。ありがとう 200円のおもちゃ×2 よ。
八郷町のやさと温泉ゆりの郷というところで、温泉に浸かり、晩御飯を食べて、じょーんところにお見舞いに寄ってから解散しました。
メンバー)北脇、小磯、鈴木、田口、山下、結城(敬称略、五十音順)
じょーと桜のバー Issa に行きました。カクテル 3杯くらいで 6000円。学生が通うと考えるとお高い値段です。その後、田口邸に行き残っていたジョニ黒を飲みました。ウイスキーってのどがイーーッってなりませんか?そういえば Issa で飲んだボウモアは後味がすっきりしていました。あれ高いんだろうな。
Sun のやつは今日だったらしい。すっかり忘れていました。まあ自由参加だからいいのかな。
授業に行って、研究室に行って、家に帰って、寝た。
東京国立博物館の北斎展に行きました。楽しかったのですが、版画作品は意外と小さくてちょっとがっかりしました。富嶽三十六景ってもっと大きい絵だと思いこんでいました。展示数が多すぎて見切れませんでした。
帰りの常磐線南千住駅で、電車が急ブレーキかけて止まったので何事かと思ったら、オーバーランしていました。自分はオーバーラン初体験で大層おどろきましたが、周りの人はそうでもない様子です。もしかしてオーバーランって頻繁に起きてるの?
薔薇絵亭で晩御飯を食べました。うまうま。上野駅で買った 1個 300円もするプリンを 2個一気に食ってやりました。うまうま。
家でセミナーの QA レポートをまとめていたら、阿部さんから電話がかかってきました。電話で「今日ドコモのミーティングなんだけど…」と言われて、初めて思い出す始末。もちろん準備もしていなかったため、駆けつけても意味がない。スケジュールにメモってあったのに度忘れするなんて初めてです。ぬかったあ。
全体ゼミで次は気をつけてね、見たいな事を言われました。明日ドコモの人にもお詫びのメールを出しておこう…。
若者敬語とかはどうでもいいのですが、単語の誤用は元の意味を知っていると気になります。例えば以下の文章を読んで「え?」と思う人は居ませんか?
「部長から与えられた仕事は、私では役不足です。部長にその事を直訴する前に親友に相談しようと思います。彼は気の置けない相手ですから、率直な意見を述べてくれると思います。」
タネあかし。前回の文章で「え?」って思った人は、知ったかさんです。昔の私と同じです。おお心の友よ、あなたはいつかどこかで誤用するでしょう。
正直に辞書を引いた人(※)はわかったはずです。つまり前回の文書は特に間違っていません。言い換えればこうなるからです。
「部長から与えられた仕事は、私では「役目が簡単すぎ(るため不満)」です。部長にその事を直訴する前に親友に相談しようと思います。彼は「気を許して付き合える相手」ですから、率直な意見を述べてくれると思います。」
まあ、こういうややこしい言葉はそのうち誰も使わなくなって消えますよね。散々引っ張っておいてこういうオチ…まあいいや。以上です。
※突っ込まれる前に言っておくと、我が家の辞書(三省堂 新明解国語辞典 第四版)には「気の置けない」の項目に「気を許せぬ相手」という意味が(誤用からきた意味である、という注釈付きだが)載っています。元の意味が怪しくなる日も近いかもしれませんね。
昨日、寒いしたまにはシャワーじゃなくて湯船に漬かろうかなーと思って、風呂に入ったら死にそうに気持ち悪くなって、景色が暗転しました。やばそうだけど頑張って頭とか全部洗ってからあがったら、目の前が真っ暗になりました。な、何これぇ〜。根性で椅子まで辿り着いて、何とか気絶は回避しました。あんなぬるいのに湯あたりするとは思いませんでした。
って、昨日のエントリに追加しようと思ったら、大下さんも今日偶然にそうなったらしいので今日のとこに移動です。俺は気絶まではしていないけど奇遇です。お互い怪我せずに済んで良かったねえ。
情報システムデザイン論のレポートをやりました。UML を手書きにしたら手が冷たくなりすぎて字が書けません。でもキーボードはちゃっちゃと打てます。昔は指が動かなくなると打ち間違いが増えてイライラしていたものですが、ブラインドタッチでかなり変わったなあ。
JoyToKey もどきを改善中です。ファイル管理の部分を追加しました。具体的にいうとメモ帳の新規作成、とか保存とか開くとかの部分にあたります。このプログラムには悩みどころがあって、ジョイスティックの入力をキーボードやマウスの入力に変換する基本部分は割とすっきりしているのに、 GUI の部分が超やっつけ仕事なのです。直すとなると簡単な GUI ライブラリを使いたいところです。
アプリケーションを作成する際に、ライブラリをどうするかは悩みどころです。学生なら、勉強として一から作ろうという見方もありますが、企業などならば車輪の再発明なんて時間の無駄ですから、迷わず WTL など既存の優れたライブラリを使うでしょう。さて私はというと、作りたいという興味と面倒だなあという気持ちがぶつかり合って微妙な状態です。
JoyToKey もどきは WTL を使って作り直すことにしました。GUI と関係ないロジック部分は使いまわしです。
というわけで今日は WTL を使った GUI プログラミングに悪戦苦闘です。MFC の概念に慣れていないことや、WTL にはリファレンスがないことが相まって、わからないことだらけです。
Google 先生で先人の知恵を借りる、ヘッダファイルを検索して関数を見つけるなどして粘ってます。せめてもの救いは Win32 API と似た名前が多く関数名のアタリをつけやすいことかなあ。
パソコンの時計は勝手にどんどんずれていきます。放って置くと 1分くらいずれていることもしばしばです。
そこで NTP という時計合わせのためのプロトコルを用います。我が家では ntp.jst.mfeed.ad.jp(stratum 2)とバックアップに WAKWAK(stratum 3)の NTP サーバと同期しています。NTP で時刻の同期を行う場合、上の階層のサーバに負担をかけないように注意しましょう。
具体的には家の中の 1台だけを上位のサーバと同期させ、他のマシンはその 1台と同期させるようにします。だからってうちのサーバを使わないでね…しょぼいマシンなんでいじめないでください…。
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 が無効なようですね。
Google 先生に捕まっていない(Coins の時のアドレスで残ってる)と思ったら、Yahoo 先生につかまっていました。「野菜のめぐみ」でページ検索したら、えぇぇぇ 4番!?ばかな、こんなページが!
ちなみに某野菜ジュースと同じ名前なのは、昔、毎日飲んで気に入ってたからです。当初は(今も?)内輪事だけだし、平気だろうと構えていたらこんな上に出てるとは存じませんで…スミマセン。そのうち名前変えます。
JoyToKey もどきをやっと WTL 版に移植しました。使い勝手は変わらず、自己満足の世界です。機能追加しようにももう特に欲しい機能はないし、連射機能くらいかなあ。でも使わないなあ。
北脇さんとじょーとで福村に行きました。焼き魚は食べるのが面倒くさいからもう頼みません。噛んでる時間より突付いている時間の方が長いなんて…。
板野先生の授業の最終課題は 2つの英文章を選んで A4 3枚に要約せよ、という課題です。短めのを 2つ選んで全部訳してしまったので、あとは適当に 3枚になるように切り詰めれば OK かな。
集中授業に出ました。書類の直しをするばかりでだるいです。これが SE の仕事なのかあ、つまんねえなあ。
流行の Ajax を使ってみようと思い立ったものの、サーバが必要な処理が特に見当たらないので JavaScript のみを使うことにしました。大した事しませんけどね。
昔 NN4 や IE4 が全盛だった時代に JavaScript に一度挑んで、ブラウザによってあまりに動作が違ったため、がっかりして使うのをやめた記憶があります。最近になって互換性も向上してきたようで、昔実現したかったことがあっさり書けてびっくりです。
そのため IE4 とか NN4 のような骨董品を使っている人は、過去日記のリンク項目が展開できなくなりました。あきらめましょう。
タイトル変えました。横に書いてあるのはラテン語です。文法とか単語の意味は Google に聞けば出ます。
先日の suExec を止めた悪影響が出ていました。ログファイルのパーミッションを 644 としていたためにカウンタがログを書き込めず、数日間カウントが停止していました。最近全然回らないなあと思ったら、なんとも情けない設定ミスでした。
サーバで開発をするのは良くないのはわかっていながらも、家に Linux マシンがこれしかないのもあって使いまくりです。今日ミスって無限ループ内で new をやったら、スワップしまくってネットワークが固まりました。これしきで固まってしまうんだなあ。
あと、誰も気づかない点として gif 画像を PNG に置換中です。これも昔は IE が PNG を表示できないという腐った仕様だったためです。今は透過 PNG も普通に表示してくれますがね。カウンタの画像やリンクの横にあるアニメーション gif などはまだ残っていますが、アニメーションなんて正直どうでもいいのでそのうち静止画になります。
Comsys 2005 に参加しました。前回は東京タワーの近くでやったので、非常に遠くて疲れました。今年は筑波大学で行われました。やはり近い場所は良いですね。ちなみに明日もあります。
カウンタの仕様を変更しました。今までは 1桁ずつ表示させていたため、例えば 5桁表示なら 5回リクエストが飛んでいました。それを PNG の連結ライブラリで連結した画像を表示するように変更しました。5回 CGI が起動することと、PNG の連結処理を比べるとどちらが重いのか?という議論もありますが、そもそも大してアクセス数のないサイトなので気にしていません。どちらかというと 1桁だけ欠けるという事態がなくなって嬉しいです。
ところが別の問題が起きました。IE はパレットカラーの PNG しか透過処理をしないようです。連結ライブラリが出力するのは 24bit の透過 PNG 画像のため、全く透過してくれません。これは IE の素敵な仕様なのでしょうね、仕方ないので chroma で透過処理をしてごまかしました。
IE ってなんていうか中途半端な実装だなあ。
Comsys 2005 二日目。加藤研から持ってきて会場内に設置していた無線 LAN 基地が異常に調子悪くて困りました。加藤先生を始めとして Mac 組は昨日から全員繋げないと言っていたし。一見するとアンテナ三本で立派なのに、所詮バッファローってことですか…。それとも無線 LAN の利用人数が多すぎたのかなあ?
管理者: 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.)