2009年5月31日日曜日

強い子のミロ

昨晩家に帰ると妻が怒っている。

話を聞くと、珀美がテーブルの上に置いてあった麦芽飲料のミロの袋を食い破って、中身のほとんどを食ってしまったそうな。

顔から胸からミロでベタベタ、部屋中にミロの粉が飛び散ってすごい惨状だったとか。

一夜明けて、先ほど珀美を多摩川に散歩につれていったところ、色といい、形といい、艶といい、柔らかさといい、チョコレートクリームそっくりのうんちをした。

しばし見とれてしまった。ミロ、恐るべし。




珀美、暑いよ〜!




2009年5月18日月曜日

珀美

実は昨年家族が増えた。といっても子供が生まれた訳ではなく、犬を飼い始めたわけだ。
息子は以前チビ丸という名前のジャンガリアンハムスターを飼っていたのだが、このチビが他界した後、犬か猫を飼いたいと言い始めた。
ところが、これに妻が猛反対。犬や猫なんか飼ったら家の中がめちゃくちゃになると言って、許さない。
息子はことあるごとに犬か猫を飼ってほしいと訴えていたが、まぁ、聞き入れられそうにはなかった。
さて、昨年の正月休みに息子は「冒険者たち---ガンバと15ひきの仲間」という小説を読んでいたく感動したらしく、もう一度ハムスターを飼って、名前をガンバにすると言い出した。
まぁ、いくら言っても犬も猫も飼ってもらえそうにないので、あきらめてもう一度ハムスターを飼おうと思ったんだろう。
ところが、ここで話が急展開。なぜか妻が「もう一度ネズミを飼うくらいなら、犬を飼ったほうがましだ」と言い出した。なぜハムスターをもう一度飼うことより犬を飼うほうがましなのかさっぱりわからないが、とにかく犬を飼うことになってしまった。
で、ここから妻の行動が早い。八王子のブリーダーのサイトを見つけて、そこに出ている子犬の写真から気に入ったのを見つけると、すぐさま八王子まで出かけて予約を入れてきた。
会社で仕事をしている最中に「今八王子です。子犬を予約しました。今週末引き取りにいくので、よろしく」というメールを受け取ってびっくりしたものだ。
でも、一番驚いたのは息子。なにせあれだけ頼んでも却下されていたのに、突然犬を飼うことになったのだから、そりゃあ驚く。ブリーダーのお店で子犬を抱きながら、夢みたいだと繰り返し言っていた。

さて、こうして昨年の1月20日に我が家に子犬がやってきたわけだけど、この犬ちょっと不思議な血筋を引いている。父親がタイニープードル、母親がチンとトイプードルのハーフで、2007年11月23日生まれのメス。まぁ、雑種と言ってしまえばそれまでだけど、最近はこういう犬種を掛け合わせた犬のことをミックスと呼んでいて流行っているらしい。
基本的に黒毛なんだけど、下あごから胸、お腹にかけてと4本の足の先端が白くなっている。毛はプードル風の巻き毛だ。我が家に来たときは片手に乗ってしまうくらい小さくて、ほんとに可愛かった(今でも可愛いけど)。

名前をどうするか家族会議を開いた結果、珀美(はくび)に決めた。当時息子が好きだった「結界師」というアニメに犬の使い魔みたいな妖怪が出ていて、この名前が白尾だったので、音はここからいただいた。ただ、我が家の珀美のしっぽは真っ黒なので白尾というのは合わない。胸の白い毛がとてもきれいだから、白美にしようと提案。しかし妻から白美では字がつまらない、珀美のほうがいいという意見が出たので、これで決定。

珀美が我が家に来てから1年と4ヶ月になるが、やはり犬がいるのはいいものだ。特に一人っ子の息子にとっては、兄弟のような存在になっている。ぜひとも、元気で長生きしてほしい。
我が家にきたばかりの珀美。ちっちゃい!




2009年5月16日土曜日

てもみん

今日は朝から体調があまりよくない。会社に出てきても、どうもしゃっきりしない。

午後から肩がひどく凝ってたまらなくなってきたので、Googleで新宿のてもみんを探してみたところ、会社のすぐ近くに店があるのを発見。


てもみん 新宿パークタワー店

東京都新宿区西新宿3丁目7−1
新宿パークタワー
03-5908-3255‎

電話してみたらすいているというので、すぐに行ってきた。
30分ほど肩をもみほぐしてもらって、だいぶん楽になった。お代は3150円。
またしんどくなったら行こう。


2009年5月14日木曜日

Windowsデバッグの極意

なんかいつのまにやら1年近くも何も書かずにいるではないか。

ちょっといろいろ精神的にきついことが多いんだけど、なんとかまた書くようにがんばろう。

で、最近作った本の紹介をば。






これは翻訳書で、原著は"Advanced Windows Debugging"というAddison-Wesleyから出ている本だ。

なぜかAmazonに全然本の内容に関する情報が上がっていないので、少し書いておこう。

著者は二人ともMicrosoftのエンジニアだ。

Mario HewardtはMicrosoftCorporationのシニアデザインエンジニアで、過去9年間に渡ってWindowsのシステムレベル開発の分野で精力的に仕事をしてきた。Windowsの5回のリリース(Windows 98以降)を通じて、彼は主としてサーバーとデスクトップ管理の分野の仕事をしてきた。彼は、製品の信頼性、堅牢性、安全性を保証するための仕事に多くの時間を割いている。



