2012年4月アーカイブ

Mac mini mid 2011 内蔵の CT128M4SSD2 のファームウェアアップデート (000F) を行いました。
このアップデートでは、SAS RAID 拡張カードの対応と、非常に重いデータでのスループットの安定化、停電時等のデータ保護が改善されているようです。

Release Date: 04/11/2012
Firmware for the m4 SSD is being updated from version 0309 to 000F. The m4 is updatable to this new firmware starting from versions 0001, 0002, 0009, or 0309 in a single step. If updating from an early version directly to 000F, all interim improvements will also be included (please see Release Notes for version 0002, 0009 and 0309 for details).
Changes between version 0309 and 000F include the following changes:
Improved compatibility with certain SAS expanders and peripheral RAID cards.
Improved throughput stability under extremely heavy workloads.
Improved data protection in the event of unexpected, asynchronous power loss.
This firmware update is recommended for all drives currently in the field if the end user is experiencing any of these symptoms.

Xbench の結果では、前回の計測時より Read は少し遅く成っていますが、Write の性能は、少し上がっています。
"非常に重いデータでのスループットの安定化" の成果かも知れない。
そういや、SSD の 4K block の R/W は何故か、HDD と同じく遅い。
HDD の場合は、ヘッドが移動する時間 (シークタイム) の遅さがネックに成っているのですが、SSD の場合は、ブロックサイズが 512KB 以上あるので、4K 書き込む時も、512KB 必要だったりします。
(USB メモリーに小さいファイルをたくさん書き込むと、予想外に少ないファイル数しか書き込めないアレです)
ただ、SSD 内部で、16ch 程度のストライピングが行われていますので、性能は、256KB ブロック時と比べて、1/128 ... にはならずに、1/8 程度なんですね。
この辺が改善されれば、おそらく体感速度は見違えるように早く成るんじゃないかな?
アプリや OS 起動時に必要なモジュールを出来るだけ纏めて一度に読み込めるような仕組みを作れば起動は速く成りそう。既にあるんでしたっけ? (^^;;

Sequential Read 279.04 → 270.96, Sequential Write 173.08 → 175.82
Random Read 249.76 → 245.35Random Write 165.86 → 185.27


M4-CT128M4SSD2(000F).jpg
前回のアップデート (0309) は、緊急措置だと思いますので、出来るだけ 000F にアップした方が良いと思います。
光学ドライブによっては CD からの起動が出来ないケースもある (Apple 純正がダメらしい) ようなのですが、iso イメージから CD を作るだけなので、一度やった事があれば簡単ですね。:-)

ア○コの入院保険

| コメント(0)
アリ○の方から入院保険のご連絡があった。
高いと言ったら、えー?どこと比べて高いの?XX歳だよね?今時入院したら幾ら取られるか知ってる?
っていうような事を言われたのですが、手術でも入院でも、高額医療費制度があるので自己負担額(80,100円+医療費が267,000円を超えた場合は、その超えた分の1%を加算) 以上は返って来ます
だから、普通の貯金で十分対応出来ますよ。

一生涯保険料が上がらないのが魅力らしいけど、逆に言えば一生払い続けなければならない訳で、安くないですね。
例えば、2500円で、30年払うと、90万円です。
日額5000円で、180日入院しないと元が取れない。
今時、急性心筋梗塞でも、入院は15日程度なので、もらえる金額は、入院保証(5千円×15)+手術特約(8万円くらい?)ですよね。
もしもの時の払い戻し率が 17% じゃ、払う側の分が悪過ぎます。
個人的には、こういった賭けには乗らないかな。普通に貯金した方が絶対得です。(^^;;
Google の ID による認証には、Crypt-SSLeay が必要です。
メジャーなのは、cpan Crypt::SSLeay なのですが、CentOS だとうまくいかない。
こちらも、grep (yum list|grep SSLeay) してみると、ありました。

# yum install perl-Crypt-SSLeay

でいいみたい。
そういえば、Google って OpenID に対応していましたよね?
何故か、Profile ページの下にあった URL が無く成ってしまっています。
専用の API があるので、それを使えって事でしょうか?

あと MTOS で何故かうまくいかないのが、本家、openid.ne.jp の Openid です。
どうやっても、

An error occurred: サインインできませんでした。

とか言われてしまう。
セキュリティ上問題(SSL 対応もしていない)があるようですし、ここでの OpenID の取得はお勧めできません。
(という事にしておこう)

※ タブ順は何も設定しないと、自動的に視点の移動が最小限に成るように設定されます。
出来れば何も設定しない良いように、UI をデザインすべきだと思います。

ページが切り替わる度に、FirstResponder の再設定が必要に成ります。
FirstResponder を指定しない、或は現在のページにはないコントロールを指定した場合は、全ての NextKeyView が無視されます。
中途半端に設定出来ない仕様だと思うのですが、少し謎な仕様です。
同じような理由で、キーチェインに、NSMatrix オブジェクトを指定しても NSMatrix 内のコントロールにフォーカスが移動...はしてくれません。
NSMatrix 内のコントロール(例えばラジオボタン)を直接指定します。
ただ、本来は、テキストフィールドだけを移動するのが Mac の仕様なので、次のテキストフィールドを指定した方が良いかも知れません。

- (void)SetupPage:(int)page {

	// タブ順の設定
	if (page == 0) {
		[mainWindow setInitialFirstResponder:AC_PH_TEXT];
		[AC_PH_TEXT setNextKeyView: AC_PW_TEXT];
		[AC_PW_TEXT setNextKeyView: AC_CH_TEXT];
		[AC_CH_TEXT setNextKeyView: AC_CW_TEXT];
		[AC_CW_TEXT setNextKeyView: AC_PH_TEXT];
	} else {
		[mainWindow setInitialFirstResponder:AF_PH_TEXT];
		[AF_PH_TEXT setNextKeyView: AF_PW_TEXT];
		[AF_PW_TEXT setNextKeyView: AF_PH_TEXT];
	}
}

※ setNextKeyView:NULL に設定すると、タブキーでの移動はそこで止まりますので、終端は NULL ではなく、最初に戻ります。
Tab キー押し下げ時等にテキストフィールドの値をチェックするのは、デリゲート(委譲)して、

- (BOOL)control:(NSControl *)control isValidObject:(id)obj;

とかすれば可能なのですが、これだとフォーカスを移動した時だけしかエラーチェックしないので、ボタンを押した時や、ページを変えた時等は無反応です。

- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor;

こちらも書かないとダメですね。
ちなみに、現在編集中のコントロールは、window の、firstResponder に...じゃないですよ。
ここで得られるのは、NSTextView です。
これは、fieldEditor と呼ばれているもので、各テキストフィールドの値を編集する為に共通して使われますので、ここから、NSTextField の取得は出来ません。(^^;;
編集中のコントロールを得るのは、textShouldBeginEditing で control の値を保存しておくのが一番簡単なんじゃないだろうか?

- (BOOL)control:(NSControl *)control textShouldBeginEditing:(NSText *)fieldEditor {
	NSString*	stringValue;

	// 編集前に現在のテキストを保存
	stringValue = [control stringValue];
	[stringValue getCString:_fixfield_buff maxLength:255
		encoding:NSUTF8StringEncoding];
	_fixfield_buff[255] = '¥0';
	_fixfield_control = control;
	return YES;
}

About This Article

このページには、2012年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2012年3月です。

次のアーカイブは2012年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenIDEnabled! What is OpenID?
Powered by Movable Type 5.04