import signal
import time
class timer():
def __init__(self):
self.flag = True
def _handler(self, x, y):
self.flag = False
def set(self, sec):
signal.signal(signal.SIGALRM, self._handler)
signal.alarm(sec)
def check(self):
return self.flag
if __name__ == "__main__":
tmr = timer()
tmr.set(3)
while tmr.check():
time.sleep(100)
2011年9月2日金曜日
python でタイムアウト
SIG ALARMを使ったタイムアウトの仕掛け。再実装するのが嫌なのでメモとして残しておこう。スレッド環境では使えないので注意。
2011年8月31日水曜日
Hadoop on Mac OS (single node)
CDH からHadoopをダウンロードしてきて展開。
http://hadoop.apache.org/common/docs/stable/single_node_setup.html
のとおりにconf以下の3つのファイルをいじる。
ssh でlocalhostに入れるようにしなければならないので、共有でリモートログインを有効にしておく必要がある。
で、
> bin/hadoop namenode -format > bin/start-all.shでOK. namenode のフォーマットをしないでstart-allするとnamenodeが起動しないので要注意。
> jps 6724 17758 DataNode 17969 Jps 17958 TaskTracker 17833 SecondaryNameNode 17683 NameNode 17885 JobTrackerとかなって、4つのデーモンが全部立ってればOK.
2011年8月23日火曜日
Mac でfortran + mpi
本気で使うわけではないので適当に。mac portsで入れる。
まずはfortran95を、とか思って
> sudo port install g95
とかやるとgcc4.2ベースのg95が入ってくれるけど、実はMPICH2が使ってくれない!ので無駄。
MPICH2を入れるときにvariantとしてgccXXを入れると、enable-fortranフラグが立ち、勝手にfortranを入れてくれる。らしい。
> sudo port install mpich2 +gcc45
とかやると、fortranだけじゃなくて、なんかgcc-javaとかobjective-cとかまで入れてる。。いつまでたっても終わらん。が、最終的にはちゃんと入ったようだ。めでたい。
まずはfortran95を、とか思って
> sudo port install g95
とかやるとgcc4.2ベースのg95が入ってくれるけど、実はMPICH2が使ってくれない!ので無駄。
MPICH2を入れるときにvariantとしてgccXXを入れると、enable-fortranフラグが立ち、勝手にfortranを入れてくれる。らしい。
> sudo port install mpich2 +gcc45
とかやると、fortranだけじゃなくて、なんかgcc-javaとかobjective-cとかまで入れてる。。いつまでたっても終わらん。が、最終的にはちゃんと入ったようだ。めでたい。
Mac でMDをmp3に変換
Audacity で万全。Audacity はもっといろんなことの出来るソフトウェアらしいのでこんなことに使っては申し訳ないような気もするが。
Audacity は単体ではMP3への書き出しができないのでlameをプラグインとして追加する必要があるが、これもインストラクションに従えば良い。
Audacity は単体ではMP3への書き出しができないのでlameをプラグインとして追加する必要があるが、これもインストラクションに従えば良い。
- まずは録音をする。入力を外部入力に指定するのを忘れないこと。デフォルトはモノラルなのでステレオにすること。
- 分割をする。「解析」ー「find silence」とやると自動的にラベルを打ってくれる。無音部を拾うだけなので実際の曲の区切りとは異なる場合があるので、結果を聞きながら修正する。ラベルは削除することも追加することも可能。削除はラベルの文字列を削除した状態からさらにバックスペースを押すと消える。特に1曲目の頭と最後の曲の末尾は、切り捨てられてしまう場合があるので、注意して修正する必要がある。
- 「複数ファイルへ書き出し」でMP3へ書き出し。ID tagの入力をいちいち求められるがあとで纏めて打ったほうが簡単かもしれない。
2011年8月12日金曜日
Mac OS X 64ビットと32ビット切り替え
MacOS X でデフォルト動作モードを切り替える方法。
$ sudo systemsetup -setkernelbootarchitecture x86_64
$ sudo systemsetup -setkernelbootarchitecture i386
2011年7月22日金曜日
2011年7月10日日曜日
git の設定
手元のディレクトリ(text)を新たにリモート側にレポジトリを作ってプッシュする。
リモートサーバ
まずは、リモートサーバにgit のレポジトリを用意
> mkdir text.git
> chdir text.git
> git --bare init --shared
ローカル側のディレクトリをレポジトリとして初期化
> cd text
> git init
ローカルレポジトリに追加してコミット
> git add .
> git commit -m "initial commit"
ローカルとリモートを接続
> git remote add origin ssh://example.com/home/yourname/text.git
このとき自分のホームからの相対パスではなく、フルパスで指定するところがポイント。
で、プッシュ
> git push origin master
別のマシンで作業するときには
git clone ssh://example.com/home/yourname/text.git
とすればよい。
リモートサーバ
まずは、リモートサーバにgit のレポジトリを用意
> mkdir text.git
> chdir text.git
> git --bare init --shared
ローカル側のディレクトリをレポジトリとして初期化
> cd text
> git init
ローカルレポジトリに追加してコミット
> git add .
> git commit -m "initial commit"
ローカルとリモートを接続
> git remote add origin ssh://example.com/home/yourname/text.git
このとき自分のホームからの相対パスではなく、フルパスで指定するところがポイント。
で、プッシュ
> git push origin master
別のマシンで作業するときには
git clone ssh://example.com/home/yourname/text.git
とすればよい。
登録:
投稿 (Atom)