...

.... Powered by Blogger.

木曜日, 5月 15, 2008

HDDからブーブーと言う異音が


 既に利用開始から5年目を迎えた私のノートPC。最近になって時々ハードディスクから「ブーブー」と言うブザーのような異常音が出るようになってきた。これは典型的な、バズルーチンが動作している時の音。バズルーチンとは、ヘッドがプラッタに接触しそうになった時に、ヘッドを垂直方向に跳ね上げる動作をさせる機能のこと。これが連続して発生するとブザーのような音がすることからこのような名前が付いているという。

 連続的にヘッドを跳ね上げる動作が発生するということは、外部からの一時的な衝撃などではなく内部的に原因があると言うこと。よくある原因としては、HDDの温度が上昇することで内部の空気密度が低下し、ヘッドを持ち上げている気流を十分に作り出すことができないというのがあるらしい。

 そもそも一般的な使い方しかしていないし、排熱ファンも壊れたりしていないので、熱だけが問題ではないのかもしれないけど。

 音の原因は分かっても、対処が難しい。

水曜日, 4月 16, 2008

ナイチンゲールの沈黙


 第4回『このミステリーが凄い!』対象を受賞し、映画/ドラマ化されたベストセラー『チーム・バチスタの栄光』の作者が書いた2作目の小説。タイトルからも分かるとおり、前作のチーム・バチスタ同様、病院を舞台としたミステリー小説となっている。

 前作と同じく、登場人物のキャラクタが立っており、それぞれの個性は面白い。しかし、ストーリー展開は前作のような驚きのあるものではないように感じる。読み進めて行く中で想像できた通りの結末になるあたりが、ミステリーを読んでいるつもりの私には不満が残る結果となった。

 ストーリーの鍵を握っている非現実的な部分などを踏まえると、作者はこの作品をミステリーとしてではなくSFとして書き下ろしたものなのかもしれない。しかし、SF小説として見るには舞台設定が前作と同様であるため、想像力を掻きたてられず面白みに掛けてしまう。

 結果としては不満の残る内容ではあるが、キャラクタ設定は非常に面白く次回以降の作品も読んでみたい。

金曜日, 2月 08, 2008

IPアドレスに正確にマッチする正規表現


 IPアドレスを検索するときに良く正規表現を利用しますが、正しくマッチさせる表現が欲しくて作りました。
