2010-12-24

MacBook のメモリー増設

MacBook の動きが鈍い。MacBook の利用メモリー量を調べてみたところ、主要ソフトを起動するだけでスワップを起こしていることが判明。メモリーを 1GB から 2GB へと増設した。以下、MacBook におけるメモリー増設におけるメモ。

情報収集

Apple のサイトに「メモリー増設のやり方」を解説しているページがある。全ての基本は、このページを参照すること。

まず自分の MacBook のモデルを調べる。MacBook のモデルによって、取り付けられるメモリーの種類も、メモリーの最大塔載サイズも、メモリーの取り付け方も変わって来る。

例えばぼくの MacBook は 2007-04-09 に買ったので、「MacBook (Late 2006)」というモデルと思われる。このモデルの説明を読むと次のことが分かる:

  • メモリーの最大容量: 2GB
  • 推奨メモリー: PC2-5300 DDR2 667 MHz タイプの RAM

更にメモリーの取り付け方法も予習しておく。これ重要。ぼくのモデルだと、プラスドライバー (00 番) が必要とある。この 00 番というプラスドライバーは、先が非常に細いプラスドライバーを指している。この大きさのプラスドライバーは普通家庭には置いていない。メモリー交換における思わぬ落とし穴!!

近所のホームセンターで 0 番のプラス・ドライバーが手に入るなら良いけれど、もしそうでないなら、MacBook を扱っているお店にメモリー交換をお願いしてみよう。有料だけれども、ドライバーを探し回って時間と手間とガソリン代を浪費するよりはマシかもしれない。

ちなみに最近の MacBook はプラス・ドライバーなしでメモリー交換が可能になっている。sorarium さんが非常に詳しいエントリーを書いている:

作業風景

自分の MacBook のモデルが分かったら、「MacBook:メモリの取り外しおよび取り付け方法」の通りに作業を進めるだけ。ちなみにぼくはメモリーを Apple Store から買った。

まずは電源を切って、10 分程置く。ケーブルの類は全て外しておく。MacBook の熱が冷めたら本体を裏返す。

バッテリーの横側にコインを挿せる場所があるので、そこにコインを挿して右回しすると、バッテリーが外れる。

写真はバッテリーを外したところ。L 字型のブランケットが 3 つのネジで止まっている。00 型のプラス・ドライバーでネジを外す。

MacBook メモリー増設

すると、メモリー取り出し用の取っ手が現れるので、これを引くとメモリーが外れる。メモリーを外したら、新しいメモリーを挿す。後は、今までの作業を逆に行なうだけ。

あとがき

メモリーを 1GB から 2GB に増設することで、起動するのも億劫だった MacBook が実用レベルにまで戻って来た。古いモデルではあるけれど、まだもう一働きしてくれそう。あと、一・二年頑張って欲しい。そしたら、MacBook Air でも買おうかなぁ :)

2010-12-23

Linux から NAS を mount する (その 2)

先日、BUFALO の USB メモリー・スティック型 SSD を買った。これを、Apple の AirMac Extreme の USB ポートに挿して NAS のように使っている。

BUFFALO 高速40MB/s USBメモリー型 SSD 64GB SHD-LV64GS-BK

さて、この SSD を Linux から mount したい。正しい方法が分からないので、試行錯誤の上でやったことをメモしておく (コメント大歓迎)。

Mac 側の作業

まず AirMac Extreme の IP アドレスを調べる。これは Mac から簡単に調べられる。

そして、SSD にユーザー foo を追加する (foo は適当に変えて下さい)。

Linux 側の作業

まず /etc/hosts に AirMac Extreme の名前を追加する。ここでは base という名前にした。

192.168.0.60 base

AirMac Extreme の IP アドレスが変わることは、運用上ほとんどない。ただし、AirMac Extreme を再起動させたり、停電が起きたら IP アドレスが変わるので、その場合は /etc/hosts を書き直す。

次に /usr/local/bin/base.sh というファイルを作る。中身はこんな感じ:

#!/bin/sh
mount -t cifs //base/foo /mnt/smb --verbose -o user=foo,password=******,rw,noperm,iocharset="utf8"

smbmount より mount -t cifs を使う。AirMac Extreme に挿さった SSD へは //base/foo でアクセスできる。これを /mnt/smb にマウントする。ユーザー名・パスワードは面倒なので base.sh の中に書いちゃった。あと、SSD 内ではファイル名が Shift_JIS になっているので文字化けしないよう iocharset オプションを追加していいる。

base.sh の用意ができたら、マウントする時は sudo bash.sh、アンマウントする時は sudo /mnt/smb で OK。

ref

2010-12-22

Linux から NAS を mount する (その 1)

先日、BUFALO の NAS、LinkStation Mini を買った。

BUFFALO 40MB/s DTCP-IP対応 高速ホームサーバー Link Station mini 1.0TB LS-WSX1.0TL/R1WH

B002UD6CJ8
バッファロー 2009-11-13
Amazonで詳しく見る
by G-Tools

Windows や Mac からのアクセスは専用ソフトがあるので楽だけれど、Linux からアクセスする場合一手間かかる。とりあえず、これが正当な方法かは分からないけれど、ぼくのやったことをメモしておく。

LinkStation Mini 側の設定

LinkStation Mini のウェブ設定画面を開き、ユーザー foo を追加する (foo の部分は適当に変えて下さい)。すると、LinkStation 内に /share/foo というフォルダーができる。このフォルダーを Linux から mout する。

また、Windows/Mac 側から LinkStation Mini の IP アドレスを予め調べてメモしておく。

Linux 側の設定

まず、LinkStation Mini の IP アドレスを /etc/hosts に追記する

(例)

192.168.0.50 nas

次に /usr/local/bin に次の nas.sh という shell script を作って置く。nas.sh の中身は次の通り:

#!/bin/sh
mount -t cifs //nas/share/foo /mnt/smb --verbose -o user=foo,rw,noperm

sudo nas.sh することで、NAS の中身が /mnt/smb に mount される。

smbmount コマンドよりも mount コマンドでタイプを CIFS にする方が効率が良いらしい。

アンマウントする時は sudo /mnt/smb を使う。

Google Latitude アプリ for iPhone

2010-12-13、iOS 用に Google Latitude 用のアプリがリリースされた。

今まで、iPhone では Safari から google.com/latitude にアクセスする方法でしか Google Latitude にアクセスできなかった。そして、Safari でそのページを開いている間しか「現在位置のトラッキング」を行なってくれなかった。

しかし、iOS4 用の Google Latitude アプリはその欠点を克服している。iOS4 でアプリのバックグラウンド動作が可能になったことから、一旦 Google Latitude アプリで「トラッキング」を ON にすれば自動的に現在位置が Google Latitude に送られる。これは Android と同じ動作ができるようになったのと同じ。

一週間以上ログをためてみたけれど、(iPhone の GPS が時々とんでもない場所を指すのは別問題として) 非常に良い感じに移動ログが取れている。基本的に、徒歩での移動より車や電車での移動をトラッキングすることを目的にしているらしく、トラッキング回数はそれほど多くない。これなら GPS の電力消費も抑えられ、iPhone のバッテリーも少ししか食わなさそう。

明日は帰省で、かなりの距離を移動するので、Google Latitude アプリの真価が見られると期待している。

2010-12-20

第 159 回 TOEIC の結果

TOEIC の結果が発表された (ref. 第 159 回 TOEIC 受験を申し込んだ)。

275 (Listening) + 240 (Reading) = 515 (Total)

第 109 回の結果が 615 点だったから、100 点近く落ちてしまった。リスニングもほとんど聞き取れたし、リーディングも前回と比べて知らない単語がほとんどなかった。おかしいな? 第 109 回よりも良い点が取れた手応えはあったのに... マーク・ミスでもやらかしたかな? 納得いかない。近い内に再受験しよう。

