Landscape トップページ | < 前の月 2005-12 2006-01 次の月 2006-02 >

Landscape - エンジニアのメモ 2006-01

月ごとの記事一覧
2007年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2006年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2005年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2004年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2003年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2002年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
日ごとのページ
2006-01/ 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日

2006-01-31 (Tue)

* Mozilla Firefox / Thunderbird 1.5 で「応答のないスクリプト」ダイアログ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Mozilla]

Mozilla Thunerbird 1.5 を使っていると、以下のようなダイアログが表示されることがある。

警告: 応答のないスクリプト

このページのスクリプトは処理中または応答しなくなっています。今すぐスクリプトを停止するか、
処理が完了するまで待つか選択してください。

スクリプトを停止
処理を続行

どうやらスクリプトの処理に時間がかかってタイムアウトしたときに出るダイアログのようだ。私はとくに時間のかかるスクリプトを実行した覚えはないんだけど、Thunderbird が内部的に何かやっているんだろう。メール受信時のフィルタやスパム判定などで時間がかかってるのかな?

このダイアログが出ている時は、Mozilla の他にもたくさんアプリケーションを起動していてマシン全体が重くなっている。OS は複数のアプリを平行して処理できるが、私は一個のアプリしか処理できない。Mozilla にだけ構っていられる状態じゃないので、時間がかかっても良いので勝手に処理を継続してくれる方がありがたい。

要するに、こんなダイアログを出さずにしばらくの間は処理を続行してほしいわけだ。タイムアウトの閾値を延ばしてダイアログが出ないように回避するとしよう。

- about:config で dom.max_script_run_time を変更してタイムアウトまでの時間を変更

私の使っている Mozilla Thunderbird バージョン 1.5 (20051201) には、GUI で設定できるオプションにタイムアウトの閾値を設定できそうな項目が見あたらなかった。仕方がないので、ユーザー設定ファイル user.js で設定できそうな項目を探してみる。たぶん Script Timeout とかそういう名前の項目がきっとあるはず。

ツール(T) の オプション(O) の詳細設定 の設定エディタ(G) から about:config を起動し、Timeout で検索。ヒットしない。Script で検索したらどう? たくさんヒットした。その中に dom.max_script_run_time というキーがある。これかな? Google で dom.max_script_run_time を検索。どうやらこれが「応答のないスクリプト」の閾値を設定できる項目のようだ。

とりあえず初期値の5を30に変更してみた。

以下は参考にしたもじら組の掲示板。ダイアログのメッセージが英語になってるけど。

Mozilla-gumi Forum [One Topic All View / また掲示板の不調? / Page: 0]
http://forum.mozilla.gr.jp/?mode=al2&namber=10416&re ...
> Ninja Systemのアクセスコントロール(Javascriptを無効の場合アクセス制限)と”こうさぎ”が利用されているブログにアクセスすると、必ずではありませんが、かなりの確率で”Script warning”が出ます。
> ---------------------------
> A script on this page is causing mozilla to run slowly. If it continues to run, your computer may become unresponsive.
>
> Do you want to abort the script?
> ---------------------------
> 実際のところスクリプトを有効にしても(この場合は警告に対して「キャンセル」を選ぶ)、問題は起こっていないので、この警告が出ないようにしたいのですが、どこをどういじればよいのかわかりません。ご教授お願いいたします。

