Slingbox視聴用のアプリをWindows 7に入れてみた。
最新版は2.0だが、これにはSlingbox側のFWをアップデートする必要がある。
最新版だと60分のバッファがついたことで、見逃した番組を1時間遡って視聴することが可能になっていたり、H.264のストリーミングを受けられるようになっているようだが、手元にSlingboxがないのでリスクを考えて断念した。
Ver.1の最終版はここにある。
あるいはXP等でDLしておいたインストーラを動かしても問題ない。
Windows 7 64bitへのインストールはWindows XPとまったく同じ。
動作自体も問題なかった。
2010/05/05
2010/04/07
周波数の再編方針
総務省が出した周波数の再編方針を受けて、auがサービス終了のお知らせを出した。
これによれば、周波数の割り当てが2012年7月24日までに変更になる。
もちろん全ての機種が使えなくなるわけではなく、対象となる機種はこちら。
何時から使えなくなるかは今後追加で知らせが来るようだ。
8月8日に新規の受付を終了するようなので、使えなくなるのはその後だろう。
対象の機種からの機種変更に伴う手数料2100円は無料になる。
今現在使用している携帯は4年前に買ったW33SA。
しっかりと対象機種に入っている。
一方、SIMロックフリーの話も出てきている。
地デジを思わせる移行がどのように進むか、もう少し推移を見守る予定。
これによれば、周波数の割り当てが2012年7月24日までに変更になる。
もちろん全ての機種が使えなくなるわけではなく、対象となる機種はこちら。
何時から使えなくなるかは今後追加で知らせが来るようだ。
8月8日に新規の受付を終了するようなので、使えなくなるのはその後だろう。
対象の機種からの機種変更に伴う手数料2100円は無料になる。
今現在使用している携帯は4年前に買ったW33SA。
しっかりと対象機種に入っている。
一方、SIMロックフリーの話も出てきている。
地デジを思わせる移行がどのように進むか、もう少し推移を見守る予定。
2010/03/01
Acronis True Image Home 2009
最近になって使い始めたT61のHDDから異音が聞こえるのが気になっていた。
HDDの容量も120GBと十分とは言えないサイズなので、別のHDDに環境を移行することにした。
用意したのは500GBのHGST製。
しかしイチからセットアップするのは非常に大変なので、現在のHDDのクローンを作って入れ替えることにした。
ハード的に移行する方法とソフト的に移行する方法があるが、今回は投資の要らないソフトを選択。
これが出来るのがAcronis True Image Home 2009。
落としてきてインストールすればいい。
ライセンスキーは入れないでも、試用版として30日間は使用可能だ。
移行だけならそれで十分。
操作からクローン作成モードを選択する。
さらにソースディスク(コピー元)とターゲットディスク(コピー先)を指定する。
実行すると再起動するように促され、再起動後にクローン作成が開始される。
30GBくらいの領域を使用していたが、移行作業は1時間半程度。
終了すると、シャットダウンするように促される。
もう一度、電源をONにするとWindowsからTrue Imageが起動し、Completedと出た。
コピー先のHDDと交換すると、同じように1度True ImageのCompletedが出た後、Windowsが立ち上がる。
このコピーされたディスクはこれまでのコピー元となんら変わりなく使用できた。
HDDの容量も120GBと十分とは言えないサイズなので、別のHDDに環境を移行することにした。
用意したのは500GBのHGST製。
しかしイチからセットアップするのは非常に大変なので、現在のHDDのクローンを作って入れ替えることにした。
ハード的に移行する方法とソフト的に移行する方法があるが、今回は投資の要らないソフトを選択。
これが出来るのがAcronis True Image Home 2009。
落としてきてインストールすればいい。
ライセンスキーは入れないでも、試用版として30日間は使用可能だ。
移行だけならそれで十分。
操作からクローン作成モードを選択する。
さらにソースディスク(コピー元)とターゲットディスク(コピー先)を指定する。
実行すると再起動するように促され、再起動後にクローン作成が開始される。
30GBくらいの領域を使用していたが、移行作業は1時間半程度。
終了すると、シャットダウンするように促される。
もう一度、電源をONにするとWindowsからTrue Imageが起動し、Completedと出た。
コピー先のHDDと交換すると、同じように1度True ImageのCompletedが出た後、Windowsが立ち上がる。
このコピーされたディスクはこれまでのコピー元となんら変わりなく使用できた。
2010/02/28
ROOTでFFTWを使う
導入したScientific Linuxには、デフォルトだとgccもEmacsも入っていない。
まずはこれらを入れる。
それ以外にもROOTのインストールには、libXft、libXpm、libXextが必要。
$ su
# yum install gcc*
# yum install emacs*
# yum install libXft*
# yum install libXpm*
# yum install libXext*
これでROOTに必要なコンパイラとライブラリが揃う。
次にFFTWをここから、ROOTをここからダウンロードする。
これらは適当に解凍しておく。
以下のようにしてFFTWをROOTより先にインストールする。
$ cd fftw-3.2.2
$ ./configure
$ su
# make
# make install
これでFFTWがインストールされる。
デフォルトの設定で、/usr/local/lib以下にlibfftw3.aとlibfftw3.laが入る。
.bashrcには以下の1行を追加する。
export FFTW3=/home/chonan/fftw-3.2.2
指定している場所は実際には環境によって異なる。
次にROOTのほうのコンパイルを行う。
$ cd root
$ ./configure --enable-fftw3 --with-fftw3-incdir=/usr/local/include --with-fftw3-libdir=/usr/local/lib
$ su
# make
# make -j 2
最後はCPUのCore数を指定している。
.bashrcに追加するのは、以下の3行。
export ROOTSYS=/home/chonan/root
export PATH=$PATH:$ROOTSYS/bin
export LD_LIBRARY_PATH=/home/chonan/root/lib:$LD_LIBRARY_PATH
最後に.bashrcを読み込む。
これでOKのはずだと思っていたら、以下のようなエラーが出て、FFT.Cがうまく動いてくれない。
dlopen error: /home/chonan/root/lib/libFFTW.so: cannot restore segment prot after reloc: Permission denied
Load Error: Failed to load Dynamic link library /home/chonan/root/lib/libFFTW.so
Error in <TVirtualFFT::FFT>: handler not found
(class TH1*)0x0
*** Interpreter error recovered ***
ここを参考に、以下のように打つ。
$ su
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /home/chonan/root/lib/libFFTW.so
これでcontextが変更できる。
contextについてはこちら。
context of /home/chonan/root/lib/libFFTW.so changed to system_u:object_r:textrel_shlib_t
これでFFT.Cが走るようになる。
まずはこれらを入れる。
それ以外にもROOTのインストールには、libXft、libXpm、libXextが必要。
$ su
# yum install gcc*
# yum install emacs*
# yum install libXft*
# yum install libXpm*
# yum install libXext*
これでROOTに必要なコンパイラとライブラリが揃う。
次にFFTWをここから、ROOTをここからダウンロードする。
これらは適当に解凍しておく。
以下のようにしてFFTWをROOTより先にインストールする。
$ cd fftw-3.2.2
$ ./configure
$ su
# make
# make install
これでFFTWがインストールされる。
デフォルトの設定で、/usr/local/lib以下にlibfftw3.aとlibfftw3.laが入る。
.bashrcには以下の1行を追加する。
export FFTW3=/home/chonan/fftw-3.2.2
指定している場所は実際には環境によって異なる。
次にROOTのほうのコンパイルを行う。
$ cd root
$ ./configure --enable-fftw3 --with-fftw3-incdir=/usr/local/include --with-fftw3-libdir=/usr/local/lib
$ su
# make
# make -j 2
最後はCPUのCore数を指定している。
.bashrcに追加するのは、以下の3行。
export ROOTSYS=/home/chonan/root
export PATH=$PATH:$ROOTSYS/bin
export LD_LIBRARY_PATH=/home/chonan/root/lib:$LD_LIBRARY_PATH
最後に.bashrcを読み込む。
これでOKのはずだと思っていたら、以下のようなエラーが出て、FFT.Cがうまく動いてくれない。
dlopen error: /home/chonan/root/lib/libFFTW.so: cannot restore segment prot after reloc: Permission denied
Load Error: Failed to load Dynamic link library /home/chonan/root/lib/libFFTW.so
Error in <TVirtualFFT::FFT>: handler not found
(class TH1*)0x0
*** Interpreter error recovered ***
ここを参考に、以下のように打つ。
$ su
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /home/chonan/root/lib/libFFTW.so
これでcontextが変更できる。
contextについてはこちら。
context of /home/chonan/root/lib/libFFTW.so changed to system_u:object_r:textrel_shlib_t
これでFFT.Cが走るようになる。
VMware ServerとVMware Player
Windows 7上のROOT(5.26.00)でFFTを使おうとしたところ、これが上手く動かない。
Tutorialディレクトリ以下の\fftにFFT.Cというのがあるが、実行するとlibFFTW.dllの読み込みに失敗する。
PATHを設定してもうまくいかないので、Linux環境を用意することを決断した。
Linux用に出来るマシンは無いので、LinuxはVMwareでWindows上で動かすこととした。
まずVMware Serverを落としてみた。
ダウンロードにはアカウントを作る必要がある。
インストールはブラウザ経由で行い、ついでゲストOSの設定を行う。
ここまでは上手く行くのだが、64bitのWindows 7だからかConsoleが出せず、ゲストOSのインストールが上手くいかない。
仕方がないので、VMware Playerにターゲットを変更した。
アカウントはVMware Serverのときに作ったのが使える。
VMware Player 3.0は64bitのOSにも対応している。
VMware Serverと同様の設定だが、こちらはブラウザを起動する必要もなく、日本語なので簡単だ。
昔はVMware Playerには入っていなかった、VMware Toolsも自動的にDLしてくれる。
ゲストOSにはScientific Linux(32bit)を選択した。
Red Hat Enterprise Linuxのクローンだということと、Fermi Labが管理していて信頼性が高いことが理由。
全てデフォルトでインストールしたが、デフォルトだとgccやEmacsが入らなくて驚いた。
Scientificな用途にそれでいいのか疑問だ。
ゲストOSの設定も基本的にはデフォルトだが、ネットワークはNAT接続とした。
VMware ToolsはVM(V)->VMware Toolsをインストールするを選ぶと、ゲストOSの/media以下にLinux版がダウンロードされていた。
これを解凍し、インストールすればいい。
Tutorialディレクトリ以下の\fftにFFT.Cというのがあるが、実行するとlibFFTW.dllの読み込みに失敗する。
PATHを設定してもうまくいかないので、Linux環境を用意することを決断した。
Linux用に出来るマシンは無いので、LinuxはVMwareでWindows上で動かすこととした。
まずVMware Serverを落としてみた。
ダウンロードにはアカウントを作る必要がある。
インストールはブラウザ経由で行い、ついでゲストOSの設定を行う。
ここまでは上手く行くのだが、64bitのWindows 7だからかConsoleが出せず、ゲストOSのインストールが上手くいかない。
仕方がないので、VMware Playerにターゲットを変更した。
アカウントはVMware Serverのときに作ったのが使える。
VMware Player 3.0は64bitのOSにも対応している。
VMware Serverと同様の設定だが、こちらはブラウザを起動する必要もなく、日本語なので簡単だ。
昔はVMware Playerには入っていなかった、VMware Toolsも自動的にDLしてくれる。
ゲストOSにはScientific Linux(32bit)を選択した。
Red Hat Enterprise Linuxのクローンだということと、Fermi Labが管理していて信頼性が高いことが理由。
全てデフォルトでインストールしたが、デフォルトだとgccやEmacsが入らなくて驚いた。
Scientificな用途にそれでいいのか疑問だ。
ゲストOSの設定も基本的にはデフォルトだが、ネットワークはNAT接続とした。
VMware ToolsはVM(V)->VMware Toolsをインストールするを選ぶと、ゲストOSの/media以下にLinux版がダウンロードされていた。
これを解凍し、インストールすればいい。
2010/02/12
64bit OSあれこれ
T400sのWindows 7 64bit版を使ってみて、いくつか発見があった。
まず1番驚いたのが、AdobeのFlashが64bitのブラウザに対応していない(2010/02/12 00:00時点)ということ。
従ってIEではYouTube他の動画サイトで動画を見ることが出来ない。
次の驚きは、32bitのアプリでも64bit上で動作するものがあるということ。
アプリによっては、バイナリが64bitと32bit用で分けて用意されていることがあり、32bit版は64bitのOS上では動かないかと思いきや、そんなことはない。
従ってYouTubeを利用するには、32bitのブラウザをインストールし、そこにFlashのプラグインを入れればいい。
このようにアプリが32bitなのか、64bitなのかを常に意識しておく必要がある。
たとえばffdshowを利用する場合、64bitアプリ用と32bitアプリ用のどちらか、あるいは両方をインストールしておく必要がある。
上記のFlashにしても、今後64bit版が出たとして、IEで使う場合は64bit版を、他のブラウザ用に32bit版をそれぞれ用意しておく、ということになる。
ちなみにCygwin(1.7.1)とRoot(5.26)は64bit版OSにインストール可能で問題なく動作した。
まず1番驚いたのが、AdobeのFlashが64bitのブラウザに対応していない(2010/02/12 00:00時点)ということ。
従ってIEではYouTube他の動画サイトで動画を見ることが出来ない。
次の驚きは、32bitのアプリでも64bit上で動作するものがあるということ。
アプリによっては、バイナリが64bitと32bit用で分けて用意されていることがあり、32bit版は64bitのOS上では動かないかと思いきや、そんなことはない。
従ってYouTubeを利用するには、32bitのブラウザをインストールし、そこにFlashのプラグインを入れればいい。
このようにアプリが32bitなのか、64bitなのかを常に意識しておく必要がある。
たとえばffdshowを利用する場合、64bitアプリ用と32bitアプリ用のどちらか、あるいは両方をインストールしておく必要がある。
上記のFlashにしても、今後64bit版が出たとして、IEで使う場合は64bit版を、他のブラウザ用に32bit版をそれぞれ用意しておく、ということになる。
ちなみにCygwin(1.7.1)とRoot(5.26)は64bit版OSにインストール可能で問題なく動作した。
2010/01/31
T400s到着
注文していたT400sだが、1/25(月)の午前中に届いた。
平日の午前中なので当然不在、1/30(土)の午前中に再配達と相成った。
構成は以下の通り。
インテル Core 2 Duo SP9600 プロセッサー (2.53GHz FSB=1066MHz L2=6MB)
Windows 7 Professional 64bit 正規版
14.1型液晶 WXGA+ LEDバックライト
Intel GMA 4500MHD
DDR3 4GB PC3-8500
英語キーボード
ウルトラナビ(トラックポイント+タッチパッド)指紋センサー付き
内蔵カメラ・モジュール
64GB ソリッドステートドライブ
DVDスーパーマルチ, ウルトラベイ・スリム
5 in 1 メディア・カード・リーダー
6 セル Li-Ion バッテリー
90W AC アダプター(標準添付)
内蔵Bluetooth
Intel WiMAX/WiFi Link 5150
Microsoft Office Personal 2007, Microsoft Office PowerPoint 2007 日本語版
とりあえずIntel SSDに換装するために、リカバリディスクを作る。
Windows 7を積んだマシンのリカバリーディスクの作成手順はここにある。
ThinkVantage tools->出荷時状態のリカバリー・ディスクと選択し、BootメディアとDataメディアを作る。
メディアを作る光学ドライブがオフになっているとドライブが選択できないので、ドライブを開閉させてONにしておく。
BootメディアはDVD1枚、DataメディアはDVD3枚になった。
リカバリディスクを作っておいて、SSDを換装する。
入っていたのはToshiba製の64GB。
換装するIntelのSSDにはドライブ挿抜用のシートが付いていないので、これにScotchのPV-1という両面テープを用いて、砧が入っていた帯電防止用の袋を切って作ったフィルムを貼り付けた。
普通のHDDとかが入っている袋と同じものだ。
使った両面テープは金属にも付くが、厚みが1.14mmもある。
買ったSSDは厚みが8mmタイプのため、ほとんどぴったり収まり、テープが入るスペースはほとんどないため、蓋の下の5mmほどのスペースを利用した。
換装後、作っておいたリカバリメディアを用いて、無事リカバリまで完了。
平日の午前中なので当然不在、1/30(土)の午前中に再配達と相成った。
構成は以下の通り。
インテル Core 2 Duo SP9600 プロセッサー (2.53GHz FSB=1066MHz L2=6MB)
Windows 7 Professional 64bit 正規版
14.1型液晶 WXGA+ LEDバックライト
Intel GMA 4500MHD
DDR3 4GB PC3-8500
英語キーボード
ウルトラナビ(トラックポイント+タッチパッド)指紋センサー付き
内蔵カメラ・モジュール
64GB ソリッドステートドライブ
DVDスーパーマルチ, ウルトラベイ・スリム
5 in 1 メディア・カード・リーダー
6 セル Li-Ion バッテリー
90W AC アダプター(標準添付)
内蔵Bluetooth
Intel WiMAX/WiFi Link 5150
Microsoft Office Personal 2007, Microsoft Office PowerPoint 2007 日本語版
とりあえずIntel SSDに換装するために、リカバリディスクを作る。
Windows 7を積んだマシンのリカバリーディスクの作成手順はここにある。
ThinkVantage tools->出荷時状態のリカバリー・ディスクと選択し、BootメディアとDataメディアを作る。
メディアを作る光学ドライブがオフになっているとドライブが選択できないので、ドライブを開閉させてONにしておく。
BootメディアはDVD1枚、DataメディアはDVD3枚になった。
リカバリディスクを作っておいて、SSDを換装する。
入っていたのはToshiba製の64GB。
換装するIntelのSSDにはドライブ挿抜用のシートが付いていないので、これにScotchのPV-1という両面テープを用いて、砧が入っていた帯電防止用の袋を切って作ったフィルムを貼り付けた。
普通のHDDとかが入っている袋と同じものだ。
使った両面テープは金属にも付くが、厚みが1.14mmもある。
買ったSSDは厚みが8mmタイプのため、ほとんどぴったり収まり、テープが入るスペースはほとんどないため、蓋の下の5mmほどのスペースを利用した。
換装後、作っておいたリカバリメディアを用いて、無事リカバリまで完了。
2010/01/23
Micro SATA SATA変換基板
IntelのSSD、X18-MはMicro SATAという規格なので、そのままだとSATAの規格のコネクタに挿すことはできない。
ところがMicro SATAという規格はあまり流行っていないためか、SATA用の周辺機器に比べて数が圧倒的に少ない。
Micro SATAをSATAに変換する基板かケーブルがあると、手持ちの裸族のお立ち台が使えるので探していた。
見つけた中で最も安いのがAREA製の砧。
Amazonで700円。
これでX18-Mを実際につないで確認したり出来るようになった。
X23に繋いでみると、ディスクの管理でちゃんと149GBが未フォーマットの領域として見えた。
一方で肝心のT400sだが、1/20にようやく出荷メールが来た。
出荷のステータスによれば、すでに配達完了になっているが、まだ手元には届いていない。
すでに日本には着いているようなので、もうすぐだ。
ところがMicro SATAという規格はあまり流行っていないためか、SATA用の周辺機器に比べて数が圧倒的に少ない。
Micro SATAをSATAに変換する基板かケーブルがあると、手持ちの裸族のお立ち台が使えるので探していた。
見つけた中で最も安いのがAREA製の砧。
Amazonで700円。
これでX18-Mを実際につないで確認したり出来るようになった。
X23に繋いでみると、ディスクの管理でちゃんと149GBが未フォーマットの領域として見えた。
一方で肝心のT400sだが、1/20にようやく出荷メールが来た。
出荷のステータスによれば、すでに配達完了になっているが、まだ手元には届いていない。
すでに日本には着いているようなので、もうすぐだ。
2010/01/16
T400sのステータス
Lenovoの直販サイトでT400sを注文したのが、昨年末12/12。
ところが1ヶ月経っても何の音沙汰も無い。
注文のステータスはここから確認できる。
注文状況はここに書かれている流れの通り。
ステータスは1ヶ月以上前から"生産指示済"になっていて、出荷予定日は空欄になっている。
今後の見通しや、遅れている理由等の説明、出荷しました等のメールが一切来ないので、業を煮やして問い合わせをしてみた。
問い合わせはこちらの注文後の納期問い合わせのためのメールアドレス宛。
返信によれば、パーツの不足で出荷が遅れていて、出荷は1月末を目指しているとのこと。
このような件は検索してみると沢山出てくるので、自分だけではないようだ。
むしろすぐに発送されたという話があまり出てこない。
在庫管理ぐらいきちんとして欲しい。
それと今回初めて直販サイトを使ったが、これがかなり使いづらい。
1つ構成を変えるたびに読み込むので、表示が切り替わるのにタイムラグが発生し、イライラする。
さらに最初に選択できるモデルがいくつかあるが、この時点で割引率が決まるらしく、違うモデルで同じ構成にしてみても価格が同じにならない。
具体的には下位にオプションをつけて、上位の構成にしようとすると、下位のほうが高くなる。
それも万単位で額が異なる。
モデルごとに納期も書かれているのだが、不足していると思われるパーツのところに別に納期が書かれていたりする。
ちなみに自分の注文時には4週間以上と書かれていたものは無かったので、その後不足が出たのだろう。
つまり書かれている納期はその時点での在庫のみを反映したもので、注文数と在庫から出た数字ではないということなのだろう。
法人の客が中心なのだろうが、もう少し何とかしたほうがいいと思う。
ところが1ヶ月経っても何の音沙汰も無い。
注文のステータスはここから確認できる。
注文状況はここに書かれている流れの通り。
ステータスは1ヶ月以上前から"生産指示済"になっていて、出荷予定日は空欄になっている。
今後の見通しや、遅れている理由等の説明、出荷しました等のメールが一切来ないので、業を煮やして問い合わせをしてみた。
問い合わせはこちらの注文後の納期問い合わせのためのメールアドレス宛。
返信によれば、パーツの不足で出荷が遅れていて、出荷は1月末を目指しているとのこと。
このような件は検索してみると沢山出てくるので、自分だけではないようだ。
むしろすぐに発送されたという話があまり出てこない。
在庫管理ぐらいきちんとして欲しい。
それと今回初めて直販サイトを使ったが、これがかなり使いづらい。
1つ構成を変えるたびに読み込むので、表示が切り替わるのにタイムラグが発生し、イライラする。
さらに最初に選択できるモデルがいくつかあるが、この時点で割引率が決まるらしく、違うモデルで同じ構成にしてみても価格が同じにならない。
具体的には下位にオプションをつけて、上位の構成にしようとすると、下位のほうが高くなる。
それも万単位で額が異なる。
モデルごとに納期も書かれているのだが、不足していると思われるパーツのところに別に納期が書かれていたりする。
ちなみに自分の注文時には4週間以上と書かれていたものは無かったので、その後不足が出たのだろう。
つまり書かれている納期はその時点での在庫のみを反映したもので、注文数と在庫から出た数字ではないということなのだろう。
法人の客が中心なのだろうが、もう少し何とかしたほうがいいと思う。
2010/01/09
SSD到着
Amazon.comで買ったSSDが届いた。
Electronica Directで$709.99、日本円に直すと67477円。
これにShippingの費用が4689円($49.34)が乗っかって合計72166円($759.33)。
プラス輸入でかかる関税が1800円、着払い。
日本時間12/27に発注したところ、1/1に発送のメールが来た。
1/12着予定となっていたが、昨日到着。
不在だったので、再配達で本日着。
発送はUPS、Amazon.comからもElectronica DirectからもTracking IDが送られてきていたので、ステータスは常に確認できていた。
買ったのはX18-M、型番はSSDSA1MH160G101。
Intelの第1世代MLC、容量は160GB。
ファームウェアのバージョンは8820と記載されている。
最初のファームウェアが045C8820なので、これのことだろう。
開けてみて意外だった点が2つ。
1つ目はサイズ。
1.8インチのSSDは5mm厚だと思っていたのだが、届いたのは8mm厚。
IntelのSpecシートを見ると5mm厚の他にも8mm厚の図面が載っている。
ちなみに重さは実測で48.5g。
2つ目は黒く塗装されていなかったこと。
型番としては第1世代のはずなのだが、8mm厚だったからか。
こいつはThinkPad T400s用に調達したもの。
いずれにしてもT400sに搭載できれば文句はない。
1.8インチのHDDとほぼ同じ形状なので、問題はないだろう。
肝心のT400sは12/12に発注したのだが、4週間後の今になっても発送メールさえ来ていない。
Electronica Directで$709.99、日本円に直すと67477円。
これにShippingの費用が4689円($49.34)が乗っかって合計72166円($759.33)。
プラス輸入でかかる関税が1800円、着払い。
日本時間12/27に発注したところ、1/1に発送のメールが来た。
1/12着予定となっていたが、昨日到着。
不在だったので、再配達で本日着。
発送はUPS、Amazon.comからもElectronica DirectからもTracking IDが送られてきていたので、ステータスは常に確認できていた。
買ったのはX18-M、型番はSSDSA1MH160G101。
Intelの第1世代MLC、容量は160GB。
ファームウェアのバージョンは8820と記載されている。
最初のファームウェアが045C8820なので、これのことだろう。
開けてみて意外だった点が2つ。
1つ目はサイズ。
1.8インチのSSDは5mm厚だと思っていたのだが、届いたのは8mm厚。
IntelのSpecシートを見ると5mm厚の他にも8mm厚の図面が載っている。
ちなみに重さは実測で48.5g。
2つ目は黒く塗装されていなかったこと。
型番としては第1世代のはずなのだが、8mm厚だったからか。
こいつはThinkPad T400s用に調達したもの。
いずれにしてもT400sに搭載できれば文句はない。
1.8インチのHDDとほぼ同じ形状なので、問題はないだろう。
肝心のT400sは12/12に発注したのだが、4週間後の今になっても発送メールさえ来ていない。
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のメールが来た。
品物が届くのは年明け。
当然ながら日本の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であったとしても、たぶん十分だろう。
この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円になっているのも納得いかないところ。
こんなことはやめて、さっさと値引きしてくれたほうがずっといい。
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ファイルを作ることが出来るようになる。
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月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();
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を起動したときのディレクトリになる。
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のカラー表示は何段階で表示するかを決めている。
これで好きなようにカラーの表示を決めることが出来る。
デフォルトだと色が連続しておらず、また美しくもない色使いなので、今までは、
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
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では正常に動くことを確認できた。
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();
とか打つと見ることが出来る。
しかし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/以下にハードディスクの中身全てがマウントされていた。
最新の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文字以上や記号等が入ると、解析が苦しくなるようだが、追加のファイルを落としてくれば、解析は不可能ではないようだ。
そこで調べて出てきたのが、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のドライバで動かしているせいかもしれないが、こちらは何とかならないものか。
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イメージも読めるようになった。
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に焼いたり出来るようになった。
そこで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リーダが使えなくなると、あちこちの更新をいちいち手動で確認しなくてはならない。
どこまで読んだかも分からなくなってしまいそうなので、なんとか早く対応して欲しい。
「ソフトウェアの更新を確認(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とかogg、MP4のときと同じで、スプリッタがないからだ。
なのでこのスプリッタだけを落としてきて、インストールすればいい。
参考にしたのは、このページ。
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ファイルを消してはいけない点。
ドライバとかのインストールでは、展開したファイルを消しても問題ないが、それは別のパスが通っている場所にコピーしているため。
この場合は直接呼ばれるファイルになるので、しかるべきところに展開し、消してはならない。
コーデックはH.264とVorbisとかの、ffdshowで再生可能なものだが、Windows Media Playerでは例によって再生できない。
flvとかogg、MP4のときと同じで、スプリッタがないからだ。
なのでこのスプリッタだけを落としてきて、インストールすればいい。
参考にしたのは、このページ。
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とか、その他の選べる構成もはっきりしていることだろう。
しばらく前からウェブでリーク情報やら画像やらが出回っていたが、ようやく正式発表の運び。
構成は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曲ずつ再生する曲が曲順に液晶に表示され、それを左右ボタンで合わせて再生する。
曲数が増えた場合、いちいち送るのは面倒そうだ。
またこのプレイリストはディレクトリ構造が反映され、曲順が数字でファイル名先頭についているような場合でも、アルバムごとの曲順になる。
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の外付けブルースクリーン問題は解決されていた。
これでウルトラベースを接続していないときに立ち上げてしまっても、ブルースクリーンにならずに済む。
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
とすればいい。
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のほうがセキュアなためだ。
"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というところのチェックを外して再起動する。
これでようやく起動時のウィンドウから開放された。
これを使ってあらかじめ指紋を登録しておくと、ログインのパスワード入力の替わりに、指紋認証でログイン出来るように設定出来る。
このソフトが縁あって使うこととなった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では、こっちを試すといい。
ちなみに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で再生可能になる。
割とよくある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を入れる。
ブラウザ経由でルーターにアクセスする。
メニューから"ゲーム&アプリ"を選択すると、ポート変換設定画面に飛ぶことが出来る。
ついでグループ名、サーバーIP(グローバル)、プロトコル、クライアントIP(ローカル)を指定すればいい。
サーバー側のIPは基本的には可変であるので、この場合には"エアステーションのInternet側IPアドレス"を選択する。
プロトコルはほとんどの場合、TCP/UDPを選択する。
全て、ICMP、任意というのはよく分からない。
TCPの特定のポートを開けたい場合は、"任意のTCPポート"を選び、開けたいポート番号を指定する。
クライアントのIPは開いたポートを使う機器のローカルのIPを入れる。
2009/04/19
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に乗せたりしないで、そろそろどこかで業界として基準を再統一したほうがいいような気がする。
今回購入したのは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時間ほどで終了する程度のものだと思う。
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とかの設定は今後、そういう機器が来たら考えることにする。
現在のネットワーク環境は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だと、システム->システム管理->印刷から設定が可能だ。
あらかじめ必要なドライバ類はインストールしておく。
まず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はリビングルームがある場合につくのだと思っていた。
それは間違いではなかったようだが、リビングがキッチンに隣接しているという定義を知らなかった。
不動産屋の人に聞いたので、恐らく正しいはず。
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が立ち上がった。
その後しばらく様子を見ているが、特に問題は発生していない。
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のほうが使いやすかったが、慣れてくるとまた違うのかもしれない。
音については比べてないので分からない。
縦長だったウィンドウがずいぶん横長になっている。
ウィンドウの左側にコンタクトリストが表示され、コンタクトをクリックすると、公開されている情報やチャット履歴が表示される。
発信ボタンはコンタクトリストの下から、右側のウィンドウに移されていた。
また電話へ発信するには、コンタクトリストからタブを切り替えるようになっていたのが、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
2009/01/28
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();
とすればいい。
この形式はバイナリで、ヒストグラム等を格納できる。
容量を稼ぐので、よく使われる。
このファイルを読む方法は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つに注意すれば、問題なくインストールできる。
コンパイルされたバイナリを持ってくるだけで動くので、今までコンパイルしたことが無かった。
今回初めてコンパイルしてみたら、予想外のトラブルに悩まされた。
まず/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の端子を増設できたので満足。
送料込みで\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{}
と書けばいい。
これだけで日付を消すことが出来る。
\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も貼ることが出来る。
これだと元画像から容量が急に大きくなったりする。
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");
タイトルを中心に持ってきたり、タイトルのオフセットを変えたりする場合も、いちいち軸を取ってくる必要がある。
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はきちんとフィットできる。
そのときには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
2008/11/04
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のコードに色づけしてくれるようになる。
さらにつける色を替えたり、色付けしてほしい単語を追加することも出来る。
このサクラエディタはプログラムのコードを書くとき、拡張子に対応して、強調キーワードに色付けしてくれる。
ところが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行だけのコマンドを実行するオプションがなかった。
すばやく計算したいときは、ターミナルで以下のように打てばいい。
$ 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".
というエラーが出るが、特に気にする必要はなさそうだ。
実はこれまでに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を読み込んでいるので、ここを変えればいいのかも。
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
2008/10/07
cfitsioのサンプルプログラムをコンパイルする
cfitsioのサンプルプログラムが、ここにある。
注釈の数字をどけてから、コンパイルしようとして失敗した。
:undefined reference to `ffopentest'
とかいう風に、いくつかの関数が定義されていないというエラーが出る。
これは-lmをつけないで、sinとかがあるプログラムをコンパイルしようとしたときと同じエラー。
これを解決するには、-lcfitsioをつければいい。
$ gcc hoge.c -lm -lcfitsio -o hoge
とかでいい。
-lはリンクするライブラリを指定している。
mathと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を作って、そこに突っ込んでおいた。
落としてきたファイルを適当に解凍して、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ヶ月で代替のカードを探すしかないか。
自分のメインのカードとして使っていたのでショック。
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に載っているのだが、自由度についてはマニュアルには記載がない。
たとえば、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の実行ファイルが出来る。
ここでサーバと書いたのは、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点が気になるが、おおむね満足。
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に格納している。
例として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軸には何も出ないので、新たに軸を書いてやる必要がある。
たとえば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軸には何も出ないので、新たに軸を書いてやる必要がある。
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も聞けるようなので、そこら辺は追々。
そこで性能と価格について調べた。
必要な機能は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
とすれば、行数が表示される。
仕方なくEmacsとかで開いていたが、やたら大きいサイズのファイルだとEmacsのバッファサイズを超えてしまって、開けなかったり、えらい時間がかかったりしてしまう。
$ wc -l hoge.txt
とすれば、行数が表示される。
2008/09/06
fitsのネガポジ反転
fits画像をネガポジ反転させたくなったのだが、Irfanviewでうまくいかないので調べた。
Irfanviewでは、読み込んで反転させるまではいいのだが、それをfitsで吐き出せない。
irafとかSDFREDとかでは出来るようだが、インストールとか設定が面倒だ。
自分の環境では、もっとも簡単なのはGIMPでやることだ。
画像を開き、メニューバーの色(C)>反転(V)で反転させることが出来る。
なお、おなじくメニューバーの選択(S)>反転(I)というのがあるが、こちらはうまくいかない。
Irfanviewでは、読み込んで反転させるまではいいのだが、それをfitsで吐き出せない。
irafとかSDFREDとかでは出来るようだが、インストールとか設定が面倒だ。
自分の環境では、もっとも簡単なのはGIMPでやることだ。
画像を開き、メニューバーの色(C)>反転(V)で反転させることが出来る。
なお、おなじくメニューバーの選択(S)>反転(I)というのがあるが、こちらはうまくいかない。
2008/08/23
sprintf
これまであまり文字列をCで扱う機会が無くて、Cで文字列を合成するsprintfを知らなかった。
sprintfはprintfと同じ感覚で使える。
stdio.hをインクルードする必要がある。
ちなみに文字列はPythonで扱うと非常に楽で、結合したければ+で出来てしまうし、切り出すにはsplitが使いやすい。
#include
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とかの存在意義がよくわからなくなった。
sprintfはprintfと同じ感覚で使える。
stdio.hをインクルードする必要がある。
ちなみに文字列はPythonで扱うと非常に楽で、結合したければ+で出来てしまうし、切り出すにはsplitが使いやすい。
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_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と打つと、時刻を持ってこれる。
Cだと、time.hをインクルードして、gmtime()を使えばいい。
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と打つと、時刻を持ってこれる。
2008/08/13
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も復活。
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つずつ入れていた。
発端は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について、ポートを開く設定にした。
作業はこれだけ。
設定の後のネットワークチェックで、ネットワーク接続が確認できた。
とりあえず今日はここまで。
そこでネットワークケーブルを買ってきて設定してみた。
買ってきたのはカテ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);
とかしてやればいい。
デフォルトでそうなっている。
だが、この表示が鬱陶しくなるときがある。
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からπ。
それと角度を計算する時は単位に気を付ける。
大体、妙な動作をするときは決まって、度のまま三角関数を計算しようとしてしまっている。
しかしタンジェントは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のイメージファイルが使えるようになった。
そのせいで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度前後になった。
これで問題なく今年の夏を越せる。
そこでケースについていた壊れたファンを交換してみた。
これで冷えるだろうと思いきや、全く効果が無かった。
最近は常時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は便利だけど、メジャーアップデートとかがあると面倒臭い。
しかも必ずというわけでもなくて、問題なく抜けられることもある。
訳が分からない。
マウスジェスチャに関しては、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の問題が何とかなってくれればいいのだが。
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
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.で決めた設定ファイルが呼ばれるので、次からは特に指定する必要は無い。
ところがこのとき問題がおきる。
デフォルトがインチになっていて、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
2008/05/25
Cでのプログラムあれこれ
1つ目のTipsはガウス記号について。
ガウス記号を用いるのにどうすればいいのか、良く知らなかった。
そこでこれまでは、(int)(double x)みたいな書き方をしていた。
こうするとxが正だったら、小数点以下を取ってくれる。
ただし負だと期待した動作にならない。
ただ小数点以下を取ってしまうので、欲しい値よりも+1された値が返ってくる。
具体的には、例えば-2.8は-3になって欲しいのに、-2になってしまう。
なので、正か負かをあらかじめ考えておく必要があった。
実際にはfloor関数を用いればよい。
これはガウス記号とまったく同じ動作をしてくれるので、正負に注意する必要がない。
これは床関数といい、これとは反対に天井関数というものもある。
天井関数はceil関数を用いる。
2つ目はgccについて。
sinとかcosの三角関数を使うようなとき、gccでコンパイルしようとするとエラーを吐く。
これを回避するには、-lmオプションを指定すればいい。
ガウス記号を用いるのにどうすればいいのか、良く知らなかった。
そこでこれまでは、(int)(double x)みたいな書き方をしていた。
こうするとxが正だったら、小数点以下を取ってくれる。
ただし負だと期待した動作にならない。
ただ小数点以下を取ってしまうので、欲しい値よりも+1された値が返ってくる。
具体的には、例えば-2.8は-3になって欲しいのに、-2になってしまう。
なので、正か負かをあらかじめ考えておく必要があった。
実際にはfloor関数を用いればよい。
これはガウス記号とまったく同じ動作をしてくれるので、正負に注意する必要がない。
これは床関数といい、これとは反対に天井関数というものもある。
天井関数はceil関数を用いる。
2つ目はgccについて。
sinとかcosの三角関数を使うようなとき、gccでコンパイルしようとするとエラーを吐く。
これを回避するには、-lmオプションを指定すればいい。
2008/05/21
2008/05/17
MobileMeter
MobileMeterはノートPCのCPUとHDDの温度をモニターする。
仕組みはよく分からないのだが、Core Tempと違って、X23でも温度モニター可能。
その他、CPUのクロック数が変動している様も見ることが出来る。
が、X23で900MHz以上の周波数を返してくることがあったりした。
ちなみに上限は866MHz。
X23のCPU温度は60度程度、HDDは40-45度。
ノートだとこんなもんか。
VMwareのXPに入れてみたが、こちらはCPUのクロックのみモニターできた。
仕組みはよく分からないのだが、Core Tempと違って、X23でも温度モニター可能。
その他、CPUのクロック数が変動している様も見ることが出来る。
が、X23で900MHz以上の周波数を返してくることがあったりした。
ちなみに上限は866MHz。
X23のCPU温度は60度程度、HDDは40-45度。
ノートだとこんなもんか。
VMwareのXPに入れてみたが、こちらはCPUのクロックのみモニターできた。
2008/05/07
2008/05/05
FC5その後
CPUを注意してモニターしていると、スクリーンセーバを表示しているとき、CPU使用率が100%になり、温度が70度程度まで上がることに気づいた。
そこでCPUに負担をかけないように、スクリーンセーバを真っ暗になるだけにした。
これで劇的な改善が見られた。
CPU温度は大体50-60度で安定するようになり、この状態でシステムも安定した。
CPU温度60度後半は危険水域で、これくらいでほぼ間違いなく熱暴走し始める。
もう少しマージンを取りたいのだが、PCの蓋を開けっ放しにしても効果が見られない。
モニターできているので、危なくなるとすぐにそれと分かるようになっただけだが、それでも幾分マシな状況にはなった。
そこで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度になっている。
今後、監視してみて、落ちるときの温度をみてみよう。
手始めに時計とかボリュームのアプリが落ち始め、連鎖的に落ちた挙句、最終的に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を付け加えると動いた。
それとファイルの場所はフルパスで指定する必要がある。
このとき一定時間ごとに動くようにシェルを書くというのも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のマクロは"である必要がある。
これには下記のように打てばいい。
$ 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はヒストグラムなので、入力が実質線であろうと関係ないし、時間も短い。
状況に応じて使い分ければいいのだろう。
このときこれを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がファイルのポインタ。
ついでに存在しないファイルを引数に取ったときは、エラーを吐くようにしたい。
これを実現するには、以下のようにすればいい。
void hoge(const char* fname)
{
ifstream fin;
fin.open(fname);
if(!fin.good()){
cerr << "Can not open " << fname << "!\n";
return NULL;
}
}
fnameはファイル名、finがファイルのポインタ。
登録:
投稿 (Atom)