2010-12-18

Dvorak 配列の使えるキーボード

ブログ記事の紹介。とりあえず暇だったし何となく始めたブログという長い名前のブログの人が、Dvorak 配列が使えるキーボードを写真付きで紹介している。Dvorak 配列については過去記事 (clmemo@aka: Dvorak 配列って何?) に書いたので、参照して欲しい。

紹介されているキーボードは 4 つ。

  • TypeMatrix
  • Kinesis Contoured Keyboard
  • MPOS プログラマブルキーボード
  • μTron Keyboard

購入先のリンクが張ってある配慮が素晴らしい。何より「写真を撮っている」ということは、これらのキーボードを全て所有しているわけで、そのフリークぶりが恐しい!! (誉め言葉です)。

あとがき

ぼくは Kinesis Contoured Keyboard を (2 台) 持っているけれど、常に Dvorak 配列モードにして使っている。一度この打ち易さを知ると、Dvorak 配列からはもう逃れられない。ただ、キーボード・レベルで Dvorak 配列をサポートしているものって値段が高いのが難点。おいそれ人に紹介できない。まあ、こんなキーボードもあるんだな... というレベルで鑑賞して頂ければ幸いかと。。。

ref

2010-12-17

BUFFALO の USB メモリー型 SSD を買った

BUFFALO の USB メモリー型 SSD を買った。容量は 64 GB で 12,980 円 (Amazon バーゲン価格; 定価 25,410 円)。

BUFFALO 高速40MB/s USBメモリー型 SSD 64GB SHD-LV64GS-BK

PC の USB 2.0 ポートに繋げば、すぐに外付け HDD として使える。フォーマットは NTFS。Mac でも OK。

ぼくの使っているルーターは Apple の AirMac Extremeなのだけど、このルーターは LAN ポート (x3) があるばかりか USB ポート (x1) まで付く。この USB ポートに USB SSD を繋ぐと、NAS と同様に使うことができる。非常に便利。

不便な点もある。一つは容量が小さいこと。もう一つは転送速度が遅いこと。SSD の容量が小さいのは 2010 年現在、どうしようもない現実なので諦めた。必要最低限なデータに絞ってデータを保存する。その他のデータは HDD 型の NAS (こちらは 1TB) に保存する。SSD の容量は数年で倍々に増えるだろうから、今、高価なモデルを買うより、安いモデルを買って、後の大容量版へと予算とした。

転送速度が遅いのは、USB 2.0 の転送速度の上限に達しているため。既に USB 3.0 モデルの SSD が発売されている。しかし値段が高い。それに、ぼくの持っている PC もルーターも USB 3.0 には対応していない。おそらく、AirMac Extreme が USB 3.0 に対応した頃に、大容量で USB 3.0 な USB メモリー型 SSD (もしくは SSD NAS) を買うと思う。

最後に良い点を挙げる。NAS として利用した時、とにかく静か。というか無音。SSD 型の NAS が高価で、HDD 型の NAS が五月蝿な現在、丁度良い落とし所になっていると思う。

あとがき

この USB メモリー型 SSD スティックは、HDD 型 NAS が不調になってメンテナンス・センターで修理中の間に買ってしまった。どうにも、外部ストレージが欲しくてしょうがない時期だった。

そういうわけで現在、家には SSD と HDD の NAS が二種類ある。上に書いた通りメインには SSD を使い、容量の大きなファイルや優先度の低いファイル、もしくは重要で二重・三重バックアップが必要なファイルを HDD 側に置いている。

不経済なことをしてしまったと自戒しているけれども、これがまた良い感じに使い分けが出来ている。不幸中の幸いとはこういうことを言うのかな。

BUFFALO の NAS Link Station mini 1.0TB の静音性

BUFFALO の NAS を買った。NAS (Network Attached Storage) はネットワーク経由でアクセスできる外付けハードディスクのこと。商品は BUFFALO の中でも静音性に優れていると言われている LinkStation Mini。1 TB モデル。メーカー型番 LS-WSX1.0TL/R1WH。