Daniel PravatはMicrosoft Corporationのシニアデザインエンジニアで、複数のWindowsリリースで数種のWindowsコンポーネントのリリースに深く関わっている。Microsoftに入社する前は、電話サーバーとして機能するコンピュータのための電子通信ソフトウェアを開発していた。すべてのソフトウェアが信頼性、予測可能性、効率性を備えたものになることを目指している。


内容は、タイトル通りWindowsのデバッグのやり方をごりごりと解説したもの。ただし、Visual Studioを使ったデバッグ方法の解説はない。
Visual Studioではどうにもならないようなバグを追いかけるやり方について書かれた本とも言える。
さまざまなツール(ほとんどはMicrosoftのサイトから無料でダウンロードできる)を使って、バグを追いかけ、その原因を突き止める方法をステップバイステップに解説しているので、いざという時には役に立つ本だと思う。

artonさんがブログで紹介してくれている。

http://www.artonx.org/diary/20090503.html#p01

NyaRuRuさんも紹介してくれている。

http://d.hatena.ne.jp/NyaRuRu/20090427/p1


目次を下記にあげておくので、興味を持った人はぜひ本屋さんで手に取ってほしい。

序文
序章
謝辞
著者紹介

1 概観
第1章 ツールの準備
 1.1 リーク診断ツール
 1.2 Debugging Tools for Windows
 1.3 UMDH
 1.4 Microsoft Application Verifier
 1.5 グローバルフラグ
 1.6 Process Explorer
 1.7 Windows Driver Kit
 1.8 Wireshark
 1.9 DebugDiag
 1.10 まとめ
第2章 デバッガ入門
 2.1 デバッガの基本
 2.2 KDすべきか、KDせざるべきか
 2.3 デバッガの基本的な操作方法
 2.4 リモートデバッグ
 2.5 デバッグのシナリオ
 2.6 まとめ
第3章 デバッガの秘密
 3.1 ユーザーモードデバッガの内部構造
 3.2 ターゲットのコントロール
 3.3 まとめ
第4章 シンボルとソースファイルの管理
 4.1 デバッグのためのシンボル管理
 4.2 デバッグのためのソースファイル管理
 4.3 まとめ

2 応用デバッグ
第5章 メモリ破壊パート1―スタック
 5.1 メモリ破壊の検出
 5.2 スタックの破壊
 5.3 まとめ
第6章 メモリ破壊パート2―ヒープ
 6.1 ヒープとは何か
 6.2 ヒープ破壊
 6.3 まとめ
第7章 セキュリティ
 7.1 Windowsのセキュリティの概要
 7.2 セキュリティ情報の入手方法
 7.3 セキュリティチェックはどのようにして行われるか
 7.4 クライアント/サーバーアプリケーションでのIDの伝播
 7.5 システム境界でのセキュリティチェック
 7.6 セキュリティエラーの調査
 7.7 まとめ
第8章 プロセス間通信
 8.1 通信メカニズム
 8.2 ローカル通信のトラブルシュート
 8.3 リモート通信のトラブルシュート
 8.4 その他の技術知識
 8.5 まとめ
第9章 リソースリーク
 9.1 リソースとは何か
 9.2 リソースリークのデバッグプロセスの概要
 9.3 リソースリークの再現性
 9.4 ハンドルリーク
 9.5 メモリリーク
 9.6 まとめ
第10章 同期
 10.1 同期の基礎
 10.2 同期問題のデバッグプロセスの概要
 10.3 同期問題のシナリオ
 10.4 まとめ

3 高度なトピック
第11章 カスタムデバッガエクステンションの開発
 11.1 デバッガエクステンション入門
 11.2 デバッガエクステンションのサンプル
 11.3 まとめ
第12章 64ビットのデバッグ
 12.1 Microsoftの64ビットシステム
 12.2 Windows x64による変更
 12.3 まとめ
第13章 事後デバッグ
 13.1 ダンプファイルの基礎
 13.2 ダンプファイルの使い方
 13.3 WER(Windowsエラー報告)
 13.4 CER(企業内エラー報告)
 13.5 まとめ
第14章 パワーツール
 14.1 デバッグ診断ツール
 14.2 !analyze拡張コマンド
 14.3 まとめ
第15章 Windows Vistaの基礎
 15.1 第1章─ツールの準備
 15.2 第2章─デバッガ入門
 15.3 第6章─メモリ破壊パート2─ヒープ
 15.4 第7章─セキュリティ
 15.5 第8章─プロセス間通信
 15.6 第9章─リソースリーク
 15.7 第10章─同期
 15.8 第11章─カスタムデバッガエクステンションの開発
 15.9 第13章─事後デバッグ
 15.10 まとめ
付録A Application Verifierのテスト設定
 A.1 [Exceptions](例外)
 A.2 [Handles](ハンドル)
 A.3 [Heaps](ヒープ)
 A.4 [Locks](ロック)
 A.5 [Memory](メモリ)
 A.6 [ThreadPool](スレッドプール)
 A.7 [TLS]
 A.8 [FilePaths](ファイルパス)
 A.9 [HighVersionLie](新バージョンのシミュレーション)
 A.10 [InteractiveServices](対話的サービス)
 A.11 [KernelModeDriverInstall](カーネルモードのドライバインストール)
 A.12 [Low Resource Simulation](リソース残量低下のシミュレーション)
 A.13 [LuaPriv](権限の低いアカウントのシミュレーション)
 A.14 [DangerousAPIs](危険なAPI)
 A.15 [DirtyStacks](ダーティ状態のスタック)
 A.16 [TimeRollOver](時間のロールオーバー)
 A.17 [PrintAPI]と[PrintDriver]
索引