「Do you want to abort the script?」という警告は、
スクリプトがループしてdom.max_script_run_time(about:configでは5になっているはず)以上の時間がたった時にでるはずです。
( See http://bugzilla.mozilla.org/show_bug.cgi?id=13350 )
ダイアログで「キャンセル」してアボートさせない場合は、CPUが100%になるなどの現象は起こっていませんか?
また、ダイアログで「OK」を返してアボートさせるとどうなりますか?

なお、dom.max_script_run_timeの値はall.jsの中のものが使われるようで、
prefs.jsやabout:configで変更しても効かないようです。
( See http://bugzilla.mozilla.org/show_bug.cgi?id=247225 )

って、about:config で設定してもダメなの? それってユーザー設定を無視するというバグなんじゃないか? まあ、上記議論が行われたのは2004年だし、仕様が変わってるかもしれない。とりあえず about:config でだけ設定しておいて、効いてなさそうだったら all.js の値を変更することにしよう。しばらく様子見だね。

2006年2月2日追記。
SmallStyle で、about:config の設定が有効かどうかを試験してくださっていた。ありがとうございます。
[Firefox] 応答のないスクリプトダイアログと dom.max_script_run_time - SmallStyle (2006-01-31)
http://www.smallstyle.com/20060131.html#p01
about:config で設定された値は,うまく動作しているようです.

私の環境でも、about:config で30に設定して以来「応答のないスクリプト」ダイアログは表示されなくなっています。「実行中はUI がロックされてしまう」という問題があるとのことですが、私の場合は Mozilla を常に操作し続けているわけではないので、いまのところ問題になってはいません。しばらくこのまま運用しようと思っています。

2006-01-30 (Mon)

* 暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [セキュリティ] [ゲーム] [ネットワーク]

暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする。

これは 2006-01-29 の「ニンテンドーDS を考慮した無線 LAN のセキュリティ設定」では本筋ではないので書かなかった。ユーザーの設定で解決するには難しく、完全に解決するには機器の買い増しなどが必要になるし、「より強固なセキュリティ」よりも「最低限のセキュリティ」を重視したからだ。

- ニンテンドーDS が WEP しか使えないという問題の本質

WEP よりも強度の強い AES (Advanced Encryption Standard) などを使っている 無線 LAN ネットワークにニンテンドーDS が参加する場合、ニンテンドーDS が使用可能な WEP までネットワーク全体の暗号の強度を落とさなければならない。

ネットワーク全体で AES などが使えなくなる。ニンテンドーDS が WEP しか使えないという問題の本質はここにある。

2006-01-29 では「WEP128 を使って通信を暗号化すればいい」と書いたが、WEP は暗号強度が弱いので本当は AES を使いたいところ。しかし、ニンテンドーDS が参加すると無線 LAN 全体で WEP を使わなければならなくなる。無線 LAN における暗号は、そのネットワークに参加するすべてのクライアントが使える方式を選択しなければならないからだ。

ニンテンドーDS だけ WEP を使って、他のクライアントは AES を使うということができればいいのだが、それをするためには後述する何らかの方法で 無線 LAN アクセスポイントを追加しなければならない。

- 解決方法は 無線 LAN アクセスポイントの追加

根本的な解決策は、ニンテンドーDS 専用の無線 LAN アクセスポイントを追加で設置することだ。

たとえば、IEEE 802.11b と IEEE 802.11a を同時使用可能な無線 LAN アクセスポイントを使う。ニンテンドーDS を IEEE 802.11b + WEP で接続し、他のクライアントは IEEE 802.11a + AES で接続すればよい。私の使っている無線 LAN アクセスポイント AirStation WHR-G54S では IEEE 802.11b にしか対応してないので、買い換えになってしまうけど。


または、Wi-Fi USB コネクタを使い、既存の無線 LAN アクセスポイントとチャンネルを離してそれぞれ独立した無線 LAN ネットワークとして運用する。

ただ、それだけのためにわざわざ Wi-Fi USB コネクタを買うのも不経済だ。PC を立ち上げていないと使えないし。

- ニンテンドーDS が AES に対応してくれればなあ・・・

SCE の PSP (プレイステーションポータブル) はファームウェアのバージョンアップで AES への対応を果たした。PSP はコンテンツ保護のために AES をハードウェアで処理する機能を持っているようなので、それを活用するようにしただけなのかもしれないけど、とにかく実現したことは素晴らしい。

“PSP”(プレイステーション・ポータブル)|“PSP” システムソフトウェア アップデート
http://www.playstation.jp/psp/update/ud_01_hty.html
PSP システムソフトウェア バージョン 2.50の更新内容 [2005.10.13]

[ネットワーク設定]のセキュリティ方式に[WPA-PSK(AES)]を追加しました。

結局、ニンテンドーDS が AES をサポートしてくれれば済むことだが、コストをかけられないゲーム機では難しいのだろう。2006年3月発売予定と発表されたニンテンドーDS の軽量化版「ニンテンドーDS Lite」が AES をサポートしてくれればいいのになあ、と思ったりもしている。現行のニンテンドーDS よりも1800円高い価格設定とのことだし、やってくれるとうれしいんだけどな。

- 補足 AES (Advanced Encryption Standard) とは

AES について、Airstation のヘルプから引用。

AES

AES(Advanced Encryption Standard)は、次世代の標準暗号とし て米国NISTで採用されたデータの暗号/複合化方式です。このエアステーシ ョンではIEEE802.11i(WPA)を用いた場合、データの暗号化方式として指定 することができます(AES/CCM)。 従来の暗号化方式と比較し、第三者からの攻撃・改竄などに対して強く、 セキュリティを大幅に強化することができます。また、このエアステーショ ンはAES暗号/復号化のための専用ハードウェアを持っており、速度低下など のデメリットを受けずに強力な暗号を使用することができます。 また、AESを利用するためには、接続する無線LAN機器全てがAESをサポート している必要があります。

私は速度と強度のバランスがとれている AES が好き。AES については 2004-04-30 の「暗号技術入門 秘密の国のアリス を発注」で書いた「暗号技術入門」がわかりやすかった。2004-11-09 の「GMail をバックアップストレージとして使う」でも暗号化は AES256 を使っているし、2005-08-16 には「C# でファイルを暗号化・復号化する」というメモも書いた。

2006-01-29 (Sun)

* ニンテンドーDS を考慮した無線 LAN のセキュリティ設定

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [セキュリティ] [ゲーム] [ネットワーク]

私はニンテンドーDSのWI-FIコネクションを利用した通信を行うために無線LANを導入した。ニンテンドーDSを繋ぐ事を考慮した無線 LAN アクセスポイントのセキュリティ設定についてのメモ。

- 私の無線 LAN 環境

ちなみに、私が利用している無線 LAN アクセスポイントは 2005-11-18 の「ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び」で購入した、バッファローの AirStation WHR-G54S という無線 LAN ルータだ。私の無線 LAN には ニンテンドーDS のほかに、PC2台も接続している。

私はすべて手動で設定した。「AOSS」や「らくらく無線スタート」などの自動設定システムを使うと、セキュリティ的に甘い設定になってしまうかもしれないし、何より私はエンジニアなのでセキュリティと使い勝手のバランスをどう取るかを自分で決めたかったからだ。

- セキュリティ的に弱い無線 LAN を使っているとどうなるのか

無線 LAN のセキュリティが弱いままだと、以下のような事態を招くおそれがある。

他の人に勝手に無線 LAN に接続されてしまう。
無線 LAN では、何も制限していない場合は電波が届けばだれでも接続できてしまう。近所の子供がマリオカートのWIFI対戦のために接続してくるくらいならかわいいものだが、特定のサイトを攻撃する際の踏み台や、掲示板に殺人予告を書くために使われる恐れもある。

無線 LAN を流れるデータを読み取られる。
こっちは実際はあまり問題にならない。盗聴されると困るデータは、最初から暗号化されて通信することが多いからだ。ただ、Windows ファイル共有などではデータが暗号化されないので、財務データを記録したファイルなどを無線 LAN 上でやりとりするのはリスクがある。新たな情報漏洩の口ができるという意味で、有線の LAN のときよりはリスクが増えてしまう。

- ニンテンドーDS を接続する無線 LAN で最低限設定すべきセキュリティの項目は3つ

私が無線 LAN アクセスポイントに設定した項目は3つ。とりあえずこれだけやっておけば大丈夫。実は、この3項目はニンテンドーDS を接続するしないに関係なく、無線 LAN セキュリティの基本だ。

・指定した MAC アドレスを持つクライアントのみ接続許可する。
・SSID を知っているクライアントのみ接続許可する。
・WEP128で通信を暗号化する。

上記はどれか一個で十分というものではない。できる限りすべて実施しておくことが重要。攻撃側は一番弱いところだけを突けばよいので、防御側の私は弱いところをできる限り減らすようにする必要があるからだ。

- 指定した MAC アドレスを持つクライアントのみ接続許可する

MAC アドレスというのはネットワーク機器一つ一つに割り振られた ID。クライアントの MAC アドレスを無線 LAN アクセスポイントに事前に登録しておき、登録された MAC アドレスを持つ機器からの接続だけを許可する。

ただし、MAC アドレスを好きな値に変更できるクライアントもあるので、MAC アドレス自体を知られてしまうとクライアントを偽装されてしまう。MAC アドレス制限だけでなく、他の対策と組み合わせることが重要。

ニンテンドーDS 本体の MAC アドレスは、WI-FI コネクション設定画面のオプションで「本体情報」を見ることで確認できる。00-09-BF-64-64-64 などと表示される。

- SSID を知ってるクライアントのみ接続許可する

無線 LAN クライアントからアクセスポイントに存在確認要求があったとき、SSID が一致しないときは要求を無視するようにする。これにより「SSID を知っているクライアントだけにアクセスポイントが見える」という状態にすることができる。

SSID も MAC アドレスと同じく知られてしまうと効果がない。やはり他の対策と組み合わせることが重要。

ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの SSID を入力できる。

- WEP128で通信を暗号化する

データを WEP キーを使って暗号化し、「WEP キーを知っているクライアントのみ通信ができる」という状態にすることができる。

ただし、WEP128の暗号化は強度が弱く暗号解読ツールも出回っているので、暗号化しているから絶対通信内容が漏洩しない、というわけではない。つまり他の対策と組み合わせることが重要。

暗号化方式には他に AES と TKIP があるが、ニンテンドーDS は AES も TKIP もサポートしていないので、これらを選ぶとニンテンドーDS を接続できなくなってしまう。WEP64 というのもあるが、WEP128よりも暗号化強度が弱い。現在のところ、WEP128 がニンテンドーDS で使用できる一番強固な暗号だ。

追記。おいでよ どうぶつの森に付いてきた「ニンテンドー Wi-Fi コネクション ガイドブック」19ページによると、ニンテンドーDS は WEP128よりも強固な WEP152 もサポートしている。しかし、私の AirStation WHR-G54S は WEP128 までしか対応していないので WEP128 を選択した。

ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの WEP キーを入力できる。アルファベット13文字または 0-9とA-F までの26文字を入力する。

- 追記

追記。
2006-01-30 に「暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする」という記事を書いた。

2006-01-28 (Sat)

* ハイレルモンとウカール 明治製菓の合格祈願菓子

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ] []

明治製菓から「ハイレルモン」と「ウカール」というお菓子が発売されていた。

- ハイレルモン

レモン味のタブレットであるハイレモンをベースに、ビタミンCをしたお菓子。パッケージに「がんばれば はいれるもん」って書いてあるのが良いところ。私がお菓子好きであることを知っている後輩が、一箱買ってきてプレゼントしてくれた。ありがとう。

ハイレルモンはハイレモンの3倍のビタミンCを含んでいる。6粒で 999mg のビタミンC ということなので、すなわち一粒当たり166mg となる。かなり多いね。

「3倍のビタミンC」を主張したいのか、味はかなり酸味がきつい。ビタミンCの量と酸味って直接関係ないと思うんだけどなあ。酸っぱい方が効きそうだからこうしたんだろうか。

明治製菓:がんばれ受験生!ビタミンC3倍 ハイレルモン
open.meiji.co.jp/sweets/candy_gum/hilemon/hairerumon/

- ウカール

カールをベースにしたお菓子。ウカールは私はまだ食べたことがない。友達がチーズ味のウカールを食べたと言っていたが、味は普通のカールと変わらないとのこと。まだ普通に売っているようなので、食べるなら今のうちだ。

個人的にはカレー味のカールをまた食べたい。最近買いに行ったら売ってなくて残念な思いをした。

2006-01-27 (Fri)

* 無料のオフィス スイート OpenOffice.org 2.0.1 をインストール

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ソフトウェア]

