たまには読まれもしない長文を書いてみようかなーっとぉ!(直ってない)
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の分解能も変わります。この副作用は昔からあるようです。とりあえず呼んどけ。
セミナー発表が終わりました。その後の全体ゼミで、先生から昨日と比べるとだいぶよくなったと言われ嬉しかったです。
もうひとつ、発表のときに「ここはこうなります…っと」のような変な語尾(たぶん次のページに移る時に言う)はやめた方が良いと指摘されました。「はい、気をつけます」と返事したものの、無意識なので直らないかもしれないです。
再び先生に見てもらうと、それじゃ全然わからないといわれました。
ここ一週間で色々意見をいただいたのですが、総合してもよくわからないのであきらめました。発表は明日でもう時間ないし、自分にとって筋が通るように直します。
授業行きました。明日の発表練習に向けてスライドを直し、寝ました。
文章を阿部さんに見ていただくと共に、スライド発表を先生に見てもらうと、構成が良くないらしくわからんといわれました。水曜もう一度見ていただけるようなのでスライド直しの夜です。
引きこもりはなぜコンピュータ関連の仕事?と山下さんのページにあったので、考えてみた。
まずプログラマですが、どこかの会社に雇われているはずなので不可能だと思います。打ち合わせにも行かずに何を作るつもりでしょう?これはプログラマだけでなく定職に就くならどれにも言えます。
他には、ブログにアマゾンとかのアフィリエイト収入で生きるとすれば不可能ではないと思います。しかし収入を気にすると購買意欲を掻き立てる文章を書くため、裏づけとなる知識の収集などが必要ですよね、やはり出かける必要があると思います。
あとは出歩きたくてもできないくらいの障害を持つ人がやる仕事をゲットできれば引きこもれるけど、採用担当には仕事をなめてる奴としか思われないでしょう。これも非常に困難だと思います。
こんなところかな…。平凡な答えでしかも長くてすみません。
じょーと昼を食べて、谷田部の野球場に送りました。野球サークルのOB会だそうです。そして2:30頃にくいだおれに迎えに行きました。もちろん深夜よ?
迎えに来いと言われる方が、変に遠慮されて飲酒運転で事故られるよりよっぽどまし。命は大事にせねばいかんよね。あと30年は友達の葬式なんか行きたくないからな!
セミナー関連。文章に引き続きスライドも阿部さんにチェックしていただきまして、家で指摘された点の直しなどをしていました。月曜日は加藤先生も見てくださるそうです。
Nationalの美容関連CMで必ず言う「きれいなお姉さんは好きですか」というフレーズ、有名ですね。一体、きれいなお姉さんは何人いるのか?気になったので調べてみました。
初代から、水野真紀('92〜'96)、松嶋菜々子('97〜'00)、片瀬那奈('01〜'02)、中谷美紀('03〜'04)、そして現在は仲間由紀恵('05〜)です。
年齢的にシリーズ全部見ているはずなのに、松嶋菜々子と仲間由紀恵(てか今じゃん)しか覚えていません。片瀬那奈は最近見た番組でその話題が出てきて知りました。たった5人なのに意外と覚えていないものだな。
このページにアクセスしてきた人のUserAgentとRemoteHostのカウント数を見るだけの機能は昔からあったけれど、何か物足りないので、新たにブラウザごとのカウント数を出す機能を追加してみました。定義ファイルからデータを得ます。定義ファイル方式は自動判断より手間がかかるのですが、単にPerlでプログラム書くのが嫌だと思っただけです…。
結果はIE6が圧倒的です。Firefoxががんばっていますが、ページの作者たる自分が使っているから多いのは当たり前。ここに訪れる人のシェアとしてはもっと少なくなるでしょう。
研究室に行って塚田氏のプログラムの手伝い、というかロジックの部分を共に考えていました。誰かが書いた数式を理解するのは面倒だが、込み入った事を自分で数式で表すときは便利だなあと感じます。ちなみにセミナーの文章書きは進みませんでした。
研究室のマシンをLinux 2.6カーネルにしてから、ネットワークが良くストールするようになってしまったので2.4に戻しました。わずか3日の短いお付き合いでした。
USBメモリを買いました。本当は買わなくてもいいのですが、セミナーがあるから一回は使うよ、これから絶対元取るよ、と自分へ言い訳して買いました。256MBで3000円もするんだね、高いなあ。
帰りにカワチに寄ったら、自分の目の前に居た女性が 2万2千円も買い物していきました。コットンとコンタクトの洗浄液が1カゴに山盛り&数千円の細長い箱が4本くらい。勢いの良い買い置きだった。
家に帰ってUSBメモリを使ってみましたが、あまりの遅さに使う気がなくなりました。君には失望させられたよ。
研究室に行きました。阿部さんにセミナーの文章の直しなどをしていただきました。
白雪姫とシンデレラってどんな話だっけ?リンゴと七人の何かと継母とカボチャが舞踏会で王子様が姫様どこやねんって探しにくる。いや、これは滅茶苦茶ですけど、どちらもディズニー映画のキラキラした幸せそうなイメージしかないですね。
原作は白雪姫もシンデレラもグリム童話なので、人が死にまくりです。Wikipediaを見ると、白雪姫の最後は継母を殺す披露宴だそうですよ。なんで結婚式にそんなことするかな。こっそり殺っとけよ。
セミナーの文章あらかたでっちあげで書いてみて、先生と阿部さんに送ってみました。明日はその訂正作業に追われる事と思います。
セミナーの文章書いていますが、全然進みません。そもそも何も実装していないので実験結果とかないし。具体的な方法がわかっているわけでもないので、書きづらくて仕方ないです。
自然言語処理の最終課題、昨日と同様にGood-Turingディスカウントと比例配分を使って Bigramのボーダーもクリアしました。時間があればME(最大エントロピー法)も作りたいです。
じょーの家行って飲み会しました。
先週は行き忘れたし、今週くらいちゃんと出ようと思って学校に行ったら休講でした。欝だ。
自然言語処理の課題をやりました。ラプラス法で実装したらアウトだったので、Good-TuringディスカウントでUnigramのボーダーをクリアしました。
昨日書いたレポートも出したし、授業もちゃんと聞いてたのに、肝心の出席を書き忘れました。欝だ。
セミナーが3週間後に迫っています。何も書いていません。書かないとやばいです。
特に何もせずに一日が終わるなあと思ったら、午前3時に明日のレポートをやっていないことに気づきました。30分ほどかけて頑張って作りました。よく気づいたなあ、俺。
通常通り、授業に行きました。UMLの知識を教えるだけの授業にはせず、発表や演習が盛りだくさんの授業となっています。しかし肝心の演習がダルくてやや眠たいです。それと答えるときに手を上げさせるのは、小学校みたいで嫌だなあ。
ドコモのミーティングでした。組み込みの開発にはいろいろ機器が必要でしかも需要がないからどれも高くて驚きました。今日もなにやらNDAの契約がもうちょっとで締結とか言っていたので、内容は書きすぎないようにします。
資料作りのめどが立って、ややゆったりできました。
夜、大下さんからメールがあって、筑波センター辺りを歩いていたら変なのに追いかけられて、怖い目にあったそうです。幸い大事に至らずに済んだし、もう懲りただろうけど、他の人のためにも言わせてもらおう。夜道は危険だと言っているのに無視して一人で歩くからイカンのです。
しかし…こういう忠告を無視して根拠なく「私は大丈夫」と思う人間が一番危ないから困りますね。せめて飲み会の後くらいは、男性陣は女性陣を送っていくように(※)しましょうね。
なんてことを思いながら、資料作りの仕上げをして明日遅刻しないように早めに寝ました。
※でも、現役は誰も読んでないから全然忠告の意味がない罠。
スタックトレースがやっと動いたのでドコモのミーティングで使う資料を急ピッチで作っていました。明日はのんびりできそうです。
ちなみにスタックトレースが動かなかった原因は初期化がなされておらず、if (pointer == NULL) return; のチェック部分を通過していたためでした。何でそんなの気づかないのお前?って思われるかもしれんが、初期化するの当たり前だよ!って思ってるから仕方なかったのである。
当然ですが自分が書いたプログラムじゃないんでそこんとこよろしく。自分で書いたプログラムならこんな手間かかりませんからね。
授業行くの忘れました。というより授業の存在を思い出した時にはもう終わっていました。来週はちゃんと行かなきゃねえ。
JoyToKeyみたいなやつを作っています。JoyToKeyはマウスとキーの操作が同時に割り当てられないのと、キーストロークが3つまでしか登録できないのが微妙です。マウスとキーの同時操作は複数起動すれば不可能ではありませんが、順序がつけられません。つまりA押して、B押して、クリック、のような動作がやりたいのですが不可能なのです。
で、やりたいことは大方実装できましたが、Sleepを導入したがために連射機能が難しくなりました。まあ、そのうちなんとかします。あとはファイルに保存する部分を作れば自分で使う分には完成かな。公開は多分しないと思う…。
朝、学校に行ってどこかの企業の人にポットのデモをしました。
デモをやってたら授業に遅刻しましたが、何食わぬ顔で普通に参加して帰りました。
自分の将来を決めるミーティングがありました。ふとしたことからネストしたポットができないか、という話で盛り上がりました。どうやら自分の研究はこれになりそうです。
昨日の話と関係してます。
自分が作るアプリケーションでは、2回くらい頑張ってもフォーカスが取れなければメニューを出さない、というがっかり仕様にしています。昨日紹介した操作ならまだしも、正常な状態でフォーカスが取れないなんて、OSが落ちる寸前くらいなもんだろうと思いますし。
フォーカスが取れなければポップアップメニューを出さないとか、無理やりフォーカスを取りに行くアプリケーションもありますが、Windowsに最初から入っている奴らはほぼ全滅です。ぜひ遊んでみてください。
恐らくバグ…あ、いやWindowsの仕様でしょう。ウインドウにフォーカスが当たらないようにしてメニューを出すとメニューが消えません。
「フォーカスを当てずに右クリックなんてできないよ!ジョニー!」とお嘆きのあなたにも簡単にできます。適当なウインドウで、Alt+Spaceを押し「移動(M)」を選べばOKです。好きなところを右クリックしてください。次々とメニューが出ますが、前に出たメニューが消えないでしょう?
4つポップアップメニューが出てます
上の画像では Explorer、Firefox、Thunderbirdのポップアップメニューが全部出ています。きっとLonghornでも同じバ…いや、仕様だと期待します。実害は全くないので、Windows持ってない人は店頭デモ機とかでやってください。
< | 2005 | > | ||||
<< | < | 11 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | 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 | - | - | - |
合計:
本日: