2011年9月26日

WindowsXPを高速化するRAMディスクの活用

自宅ではまだThinkPad X23がメインPCとして現役で頑張っています。ThinkPad X23はもう10年近く前に当時のIBMから発売されたノートPCで、CPUはPentiumⅢ(866MHz)でメモリは640MBあり、OSはXPを使用しています。ちょっとしたソフトを動作させたり、WEBブラウジングをするには問題ないはずの性能を持っているはずなのですが、最近ディスクの読み書きが発生すると極端にレスポンスが低下するようになりました。恐らくディスクの寿命が迫っているようです。
ディスクがお亡くなりになれば流石にノートPCを購入することになりますが、RAMディスクを使用して、少しでも長くこのX23を快適に使おうと悪あがきをしてみます。今回RAMディスクを作成するソフトとして「 VSuite Ramdisk (Free Edition) 」を使いました。

以下RAMディスクの構築やパフォーマンスチューニングの方法を記載しますが、環境によっては問題を引き起こす可能性があるため、実施については自己判断でお願いします。

RAMディスクの作成

インストールは「 VSuite.Ramdisk.Setup.zip 」をダウンロードして、ZIPを解凍後にセットアップファイルを実行するだけと簡単なので説明は省略します。次にVSuite Ramdiskの設定ですが、基本は「Disk Size:」と「Drive Letter:」を決定するだけです。まず、「Disk Size:」の値ですが、X23は物理メモリが640MBしか無いため、XPが動作するために必要なメモリ512Mを確保して、RAMディスクへは128MBを割り当てることにしました。「Drive Letter:」は自動で割り当てることも出来ますが、Lドライブ指定で割り当てています。
後、おまけでTEMPフォルダを作成にチェックを入れています。設定内容が確定したら「Add」ボタンを押してください。RAMディスクの構築が開始されます。構築が終わったらLドライブが作成されていることを確認してください。

以下は、X23で設定した VSuite Ramdisk の内容です。

Vsuite.jpg

RAMディスクの読み書きの速度

ディスクのベンチマークの定番「 CrystalDiskMark 」でローカルディスクとRAMディスクの読み書きの速度を調べてみました。

  • ローカルディスクのベンチマーク

LOCAL.jpg

  • RAMディスクのベンチマーク

RAM.jpg

おわかり頂けたでしょうか、ローカルディスクの読み書きの遅さを。。。orz

Google Chrome のパフォーマンスチューニング

ブラウザは Google Chrome をメインで使用しているので、キャッシュしたファイルをRAMディスク上に保存するようにします。キャッシュフォルダをJunctionを使用してハードリンクすることも可能ですが、今回は Google Chrome の起動オプションを使用してキャッシュフォルダを指定する方法にしました。こっちの方がお手軽に設定できます。

手順は、Google Chrome のショートカットのプロパティを開いて、「ショートカット」タブのリンク先を以下のように修正するだけです。

修正前)"C:\Documents and Settings\haijin\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"

修正後)"C:\Documents and Settings\haijin\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --disk-cache-dir="L:"

修正が完了したら、Google Chrome を起動して「L:\Cache」にキャッシュファイルが作成されていること確認してください。

環境変数によるパフォーマンスチューニング

Windowsのシステムやユーザで使用するTEMPファイルをRAMディスクに保存するように変更します。

  1. マイコンピュータを右クリックからプロパティを選択
  2. 「 詳細設定 」タブより「 環境変数 」を選択
  3. 環境変数を以下のように変更してください。
     
対象 環境変数 パス
ユーザ環境変数 TEMP L:\TEMP
TMP L:\TEMP
システム環境変数 TEMP L:\TEMP
TMP L:\TEMP

設定は以上となります。今回はメモリとRAMディスクの容量が限られているため、この他にもRAMディスク上に保存したいデータもありますが、状況を見ながら調整していきます。

2011年9月20日

アクアリウムのある生活始めました

これまで金魚程度しかかったことしかなかった管理人ですが、先週末にアクアリウムを始めました。以前から興味があったのですが、シルバーウィークで生活に余裕もあったこともありアクアリウムに手を染めてしまいました。ネットで身に着けたばかりの生半可な知識ですが、まずコンセプトを決めます。

  • 手間がかからない(調和的)
  • お金のかからない(経済的)
  • 癒される

アクアリウムは繊細な管理が必要ですが、どれだけ手を抜きながら低予算で癒されるかを追い求めたいと思います。

とりあえず水槽を買わないことには始まらないので、ショップで水槽セット(水槽とろ過装置)を購入。60cmサイズの水槽のほうが水質が安定するようですが、飼う熱帯魚の数を減らして水草とのバランスを取れば一回り小さい45cmサイズでも行けるはずということで、グラステリアスリム450にしました。あとは底砂としてソイル、パイロットプランツとしてパコバ・モンニエリを購入しています。
それと、水槽の立ち上げにはバクテリアの繁殖が必要になることは調べていましたので、ショップ店員に立ち上がった水を分けてもらいました。これで水槽の立ち上げが容易になるはずです。

1回目の初期投資は以下の通りです。ライト、ヒータや温度計等も必要になりますが順次追加していきます。

製品 価格
グラステリアスリム450 6点セット 3400円
GEX グラステリア スリム 450 水槽45(w)×20(D)×22(H)cm
セットに含む
GEX スリムフィルターM(外掛式フィルター) セットに含む
GEX 水草一番サンド 980円×2
バコパ・モンニエリ 500円

今は水槽をセットしてフィルタでろ過を回して、水質を安定させています。今週末にはスタートフィッシュを投入予定です。

グラステリアスリム450 6点セット
グラステリアスリム450 6点セット

2011年9月17日

bsfilterを使用したスパム対策

自宅のスパムメール対策として、エンベローブの送信者ドメインや、本文の禁止文字を指定して拒否をしていますが、スパム業者はドメインを頻繁に更新してくるためいたちごっこになります。そこで、bsfilterと言うベイジアンスパムフィルタを導入しました。

bsfilterとは

bsfilterはスパムに多く含まれる単語の統計をとり、 受信したメールがスパムかどうかを判定するアプリケーションです。一般では、外部のプロバイダメールをfetchmailで受信する際にbsfilterを使用する人が多いですが、家は自前でSMTPサーバを運用していますので、postfixと連携させて動作させています。
導入時のインストールのメモを誤って消してしまったので、設定が漏れているかもしれませんが、以下に覚えている限り記載します。

bsfilterの導入

まず、bsfilterのインストールですが、例のごとくFreeBSDのportsでインストールしました。bsfilterのインストーラは「/usr/ports/mail/bsfilter/」にあります。

  • bsfilterユーザの作成

bsfilterを実行するために、bsfilterユーザを作成します。

# cat /etc/passwd | grep bsfilter
 
bsfilter:*:XXXXX:XXX:User &:/var/lib/bsfilter:/usr/sbin/nologin
 

  • master.cfの修正

受信したメールをbsfilterのwrapperに渡す設定です。青色の箇所をコメントアウトして、赤色の箇所を追加しました。

# cat /usr/local/etc/postfix/master.cf
 
#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ===============================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ===============================================
#smtp    inet  n     -     n     -     -     smtpd
smtp      inet  n     -     n     -     -     smtpd -o content_filter=bsfilter:dummy
bsfilter   unix  -     n    n     -     -     pipe flags=Rq user=bsfilter argv=/usr/local/bin/bswrapper.sh -f ${sender} -- ${recipient}
 

  • bsfilter.confの作成

bsfilterの設定ファイルです。スコア0.4以上でスパム判定するように設定します。

# cat /usr/local/etc/bsfilter.conf
 
homedir /var/lib/bsfilter
spam-cutoff 0.4
pipe
insert-flag
insert-probability

ここまで設定が完了したら、設定を反映させるためpostfixの再起動をしてください。
 

スパムデータベースの作成

