2009/12/27

Amazon.comでSSD購入

Amazon.comでSSDを注文してみた。
当然ながら日本のAmazon.co.jpとはアカウントが異なるので、別途作る必要がある。
日本の住所のクレジットカードでも問題ない。

Amazon.comで扱う商品のうち海外に発送可能なのは、基本的にはCDやDVD、本など。
SSDのようなエレクトロニクスの品物は海外発送の対象外だ。
しかしAmazon.comに出店している業者は必ずしもその限りではない。
各業者のShippingのポリシーを見ると、International shipping availableのところは結構ある。
今回は選んだのはElectronica Directというところだった。

後はAmazon.co.jpと同じように進む。
最後に警告メッセージが出たので何かと思ったが、関税がかかるとの表示のみ。
そのまま進むとあっさりOrderが通り、Confirmationのメールが来た。
品物が届くのは年明け。

2009/12/07

Intel SSDとファームウェア

Intel SSDの新ファームウェアが11/30に公開された。
このIntelのSSDの世代とそのファームウェアの情報をきちんと理解していないので、ここでまとめておく。

IntelのSSDには現時点では3種類あり、その1つ目が第1世代50nmプロセスのMLCのSSD。
X18-MというマイクロSATAを採用した、1.8"の規格のものと、X25-Mという通常のノートで多く採用されている2.5"の規格の2つがある。
容量は80GBと160GBの2種類。
速度はシーケンシャルReadが250MB/s以上、シーケンシャルWriteが70MB/s以上。
ケースはブラック。

2つ目は第1世代だがSLCのSSD。
プロセスはこちらも50nmだが、SLCという点が異なる。
またSATAの規格のみで製品名はX25-E、容量は32GBと64GB。
速度はシーケンシャルReadが250MB/s以上、シーケンシャルWriteが170MB/s以上。
ケースはこちらもブラック。

3つ目が第2世代の34nmプロセスを採用した、MLCのSSD。
こちらにもX18-MとX25-Mの2種類があり、容量もそれぞれ80GBと160GBの2つがある。
ケースは白と銀になっている。
速度はシーケンシャルReadが250MB/s以上、シーケンシャルWriteが80GBモデルで70MB/s以上、160GBモデルで100MB/s以上。
この第2世代は1.8"版が全く世に出ていないようで、Intel Communitiesでも話題になっている。

Release Noteによれば、これらの3種類のうち、11/30にアップデートされたファームが適用されるのは34nmプロセスの第2世代だけ。
第1世代のファームウェアはそれぞれ、-Mは2009/4/13の045C8820が、-Eは2009/8/25の045C8850が最新。
問題を起こしたり、起動できなくなったり、Trimコマンドが使えるようになったりするのも、全て第2世代のほうで、第1世代とは無関係だ。

ちなみに信頼性はMLCで、平均1,200,000時間、SLCだと平均2,000,000時間だそうだ。
信頼性の定義が気になるところだが、MLCの値でも100年以上になる。
これが1/10であったとしても、たぶん十分だろう。

2009/11/23

プラズマTV

自宅用にプラズマTVを購入した。
Hitachi製WOOO P42-XP03、42型録画機能付プラズマTV。
P42-XP03はフルHDのパネルを採用していて、録画用HDDの容量は250GB。
TV用の台、組み立てと取付け込みで、8月にヨドバシで200000円ちょっとだった。

プラズマの録画機能付きのTVということで、VIERAとWOOOの2択だったが、WOOOになった。
パネルは全く一緒だが、HDDの機能とか、チューナーの数とかそういったものが異なっている。
自分は一度見た番組は基本的にすぐに消してしまうので、HDD容量は重要ではなく、チューナーが2つというのと、価格差を考慮して。

売り場で悩んだのだが、フルHDにするかHDか。
フルHDは1920x1280で、HDだと1280x720。
価格差は30000円程度だったが、売り場にいたHitachiの販売員によれば、人間の眼にはほとんど区別がつかないということだった。
しかも現在の放送機材はフルHDではなく、導入には大金が要るので、すぐには移行しないだろうとも。
ただ今後、フルHDのコンテンツが増えていくことを見越して、フルHDにしておいた。

しばらく使ってみて気になったのが、どうも映像がそんなに綺麗ではないという点。
実家で使っている、WOOOのW37P-HR9000のほうが映像が綺麗だ。
特にパターン状の映像が動くとき、ブロック状のノイズになったりするのが気になる。
たくさんの粒状のものが動いたり、スポーツイベントの客席などが映像として流れるとき気になる。
おそらく映像がパネルに追いついていないからだと思うのだが、正確な理由は不明だ。
W37P-HR9000はフルHDではないので、それが見えてきていないだけだと思っている。

リモコンからはW37P-HR9000についていた、2画面のボタンが消えてしまったのが不満。
かわりに裏番組ボタンがついたが、こんなのは要らないので、2画面用ボタンに戻して欲しい。
それと2画面にした状態から、映像を外部入力に切り替えられないのも不満。
たとえば2画面にしておいて、ケーブルテレビとゲーム機のような映像入力にしようとしても出来ない。
これもW37P-HR9000で出来ていたことが出来なくなってしまった。

それと製品とは全く関係ないが、エコポイントの申請が甚だ面倒だ。
この製品はエコポイント23000ポイント分に相当する。
申請には保証書のコピーと申請書類、領収書の原本が要る。
こういう一連の手続きが必要な上、申請できる物品類のリストからポイント分に相当する物品を選び出さなくてはならない。
リストの中にはSuicaやPasmoもあるが、こちらは1ポイントが1円に相当していない一方で、QUOカードにすると1ポイントが1円になっているのも納得いかないところ。
こんなことはやめて、さっさと値引きしてくれたほうがずっといい。

2009/11/17

Adobe PostScript Driver

psファイルはほとんどのOSであまり使いやすいとは言えないが、Ghostscriptによってpdfファイルを作るときに必要になる。
Windowsでpsファイルを作る方法はいくつかあるが、今回はAdobe純正のツールを使うことにした。
具体的な手順はここに詳しい。
PPDファイルとユニバーサルインストーラを落としてきて、ローカルポートにFILE:を指定すればいい。
これだけでプリンタとしてAcrobat Distillerを指定できるようになる。

使うときは印刷からプリンタとしてDistillerを選べばよいのだが、出力先を指定しなくてはならない。
ここにC:からのフルパスを入れてやると、そこにpsファイルを作ってくれる。
GUIでフォルダ指定したり出来ないのがやや面倒に感じるが、これだけできちんとしたpsが作れる。
ちなみにリンク先のフォントに関する設定は現状だと何も要らない。
psはps2pdfで問題なくpdfに変わってくれて、きちんとベクトルフォントが適用される。
これで好きなようにPDFファイルを作ることが出来るようになる。

2009/11/15

ROOTの時間

ROOTで時間を扱うためには、UNIX timeに変換する必要がある。
例えば2009年11月15日00時00分00秒なら、

TDatime T0(2009, 11, 15, 00, 00, 00);

と書いてやると、T0という構造体に時間を入れることが出来る。
ただしこれをROOTの時間に直そうとすると、2009年11月15日にはならない。
これはなぜかというと、UNIX時間が1970年1月1日00時00分00秒からの経過秒数であるのに対し、ROOT時間は1995年1月1日00時00分00秒からの経過秒数になっているためだ。
従ってROOTで時間を使うときは、この点に注意する必要がある。

ROOTのUsers Guideの9章Graphics and Graphical User InterfaceのAxis with Time Unitsにtime offsetの3つの解決策が示されている。
1つ目は構造体にSetTimeOffsetを使うという方法。
gStyleのSetTimeOffsetを使って時間の構造体を変換すれば、このオフセット込みで計算してくれる。
2つ目はSetTimeOffsetを軸に適用すればいいというもの。
3つ目はSetTimeFormatを軸に適用するというもの。

もっと簡単にやるには、UNIX timeに変換した後で、788918400秒を引いてやればいい。
これは1995年1月1日00時00分00秒のUNIX timeで、実際には同じ結果になる。
上の例だと、

Int_t x0 = T0.Convert() - 788918400;

と書くと、x0にROOT時間の秒が入る。
グラフに使うための軸は、

TH1F *frame = new TH1F("frame", "", 9, x0, x1);
frame->GetXaxis()->SetTimeDisplay(1);
frame->GetXaxis()->SetTimeFormat("%y\/%m\/%d");

としてやればいい。

2009/11/01

ROOTでグラフに円を書く

ROOTで円を表示させるいいやり方を、かなり昔から探していた。
TF1を使うなら、1変数関数でなくてはならない。
円は式が2つになるうえに、ルートの中がゼロに近づいて行くので、TF1で無理やり表示させようとしても、ルートの中がゼロに近くなる領域では表示してくれない。

ROOTには他に楕円を表示させる、TEllipseというのがある。
しかしこれはグラフ用ではなく、なぜか中が塗りつぶされてしまう。
中の色は指定できるが、塗りつぶしなしのオプションが見つからない。
TEllipseで指定するのは中心のxとy、x方向の半径とy方向の半径。

TEllipse *e = new TEllipse(100, 100, 20, 20);
e->Draw();
e->SetFillColor(2);

もう1つ似たやつで、TArcというのも居る。
これも同様に中が白くなり、透明に出来ない。
TArcは中心のx、yと半径、開始の角度と終了の角度を指定する。

TArc *a = new TArc(50., 50., 10., 45., 315.);
a->Draw();

このように探しているものと似たようなものはあるのだが、パラメータ表示になるような関数をどうグラフに書けばよいのか、そのものずばりの答えになるようなものは見つからなかった。
自分が達した最終的な結論は、円はTGraphを使って書くほかない、というもの。
以下のように、まず角度の変数を十分細かく用意し、それを使って各点のx座標とy座標を計算させて結ぶ。
360度に対して1000個も点を打ってやれば、十分に線になる。
このようにすることで、パラメータ表示させるような関数、たとえばサイクロイドやアステロイドなどもグラフに書かせることが出来る。
ちなみに以下ではマニュアルに沿って配列を使っているが、配列が大きくなると計算時にメモリに大量にバッファするようになるので、SetPointを使うほうがいいだろう。

Double_t min = 0;
Double_t max = TMath::Pi()*2;
Double_t theta[1000], x[1000], y[1000];
for (Int_t i=0; i<1000; i++) {
theta[i] = max/1000.*i;
x[i] = 160 + 15*cos(theta[i]);
y[i] = 120 + 15*sin(theta[i]);
}
TGraph *g = new TGraph(1000, x, y);
g->Draw();

2009/10/31

FTPクライアント

一般にファイルのやり取りはscpで行うのだろうが、FTPもまだまだ現役で使用されている。
FTPのクライアントとしては、昔はFFFTPを使っていた。

長らくFTPなど使っていなかったが、最近になってWindowsがFTPを実装していることを知った。
コマンドプロンプトから

>ftp

と打てば、CUIで用いることが可能だ。
しかしこのWindows純正のFTPは、Tab補完が効かないので、非常に使いにくい。

なのでNcFTPを用いている。
このNcFTPはCygwinに実装されていて、これだとTab補完が効く。
Cygwinを立ち上げて、

$ ncftp

と打てば起動する。
サーバーにアクセスするには、

ncftp>open -u (IP or hostname)

とかすればいい。
-uオプションはユーザー名の指定。
抜けるのはbyeかexitで。
ファイルを取って来るには、

ncftp>get hoge

とすればいい。
ダウンロードされる先は、NcFTPを起動したときのディレクトリになる。

2009/09/22

ROOTの2次元ヒストグラムのカラー指定

ROOTで2次元のヒストグラムをカラーで表示させたいときがある。
デフォルトだと色が連続しておらず、また美しくもない色使いなので、今までは、

gStyle->SetPalette(1);

として、さらにDrawのときに"surf1"オプションを指定していた。
だがSetPaletteで指定できるカラーは許容範囲とはいえ、まだ物足りない。

このカラーを自分で指定するには、CreateGradientColorTableを使う。
たとえば次のようにすればいい。

TF2 *f2 = new TF2("f2", "0.1+(1-(x-2)*(x-2))*(1-(y-2)*(y-2))", 1, 3, 1, 3);
const Int_t Number = 6;
Double_t Red[Number] = {0.00, 0.00, 0.75, 1.00, 1.00, 1.00};
Double_t Green[Number] = {0.00, 0.00, 0.00, 0.00, 1.00, 1.00};
Double_t Blue[Number] = {0.00, 0.75, 0.75, 0.00, 0.00, 1.00};
Double_t Stops[Number] = {0.00, 0.20, 0.40, 0.60, 0.80, 1.00};
Int_t nb = 50;
TColor::CreateGradientColorTable(Number, Stops, Red, Green, Blue, nb);
f2->SetContour(nb);
f2->Draw("surf1z");

CreateGradientColorTableでは、何段階のGradientを指定するか、段階の位置をどの位の割合で取るか、そのRGBのカラーの割合はどうするか、Gradientのカラー表示は何段階で表示するかを決めている。
これで好きなようにカラーの表示を決めることが出来る。

2009/08/10

電話で英語で名乗る

「もしもし」が"Hallo"っていうのは中学で教わった。
しかしその後に必ず続くであろう、「私は~です」という言い方は習った覚えがない。
こういうときには、"This is ~ speaking."と言えばいい。
"Hallo.This is Tanaka speaking."とかでOK。

こういう日常的に使うであろうフレーズは、学校でまず暗記させてしまえばよさそうなものだ。
日本語で話すとき文法など意識してしゃべらないのに、英語だけ文法を意識して話したり聞いたりという教え方をするのは奇妙だ。

2009/07/31

ROOTのtutorial

Windows版のROOTのtutorialがあることを最近知った。
ROOTをインストールした直下のディレクトリに\tutorialsというところがある。
ここでROOTを立ち上げると、通常の起動のメッセージの下に、

"Welcome to the ROOT tutorials"

と出て、demo.Cを動かしてみるように促すメッセージが出る。
「Dis45ユーザーのためのROOT入門」の最初に出てくる、benchmark.Cもここにある。
起動してみると、ベンチマークが動き出し、ウニウニと各種のグラフやらヒストグラムやらの作成、フィットなどが行われる。
見ていて楽しいが、最後に出力されるベンチマークの結果はいまいちよく分からない。

ちなみに\tutorials以下の\graphicsにearth.Cというのがある。
earth.datを読み込んで世界地図を描画してくれるのだが、Windows版の5.20では上手く動かず。
これは5.22では正常に動くことを確認できた。

Ntuple

ROOTで計算させた結果を描画するとき、これまではいちいちヒストグラムを用意していた。
しかしinteractiveにカットや条件を変更し、その結果が見たいときとかには、いちいちそんなことはしていられない。
そこでNtupleを使う。

TNtuple *n1 = new TNtuple("n1", "", "x:y:z:w");

とかすると、n1というNtupleが4つの変数で作られる。
さらにこれらの変数に、For文とかWhile分とかで、

n1->Fill(x, y, z, w);

とかで値を詰めるだけでOK。
あとは、

n1->Draw("x:y", "w>0");

とかすると、wがゼロより大の値をとるときのxとyの分布図を出せる。
これで作ったヒストグラムも、当然通常のヒストグラムとして扱える。

また.ls();とか打つと、n1というNtupleが出来ているのがわかる。
たとえばマクロを書いて、n1というNtupleを作ったとして、マクロを実行した後もn1は消えないでいる。
そこで上の条件を変えて描画させたりも出来る。
出来ているNtupleについての情報は、

n1->Print();

とか打つと見ることが出来る。

2009/07/27

Ophcrackその2

Ophcrackがうまく動かない理由は、0.9.aというやたらと昔のバージョンを落としていたからだった。
最新のXp用の2.3.0を落としたら、あっさりと解析できた。
ツールもブート後に自動で起動するようになっている。
シェルの場所はhomeディレクトリになっていて、0.9.aとは異なっていた。
またHDDのマウントの仕方も0.9.aから少し変わっていて、/mnt/sda1/以下にハードディスクの中身全てがマウントされていた。

2009/07/26

Ophcrack

ふとしたことからWindowsのシステムのAdministratorパスワードを調べる必要が発生した。
そこで調べて出てきたのが、Ophcrackというツール。
これはUbuntuをベースとしたLinuxのLive CD。
イメージファイルを落としてきて焼いて、そのメディアから起動するとOSが起動する。
デスクトップにツールを起動するアイコンが表示されている。
起動ドライブのWindowsディレクトリはマウントされている。

デスクトップのツールを動かしてみると、画面が一瞬出た後、すぐに消えた。
しかたがないので、このツールが入っているところを探すと、/usr/local/bin以下にシェルの形で入っていた。
そんなに長いシェルでもなく、そんなに難しいことをしている感じはしなかった。
これを手動で動かし、その出力を見たところ、/mnt/windows/WINNT/system32というファイルが見つからず、スクリプトがエラーを吐いて止まっていた。

実際のsystem32は/mnt/windows/WINDOWS/system32にある。
このくらいきちんと見つけて欲しい。
仕方がないので、どこかにスクリプトをコピーして、編集しようとしたら、viはあるもののEmacsが入っていない。
仕方がないので、viで編集しようとしていたら、たまたまひょんなことからパスワードが分かった。
ということでパスワードクラックは必要なくなってしまった。

Webで見るとかなりあっさりとパスを破るようなので、古いバージョンか何かを落としてしまっていたのかもしれない。
15文字以上や記号等が入ると、解析が苦しくなるようだが、追加のファイルを落としてくれば、解析は不可能ではないようだ。

Microsoft Natural Wireless Laser Mouse 6000

マイクロソフトの無線マウスを購入した。
Microsoft Natural Wireless Laser Mouse 6000という奴で、Amazonで5712円。
形状が独特で、最初に量販店で見て以来、かなり長いこと気になっていた一品。

各社のマウスでエルゴノミクスな、人間工学的なデザインが導入されているが、その中でもこれは一際変な形をしている。
左右のクリックボタンがかなり傾いて配置されており、マウス自体の背が高い。
マウスを握る感覚が、モノを握り締めるような感覚で、上から手を置くという感じと少し違う。
手の傾きは45度くらいのイメージ。
これが非常に気持ちがよくてしっくりくる。
ただやや底面積が小さく、また背も高いので、不安定に感じることもある。
単3電池2本を搭載すると重さがあるので、倒れたりするようなことはない。
ワイヤレスマウスを始めて導入したが、非常に使いやすく、感度も問題なしだ。
サイドにボタンが2つついているが、こいつらは使わないのでよく分からない。

気になったのは2点。
まずはセンタークリックが固くて、押しづらい点。
センタークリックはあまり使わないからまあよいのだが、ときどき使うときに気になる。
それとUSBを抜き差しすると、そのうち挿し込んでもシステムから認識されなくなってしまう点。
付属のソフトを入れないで、Windowsのドライバで動かしているせいかもしれないが、こちらは何とかならないものか。

2009/07/09

DVD-ROMドライブ

X23のウルトラベースに使えるDVD-ROMドライブを2つ手に入れた。
1つは東芝のSD-C2201。
こいつはフロントベゼルの形状が合わなかったので、ついていたベゼルは剥がしてしまった。
DVD2.4倍速、CD20倍速でファームウェアのバージョンは1113。
入っているファームウェアによってはリージョンフリーもありえたのだが、こいつは駄目だった。
Nero InfoToolを使うと確認できる。
このツールを適当なところに落とし、解凍すると使える。
また「アクセサリ」>「システムツール」>「システム情報」でコンポーネントからドライブを見ても、ファームウェアを確認できる。

2つ目は東芝のSD-C2512。
ベゼルはウルトラベース用のものがついていて、ぴったり嵌まる。
DVD8倍速、CD24倍速で、DVD-RAMも読めるようだ。
こいつはファームウェアによらず、リージョンフリー化できないドライブだ。
2202よりも2512のほうが早いし、RAMも読めるようだし、ベゼルもついているしで2202の出番は無さそうだ。

X23でDVDを読めるようになったが、XPのWindows Media PlayerではDVDを再生できない。
新たにソフトを入れる必要があるので、VLC Media Player Portableを入れた。
このソフトは軽い上に、展開するだけで使えて、iso形式のイメージファイルも読める。
これでHDDに貯めているisoイメージも読めるようになった。

2009/07/04

ThinkPad X21

ひょんなことから、割と程度のいいX21を手に入れた。
そこでX23の痛んでいるパーツをX21から取ってきて、X23をリニューアルしようと思いついた。
X23で交換したいパーツとしては、キーボード、LCDベゼルの折れた左のラッチ、左右のヒンジ。
特にキーボードは、左Shiftの爪の1つが取れていて外れ易かったり、左クリックボタンの爪が折れていたり、クリックボタンの下のゴムがボロボロだったりする。
それとドッキングのODDがCD-ROMなのと、LCDの上のUSB端子カバーが欠品なのを何とかしたい。

が、X21のキーボードを外してみて、愕然とした。
X23とは取り付けが違うのだ。
保守マニュアルを見ても、X20とX21が共通、X22とX23が共通になっている。
X21は4つのネジで取り付けられているのだが、X23は3つだ。
逆なら3箇所のネジ位置が合っていればいいのだが、このままでは外したキーボードを生かせない。
仮に4箇所のうち3箇所のネジ位置が合っていても、残り1つのネジ穴のボスを切らないといけない。
そこまで頑張る気がしなかったので、キーボードを換装する案は頓挫。

仕方なく左Shiftと左クリックボタンのみをX21から外し、X23と取替え。
それとLCD上のUSB端子カバーをいただく。
ラッチとヒンジは交換するためにはかなり分解しないといけないので、これも見送ることにした。

使用中のドッキングに入っていたODDはCRN-8241U(LG製)。
これをCD-RWに差し替えてドッキングしたところ、あっさりと認識した。
認識したCD-RWの型番はUJDA310(MATSHITA)。
これでイメージをCD-Rに焼いたり出来るようになった。

2009/07/03

Firefox 3.5

Firefoxが3.5になったので、早速アップデートしてみた。
「ソフトウェアの更新を確認(O)...」からアップデートできる。
早くなったとの触れ込みだが、特に早くなったという印象は今のところない。

タブの横に、新しいタブを出すボタンがついたが、これが非常に鬱陶しい。
IEに最初実装されたときにも鬱陶しく感じたが、Firefoxに輸入されてしまった。
それとタブが1つになると、1つになったタブから、タブ自身を消去するための×ボタンが消えてしまう。
これはありがた迷惑な仕様だと思う。

それと予想通り、いくつかのアドオンが着いてきていない。
自分の使っているのだと、All-in-One GesturesとSageが未対応だ。
Aii-in-One Gesturesはノートでは使わないからいいが、Sageが未対応なのはかなり困る。
RSSリーダが使えなくなると、あちこちの更新をいちいち手動で確認しなくてはならない。
どこまで読んだかも分からなくなってしまいそうなので、なんとか早く対応して欲しい。

2009/06/28

mkvファイルの再生

動画の形式にmkv形式というのがある。
コーデックはH.264とVorbisとかの、ffdshowで再生可能なものだが、Windows Media Playerでは例によって再生できない。
flvとかoggMP4のときと同じで、スプリッタがないからだ。
なのでこのスプリッタだけを落としてきて、インストールすればいい。
参考にしたのは、このページ

SourceForgeから最新のスプリッタを落としてくる。
これをCygwinで解凍し、実行権限を与えて、/WINDOWS/system32にコピーする。
2つディレクトリが出来るが、使うのはReleaseのほう。
Release Unicodeのほうは使わない。

$ 7z x matroskasplitter_20050310.7z
$ chmod a+x Release/MatroskaSplitter.ax
$ mv Release/MatroskaSplitter.ax /cygdrive/c/WINDOWS/system32

さらに「ファイル名を指定して実行」で、regsvr32 MatroskaSplitter.axと打つと、「MatroskaSplitter.axのDllRegisterServerは成功しました。」と出て、インストール終了。
気をつけないといけないのは、もとのaxファイルを消してはいけない点。
ドライバとかのインストールでは、展開したファイルを消しても問題ないが、それは別のパスが通っている場所にコピーしているため。
この場合は直接呼ばれるファイルになるので、しかるべきところに展開し、消してはならない。

2009/06/27

ThinkPad T400s

今週6/24にThinkPad T400sがレノボから発表された。
しばらく前からウェブでリーク情報やら画像やらが出回っていたが、ようやく正式発表の運び。
構成はCPU SP9400(2.4GHz)、メモリ DDR3 2GBx1、LCD 14.1" WXGA+(1440x900)、1.8"HDD(5400rpm) 250GB、OS Vista Businessで、ダイレクト価格199,500円。
構成は今のところいじれない。
厚さ21.1mm-25.9mm、重さ約1.79kgということで、薄型軽量がウリだ。

約1.8kgというと、X23の重さ(約1.68kg)とほとんど同じくらい。
厚さにいたっては、X23が24.9mm-30.2mmなので、T400sのほうが薄い。
解像度はX23のXGA(1024x768)に対し、T400sはWXGA+だからかなり広い。
縦横の比率は違うが、実際の縦の長さもT400sのほうがX23より若干長い。
LCDもLEDバックライトになっている。
T60(SXGA)との比較だと、T400sは縦が短いし解像度も足りないが、今後16:10の液晶から16:9に移行していく流れを思えば、16:10のうちに1台欲しい。

しかし今秋にはWindows 7が控えている。
このOSから、OSの主流が徐々に64ビットに移行していくのではないかという気がする。
それにEngadgetのリークによれば、来春にはCalpellaプラットホームへの移行があると思われる。
これは大きな変更で、CPU+ノースブリッジ+サウスブリッジから、CPU+サウスブリッジという構成になる。
ガワは同じだろうが、基板とかの中身は一新されるはず。

さしあたりWindows 7の登場を待ってみることにする。
そのときにはSSDとか、その他の選べる構成もはっきりしていることだろう。

2009/06/14

T.sonic MP320

TranscendのT.sonic MP320(8GB)を買った。
Amazonで4920円。
MP3プレイヤーとしての他に、USBメモリ、ICレコーダー、FMラジオとしても使える。
大きさはライター程度。
USBに挿すことで充電し、フル充電で15時間連続再生出来る。
英語の学習用に安いMP3プレイヤー兼USBメモリを探したところ、8GBで5000円以下というのは今の段階ではこれだけ。
再生可能なのはMP3とWMAだが、AACは使わないのでこれで十分。
それと曲の転送に専用ソフトが要らないのもいい。
MP320をPCにつなぐとFMIN.DIRとMICIN.DIRというディレクトリが見える。
FMとICレコーダーの録音された音声がそれぞれ当該のディレクトリに収められる。

