わいえむねっと

Contents
Categories
Calendar
2026/08
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
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.205 sec
Chashed: -
2008/05/18 Sun
おはようございます。トイレです。小坂那也です。(挨拶)
私がトイレなわけではないです。トイレに無線LANの電波が届いたのでトイレからリモートデスクトップです。
これならもうずっと便座の上で過ごせばいいじゃないと思ったけれど、そもそもそんなに便座に座る機会がない僕です私です風の向くままコーラックの向くままです。 浅草の三社祭に呼ばれて酒だけかっくらってくる。
だいぶかっくらってくる。
同席していた協力会社の取締役殿に心配されるほどかっくらってくる。

先日、取締役といった店は取締役の娘さんの友達の親御さんの店だったらしい。
そしてその娘さんの友達がその場にいたらしい。
世の中狭すぎる。
2008/05/17 Sat
アセトアルデヒドを生成するのに費やすいつもの土曜日。
先週もそんなこと言っていたような。まぁ、いつものですから。
それにしても今週は水木金と飲みすぎました。
明日も飲酒予定です。
俺の肝臓の未来はどっちだ。 荷物を三箱受け取って。 連日の飲酒で財布がすっからかんになっていたのをコンビニのレジで気が付いて。
レンジの中で回る弁当を呆然と見やる。
あああ!

1. 逃げる。
2. 事情を話して、ATMでおろさせてもらう。
3. PASMOで支払う。

そうだ!PASMOあったよ!
便利になったなぁと。 先日、取締役と行った店から「何杯でも生ビール100円券」が届きました。
ビールを飲まないので少し悲しくなりました。
今日も平和です。
2008/05/16 Fri
昼飯抜き。 rpmbuild の strip処理についてちょと調べる。

/usr/lib/rpm/brp-strip (RH7.2)

# Strip ELF binaries
for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
    grep -v ' shared object,' | \
    sed -n -e 's/^\(.*\):[ 	]*ELF.*, not stripped/\1/p'`; do
    strip $f || :
done

/usr/lib/rpm/brp-strip (RHEL4)

# Strip ELF binaries
for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
    grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug"  | \
    grep -v ' shared object,' | \
    sed -n -e 's/^\(.*\):[ 	]*ELF.*, not stripped/\1/p'`; do
    strip -g $f || :
done

/usr/lib/rpm/brp-strip-comment-note (RH7.2, RHEL4)

# Strip .comment and .note sections (the latter only if it is not allocated)
# for already stripped elf files in the build root
for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
    grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug"  | \
    sed -n -e 's/^\(.*\):[ 	]*ELF.*, stripped/\1/p'`; do
    note="-R .note"
    if objdump -h $f | grep '^[ 	]*[0-9]*[ 	]*.note[ 	]' -A 1 | \
        grep ALLOC >/dev/null; then
        note=
    fi
    strip -R .comment $note $f || :
done

strip -g と strip -R .comment -R .note と。
判定は意外にベタですね。 フロアの端っこで作業していたら、隣の事業部長がぬっと顔を出し。

事「忙しいのかー?」
魚「いえ、そんなには」
事「飲みに行くけど」
魚「行きます(即答)」

焼酎ボトルをテーブルの対角に置かれたことなど意にも介さず、「おかわりお願いしまーす」を連呼し続けて。
あと、いつもながら余計なことをしゃべりすぎだ。この人。
2008/05/15 Thu
昼飯抜き。 多言語メッセージリソースメモ:
Sample Message Text File (Windows)
http://msdn.micro​soft.com/en-us/library/aa385769(VS.85).aspx
Be aware that you must use a Unicode-compatible editor to simultaneously support the characters used in different written languages.
としか書いていないけど、例によってUTF16LEで保存しろということらしい。
BOMはあってもなくても可。出力結果にも差異はなし。

Message Compiler (MC_exe) (Windows)
http://msdn.micro​soft.com/en-us/library/aa385638(VS.85).aspx
-a
Specifies the input file is ANSI (default).