BUFFALO 40MB/s DTCP-IP対応 高速ホームサーバー Link Station mini 1.0TB LS-WSX1.0TL/R1WH

B002UD6CJ8
バッファロー 2009-11-13
Amazonで詳しく見る
by G-Tools

LinkStation Mini は商品名に「Mini」とつくだけあってサイズが小さい。 W40×H82×D135mm。739g。片手で持てる。Windows は当然として、Mac に対応していることも嬉しい。

ルーターに LAN ポートが余っていれば、LinkStation Mini を LAN ケーブルで繋ぐだけですぐに使えるようになる (LAN ケーブルは 2m のものが付属)。設定アプリが入っているので初期設定は簡単。細かい設定は、(設定アプリではなく) ウェブ・ブラウザーから行なう。

メディア・サーバーとして DLNA と iTunes サーバーに対応。レグザの録画・ダビング対応。スカパー! HD 録画対応 etc. ここら辺の詳細はあまり試していないので割合。

静音性について

非常に静か。小さなヒーンという高い音が継続的にする。

一般の PC を起動しているよりも静か。もちろん、エアコンの音よりも静か。

この静かさの理由は使っている HDD にある。普通、NAS に使われている HDD は 3.5 インチ・サイズ。これはデスクトップ PC に使われている HDD と同じ。一方、LinkStation Mini が使っている HDD は 2.5 インチ・サイズ。これはノート PC に使われている HDD と同じ。一般に 3.5 インチの方が大容量かつ高速アクセスできるようになっている。ところが、この高速アクセスが曲者で「騒音」の元になる。LinkStation Mini はあえて低速アクセスな 2.5 インチ・サイズの HDD を用いることでア回転音を小さくしている。また、HDD は熱にも弱い (らしい) ので冷却用フィンが付く。これも 3.5 インチより 2.5 インチの方がフィンが小さくて済み静音化に大きく寄与している。

最後に「実用的」な静かさについて。

実際、LinkStation Mini の音は小さい。しかし、全く無視できる程小さくはない。少くとも、8 畳ワンルームの環境であれば、「静かな時」に音が気になる。ここで言う「静かな時」とは、就寝前、音楽を聞いている時、TV や映画で小音量になった時など。

寝る時にエアコンをかけていても眠れるのに、エアコンより音の小さな LinkStation Mini が気になるというのも面白い話。思うに、エアコンの音は一定でないことと音が低いのが良いのだと思う。一方 LinkStation Mini はヒーンという音が高くて非常に神経に障る。どうも人間はある程度より高い音が鳴っていると、気になって仕方がないらしい (普段の生活では、他の音にかき消されるので気にならない)。加えて、その高い音が止まらない。ずっと鳴り続けている。寝る前に、一度気になりだすと LinkStation Mini を止めたくなる。

家がワンルームではなくて、複数の部屋を持つ場合は別の部屋に置けばこの問題は解決すると思う。長い LAN ケーブルを買って、別の部屋の奥にでも置けば良いでせう。

ぼくの場合ワンルームなので、「PC 連動電源」機能を使っている。これは PC の電源を落とすと、自動的に NAS の電源も落ちるという機能。もちろん NAS の電源が落ちるので、ヒーンという音もなくなる。PC の電源を入れると、NAS も自動的に立ち上がる。

ぼくの PC 環境はメイン PC が Linux (デスクトップ) で、サブ PC に MacBook を使っている。「PC 連動電源」機能は Windows/Mac マシンでないと使えない。MacBook の電源は常に ON にしておき、MacBook のディスプレーを開いたら (サスペンド解除) NAS の電源 ON、ディスプレーを閉じたら NAS の電源 OFF という風に使っている。

あとがき