EL液晶は青色とオレンジの2色。
基本の表示は全て青。
はっきりしていて見やすいが、屋外だとほとんど読めない。
注意事項として本体が湿気に弱いと書かれているが、これは有機ELの弱点だからだろう。
それとONしてから、立ち上がるまでに若干時間を要する。

デフォルトはEnglish表示になっていて、そのままだと曲名等の日本語は文字化けする。
もちろん設定を日本語に直すと、日本語表示可能になる。
起動後SETという項目から設定できるが、その辺のことはどこにも書いてない。
SETからは時刻調整、標準時も調整可能。
デフォルトはUT+8:00で台湾になっていて、スタートの時刻は2008年1月1日。

曲はMP320内にファイルをコピーするだけでいい。
ディレクトリ構造は少なくとも2段階は読んでくれた。
アーティスト名、アルバム名の構造でもOK。
全ての曲を順にソートして、内部でプレイリストを作っているものと思われる。
選曲の際にはアルバム名一覧やアーティスト名一覧から絞り込むことは出来ない。
1曲ずつ再生する曲が曲順に液晶に表示され、それを左右ボタンで合わせて再生する。
曲数が増えた場合、いちいち送るのは面倒そうだ。
またこのプレイリストはディレクトリ構造が反映され、曲順が数字でファイル名先頭についているような場合でも、アルバムごとの曲順になる。

2009/06/06

Exact Audio Copy

言わずと知れたリッピングソフトEACをThinkPad X23に導入することにした。
X23には光学ドライブがついていないので、そのままだと入れても使えないため、これまでは入れないでいた。
昔、外付けで使おうとしたこともあったが、外付けドライブを外した状態でEACを立ち上げようとすると、ブルースクリーンになるという問題もあった。
ちなみに今回はウルトラベースに挿した光学ドライブを使う。

適当な場所に最新版eac-0.99pb5.exeを落としてくる。
これを実行すればよいだけだが、先にエンコーダを用意しておいたほうがいい。
インストールの途中でエンコーダの場所を指定しろと言って来るためだ。
しかもLAMEが推奨されている。
LAMEは公式ではsourceのみ配っていて、コンパイルされた形では配布していない。
そこでここからバイナリを持ってきた。
LAMEは先に展開しておく。

インストーラを動かして進めていけばいいのだが、コンポーネントを選択する時だけ要注意。
EACというのはEAC本体、CDRDAOはCDへの書き込みプラグイン、FLACはロスレスのコーデック、AccurateRipはリッピングの正確さを確認するためのプラグインで、それぞれ役割があるのだが、eBayIconはeBayへのショートカットが作られるだけで不要のものだ。
インストーラにもEACには不要のコンポーネントだが、インストールすることで作者をサポートすることになると書かれている。
なのでそこのチェックだけ外す。
それと自分のメールアドレスを書き込むように促される。
これは書かなくてもインストール可能だが、空欄だとcddbが使えない。
正確なアドレスを書く必要はないので、hoge@ac.jpとかでOK。
cddbはデフォルトだと日本語のCDに対応しないので、適当に対応しているcddbに切り替える。
自分はここを使っている。
http://freedbtest.dyndns.org:80/~cddb/cddb.cgiと記入すればいい。
今回は日本語化しなかったが、インストール含めた日本語化については、このページに詳しい。

それとLAMEだが、7z形式をCygwinから解凍したところ、うまく動かなかった。
The external compressor returned an error!
というWarningが出てしまう。
これはCygwinから解凍すると、実行ファイルlame.exeに実行権限が付与されないためだ。

$ chmod a+x /cygdrive/c/lame/x86/lame.exe

とか打ってやればちゃんと動くようになる。

ちなみに使ってみたところ、EACの外付けブルースクリーン問題は解決されていた。
これでウルトラベースを接続していないときに立ち上げてしまっても、ブルースクリーンにならずに済む。

2009/05/31

7-Zip

圧縮率が高いためか、7z形式のファイルを見ることが増えてきた。
p7zipはLinuxでもMacでも使えるし、Sourceも公開されている。
FreeBSD版もDOS版もBeOS版もある。
なんとなく市民権を獲得してきているように感じる。

Windows XPで7zを扱うには、7-Zipをインストールする必要がある。
7-Zipは7zはもちろんのこと、zip、rar、gzip、tar、bz2、lzhなんかのよく使われる形式はきちんとサポートしている。
インターフェースはWinRARに近い印象を受けた。
ところが自分はLhaplusの動作が気に入っており、どちらかというとWinRARの動作はあまり好かない。
従ってLhaplusからWinRARや7-Zipに乗り換えたくない。
おまけに圧縮解凍ソフトを2つ以上入れるのも、心理的にやや抵抗がある。
Lhaplusが7zに対応してくれればいいのだが、一向にその気配もない。

どうしようかと思っていたら、7-Zipのコマンドラインバージョンがあることを知った。
これを使えば、Cygwinから7-Zipが使えるようになる。
コマンドラインバージョンは7-Zipのページで公開されている。
これを落としてきて、適当なところに解凍する。
解凍すると中に7za.exeというのがあるので、シンボリックリンクを作ればいい。
例えばCドライブのC:\7za465に解凍した場合は、以下のようにする。

$ ln -s /cygdrive/c/7za465/7za.exe /usr/bin/7z
$ chmod a+x /usr/bin/7z

これでCygwinで7zコマンドが使えるようになる。
ただし7zコマンドで解凍するには、7zコマンドの後にコマンドをつける必要がある。

$ 7z

と打てば、コマンドが表示される。
解凍するにはxオプションを使う。
ここらへんはp7zipのときと同じだ。

$ 7z x hoge.7z

とすればいい。

2009/05/25

WZR-AGL300NH再設定

3月末から使用している無線LANルータWZR-AGL300NHには2つのモードがある。
"11a/n & 11g"と"11/b/g/n"で、これまでは11b/g/nのモードで使っていた。
X23が11aに対応していないという理由もあったのだが、前者で11bが使えるのかどうかがよく分からなかったためだ。
結論から言うと11a/n & 11gのモードで11bは使える。

それとWEPとWPAというのは同じようなものだと思っていたのだが、実際はこれらは包含関係だった。
WPAはWEPによる暗号化に加えて、ユーザー認証が出来るようになっている。
ただし11bの時代の機器ではWPAのユーザー認証に対応していない。
そこで11gのほうは11bの接続用にWEPキーのみ設定し、11aのほうはWPA2-PSKで認証を行うようにした。
暗号化はWEPではなく、さらに強固なAESをチョイス。
他に暗号化としてTKIPが選べるが、AESのほうがセキュアなためだ。

2009/05/21

Client Security Solution

ThinkPadに入っているレノボ謹製のソフトに、Client Security Solutionというのがある。
これを使ってあらかじめ指紋を登録しておくと、ログインのパスワード入力の替わりに、指紋認証でログイン出来るように設定出来る。

このソフトが縁あって使うこととなったT60に入っている。
起動時に必ず指紋を登録するように迫るので、やがてうっとうしくなってきて登録してみたが、これはなかなか便利な機能だ。
いちいちパスワードを入力しなくても済むというのは、大したことではないように思っていたが、一度慣れるとそこから離れがたくなる。

しかし指紋登録後、このClient Security Solutionが起動のたびに、今度はシステム鍵を作れというウィンドウを立ち上げるようになった。
そこで仕方なくシステム鍵を登録すべく、ユーティリティを進めたのだが、こちらは何度やってみても鍵の生成に失敗する。
Ver.7だったので、アップデートしたら消えるかと思ったが、そもそもアップデートが上手くいかない。
うっとうしいので、Client Security Solutionごとアンインストールしようかとも思ったが、指紋認証が消えてしまうのは困る。

そこでスタートアップから削除することにした。
"ファイル名を指定して実行"でmsconfigと打ち込み、cssauthというところのチェックを外して再起動する。
これでようやく起動時のウィンドウから開放された。

2009/05/09

MP4の再生

MP4動画は普通の設定では、Quick Timeによって再生される。
ちなみにQuick TimeはiTunesに必須であり、くっついてインストールされる。
しかしQuick Timeは非常に重いので、ロースペックのPCではまともに動かない。
10MB以下の動画であっても、X23では再生どころか、PC自体がフリーズしたような状態になる。

Quick Timeを使わないで再生するには、MP4用のスプリッタとffdshowがあればいい。
インストールはここを参考にした。
MP4のスプリッタはここにある。
解凍して出てくるMP4Splitter.axを、XPでは/WINDOWS/system32にコピーし、「ファイル名を指定して実行」でregsvr32 MP4Splitter.axと打てばいい。

これでもまだ重いが、一応再生できるようになった。
MP4がQuick Timeでまともに見れないPCでは、こっちを試すといい。

2009/05/06

OGMとかflvの再生

動画には、それらがどのようにして作られたかによって、様々な種類がある。
割とよくあるavi形式というのは、実際にはただの箱の形式に過ぎず、規格としてあまり意味はない。
従って動画は、その動画自体の再生に必要なcodecによって分類される。
動画再生のためにはこれらのcodecをインストールする必要があるが、codecはDivXやH.264など複数あり、いちいちインストールするのはやや面倒だ。

そこで自分はffdshowをインストールしている。
ffdshowは複数のデコーダとして働く上に、動作も軽いので重宝している。
この中にflv形式のデコーダも、Ogg Vorbisのデコーダも入っている。
しかし、これだけではflv形式や、OGMの動画を再生できない。

flv形式を再生するためには、FLVスプリッタを入れる必要がある。
ここによれば、動画再生では動画ファイルは、ソースフィルター、スプリッタフィルター、変換フィルター、レンダリングフィルターの順でフィルタリングされる。
ffdshowだけではflv形式を再生できないのは、このフィルターが足りないためだ。
同様にOGMについても、スプリッタを入れれば、ffdshowで再生可能になる。

2009/04/30

WZR-AGL300NHのポート開放

新調した無線LANルーターWZR-AGL300NHのポート開放を行った。
ブラウザ経由でルーターにアクセスする。
メニューから"ゲーム&アプリ"を選択すると、ポート変換設定画面に飛ぶことが出来る。
ついでグループ名、サーバーIP(グローバル)、プロトコル、クライアントIP(ローカル)を指定すればいい。

サーバー側のIPは基本的には可変であるので、この場合には"エアステーションのInternet側IPアドレス"を選択する。
プロトコルはほとんどの場合、TCP/UDPを選択する。
全て、ICMP、任意というのはよく分からない。
TCPの特定のポートを開けたい場合は、"任意のTCPポート"を選び、開けたいポート番号を指定する。
クライアントのIPは開いたポートを使う機器のローカルのIPを入れる。

2009/04/19

裸族のお立ち台

SeagateのHDDとともに裸族のお立ち台も購入した。
これはHDDを外付け化するためのもので、Faithで税抜3109円。
3.5と2.5のHDDの両方に対応している。
HDDを上から挿すだけなので、非常に簡単に着脱可能だ。
これにST31000528ASを挿して、新たな外付けとした。
想定していたサイズより大きかったが、ウエイトが入っているようで、安定している。
その代わりに重い。
それと電源ボタンがついており、HDDのON/OFFが簡単なのもいい。

2009/04/18

外付け用HDD購入

外付けのHDDとして使用していたHGST製250GBが一杯になったので、新たに3.5インチのHDDを購入した。
今回購入したのはST31000528AS
仕様は下記の通り。

容量:1TB
インターフェース:SATA 3Gb/s NCQ
Cache:32MB
回転数:7200rpm

容量はもともとの4倍になった。
それとSATA接続のHDDを始めて購入した。
1プラッタは500GB。
Faithで8067円。
Seagateは今年初めにBarracuda 7200.11で、ファームウェアの問題でHDDにアクセスできなくなるというトラブルを起こしたが、これはその後継ともいうべきBarracuda 7200.12だ。
こういうものこそ普段に増して安全のはず。
SeagateのHDDは初めてだが、FMVに積まれていたのがSeagate製だった。
SMARTの数値はやたら変動しているが、もうかれこれ7年動いて不具合はない。

PCにつないでみると、容量は931.50GBと表示された。
この表記のずれはいい加減大きくなりすぎていると思う。
160GBのときは149GBと表示され、ずれは10GB程度だったのが、1TBではもはや70GB程度まで広がった。
2の10乗が1024であり、それを1000と計算しているので、こんなことが起こるのは周知の通り。
1000/1024の値の3乗の比率になっているが、これは1GBを基準にしているため。
2の30乗=10の9乗の読み替えが行われている。
このずれは2TBになると、1862.6GBとなって100GBを超え、容量の拡大に伴って大きくなっていく。
メーカーページのFAQに乗せたりしないで、そろそろどこかで業界として基準を再統一したほうがいいような気がする。

2009/04/11

ウォシュレット

ウォシュレットを買って取り付けた。
TOTO製のTCF315SC1で、Amazonでは税込み22050円。
このシリーズには3グレードあって、一番下がTCF305で一番上がTCF325。
305と315の違いは脱臭機能の有無。
325と315の違いは温風乾燥の有無。
315は305よりも上位なのだが、なぜか315のほうが安く、325は315よりも10000円以上高価なので、315を選んだ。
ちなみに色はソフトブルーが一番近かったが、アイボリーが500円安かったので、そっちにした。

購入前に取付けが可能かどうか、あらかじめ便器の周りの空間の寸法を測っておいた。
またうちはトイレは風呂と別だし、アースのついたコンセントもあった。
止水栓の形状も至って普通で、給水タンクの形状も位置関係も問題ないことを確認した。