ちょっとシミュレーションをするため、表計算ソフトが必要になった。MS Office の Excel があればいいが、手元にはインストールされたマシンがない。Perl か何かでスクリプトを書いてもいいけど、グラフなどで可視化したいので、やっぱり表計算ソフトがいい。となると、無料で利用できるオフィススイートである OpenOffice.org がいいかな。

- ダウンロード

とりあえず http://www.ring.gr.jp/pub/misc/openoffice/localized/ja/2.0.1 ... (約78MB) をダウンロード。このファイルには一通りのツールが入っている。ワープロソフトの Writer、表計算ソフトの Calc、PowerPoint のようなプレゼンテーションソフトの Impress、Access のようなデータベースソフトの Base など。他にもいくつかあったけど、私はたぶん使う機会がないだろう。

- インストールして起動

ダウンロードしたファイルをダブルクリックしてインストール。あとは Next や「次へ」を連打してインストール完了。

さあ起動。表計算ソフト Calc をスタートメニューから起動。OpenOffice.org は珍しいことにデスクトップにショートカットを作らない。何でだろう? たいていのアプリケーションは自己主張が強くて、デスクトップ、クイック起動バー、スタートメニューにそれぞれショートカットを作りたがるのにね。

見た目はますますエクセルっぽくなってる。なんか前よりつやつやになってるような感じだな。

操作も簡単というかエクセルと同じ。セルに数字を入れて、上の方にある数式バーに =E2+C3-D3 などと入力すれば計算してくれる。あとはそのセルを選択してドラッグすれば簡単に合計を計算してくれる。ここらへんはエクセルと一緒なので簡単。

数式入力を繰り返し、ロジックは完成してシミュレーションも完了。結構さくっと終わった。数字だけで十分傾向がわかったので、グラフは結局作らなかったけど、やっぱり表計算ソフト、楽だなあ。スクリプト書くのも良いけど、一般的ないわゆる「パソコンユーザー」が使ってるツールに触れるのも時には必要だな。開発者やエンジニアでなく、一般ユーザーと同じ視点を持つためにね。

2006-01-26 (Thu)

* プログラミング C# 第4版

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [] [C#] [.net] [プログラミング]

オライリーのメールマガジンを読んでいたら、プログラミングC# 第4版刊行のお知らせが書かれていた。

プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応

ジェシー リバティ / Jesse Liberty / 鈴木 幸敏 / 首藤 一幸 / 情報技研
発売日: 2006/02


amazon で詳しく見る   bk1で詳しく見る

Jesse Liberty著 鈴木 幸敏、首藤 一幸、株式会社情報技研 訳
5040円

2006年2月発売予定とのこと。まだ amazon に登録されてないようなのでリンクは張らない。「プログラミングC# 第3版」では開発運用編と言語詳解編として分冊になってたけど、第4版では一冊にまとまったのかな? 原書は644ページもあるし、そうなんだろうな。

そろそろリファレンスとして一冊手元に欲しいな。第3版は仕事場では何人か持っている人がいるのですぐに借りることはできるけど、メモを書き込んだり、マーカーを使ったりできないしね。C# 2.0 に対応してるなら買おう。

Programming C#Programming C#

Jesse Liberty
発売日: 2005/04


amazon で詳しく見る

ちなみに、原書ならば日本の amazon でもすぐに手に入る。

- Programming C# 4th Edition は C#2.0 と Visual Studio 2005 対応

うーん、原書は2005年2月なので C#2.0 は未対応な雰囲気・・・?

oreilly.com -- Online Catalog: Programming C#, Fourth Edition
http://www.oreilly.com/catalog/progcsharp4/
The fourth edition of Programming C#--the top-selling C# book on the market--has been updated to the C# ISO standard as well as changes to Microsoft's implementation of the language. It also provides notes and warnings on C# 1.1 and C# 2.0.

と思ったけど、上記解説によると C#2.0 向けの記述や警告があるとのこと。

amazon に掲載されている第4版の原書の表紙画像の右肩にも 4th Edition Covers C# 2.0, .NET 2.0 & Visual Studio 2005 と書かれてるし、それなら翻訳版も十中八九対応してるでしょう。

via: O'Reilly Japan News 第96号

2006-01-25 (Wed)

* カッパのカッペイの噂を聞いた

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [おいでよ どうぶつの森]

かえるのクワトロくんと話していたら、ある噂話を聞かされた。あのカッパのカッペイのことだ。

ゲームキューブ版では、カッペイは南の島に渡る際に乗る舟の船頭として異様な存在感を持っていた。存在感の原因は、舟に乗ったときに彼が唄うあの歌のせいだとは思うけど。

2005-11-26 の「おいでよ どうぶつの森とニンテンドーDSを購入」で書いたように、カッペイは今作ではゲーム開始時に自分の村へ向かうタクシーの運転手として登場する。なんでいきなりタクシーの運転手になったのかわからなかったけど、クワトロくんはそのいきさつをちょっとだけ教えてくれた。

このあいだ はまべで
めずらしいひとに あったよぉ

ほら、あのタクシーの
うんてんしゅさん!

なんでも むかしは
しりえくぼが じまんの
ふなのりだった らしいけど、

ちょっと ヤバいコトして、
クビに なっちゃった
らしいんだぁ・・・

ホントだったら
ちょっと カッコイイねぇ〜!
にゃむ!

そういうことになってたんだ。というか、あの船頭の仕事は自営業じゃなくてだれかに雇われてたのか。知らなかったよ。

カッペイは乗り物の運転手とか操縦士が似合ってる。陸と海はもうやったから、次はぜひ空にチャレンジして欲しい。ジェット機の機長とか、ヘリコプターの操縦士とか、戦闘機のパイロットとして登場して欲しいなあ。どれもどうぶつの森のスローライフとは似合わないのが難点だけど。

2006-01-24 (Tue)

* Windows のデータ実行防止 (DEP) 機能の適用を除外する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Windows] [PC] [ソフトウェア]

私の Athlon64 を搭載した WindowsXP SP2 マシンで IP 電話ソフト Skype を起動したところ、データ実行防止機能が働いて Skype が強制終了された。Skype をデータ実行防止機能の適用対象から外して回避した。

- データ実行防止機能 (DEP) が働いて Skype が強制終了された

IP 電話ソフト Skype Version 2.0.0.69 をインストールして起動したところ、以下のようなダイアログが表示されて強制終了されてしまった。

データ実行防止 - Microsoft Windows

コンピュータ保護のため、このプログラムは Windows により終了されました。

名前: Skype. The whole world can talk for free.

データ実行防止は、ウイルスやその他の脅威による損害の防止に役立ちます。データ実行防止を有効にすると、プログラムによっては正しく実行されない場合もあります。プログラムの更新されたバージョンについては、発行元に問い合わせてください。

