友人にollydbg使ってみたらどうか、と言われ、とあるソフトの動作を変更してみた。
こういうソフトを使うと、結構簡単にできるもんなんだねぇ。。。
議事録などの整理をまとめて行う。
なんていうか、今週の土日に時間が取れなくて、月曜日、火曜日と
気づいていたけど寝てしまった結果、先週の木曜日のログなどが
中にはあって、早めに整理しないと面倒なことになる。
何だかんだでやることが多い。。。
毎週、一週間ごとにやることを決めよう。
決める日は、火曜日から水曜日にかけて。
さて、そろそろ帰ろう。
MSN Messenger上に自分の居る場所を表示するプログラムと
jetAudioが干渉していることが判明。
何か、jetAudioのメッセンジャー表示オプションを
停止しても、空白のメッセージを流してるみたい。
困るなぁ、、、自分もこういうソフト組んだらやりかねないけど orz
表示メッセージを監視して、空白になったら表示し直すという
手も考えたけど、それだと余計な通信をしてしまう。
ということで、jetAudioを使うのをやめた。
で、次に選んだソフトはこのソフト。
-= Project9k =-
http://www.project9k.jp/
デフォルトのスキンがよくなかったので、適当にスキンを変更。
変なフォーマットのmp3ファイルも設定変更で再生できた。
そんでもって、メッセンジャーに干渉しない。
あと、エフェクト周りの機能が豊富。
結構いいかもしれない。
午後11時頃に大学に来て、少し作業をして、気づいたら寝てた。
その後、ほとんど記憶が無くて、起きたら2時半だった。
何でだろう orz
今日の総合科目の時間もそうだった。
1時間目の授業の時にうとうとすることもなく、寝ていた。
うーん、何だろうねぇ。。。
突然眠気が襲ってくるというのは、なんていうか、
車運転するときとかすごく怖いなぁ。。。
ところで、先ほどからハードディスクが定期的に
ディスクアクセスしているのか「カッコン」とか聞こえるんですが orz
ディスクアクセスのランプがついている場合は、何か
データを読み込んでいるという認識でいいのかな。。。
後から、BIOS立ち上げて確認してみよう。。。
作業をしていたら、気づいたら寝てた。
終わったら、早めに帰ろう・・・。
今日は、ロボコンの最後の試合だったわけですが、
結果は、あんまりよくなかったです。
順位はというと、11チーム中5位でした。
んー、なんだろうねぇ。どうしたらいいんだろうねぇ。
センサーデバイスとしてカメラだけというのは、
そんなに不安定なものなのか・・・?
うーん、いまいち納得できないかもしれない。
実は、この授業は例外で、来年受けても単位がきたりします。
なので、3年かん毎度受けるということも可能。
ただ、何にしても負担がかなり大きい・・・。
マイナス数単位という異名を持つほど。
まぁ、それはあとあと考えますかね。
終わってからは、チームの先輩のところの
ロボコンサークルにお邪魔させてもらって、
鍋を作って食べた。
合計で、16人くらいいて、かなり多かった。
鍋の方は、結構おいしかった。
さてと、そろそろ寮に帰ろうと思う。
全然暇にならんがな orz
んまぁ、金曜日の夜から早朝にかけては、C#で
汎用的なサーバクラスを構築しようと勉強していた。
ただ、8時半ごろロボコンのために移動したと思ったら、
中止になって、先生のメールによって、再度やることになって、
最終的に通常通りの予選会をやることになった。
雨の中の移動は、結構しんどい。。。
てか、汎用的なサーバクラスなんて、ネットで探せば
非常にいいものが転がっているのは確かなんだけどね。
自分の勉強のためにならない。
そういうわけで、つくばカピオで
ロボコングランドファイナル前の予選会。
結果は・・・まさか、数百グラムに泣かされるとは思わなかった orz
テスト状態では、比較的うまくいった(とはいっても、台風がまさに
近づきつつあるため、全体を通してのテストはしていない)のだけど、
テスト用の台を外した途端、移動の軌道が変わったよ orz
まぁ、元が重いから仕方がないのかなぁ。。。
とにかく、本番の状況を再現することは重要!
あと、何でか知らないけど、今までロボットと通信をしてなかった
からって、通信に遅延を起こすのはやめてくれ orz
そういうわけで、今日はグランドファイナルです。
がんばりましょう。
あと、バイトの給料が入りました。
初めての給料、、、何に使おう。
まぁ、とりあえず、技術書を2冊ほど購入予定。
読む時間無いだろ、とかそんな指摘は知らない(ぉぃ
5時頃帰ろうと思ったら、また、寝てしまって起きたら6時・・・。
もう、こうなたら、7時までここで寝てますよ・・・。
外は雨ですな・・・移動するのが面倒だ(==
今週はやたらと忙しかったのですが、そろそろ
忙しさの終わりの兆しが見えてきました。
あと、残りは、英語のテスト(事実上期末試験)、
WORD記事の赤入れ、ロボコンのグランドファイナル(土日)となっている。
とりあえず、今晩あたりは何かおかしなことやってると思います。
まぁ、既に昨日の夕方にもおかしなことをやっていたんですが・・・。
昨日は、午前中は知能情報メディア概論の授業があった。
片耳で授業を聞きながら、英語のテストの勉強してたり、寝てたり。。。
終わってからは、WORDの編集会議。
その後、研究を行っている部屋に国会議員の方が訪れた。
少し話を聞いて、名刺をもらった。
ちなみに、その時間帯には英語が入っていたのですが、
始めて授業をさぼりました。
まぁ、状況が状況なので、そちらの方を優先。
授業が全部終わった後、夕方から夜にかけて、
部屋に戻って何故かC#でネットワークプログラミングをやり出す。
いや、何となくやってみようと思ったんですよ・・・。
目的は、某I氏制作の時報付き時計にネットワークから
目覚まし登録をできるようにすること。
その手始めとして、ネットワーク上から時報の音声を
慣らせるようなことをやってみた。
しかし、今考えてみると何でこんなことやっていたんだ。
作ったものはいいとして、実は、その時、頭が痛くて、
空腹感からきてるのかと思って、カップラーメンを食べたら
さらに吐き気が増して・・・っていう状況の中で、何やってるんだろう。
まぁ、たぶん楽しかったからだろうと思うけど。。。
あと、実は英語のテストが今日だからそれの勉強をしないと
いけなかったり、、、ってそれは今も同じか。
とりあえず、Telnet経由で叩けるようにして、クライアントソフトを
使えば、簡単に時報の音声を聞けるようにしてみた。
一区切りついて、体調がよろしくないので、寮に帰って寝た。
さて、今のところテストが終わったらやりたいこととして、
某時報を改造することと、頭の中の構想が構想可能かどうかの
検討だな。。。後者は、かなり難しい。
今日は、夜大学に来ようと思って、寮で寝て、
その後、大学に来て作業をして、また、寝て、
っていう感じだった。
なんか、寝過ぎだよ・・・。
とりあえず、そろそろ寝よう。
Amazonの宅配時の伝票番号を表示してくれるサービスいいね。
今日、いつものごとく昼間に宅配便の不在通知が入っていた。
いつもなら、帰って伝票確認してから再配達頼んで、明日受け取るんだけど、
今日は、授業中にネット使って伝票番号調べて、再配達の依頼をした。
これで、今日中に本を受け取ることができる。
明日は線形代数のテスト。
うーん、、、これは絶対に計算ミスしそうだな、、、
てか、何か勉強してたら思ったのだけど、細かいところで
重要なところを授業中に聞いてない気がする。
確かに、ノートには書いてあるんだけど、勘違いしやすい
ところは、もうちょっと強調して欲しかったなぁ。
まぁ、自分が寝ていた可能性があるけど・・・。
それにしても、今の線形代数の教科書は不親切だと思う。
教科書に答えを一部しか掲載しない方針はわかるけど、
ネット上に残りの解答を載せるくらいなら、詳細な
解答も何かしらの方法で出して欲しい。
なんていうか、答えだけしかパッと書いてないから、
本当にそれであっているのか信用すらできなくなる。
さてと、そろそろ寝ましょう。
明日は、午前中はバイト先に行っていろいろとお話。
昨日は、結局寮に帰りませんでした。
午前6時頃帰ろうかと思ったけど、そのまま友人とだらだらと
しゃべっていたら、7時になって帰る気がなくなった。
ところで、そんな中でふと思いついたこと。
サーバがアクセス過多で落ちるというのは、たまに聞きますが、
実際にサーバが落ちたというところを見たことがない。
一体、どういう現象を落ちたというべきなのか。
そういうわけで、せっかく今いる部屋に何台もの
コンピュータとギガビットのLANがあることだし、
実際にやってみよう、という話になった。
まず、Pentium3 850MHzほど + 256MByte + Windows XP +
100BaseのLANポートのマシンを用意。
それに対して、攻撃を加えたのが自分のマシン2台と
Pentium4 2.8C GHz + 1GByte + Windows XP + 1000Base
Core2 Duo 2.0GHz + 2GByte + Windows Vista + 1000Base
友人のマシン2台(Core2、Athlon 64)、共用で
置いてある1台(Pentium4)で攻撃を加えた。
よくよく考えてみると、攻撃対象以外、全部1000Baseに対応してるな。
あと、経路自体も1000Baseに対応しているので、これはひどい攻撃。
午前中のうちは、攻撃方法としてはabを使ってHTTPリクエストを
大量に投げる方法をやった。
攻撃対象の方では、PHP、ASP、MySQLなどを動かした。
結果はというと、Apache + PHPはすぐにCPU使用率が100%になってしまう。
それで、パソコンもフリーズしたような状態になって、ほとんど
操作が聞かなくなる。
意外と、IIS + ASPの組み合わせは丈夫ぽかった。
なんか、IISがアクセス過多で一部のアクセスはエラーページを返して見るみたい。
午後からは、ソフトを自分で作って攻撃。
最初のうちはそんなにひどく無かったのだけど、友人から情報を
得たりしていろいろとやっていくうちに、かなりやばいものができあがってしまった。
そのソフトを使うと、自分の積んでいるLANカードのスループットの最大値まで
相手側にデータを転送できる。もちろん、無効なデータだからデータ自体には意味はない。
ただ、これをやると、1000Baseのマシンでデータを受けても転送率が99%とか
滅多にないことが起きていたので、ほとんどのマシンは影響を受ける。
CPU使用率とかはそんなに高くならないけど、ネットワークの帯域が
無くなってしまうので、ネットのアクセスがしづらくなる。
さらに、いろいろとやって同一セグメント上のパソコン全部に攻撃を加えると
(同一LAN内での実験なので、実験することは言ってあります)
全てのマシンに100MBpsでデータが転送されていた。
おそらく、きっちりと100MBpsの値になっているので、どこかのネットワーク機器で
速度が抑えられてしまっているのだと思う。
そんなこんなで、昨日は遊んでいた。
結局、最初の疑問に対しての結論は特に出なかった。
ただ、後から気づいたのだけど、最後の同一セグメント上への攻撃で、
どうやら、ネットワーク上のプリンタが印刷できなくなるらしい。
再起動すれば戻るのだけど、再起動しないとネットワーク経由で
印刷を受け付けてくれない。。。
そうなると、これが落ちた状態だと言えるのかな?
あと、実験しているときにスイッチのランプとか
見てるとかなりやばい光かたしてます。
そんなところだろうか。
さて、今日は、午前中は買い物に行って、午後はWORDの記事を書いていた。
買い物で、帰ってきたらまた卵を1個割ってしまっていた orz
とりあえず、今回のWORDの記事は全部で15ページ。
文章自体は全部書いたので、あとは手直しなど。割合としては、3分の2くらい完了。
また、ページ数が多すぎるわな・・・。
あとは、今からプログラミング入門のレポートを30分くらいでやって、
線形の勉強少しと英語の暗記をやって、明日の予習をやろう。
委員会関係のメールもいくつかあるので、早めに片付けるようにしよう。
とりあえず、何とかなりそうなので一安心。
まぁ、後は気を抜かないようにがんばろう。
4時頃まで起きていたはずなのだが、気づいたら6時半。
仕方がないから、今から帰ってもう一度寝ます。
一応、タスクの状況は、
・来週分の予習・復習
・WORD記事を書く
・プログラミング入門 レポート
ここら辺が残っているようです。
「OS自作入門」は、非常に貴重な情報を載せているという点では
良書だと思うのだけど、実際、あれを参考にしてOSを作ろうとすると、
ちょっと事情が違ってくるような感じがする。
というのは、あの本を見て作ったOSは、あの本の中のOSの
クローンっぽいものにしかならないような気がするんだよなぁ。
実際に、今コードを組んでいるんだけど、どうしても、
サンプルコードをコンパイルして満足してしまう感じがある。
あるいは、ちょっとした見た目を変えたりする程度。
それなら、はじめて読む486とかの方が、OSを作る具体的な手順などの
情報は載っていないにしろ、CPU周りでOSを作るのに必要な情報が
載っている、こちらの本の方が自分としてはおもしろそうな気がする。
土日の予定としては、
・来週分の予習・復習
・線形代数テスト勉強
・WORD記事を書く
・委員会の仕事
・英語スピーチ原稿暗記
・プログラミング入門 レポート
こんなところだろうか。
諸般の事情によりJavaを覚えることになった。
まぁ、覚えるといっても、C++とC#を普段使っていれば、
そんなに覚えることは無いのかもしれない。
とはいっても、今回作るものが個人的な範囲を超えているので、
基本的な文法事項をしっかりと覚えておきたいというのもある。
「明解Java入門編」がよさそうかなぁ、と思って目次を
調べて見るも、Amazonなどは掲載しておらず。
結局、著者のサイト行かないと載ってなかった。
なんでなんだろう。
目次を見てみても、基本的なことが多いね。
「改訂第2版 Java言語プログラミングレッスン (下)」は、
内容的にはちょうどよさそう。
ただ、下だけ買うというのは少し抵抗がある感じもする。
あぁ、ちょうどいいのがあった。
Amazon.co.jp: やさしいJava 活用編 第2版 (やさしいシリーズ): 本: 高橋 麻奈
http://www.amazon.co.jp/dp/4797331836
一冊はこれを買おう。もう一冊言語仕様に関するものも。
スラッシュドット ジャパン | 中学生の2割が「死んでも生き返る」と考えている?
http://slashdot.jp/article.pl?sid=07/10/19/1041206&from=rss
これはどうなんでしょう。
自分が思うには、あまりにも質問内容が稚拙すぎるから、
答える側もまともに答えてないというのが一部ありそう。
実際、年齢が上がるにつれて死んでも生き返ると
思っている人が増えてるわけだし。
あと、学校の先生とかも、こういうアンケートって
結構片手間にやるものだから、まじめなアンケートっていう
雰囲気じゃなかったりする。
まぁ、記事のコメントにも書いてあるけど、
内容が曖昧すぎるような感じもするな。
さて、、、帰ろうかと思ったけど、もう既に6時だ。。。
帰る時間を逃した感じがする。
とりあえず、シューティングゲーム開発講座 第2回の
PDFファイルなどを公開しておいた。
シューティングゲーム開発講座 第2回
http://yasuharu.net/word/shooting/2/
間違えている点などもいくつかあったので、修正箇所として掲載して、
PDFファイルの方は第2版に差し替えておいた。
昨日やっと完成したと思ったメッセンジャーに現在の
場所を表示するためのアドインについて、とある問題があった。
これはメッセンジャー側での使用でもあるんだけど、どうも
サインイン時とかにアドインを読み込んだりできないらしくて、
自動的に更新というのがうまくいかない。
せっかく、完成したと思ったのになぁ・・・。
あと、残った方法としては、パーソナルメッセージ部分に
ウィンドウメッセージを投げるくらいかなぁ。。。
最近は、常時デュアルディスプレイという非常にありがたい環境なわけだけど、
Windowsのデフォルトの設定なのか、ディスプレイを接続すると、
セカンドディスプレイが右側に表示されてしまう。
Thinkpadならディスプレイ設定のユーティリティがあるから、それで
適当にできるんだけど、友人とDELLだとそういうユーティリティが無いから
どうしましょう、っていような話をしていた。
Win32APIで、ディスプレイの設定変更をどうやってやるかを調べてみたら、
ChangeDisplaySettingsEx関数というのがあるからしくて、この中に
マルチモニタ構成でのデバイス位置という要素がそのままあった。
ということで、セカンドディスプレイを左側に表示させるソフトとか、
結構簡単にできそうな感じもする。
さてと、そろそろ寮に帰ります。
周りで風邪がはやっているので、自分もかからないようにしよう。
ただでさえ、いろんな作業が溜っていたり、課題が溜っているから
時間がないというのに、風邪引いたら最悪の状況になるわな。
ADSL時代に使っていた某地方ISPが他の企業に譲渡されるみたい。
昔は、理論上1.5Mbpsしかでなくて、さらに、実測値で数百kbpsしか
でなかったので、かなり苦労した記憶がある。
やっぱり、ADSLだけだともう利益がでないのかな。
さて、そろそろ帰って寝ます。
Windows Live Messenger AddinでAddinを作る際に、ネットワークに
アクセスしたり、ファイルアクセスしたりすると.NET Frameworkのコードアクセス
セキュリティによって、例外が発せられ、次のようなエラーが出てしまう。
「型 System.Net.NetworkInformation.NetworkInformationPermission,
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 の
アクセス許可の要求に失敗しました。」
これを防ぐためには、Global Assembly Cache(GAC)にプログラムを
登録する必要がある。
方法としては、アセンブリの署名を作って、GACに登録をする。
具体的な手順としては、以下のサイトに次のように書いてある。
Coding4Fun : Building your own Windows Live Messenger Events Agent
http://blogs.msdn.com/coding4fun/archive/2007/03/08/1837770.aspx
----- 引用開始 -----
Add-ins run under Code Access Security (CAS) and are not allowed to call any web service.
Since our primary purpose is to work with Windows SharePoint Services web services,
we need to override this behavior. We can achieve that by installingthe assembly in the
Global Assembly Cache (GAC); assemblies deployed in GAC must be Strong-Named Assemblies.
To digitally sign the assembly, go to Project Properties > Signing > Sign the assembly
and check the box; choose or create a new strong name key file.
To install the assembly in the GAC you should use the developer tool named gacutil which is
easily available in the Visual Studio 2005 Command Prompt. I used the build events to automatically
install my assembly: go to Project Properties
(in C#) or Project Properties > Compile (in VB) > Build Events > Post-build event
command line and enter "$(DevEnvDir)....SDKv2.0Bingacutil.exe" /i "$(TargetPath)".
From now on, every time there is a successful build, the output assembly is automatically
installed in the GAC for you; be sure to compile the project at least once before
using the add-in with the messenger.
----- 引用終了 -----
登録したファイルは、自分の環境ではローカルでの移動は問題なかった。
おそらく、証明書の内容を確認しているためだと思う。
WORDの記事を書いている最中に、そういえばと思って調べてみたら、見つけることができた。
今までは、Officeアイコンが表示されて、しかも文字が青色で何となく嫌だったけど、
これで、通常のPersonal Messageとして表示することができる。
一応、Windows Live MessengerのAddin形式で動作するようになっているので、
あとは、設定ダイアログとかをつけたらよくなると思う。
動作サンプルとしては、今のこちらのメッセンジャーの状況を見てみてください。
公開などについては、できればしたいですが、時間があまりないので当分は公開できなさそうです。
もし、ソースコードが欲しいなど要望があれば、コメントしてもらえれば渡します。
とりあえず、WORDの記事とドイツ語のテスト勉強・・・。
ぁー、あと、先生にメールを送らないといけないのか。。。
何か、ほとんど何もやってない気がするなぁ。
1時間目から解析なので、睡眠時間が2時間半ほど。
まぁ、仕方がないな、、、
さて、味はどうだろうか。
諸般の事情によって疲れた。
早く布団で寝たい・・・。さっさと帰ろう。
そういえば、日曜日のこと。
「飲み物何かいる?」と聞かれ「缶のジュースを買ってきて欲しい」と言ったら、
何故か「瓶のリポビタンD Light」を買っていらっしゃった。
申し訳程度にLightとかなっていた。どうやら、カロリーオフらしい。
もっと働けということなのだろうか orz
ふと、思ったのだけど、授業中にパソコンを使っていると、
打鍵音が結構気になりますね。
これからは、気をつけるようにしよう。
とりあえず、今日の分の仕事は片付いた。
あとは、返事が来るのを待って、メールを3通ほど送信すればいいのかな。
場合によっては、まだ送る数が増えそうだけど。。。
今週、来週といろいろと忙しそう。
WORDの記事も書かないといけないし・・・。
空が、明るいよ。。。