取付けの手順は同梱の説明書に従えばいいだけだ。
メジャーとドライバー(+と-)、モンキーレンチを用意する。
まず水道の元栓を閉める。
次に便器の蓋を外し、ウォシュレットを取り付ける台座をつける。
止水栓を外し、ウォシュレット用のパーツと交換し、配管後本体を固定して電源を入れて終了だ。

水道の元栓が固くて、きちんと閉めることが出来なかった点と、止水栓のパーツがやたら固く、付属のドライバーでは取り外せなかった点で少し苦労した。
止水栓は大型のマイナスドライバーを購入してきて、取り外した。
またトイレが狭く、アースや電源の接続に苦労した。
結局、取付けは購入で中断した時間も込みで、3時間程度かかった。
二日酔いで作業していたり買い物に行ったりしたため、やたら時間がかかったが、作業自体は1時間ほどで終了する程度のものだと思う。

2009/04/02

WZR-AGL300NH

無線LANルーターを新調した。
現在のネットワーク環境はCATVの160Mなので、有線はギガビット対応が望ましい。
さらに無線がa/b/gに対応していて、かつ価格を出来る限り抑えたものを探した。
これまでの使用実績があるiodataには、条件を満たすものが無かったため、最終的にはBaffaloのWZR-AGL300NHにした。
Amazonで11600円也。

このWZR-AGL300NHは11nも対応している。
このルーターはモード切替になっており、11aを使うか使わないかの設定が出来る。
デフォルトでは使う設定になっている。
11aを使うモードでも11bは使える。

X23は11bしかついていないので、とりあえずMACアドレスを登録し、11bのWEPのキーを設定した。
aはbやgと違って電子レンジと混信しないのが特徴だが、とりあえず今は必要ない。
なのでaは使わない設定にした。
aを使う設定にすると、そのために色々と設定しなくてはならないからだ。
gのWPAとかの設定は今後、そういう機器が来たら考えることにする。

2009/03/17

Linuxでのネットワークプリンタの設定

FC5でネットワークプリンタの設定をした。
あらかじめ必要なドライバ類はインストールしておく。

まずrootになって、

# printtool

とする。
これでプリンタ設定のGUIが立ち上がる。

ここで新規を押すと、新規印刷キューの追加というウィンドウが立ち上がる。
進む(F)で次の画面に移り、名前と簡単な説明を記入する。
名前は適当につけてよいが、空白が入ってはいけない。
進む(F)で次の画面に進むと、プリンタタイプを指定する画面になる。
ネットワークプリンタはキュータイプの選択でネットワーク上のJetDirect(J)を選択し、プリンタの欄にIPを打ち込んで進む(F)を押す。
ポートは特に指定していなければ、デフォルトの9100でよい。
さらにプリンタのメーカーと型番を指定して、進む(F)を押す。
最後に内容をチェックして、完了を押せばいい。
共有になっていることもチェックしておく。

上手くいったかどうかは、テスト(I)からテストページを印刷させることで分かる。
またUbuntuだと、システム->システム管理->印刷から設定が可能だ。

2009/03/15

部屋の間取り

部屋の間取りには1Kや2DKなどがあるが、実際にどのような意味なのか、はっきりと知らなかった。

Kはキッチンで、DKはダイニングキッチン、LDKはリビングダイニングキッチンの略である。
DKというのは、キッチンにテーブルを置けるスペースがあるということを意味する。
LDKはさらに広いキッチンを意味し、キッチンが他の部屋とつなげられていたりする場合に使われるようだ。
このときつなげられている部屋もLDKの1部になる。
最初の数字は、そのほかにある部屋数を意味する。

従って、2DKの2部屋のうちの1つを、壁を壊す等してキッチンとつなげると、1LDKの間取りになる。
また1LKのような間取りは存在しない。
K=>DK=>LDKとなるようだ。
自分はLはリビングルームがある場合につくのだと思っていた。
それは間違いではなかったようだが、リビングがキッチンに隣接しているという定義を知らなかった。
不動産屋の人に聞いたので、恐らく正しいはず。

2009/03/07

ブルースクリーン

先日、ThinkPad X23のHDDがカツッという音を立てて、フリーズした。
HDDを交換した後は、気になるような音は一度も無かったので、突然のことに驚いた。
ポインタも一切動かせず、Ctrl+Alt+Deleteも効かない。
やがてブルースクリーンになり、KERNEL_DATA_INPAGE_ERRORと出て、0x0000007Aと表示された。
原因はatapi.sysで、カーネルデータをメモリに読み込めませんでした、ということのようだ。

Begining dump of physical memory.と出ていたので、そのままにしていたら、やがて再起動した。
そしてOperation System not found.と出て止まった。
atapi.sysというのはCD-ROMのドライバだそうで、状況的にHDDの突然死だろうと推定した。
X23にはCD-ROMドライブがないのだが。

仕方なくそこで電源をOFFにしたが、もう一度起動したら、なぜか何事も無くXPが立ち上がった。
その後しばらく様子を見ているが、特に問題は発生していない。

2009/03/05

Skype4.0

Windows用のSkype4.0がリリースされていたので、アップデートした。
縦長だったウィンドウがずいぶん横長になっている。
ウィンドウの左側にコンタクトリストが表示され、コンタクトをクリックすると、公開されている情報やチャット履歴が表示される。
発信ボタンはコンタクトリストの下から、右側のウィンドウに移されていた。
また電話へ発信するには、コンタクトリストからタブを切り替えるようになっていたのが、4.0からはコンタクトリストの下のボタンを押してモードを切り替えるようになった。
他にも発着信履歴のタブが消えていた。
また全体的にVista風味のUIになっていた。

自分はSkypeのウィンドウは出来るだけ幅が狭いほうがしっくり来るので、表示(X)->コンパクトビュー(Z)の設定にした。
これでコンタクトをクリックしても、右に余計な情報が出ないですむ。
ただし発信ボタンはコンタクトリストの下に復活しない。
なのでツール(Y)->設定…(Z)の一般設定で、コンタクトのダブルクリックで通話発信のチェックボックスにチェックを入れる。
それからSkypeの枠をXP風味に戻すために、ツール(Y)->設定…(Z)の一般設定から、ウィンドウの外観スタイルをSkypeからクラシックウィンドウにする。
またSkypeをアップデートすると、webの電話番号にSkypeが関連付けられてしまうので、ツール(Y)->設定…(Z)の詳細設定で関連付けを切る。

これで少し自分の思うUIに出来た。
3.0のほうが使いやすかったが、慣れてくるとまた違うのかもしれない。
音については比べてないので分からない。

2009/02/17

Pythonの論理積

Pythonでは論理積の演算子は"&"ではない。
&はビット演算子の論理積なので、文字列やfloat型の変数の比較には使えない。
このような、普通の論理積には"and"を使う。

2009/01/28

FedoraでSMART情報を参照する

FedoraでHDDのSMARTの情報を見るには、rootになる必要がある。

# /usr/sbin/smartctl -a /dev/hda

などとすると、HDDのSMARTの情報を参照できる。
普通のユーザーでは/dev/hdaなどにアクセスできない。
ここに詳しく出ている。
これをモニターすることで、調子の悪いHDDの状態を知ることが出来る。

2009/01/19

ROOTファイルの扱い方

ROOTでは.root形式を扱うことが出来る。
この形式はバイナリで、ヒストグラム等を格納できる。
容量を稼ぐので、よく使われる。
このファイルを読む方法は2つある。

1つ目はGUIを立ち上げればいい。

root [n] TBrowser b;

とすると、ROOT Object Browserが立ち上がる。
これでrootファイルを選択する。

2つ目はコマンドラインから読み込む。

root [n] TFile f("hoge.root");

これでfという名前で読み込める。
hoge.rootの中身は

root [n] f.ls();

とすると見ることが出来る。
格納されているものはKEYとして表示される。
閉じるときは、

root [n] f.close();

とすればいい。

2009/01/10

ROOTのコンパイル

ROOTはバイナリとソースの2つで配布されている。
コンパイルされたバイナリを持ってくるだけで動くので、今までコンパイルしたことが無かった。
今回初めてコンパイルしてみたら、予想外のトラブルに悩まされた。

まず/home/chonan以下にソースを展開すると、root/というディレクトリが出来てくる。
そこに移動して、

$ ./configure --prefix=/home/chonan/root
$ make
$ make install

としてみたら、コンパイル自体ではエラーは発生しなかった。
そこで環境変数ROOTSYSを決めて、ROOTを起動しようとすると、エラーを吐いた。

rootx xpm error: XpmOpenFailed

というエラーが1行目に出て、

Error:cannot open file "iostream" (tmpfile):2:
*** Interpreter error recovered ***
Error:cannot open file "_string" (tmpfile):2:
*** Interpreter error recovered ***
Error:cannot open file "RtypesCint.h" (tmpfile):2:
*** Interpreter error recovered ***

というエラーが表示された。
一応、rootは起動しているのだが、正しく動いておらず、マクロ等も動かない。

これはconfigureのprefixの指定に問題があるからだ。
インストールする場所は、ソースを展開したroot以下であってはならないと決められているようだ。
違う場所を指定したら、きちんとインストールされた。
それとこのようにコンパイルしてインストールしたROOTの場合、LD_LIBRARY_PATHには$ROOTSYS/libではなく、$ROOTSYS/lib/rootを追加する。
この2つに注意すれば、問題なくインストールできる。

2009/01/08

ツライチUSB2.0

ツライチUSB2.0をAmazonで購入した。
送料込みで\2600。
これはUSB2.0ポート増設用カードで、PCカードスロットに差し込んで使う。
ただしツライチUSB2.0は、その名のとおり、カードスロットから飛び出す部分が全くないという点で、よくあるデバイスと一線を画する。
このため、スロットにイジェクト用レバーが無い場合、取り出せなくなってしまう。
Windows XPを搭載したThinkPad X23に装着したところ、差し込むだけであっさりと認識し、正常動作した。
X23はUSB1.1のみなので、大容量のデータ転送には時間がかかることが多く、USB2.0のカードが欲しかった。

使用してみた感想だが、USBの差し込みが非常に硬い。
ツライチのガワがそのままUSBの端子のメス側のガワになっているのだが、そこが削れてしまうのではないかというくらい硬い。
始めは差し込む向きを間違えているのかと思ったほどだ。
それと端子のガワが外側に向かって丸まっていないため、USBを差し込む位置を合わせるのは、目で見ながらやらないといけない。
手探りで適当に刺さるようなことは期待できない。

USBを気軽に刺したり抜いたりはしづらいが、高速での転送が必要なときだけ使うようにすれば、特に気にならない。
非常に自然な形でUSB2.0の端子を増設できたので満足。

2008/12/21

タイトルに日付を入れない

TeXで\maketitleとすると、日付が入ってしまう。
\dateコマンドを書かなくても、デフォルトで作成日時が入るようになっている。
しかし書式等が決まっていて、日付を入れたくないときがある。

こういうときは、

\date{}

と書けばいい。
これだけで日付を消すことが出来る。

2008/12/07

TeXにpng画像を貼り付ける

TeXに画像を貼り付ける場合、普段はeps形式にしてから貼り付けるということをしていた。
これだと元画像から容量が急に大きくなったりする。
epsもirfanviewとかではデフォルトでは見れないし、使いづらい。
ちなみにGimp2.4.6でも、変換してepsを出力することは出来るものの、見ることが出来ない。

pngを直接貼るには、まずもとのTeXファイルでdvipdfmのパッケージを使う必要がある。
本文の上に、以下の行を追加する。

\usepackage[dvipdfm]{graphicx, color}

次にebbというコマンドで、画像サイズを指定するbbファイルを作ればいい。
これによって、hoge.bbというファイルが出来るが、Bounding Boxを指定するファイルで、わずか1KBである。
中には画像タイトル、作成に使ったソフト、画像サイズ、作成日時が1行ずつで入っている。
ファイルの数は減らないが、bbファイルは1KBでしかないので、容量としてはずいぶん稼ぐことになる。
このやり方で、jpgファイルもPDFも貼ることが出来る。

2008/12/05

グラフや関数の座標軸にタイトルをつける

ROOTで座標軸にタイトルをつけたい場合、ヒストグラムだと非常に簡単だ。
SetXTitle、SetYTitleがあるので、簡単に指定できる。
しかしこの関数は、TGraphとかTF1といった、グラフや関数を描画する際には使えない。
TGraphやTF1にはSetXTitleやSetYTitleが用意されていないためだ。

グラフや関数の軸にタイトルをつけたいときは、GetXaxisとGetYaxis、SetTitleを組み合わせて使う。
SetTitleは左上に出る、グラフや関数そのもののタイトルを与えるが、軸にタイトルをつけるのにも使用できる。
一度描画してからGetXaxisやGetYaxisで、軸を取ってくればいい。

TGraph* g1 = new TGraph(n, x, y);
g1->Draw();
g1->GetXaxis()->SetTitle("X-Title");
g1->GetYaxis()->SetTitle("Y-Title");

タイトルを中心に持ってきたり、タイトルのオフセットを変えたりする場合も、いちいち軸を取ってくる必要がある。

2008/11/30

ROOTあれこれ

グラフやヒストグラムを何かの関数でフィットするとき、パラメータを固定したいことがある。
そのときにはFixParameterを用いる。

TF1* f1 = new TF1("f1", "[0]*sin(x)+[1]*cos(x)", -0.1, 0.1);

としたとして、[1]のパラメータを0にしたいときは、

f1->FixParameter(1, 0)

とする。