bsfilterの導入時点では、bsfilterはスパムに対して何も学習していないため、白黒を判断できません。そのため、スパムメールとスパムでないメールをbsfilterに学習させてやる必要があります。
学習時ですが、コマンドはbsfilterユーザで実行してください。もしrootユーザで実行した場合、権限によりスパムデータベースの更新が出来なくなります。後、スパムメールの学習をした際はアップデートを忘れないでください。

■スパムメールの登録方法
# sudo -u bsfilter /usr/local/bin/bsfilter --config-file /usr/local/etc/bsfilter.conf -s spam032
 
■スパムでないメールの登録方法
# sudo -u bsfilter /usr/local/bin/bsfilter --config-file /usr/local/etc/bsfilter.conf -c white032
 
■スパムデータベースのアップデート
# sudo -u bsfilter /usr/local/bin/bsfilter --config-file /usr/local/etc/bsfilter.conf -u
 
■スパムの確認
# sudo -u bsfilter /usr/local/bin/bsfilter --config-file /usr/local/etc/bsfilter.conf spam032

 

SPAMと判別されたメール

実際の受信メールのヘッダ部分です。bsfilterを通すことで「X-Spam-Flag」と「 X-Spam-Probability」が追加されます。bsfilterに学習させているメールの数が少ないと、完全なスパムでも0.5前後のポイントにしかなりません。学習はそれなりに数が多いほうが良いです。

To: <xxxxx@or2.to>
X-Priority: 1
Subject: ◇◆◇◆◇◆◇◆ 夜のお供に  ◆◇◆◇◆◇◆◇   
From: "■満足度100%■" <zune-zune@hotmail.com> 
Message-Id: <3VTb2Bo.3IJab09o@uZSWd4MyExg45cM1i>
Reply-To: <zune-zune@hotmail.com>
Date: Sat, 17 Sep 2011 07:34:56 +0900
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-MSMail-Priority: High
Mime-Version: 1.0
Content-Type: text/plain; charset=Shift-JIS
X-Spam-Flag: Yes
X-Spam-Probability: 0.498481

 

SPAM判定したメールの拒否設定

メールヘッダから拒否する文字列を検索して拒否する設定です。「X-Spam-Flag: Yes」がヘッダに存在した場合メールを拒否します。bsfilterを導入することによりpostfixは外部からのメールを2回受信するような動きをします。1回目のメールは外部から受信で、2回目はbsfilterから受信です。ここでは2回目の受信時に判断しています。

# cat  /usr/local/etc/postfix/main.cf
(途中省略)
header_checks = regexp:/usr/local/etc/postfix/header_checks
 
# cat /usr/local/etc/postfix/header_checks
/^X-Spam-Flag: Yes/     REJECT

 

2011年9月12日

開発段階のiOS5でSIMに制限か?

今年の6月に、アップル(Apple)は「iOS 5」を今秋にリリースを予定している発表を行いましたが、開発段階における iOS5 beta7 で、海外のフリーSIMカード、ドコモSIMカードが利用が出来なくなったと報告がありました。
ようするに、オペレーションシステム側でSIMに制限を行うことにより、SIMロックの有り無しに関係なく、アップルが認定したキャリアしか利用を認めないということになります。(日本通信のb-mobileで使用されるSIMカードについては、プロビジョニングファイルをインストールすれば利用できるとのことです。)

現時点では意図的に制限を設けたか定かではありませんが、今後の開発バージョンやGM(最終バージョン)で修正が行わなければ、この状態のままiOS5が正式にリリースされることになります。ちなみに iOS5 beta7 ではAPN(AccessPointName)設定も変更ができなくなっているようです。

なので、ドコモをキャリアを使用する前提でSIMロックフリー版iPhone5の検討されている人は、急いで購入しないほうが良さそうです。また、iOS5は「iPhone 3GS 」、「iPhone 4」、「iPad 」、「 iPad 2」、「iPod touch 第三世代 / 第四世代」が対象になっているので、これらをSIMロックフリー版で購入している人はiOS5がリリースされても直ぐにアップデートしないでください。