-u
Specifies that the input file is Unicode.
ANSI文字がデフォルトなので -u 必須。

自前で使用するなら、

FormatMessage Function (Windows)
http://msdn.micro​soft.com/en-us/library/ms679351(VS.85).aspx
dwLanguageId
The language identifier for the requested message. This parameter is ignored if dwFlags includes FORMAT_MESSAGE_FROM_STRING.

に MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT) とか MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) を。
あと、ActivePerlでUTF16を扱うには一手間必要。

スクリプティング言語資料室(仮)
http://www.kt.rim​.or.jp/~kbk/
ActivePerlで UTF-16(BE|LE)のデータを出力するときの注意事項
ActivePerlではファイルをオープンしようとすると、特に指定しなければ テキストモードでオープンします。 このため出力の文字コードにUTF-16のデータを出力しようとしたとき、 テキストモード時に行われる LF → CR LF 変換が変なタイミングで 行われてしまうため、出力結果がおかしくなります。 対応策は 183 : Writing a Unicode file via perl ... にあるとおり、ファイルのオープン時の指定を工夫するというものです。


if ( $ESENT ){ #ifdef ESENT 
           open( INIFILE, "<:raw:encoding(UTF16-LE):crlf:utf8", "$INIFILE" ) || die "Cannot open $INIFILE: ";
           print INIFILE "\x{FEFF}";  # print BOM (Byte Order Mark) for the unicode file
} else { #else
           open( INIFILE, "<$INIFILE" ) || die "Cannot open $INIFILE: ";
} #endif

後輩が引っ越し先を探しているとかで、一之江の不動産屋に案内することに。
駅からすぐの不動産屋というか、取締役宅の近所の不動産屋というか、うちの近所の不動産屋というか、とにかく近所。
1件目に案内された物件が割と良い物件だったので後輩即決。
とりあえす祝い酒。
2008/05/14 Wed
Desktop Heap MonitorをWindows Server 2008で使おうと思ったら

Microsoft Support Professionals Toolkit for Windows
http://www.micros​oft.com/japan/windowsser​ver2003/downloads/supporttoo​ls.mspx
サポートする OS と CPU アーキテクチャ :
Windows 2000
Windows XP (x86 版、x64 版)
Windows Server 2003 (x86 版、Itanium 版、x64 版)

そもそも対応していなかったと思ったら

Windows Serverによる基幹システムに向けた富士通の取り組み 富士通
http://primeserve​r.fujitsu.​com/primequest​/products/os/mc-windows.ht​ml
マイクロソフト社ほか数社による共同開発ツールを提供しています。高いWindows技術力を持ち、厳しいお客様要件を熟知した富士通が仕様検討から開発、検証まで一貫してツール開発の具体化に貢献しています。

これらのツール開発は、Windows Server 2008に向けても鋭意準備を進めています。

準備中。 新しい店を見つけたからと取締役に連行されて、定時退社飲酒。
もつ鍋の店らしい。
と思いきや、もつ鍋の店ではありませんでした。
というか、今の時期はもつ鍋やってませんでした。
まぁ、それはそれとして飲酒。
ワイン党の取締役に強引に焼酎を付き合っていただきなんだかんだで一本空けて。

結局やっぱりワインを飲みたいらしい取締役から、水曜ですよ!と逃走したり。
2008/05/13 Tue
変な音どころか、靴底がもげた。かかと部分が。めりめりーと。
とりあえずアロンアルファ。ゼリー状。 ・デスクトップヒープメモ:
http://support.mi​crosoft.co​m/kb/826518/ja
To troubleshoot this problem, use the Gdiobj.exe tool to monitor the Brush column for PID 0. PID 0 represents GDI objects that are not private. If the Brush column continuously increases but does not decrease, you may be experiencing the leak that is described in this article. In this case, you can see the leak when you start and stop Microsoft Word; the Brush column increases by 2, but when you exit the program, it does not decrease.