WindowsXP SP2 や Windows Server 2003に搭載された新機能「データ実行防止 (DEP - Data Execution Prevention)」機能が働いて Skype を強制終了した模様。データ領域を実行するという手法はパフォーマンスを追求するアプリケーションなどで使うテクニックだそうだが、ウイルスなどもそれを利用してくる。そのため OS は「データ領域の実行」を検出すると、エラーとしてアプリケーションを強制終了してしまう。

この機能は Athlon64 などの データ実行防止機能に対応した CPU (NX ビットが有効になった CPU) などで利用できる。Intel でも EM64T を搭載していれば NX ビットが有効になっていたはず。

プログラムごとにデータ実行防止機能 (DEP) の適用対象から除外する設定をすることができるので、今回はそれで回避することにする。

- Skype をデータ実行防止機能の対象から除外する

マイコンピュータを右クリックして「プロパティ」を選ぶ。
「システムのプロパティ」が表示されるので、「詳細設定」タブを選ぶ。
「パフォーマンス」の囲みの中の「詳細設定」ボタンを押す。
「パフォーマンスオプション」が表示されるので、「データ実行防止」タブを選ぶ。
ラジオボタン「次に選択するのものを除くすべてのプログラムおよびサービスについて DEP を有効にする」を選ぶ。
「追加」ボタンでデータ実行防止機能から除外したいプログラムの実行ファイルを選ぶ。今回は C:\Program Files\Skype\Phone\Skype.exe を指定した。

上記設定を入れて無事 Skype を起動できた。

2006-01-23 (Mon)

* C# の正規表現クラスに複数のオプションを指定する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [C#] [.net] [Perl]

C# の正規表現クラスに複数のオプションを指定するには、 | で RegexOptions 列挙体の OR を取る。|| ではない。

- 今日の失敗 論理演算子 || を RegexOptions に使おうとした

文字列を強調処理する正規表現を書いていたところ、Regex クラスのコンストラクタに正規表現オプションとして RegexOptions 列挙体を渡すところでコンパイルエラーが出た。

Regex highLight = new Regex(Regex.Escape(keyword), RegexOptions.IgnoreCase || RegexOptions.Multiline);

C:\CSProjects\Prototype\ConsoleApplication1\ConsoleApplication1\Class1.cs(30): 演算子 '||' を 'System.Text.RegularExpressions.RegexOptions' と 'System.Text.RegularExpressions.RegexOptions' 型のオペランドに適用することはできません。

んん? なんでエラーになってるの? .NET というか C# で複数の正規表現オプションを Regex クラスのコンストラクタに渡したいときは、OR を取れば良いんでしょう? かなり前にやった覚えがあるんだけど・・・。

あ、わかった。ビット演算の OR (|) じゃなくて論理演算の OR (||) を使ってる。あはは。これが原因か。以下のように修正して無事コンパイルできた。

Regex highLight = new Regex(Regex.Escape(keyword), RegexOptions.IgnoreCase | RegexOptions.Multiline);

- RegexOptions 列挙体でよく使うもの

ちなみに System.Text.RegularExpressions.RegexOptions 列挙体でよく使うのは以下の3つかな。Perl でも i m s などとして指定してたよね。最初は m と s の違いを実感できなかった。とくに、同時に指定したらどうなるのかがわかりにくかったので、2003-03-25 の「Perl の正規表現のオプション m と s」では 実際にどう使うかをまとめた。

RegexOptions 列挙体 - System.Text.RegularExpressions
http://www.microsoft.com/japan/msdn/library/default.asp?url= ...
IgnoreCase
検索時に大文字と小文字を区別しないことを指定します。

Multiline
複数行モードを指定します。^ と $ の意味を変更して、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾にもそれぞれが一致するようにします。

Singleline
単一行モードを指定します。\n 以外の任意の文字ではなく、すべての文字と一致するようにピリオド (.) の意味を変更します。

2006-01-22 (Sun)

* マリオカートDS 攻略メモ 150cc フラワーカップをクリア

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [マリオカートDS]

久しぶりにニンテンドーDSの マリオカートDS をプレイ。2006-01-15 の「マリオカートDS 攻略メモ 150cc キノコカップをクリア」に引き続き150ccを攻略中。今回はフラワーカップ。キャラはいつものヨッシーで、カートはエッグワン。

- 第1戦 サンサンさばく

マリオカートDSマリオカートDS

任天堂
発売日: 2005/12/08
Nintendo DS

amazon で詳しく見る

サンサンさばくは照りつける太陽と砂漠のサーキット。実はフラワーカップで一番難しいコース。タイトなコーナーが連続し、かつサンボが邪魔してくる。サンボはお団子を重ねたような移動型の黄色いお邪魔キャラ。その上、ファイアボールがコース上を跳ねてるというおまけつき。

攻略のポイントはとにかく丁寧にラインを取ること。アイテムボックスを無理に拾おうとしなければ、ラインは取りやすい。連続するコーナーをミニターボ付きで上手く抜けられば勝機が見えてくる。また、キノコによるダッシュがあればショートカットできるコーナーもある。ただ、ゴール前のS字は、ミニターボを発動した高速状態でコーナーに突入してしまうと姿勢制御が難しくなりラインが総崩れになるので、あえてミニターボを狙わない方がきれいにクリアできるかも。

といっても、私は結局2位止まりだった。一位はおてんば姫のデイジー。今回のライバルはデイジーか。久しぶりにプレイしたから、コースのレイアウトを忘れてるな。ドリフトは問題なく出せる。ドリフトは自転車の乗り方や念能力の使い方と同じで、一度覚えたら忘れないもののようだ。

- 第2戦 モンテタウン

モンテタウンはマリオサンシャインで登場したドルピック島の港町。市街地を使ったサーキットのため、コースは建物の壁で挟まれてて、かつ道幅が狭い。ショートカット可能な裏路地も用意されているが、ダートになっているためキノコを使ったダッシュやドリフトを適切に決めないとかえって遅くなるかも。

攻略のポイントはとにかく壁にぶつからないこと。コース上に置かれたバナナやダミーアイテムボックスを上手く避けるのも大事だが、壁にぶつかって減速しないことも同じくらい重要。コースの大半を占める市街地は、ゆるやかなコーナーと直角のコーナーの組み合わせ。直角コーナーでは積極的にドリフトとミニターボを狙う。ホームストレート付近は道幅が広いので、直線ドリフトの練習になるね。

二周目まではデイジーと激しいトップ争いを繰り広げた。バナナやボム兵で攻撃するも、ラインが合わずにデイジーに命中しない。ただ、積極的にミニターボを狙っていったため徐々に差を付けることができ、最終的には一位をとれた。やったね。

- 第3戦 ワルイージピンボール

ワルイージピンボールはピンボール台がテーマのサーキット。このコースは仕掛けが多く、コースを巨大な鉄球が転がっていったり、ピンボールのフリッパー (ボールを弾くためのくさびみたいな物) などの障害物が立ちふさがる。

攻略のポイントはドリフトを障害物の回避に使うこと。ドリフト中はカウンターステアの当て方によってラインを自在に変えられるので、それを上手く使う。いくつかタイトなコーナーもあるので、ドリフトで最速ラインを取り、ミニターボを使って加速することももちろん必要。

一周目はコース上の仕掛けに翻弄されてしまい6位くらいに甘んじていたが、ドリフトとミニターボを連発して一気にトップへ浮上。二周目はデイジーが私のカートのテールに付いていたが、ミニターボを連発していたら視界から消えた。いい感じ。

- 最終戦 キノコリッジウェイ

キノコリッジウェイは峠のサーキット。ゆるいカーブから断崖絶壁脇のS字など様々なコーナーが複合的に配置されていて、連続的なドリフトで駆け抜ける楽しみが味わえる。ドリフトとミニターボさえ使いこなせれば、実はフラワーカップ中一番簡単だ。