こんな話しを聞くと、ドコモからiPhoneが販売されることは、しばらく無いのかなと感じます。また、アップルから提訴をうけているサムスン(Sumsung)はドコモとは仲が良さそうですし、スマートフォン市場の構図が、今後どう動くのか楽しみです。

参考ページ:iOS5 beta7で日本通信SIMが終了のお知らせか!?
 

2011年9月 9日

NTTドコモXi対応タブレット2機種を発表

以前よりNTTドコモのサイトにてカウントダウンが行われていましたが、9月8日(木)にNTTドコモより2011年の冬モデルに向けた新商品の発表等がありました。発表は以下のような内容でした。

  • Xi対応タブレット2機種が発売決定
  • Xiのサービス内容の変更
  • 冬春モデルにXi対応スマートフォン4機種を予定
     

Xi対応タブレット2機種が発売決定

LTE(Long Term Evolution)サービス「 Xi(クロッシィ) 」に対応したタブレット2機種「ARROWS Tab LTE F-01D」、「GALAXY Tab 10.1 LTE SC-01D」の発表がありました。どうやら機種名称にLTEがついていればXi(クロッシィ)に対応するようです。
今回、通信はXiに対応とありましたが、従来のFOMAの通信も行えるようです。ちなみに、Xiの通信速度は下り最大37.5Mbps、上り最大12.5Mbpsで、FOMAは下り最大14Mbps、上り最大5.7Mbpsです。
個人的には今回発表されたタブレット2機種についてはXi以外は目新しい機能は無かったと思います。詳細が気になる方は、NTTドコモのサイトをご覧下さい。

あと、SumsungがAppleより提訴されている件については、山田社長がSamsung側から「販売に支障は無い」と聞いていると発言しています。ただ、Samsungは「問題はないか?」と聞かれたら、問題があったとしても「問題ない!」と答えるでしょうから、山田社長はもう少し具体的な根拠を踏まえて問題が無かったことを発言するべきに思いました。この提訴の件は、引き続き今後の動向に要注意です。

Xiのサービス内容の変更

今回発表があったXiの新プランですが、2段階料金プランの「Xiデータプラン2」と、フラット形プランの「Xiデータプラン フラット」の2種類があり、それぞれのプランで2年間同一回線を使用すれば、月額利用料金が安くなる「Xiデータプラン フラット にねん」、「Xiデータプラン2 にねん」の4種類になります。

注意が必要な点としては、通信料が7Gを超過した場合、追加料金なしの128kbpsの速度制限か、2GBあたり2625円を追加料金を支払うかのどちらかになります。NTTドコモのサイトを良く見てみるとXiの料金プランに定額という言葉が消えています。後で苦情が来ないようにという根回しですかね。

新しいXiの料金プランの一覧は以下をご覧ください。

料金プラン
 
月額利用料 追加料金
(7GB超)
無料
通話分

 
国内
パケット
通信料

 
2011/10/上旬
~2012/4/30
(Xiスタートキャンペーン)
2012/5/1
~2012/9/30
2012/10/1~
Xiデータプラン
フラットにねん
4410円
5985円
 

①追加料金
不要で送受
信時最大
128kbps通信

または

②2GBごとに
2625円で速度
制限なし

 

Xiデータプラン
フラット
5880円
7455円
 
Xiデータプラン2
にねん
2500~4935円
2500~6510円
 
2500円
(9524KB)
0.2626
円/KB

 
Xiデータプラン2  3970~6405円
3970~7980円
 

速度は魅力的ですが、キャンペーン割引適応しなかった場合の料金が高いのでXiはしばらく様子見です。

冬春モデルにXi対応スマートフォン4機種を予定

今回は詳細な説明はありませんが、2011年冬春モデルとして、Xi対応のスマートフォン4機種をリリースするそうです。発表の内容から見て今回もiphoneの発売はなさそうです。

 

2011年9月 5日

Services_Amazonでアマゾンのランキングを表示(動作確認編)

