コグノスケ


2007年3月1日

家の方が作業効率良いよね

毎回恒例のYRPのネットワークには繋げない、って決まりがあるため、無線LANのアドホックモードで別のマシンに繋いで、そこから外部へ。研究所のネットワークはHTTPしか通さないようなので繋げたとしても利用価値ないですけどね…。

しかしこの無線LANが 20分も持たずに切れる切れる。しまいにゃ俺も切れるぞ、この腐れマシンめ。

マシンが遠いからかと思って、マシンを並べてみても結果は同じでした。アドホックモードってこんな不安定なの?

編集者:すずき(2007/03/01 17:43)

コメント一覧

  • kawasakiさん(2007/03/06 00:38)
    Masterモードで動作させるとどうなるんですかね?
  • すずきさん(2007/03/07 00:37)
    インフラストラクチャモードとアドホックモード以外って、Windowsでできたっけ?
  • kawasakiさん(2007/03/07 10:03)
    Windowsでは無理かもしれませんね
  • hdkさん(2007/03/07 23:23)
    Master モードってアクセスポイントと同じやつ? この前私が買った GW-US54GXS はできるって書いてありましたが。
  • すずきさん(2007/03/08 06:31)
    お、Windowsでもできるんですか。ノートPCが2台あるうちに実験してみるかな。
open/close この記事にコメントする



2007年3月2日

シンボルパス、シンボルサーバ

Visual Studioはデバッグのときに、デバッグ対象のモジュール(プログラムやDLLなど)のシンボル情報を探しに行きます。基本的には [ツール(T)] - [オプション(O)] - [デバッグ] - [シンボル] で設定したパスやシンボルサーバを見に行きます。もし _NT_SYMBOL_PATHという環境変数があればそれも見ます(※)。