攻略のポイントは対向車を含む一般車両をどう避けるか。ドリフトしながらカウンターステアの当て方を調整することで、ラインを変えて避けるのがおすすめ。避けきった後はすかさずミニターボ発動。ニンテンドー64のマリオカートのキノピオハイウェイと同じような感覚だ。とにかくコーナーの連続なので攻撃的にドリフトしてミニターボを狙うこともポイント。

一周目は「トリプルこうら」をまとったデイジーやマリオに行く手を阻まれたが、ミニターボを華麗に決めてトップに躍り出ることができた。その後はもうぶっちぎり。キノコリッジウェイは走っていて非常に楽しい。

- 次はスターカップ

というわけでドライバーズポイント合計38で総合優勝できた。ただ、全勝できなかったのでクリアランクはB。サンサンさばくの2位が痛かったな。腕を上げてからまた挑むことにする。

次はスターカップだ。ここからはきっと難しくなるはず。がんばるぞ。

2006-01-21 (Sat)

* イナリかぐの会員になった

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [おいでよ どうぶつの森]

会員制の高級家具販売店である「イナリかぐ」。会員制なので、買い物するには会員権が必要。また、入店するだけでも「あいことば」が必要で、一見さんお断りなオーラが漂っている。

2006-01-03 の「イナリかぐ のあいことば」では、店に入ることはできたが会員になる方法がわからなかったため、買い物できずに終わってしまった。今日もまたイナリかぐがソニック村にやってきている。今日こそ会員権を手に入れて、名画を購入したいところ。

- イナリ家具の会員になって「めいが (名画)」を購入

村の動物たちとおしゃべりしてたら、鳥のツバクロくんがあいことばを教えてくれた。ありがとう。あいことばは「にくをきらせて」「かねをとる」だった。相変わらず意味不明だね。

あいことばを使ってイナリ家具に入店。でも、前回はそれだけで終わっちゃったんだよなー。で、店主のつねきちと話していたら、以下のように聞かれた。

おきゃくさん、ウチのみせ・・・
「イナリかぐ」のかいいんに
なりたいんですか?

この状態で「メンバーにして!」を選択すると、入会金3000ベルを請求された。前回も「メンバーにして!」を選んだような気はするけど、入会金の話は出なかったはず。あ、もしかしてそのとき私がお金持ってなかったから? そういうことか。

無事会員になることができ、いいめいが (いい名画) を購入。うーん、なかなかいい絵だね。ソニック村の博物館に寄贈しよう。

2006-01-20 (Fri)

* xyzzy の印刷時にヘッダやフッタをカスタマイズして時刻を入れる

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [xyzzy]

2005-12-20 の「IE の印刷時にヘッダやフッタをカスタマイズして時刻を入れる」では IE の印刷時ヘッダのカスタマイズをしたが、今回はテキストエディタ xyzzy の印刷時ヘッダとフッタのカスタマイズ。

- xyzzy の印刷時ヘッダとフッタのカスタマイズ

xyzzy の上部メニューの ファイル(F) の 印刷(P) の ヘッダ(H) とフッタ(O) に書式指定文字列を記述することでヘッダやフッタをカスタマイズできる。

ヘッダには以下の書式指定文字列を設定。

%F%l

左上にファイルのフルパス。
右上にはとくになし。

フッタには以下の書式指定文字列を設定。

%p / %P Page %l%r%:w, %0d %:m %Y %0h:%0M:%0s

左下には現在のページ数と、総ページ数。
右下には印刷した年月日時分秒と曜日。

- カスタマイズした結果のサンプル

上記設定ではこんな感じに印刷される。

D:/MyDocuments/Report/2006-01-20.txt




                      本文



1 / 64 Page                                    Fri, 20 Jan 2006 10:10:43

2006-01-19 (Thu)

* SQL Server の Gatherer プロジェクトに関する警告またはエラー

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [MS SQL Server]

Gatherer プロジェクトに関する警告またはエラーというものがイベントログに記録されていた。SQL Server2000 のフルテキスト検索のクローラーのエラーの模様。

手作業で DTS (Data Transfer Service) を使ってマスターデータ編集用サーバから運用系サーバへデータ転送したあと、クローラがクローリングを開始したタイミングで発生している。

該当のファイルやイベントログなどを見てもあまり手がかりがない。Web を検索しても情報がとくに出てこない。サービスには支障が出ていないし、致命的なものではないと判断。現行のまま運用を継続することにした。

イベントの種類:    警告
イベント ソース:    Microsoft Search
イベント カテゴリ:    Gatherer
イベント ID:    3035
日付:        2005/12/26
時刻:        18:32:51
ユーザー:        N/A
コンピュータ:    sonic64
説明:
Gatherer プロジェクト <SQLServer SQL0001100005> に関する警告またはエラーで、ファイル <d:\sqldata\MSSQL\FTData\SQLServer\GatherLogs\SQL0001100005.85.gthr> に記録されたものがあります。このメッセージの詳細については、Gatherer ログ クエリ オブジェクト (gthrlog.vbs, ログ参照 Web ページ) で使用するファイルを参照してください。

ところで、Gatherer (ギャザー) っていうと、風来のシレンに出てきたあの蟹みたいなモンスターを思い出しちゃうな。あ、Gather (ギャザー) じゃなくて Gatherer (ギャザラー) か。勘違い勘違い。

2006-01-18 (Wed)

* プロしようコンポを手に入れた

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [おいでよ どうぶつの森]

おいでよ どうぶつの森をプレイするときに必ずやっていることの一つに、村役場に置いてある不要品回収箱のチェックがある。

不要品回収箱はいらなくなった物を捨てておく箱。普段は海で釣れてしまったタイヤやアキカン、長靴などを捨てるのに使ったりするのだが、他の住人が入れた物をもらうこともできる。たまに良い家具が入っていることもあるので、チェックは欠かせない。

さて今日も役場の郵便課窓口で住宅ローンの返済の振り込み。その足で不要品回収箱に向かう。回収箱を開けてみると、家具が二つ入ってる。内訳は「しろいソファ」と・・・「プロしようコンポ (プロ仕様コンポ) 」だ! マジで!? やったー! オーディオ系家具をコレクションしてる私には実にうれしい不要品だ。というか、こんな良い物を捨てるなんて、どこのブルジョアだよ。

2006-01-17 (Tue)

* キャッシングなど「人に言えない言葉」が検索連動広告では人気

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ] [Google]

検索キーワード広告サービスのオーバーチュア社では、検索連動広告枠の価格をオークションで決めている。そのオークションの高額入札キーワードの例が以下。金額は一クリックあたりの入札価格。

キャッシング 3517円
融資 2345円
バイク 買い取り 2014円
自動車保険 1701円
探偵 1500円
浮気調査 1500円
IT 転職 917円
中古車 買取 707円
プチ整形 622円

via: 日経ビジネス2005年10月31日号33ページ。

キャッシングがすごい。一クリックされただけで広告主は3517円も支払うってことか。広告主はそれでも利益が出るビジネスモデルを持ってるんだなあ。全体的に、扱う商品の単価が高いとキーワードも高額。そういう意味で、不動産とかが入ってるかと思ったけど、そうでもないのかな。

「人に言えない言葉」がネットでは人気というのは頷ける。お金のこととか、体のこととか、人間関係とか、悩みを打ち明けられる人がいない場合はネットがその役割を担う。同じ問題を抱えてる人がサイトを作ってるかもしれないし、何よりネットで検索するだけなら簡単だ。