それと上限値をつけるときグラフに矢印を描いたり、エラーバーが上下左右対称でない場合など、エラーバーをいじりたいときは、TGraphAsymmErrorsを用いる。
ただしこれを使ったグラフは、うまくフィットが出来ない。
フィット作業は行うが、変な結果を返してくる。
なおTGraphErrorsはきちんとフィットできる。

2008/11/17

Skype Out

Skypeから固定電話にかけるには、料金が発生する。
今回やむなく使用したのだが、その価格に驚いた。
ハワイから日本の固定電話にかけて、なんと\2.66/分。
3分で8円。
ちなみに日本の携帯だと、\17.5/分。
固定電話に関しては、非常に安い。
おまけにプリペイドカードと比べると、圧倒的に手軽だ。
音質等も問題ない。

2008/11/04

serving

食事を買いに行ったとき、"How many serving ~?"って聞かれた。
が、困ったことにservingの意味が分からない。
すると店員の人が、これがone serving、これがtwo serving、という風に見せてくれた。
そこでなんとなく、servingっていうのが、単位であることが理解できた。

調べてみると、servingっていうのは、1人分とか1杯って言う意味があることが分かった。
serveにも~人分である、という意味がある。
学校で習ったかもしれないが、覚えていなかった。

2008/11/01

サクラエディタでPython mode

Windowsで使うエディタはしばらく前から、サクラエディタだ。
このサクラエディタはプログラムのコードを書くとき、拡張子に対応して、強調キーワードに色付けしてくれる。
ところがCとかTeXとかは自動的にやってくれるのだが、Pythonのコードの場合、自動的に強調ワードに色付けしてくれない。
色付けしてくれるようにするには、以下のようにすればいい。

1.メニューバーの"設定">"共通設定"と選び、"強調キーワード"タブをクリックする。
2."セット追加ボタン"をクリックし、セット名をPythonとする。
3."インポート"から、python_2.5_kwdを選んで、OKを押す。
4.メニューバーの"設定">"タイプ別設定一覧"を選択し、設定されていない設定(設定17等)を選択して"設定変更"をクリックする。
5.設定の名前をPythonとし、ファイル拡張子にpyと入れる。
6."カラー"タブをクリックし、強調キーワード1にPythonのセットを選択する。
7.コメントスタイルはブロック型(F)"""~(T)"""、ブロック型(A)#~(Z)として、OKを押す。

これでPythonのコードに色づけしてくれるようになる。
さらにつける色を替えたり、色付けしてほしい単語を追加することも出来る。

2008/10/26

unix timeと時間の変換

unix timeを普通の時間表記に直したいときがある。
すばやく計算したいときは、ターミナルで以下のように打てばいい。

$ ruby -e 'p Time.at(1224928800)'

これはRubyのコマンドを、-eオプションで1行だけ実行させている。
逆に普通の時間をunix timeにしたりしたいときは、dateコマンドを使う。

$ date -d '2008/10/25 00:00:00' +'%s'

+'%s'の部分でunix timeの出力を指定している。
ちなみにdateはbashのコマンドだが、上のようにunix timeを普通の時間に戻すことは出来ない。
またPythonでもRubyと同じようにできないか調べたが、どうもヘルプを読んだ限りでは出来ないようだ。
1行だけのコマンドを実行するオプションがなかった。

2008/10/21

Xのシングルウィンドウモードその2

検索していたら、こんなページを見つけた。
実はこれまでにWindow Managerを起動すればいいことは分かっていたのだが、.xinitrcを作って、

wmaker &

と書き込んでも、Window Managerはすでに起動しているというエラーが出て、Xが立ち上がらなかった。
なので原因は別だと思っていた。

だけど実際にはWindow Managerは立ち上がっていないようだ。
よって改めてWindow Managerを立ち上げればいい。
それには立ち上がったxtermで以下のように打てばいい。

$ twm &

ただしこれはKDEに似ていて、自分はあまり好きじゃない。
もう1つの方法は、xtermで

$ wmaker &

とする。
UIが違うだけだが、自分はこちらのほうが好みだ。

Xlib: extension "MIT-SHM" missing on display "(hostname):0.0".

というエラーが出るが、特に気にする必要はなさそうだ。

2008/10/18

Cygwinのシングルウィンドウモード

CygwinではローカルでXを起動するコマンドとして、startxとstartxwin.sh、xinitの3つがある。
startxとstartxwin.shはシェルで、/usr/X11R6/bin以下にある。
xinitはxinit.exeという実行ファイルで、場所はstartxとかと同じ。
ちなみに自分が現在使っているCygwinのバージョンは1.5.25。

このうちstartxとstartxwin.shはマルチウィンドウモードで立ち上がり、xinitはシングルウィンドウモードで立ち上がる。
シングルウィンドウモードのほうが自分は好きなのだが、xinitだとウィンドウ内のウィンドウを移動できなかったりして、これはこれで非常に使いづらい。
そこでstartxからうまくシングルウィンドウモードを立ち上げられないかを調べた。

startxがマルチウィンドウモードで立ち上がるのは、30行目に

defaultserverargs="-multiwindow -clipboard"

というのがあるため。
この-multiwindowを取ってしまえば、シングルウィンドウモードで起動できる。
が、このままだとxinitとまったく同じ状態。
まだまだ使いづらいのだが、解決策は今のところ分からず。

結局xinitの設定の問題かもしれない。
startxはxinitrcとxserverrcを読み込んでいるので、ここを変えればいいのかも。

2008/10/10

PDF Knife

PDFファイルを編集するためのソフト第2弾。
PDF KnifeはPDFから好きなようにファイルを切り出せる。
開始と終了のページを指定すれば、そこを切り出せるほか、ばらばらにすることも出来る。

PDF Knifeはここから落としてくればいい。
インターフェースはこれ以上なくシンプル。
解凍すればすぐ使えて、レジストリも汚さないし軽い。

2008/10/07

cfitsioのサンプルプログラムをコンパイルする

cfitsioのサンプルプログラムが、ここにある。
注釈の数字をどけてから、コンパイルしようとして失敗した。