To download the Gdiobj.exe tool, visit the following Feng Yuan Web site:
http://www.fengyuan.com/download.html (http://www.fengyuan.com/download.html)

で確認してみたところ、main() しかなくても DC 2つと Bitmap 1つと Brush 1つを消費するという結果に。何に使っているのさ。

あと、非対話型のデスクトップヒープは512KBもしくは768KBと小さいので、対話型に逃がしてみるテスト。

CreateProcess 関数
http://msdn.micro​soft.com/ja-jp/library/cc429066.a​spx
lpStartupInfo
新しいプロセスのメインウィンドウの表示方法を保持している、1 個の 構造体へのポインタを指定します。


STARTUPINFO Structure (Windows)
http://msdn.micro​soft.com/en-us/library/ms686331.a​spx
lpDesktop
The name of the desktop, or the name of both the desktop and window station for this process. A backslash in the string indicates that the string includes both the desktop and window station names. For more information, see Thread Connection to a Desktop.

を WinSta0\Default とかに。
2008/05/12 Mon
Visual Studio 2005と2008が届いたので試す。
まずはそれぞれのバージョンでのカスタム動作の挙動を確認するために、特にプロパティを変更せずにmsiファイルをビルド。
2005では、2003で作成したmsiファイルと同様にERROR_ACCESS_DENIED。
2008では、成功。うん?成功??

Windows Vista の Windows インストーラ配置
http://msdn.micro​soft.com/ja-jp/library/bb384154.a​spx
インストールのアクセス許可を昇格させるには、プロジェクト (.vdproj) ファイルを開きます。プロジェクト ファイルの MsiBootstrapper セクションで、RequiresElevation プロパティを True に設定します。このプロパティは、Visual Studio 統合開発環境 (IDE) を介して使用することはできません。したがって、プロジェクト ファイルを使用する必要があります。詳細については、「RequiresElevation プロパティ」を参照してください。

あたりが必要になるかと思っていたのだけれど、そういうこともなく?
デフォルト値を確認しても

        "MsiBootstrapper"
        {
        "LangId" = "3:1041"
        "RequiresElevation" = "11:FALSE"
        }

だし、

Windows Vista の Windows インストーラ配置
http://msdn.micro​soft.com/ja-jp/library/bb384154.a​spx
Visual Studio のバージョン間の違い
Windows Vista UAC 下の Visual Studio 2005 セットアップ プロジェクトと Visual Studio 2008 セットアップ プロジェクトの動作にも違いがあります。

にもカスタム動作に関する記述はないし。
なんなのさ、UAC。 デスクトップヒープメモ:
User32_dll または Kernel32_dll の初期化に失敗する
http://support.mi​crosoft.co​m/default.as​px?scid=kb;ja;184802
原因 2
システムでデスクトップ ヒープが不足している。

Microsoft Support Professionals Toolkit for Windows
http://www.micros​oft.com/japan/windowsser​ver2003/downloads/supporttoo​ls.mspx
Desktop Heap Monitor
Desktop Heap Monitor は、デスクトップヒープとよばれる Windows の特別なメモリ領域のサイズや、現在の使用量などの情報をレポートするツールです。従来はデスクトップヒープが異常に消費されている場合でも、その状況をリアルタイムで把握することは困難でしたが、このツールを利用することによりシステム管理者は Windows のデスクトップヒープの状況を本番稼動環境で容易に把握することができます。また、大規模アプリケーションが大量のデスクトップヒープを消費することがありますが、使用量を予め見積もることは困難でした。このツールは Windows のデスクトップヒープの使用量を事前に測定し、システムのチューニングを行うことも支援します。

Support Tools Project について
Microsoft Support Professionals Toolkit for Windows を開発した共同開発プロジェクトは、ミッションクリティカルな環境で使用されるシステムに対して非常に高いレベルのサポートを期待される日本の顧客のニーズに応えるため、マイクロソフト調布技術センターを開発拠点として 1998 年に発足以来、毎年新しいテーマに取り組みながらパートナーとの共同開発を継続してきました。
何気にメイドインジャパン。さらに調布。