上記のキーワードの価格はオーバーチュアの例だけど、他の検索連動型広告サービスも似たような金額なんだろうな。でもキーワードが高く売れても、私のように広告を表示する側のウェブサイトにはあまりお金が回ってこないのが残念。儲かってないのは私のところだけかもしれないけど。ただ、レンタルサーバー代はまかなえるようになった。そのおかげで sonic64.com を維持できている。

Google Adsense と Amazon、そして何より、私のサイトを見てくれている方に感謝します。

2006-01-16 (Mon)

* お年玉付き年賀状の当選番号 平成18年

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ]

当選番号が発表されたので自分宛に来た年賀状をチェック。
2005-01-16 に引き続き、今年も振るわず。2004-01-18 が一番良かったなあ。それでも切手シートだったけど。

「当選番号」じゃなくて「当せん番号」とひらがな表記なのはなぜ? 正式には「当籤」だから? そういえば、「宝くじ」も「宝籤」と表記される例を見かけない。表外字だからか。

平成18年「お年玉付郵便葉書」及び「寄附金付お年玉付年賀切手」の当せん番号
http://www.post.japanpost.jp/kitte_hagaki/info/2006/nenga/
1等 以下5点の中から1点 100万本に2本 8,218本
(1) わくわくハワイ旅行
(2) にこにこ国内旅行
(3) ノートパソコン
(4) DVDレコーダー+ホームシアターセット
(5) デジタルビデオカメラ+プリンタセット

当選番号: 706592
当選番号: 284148


2等 以下5点の中から1点 10万本に2本 82,164本
(1) デジタルカメラ
(2) ギフトセット
(3) デジタルオーディオプレーヤー
(4) 腕時計
(5) IH炊飯ジャー

当選番号: 82201 下5けた
当選番号: 74490 下5けた


3等 地域の特産品小包(1個) 1万本に2本 821,640本
当選番号: 6226 下4けた
当選番号: 5657 下4けた


4等 お年玉切手シート 100本に2本 82,164,000本
当選番号: 07 下2けた
当選番号: 51 下2けた

というわけで、今年は下一桁が 0 1 2 6 7 8 のどれかなら何か当たってるかも。

平成19年の当選番号は 2007-01-15 を参照。

2006-01-15 (Sun)

* マリオカートDS 攻略メモ 150cc キノコカップをクリア

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [マリオカートDS]

マリオカートDS のグランプリをプレイしている。WIFI を使ったインターネット対戦も楽しいけど、マリオカートはグランプリも面白い。以下、プレイした感想と攻略のためのメモ。

- 50cc 攻略メモ

全カップクリア。
楽勝でしょう。走れば優勝できる。それが50cc だ。

- 100cc 攻略メモ

全カップクリア。
カップによってはちょっとだけ手強い。スペシャルカップで優勝できなかったことがある。レインボーロードでコースアウトしたのが原因。誰だよあんな所にバナナ置いたのは。

- 150cc 攻略メモ

マリオカートDSマリオカートDS

任天堂
発売日: 2005/12/08
Nintendo DS

amazon で詳しく見る

キノコカップのみクリア。残るは、フラワーカップ、スターカップ、スペシャルカップ、こうらカップ、バナナカップ、このはカップ、サンダーカップ。先は長い。

初めて150cc をプレイしたときは全く歯が立たなかった。キノコカップの最初のコースのエイトクロスサーキットでさえ一位をとれないという有様。単なる八の字のコースなのに。とにかく敵車の平均速度が速い。カートの性能をフルに使ってくるという印象。私はヨッシーのエッグワンという加速性能重視カートを使っている。最高速はあまり出ない方なので、長い直線では最高速重視のカートを使ったコンピュータキャラに抜かれてしまう。

これじゃダメだと思い、ドリフトのやり方を変えた。カウンターステアを丁寧に入力するようにし、ミニターボ成立までの時間を短縮するように努めた。また、緩やかなカーブなどでも極力ドリフトとミニターボを狙うようにした。その分姿勢制御のためのジャンプの回数が増えてしまったが。その結果、楽勝でクリアできた。次はフラワーカップだ。がんばるぞ。

2006-01-14 (Sat)

* おいでよ どうぶつの森のホンマさんから保険金がおりた

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [おいでよ どうぶつの森]

先日、果物などを取るために木を揺すっていたところ、蜂の巣に遭遇。虫取り網を持っていれば応戦して華麗に蜂を捕らえることができたのだが、運悪く持っていなかった。そのため蜂の大群に襲われて、うちのあくあちゃんは顔を蜂に刺されてお岩さんみたいになってしまった。

- 保険金がおりた

その翌日、一通の手紙が届いた。

あくあどの

ハチに さされましたね・・・。
へいしゃの しょうがいほけんより
きゅうふきんが おりましたので
おうけとりください

おだいじに・・・ ホンマより

おおおおっ、保険の給付金って、ホントに!? 2005-12-29 の「おいでよ どうぶつの森のホンマさんにだまされた?」で書いたあのうさんくさいホンマさんの傷害保険は本物だったのか。手紙には現金が添えられていた。金額は100ベル! ・・・って、なんだそれ。保険の加入料は3000ベルもしたのに、給付金は100ベルだけ? やっぱりインチキなのか?

いや、待てよ。保険は生涯保障なので30回蜂に刺されれば 30 * 100 = 3000ベルで元が取れる・・・と思ったけど、若手芸人の罰ゲームでもそんなのやらないぞ。やっぱりインチキ保険ってことなんだろうなあ。

- メッセージボトルで損害保険のダイレクトメール

海岸を歩いていたらメッセージボトルが流れて着いていた。なになに。

プランのごていあん

あなただけに ごよういしました!
いまなら ニセモノそんがいの
とくやくつき! だまされたと
おもって はいってください!

      ほけんがいこういん ホンマ

これって、あの6000ベルもする損害保険の売り込みの手紙ってことだよね。「騙されたと思って」というのが非常に気になる。やっぱり本当に騙されるのでは? そもそも家具などがニセモノだった事ってないんだけど・・・。

あ、でも有名デザイナーが作った「服」や「服の模様」、有名画家が書いた「名画」はニセモノだったりすると困ることがあるか。でも、そんなものをたぬきちのタヌキ商店などで売ってたりするのかなあ? まったく、ソニック村は生き馬の目を抜くような村になってきたなあ。

2006-01-13 (Fri)

* xyzzy で「不正なwindow-configurationです」エラー

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [xyzzy]

テキストエディタ xyzzy でバッファを保存しようとしたり、ウィンドウを閉じようとすると「不正なwindow-configurationです」というメッセージが出るようになってしまった。このおかげで xyzzy を終了できない。

Google で不正なwindow-configurationですを検索してもとくに解決に結びつく情報は見つけられなかった。仕方がないので、タスクマネージャからプロセスを kill して xyzzy を再起動したら直った。

何だったんだろう? 再現条件がよくわからないので原因追及ができない。

2006-01-12 (Thu)

* ついにシーラカンスを釣った - タヌキ商店 買い取り価格リスト Ver.4

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [おいでよ どうぶつの森]

タヌキ商店のたぬきちがアイテムを買い取ってくれる価格のリスト。五十音順。
私が釣ったり拾ったりしたものだけ。2005-12-19 の「おいでよ どうぶつの森 タヌキ商店 買い取り価格リスト Ver.3」に追加したもの。

- くだもの

さくらんぼ 100ベル
ヤシ 500ベル

海岸を散歩してたらヤシが流れ着いていた。「椰子の実」の歌みたいだね。現在をそのヤシを栽培中。芽が出て立派な木になった。外来の果物は高く売れるのでもっとたくさん増やしたい。

- 魚