:undefined reference to `ffopentest'

とかいう風に、いくつかの関数が定義されていないというエラーが出る。

これは-lmをつけないで、sinとかがあるプログラムをコンパイルしようとしたときと同じエラー。
これを解決するには、-lcfitsioをつければいい。

$ gcc hoge.c -lm -lcfitsio -o hoge

とかでいい。

-lはリンクするライブラリを指定している。
mathとcfitsioにリンクします、という意味だ。

Cygwinにcfitsioをインストールする

ここからWindows用のcfitsioを落としてくる。
落としてきたファイルを適当に解凍して、Cygwinのgccでコンパイルするだけ。
そこで

$ ./configure

とやるとエラーを吐いた。
エラーの1行目は、

./configure: line 11: $'\r': command not found

という感じ。
エディタでconfigureを見てみると、10行目まではコメントアウトされているので、いきなりこけていることが分かる。
そこで11行目を見てやると、11行目はただの改行。
おそらく改行コードだろうと思って、LF改行に変更してやるとうまくいった。
ちなみにデフォルトでは、configureがあるディレクトリ以下にlibとincludeが作られてしまう。
prefixを使った指定はうまくいかなかったので、一連のファイルを/usr
/local以下に持って行く。

$ ./configure
$ make
$ make install

これでOK。
余分なファイルは、/usr/local/srcを作って、そこに突っ込んでおいた。

2008/10/03

Amazonクレジットカード終了

Amazonクレジットカードが今年の12/15をもって終了してしまうようだ。
自分のメインのカードとして使っていたのでショック。
Amazon内の買い物なら2%、その他の買い物でも1%のバックがあり、これは一定額たまると、ギフトカードとしてメールで送られて来ていた。
今まで何回かギフトカードを活用した。
年会費も無料だったし、入会特典の2000円バックもあった。

匹敵するカードとなると、P-oneカードくらいか。
12/15までにシティクラシックカードが送られてくるようだが、こっちは年3150円。
海外旅行保険がつくが、シティポイントは使い勝手が悪そうだ。
あと2ヶ月で代替のカードを探すしかないか。

2008/10/01

ROOTでのフィット結果の見方

ROOTでフィットしたとき、そのカイ2乗の値や自由度を求めたいとする。
たとえば、g1というグラフを用意し、g1をf1という関数でフィットしたとする。
このときカイ2乗と自由度を求めるには、次のようにすればいい。

double chi = f1->GetChisquare();
double ndf = f1->GetNDF();

これでchiにカイ2乗が、ndfに自由度が入る。

カイ2乗に関しては、マニュアルのFitting HistogramsのAccess to the Fit Parameters and Resultsに載っているのだが、自由度についてはマニュアルには記載がない。

2008/09/27

Linuxサーバへのインストールあれこれ

Linuxサーバにソフトをインストールした。
ここでサーバと書いたのは、root権限を持たないPCという意味だ。
root権限が無いので、/usr/localとかは触ることが出来ない。
ROOTのインストールはバイナリを持ってきただけなので、ソースを落としてきてコンパイルしたわけでは無い。
今回インストールしたのは、cfitsioとCCfits、gqviewの3つ。

まずcfitsioのtarをここから落としてくる。
解凍してできたディレクトリに移動し、configureを実行する。

$ tar xzvf cfitsio3100.tar.gz
$ cd cfitsio
$./configure --prefix =/home/chonan/

これで自分のホームディレクトリ以下にインストールするためのMakefileが出来る。
後はmakeしてやればいい。

$ make
$ make install

こうすると、/home/chonan以下の/libにlibcfitsio.aが、/includeにdrvrsmem.h, fitsio.h, fitsio2.h, longnam.hが出来る。

次にCCfitsをここから落としてきて解凍し、そこに移動する。

$ tar xzvf CCfits-2.0.tar.gz
$ cd CCfits
$./configure --prefix =/home/chonan/ --with-cfitsio=/home/chonan/cfitsio

README.INSTALLに従って、cfitsioの場所を指定している。
しかしこのようにすると、

configure: error: C++ compiler cannot create executables

というエラーを吐いて止まってしまう。
config.logというのを見ると、CCという変数が指定されていないために、C++のコンパイラが無いというエラーが表示されている。
そこでconfigureの中に

CC=gcc

の1行を追加してやったら、今度はMakefileが出来た。
実はREADME.INSTALLの上の方に、CCを指定するようにという記述があったのだが、こいつを無視していた。

$ gmake
$ gmake DESTDIR=/home/chonan/CCfits install

ここでもインストールする場所を/home/chonan/CCfitsに指定している。
デフォルトでは/usr/localにインストールするようになっている。
それで良ければ、DESTDIR=の部分は要らない。

gqviewも上に同じ。
ここから落としてくる。

$ tar xzvf gqview-2.0.4.tar.gz
$ cd gqview-2.0.4
$./configure --prefix =/home/chonan/
$ make
$ make check
$ make install
$ make clean

これで/home/chonan/bin以下に、gqviewの実行ファイルが出来る。

PDF reDirect

PDFを作ったり、編集したりするソフトといえば、Adobe Acrobatだが、Standardでさえ30000円以上する。
Adobe Acrobat 7の頃、Elementというのが出来て、PDF化とちょっとした編集が出来て10000円以下、というのがあったが、それ以降消滅してしまった。
ちなみにTeXはdvipdfmxでPDF化出来るし、Open OfficeとかStar suiteとかは直接PDFにエクスポートできるが、編集できない。
自分が求める機能は、PDF作成、結合+分割、ページの回転。
作ったファイルに広告が入ったりするものや、日本語フォントで文字化けしたりするのは論外。

純正品はお高いので、フリーでPDF化するツールを探すと、これが結構いっぱいある。
しかしたったこれだけの条件に、適合するソフトは、自分の調べた範囲では1つもなかった。
圧倒的に多いのが、プリンタとして動いて、PDFを作成するだけのソフト。
あるいは結合するだけ、分割するだけ、回転するだけのソフトがそれぞれある。
広告が入ってしまうのも結構ある。

色々と調べた挙句、自分にはPDF reDirectがベストだという結論に達した。
PDF reDirectは作成と結合が出来るソフトで、広告無しの日本語OK。
メニュー等の日本語化は出来ないようだ。

PDF reDirectはここから落としてくる。
インストールは言語を選択可能だが、日本語はないので英語。
実行すると、途中でWindowsでは認証されていないプリンタドライバを入れる許可を求めてくる。
これを許可しないで、もたもたと注意書きを読んでいたら、インストールに失敗した。
気を取り直し、再実行して、ドライバにもOKを押すと、インストール完了。

作成は印刷でプリンタにPDF reDirect v2を選べばよいだけ。
もっさりとだが、勝手にPDF reDirectのUIが立ち上がる。
画質、カラー、ページの回転、保存場所、ファイル名を指定できる。
日本語や全角数字もファイル名にしてOKで、暗号化も出来る。
保存場所はFoldersの中の好きなフォルダを選べばよい。

結合はPDF reDirectを立ち上げる必要がある。
プログラムから立ち上げ、Foldersで結合したいファイルの場所に行くと、Filesというところに勝手にPDFが読み込まれる。
これをドラッグ&ドロップでMerge Listに入れて、上と同様に画質やら何やらを指定し、Saveを押す。

これだけのことがフリーで出来るのは、自分が知る限りPDF reDirectだけだ。
デフォルトでFoldersが毎回デスクトップに戻ることと、結合するファイル名がもとのファイル名になっていること、いちいちプレビューを読み込もうとすることの3点が気になるが、おおむね満足。

2008/09/20

ROOTでのフィット

ROOTでは任意の関数で、任意のグラフやヒストグラムをフィットできる。
例として2次元ガウス関数で、読み込んだファイルをフィットしたいとすると、次のようになる。

double par[6];
f1 = new TF2("f1", "[0]+[1]*exp(-(x-[2])*(x-[2])/2/([4]*[4])-(y-[3])*(y-[3])/2/([5]*[5]))", 100., 200., 100., 200.);
f1->SetParameters(100., 500., 150., 150., 30., 30.);
g1 = new TGraph2D("hoge.dat");
g1->Fit("f1");
f1->GetParameters(par);

parはフィットした結果を格納するための配列。
まず、f1で2次元ガウス関数を用意している。
このときフィットで求める値は[n]の形で書く。
上の例だと、[0]がオフセット、[1]はピーク高さ、[2]と[3]が中心のxy座標、[4]と[5]がxyのσになっている。
その後の数字は、式を定義する範囲であり、何も書かないと、デフォルトでは0から1になる。
SetParametersでは初期値を決め、g1はhoge.datという、(x y 値)という形式のファイルを読み込んだグラフである。
最後のGetParametersでフィットの結果をparに格納している。

ROOTの軸あれこれ

ROOTでグラフを書くとき、軸を追加したり改変したりしたいときがある。
たとえばy軸は普段、上が大きく下が小さいが、これを逆にしたかったりする。
こういうときはTGaxisを使う。
たとえばy軸の上下を反転させる場合だと、次のようになる。

frame = new TH1F("frame", "", 10, -50, 1000);
frame->SetMinimum(0.0);
frame->SetMaximum(20.0);
frame->Draw("AB");
TF1 *f1 = new TF1("f1", "-x", 20, 0);
TGaxis *a1 = new TGaxis(-50, 0, -50, 20, "f1", 510, "-");
a1->Draw();

まず始めにframeという枠を指定している。
x座標は-50から1000までで、yは0から20である。
このときDrawのオプション"AB"は軸を描画しないことを意味する。
軸の表記が重ねがきになるのを防ぐためである。

次にf1という関数を作る。
-xで軸の値の分布の関数を作っていて、20と0はその範囲を示している。
TGaxisの始めの4つの数字は、元の図の中での軸の始点と終点の座標を入れる。
ここでは軸は(-50, 0)から(-50, 20)までを指定している。
510は軸の目盛りの分割数を意味していて、510がデフォルトだが、510個に分割するわけではない。
数値の詳細は不明だが、これを大きくすると分割数が上昇した。
最後の"-"は軸に書かれる数値やタイトルが軸のどちら側に来るかを指定する。
ちなみに軸のタイトルとかは
a1->SetTitle("");
とかやればいい。

これだけだとx軸には何も出ないので、新たに軸を書いてやる必要がある。

Cでlogを使う

logを計算したいときは、lnと10を底にしたlogの2つの場合が多い。
関数電卓ではlnというボタンとlogというボタンがあるので、理由もなくCでもそうだと思っていた。

実際には、Cではlogはlnに相当している。
つまり、

y = log(x);

とすると、yにはln(x)が入る。
では10を底にしたlogの関数はというと、log10という関数がそれだ。

y = log10(x);

とすると、yにlog(x)が入る。

2008/09/11

DV-410V

DVDプレイヤーを探して欲しいと頼まれた。
そこで性能と価格について調べた。
必要な機能はDVDの再生とTVへ出力できること。
それとケーブルの取り回しが楽なHDMI端子付きであればなおよし。
この条件で調べ、DV-410Vを買ってみた。
10300円@Amazon。

思っていたよりも奥行きが無い。
そして軽い。
なので省スペースだが、何かの台にするには、あまりよろしくない。
それと付属のケーブルが1mしかない。
1mだと大きいTVの場合、端子位置にもよるけど、かなり設置場所が限られる。
本体のボタンもやや小さめ。

HDMIケーブルが付属しないので、2mのを1380円@Amazonで購入して、実際にDVDを見てみた。
結論としては、俺基準だと画質的にはまったく問題なし。
ただ2画面表示(4:3)にしたときと全画面(16:9)とで、色が違うように見えたのがやや気になった。
アスペクト比が4:3のときのほうが、16:9よりも鮮明だったように思えた。
こいつはUSBとかに入れたDivXの動画とかも見れるし、CDも聞けるようなので、そこら辺は追々。

ファイルの行数を知る

今までファイルの行数を知るのに、wcコマンドを知らなかった。
仕方なくEmacsとかで開いていたが、やたら大きいサイズのファイルだとEmacsのバッファサイズを超えてしまって、開けなかったり、えらい時間がかかったりしてしまう。

$ wc -l hoge.txt

とすれば、行数が表示される。

2008/09/06

fitsのネガポジ反転

fits画像をネガポジ反転させたくなったのだが、Irfanviewでうまくいかないので調べた。
Irfanviewでは、読み込んで反転させるまではいいのだが、それをfitsで吐き出せない。
irafとかSDFREDとかでは出来るようだが、インストールとか設定が面倒だ。

自分の環境では、もっとも簡単なのはGIMPでやることだ。
画像を開き、メニューバーの色(C)>反転(V)で反転させることが出来る。
なお、おなじくメニューバーの選択(S)>反転(I)というのがあるが、こちらはうまくいかない。

2008/08/23

sprintf

これまであまり文字列をCで扱う機会が無くて、Cで文字列を合成するsprintfを知らなかった。
sprintfはprintfと同じ感覚で使える。
stdio.hをインクルードする必要がある。
ちなみに文字列はPythonで扱うと非常に楽で、結合したければ+で出来てしまうし、切り出すにはsplitが使いやすい。

#include <stdio.h>
char str[10];
char str1[5] = "Today";
char str2[2] = "is";
int month = 8;
int day = 23;
sprintf(str,"%s %s %2d/%2d\n", str1, str2, month, day);

このように書けばいいだけだ。
この関数のおかげで、strcpyとか、strcatとかの存在意義がよくわからなくなった。

Pythonでの時刻取得

PythonでもCと同様に時刻取得が出来る。
Cだと、time.hをインクルードして、gmtime()を使えばいい。
#include <time.h>
time_t t;
struct tm *ut;
time(&t);
ut = gmtime(&t);

こうするとtに、1970年1月1日からの秒が入る。
さらに構造体utに、UTの時刻の表示形式に変えて格納している。
PCのある地域のローカルタイムにするには、localtime()を使う。
これで年、月、日、時、分、秒、曜日、1/1からの日数、夏時間フラグが取り出せる。

基本的にはPythonも同じ。
timeモジュールをインポートして、gmtime()とすると、時刻を取ってこれる。

import os
from time import gmtime, strftime
year = time.gmtime()[0]
month = strftime("%b", gmtime())

gmtime()が返す時刻は9項目で、Cと同じく、年、月、時、分、秒、曜日、1/1からの日数、夏時間フラグ。
上では1つ目の出力をyearに入力している。
またstrftime()は時刻を入力し、その出力を所定の文字列で返す関数。
%bは省略形の月名(先頭大文字の3文字)を指定している。
他にもいろいろな形式を指定できる。

ちなみにbashでもdateと打つと、時刻を持ってこれる。

wget

wgetはコマンドラインから、URLを指定して、Webページを取得するコマンド。

$ wget (URL)

で持ってこれる。
ファイル名を指定したい場合は、

$ wget (URL) -O hoge.html

などとすればいい。

2008/08/13

ifの制御式

ソースを書いたり読んだりしていて、すぐに忘れてしまうので記述。

ifは制御式を評価して、それが非0なら、以降の文を実行するようになっている。
制御文が変数のみだった場合、その数値が非0なら、実行される。
0なら実行されない。

2008/07/23

pLaTeXとdvipdfmxのインストール

cygwinもofficeも無事インストール終了したので、pLaTeX関係。
1年前にもやったので、流れも要領も分かっている。

まずここからインストーラを落としてきて、/usr/localに解凍。
注意すべきは、落ちてきたexeファイルに実行権限が無いこと。
そのままだとアクセス権限が無いので、インストールできない。

$ chmod a+x *.exe

同様に標準インストールの20個のファイルを落としてきて、/usr/local/tmpに格納。

$ ./texinst757 tmp/

これで終わり。
要らなくなったtmp/を削除し、exeファイルはbinに格納、残りは消去。
ユーザーの環境変数PATHにC:\cygwin\usr\local\binを追加した。

これでtexファイルをコンパイルしてみると通らない。
jsarticle.clsが見つからないというエラー。
デスクトップ検索してみたが、見当たらないので、ここから落としてきた。
/usr/local/share/texmf/tex/platexにjs/というフォルダを作って、そこに解凍する。
これでコンパイルが通るようになった。

次にGIMPをインストール。
これでEPSをいじれるようになる。
GTK+2はGIMP 2.4になって、要らなくなった。
最後にGhostscriptをインストール。
日本語版はここから落とせばいい。
環境変数PATHにC:\gs\gs8.62\bin;C:\gs\gs8.62\libを追加する。

作業は以上。
これでplatexもdvipdfmxも復活。

2008/07/20

X23のACアダプタとHDD

一昨日からX23の様子が少し変だった。
発端はACでつないでいるのにバッテリ駆動だったこと。
といっても、バッテリはもうほとんど空っぽなので、電力はすぐ尽きてしまった。
とりあえずバッテリをはずしたりしてみたが、どうにも改善しない。
そこでACアダプタの入力側のケーブルをいじったところ、AC駆動になった。
しかし非常に不安定なままだった。
思えばここで気付いて、適切に対応していればよかった。

一昨日はそのままにしておいて、昨日朝にもう一度いじる。
この時点で、おそらくACアダプタの入力側ケーブルが断線しているであろうことに気付いていた。
しかし先にやってしまいたいことがあったので、ACアダプタを注意して固定しておき、X23を起動させた。
当然、状態は非常に不安定で、使用中に唐突に電源がOFFになるということがあり、そのたびに立ち上げていた。

こういうのを何回か繰り返した後、Windowsがうまく立ち上がらなくなってしまった。
XPのロゴは出るが、直後にブルースクリーン&再起動のループ。
セーフモードでも同じ。
HDDを抜いて、USB接続のケースに入れ、他のPCにつないだところ、システム領域が空だと認識されていた。
また入力のACは中の2本のうちの1本が断線しているのをテスターで確認した。

こうなってしまうと再インストールか、修復かしかない。
そこでACの入力ケーブル(400円也)を購入しつつ、ウルトラベースX2のある自宅に帰宅した。
まずCDから修復を試みたが、システム領域には見事に何も無く、どうしようもなかった。
そこでシステム領域をフォーマットし、そこに改めてXPをインストールした。
ウイルスバスターを入れ、Microsoft Updateを掛けて、アプリをいくつかインストールして、作業としては一段落。
あとはMicrosoft OfficeとCygwinの再インストールと設定が非常に面倒くさいので、今日以降に。

それにしてもドライバ類とかアプリを入れるのがますます簡単になった。
Lenovoのサイトから、ThinkVantage System Updateというのを落としてきて動かすだけ。
これで必要な分を自動で探してきてくれる。
前はいちいち確認して手で1つずつ入れていた。

2008/07/12

ウイニングイレブン2008のネットワーク設定

PS2のウイイレ2008ではネットワーク対戦が出来るようだ。
そこでネットワークケーブルを買ってきて設定してみた。
買ってきたのはカテ6eのケーブル。
ギガビットも10ギガも対応している。
端子の保護がついていて、5mで約1000円@ビックカメラ。

PS2の型番はSCPH-75000なので、専用ネットワークアダプタは不必要。
ルータとLANケーブルでつなげばいいだけ。
WE2008を立ち上げ、ネットワークを選ぶと、自分のネットワークの設定を打ち込む画面になる。
PPPoE不使用にし、IPを割り振り、ゲートウェイとDNSにルータのIPを入れる。
サブネットマスクは255.255.255.0。
次にPCからポート5738(UDP)を開く。
WE2008で決めたIPについて、ポートを開く設定にした。

作業はこれだけ。
設定の後のネットワークチェックで、ネットワーク接続が確認できた。
とりあえず今日はここまで。

2008/07/03

ROOTのgStyle

ROOTでヒストグラムを書いたり、グラフを書いたりすると、右肩に名前とか、平均値とかの情報が表示される。
デフォルトでそうなっている。
だが、この表示が鬱陶しくなるときがある。
TH1だとSetStats(kFlase);とか書けば消すことができるのだが、他の場合ではどうするのか知らなかった。

この設定をいじくるにはgStyleという構造体の中の、SetOptStatという変数を指定してやればいい。
ここによれば、セットできるパラメータは9つ。
9桁の数字は、尖度(k)、歪度(s)、ビン数(i)、オーバーフロー数(o)、アンダーフロー数(u)、RMS(r)、平均値(m)、データ数(e)、ヒスト名(n)の9つに対応している。
kとsとrとmは0-2の値、その他は0-1の値を取る。
0は表記せず、1は値の表記あり、2は値とそのエラーの表記ありという風になっている。
ちなみにデフォルトだと000001111になっているので、RMS、平均値、データ数、ヒスト名が記入される。
また000001111のうち、0以外の最大の桁の数字より左側の0は省略可能。
つまり000001111と1111は同じになる。
全てがゼロの場合、統計情報のボックスは消える。

例1)gStyle->SetOptStat(0); //統計情報ボックス無し
例2)gStyle->SetOptStat(11); //ヒスト名とデータ数

またコンターマップの色を指定するときも、gStyleの変数SetPalleteを指定する。
デフォルトは色使いのセンスがイマイチなので、

gStyle->SetPallete(1);

とかしてやればいい。

2008/06/28

タンジェントの逆関数

Cのタンジェントの逆関数atan(double)は-π/2からπ/2の値を返す。
しかしタンジェントは180度周期なので、360°で考えるときには、このままでは駄目だ。
そのため0°から360°の範囲で考えなくてはいけないときには、別途cosとかsinを見る必要がある。
atan2(double, double)はその点、-πからπまでの値を返してくれる。
どうせcosとsinが分かっていて、角度を知りたいときがほとんどなので、atanよりもatan2の方が使い易い。

ちなみに三角関数の逆関数が返す値の範囲をいつも忘れるのでメモ。
acosは-π/2からπ/2。
asinは0からπ。

それと角度を計算する時は単位に気を付ける。
大体、妙な動作をするときは決まって、度のまま三角関数を計算しようとしてしまっている。

2008/06/23

VMplayerのアップデート

yumでさまざまなアプリをアップデートしたせいで、カーネルもアップデートされてしまった。
そのせいでVMplayerが使えなくなってしまった。
これはかなり痛い。
/usr/bin/vmware-config.plを実行してみたが、途中でエラーを吐いて止まってしまう。

仕方が無くVMplayerをアップデートすることにした。
バージョンアップされていたので、アップデートしたら使えるのではないかと期待。
前と同じrpm版を落としてくる。

# rpm -Uvh VMware-player-2.0.4-93057.i386.rpm

でアップデート。
次いで、

# /usr/bin/vmware-config.pl

で設定。
デフォルトのまま、Enterを押していると、今度はOKだった。
これで今までのWindowsのイメージファイルが使えるようになった。

2008/06/20

ヒートシンクお掃除

FC5を入れているPCのCPUがやたら熱くなっていた。
そこでケースについていた壊れたファンを交換してみた。
これで冷えるだろうと思いきや、全く効果が無かった。
最近は常時60度前後で、何か重い処理をするとすぐに70度とかになる。
ヒートシンクに直接風を当てても冷えないということなので、ヒートシンクからの放熱に問題があると思われた。

そこでヒートシンクの上についている、CPUファンを取り外してみた。
するとファンとヒートシンクの間に綿埃が層になって挟まっていた。
さらにヒートシンクの薄い金属板の間にも埃が挟まっていた。

埃を圧縮空気で吹き飛ばし、PCの電源をオンにすると、驚くほど温度が下がっていた。
常時60度前後だったのが、45度前後になった。
これで問題なく今年の夏を越せる。

Firefox 3 続き

いくつかのPCで試したけど、Gmailから抜けるとき、おかしくなるのはThinkPad X23だけだと判明。
しかも必ずというわけでもなくて、問題なく抜けられることもある。
訳が分からない。
マウスジェスチャに関しては、All-in-One Gesturesのインストーラを書き換えると使えるらしい。
すぐに対応してくれても良さそうなものだ。

Linux版もFedora Core 5に入れようとしたけど、あえなく失敗。
GTK+のバージョンが2.10以降じゃないと使えないが、Fedora Core 5は2.8なので、GTK+をアップグレードしてくれと言われてしまう。
そもそもFC5にはもともとFirefox 2さえ入ってなかったし、ディストリ的にもう時代遅れだということか。

GTK+のアップグレードは面倒で試していない。
yumで簡単に出来るようなものでもなさそうなので、今のところFC5だけはFirefox 2で行く予定。

# yum update

ではうまく行かなかった。

余談だが、これでアップデートすると、Firefoxが2から1に戻されてしまった。
/usr/bin以下のFirefoxの実行ファイルを消して、Firefox 2の実行ファイルにリンクを貼っていたからだ。
なので後から直してやらないといけない。
yumは便利だけど、メジャーアップデートとかがあると面倒臭い。

2008/06/18

Firefox 3

本日(6/18)午前2:00から正式版がリリースされた。
Firefoxのサイトはつながりづらくなっているが、早速DLしてみた。
Windowsだとexe形式で落ちてくる。
落としてきたファイルを実行するだけで、非常に簡単にFirefox 2から移行できた。

インターフェースは多少変わったが、特に大きな変更はないという印象。
設定は引き継がれるし、ブックマークもそのまま。
気になったのは、これまでのアドオンが一部使えなくなったということ。
Skypeはそのまま使えたが、SageとAll-in-One Gesturesが使えない旨の警告が出た。
SageはFirefox 3に対応した1.4が出ていたので、それを使えば問題なかったが、All-in-One Gesturesは使えなくなってしまった。
マウスジェスチャが使えないと非常に不便だ。

速度はややスピードアップしたかなという感想。
GmailとかGoogle Docs & Spreadsheetsとかがサクサク動くことを期待していたのだが、やっぱりそこまでは速くならなかった。
X23のハード的な問題も絡んでいるのかもしれない。
食べログ.comとか、YouTubeの表示は結構速くなった。

1つだけ気になる点は、Gmailからのログアウト時の挙動。
Gmailからログアウトしようとすると、突然CPU使用率が100%になり、メモリの使用量が際限なく上がっていく、ということが起こった。
この現象は再現性があった。
これはGoogleからのログアウトでは起こらなかった。

大騒ぎすることもないが、今回のバージョンアップで全体的に使いやすくなったと感じた。
後はマウスジェスチャとGmailの問題が何とかなってくれればいいのだが。

2008/06/11

USBメモリを洗濯した

最近、USBメモリを買い換えた。
これまでは1GBのTS1GJF150というのを使っていたが、少し容量が少ないと感じることが増えたためだ。
そこで同じくTranscendのTS4GJFV30というのにした。
こちらは4GB。
Amazonで2580円也。

このTS4GJFV30をうっかり洗濯してしまった。
たまたま中には何のデータも入っていなかったのだが、データ以上にハード死亡は痛い。
ところが駄目元でPCに突き刺してみたら、何と認識した。
今のところ、データのコピー等にも問題無し。
嬉しい誤算。

2008/06/01

Solid Edge 2D Draftingでdxfファイルを扱う

Solid Edgeを使っていて、dxfファイルを開きたくなるときがある。
ところがこのとき問題がおきる。
デフォルトがインチになっていて、mmで書かれた図が拡大されて取り込まれてしまうのだ。
開発元がアメリカだからなのだろうが、こういった仕様は何とかして欲しい。
世界的にはmmだろう。
設定をいじってもうまく読めないので、配布元に連絡してみた。
そこで判明したやり方は以下のとおり。

1.まず[ファイルを開く]を用いて、dxfファイルをクリックする。
2.ダイアログボックスの[オプション]をクリックする。
3.[AutoCADからSolid Edgeへの変換ウィザードーステップ8の1]というウィンドウで[次へ]をクリックする。
4.[AutoCADからSolid Edgeへの変換ウィザードーステップ8の2]で単位をmmとし、[次へ]をクリックする。
5.[AutoCADからSolid Edgeへの変換ウィザードーステップ8の4-7]で[次へ]をクリックする。
6.[AutoCADからSolid Edgeへの変換ウィザードーステップ8の8]で[新規構成ファイルを作成する]を選択し、[コピー先]をクリックする。
7.[名前をつけて保存]で適当なファイル名をつけて、[保存]をクリックする。
8.[AutoCADからSolid Edgeへの変換ウィザードーステップ8の8]で[完了]をクリックする。

これで開けばいい。
7.で決めた設定ファイルが呼ばれるので、次からは特に指定する必要は無い。

2008/05/28

イイ話

GoogleSatTrackの作者の方が、NASAからスペースシャトルの打ち上げに招待されたそうだ。
ここでご本人が経緯とともに報告されている。

一読して、やっぱり人は人に認められたいもんなんだと改めて思った。
自分の存在が社会に肯定されるっていうのは、そりゃ嬉しいもんだろうなあ。
シャトルの打ち上げの招待状はそれが具体的な形になったもののように思えてならない。

2008/05/25

Cでのプログラムあれこれ

1つ目のTipsはガウス記号について。
ガウス記号を用いるのにどうすればいいのか、良く知らなかった。
そこでこれまでは、(int)(double x)みたいな書き方をしていた。
こうするとxが正だったら、小数点以下を取ってくれる。
ただし負だと期待した動作にならない。
ただ小数点以下を取ってしまうので、欲しい値よりも+1された値が返ってくる。
具体的には、例えば-2.8は-3になって欲しいのに、-2になってしまう。
なので、正か負かをあらかじめ考えておく必要があった。

実際にはfloor関数を用いればよい。
これはガウス記号とまったく同じ動作をしてくれるので、正負に注意する必要がない。
これは床関数といい、これとは反対に天井関数というものもある。
天井関数はceil関数を用いる。

2つ目はgccについて。
sinとかcosの三角関数を使うようなとき、gccでコンパイルしようとするとエラーを吐く。
これを回避するには、-lmオプションを指定すればいい。

2008/05/21

緯度と経度を求めるには

緯度や経度は普通気にする必要はないが、時々知りたくなったりする。
こういうとき、手軽に求める方法を見つけた。
ネタ元はここ

Google Mapを開き、経度と緯度を求めたい地点を地図の真ん中に持ってきて、[このページのリンク]をクリックすると、URLの中に入っている。
下6桁まで入っているが、そんな精度は普通要らない。
下2桁くらいの精度で求めたいときは、目の精度で十分。
URLは長いが、見てすぐにそれと分かる。

2008/05/17

MobileMeter

MobileMeterはノートPCのCPUとHDDの温度をモニターする。
仕組みはよく分からないのだが、Core Tempと違って、X23でも温度モニター可能。
その他、CPUのクロック数が変動している様も見ることが出来る。
が、X23で900MHz以上の周波数を返してくることがあったりした。
ちなみに上限は866MHz。

X23のCPU温度は60度程度、HDDは40-45度。
ノートだとこんなもんか。
VMwareのXPに入れてみたが、こちらはCPUのクロックのみモニターできた。

2008/05/07

XP SP3

SP3が公開になったので、VMWareで動かしてるXPに突っ込んでみた。
ちなみにProfessional。
1度目は失敗したが、2度目で成功。
ちなみにIE7を入れたままやると、IE6に戻せなくなるようだが、別にIEを使わないので無視。

HDDの使用量は5.35GBから6.61GBに増えた。
インストール前後で1.26GBも増えたということだ。
あまり大きな変化があるようには見えないのに、やたらと大きい。
HDD容量小さめのPC使ってる人だと、入らないんじゃないだろうか。
SSDとか、今はやりのEee PCとか。

2008/05/05

FC5その後

CPUを注意してモニターしていると、スクリーンセーバを表示しているとき、CPU使用率が100%になり、温度が70度程度まで上がることに気づいた。
そこでCPUに負担をかけないように、スクリーンセーバを真っ暗になるだけにした。
これで劇的な改善が見られた。
CPU温度は大体50-60度で安定するようになり、この状態でシステムも安定した。
CPU温度60度後半は危険水域で、これくらいでほぼ間違いなく熱暴走し始める。
もう少しマージンを取りたいのだが、PCの蓋を開けっ放しにしても効果が見られない。
モニターできているので、危なくなるとすぐにそれと分かるようになっただけだが、それでも幾分マシな状況にはなった。

2008/04/29

FC5でCPUとHDDの温度を監視する

FedoraCore5を使っているが、近頃どうしようもなくXの調子が悪い。
手始めに時計とかボリュームのアプリが落ち始め、連鎖的に落ちた挙句、最終的にXが落ちたり、あるいはそういう前触れなしに、いきなりXが落ちたりする。
前にディストリを入れ替えたが、そういえばそのときもXの不調が原因だったように思う。

そこでよくよく観察していると、CPUに大きな負荷がかかった時にXが駄目になっていた。
2つのディストリで同じような問題が発生したという事実を踏まえれば、これはハードの問題を疑わざるを得ない。
CPUの負荷を上げたときに落ちやすいことから、今の段階では、電源やメモリではなく、熱による暴走を疑っている。
そこでCPUの温度をモニターすることにした。

FC5でCPUの温度をモニターするには、GNOME Sensors Appletを用いる。
やり方はここここを参考にした。

まずyumでGNOME Sensors Appletとhddtempを持ってくる。

# yum install gnome-applet-sensors
# yum install hddtemp

次にhddtempを起動し、自分の環境に合わせて、HDDを指定する。

# hddtemp -d /dev/hda

さらに[デスクトップ]>[設定]>[他の個人設定]>[セッション]で、[自動起動するプログラム]にhddtemp -d /dev/hdaを追加する。
こうしておいて再度ログインすると、Hardware Sensors Monitorというのが、パネルに追加できるようになっている。
これでパネルに温度を表示できる。
このアイコンを右クリックし、Sensorsタブを見ると、動いているセンサーが確認できる。
自分の環境ではacpiの下にCPUという項目があり、これはデフォルトでONになっていた。
一方HDDのほうはONになっていなかったので、hddtempのプロパティで、Enabledにチェックを入れた。

今の段階では、アイドル状態でCPU温度が51度、HDDの温度は36度になっている。
今後、監視してみて、落ちるときの温度をみてみよう。

2008/04/25

cron

自動的にある時間ごとに実行していて欲しいプログラムがある。
このとき一定時間ごとに動くようにシェルを書くというのも1つの手だが、どんなきっかけでプロセスが終わってしまうとも限らない。
そういうのをターミナルから実行するのは、嬉しくない。

こういうときはcronを使えばいい。
時間間隔と実行して欲しいシェルを指定すると、あとは勝手に実行してくれる。
デーモンとして動いてくれるので、予後を気にする必要がない。

設定は非常に簡単。

$ crontab -e

と打てばいい。
こうすると、デフォルトのエディタで、設定ファイルが立ち上がる。
そこに例えば、

SHELL=/bin/bash
DIR=/home/hoge

0 1 * * * $DIR/hoge.sh

とか書いておく。
この例だと、1時間に1回、/home/hoge以下のhoge.shを実行してくれる。

デフォルトのエディタはFC5だとviだが、これはexportで指定できる。

export EDITOR=emacs

というのを.bashrcに足しておけばいい。

それと自分の環境では、シェルを実行するたびにいちいちメールが来るようになっていた。
これを回避するには、crontabに、

MAILTO=""

という1行を書いておけばいい。

ちなみに実行するhoge.shに、ROOTが入っている場合、hoge.shに環境変数の追加が必要になる。
自分の環境では、ROOTSYSとROOTDIR、PATH、LD_LIBRARYを付け加えると動いた。
それとファイルの場所はフルパスで指定する必要がある。

2008/04/19

bashからROOTのマクロを動かす

シェルからROOTのマクロを呼びたいときがある。
これには下記のように打てばいい。

$ root -r -b -l -q hoge.C("hoge.dat")

-qがROOTの実行後、シェルに復帰させるためのオプション。
さらにこの読み込むファイルを変数にするには、

$ root -r -b -l -q hoge.C(`printf 'hoge.C("%s")' $data`)

と打てばいい。
$dataはファイル名を別途入れる。

ここで注意する必要があるのは、"のところ。
ROOTのマクロでファイルを引数に取るには、"を用いる必要があって、'とかだとエラーを吐く。
printfのほうは"でも'でも問題ないが、ROOTのマクロは"である必要がある。

TGraph2DとTH2

x座標、y座標、値の3つが並んだファイルがあったとする。
このときこれを2次元的なコンターマップにしたいとする。

これにはTGraph2DとTH2のどちらかを使えばいい。
ただし両者の振る舞いはかなり異なる。
TGraph2Dは各座標の値の中間値を計算しているらしく、やたらと時間がかかるし、x座標が全て共通だった場合、つまり線のような入力だとエラーを吐く。
2次元のマップにならないと駄目なようだ。
一方TH2はヒストグラムなので、入力が実質線であろうと関係ないし、時間も短い。
状況に応じて使い分ければいいのだろう。

ROOTのマクロでファイルを引数に取る

ROOTのマクロに限った話ではないが、引数にファイルを取りたいとする。
ついでに存在しないファイルを引数に取ったときは、エラーを吐くようにしたい。
これを実現するには、以下のようにすればいい。

void hoge(const char* fname)
{
ifstream fin;
fin.open(fname);
if(!fin.good()){
cerr << "Can not open " << fname << "!\n";
return NULL;
}
}

fnameはファイル名、finがファイルのポインタ。

2008/04/01

flvファイルをWMPで再生する

まずffdshowを入手する。
適当に検索し、安定版を落としてきて、全てデフォルトでインストールした。
次にFlash Video decoderを落としてくる。
Program Files以下に解凍し、register.batを実行する。
最後にffdshowの設定で、FLV1を有効にした。
参考にしたのはここ
なおFLV Splitterは開発が終了しており、EasySplitterManagerは見つけられなかった。

2008/03/30

ファックス新調

自宅の電話機兼ファックスが壊れた。
しばらく前から通話中に音が切れたりしていたのだが、とうとう音が聞こえなくなった。
発信音さえ聞こえない状態。
ちなみにこちらからの音声は相手に聞こえている。
子機だと電話を受けれるし、親機もマイク自体は使えているので、単にスピーカーの故障だと思われた。

というわけでハンドセットの部分を外し、分解してみた。
ねじを一本外せばいいだけだ。
中を開けてみたのだが、目だった断線やショートした箇所は見つからない。
スピーカーを取り替えればいいだけだと思われたが、10年ものということで他にもガタが来ていることから買い換えることになった。
子機が1台あることと、コンパクトなサイズであること、インクジェット式ではないこと、普通紙タイプであることという条件で探した。
ファックスの使用頻度はせいぜい1ヶ月に1、2回といったところだ。
それと売り場で見て、子機の充電は無接点式がいいという条件を追加した。

買ってきたのはNEC製のスピークス SP-DA240(PW)という機種。
実際に店舗で見てみて、ブラザーの製品は全体的に大きかったので却下した。
シャープの製品は余計な機能がついているものが多く、そのせいで割高になっている印象を受けた。
最後まで候補だったのは、パナソニックのおたっくす KX-PW506DLおたっくす KX-PW507DL
この2機種に関しては、ファックス原稿を入れたりする部分のカバーのヒンジがやや複雑な形状になっていた。
一般にこういった可動部がまず壊れるので、構造がシンプルなほうを選んだ。
スピークスは単なる蓋になっていて、外れる以外の壊れ方がありえない。

設定は簡単で、単につなげばいいだけだ。
時刻調整をし、アドレス帳を編集する。
ちなみに新しいハンドセットを古いのにつないだら、あっさりと発信音が聞こえた。
通話の音質がやや変わったように思えたが、クリアなのでそのうち慣れるだろう。

2008/03/27

Ubuntuのネットワーク設定

Wubiで入れたUbuntuのバージョンが7.04だったので、アップデートした。
5時間以上かかって終了し、再起動するとネットがつながらなくなった。
調べるとIPが振られていないようだと気づいた。

Ubuntuでネットワークの設定がかかれているのは/etc/network/interfaces。
ここを見ると、

auto eth0
iface eth0 inet dhcp

の2行目がコメントアウトされていた。
ここのコメントアウトを外して再起動すると、無事ネットワークにつながった。
参考にしたのはこのページ

2008/03/25

Ubuntuのランレベル変更

Ubuntuの設定ファイルをいじってみて、FC5との違いに気づいた。
まず/etc/sysconfig/networkがない。
それと/etc/inittabがなく、ランレベル変更しようにも、どこをいじればいいのかさっぱり。

ググってみたところ、こことかここを発見した。
/etc/event.d/rc-defaultというファイルに、起動時の挙動が記述されているようで、まず/etc/inittabを見に行き、無いとデフォルトのtelinit2で起動するようになっている。
telinitの設定はsysv-rc-confというので変更できる。
だからsysv-rc-confを落としてきて、それでtelinitを設定し、ついで/etc/event.d/rc-defaultを変更すればいい。
inittabを書き直すという方法もあるが、何か別のトラブルの原因になるかもしれないので回避。

$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf

でsysv-rc-confが立ち上がる。
この中の3のgdmとx-serverのチェックを外して終了。

$ sudo emacs /etc/event.d/rc-default

で/etc/event.d/rc-defaultを立ち上げ、21行目をtelinit 2からtelinit 3に直す。
これでCUIで立ち上がるようになった。

ちなみに今の問題点は半角全角キーが使えず、日本語入力が行えていない点。
ノートのキーボードなので仕方がないかもしれない。

Wubi

CygwinがXをうまく飛ばせないという問題が発生して、このところ困っていた。
Clipboardの設定に失敗してエラーが出ることは分かっていたが、エラーメッセージをググっても、対応策が見つからなかった。
Cygwinの再インストールも試みたが、あまりに時間がかかりすぎ、2度中断せざるを得なくなって以降、頓挫していた。

VMware Playerが楽そうだとも思ったが、設定が面倒でちょっと躊躇していたときに、Wubiを知った。
Wubiを用いると、非常に簡単にPCをUbuntuとのデュアルブートに出来る。
ウィンドウズで落としてきたファイルを実行し、ユーザーネームとパスワード、Ubuntuの容量を決めると、あとは全部勝手にやってくれる。
アンインストールもソフトウェアの追加と削除から簡単に出来る。
非常にお手軽だ。

Ubuntuは初めて導入するディストリだったが、基本的にFC5と変わらない。
一番大きな違いはrootが存在しないことだ。
なのでsuコマンドは使わない。
rootが実行するようなコマンドはsudoをつけて実行する。
それとyumの代わりにapt-getを用いる。
なのでEmacsをインストールするときは、次のように打てばいい。

$ sudo apt-get install emacs

アップデートはinstallをupdateにすればいい。
なおSystemのシステム管理から、アップデート・マネージャを起動することでも、アップデートは可能。
rootとds9はダメだが、sextractorとかもインストールできた。

このUbuntuからWindows側のファイルを見たり操作したり出来る。
My Documentは自分の環境だと、/media/host/以下に存在した。
こういうファイル共有がVmware Playerだと面倒だった。
非常に手軽にデュアルブートに出来る上に、お互いがファイル共有できるので、Cygwin並に使い勝手がいいと思う。

2008/03/21

sshとrsync

これまでバックアップはsshを使ったファイル転送によって行っていた。
sshはデフォルトだとディレクトリはコピーできないので、一度固めて送るということをしていた。
しかしこれだと差分のバックアップを取るとき、非常に面倒なことになる。
かなり大きなディレクトリがあったとして、その中身がちょっとしか変わっていなくても、全部バックアップして差し替えしなくてはならない。
これに対して、rsyncは差分バックアップを実現してくれる。
今後は、転送やリモートログインはssh、バックアップはrsyncということにしよう。

2008/03/20

Cygwinとds9

Cygwinを使っているとき、ローカルにfits画像をscpしてきてds9で見たい、ということがある。
あるいはfitsを見たいとき、Cygwinで何かをやっていたりする。
こういうとき、Cygwinとds9を同時に立ち上げたいのだが、この2つは同時には立ち上がらない。
Cygwinを立ち上げた状態で、ds9を立ち上げようとすると、タスクマネージャでは見えるのに、ウィンドウが立ち上がらない。

これはds9のローカルにあるcygwin1.dllが原因。
Cygwinは\cygwin\bin\cygwin1.dllを使っているが、同じcygwin1.dllがds9のローカルにも存在している。
理屈は不明だが、この2つがバッティングしてしまうようだ。
そこでds9側のcygwin1.dllを削除した。
するとcygwin1.dllが見つからない、というエラーを吐く。
ためしに\cygwin\bin\cygwin1.dllへのリンクをds9のローカルに作ってみたが、駄目だった。

が、cygwin1.dllが見えれば立ち上がりそうだったので、PATHを設定してみた。
システム>詳細設定>環境変数で、PATHに\cygwin\binを追加した。
するとあっさり解決。
これでCygwinとds9を同時に使えるようになった。

2008/03/12

ROOTでウィンドウを出さない方法

ROOTで解析をするとき、Cygwinとかでssh経由でXを飛ばそうとしてうまくいかず、Linux側のマクロが動かないようなときがある。
これを回避するには、ウィンドウを出さないようにすればいい。
ROOTの起動時のオプションで指定できる。

$ root -b

と打てばいいだけだ。

2008/03/07

統計の考え方

科学ではしばしば統計学を用いて、有意かどうかを議論する。
95%の信頼度で~である、とかいう言い方をよくする。
信頼度というのはConfidence Levelと訳され、95%信頼度は95%CLという書き方にもなる。

この95%の信頼度で誤解しやすいのは、95%の確率で正しいということと同じ意味ではないということだ。
それが真理か否か、それは神のみぞ知るところだから、そもそもの正しい確率というのは知ることは出来ない。
そうではなくて、95%信頼度というのは、20回に1回の偶然は認める程度の信頼度という意味である。
つまり95%の信頼度で確認しても、それは実は1/20の偶然によるものかもしれないわけだ。
20回測ると偶然にも1回起こるような、そんな頻度の話だが、それ以上確認しようがないので、それでよしとする。
開きなおりのような態度であるが、そこが人間の限界だから、仕方がない。
あとはその信頼度を上げる努力をするのみである。
信頼度を上げることで、その偶然の可能性を排除していく。

例を挙げる。
ある事象の観測を行ったとして、その分布をポアソン分布とする。
このとき観測された事象が0イベントだったとする。
するとポアソン分布だから、その確率pはp=exp(-λ)という式で与えられる。
この式のλは神のみぞ知りうる、真の期待値が入る。
ここで95%の信頼度を仮定すると、ある期待値λに対して、偶然0イベントが観測される確率は5%であると言える。
ここからλが推定できる。

pはある期待値λに対し、0イベントが観測される確率であるので、p<0.05であればよいわけだ。
これは簡単に計算可能で、p<0.05はλ>3にほぼ一致する。
つまり95%信頼度でλ>3であると言えることになる。

2008/03/06

ENELOOPの充電時間

単三のENELOOPを使っていて、先日充電した。
充電器はNC-M55。
これで4本を充電すると、空の状態から3時間40分もかかる。
携帯電話と比べるからか、やたらに長いような気がする。

ThinkPad X300

lenovoが2/26にX300の公式発表をしていた。
モノ自体は昨年から噂で聞こえていたのだが、とうとう大幅なモデルチェンジとなった。
13.3インチのワイド液晶(1440x900)、光学ドライブ搭載、64GBの1.8"SSDでバッテリ込みの重さが1.42kg。
おまけに薄くもなっている。
いままでのXとTの間をとるような位置付けだ。

X23は非常に気に入っているし使い倒すつもりだが、画面の狭さが最近気になるし、光学ドライブがないのも気になっていたし、SSDにも興味津々。
おまけに軽く、剛性が高く、薄い。
ウチのX23が勝っているのは、160GBというHDD容量だけだ。
欲しくなってしまったが、300000円超のお値段に手が出ない。