Desktop Heap Monitor ツールのインストール時にエラー メッセージ "dheapinst - Win32k.sys symbol load error, correct symbol required" が表示される
http://support.mi​crosoft.co​m/kb/914216/ja

Windows シンボル パッケージのダウンロード
http://www.micros​oft.com/japan/whdc/DevTools/Debugging/symbolpkg.​mspx

Microsoft Advanced Windows Debugging and Troubleshooting Desktop Heap Overview
http://blogs.msdn​.com/ntdebuggin​g/archive/2007/01/04/desktop-heap-overview.a​spx
Desktop heap is probably not something that you spend a lot of time thinking about, which is a good thing. However, from time to time you may run into an issue that is caused by desktop heap exhaustion, and then it helps to know about this resource. Let me state up front that things have changed significantly in Vista around kernel address space, and much of what I’m talking about today does not apply to Vista.

Microsoft Advanced Windows Debugging and Troubleshooting Desktop Heap, part 2
http://blogs.msdn​.com/ntdebuggin​g/archive/2007/07/05/desktop-heap-part-2.aspx
Matthew here again ? I want to provide some follow-up information on desktop heap. In the first post I didn’t discuss the size of desktop heap related memory ranges on 64-bit Windows, 3GB, or Vista. So without further ado, here are the relevant sizes on various platforms...
2008/05/11 Sun
というわけでー。

MOドライブ落札。SCSI。外付。PCカード付き。
そしてジャンクMOドライブ購入。SCSI。内蔵。3台。FUJITSU 2台とOLYMPUS 1台。
ついでにジャンクSCSIカード購入。3枚。adaptec 2枚とIO DATA 1枚。
やりすぎ感が否めない。 640MB以上のディスクは2048byte/sectorになるので専用フォーマッタが必要だとか、起動ドライブにするにはHDDとSCSI IDを離すとか、HDDがないなら0にするとか、SCSI BIOSでハードディスクモードとか懐かしすぎて泣いた。
2008/05/10 Sat
アセトアルデヒドを生成するのに費やすいつもの土曜日。 http://plusd.itme​dia.co.jp/lifestyle/articles/0805/09/news040.ht​ml
800×480ドットという響きに妙に馴染みがあると思ったら、sigmarionIIIの解像度でした。
と言ったら、一緒にするなと怒られた。ひどく。
なんで!
2008/05/09 Fri
眠いからと早く寝たのに結局3時に起きて本末転倒。 中国語版Vistaにインストールできないアルヨーと言われたので調べてみたところ、言語以前にUACの問題でした。

Windows Vista におけるユーザー アカウント制御の理解と構成
http://technet.mi​crosoft.co​m/ja-jp/windowsvis​ta/aa905117.a​spx?wt.svl=lef​tnav

インストール自体はできているけど、どうもカスタム動作に失敗している様子。

Windows Vista の Windows インストーラ配置
http://msdn.micro​soft.com/ja-jp/library/bb384154.a​spx
カスタム動作のアクセス許可の昇格
カスタム動作エディタで作成されたカスタム動作は、昇格したアクセス許可で実行されます。カスタム動作は、レジストリやファイル システムなどのユーザー固有データにアクセスしないようにしてください。カスタム動作は呼び出しユーザーのアカウントで実行されるわけではないからです。

昇格されてないじゃないのよさ!

Windows Vista の Windows インストーラ配置
http://msdn.micro​soft.com/ja-jp/library/bb384154.a​spx
Visual Studio のバージョン間の違い
Windows Vista UAC 下の Visual Studio 2005 セットアップ プロジェクトと Visual Studio 2008 セットアップ プロジェクトの動作にも違いがあります。

いや、2003です。だからか。

よく寄せられる質問 Visual Studio と Windows Vista
http://www.micros​oft.com/japan/msdn/vstudio/support/windowsvis​ta/faq/
Q. サポートされない製品は何でしょうか。