アジ 150ベル
イエローパーチ 240ベル
イカ 400ベル
イシダイ 5000ベル
ウグイ 200ベル
カレイ 300ベル
クリオネ 1000ベル
コイ 300ベル
シーラカンス 15000ベル
スズキ 160ベル
タイ 3000ベル
タコ 500ベル
タナゴ 900ベル
チョウチンアンコウ 2500ベル
デメキン 1300ベル
ドンコ 300ベル
ニゴイ 200ベル
ニジマス 800ベル
ヒラメ 800ベル
フナ 120ベル
ブラックバス 300ベル
マグロ 7000ベル
ミノカサゴ 400ベル
ワカサギ 300ベル

ついにシーラカンスを釣り上げた。釣ったのは1月9日の朝8時45分頃。雪が降っていた。ゲームキューブ版でもそうだったが、シーラカンスは雨か雪が降っているときだけ姿を現す。なので、ニンテンドーDS 版おいでよ どうぶつの森もそうじゃないかと思っていた。

当日の朝、海に行くと巨大な魚影が見えた。しかも雪という条件がそろっていたので、もしかしてと思って釣り糸を垂らしたところ、見事にヒット。ゲームキューブ版ではシーラカンスは餌に食いついてから逃げるまでが異常に短かったような気がしたが、今回はそうでもないように感じた。

タヌキ商店でのシーラカンスの買い取り価格は15000ベル。アジ100匹分だ。まさに一攫千金。おかげで家のローンを全部返し終わった。もっとも、また家を増築してしまったので新たなローンを契約することになるんだろうなー。

あと、弟がデメキンを釣り上げてくれた。川で釣ってきたらしい。金魚って川に住んでる物だっけ?

- 貝

アコヤガイ 1200ベル
エビスガイ 90ベル
サンゴ 250ベル
サンドダラー 60ベル
シャコガイ 450ベル
タカラガイ 30ベル
ホネガイ 150ベル
ホラガイ 350ベル

- ハニワ

ハニワ 828ベル

- その他

アキカン 0ベル
タイヤ 0ベル

2006-01-11 (Wed)

* cidaemon.exe が CPU を浪費するのを止める

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Windows]

とある Windows2003 Server マシンにファイルを大量にコピーしたあと、cidaemon.exe というプロセスの CPU 使用率が跳ね上がってマシンの応答速度が非常に遅くなった。タスクマネージャで見ていると CPU 使用率が100%に張り付いている。

まさかウイルスかスパイウェアにでも感染したのかと一瞬焦ったが、このマシンは一応 Trendmicro の ServerProtect をインストールしている。もちろんパターンファイルも自動更新されるように設定済み。

Google で cidaemon.exe を検索するとヒット。幸いなことにウイルスなどではなかった。cidaemon.exe はファイル検索を速くする IndexService (インデックスサービス) のインデクサとのこと。このサービスを止めれば良い。

(ローカル コンピュータ) Indexing Service のプロパティ

サービス名: cisvc
表示名(&N): Indexing Service
説明(&D): ローカル コンピュータとリモート コンピュータ上のファイルのコンテンツとプロパティにインデックスを付けます。クエリ言語を使用するので、ファイルへ急速にアクセスできます。
実行ファイルのパス(&H): C:\WINDOWS\system32\cisvc.exe

「急速にアクセスできます」って、大量のファイルに急速にアクセスしまくってるのは君だよ。

- Indexing Service を止める

Indexing Service を止めるには、「スタートメニュー」の「設定」の「コントロールパネル」の「管理ツール」の「サービス」で 「Indexing Service」を停止する。また、自動的に起動しないように「スタートアップの種類」を「無効」にしておく。

2006-01-10 (Tue)

* rsync と ssh でミラーリングアップロード

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ssh] [ネットワーク] [sonic64.com]

当サイト Landscape - エンジニアのメモのコンテンツのアップロードに、rsync を使うようにしてみた。

使ってみると、rsync は実に良くできた便利なツールであることがわかった。ちなみに今までは lftp を使っていた。詳しくは 2004-05-08 の「lftp を使った ftp ミラーリングと便利機能」を参照。さくらインターネットを使う前までは ftp しか許可されていなかったので仕方がないが、もっと早くから rsync に切り替えるべきだった。

- rsync でミラーリングアップロード

以下のコマンドで、ローカルで生成済みの Landscape のコンテンツをリモートのさくらインターネットのサーバに転送している。

rsync -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64

コマンドの意味。
-t はファイルのタイムスタンプを転送先に反映させる。
-r はディレクトリを再帰的に転送する。
-z は圧縮を有効にする。