LinkStation Mini には 500 GB の HDD が 2 つ入っている。ユーザーは 2 つの HDD を繋げて 1 TB の HDD として使っても良いし、片方の HDD をバックアップ用にして 500 GB の HDD として使っても良い。ただし、片方の HDD が壊れた場合、壊れた HDD の交換はバッファローのメンテナンス・センターに送らないと行なうことができない。メンテナンス・センターに行っている間 (一週間以上か?)、LinkStation Mini は手元にないので困る。バックアップ・モードで使う意味はないと言っても良いと思う。

ちなみに、ぼくは Linux から LinkStation にデータを送信していたら、急に LinkStation Mini へのアクセスが止まるトラブルがあった。Mac のアプリで LinkStation を探してもネット上に存在しないと言われるし、初期化処理をしても改善しない。HDD クラッシュかと思ったが、メンテナンス・センターに送ったら HDD クラッシュでもなく普通に戻ってきた。データの損失もなかった。以来、トラブルは起きていない。ただ、LinkStation Mini が不在中に USB メモリー型の SSD を買ってしまったのは別の話

2010-12-16

Emacs Evernote-mode -- Emacs から Evernote のノートを編集する

Emacs から Evernote のノートを編集できたらどれだけ便利だろう? 正にそんな EmacsLisp が開発されている。その名も evernote-mode.el。Emacs 22 以上で動作。バックエンドに Ruby (1.8.7 以上) を利用する。

本エントリーではインストール方法と簡単な使い方を紹介する。

Evernote-mode のインストール

まずは Google Code から emacs-evernote-mode プロジェクトのソースコードを入手する。ぼくは最近 Git に傾倒しているのでgit-svn を使ってソースコードを取得した。

$ cd project
$ git svn clone http://emacs-evernote-mode.googlecode.com/svn/trunk/ emacs-evernote
$ ls emacs-evernote
APACHE-LICENSE-2.0.txt  doc/  evernote-mode.el  ruby/

EmacsLisp のソースコードは一つだけ。主な作業は ruby でやっていて、evernote-mode.el はそのフロントエンドになっている。

まず、ruby スクリプトのインストールを行なう。

$ cd ~/project/emacs-evernote
$ cd ruby
$ sudo ruby setup.rb

次に EmacsLisp のソースコードを Emacs の load-path 上に置く。

$ cp evernote-mode.el ~/your/load/path

最後に .emacs に Evernote 用の設定を追加する。

