Net::Rshはrootでないと動かん

昔からkondaraで使ってたrshスクリプトをSOAP対応にしてもう少し使いやすくしたいと思ったんだが、、、

kondaraってSOAP::Liteモジュールが入らんし、5.8のコンパイルも通らん。しかもsshも入ってないので、Net::SSHもつかえん。

ただ、Net::SSHがあるってことはNet::Rshもあるかなあと探したらNet::Rshを発見。

こいつを使ってperlスクリプトを書いてみた。

書いてみたけどなぜか動かん。何故ー?と小一時間悩んだ結果

Net::Rsh - perl client for Rsh protocol - search.cpan.org

Rsh protocol requires that the program be run as root or that the program be setuid to root

うげ、これじゃ使えねぇとか思いつつrootで実行したらあっさり動いた。

結局、perlスクリプトでsystem関数使うのもアレなので、

my $cmd = "rsh $host $rsh_cmd";

open my($fh), "|-", "$cmd" or die $!;

while(<$fh>){
    print;
}

とかやったけど、|-とか-|とかちゃんと理解してないので調べないといけないゾ。

またもやblosxomの遅さが気になってきたヨ

ココ何日か、blosxomの遅さが気になりはじめてきた。クライアントでページを表示させるのに10秒以上かかると、さすがに遅いナァって思うし、サーバー状況をtopで眺めてると、5つくらいのblosxom.cgiでスワップしそうになるので精神衛生上もよくない。 やっぱ静的なキャッシュにしたいなぁという思いが強まってきた。とりあえず気休め程度にページングとかのキャッシュ対象にしていないプラグインをはずしてみたり、last.fmのやたらと遅いjsをやめてみたりしている。

以前dynamic_cacheで試した方法だとうまくいかなかったからなぁと何気に検索かけてみたら、

をを~cgiはドットなディレクトリに配置すればいいんだ

と。

昔参考にしたのにちゃんと理解してなかったヨ。

新しいサーバーはこの設定で動かしてみよう。

あと、google sitemaps使ってるけど、ヒットしないページが結構あるので、ついでに検索はSearch::Estraierに変更したい。

METAMORPHOSE

去年に引き続き、今年もいってきましたヨ、METAMORPHOSE 06ちなみに去年はこんな感じ1&2

今年は開場よりも30分ほど早い16時には着いたのだが、既に長蛇の列。

長蛇

去年よりも早く着いたのに、列長すぎ。
17時過ぎには入場できて、キャンプサイトを目指す。結構歩くといっても朝霧ほどじゃない。プラネットの近くが空いてたので、大体去年と同じ場所にテントを張った。

そして近くのミラーボール塔

ミラー

夜になると、スモークとかがバンバン噴出してきて、ちょっといい感じのスポットに。

去年はゴミがえらいことになっていて、場所貸すほう的にはイヤだよなとか話していたのだけど、今年も修善寺開催(ナイス)。今年はデポジット制(買うときに100円多く集めて、皿や空き缶等のゴミを持っていくと返金)だったので、去年と比べものにならないくらいゴミが少なくてよかったヨ。

というわけで、アーティストの感想など。

AKI

ムンベー好きにははずせない選択、もちろん最前列。AKIってハード目なのね。あっという間の30分。

GOTH TRAD

初めて聴いた。やばすぎ、カッコイイ。新鮮度的には今回一番。最初から最後まではしゃぎまくった。はじめのほうは、かっこいい曲かけるナァとか思ってたんだけど、レコードじゃないことにすぐ気付いた。

インタビューみっけたので読んだら、グライムなの?

うーん、グライム食わず嫌いだったかも。

SLEEP WALKER feat PHAROAH SANDERS

jazzのヒトって知らなかっただけに、テントから聴こえてきてうおー良すぎってなった(今回の連れは去年と一緒のjazz好きだったので)。しかもHMVテントでCD衝動買いしちゃったし。

井上薫

朝日が昇る前の井上薫はやばすぎ。しかも一眠りしてやたらテンション高かったし。人力ミラーボール回しとか雨上がりでちょっぴり気温がさがってたとか、今年のプラネットステージは白のヒラヒラが幻想っぽさを醸し出してたりとか、色々な要素があいまって、はまった。

ラストのcalmは気持ちよく踊れてたのだが、high tech jazzのあとにマッタリ曲が流れたあたりで、ちょっと疲れちゃったので最後を待たずにテントに戻って寝転がってたら、ソラーステージで演奏してたSUNSHINE JONEESがカッコよくて、いけばよかったかもとか。

百笑いの湯に寄って、反射炉の奥の三つ割り菊で蕎麦。田舎を注文

久々のうまい蕎麦。

フェス->温泉->蕎麦のパターンはイイ(ボード->温泉->蕎麦みたい)。

右クリックでWebLSD

あれ、LSDって昔はpdic形式のデータ配布してたよなァと思いつつ、探してもみつからないので英辞郎みたいに右クリックで検索できるようにしてみた。

http://lsd.pharm.kyoto-u.ac.jp/cgi-bin/lsdproj/ejlookup04.pl?query=$

を拡張機能で設定。

config

で、実行すると新しくタブが開いて検索結果が表示されるようになったとさ。

config

pubmedのアブストをRSSリーダーで流し読みしてるときなど便利。

みんなのpython読んだ

メタモ前に時間が空いていたので、みんなのpython全部読んでしまった。