Services_Amazonでアマゾンのランキングを表示(導入編)」では、Services_Amazonツールのインストールについて記載しましたが、実際にAmazon Product Advertising API を利用するためには、Services_Amazonツールに値を渡して、結果をWEBページ上に出力する必要があります。

今回、Services_Amazonツールの動作確認をするために使ったサンプルは以下の通りです。以下のプログラムをテキスト(例:test.php)に貼り付けて、そのテキストをサーバにアップしてブラウザでアクセスしてください。「アクセスキー」と「シークレットアクセスキー」、「アソシエイトID」はAmazonから取得したIDを入力してください。

<?php
 
require_once('Services/Amazon.php');
 
define('ACCESSKEY_ID', 'XXXXXXXXXXXXXXXXXXX');
define('SECRET_ACCESSKEY', 'XXXXXXXXXXXXXXXXXXXXXXXXX');
define('ASSOCIATE_ID', 'XXXXXXX-22');
define('ECS_VERSION','2009-03-31');
define('RESPONSE_GROUP','Small,Images,ItemAttributes,OfferSummary,Reviews');
 
$browse_node='562002';
$search_index='DVD';
$sort = 'salesrank';
$page_id='1';
 
$result = get_item_by_browsenode($search_index,$browse_node,$sort,$page_id);
 
if (!PEAR::isError($result))
{
        for( $i = 0; $i <  5; $i++ )
        {
                $link = $result['Item'][$i]['DetailPageURL'];
 
                echo "<a href='".$link."'><img src='".$result['Item'][$i]['MediumImage']['URL']."'><br>";
                echo $result['Item'][$i]['ItemAttributes']['Title'].'</a><br>';
        }
}
 
 
function get_item_by_browsenode($search_index,$browse_node,$sort,$page_id){
 
    $amazon = new Services_Amazon(ACCESSKEY_ID,SECRET_ACCESSKEY,ASSOCIATE_ID);
    $amazon->setLocale('JP');
    $options = array();
    $options['BrowseNode'] = $browse_node;
    $options['Sort'] = $sort;
    $options['ResponseGroup'] = RESPONSE_GROUP;
    $options['ItemPage'] = $page_id;
 
    $ret = $amazon->ItemSearch($search_index,$options);
    return $ret;
}
?>

以下は、上記PHPプログラムをブラウザでアクセスした場合の出力例です。


Kis-My-Ftに逢えるde Show vol.3 at 国立代々木第一体育館 2011.2.12/Kis-My-Ft2 Debut Tour 2011 Everybody Go at 横浜アリーナ 2011.7.31(仮)(ジャケットA)【初回限定生産】 [DVD]


[先着購入特典付] スター・ウォーズ コンプリート・サーガ ブルーレイBOX (初回生産限定) [Blu-ray]


ペルソナ4 1 【完全生産限定版】 [Blu-ray]


機動戦士ガンダムUC [Mobile Suit Gundam UC] 4 [Blu-ray]


魔法少女まどか☆マギカ 6 【完全生産限定版】 [Blu-ray]

最終的には、サイトにアクセスがあった場合に、外部のPHPプログラムを呼び出して、その結果を出力させたいのですが、実現するためには、PHPの制限や条件があり、まだ動かせていません。動作させるまであと一息だと思うので、空いた時間を見つけてぼちぼち進めていきます。

2012.4.8 Services_Amazonでアマゾンのランキングを表示(完結編)の記事を追加しました。

2011年9月 3日

1GB定額データ通信サービス(b-mobile)

最近、このサイトのアクセスログを眺めていたら bmobile.ne.jp のドメインからのアクセスが増えいました。そういえば、日本通信がbモバイルというデータ通信サービスを行っていたことを思い出して調べてみると、「1GB定額3100円」の新サービスを9月10日に開始するという記事を目にしました。

