10072007 R
Planet Rがあった。
早速購読。
あとRとBioconductorを用いたバイオインフォマティクスが気になる。
が、Amazonだと洋書しか出てこない。
06072007 wiki
職場Wikiとして利用しているFSWIKIのpdf出力でpngを埋め込みたかったのでPDFJを0.90にあげた。
要するに、PPTをpngで出力して、そいつをWIKIに貼り付けつつ、pdfにも埋め込んで報告書を書くのを楽にしたいという、、、。jpgは汚くなってしまってだめです。
というわけでただ入れ替えたらfloorっていうサブルーチンがねーとかいうエラー。
Labyrinthine Code - PNGに関する資料によると、floor(x)はxの小数以下を切り捨てる関数らしいのでfloorをintに変更して #vec($clear,$x,8)=(vec($line,$x,8)+floor((vec($clear,$x-$bpp,8)+vec($prev,$x,8))/2))%256; vec($clear,$x,8)=(vec($line,$x,8)+int((vec($clear,$x-$bpp,8)+vec($prev,$x,8))/2))%256;
解決、、、かな?
05072007 javascript
Mochikitの角丸めの関数はdivとかでpadding入れるとずれてしまうので困った。div->divって入れ子にするのもどうかと思うが、とりあえずいきあたりばったりの処理。
04072007 blog
jspeedのDDNSが有料化するらしいのと、ロボットがひどくてしょっちゅうスワップするようになったのと、あれやこれやと家庭の事情で光化しそうなので、blosxomから他のに乗り換えようと色々触ってます。turboblogとかgibeとかtypefaceとか(wordpressも)。
turboblogとかエントリ書くのにwysiwygだったりとかして一見使いやすそうだったりするんだけど、書き続けられるかとか考えたときにうーんとなってしまう。wysiwygはwysiwygが必要なひとのためだけにあるんではないか?と最近は思ってます。
なんで、ここはpyblosxomかなぁとかいって一週間ほど時間を見つけていじってたのだけど、タギングがプラグインなのと、エントリ増えたときに遅くなりそうな実装だったので、却下の予感(ボット恐怖症)。
これで行こうと思えるものがなかったので、結局Catalystでシコシコ書いてる。Catalyst+Mochikitの組み合わせでやる気。最近Web Standards DesignとかAjax デザインパターンとか読んだのでAjaxとかCSSとかいじるの楽しいという事情もあったりするわけだが。
コメントは、はてなブックマークでつけられたコメントをblosxomにインクルードみたいにしようと思ったが、はてなブックマークのコメントは基本的に対話とは無関係だから、短文の感想だよなと改めて思った。
02072007 Python
perlでいうGetopt::Long のようなものはgetoptでおこなえる。が、pythonにはさらにoptparseなるものがあるらしいので、今回そっちを使ってコマンドをつくってみた。
6.21 optparse -- より強力なコマンドラインオプション解析器
optparse モジュールは、getopt よりも簡便で、柔軟性に富み、 かつ強力なコマンドライン解析ライブラリです。 optparse では、より明快なスタイルのコマンドライン解析手法、 すなわちOptionParser のインスタンスを作成してオプションを 追加してゆき、そのインスタンスでコマンドラインを解析するという手法を とっています。optparse を使うと、GNU/POSIX 構文でオプションを 指定できるだけでなく、使用法やヘルプメッセージの生成も行えます。
オプションとヘルプ用の情報を一緒にaddする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/python import sys, re from optparse import OptionParser parser = OptionParser() parser.add_option("-i", "--input", dest="input", help="read from MOL2 FILE", metavar="FILE") parser.add_option("-o", "--output", dest="output", help="write to GAMESS INPUT", metavar="FILE") parser.add_option("-t", "--type", dest="type", help="select calcuiation type", metavar="TYPE") if __name__ == "__main__": (options, args) = parser.parse_args() |
-hでヘルプが出力される。
$ ./test.py -h Usage: test.py [options] Options: -h, --help show this help message and exit -i FILE, --input=FILE read from MOL2 FILE -o FILE, --output=FILE write to GAMESS INPUT -t TYPE, --type=TYPE select calcuiation type
01072007 lifehacks
perl debugger pocket referrenceが1200円くらいで、アマゾンの送料がもったいなかったので、他に一冊でもとあまり考えずに買ったけど、これはなかなか良かった。数時間あれば読めるし、それだけでちょっと自分の考えが少し前進した(気がした)のでそういう意味で良い本だ。
お金儲けの本ではなくて、どうやって自分の意識を高めつづけるかということに関しての一つのアイデアの提示本。役に立つ資格が重要。
モチベーションを保ち続けること。そのためにはこまめなアウトプット(進んでいる感を味わえる環境作り)
そういう意味でblogはいい。
01072007 DDNS
これまで無料で提供してきました、bne.jp、jspeed.jp、ii2.cc、jdyn.cc ドメインを利用した無料ダイナミックDNSは2007年9月1日を持ちまして終了させていただきます。
やっぱ有料化か。ちょうどいい機会なので独自ドメインを取得することにした。
27062007 web
ブックオフにあったので。
ちょっと、時間が経っているということもあって(既に)古臭く感じるとこもあるってのに驚く。特に面白そうと感じているのが人の行動の蓄積そのものが巨大なデータベースになっていくくだり。
僕も、どういう論文読んでどういう風に感じたかという行動をDB化するサービスを職場で運用してるけど根底はまさに行動の蓄積をしてみたかったというわけだが、いまのとこデータのたまり具合がよくないなぁ。
サービス動かしてみてよくわかったのは、一部の人はメチャクチャ論文読んでて、読まないやつはホントに読まんってことくらい。そういう部分からしてZipf分布。
web2.0的なものって集合知っていうよりは知識の空洞化を引き起こすもので、大多数に支持されるしょうもないことと少数のエキスパートによる極めて特異なことの分離を促進するだけなのかもと思った。
ソーシャルってのもどうかなぁ。というかその先がそろそろ気になる年頃。
27062007 Python
perlだとchopとかchompとかしますが、pythonだとどうするんだろうか?
最近はこんな感じ
for line in open(filename,"r").readlines(): choped_line = line[:-1]
こういうやり方もあるらしい。
for line in open(filename,"r").readlines(): choped_line = line.rstrip('\n')
今のところは改行コードをstripするというメソッドよりは, 文字列の0-最後から-1番目っていう前者のほうがなんとなくわかりやすいかなと思う。