ProductName みんなのPython
柴田 淳
ソフトバンククリエイティブ / ?円 ( 2006-08-22 )


一通り読んで、doctestって便利な仕組みだとプチ感動。あと、リスト内包表記が使えるので便利そうだけど、表記の仕方がhaskellのほうが(見た目)わかりやすいかなってとこ。

Rとかbiopythonみたいな科学技術計算関連でちょっと使ってみようと思っているが、その前にTurboGearsDjangoをさわってみる。

RNews volume 6/3はオモシロげ

CRANでRNewsの最新版が読めるようになってた。今号はなかなか興味深い記事が多かった。全部読んでみたけど特に印象深かったのはこの3つ

Fitting dose-response curves from bioassays and toxicity testing

毒性試験との用量依存性曲線を描くためのコツというかそんな感じの内容。

酵素アッセイとかだと普通にシグモイド曲線のフィッティングをすればいいが、ED50なんかを求める系だと、hormesisがおきるので、特に低用量下でブランクよりも高い値がでる場合がある。そういう場合は linear-logistic modelを導入するとよいらしい。

The pls package

僕はよく使うので、multi-response modelsのとこと、varidation周りの話題が参考になった。

Generating, Using and Visualizing Molecular Information in R

RからCDKを使う話。SJavaをつかってRから記述子を抽出したりとか画像を表示したりとか。僕はRから他の言語を使おうとはあまり思わないほうなので参考になったという感じ。むしろ、jython+CDKRpyを組み合わせて色々できると面白いナァと思う。

みんなのpythonが届いた

Higher-order Perlの4章を読み終わった。iteratorの章だが100ページ近くあってなかなかの読み応えでちょっと読み疲れた。

ProductName Higher-Order Perl: Transforming Programs with Programs
Mark Jason Dominus
Morgan Kaufmann / 5574円 ( 2005-03-28 )


さぁ、5章だと思ったら、みんなのpythonが届いた。

ProductName みんなのPython
柴田 淳
ソフトバンククリエイティブ / ?円 ( 2006-08-22 )


うーん読む暇をみつけないといけないが、haskellのあとだなぁ。

MOPAC7

サーバーにMOPACを入れてみた。C3だからどうかなぁなどと思っていたが、なかなかさくさく動くので結構満足

port:3016 / Applications

MOPACの利点は、半経験的……シュレーディンガー方程式を一から解くのではなく、計算途中で 経験的パラメータを部分的に導入し、計算コストを下げるという点です。MOPACなら現在の 家庭用PCでも十分計算が可能で、それほど待つことなく計算結果を見ることができます。 しかし、それで計算精度が大きく低下することもありません。MOPACで使用されているパラメータ は既存の数多くの有機分子の構造パラメータで最適化されていて、通常の有機分子を計算する 分には、十分な精度の結果を与えます。

とはいえ、このままだとアウトプットの解釈がしにくいナァ。SMBと組み合わせて、可視化はWINでするとか。そんな対応しか思いつかんヨ。

いまさらながらSOAP::Lite

クライアントじゃなくてサーバーのほうをSOAP::Lite for Perlを参考に勉強中。久々の仕事絡みのプログラミングだ。

うちはケモインフォ関連の記述子発生ソフトや3次元構造立ち上げツールが複数のサーバーに分散されているという環境なので、rsh全開力技のスクリプトを書かないとフローが処理できない。でも、最近のツールにはSOAPじゃないと使えないのがあったり、あんまガシガシ書くとメンテが大変だったりするので、よく使うスクリプトはモジュール化しつつ、SOAPに対応することにした。

実はSOAPでサーバー側のスクリプト書くのは初めてで、色々悩むとこが多いなぁという感じ。特に記述子発生ツールはsmiles一化合物ごとに処理すると通信のオーバーヘッドが馬鹿になんないんじゃないの?だから束ねて計算させたほうがいいのかなとか、mopacとかgamessとか構造最適化みたいに意外に時間がかかる処理はどうしようかな?と。要するに非同期通信させないと駄目なんじゃないということなんですが。

で、いろいろ探し回ったところ、非同期にメソッドを実行するには?という遺伝研メソッドを発見。ほお、イメージとしては大分昔のNCBIがBLASTをリフレッシュ使って実装してたようなので捉えればいいのかな?

あとはSOAP::Liteでオブジェクトアクセスしたときにエラーハンドリングはどうやるんだろうか?やっぱ、関数型のやり取りのほうが、SOAP::Lite以外のクライアントとのやり取りがラクなんだろうなとか感覚的に思うことはあるんだけど、実際に色々作ってみて使ってみないとわからんな。

Error.pm

Inline::Java使っていてjavaのtry-catchってコンパイラに強制されてる感が強くてやだけど構文自体は読みやすくてよいよなと思ってたらperlでもtry-catch構文風なものが使えるようになるモジュールがあるそうだ。

qootas.org/blog - Perlにおけるtry catch

perl についてくるモジュール Error.pm を使うとこんな感じで書けます。

下の記事もわかりやすい。

perl.com: Object Oriented Exception Handling in Perl

The main goal of this article is to discuss in detail about exception handling in Perl and how to implement it using Error.pm. On our way, we'll be touching upon the advantages of using exception-handling over traditional error-handling mechanisms, exception handling with eval {}, problems with eval {} and the functionalities available in Fatal.pm. But by and large, our focus we'll be on using Error.pm for exception handling.