unix timeを普通の時間表記に直したいときがある。
すばやく計算したいときは、ターミナルで以下のように打てばいい。
$ ruby -e 'p Time.at(1224928800)'
これはRubyのコマンドを、-eオプションで1行だけ実行させている。
逆に普通の時間をunix timeにしたりしたいときは、dateコマンドを使う。
$ date -d '2008/10/25 00:00:00' +'%s'
+'%s'の部分でunix timeの出力を指定している。
ちなみにdateはbashのコマンドだが、上のようにunix timeを普通の時間に戻すことは出来ない。
またPythonでもRubyと同じようにできないか調べたが、どうもヘルプを読んだ限りでは出来ないようだ。
1行だけのコマンドを実行するオプションがなかった。
2008/10/26
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に載っているのだが、自由度についてはマニュアルには記載がない。
登録:
投稿 (Atom)