yuishiノート

主に備忘録

Matlabでセル配列内の特定の要素を削除

Matlabで、セル配列から要素を取り除きたいときは、その要素に対して空行列[]を代入する。

例えば、

>> C={'abc','def','ghi','jkl'}

C = 

    'abc'    'def'    'ghi'    'jkl'

というセル配列から2番目の要素を取り除く場合は

>> C(2)=[]

C = 

    'abc'    'ghi'    'jkl'

とする。

要素の内容を指定して削除することも可能。
要素'ghi'を削除する場合は

>> C(strcmp('ghi',C)) = []

C = 

    'abc'    'jkl'

とできる。

Drobo 5DでTime Machineバックアップ

Droboは大容量だしThunderbolt接続でデータ転送も速いのでバックアップ用途に使いたくなるが、さすがに容量まるごとTime Machineで使うのはもったいない。
ということで、一部だけ(例えば2TB分だけ)Time Machineディスクとして割り当てるよう工夫する。たぶんDroboに限らず外付けHDD全般で可能。

以下手順。
(ソースはDrobo本家How-To: Using Time Machine with Direct-Attached (DAS) Drobos

1. コンピュータ名を調べる

システム環境設定 > 共有
からコンピュータ名を見て、控えておく。

2. MACアドレスを調べる

システム環境設定 > ネットワーク
で右下の[詳細...]ボタンを押し、[ハードウェア]タブを選択。
本体のMACアドレスを控えておく。

より正確にはネットワークインタフェースen0のMACアドレスである必要があるので、ターミナルを起動して

$ ifconfig en0

を入力し、ether欄を見る方が間違いない。

3. Drobo内にsparsebundleファイルを作成する

DroboにTime Machineの保存先となるスパースバンドル ディスクイメージを作成する。
ディスクユーティリティを起動して、メニューバーから[新規] > [空のディスクイメージ...]を選択する。
作成ウィンドウがでるので、下方の項目欄を

とする。

次が一番大事なところ。
イメージファイルの名前が肝で、上記1,2で調べたコンピュータ名とMACアドレスをアンダーバーでつないで

コンピュータ名_MACアドレス.sparsebundle

とする。ただし、MACアドレスからはコロン(:)を除いておく。
例えば、

なら

computer_123456789abc.sparsebundle

という名前にする。

最後、[作成]ボタンで作成。

作成されたらディスクユーティリティは終了して良い。

4. 作成したsparsebundleファイルのサイズ上限を固定

スパースバンドルディスクイメージは容量を自由に増やせるが、バックアップ用途には不便なので作成時に指定したサイズに上限を固定する。
Drobo内にできたsparsebundleファイルを右クリックして[パッケージの内容を表示]を選択する。
表示されたファイルのうち、info.bckupファイルとinfo.plistファイルに対して右クリックから[情報を見る]を選択(もしくはファイルを選んで⌘+I)する。
開いたファイル情報ウィンドウの一般情報欄にある[ロック]にチェックを入れる。

5. Time Machineバックアップを開始する

システム環境設定 > Time Machine
[入]にスイッチをスライドする。
Time Machineに使用するディスクを訊ねられるので(訊かれない場合は[ディスクを選択...]ボタンを押す)、Droboディスクを選択する。
うまくいけば、sparsebundleファイルのファイル名が自動的に変更されて

コンピュータ名.sparsebundle

になる。

ファイル名が変わらず、backups.backupdbフォルダが作成されたら失敗なので上記3.からやりなおす。
だいたいコンピュータ名かMACアドレスが間違っているのが原因です。

以上。

Mavericks上のRにrjagsをインストール

OS X Mavericksでrjagsを使おうとしたらエラーになったので、以下のようにMakevarsファイルを作成して、ソースからインストール。

~/.R/Makevars

CC=clang
CXX=clang++
CFLAGS="-mtune=native -g -O2 -Wall -pedantic -Wconversion"
CXXFLAGS="-mtune=native -g -O2 -Wall -pedantic -Wconversion"

Rを起動し、Rのコマンドラインから

> install.packages("rjags", type="source")

OS X Serverのwikiに添付できるファイルサイズを変更する

OS X Server (Mountain Lion)のwikiにサイズの大きいzipファイルを添付しようとしたら、エラーになった。

標準では添付の最大サイズ500MBになっていて、それ以上を添付したい場合は添付可能サイズを変更する必要がある。

Configure wiki service settings

具体的には、/Library/Server/Wiki/Config/collabcored.plistの中のmax_attachment_file_sizeの値をバイト単位で指定する。

デフォルトは

524288000

(=1024x1024x500) で500MBなので、例えば最大サイズを2GBにしたい場合は

2147483648

(=1024x1024x2048)にすれば良い。

OS X Server Mountain Lionの管理ガイド

ひょんなことから、OS X Serverで諸々のサーバを立てることになった。

Mountain LionになってからのOS X Serverはまだまだ情報が少なくて、Server.appで設定できない部分をどうすれば良いのかわからないことが多い。

で、英語だけど本家の管理ガイドを見るのがやっぱり一番の早道だったりする。

OS X Server: Advanced Administration

これを見ながら設定ファイルをターミナルで書き換えることになる。

Lion版にあった(らしい)管理アプリはMLでは出ないんだろうか…

Mac版のRStudioのショートカットバグが修正された

Rの統合開発環境RStudioは便利だけど、日本語環境だと一部のショートカットがcommandキー(⌘)じゃなくてcontrolキーだったりして、混乱の元だった。

が、Version 0.26.225から日本語でもcommandキーが効くようになった。(0.26.228入れてから気付いた)

これでようやく誰にでもRStudioを勧められる。
Emacsで何でもやるひとの一番はESSだろうけどね。

MacにEmacs23.2を入れる

Emacsに依存した生活をしているわけではないけれど、指がEmacsキーバインドを覚えているのでコードを書くときはEmacsを使うことが多い。
Macには標準でEmacsが入っているけれどちょっと古い(Snow Leopardのは22.1.1)し、せっかくなのでCocoa化されているEmacs23.2を入れることにした。
参考にしたのはこちら。
Emacs23 (Cocoa Emacs) 入門から中毒まで : 紹介マニア
コンパイルする必要があるけれど、まったく問題なくインストールできた。
フォント設定は、LED Cinema Displayだと解像度が高すぎて、フォントサイズを大きくしたほうが見やすいので、

(create-fontset-from-ascii-font "Menlo-16:weight=normal:slant=normal" nil "menlokakugo")
(set-fontset-font "fontset-menlokakugo"
'unicode
(font-spec :family "Hiragino Kaku Gothic ProN" :size 20)
nil
'append)
(add-to-list 'default-frame-alist '(font . "fontset-menlokakugo"))

としてみた。ただ、これだと横幅は全角:半角が2:1にはなるものの、縦は日本語を入力すると行の高さが変わってしまう。
さらに日本語の長文を打っていると良く落ちる。インラインパッチをあてなければ少しは安定するらしいがまだ試していない。