;;
;; Evernote mode
;;
(setq evernote-enml-formatter-command '("w3m" "-dump" "-I" "UTF8" "-O" "UTF8")) ; optional
(require 'evernote-mode)
(global-set-key "\C-cec" 'evernote-create-note)
(global-set-key "\C-ceo" 'evernote-open-note)
(global-set-key "\C-ces" 'evernote-search-notes)
(global-set-key "\C-ceS" 'evernote-do-saved-search)
(global-set-key "\C-cew" 'evernote-write-note)
(global-set-key "\C-cep" 'evernote-post-region)
(global-set-key "\C-ceb" 'evernote-browser)

追加パッケージ

インストール作業が終了して、Evernote を開こうとしたら次の様なエラー・メッセージが出ることがある。

Unknown error (/usr/local/lib/site_ruby/1.8/thrift/transport/http_client_transport.rb:22:in `require': no such file to load -- net/https (LoadError))

これは、バックエンドで使っている ruby ライブラリーが足りていないために起きる。Ubuntu Linux 10.4 では、次のコマンドで足りない ruby ライブラリーを追加できる。

$ sudo apt-get install libhttpclient-ruby1.8

プロキシー

もし proxy を通さなければいけない場合は、.bashrc に次の一行を追加する。

export EN_PROXY=proxy.hoge.com:8080

簡単な使い方

C-cec (or M-x evernote-create-note) で新規の Evernote ノートを開いてみませう。

まず最初に Evernote のアカウントとパスワードを尋ねられる。

次にノートに付ける「タグ」を聞かれる。タグはカンマ区切りで複数設定可能。タグを付けたくない場合はそのまま RET

次はノートの名前 (タイトル)。

次に Edit mode を尋ねられる。Edit mode には XHTML と TEXT の 2 種類があるけど、今回は簡単な「TEXT」を選んでみる。

以上で、Evernote のノート用のバッファーが開かれる。ファイルの保存 (C-x C-s) をすると、自動的に Evernote 側に保存される様になっている。

簡単な使い方は以上。

ヘルプ

詳しい説明は本家ページの README をどうぞ。

落ち穂拾い

  • C-ceo: 既存のノートを開く
  • C-cew: バッファーを Evernote の新規ノートとして保存する。ローカルで書いたファイルを、Evernote にバックアップしたい時に重宝する
  • C-cep: バッファー全体ではなくリージョンを Evernote の新規ノートとして保存する
  • C-cet: ノートの「タグ」を変更する (変更後 C-x C-s で保存する必要あり)
  • C-cer: ノートの「名前」を変更する (変更後 C-x C-s で保存する必要あり)

Edit mode について

本エントリーでは簡単のため、TEXT モードのみの説明を行なった。Emacs-evernote-mode には TEXT モードの他に XHTML モードがある。

Evernote のノートにはリンクや太文字も書ける。これはただのテキストではない。どうやって実現しているのか? 実は Evernote のノートは ENML DTD に従う XML で書かれている。

DTD を読める人は enml2.dtd を読んでもらうとして、分からない人は HTML の簡易版と思ってもらえばいい。Emacs Evernote mode で Edit mode を「XHTML」にすると、直に ENML なテキストを編集できる。つまり、太字にしたり、リンクを張ったり、画像を貼ったりということが可能になる (多少の HTML の知識さえあれば!)

一旦、保存 (C-x C-s) すると ENML で書いたテキストが整形された上で「読み込み」専用モードになる。そこで C-x C-q してやると、「書き込み」モードに戻り、テキストの整形が解除されて再び ENML のソースコードが現れる。

ENML での編集が面倒になったら、C-cee で Edit mode を XHTML から TEXT に変更できる。逆に TEXT モードで編集後、少しノートに飾り付けをしたい場合にも C-cee で Edit mode を XHTML に変更可能。

あとがき

Emacs evernote-mode は EmacsLisp として久々に心ワクワクさせてくれる。まだ使い込んでいないので、早く使い回したい。

Expect コマンドで passwd 変更 (補足)

過去記事の補足。

2009-02-16 の記事において、expect コマンドを使って passwd を変更するサンプル・スクリプトを紹介した。

#!/bin/sh

user=$1
password="foo"
passwd="passwd"

expect -c "
spawn $passwd $user
expect Enter\ ;  send $password; send \r;
expect Retype\ ; send $password; send \r;
expect eof exit 0
"

そしたら、最近、こんなコメントが入った [Thanks anonymous]。

send $password; の部分は send -- $password; にした方が良いです。パスワードの先頭に-を入れられるようになります。

ほほう。これは知らなかった。改めて expect コマンドのマニュアルを読んでみた。

send [-flags] string

send コマンドはオプションとしてフラグを取ることができる。このフラグは「-」で始まるから、今回の場合、パスワードの先頭に「-」を入れるとフラグと解釈される。これは、ぼくの期待した動きではない。

更にマニュアルを読むと次のようにある。

The -- flag forces the next argument to be interpreted as a string rather than a flag.

-- というフラグを入れると、残りの引数を文字列として受け取ってくれるとのこと (フラグと認識しなくなる)。

今回の事例では、パスワードの先頭に「-」が来ても良いよう配慮しておくことが良さそう。というわけで、上記 expect コマンドのサンプル・コードは次の様に書き換えられる:

#!/bin/sh

user=$1
password="foo"
passwd="passwd"

expect -c "
spawn $passwd $user
expect Enter\ ;  send -- $password; send \r;
expect Retype\ ; send -- $password; send \r;
expect eof exit 0
"