--include=*.html* --exclude=* はとりあえずあらゆるファイルとディレクトリを転送の対象外にして、その後 .html の拡張子を持つファイルのみ明示的に転送を許可している。要するに html だけ転送しているわけだ。$HOME/public_html/log.sonic64/*.html を転送対象に指定してもいいのだが、ファイル数が多すぎるために引数が長すぎるというエラーになってしまう。それを回避するため、$HOME/public_html/log.sonic64/ を転送対象として指定してから --include=*.html* --exclude=* で対象を *.html に絞っている。もっと上手いやり方もあると思うが、とりあえずこれで。

-e は ssh を使って接続を構成する。暗号化や公開鍵暗号による認証を利用できる。

ちなみに、ローカルに存在しないファイルをリモートから削除したい場合は、--delete オプションを指定する。私の場合はリモートにのみ存在するファイルやディレクトリがあるし、Landscape のコンテンツは増える一方で減ることはまずないので指定していない。

- rsync のデータ圧縮

rsync ではデータの圧縮をサポートしている。圧縮を使う場合は -z を指定する。テキストファイルを一気にミラーリングする場合などは、転送量を三分の一程度に減らすことができる。

$ rsync -W -v -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64

sent 13460480 bytes  received 17636 bytes  45457.39 bytes/sec
total size is 43120469  speedup is 3.20

13460480 バイトしか送信していないのに、合計サイズが43120469 バイトになっている。これは圧縮の恩恵だ。

私の使っている回線のアップロード速度は、理論値で 512Kbps。実際の速度はだいたい秒間50KB くらいになる。 Landscape のコンテンツは合計で50MB 弱。圧縮せずに転送すると単純計算で1000秒、すなわち17分弱かかることになる。圧縮を有効にするだけで、17分が6分程度に短縮される。これは非常に便利だ。

ちなみに、-W オプションは 後述する「rsync アルゴリズム」を無効にするためのオプション。今回は圧縮による速度向上度合だけを計測したいので -W を指定したが、私の平常時の運用では指定していない。-v は詳細な転送情報を表示するためのオプション。

- rsync アルゴリズムと転送量の削減

rsync は独自の rsync アルゴリズムを使ってデータ転送量を削減している。しかもこれは圧縮と組み合わせることができる。

rsync アルゴリズムの良いところは、ファイルを一定サイズごとのブロックに分割して必要なブロックだけを転送している点にある。大きなファイルの一部分だけが変更されたとしても、変更を含むブロックだけを転送すればよいことになり、転送量を減らすことができる。

P2P ファイル共有ソフトの Winny でも類似の機能を実装している。2005-11-29 の「Winny の技術を読了」には詳しく書かなかったが、Winny はダウンロードに失敗しても、最初からダウンロードをやり直す必要はない。Winny は共有ファイルを64KB ごとのブロックに区切り、そのブロック単位でデータをやりとりするからだ。これと同じようなもの。

以下は記事を追加してミラーリングを行った場合。

$ rsync -v -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64

sent 1771974 bytes  received 389842 bytes  40407.78 bytes/sec
total size is 43182507  speedup is 19.98

今の Landscape の HTML は、新規記事が追加されるとサイドバーに新規記事へのリンクなどが追加されるため、全ファイルが更新される。ftp だったら全ファイルを再アップロードする必要があるところだが、rsync は全ファイルの全データ分を転送するという挙動を見せていない。送っているのは 1771974 バイトだけ。ブロックの差分だけ転送している結果だ。このおかげで、通常の 19.98 倍という速度を達成している。素晴らしい。

ローカル生成 + サーバへ一括転送という仕組みのツールなら rsync は非常に有用だ。記事数2000くらいまでなら、今の仕組みのままでも大丈夫そうだ。rsync にはもっといろんな機能があるだろうから、しばらくは man rsync をじっくり読んでみることにする。

2006-01-08 (Sun)

* ニンテンドーDS の起動音は誕生日だと変化する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム]

最近はちょっと時間を作れなくなってしまったが、先月末は毎日のようにニンテンドーDS でマリオカート DS やおいでよ どうぶつの森を楽しんでいた。毎日、というか寸暇を惜しんで DS を起動していたので、ニンテンドーDS の起動音は誕生日だと変化することに気づいた。ちなみに、誕生日はニンテンドーDS の初回起動時に設定したもの。

通常時の DS の起動音は、ぽぽぉんぽぽぉんぉんぉんぉん (残響音含む) という音。
これが誕生日だと、ぴぃぃんいぃんいぃんぃん (残響音含む) という音色に変わる。通常よりも音程は高い。

誕生日の起動音は何かを発見したときの音のような感じで、ちょっと注意を引いて落ち着かない感じ。通常の ぽぽぉんぽぽぉんぉんぉんぉん という音の方が余裕がある感じがしてて好き。

2006-01-07 (Sat)

* ヒルバレーの歴史

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ]

1885年09月05日
ヒルバレー祭。時計台の時計が稼働開始。ドクとクララがダンス。

1955年11月06日
宇宙の歴史上もっとも重要な発明がなされた日。ドク (エメット・ブラウン博士) がフラックス・キャパシターを発明。

1955年11月12日
魅惑の深海パーティー (海のおさかなダンス) 開催。ジョージ・マクフライとロレイン・ベインズがキス。
ヒルバレーの時計台に落雷。1.21ジゴワットの電力がデロリアンに送られる。マーティー・マクフライが未来へと帰る。

未来は白紙にしておきたいので、2006年以前のことだけメモ。ビフの孫のグリフにそそのかされたマーティー・マクフライ Jr. の逮捕とか、その後のマーティーの娘の逮捕とかは少なくともあと9年経ったらメモすることにしよう。 あ、1985年の事を書くの忘れた。

2006-01-06 (Fri)

* VS.NET の「回復できないビルド エラーです」への対処法

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [.net]

Visual Studio .NET 2003でプロジェクトをビルドしていると「回復できないビルド エラーです」 というエラーが表示されることがある。これが一度表示されてしまうと、何度リビルドしてもダメ。OS をリブートしてもダメ。

[PRB] セットアップ/デプロイメント プロジェクトをビルドすると "修復できないビルド エラーです。" というエラー メッセージが表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;329214
複数のウィンドウが開いている

この問題を解決するには、いくつかのウィンドウを閉じ、セットアップ プロジェクトのビルドを再度実行します。

なんでそれだけでダメになるかよくわからないけど、ソースを表示しているウインドウを閉じていったら直った。OS をリブートしても同じ数のウインドウを開き直してしまうとダメな模様。

VS.NET はたまにこうやって駄々をこねることがあるようだ。ただ、VS.NET 2002 より VS.NET 2003 の方がそういった意味不明の状態になることは少ないような感じがする。子供も一歳違うだけでかなり行動が変わるが、VS.NET も同じように成長してるんだろうな。

2006-01-05 (Thu)

* IE で ローカル HTML ファイルを使用するとセッション Cookie が失われる

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [IE] [.net]

IE で ローカル HTML ファイルを使用するとセッション Cookie が失われるという問題。問題になるのはブラウザを閉じると消える「セッション Cookie」だけで、有効期限の設定された Cookie なら問題は発生しない。

[IE55][IE6] ローカル HTML ファイルを使用するとセッション Cookie が失われる
http://support.microsoft.com/default.aspx?scid=kb;ja;315713
以下の条件をすべて満たす場合、Internet Explorer で保持するべきはずのセッション cookie が失われます。

・ Internet Explorer 5.5 以降を使用している
・ セッション cookie を使用している(cookie に有効期限が設定されていない)
・ ローカルファイルを使用している (ホームページを c:\homepage.html や \\server\share\homepage.html にしている、file:// で始まる URL を使用している、など)
・ 新しいウィンドウを開く(ウィンドウの数を増やす)ような操作を行っている (window.open や window.showModalDialog で子ウィンドウを開く、リンクを [新しいウィンドウで開く] など)
・ ウィンドウを閉じる(ウィンドウの数を減らす)操作を行った後、残りウィンドウの数が 1 つ(または 0)になった

この IE のバグを回避するため、いろんなプロジェクトでそれぞれ対策を取っていた。UI をデザインする段階で window.open などを使わないようにしたり、Cookie に必ず有効期限をセットするようにして回避したり。ASP.NET で、かつ要件が許すときは、web.config で IsCookieless を True にし、ASP.NET の Session ID をクエリストリングに入れて Cookie を使わないようにして回避したこともあった。

IE6 SP1 で修正済みとのこと。パッチが出てたとは。気づかなかった。

Internet Explorer 6 Service Pack で修正される問題の一覧
http://support.microsoft.com/default.aspx?scid=kb;ja;JP32648 ...
315713 (http://support.microsoft.com/kb/315713) [IE55][IE6] ローカル HTML ファイルを使用するとセッション Cookie が失われる

2006-01-04 (Wed)

* ipchains で OutGoing のパケットを DENY する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux] [ネットワーク]

ipchains で OutGoing (外向き) のパケットを DENY する。

ipchains -A output -d 10.87.64.215 -j DENY

諸般の事情で iptables じゃなくて ipchains を使った。

- DENY/DROP と REJECT の違い

DENY と DROP は同義で、パケットを単に捨てるだけ。発信元へはなにも返さない。
REJECT はパケットを捨てた上で、拒否したことを ICMP を使って発信元に通告する。

2006-01-03 (Tue)

* イナリかぐ のあいことば

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [おいでよ どうぶつの森]

会員制の高級家具販売店である「イナリかぐ」。

店主の「つねきち」の出すあいことばを知らないと店に入ることさえかなわない。

ウチは かいいんせいの
こうきゅうかぐてん、
「イナリかぐ」でっせ

かいいんのかたなら あいことばを
いってもらわんと こまりますわ
・・・あいことばを!

あいことばは村にいるどうぶつのだれかが教えてくれる。会話だったり、手紙だったりと方法は様々。あいことばは毎回変わるので、前回の合いことばを言っても無駄。あいことばを間違えると、以下のように全く相手にされない。

・・・はぁ?
それは いったい
なんの ねごとなんでしょうね?

ちょっと いみが
わかりませんけど、
とりあえず おーきに!

今日のあいことば。
「ぬすびとにも」「サイフあり」

他にも何種類かあったが忘れちゃった。ちなみに、店に入れても私はまだ会員になっていないので買い物ができない。せっかく「めいが (名画)」を買おうと思ったのに・・・。

2006-01-01 (Sun)

* 正月におろしたてのパンツを穿く

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ] [漫画]

あけましておめでとうございます。

ジョジョ第四部の仗助のセリフにならって、正月元旦の朝におろしたてのパンツを穿いてみた。スカっとさわやかな気分だ。
ところで、仗助がこのセリフを言ったのっていつ? ハイウェイ・スターの噴上裕也のとき?

すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。