ここにMSの公開シンボルサーバ(http://msdl.microsoft.com/download/symbols)などを設定しっぱなしにしておくと、VSはデバッグ開始の度に見に行きます。ネットワークのスピードによりますが、かなり待たされます。

ISDN以下のナローバンド、よく切れる無線LANや腐れプロキシを通す決まりがある(企業とか)など、劣悪なネットワーク環境にいる場合、最初の一回で欲しいシンボルを落としておいて、次からは外すのが吉です。シンボルサーバにあるシンボル情報なんてそう変化するものでもないでしょう。

(※) __NT_SYMBOL_PATHは "srv*パス*サーバ" という変わった構文で書かなければなりません。設定方法はMSの Microsoft Symbol Serverを使用して(長い!略)をご覧ください。

編集者:すずき(2007/03/02 10:55)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月3日

遊んだ日

暇で仕方ないというじょーの誘いを受けて、北脇さんと3人で遊んでいました。

ランランで夕飯を食べた後、パーティーパーティーでカラオケしました。スカスカだったのに、微妙に古い機械のある部屋に通されたのはなぜだったのかなあ。一見さんだと思われたかな?

ジャンボリーというゴルフ場で打ちっ放しをしました。YRPに居たときに、一回連れて行ってもらったくらいなもので、全然わかってません。全員右利きなのに、左利き用のクラブを間違って持ってくるくらいわかってません。

そんな状態なのでもちろんボールに当たりません。当たったら当たったで、右や左へ曲がる変化球でした。難しいなあ、ゴルフって…。

最後にいのいち亭で焼き鳥食べて、軽く飲んで解散しました。

編集者:すずき(2007/03/07 01:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月4日

きゅーと

キュートで軽く昼食を取って、お菓子を堪能しました。大下さんはタルト、自分はプリン。

やっぱり高いプリンはうまいなあ、という気がしたけど、同じ容器に入れて出されてどれが一番高いか?と聞かれてきっとわからないでしょう。100円で頑張ってるプッチンプリンは偉大だと思う。

風邪

しかしどうやら風邪をひいたようで具合が悪くなり、途中で切り上げて帰ってきました。

それからはずっと寝ていました。大下さんに風邪が伝染ってないことを祈ります…。

編集者:すずき(2007/03/07 00:51)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月5日

卒業旅行1日目

研究室のM2の皆さんで千葉に旅行に行きました。行きは高速で内房まで一気に進みました。途中で富津岬に寄ったらものすごい風。飛ばされそうなくらいの風にちょっと楽しさを覚えたりして。

ホテルですが、南房総は白浜町の南国ホテルという所です。安くてご飯も付いているという破格のプランでした。値段だけ見るとビジネスホテルかと思いますよ。

房総に来たからには魚を食おうってことで、寿司屋を探すも下調べしなかったのでどこに何があるかさっぱりわかりません。ホテルの人に聞いてみたら、館山市街に回転寿司のやまとがあるとのこと。チェーン店ですけどきっとネタが違うと信じてそこで食べました。

実はそんなに期待していなかったのですが、100円均一の回転寿司よりかなりおいしかったように思います。他のやまとに行ったことないので、館山だけなのか、全店同じようにうまいのかはわかりません。

ホテルでは温泉に浸かって疲れを癒しつつ、定番の温泉卓球などをやりました。ペングリップかつ、ピンポン球が全然跳ねなくて難しかった…。

ロビー横のインターネットコーナーに2時間くらい入り浸ってたのは、情報系って事でご愛敬です。

編集者:すずき(2007/03/07 01:31)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月6日

卒業旅行2日目

朝起きて風邪がぶり返していないことにほっとしつつ、朝ご飯。

せっかく来たからには魚尽くしということで、鴨川市の地魚回転寿司丸藤に行きました。ホテルの晩ご飯も寿司があったので、都合2日で3回寿司食ったことになります。

丸藤は大繁盛で、7組くらい待っていました。恐らく丸藤は元は回らない寿司屋だったんじゃないかと予想しています。つくばで言う大漁寿司(R354沿い)みたいな感じです。

残念ながら実験が忙しくて旅行に参加できなかった榮樂君におみやげを買って、後は外房の海岸沿いをひた走り、海を見ながら帰りました。風がすごくて海が荒れまくりです。

学生生活最後にふさわしい、良い思い出が出来ました。

編集者:すずき(2007/03/07 01:27)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月7日

優雅に速く

プログラムというものは基本的には、動いて欲しいと思った通りに動くプログラムを書けば良いと思いますが、スピードや保守性を求め始めると少し事情が変わってきます。

スピードを求めるなら多少トリッキーなコードも必要になるでしょうし、保守性を求めるなら、他人が読むことを考えて綺麗に書く必要があります。

普段からエレガントで速いコードが書ければ良いのにと思っているのですが、私のようなヘボプログラマにとってはなかなか難しいです。

プログラムがうまくいかないと、いつも決まってこんなことを考えています。現実逃避とも言いますね。

編集者:すずき(2007/03/08 06:39)

コメント一覧

  • つかはらさん(2007/03/08 11:08)
    そんなとき自分は
    「時間があれば俺だってもっとうまく書けるのに…」
    と言い訳してしまいます。
  • すずきさん(2007/03/08 17:13)
    ああ、思う思う。

    さらにひどくなると、「後で暇になったら綺麗に書き直せばいいや。」と放置します。
    もちろん書き直しされることは永遠にないのですが…。
open/close この記事にコメントする



2007年3月8日

Win32 APIのフック

研究室の方々が WindowsってAPIのレイヤでフックできないの?って話をしていたのでちょっと考えてみました。DLLの呼び出しをフックする手法は以下のような手法が考えられますが、どれも一長一短です。

フックDLL
概要:フックしたいDLLと同じexportsを持つ偽物DLLを作成して、操作対象プロセスに優先的にロードさせる(カレントディレクトリに配置など)。
長所:比較的簡単に実現できる。
短所:いちいちDLL作るのめんどくさい。いくつかのDLLには効かない。
デバッグ関数
概要:OSのデバッグ機能を用いて、フックしたいAPIの先頭アドレスでデバッグブレークする。
長所:簡単かな?作ったこと無いので良くわからんです。
短所:たぶん遅い。Windowsはデバッガのデタッチができないため、用が済んでもフックプロセスを消せない。これは致命的。
IATパッチ
概要:DLLの関数をcallするときに用いるアドレステーブル(IAT: import address table)を書き換えて、フック処理を呼ばせる。
長所:IATさえ使っていればどんなDLLの関数でもフックできる。
短所:IATの書き換えが大変。スタティックリンクされるとフックできない。
コードインジェクション
概要:DLLの関数の先頭を書き換えフック関数へジャンプさせる命令を入れる。
長所:DLLだけに限らず、どの関数でもフックできる。
短所:関数の先頭アドレスが分かっていないとフックできない(DLLの関数ならたぶん大丈夫)。LoadLibraryとGetProcAddressで動的ロードされたり、スタティックリンクされるとフックできない。

名前は勝手に付けました。下に行くほど実装が面倒くさそう、と勝手に思っています。正式名称(orもっと格好いい名前)や、他の方法をご存じの方は、ご教授いただけると幸いです。

IATパッチングによるDLL呼び出しのフック

以前、フックDLLでwinsockかなんかをフックしたことがあるので、今回はIATを外から無理矢理ぶっ潰してフックを実現してみました。

試しにWindows MessengerのSHELL32.dll!Shell_NotifyIconに割り込んで、ダイアログを表示させてみました(下図)。


Shell_NotifyIconをフック

ちなみにshell32.dllであればフックDLLの方が遙かに楽だと思います。kernel32.dll!CloseHandleなんかもフックしてみたのですが、見た目に呼んでるんだか呼んでないんだかわからんのよね。

課題

ロードされたモジュールは各自のIATを持っています。そのためIATパッチを行う場合は、全てのIATのエントリを虱潰しに見なければなりません。

あるプログラムhoge.exeがkernel32.dllとuser32.dllをロードしていたとしたら、IATは少なくともhogeとkernel32とuser32の3つ分存在するはずです。

その状態でuser32.dll!MessageBoxWをフックしたいと思ったら、全てのIATのエントリからMessageBoxWに関わるエントリを探して書き換えなければ、打ち漏らしが発生してしまいます。IATパッチにおいて、フックをかける処理はかなりヘビーなものになるでしょう。

またDLLはいつロード/アンロードされるかわからないので、フックの設定や解除を徹底しようと思うとかなり難しいです。そのため厳密にフックする必要がある、セキュリティシステムなどには向かない手法です。

あとは…フックを通知する方法も考えないと行けませんね。これはそのうちなんとかなるんじゃないかと思っております。

編集者:すずき(2007/03/08 18:39)

コメント一覧

  • hdkさん(2007/03/08 23:01)
    デバッグ機能とアドレステーブルの書き換えの組み合わせはやったことありますw うまくいったけどあれは遅かった
    http://www.deez.info/sengelha/code/win32-ldpreload/
    これやってみたいんだけどな... 結局やってないや
  • すずきさん(2007/03/09 00:28)
    おお、さすが。でもなぜにIATとデバッグを併用?どちらかで良くない?
  • hdkさん(2007/03/09 01:01)
    詳しくないんで、デバッグ機能使って DLL が読み込まれるタイミングをとらえるようにしたんです。あと、子プロセスを全部フックしたかったというのもあります。

    っていうか IAT パッチングってどうやってるの? プロセス起動直後からとらえることってできる?
  • すずきさん(2007/03/09 12:37)
    なるほど。デバッグ機能のDLLロードイベントは便利ですよね。
    CreateProcess直後は IAT にアドレスが書かれていないので、書き換えできないです。既に動いてるプロセスにフックを引っかけることを考えてました。

    起動直後に止めたいとすれば、一応、PE ヘッダに書いてあるエントリポイント(main の頭とか)にフックを入れておいて、その時点で IAT を根こそぎ書き換えるという方法を考えてました。

    でもこれだとDLLの初期化関数(DllMain)は実行されてしまいますかねえ。
  • IKeJIさん(2007/03/10 20:47)
    LoadLibraryをフックするというのでは駄目でしょうか?
  • IKeJIさん(2007/03/10 20:48)
    ところで、この日記のコメントを書く時に、
    >上記、確かに認めます
    とありますが、何を認めるのでしょうか?
  • すずきさん(2007/03/11 17:11)
    そうするとLoadLibrary以外のロード方法に対して無力という罠が。
  • すずきさん(2007/03/11 17:14)
    > 上記、確かに〜
    ホントは、
    管理者の不適切だと思う物は消します
    とか、
    公序良俗に反する物は書くな
    とか、そんな規定を書く予定が、めんどくさくなってやめたのです。その残骸です。
  • すずきさん(2007/03/13 16:21)
    せっかくなので利用の際のお願い、を追加しました。
open/close この記事にコメントする



2007年3月9日

将来の漠然とした不安

就職先から連絡が来ません。私は来年度どこに住めば良いのでしょうか。

しかも部署によりますが本社で研修、移住、事業所で研修というコースもあるらしく、4月に定住先が決まるのかどうか不安になってきました。

可能ならば、今住んでいるアパートを5月まで借りてしまって、ゆっくり引っ越しするという手が一番良いような気がしてきました。今年は2年契約の真ん中なのでできるはずですけど、一回不動産屋に退去するって言っちゃったのが心配。月曜日にでも不動産屋に聞いてみるかな。

こんなことになるなら、車を実家に置いてくる必要は全くなかったんですねえ。無駄に不便になっただけだったよ。うーん。

編集者:すずき(2007/03/10 04:22)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月10日

祝20歳(※)

誕生日です。園芸のみなさんからお祝いのメールをいただきました。ありがとうございます。

大下さんと天久保2丁目(エルトリートのある交差点を東側に行ったところ)のバリ料理屋JEPUNに食べに行きました。テーブル料なるものを取るレストランに初めて行ったような気がするよ。

食べたことのない味で、おいしいです。あと、微妙に辛かったですね。個人的には限界値ギリギリでした。

(※)皆様にもっとも理解しやすいように、時計でおなじみの12進数で表記いたしました。

編集者:すずき(2007/03/11 20:11)

コメント一覧

  • kawasakiさん(2007/03/11 22:45)
    おめでとうございます
  • ち。さん(2007/03/11 23:02)
    (一日送れだけど)おめでとー。
    じゃ、17日はヨロシク呑みましょー。
  • すずきさん(2007/03/11 23:39)
    ありがとうございますー。
open/close この記事にコメントする



2007年3月11日

Visual Studioはよくわからん

私はVisual Studio 2005 Academic Editionを使っているのですが、最近プロジェクトをリビルドしたときの動作がおかしいです。今まで正常に動いていたのに、いきなりMSVCP80D.DLLがありません、と言われて起動しなくなることがあります。

何回リビルドしても駄目なときは、プロジェクトを置いているディレクトリに生成される DebugやReleaseというディレクトリを丸ごと葬ると直るようです。実行ファイルが生成される方ではなく、オブジェクトファイルが生成される方のディレクトリです。

ビルド時のメッセージにも特に異常はないし…一体何なのかね??ネットワークドライブにファイルを置いているからいけないのでしょうか?

同じ症状が出ている人or解決策を知っている方はぜひ教えてください。

エクスポートのフォワーディング

WindowsのDLLではエクスポートをフォワーディングするという芸当ができるそうです。この機能を使うと、別のDLLがエクスポートしている関数を借りてきて、自分がエクスポートする関数にすることができます。

実際の使用例としては、kernel32.dllのHeapAllocというAPIが、ntdll.dllのRtlAllocateHeapと言うAPIにフォワーディングされています。フォワーディングされた関数はロード時にアドレスが解決されるようで、特にオーバヘッドはありません。

DEFファイルで、
HeapAlloc = ntdll.RtlAllocateHeap
のように [DLL名.関数名] という形で書くと、フォワーディングできるようです。


recvをフォワーディングさせた

Dependency Walkerで見ると、上図のrecvのようにちょっと違うアイコンで表示されます。

COFFって面白いことができるんですねえ。と、ここまで書いて、そんなの常識だろって、詳しい方々に突っ込まれる気がしてきた…。

編集者:すずき(2007/03/12 00:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月12日

増資

先日購入したVAIO type Gはオンボードで1GBのメモリを積んでいるので、しばらくは余裕だろうと思っていたら、全然駄目でした。何もしていないのに500MB以上消費されています。Vistaがこれほどまでにメモリをドカ食いするとは。

早速追加のメモリに頼ることになりました。BuffaloのD2/N533-Gです。チップはヒュンダイでした。

またVAIO君の軽さを優先して1スピンドルモデルを選択したので、光学ドライブがありません。メモリを買うついでに、ポータブルDVDマルチドライブPanasonic LF-P967Cを買いました。USBのバスパワー駆動なのにかなりの速度が出ます。すげえ。

それにしても今月はクレジットカードの限度額(30万)が近い、近すぎるぜ…。

Vistaうぜー!

我が家のVAIO君はうまくないことにWindowsのインストールドライブにHDDの領域全て(100GB)が割り振られています。Vistaの腐ったフォルダ構成と相まって、激しく使いづらいのでntfsresizeでパーティションを縮めました。

一回失敗してデータが全部吹っ飛びましたが、あらかじめディスクをフルダンプしておいたので無傷で済みました。dd様々ですよ。
下記では既に30GBに縮めたパーティションを例に使っていますが、基本的には同じです。

(このコマンドでは、パーティション領域の使用率などが出ます)
# ntfsresize -i /dev/hda2
ntfsresize v1.13.2-WIP (libntfs 10:0:0)
Device name        : /dev/hda2
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 29999993344 bytes (30000 MB)
Current device size: 30006132736 bytes (30007 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 19569 MB (65.2%)
Collecting resizing constraints ...
You might resize at 19568902144 bytes or 19569 MB (freeing 10431 MB).
Please make a test run using both the -n and -s options before real resizing!


(実際には書き込みを行わないが、パーティションの縮小作業が行われる)
(縮小させる前にこのモードでチェックするとよい)
# ntfsresize -n -s25000M /dev/hda2
ntfsresize v1.13.2-WIP (libntfs 10:0:0)
Device name        : /dev/hda2
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 29999993344 bytes (30000 MB)
Current device size: 30006132736 bytes (30007 MB)
New volume size    : 24999993856 bytes (25000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 19569 MB (65.2%)
Collecting resizing constraints ...
Needed relocations : 0 (0 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
The read-only test run ended successfully.


(パーティションの縮小作業が行われる)
# ntfsresize -s25000M /dev/hda2
ntfsresize v1.13.2-WIP (libntfs 10:0:0)
Device name        : /dev/hda2
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 29999993344 bytes (30000 MB)
Current device size: 30006132736 bytes (30007 MB)
New volume size    : 24999993856 bytes (25000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 19569 MB (65.2%)
Collecting resizing constraints ...
Needed relocations : 0 (0 MB)
WARNING: Every sanity check passed and only the dangerous operations left.
Make sure that important data has been backed up! Power outage or computer
crash may result major data loss!
Are you sure you want to proceed (y/[n])?
(上記の質問にyと答えて進める)


(既存の大きなパーティションを消して、縮めた大きさのパーティションを作る)
# fdisk /dev/hda
コマンド (mでヘルプ): p

Disk /dev/hda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = シリンダ数of 16065 * 512 = 8225280 bytes

デバイスBoot      Start         End      Blocks   Id  System
/dev/hda1               1         608     4882432   27  不明
Partition 1 does not end on cylinder boundary.
/dev/hda2   *         608        4256    29302864    7  HPFS/NTFS


(hda1を削除する)
コマンド (mでヘルプ): d
領域番号 (1-4): 2


(基本領域2を作成する)
コマンド (mでヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 2


(パーティションのサイズを設定する)
最初 シリンダ (608-12161, default 608): (何も入力せずエンター)
Using default value 608
終点 シリンダ または +サイズ または +サイズMまたは +サイズK (608-12161, default 12161): +30005M


(変更を反映する)
コマンド (mでヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

パーティションの領域サイズが30005Mと中途半端なのは、30000Mにしたところ微妙にサイズが足りなくてデータがぶっ壊れたためです。何かコツがあるのかなあ?

再起動するとWindowsの起動時にchkdskが走りますが、特に何も起きないはずなので気にしないで下さい。

NFSが未だに良くわからない

ダンプデータをバックアップする際に smbだと遅すぎて使い物にならなかったので、nfs越しに送ったのですけど、nfsって未だに良くわかりません…。

クライアントはKnoppix 5.1.1で、サーバはDebian Sargeです。クライアント側で、

# /etc/init.d/portmap start

としてportmapデーモンを起動しなければならないのは知っていたのですが、うっかりサーバ側で、

# /etc/init.d/nfs-common start
# /etc/init.d/nfs-kernel-server start

とやったらnfs-kernel-server startで固まってしまいました。サーバ側でportmapを起動するのを忘れていたのが原因のようです。

# /etc/init.d/portmap start
# /etc/init.d/nfs-common start
# /etc/init.d/nfs-kernel-server start

こういう手順を取るべきだったんですね。くだらんことでつまづいてしまったのでここにメモ。

編集者:すずき(2007/03/13 15:26)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月13日

待ち人来ず

友人達の「来年度住むところは〜〜なんだってさ」という話を聞く度に、就職先からの連絡来まだかなあって不安になります。連絡予定は3月上旬〜中旬らしいんですけど、それってもう過ぎてないか?

やはり先走って不動産屋に5月まで借りますが何か?って聞くべきかなあ…。

編集者:すずき(2007/03/13 04:32)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月14日

XPへダウングレード

我が家のVAIO type GにXPを入れて、デュアルブート環境(参考ページ)にしてみました。元々はXPモデルだったから、親和性は高いだろうと思って始めたら、結構ダメダメです。

ダウングレードなんてメーカーサポート外も良いところなので、自己責任でよろしくお願いします。

問題点

ThinkPadなんかと違って、VAIOの輝度調節や音量調節はソフトウェアで処理しています。そのためクリーンインストールすると、Fn + F4などを押しても輝度も音量も変わりません。音量は標準のミキサーで変えるとしても、輝度だけはどうしようもありません。

また、リカバリDVDに入っているドライバは当然ながらVista用の物が多いので、これも何とかしなければなりません。

とりあえずドライバから

インストールした時点で「不明なデバイス」となっているのは、以下のデバイスです。

有線LAN
Marvell Yukon 88E8055 PCI-Eのドライバを Marvellのページから落とします。
無線LAN
Intel PRO/Wireless 3945ABGのドライバを Intelのページから落とします。
メモリスティックリーダ、SD/MMCリーダ
メモリスティック: DVD内のドライバ(\VAIO\Drivers\Memory_Stick)を指定して、ドライバの再インストールを行うと使えます。
SDカード: ドライバがアップデートされているので、SONYのページから落としましょう。
チップセット
DVD内のドライバ(\VAIO\Drivers\Chipset)が使えます。セットアップを実行しましょう。
グラフィック
Mobile Intel(R) 945GM Expressのドライバを Intelのページから落とします。
サウンド
Realtek High Definition Audioのドライバを Realtekのページから落とします。
モデム
DVD内にあるドライバ(\VAIO\Drivers\Modem)が使えますが、頻繁に使う予定がないなら入れない方が賢明です。(理由は後述)

VAIO特有の輝度、音量調整

ざっと見たところ、ハードウェアのイベントをVAIO Event Service(VESMgr.exe) というサービスで処理しているようです。XPにVista用のVAIO Event Serviceを無理矢理インストールしたら、エラー続出で動きません。しかし何回かインストール/アンインストールを繰り返していたら、輝度調節だけできるようになりました。

意味が分かりませんが、便利になったのでこのまま放置しておきます。たぶん使っているDLLの登録情報とかがおかしくなってしまったのでしょうね。面倒くさくなってきたのでこれ以上追求しません。

HDDプロテクションなど

HDDプロテクションを使う方法ですが、DVDのドライバ(\VAIO\Drivers\HDD Protection)をインストールします。

Sony Utilities DLL(\VAIO\Applications\Sony Utilities DLL)を入れて、Sony Shared DLL(\VAIO\Applications\Sony Shared Library)を入れます。再起動しろと言われるので、再起動します。

先述したEvent Service(\VAIO\Applications\VAIO Event Service)を入れます。輝度調整や音量調整ができたりできなかったりします。。。

HDD Protection(\VAIO\Applications\VAIO HDD Protection)と、Control Center(\VAIO\Applications\VAIO Control Center)も入れます。コントロールパネルのVAIOの設定、から色々いじってみてください。

よくわかりませんがHDDプロテクションが動いたり動かなかったりします。。。

モデムv.s. サスペンド

ちなみにモデムのドライバが入っていると、サスペンドしたときにブルースクリーンで死にます。画面が消えるのでブルースクリーンは拝めませんが…。電源を再投入したときに「深刻なエラーから復旧した」と言われ気づくと思います。

毎日ダイアルアップする人や、Winモデムを愛しているということでも無い限り、モデムより、サスペンド出来た方が便利だと思います。従ってモデムのドライバは削除しておくことをオススメします。

終わりに

バッテリーのユーティリティや、電源のユーティリティなどは動きませんでした。デバッガで追いかけたらVista用のAPIを使っていたため、どうしようもありませんでした。

つまりバッテリーいたわりモードなどの利用ができません。そう頻繁に変える物でもないと思うので、Vistaからやることにします。

編集者:すずき(2007/03/15 02:46)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月15日

机を空けろ

23日までに研究室で使っている机を譲る準備をしなきゃいけません。今日はその準備の第一歩です。

ノートPC(NEC VersaPro)を初期化して、工場出荷時まで戻しました。残る期間は私物のノートPCで代用します。
Windowsのデスクトップは HDDを初期化して、まっさらな状態にしておきました。後はLinuxマシンがありますが、これはもう少し使うのでギリギリにやります。

VAIO再び

昨日の続きです。VAIO type GのポインティングデバイスAlpsのGlidePointは、そのままだとPS/2マウスとして認識されてしまいます。

もちろんそのままでも使えるのですが、ちょっとタッチパッドに触るとポインタが吹っ飛んでしまうために、特に文字を打っている時にイライラします。

というわけでGlidePointのドライバ探しを始めたのですが、AlpsもSONYも全然ドライバ公開していません。VAIOのリカバリDVDにはVista用のドライバがあるのみで、これも使えません。困りました。

色々探してみると、DELLのLatitude D400あたりのXP用ドライバが使えそうだったのでインストールして使っています。

SONYのPCなのに設定画面にhttp://www.dell.com/ と出るのはご愛敬ってことで。ドライバを公開しまくりなDELLに感謝感謝。

編集者:すずき(2007/03/16 02:17)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月16日

rdtscの時代は終わった

ノートPCのCPUクロックがどんな風に変化しているか見るために、数秒おきにTSC(Time Stamp Counter) を読んで表示するプログラムを作ったのですが、CrystalCPUIDの出す値と比べてみたら、全然値が違います。

我が家のCore Soloに限定すると、負荷をかけて内部クロックの倍率がx10になればTSCから求めた値と一致しますが、倍率がx8とかx6に下がっている状態だと、TSCから求めたクロックがかなり高い値に計算されてしまいます。どうやらrdtscではダメなようです。

LinuxのカーネルやカーネルのコメントでリファーされているIntelの資料を見ると、MSRの値から計算できるらしいのですが、そんなのユーザプログラムからできないよ。

ちなみにCrystalCPUIDはどうしてるかというと、実行時にSysInfo.sysというドライバ(主にMSRを読むドライバでしょう)をロードして、\Device\CrystalSysInfoって名前のデバイスを作り、そいつを叩いて取得しているようです。やはりそれしかないのかなあ…。

編集者:すずき(2007/03/16 06:06)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月17日

PASMOスタート

明日からPASMOがスタートします。Suicaと相互利用可能なのは素晴らしいですね。どこがどのカードなのかは以下の表参照。

事業者サービス
私鉄(関東) PASMO
JR東日本 Suica
JR西日本 ICOCA
私鉄(関西) PiTaPa
JR東海 TOICA

どのカードがどこで使えるのか、まとめてみました。間違っていたらコメントなどでお知らせ下さい。

私鉄(関東)JR東日本 JR西日本私鉄(関西) JR東海
PASMO    
Suica   
ICOCA   
PiTaPa    
TOICA     

どれも一長一短ですが、関東ならSuica、関西ならICOCAがあればとりあえず安心かと思います。東海ではTOICAを選択することになりますが、東に行くにも西に行くにも、互換性が無くて非常に不便です。

JR東海といえば、東京(JR東日本)と大阪(JR西日本)の客を使って、真ん中の東海道新幹線(JR東海)がボロ儲けするという変な構図ができています。東西と東海って、仲悪いのかな?

なんて冗談はさておき、東海と繋ぐと東 -> 西に直に行けてしまうと、乗車駅と降車駅の組み合わせが莫大になるからやりたくないのでしょう。
関東圏のみのPASMOでさえ、検証にかなり時間をかけましたし、今も問題起きないかどうか冷や冷やしている状態ですから。東から西なんて大規模な組み合わせに尻込みするのもわかる気がします。

もちろんユーザはそんなこと微塵も気にしません。早く繋げて欲しいね。

編集者:すずき(2007/03/17 18:28)

コメント一覧

  • つかはらさん(2007/03/17 22:24)
    そう言えば、近鉄の駅に4月1日からPiTaPaが使えるようになると書いてありました。
  • すずきさん(2007/03/19 20:37)
    ICカードの輪がこのまま全国に広がってくれると嬉しいですね。
    しかし実家(JR北海道)がそうなる様子はありませんね…。
open/close この記事にコメントする



2007年3月18日

追いコン

園芸クラブの追いコンに参加しました。園芸では院生も送ってくれるんです。最近全然参加していなかったせいか、後輩の顔がよく分からんかった…。冷蔵庫とか洗濯機のもらい手が出来ました。

田口邸の洗濯機をけなしすぎた、実際見たら結構綺麗だった。ごめんw

つくばさよなら飲み

追いコンではサワーを飲んで、今回はじょーセレクトのワインを飲んでいたため、意図しないチャンポンになってしまったらしく、かなり酔っぱらいました。

入籍したって話から飛んで、結婚の話が多かったですね。結婚と言えば、男性の結婚のピークは20代前半(つまり今くらい)と、30代にあるそうです。学生時代につきあっていた人と結婚するのが前者、社会人時代につきあい始めた人が後者になることが多いのだとか。

いつぞや、母に「今の日本で結婚して子供を作る意味がわからん。」って言ったら、「君は晩婚型だね。」って断言されましたよ。結婚の良さとやらを理解するにはまだ遠いようです。

編集者:すずき(2007/03/20 00:51)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月19日

エクスプローラの謎

塚原氏がチャットで「エクスプローラでアイコンをドラッグするとキャプションも半透明になる物とそうでない物がある。」って話をしていたので、検証してみました。以下はその画像です。


アイコンのキャプションの処理が違います

実験してみたところ、ドラッグするアイコンが32bit色だとキャプションが消え、それ以外つまり24bit色以下であれば半透明に描画されるようです(※)。実害はなさそうですが、やはりバグでしょうか?

(※)環境はWindows XP SP2のエクスプローラです。

編集者:すずき(2007/03/20 00:58)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月20日

やっと

連絡きたー。おそーーーーーい!
研修でへまやって僻地に飛ばされなければ、来年は恐らく大阪に住むことになるでしょう。

そんなことよりも、住民票は実家に移しておきなさいという恐ろしい指示が書いてありました。住民票移すためだけに、北海道に帰らなければならないのでしょうか。

追いコン

研究室の追いコンがありました。プレゼントでミニライトをいただきました。ありがとうございます。

その後はステップで遊んだのですが、あの店は客の管理がおかしいので、大勢で行くと必ずトラブルが起きます。誰が入って誰が出たか全く管理していないなんて、変な店ですねえ。

編集者:すずき(2007/03/21 23:21)

コメント一覧

  • つかはらさん(2007/03/21 00:50)
    部屋の広さはどのぐらいでした?
  • すずきさん(2007/03/21 22:51)
    特に情報なしでした。
    大阪だから見に行くわけにもいかないし…。
open/close この記事にコメントする



2007年3月21日

久しぶりゲーセン

塚田氏と、馬渕氏とともにご飯を食べに行きました。その後、デイズタウンにあるJAMJAMへ。塚田氏と馬渕氏がクイズマジックアカデミーを延々とやっているのを横から見てました。

昔は筐体はずっと同じで、ゲームだけ入れ替わっていましたけど、今のオンライン物の筐体って変な形していたり、タッチパネルがついていたり、ゲーム会社のカード読み取り機、のような特殊なインタフェース持ってますよね。専用品なのかなあ?ゲームが廃れたらどうなるのかね。

編集者:すずき(2007/03/23 00:11)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月22日

研究室の片付け

片付けをぼちぼち進めないとなあ、と思って研究室の机を片付けています。まだまだ終わりません。

家の方は全く何もしていません。明日、つくばに家族が来るから、実家にゴm本とか送って良いかどうか相談ですね。それと家電もらってくれる人も探さないと。物によっては全く使ってないから超綺麗です。プロパン用コンロなんてほぼ新品よ。

外れ引いた

VAIOをいじってたら、一日に3回もThunderbirdが落ちる、SeaMonkeyも落ちる、Skypeが起動しなくなるなどなど、すげー調子悪いです。

何も思い当たる節がないのでメモリか?と思ってmemtestしてみたら、Test 5でエラーが900個…うげげげ。しかも増設したメモリの方だし。本当にチェックしてから出荷してるのー?バッファローさーん。

VAIO改造失敗

全く音量スイッチに反応しない我が家のVAIO type G君。どうやらVAIO Event Serviceをインストールしたときに一個だけインスコに失敗するDLL(VESPerform.dll)があやしそうです。

理由はVESPerform.dllがVistaのAPIであるSHELL32.dll SHQueryUserNotificationState関数をインポートしているためです。しかもこのAPIがXPにはありません。

この関数は何なのかと言いますと、ポップアップを出してもユーザが怒らないかどうか(全画面表示のアプリケーションなどを実行しているときに、ポップアップが出るとイラっとしますよね)を確認する関数です。

幸い、長整数のポインタを渡すだけみたいです。なのでAPIを呼ぶ代わりにQUNS_ACCEPTS_NOTIFICATIONS(= 5)を返すように書き換えたら上手く行きました。これで音量ボタンは認識するようになったものの、肝心の音量が変わりません。意味ないなー。

やり方は簡単なんですけど、詳しく書くとリバースエンジニアリングすんなボケナス!ってソニー様に怒られそうなのでやめておきます。

ま、こんな場末のページ見てないだろうけどね。

編集者:すずき(2007/03/23 02:55)

コメント一覧

  • hdkさん(2007/03/23 01:33)
    あるあるw メモリなんてバルクでもない限り無償交換ですよね
  • すずきさん(2007/03/23 02:29)
    そういや研究室のデルも壊れてたねえ。
    交換してもらおうと思いますが、XPだと1GBでも困らないので、修理に出すのがおっくうです。。。
  • IKeJIさん(2007/03/23 02:59)
    ガスコンロ余ってましたら頂けませんか?
  • すずきさん(2007/03/23 03:09)
    >IKeJI さん
    あげるあげるー。どんどんもってって。
open/close この記事にコメントする



2007年3月23日

大学院修了

大学院の学位授与式(卒業式)がありました。学長は途中の意味不明な話をカットすれば、割と良い話だと思うのです。学位記をもらって学生証を返すあたりは大学の卒業式と同じでした。

家族と

家族がわざわざ筑波に来てくれたので、一緒に晩ご飯を食べに行きました。あまり遠出はせずに、あいあいモールの中で食事しました。とはいえ、あの辺はあまり行かないので、何があるのかよく知らないんですよ…。どの店にするか迷いました。

園芸の皆さんと

卒業式後に色紙と花束をいただきました。夜、近藤君の家で飲み会をしました。院生はぼちぼち引っ越していきますし、皆さんと会えるのもこれが本当に最後ですね。

筑波に居た6年間はかけがえのない時間だったと思います。知り合った人たち、得た経験、全て大事にして、新たな地へ旅立とうと思います。ありがとうございました。

編集者:すずき(2007/03/25 18:11)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月24日

ディズニーシー

家族で第二ネズミ帝国(東京ディズニーシー)に行きました。人がごちゃごちゃ居ましたが、ファストパスを駆使してあまり待たずに乗り続けました。ただしレイジングスピリッツだけは、ファストパスの待ち時間があり得ないくらい未来になってたので妹と2人で100分待ちしました。

待っていたら途中で雨が降ってきて、しかも後ろのガキがうるさい。ガキどもは親らしき人物から雨合羽を受け取ってから、さらに暴れ出すし、しまいにはガキどものビショビショの合羽でタックル喰らいました。ぎゃーコートがー!うぜぇええー!!

あまりに雨が強まってきたので、父に傘を買ってきてもらったりして(買うのに30分かかったって言ってた)、妹と二人で、親って大変だねえ、なんて言ってました。すまぬ、父よ。

東京は難しい

普段行かない東京なので、かなり迷いました。都営の浅草駅とTXの浅草駅を間違ったり、地下鉄の出口がわからなくなったりしました。TXの浅草駅は、元々ある地下鉄の浅草駅とは全然違う場所にあってややこしいです。田舎の誰も降りない駅に変な名前付ける暇があるなら、浅草駅を新浅草駅(とか、浅草寺駅)に変えて欲しい。

晩ご飯ってことで飯田橋へ。肉がうまかった、フィレが最高でした。学生から見ると目が飛び出る値段でしたが、父も叔父さんも旨い割に安いねえ、って言ってました。社会人恐るべし。

編集者:すずき(2007/03/26 01:51)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月25日

やべーよやべー

ドコモの研究報告が終わりません。とりあえず担当部分の1/3だけ書いて先に送りました。引き継ぎも出来てないよ。

引っ越し準備の準備

大下さんと一緒に、要らない家具リストを作っていました。大阪までの運送料を考えると、就職先に家電は持って行けません。よほど高級な物でも無い限り、向こうで買い直した方が安く上がります。

デスクトップPCと服、本はどうしようもないので、なるべく減らして実家に送って、後で大阪に送り直してもらうしかありません。実家には迷惑をかけますが…。その他は全て処分するつもりです。

お気に入りのセラミックヒーターや除湿器なども手放すことになります。誰か要りませんか?プレゼントしますよ。

早速、いけじ氏がガスコンロをもらってくれるそうなので渡しました。

編集者:すずき(2007/03/28 03:54)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月26日

引っ越しだ

ニッポンレンタカーに明日から軽トラックを借りられるかどうかを尋ねてみると、借りられるとのことなので、譲れるものリストを園芸の皆さんにアナウンスしました。何件か返事があったので、それのスケジューリングなどなど。

そんなこんなで、明日譲ることになった本棚から本を撤去し、PCに残ってたデータを全部消しました。大下さんに大いに手伝っていただきました。

研究室も引っ越しだ

その後は研究室に行って、残していたデスクトップマシンのデータをバックアップ、HDDを初期化しました。

その作業の途中で、なぜかスレーブに繋いだ方のHDDの書き込み速度が5MB/sしか出ないという事態に見舞われました。マスターを外して、スレーブだったドライブをマスターに繋ぎ直すと速くなります。最後の最後で意味が分からん事態に巻き込まれました。変なの。

編集者:すずき(2007/03/28 03:54)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月27日

続、引っ越し

昼にレンタカーを借りに行って、引っ越し準備開始です。まずは段ボールをゲット、ついでにお昼ご飯を食べました。

溜まった洗濯物をクリーニングに出したら、5600円取られました。コートのクリーニング代が異様に高いです。その後は古本を売りに行きました。4500円くらいになりました。クリーニング代は取り返したかな…。

レンジを研究室に寄付しました。あ、園芸からもらった色紙を置いてきてしまった。明日取りに行かないとね。

夕方

その後は旧PCを杉村さんに渡して、棚を近藤君に渡しました。で、塚田邸で掃除の手伝いをしました。とにかく 5年分の汚れとはものすごいなあと…。ゲホゲホ。

晩ご飯に行って塚田氏におごってもらいました。ごちそうさまです。

ドコモ仕事

明日が報告書の締め切りなので、はよ書け!ってメールをもらったので、急ピッチで書き上げました。修論のコピペですけど…。

編集者:すずき(2007/03/28 03:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月28日

さらに引っ越し

塚田氏に手伝ってもらって、大型の家電を園芸の人々に譲ったり、ハードオフやオフハウスに売却しました。PS2とテレビが意外と頑張ってくれて、1万くらいになりました。

夕方、塚田氏と別れご飯を食べに行ったり、家の片付けを進めたり。まだまだ先は長いですね。

編集者:すずき(2007/03/30 02:57)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月29日

もっとずっと引っ越し

ベッド、棚などが園芸の皆さんへの譲渡品の中で残ったので、オフハウス行きになりました。PSEマークがないものや、古いPCなどは売れませんでしたが、昨日の代金と合わせればレンタカー代くらいはゲットできた計算になります。

そのPCの処分方法がわからなくて困りました。昔のPC98なのでNECに電話すればいいのかなって思ったら、それも17:00までしか受付していなくて、どうしようもなかった…。

アパートの部屋からものがなくなっていくと、ああ、本当に自分はつくばから去るんだなあと実感しますね。

編集者:すずき(2007/03/30 03:05)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年3月31日

さらばつくばよ

TXに載っている間暇だったので、フルブラウザのパケ代が定額になるという、パケホーダイフルを契約しました。これなら少しくらいネットがなくても、ごまかせるかもしれません。

そして大阪へ

会社の寮に入りました。平成に建てられただけあって意外と良い建物でした。部屋がいまいちですが、強制的に仲良くなるシステムだと思えば、これも案外悪くないのかもしれません。お隣が頭おかしい人だと困っちゃいますけどね…。

ネット難民

それにしてもネットがないととても暇です。しかも聞くところによると、住処が安定するのは夏以降なので移動する可能性を考慮すると、ネットなどは引かない方が良いとのことです。夏までネットもテレビもない?…そんな馬鹿な!

編集者:すずき(2007/04/14 00:28)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報