A. 上記 3 製品を除く、Visual Studio .NET 2003、およびそれ以前の Visual Studio はサポートされません。

Q. Visual Studio .NET 2003 を Windows Vista でサポートしないことで、ユーザーに Visual Studio 2005 へのアップグレードを強制しているのではないでしょうか。

A. Windows Vista で利用可能となる新機能は、Visual Studio 2005 で開発することを第一に想定しています。Windows Vista では、重要な機能強化が多くあり、これら強化された機能を利用するアプリケーションを構築するためには、Visual Studio 2005 が最も優れた開発ツールです。これには、次の例があります。

カスタム動作で実行しているexeを直接叩いてみたところ、ERROR_ACCESS_DENIED。ああ。
とりあえずmanifestファイルを置いてみたたころ昇格ダイアログがでるようになったので、その構成にてセットアッププロジェクトをリビルドしたところ、今度はインストールすら通らなく。
カスタム動作の段階まで進んだところでプログレスバーが逆行します。
なんだよそれ!

アプリケーション開発者向け MicrosoftR Windows Vista 対応アプリケーションの互換性
http://download.m​icrosoft.c​om/download/3/4/4/3448ddf3-ca22-45bd-9984-1237e8ed00​19/Windows_Vi​sta_applic​ation_comp​atibility_​paper.doc
埋め込みマニフェストを作成する

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly  xmlns="urn:schemas-microsoft-com:asm.v1"
 manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

関連メモ:


Windows インストーラ配置のトラブルシューティング
http://msdn.micro​soft.com/ja-jp/library/kz0ke5xt(VS.80).aspx

アプリケーション開発者向け MicrosoftR Windows Vista 対応アプリケーションの互換性
http://download.m​icrosoft.c​om/download/3/4/4/3448ddf3-ca22-45bd-9984-1237e8ed00​19/Windows_Vi​sta_applic​ation_comp​atibility_​paper.doc
Windows Vista では、アプリケーションをインストールするには管理者権限が必要です。そのため、インストールプログラムを実行するときには、昇格が必要となります。そこでWindows Vista では、経験則に基づき特定のパターンに合致するプログラムを、インストーラとして検出する機能が追加されています。インストーラとして検出されると、自動的に権限昇格ダイアログが表示され、管理者権限で実行することができます。たとえば、ファイル名に「setup」、「update」、「install」という文字列が含まれている場合、Windows Vistaはアプリケーションの実行時にインストーラとみなし、実行には昇格が必要であると認識します。そこで自動的に権限昇格用のダイアログボックスが表示されます。ここで昇格すれば、問題なくアプリケーションをインストールすることができます。
とりあえず2005を、ついでに2008を用立ててもらうことに話が進んだところでシキさんから電話が。

シ「暇ですか!」
な「いや、暇ではないけど」

新宿で飲むことに。

唐突になんだと思ったら、先日行った居酒屋でもらった割引券を使用するためにとのこと。系列店ならどこでも使用可能な割引券らしい。ああ。
だからってなんで地上49階?無駄夜景。
シキさんが英会話教室で披露したアメリカンジョークの話を聞いたりしつつ、一杯飲み終わったところで追い出され(違います)、地下の坐和民に移動。

やきいも黒瀬を頼もうとしたらシキさんから「高い!」て言われたり。
結局、やきいも黒瀬は無かったり。
なやさんは盈進で十分ですて言われたり。
盈進をボトルで頼んだり。
az君がベーコン&チーズピッツァを頼もうとするのをシキさんが全力で阻止していたり。
シキさんがホットペッパーを取りにいっている間にaz君と二人でホットペッパー分のチーズを頼んだり。
戻ってきたシキさんに罵られたり。
そもそもホットペッパーに坐和民が載っていなかったり。
盈進を飲みすぎたり。
http://ebook.webc​atalog.jp/engine/isapi/frame.dll?bc=14464&c​o=watami&u​l=ja