このサービスでは、データ通信専用(通話は不可)のSIMカードを使って、30日または1GB(1000MB)に達するまでデータ通信ができ、30日経つか通信料が1GBに達した場合、30日1GB分のチャージを行えば、続けてデータ通信を利用できます。また、通信はDocomo(以下、ドコモと言う。)のFOMA®ネットワークを利用するため下り最大14Mbps、上り最大5.7Mbps(ベストエフォート)の高速通信が可能です。

1GBの通信量で、どの程度利用できるか気になる所ですが、Yahooのトップページを表示した場合で4338回分となります。動画やGoogleMapを表示した場合などについては、b-mobileのサイト「 1GBってどのくらい使えるの? 」で詳しく紹介していますので参考にしてください。ちなみに、自宅でWI-FIを使ってアプリのインストールやアップデートを行えば、無駄な通信をおさえることができます。

価格についてですが、始めに30日1GB分のデータ通信量込みのSIMを3480円で購入します。後はチャージ代1回分として3100円が必要になります。

現在、ドコモのガラケー(通常の携帯電話)を利用していますが、スマートフォンを買い増して、スマートフォンでBモバイルを使うことを考えています。色々調べたところ、ドコモの機種変更は買い増し扱いとなります。そのため、ガラケーからスマートフォンに機種変更した場合でも、SIMカードをスマートフォンからガラケーに入れ替えれば今まで通りガラケーを使うことができ、スマートフォンにBモバイルのSIMを入れて使うことができます。

2台持ちを真剣に考えていたので、スマートフォン単体で持った場合と、ガラケーとスマートフォンの2台持ちした場合の料金を比較してみました。2台持ちの際は、ガラケーで電話やメールを使い、スマートフォンでインターネットをする前提です。

内訳 スマホ単体 スマホとガラケー2台持ち
スマホ ガラケー スマホ
タイプSSバリュー(割引適応) 980 980
パケ・ホーダイフラット 5,460
パケ・ホーダイダブル 390
iモード使用量 315
spモード使用量 315
ユニバーサルサービス料 7 7
携帯保障 399 399
b-mobile(1GB定額) 3,100
合計 7,161 5,191

結果としては、2台持ちをした方がスマートフォン単体で利用するより月額2000円程度の携帯料金の節約が出来ます。これだけ差がつくと、Bモバイルの購入を検討する価値は十分にありそうです。

あと、日本通信では今回紹介した「 b-mobile 1GB定額パッケージ 」以外に、120日間または1GBに達するまで利用できる「 b-mobile Fair(月額2450円) 」や、通信速度は300kだが通信量が無制限で利用できる「 b-mobileSIM U300(月額2980円) 」などのパッケージを販売しています。
今回ご紹介した記事はあくまで参考程度にしていただき、実際に購入する際には、SIMロックやテザリングなどの条件など自分で十分調べた上で、自分のライフスタイルにあったパッケージを購入してください。

日本通信 bモバイル・フェア 1GB SIMパッケージ 120日間
日本通信 bモバイル・フェア 1GB SIMパッケージ 120日間
 

2011年9月 1日

UNFINISHEDでアクセスカンウター

このサイトのアクセス解析はawstatsを使用していますが、サイトでもアクセスカウンターを設置させアクセス数を確認したいと思い、Movable Type のプラグインを探してみました。
いくつかアクセス数を表示させるプラグインを見つけることができましたが、アクセス数を更新するためにサイトを再構築したりとリアルタイム性がなかったりで、個人的に利用したいプラグインがありませんでした。

そこで、UNFINISHED(アンフィニッシュト)が提供している無料アクセスカウンターを導入することにしました。無料のユーザ登録(名前とメールアドレス)を行うだけで、アクセスカウンターをすぐに利用できます。1日で2000HITまでと利用条件はありますが、一部のサイトを除き、個人が数年程度運営しているサイトでは、そこまでアクセス数は達しないと思います。
また、カウンターは5種類の色と2種類のタイプから選択できますので、自分のサイトに合うカウンターを選ぶことができます。

counter.jpg
クリックするとUNFINISHEDのサンプルページが表示されます。

なかなかこのカウンターも気に入っています。
目指すは一日2000HIT!!