((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{0,1}[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{0,1}[0-9])
と言っても、これも誤った範囲にマッチする可能性があります。例えば”256.0.0.256”と言う文字列があった場合。このパターンでは”56.0.0.25”の範囲にマッチしてしまいます。

 しかしこれは余り大きな問題ではありません。通常、抽出したいIPアドレスの前後には、空白, カンマ, コロン, セミコロンなどの区切り文字があります。実際のログなどからIPアドレスを収集したりする場合には、区切り文字部分も含めてマッチする条件に変更すれば、変なマッチを避けることができます。

 さて、この正規表現ですが長いだけで難しくはありませんが、正規表現が苦手な人の為に簡単に解説します。

 IPアドレスの1オクテットの範囲は、0~255です。これをマッチさせる条件が、”25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{0,1}[0-9]”です。長いですが大したものではありませんので、1つずつに分解すると以下の4種類に集約されます。
 250 - 255 : 25[0-5]
 200 - 249 : 2[0-4][0-9]
 100 - 199 : 1[0-9]{2}
  0 - 99 : [1-9]{0,1}[0-9]

 これをORで結合して数値部分の条件は完成です。後は、ピリオドなどの条件を加えて上記表現が完成です。

金曜日, 12月 07, 2007

考える技術・書く技術


 コンサルティングファームにおいて論理思考/論理的文章作成のテキストとして利用されている実績があり、ビジネス書としても良く推薦されているいうことで、以前から興味を持っていた本です。ロジカルシンキング/クリティカルシンキングに興味がある人だけでなく、自分の意思を相手に上手く伝えられない悩みを持つ人も読んでみる価値があると思います。



 メールなどを用いてコミュニケーションすることが多い昨今、自分の伝えたいことを相手に上手く伝えられない、そんな悩みを持つ人も多いと思います。そういう私も、相手に正しい情報を伝えたいあまり、ずらずらと長い文章を書いてしまい、結果として何も伝わらなかった経験があります。
 この本には、ロジックツリーを用いた問題点を明確にして行くところから、文章として演繹的/帰納的のどちらで書くのが適切であるかなど、普段の悩みを解決する良いヒントが書かれていました。

 日本語訳については賛否両論があるようですが、内容はお勧めです。

木曜日, 10月 04, 2007

base64のエンコード/デコード


ファイルをbase64でエンコード/デコードします。何に使うかというと、最近セキュリティ強化などを目的に、添付ファイルをやたら厳しく制限されている環境がありますけど…。

--コードの公開はやめました。ニーズがあれば載せます。--

木曜日, 9月 06, 2007

波乱の時代


 18年間にも渡ってFRB議長を務めた、グリーンスパン氏の回顧録だけど凄く面白い。 超お勧めで、この本を買ってから既に3回も読み返した。

 経済に疎い私は、このような本を読んでも大抵はチンプンカンプンなんだけど、小難しい話も意外と親切に説明されているし、何よりも人間グリーンスパンについて書かれている部分が多くってそれを楽しめる。

 テレビで見ていたグリーンスパン氏は、「もの静かで頭は切れるけど、明言はしない」どちらかと言うと、哲学者のような印象だったけど、実は「自分の発言が、 メディアを通じて世界に発信された結果、投資家がどのように捉え、結果として世界経済にどのような影響を与えるか考えた上で」のことだったと言う。 もちろん「立場をわきまえた発言」っていうのは、言ってみれば当たり前だけれども、「自分の発言がどのように受け取られ、それがどのように影響するか」ま でを、きちんと考えて発言できる人は、決して多くないと思う。 この本によれば、グリーンスパン氏は心理面にも興味を持ち、そのような事を意識して発言していたとのこと。 凄い!! これは簡単には見習えないが目標としたい。
 もう一つ印象に残ったのは、FRB議長という世界経済を牽引する立場にいた人でありながら、

「リーダーシップを発揮することに居心地の悪さを感じる」

と 言う部分。 ここは私は、とても共感できる部分だった。 強い個性とカリスマ性を持ってグイグイ周りを引っ張って行く、そんな風に強いリーダーシップを発揮できる人がFRB議長だと考えていたが、実は私達と同じ 感覚の持ち主だったということに、親近感を覚えた。 一部の超カリスマを持った人を除き、強いリーダーシップで率いることのできる規模は限られている。 やはり大きな組織に成るほど、リーダーに求められる資質はファシリテーターとしての能力なのかな。 (分からないけどね)



 FRB議長を辞めた今になっても、グリーンスパン氏の発言は注目されている。 当然、前FRB議長としての発言がどのように経済に影響をするか、慎重に言葉を選んでいるはずだが、この本を一回読んで発言を聞くと、発言の真意が見えてくるようで非常に楽しい。
 いずれにしても、ドキュメンタリーとしても面白いので、ぜひぜひ読んでもらいたい。

金曜日, 4月 13, 2007

VBScriptでGUIDを使う


 GUID(グーイッド)は、擬似乱数の一種で同値が発生する確率が非常に低いものです。どのようなものかは「GUID - Wikipedia」に説明がありますので軽く目を通しましょう。 GUIDは、MicrosoftがWindows環境で使うものとして名付けたもので、実体は「RFC4122」で定められたUUIDと同じものです。

 普通のシステムでは、多くの場合RDBMSを利用しますので、このようなニーズは余り無いかもしれませんが、VBScript, VBAなどでちょっとしたものを作る時に、一意な識別子として便利に使えそうです。

 GUIDを取得するのは簡単で、下のようなコードを書くだけ。 あとは、具体的に使うシチュエーションがあれば直ぐに使えそうです。

dim g
set typeLib = createobject("Scriptlet.TypeLib")
g = typeLib.Guid

金曜日, 1月 05, 2007

IMEのショートカット


 日本語Windowsで日本語の入力に使われるIME。IMEには、ATOK, Japanist, VJE-Deltaなど選択肢はいくつかあるが、多くの人はMicrosoft(R) IMEを使っているはずである。もちろん私もMS-IMEを利用している。

 そのMS-IMEを使っていて困るのが、変換中にひらがな/カタカナ/ローマ字(半角, 全角)を直すのにファンクションキーを使うと、ホームポジションから手が離れてしまい入力の効率が落ちてしまうこと。何か別のやり方があると思っていたら、やはりファンクションキーを使わない方法があった。
 ファンクションキーを使わないショートカットは、CTRLキーとの組み合わせで実現できる。
変換ショートカットキー
「ひらがな」にするF6, CTRL+U
「全角カタカナ」にするF7, CTRL+I
「半角カタカナ」にするF8, CTRL+O
「全角ローマ字」にするF9, CTRL+P
「半角ローマ字」にするF10, CTRL+T

 ただし、この操作には一つ注意があります。それは、現在の変換候補が「(全角, 半角)ローマ字」の場合には、「半角カタカナ」には変換されないと言うこと。ファンクションキーでの操作でも同じ動きであるため、どうやらこれは仕様ということらしい。

 とりあえずこれで、キー入力をする時にホームポジションから手を動かす回数が減るので、若干入力効率が良くなると言うことで。