SDカードをMacBook Airで使う/SDカードにWindowsを入れる

今使っているMacBook AirのSSDは128GB。OSとアプリ、音楽を入れておく位なら何とかなります。が、VMWare Fusionで仮想化したOSを使うには手狭。CUIのみなら1GBもいきませんが、GUIが付くと数GBは当たり前。Windows 7なら、インストール直後でも10GBくらい食います。

今までは外付けHDDにOSを置いて使っていたのですが、出来ればWindows7も持ち歩きたい。しかし、常時使うわけではないのでSSDには置きたくない。

ということで今回、SDカードにOSを置いて使ってみることにしました。購入したのはこちら↓

Transcend SDXCカード 64GB Class10 永久保証 [フラストレーションフリーパッケージ (FFP)] TS64GSDXC10E
Transcend SDXCカード 64GB Class10 永久保証 [フラストレーションフリーパッケージ (FFP)] TS64GSDXC10E [Personal Computers]

ベンチマーク結果は以下。

Class10なので、SDカードとしては速い部類に入るのだろうけど、スコアは内蔵SSDの20分の1、外付けHDD(USB 3.0)の2分の1です。ただし、Random Readでは、HDDを上回る好スコアを叩き出しています。小さなファイルをたくさん置いて、保存用に使うには良い選択だと思います。

一つ難点なのは、SDカードを挿した状態でも、奥まで入り切らないこと。要は、こういう状態(写真)になります。出っ張ってるので、挿しっぱなしは危険な感じがします。挿しっぱなしで持ち歩けるなら、音楽ストレージとしても使用できるかなー、と思ってたのですが、それは無理そう。

ちなみに、Windows 7の仮想環境(.vmwarevm)をSDカードに置いて起動した状態での、Windowsエクスペリエンスインデックスは以下。

06

「ゲーム用グラフィックス」が低いため、Aeroを有効にしているとかなり重い。が、Aeroを切りさえすれば、まあ我慢できるかなレベルのパフォーマンスにはなる。

Mountain LionでMac App Storeのソフトウェア・アップデート通知を非表示に

35

↑のように、対象となる通知の上にマウスポインタを載せた状態で右クリック(2本指クリック)すると、「アップデートを隠す」と表示される。これをクリックすれば、以後、隠すと選択したソフトウェアについてはアップデート通知が出なくなる(上の画像の場合、iTunes)。

アップデートを表示するように戻したい場合はメニューバーのStore>「すべてのソフトウェア・アップデートを表示」(ただし、すぐには回復しない?)。

14

この情報、本来ならOS X:ソフトウェア・アップデートの使用を停止する方法(アップルサポートページ)に載せるべきだと思うんですが、アップルのサポートページにはLionまでの方法しか載っていません。

日本語のページを検索しても、「アップデート通知全般を止める方法(システム環境設定>ソフトウェアアップデート>「アップデートを自動的に確認」のチェックを外す)」しか見つかりませんでした。

この記事の内容は、英語でググって見つけたMac Observerの記事を参考にしています。

Essential ActionScript3.0 読書メモ 第41回 再帰関数

再帰関数(recursive function)とは、自分自身を呼ぶ関数である。

↑のように、関数内で自分自身を呼ぶことで繰り返し処理を行う。再帰関数について注意が必要なのは無限再帰である。trouble()は再帰の終了条件が設定されていないため、無限に自分自身を呼び出し続ける。再帰関数を書く際には、再帰の終了条件をあらかじめ設定しておくべきである。

再帰の古典的な例は、階乗計算である。


もっとも、同じ処理はループを使うことでも実現できる。

再帰は複雑な問題を簡単な処理で解くことができる。しかし、関数を繰り返し呼び出すことは、ループに比べると処理の効率が悪いことが多い。また、Flashの実行環境は再帰の最大回数に制限を設けており、初期値では1000回までとなっている。

今日の進捗:2526→2553/20168(kindle用書籍フォーマット、mobi形式でのページ数)

[PHP]浮動小数点数の比較

プログラミングの常識ではありますが、PHPでも浮動小数点数の比較には注意が必要です。例えば、次のプログラム。

「(0.1 + 0.7) * 10 = 8」だから、出力は「等しい」! と思いきや、「等しくない」と出力されてしまいます(実行環境によって誤差があるようですが…)。

これは、(0.1 + 0.7)の結果が、PHPの内部では 0.79999999999999991118…のようになっているからです。ちなみに、$b = 0.8 * 10; とすると、「等しい」と出力されます。浮動小数点数について詳しくは、PHPマニュアル:浮動小数点数を参照して下さい。

では、浮動小数点数の比較をするにはどうすればよいか? これもPHPマニュアルに書いてあるやり方ですが、

という風に、小数点数の丸め誤差上限を定めた上で、2つの値の差分の絶対値をとって誤差を測定すればよいのです。ここでは、小数点以下5桁の精度で比較しています。実験してみたところ、上のプログラムであれば、小数点以下40桁の精度でも「等しい」という結果が出ます。

Essential ActionScript3.0 読書メモ 第40回 関数リテラルの文法

多くのActionScriptのネイティブクラスと同様、Functionクラスのインスタンスもリテラル・シンタックスでつくることができる。関数リテラルは標準的な関数宣言と同様の文法だが、関数名は必要ない。

関数リテラルは組み込み関数のflash.utils.setInterval()と一緒に使われることがある。次のような書き方をする:

setInterval(functionOrMethod, delay)

setInterval()関数はインターバル(一定時間ごとに動作する機能)を設定し、自動的に関数又はメソッドをdelayミリ秒ごとに実行する。インターバルが設定されると、interval IDとなる数字が設定され、setInterval()から返る。Interval IDは変数に代入できる。したがって、後からそのタイマーをclearInterval()によって停止することができる。

今日の進捗:208→211/1644