2007-02-01から1ヶ月間の記事一覧

ヒアドキュメントとパイプ

ref:Blog/2007-2-15 - Rocco の日記 ref:ときどきの雑記帖 リターンズ 2007年2月 う〜ん。cygwin の bash でも cat <

lsof

id:lurker さんのブックマークコメントより。 む、lsof なんてあるのか。これはこれで詳細な情報が手軽に得られていいな。

文字化け

PHP

ref:PHPの文字化けを本気で解決する - ぎじゅっやさん via:よくきたはてダ - 惜しいが間違っている 上鍵さんからツッコミが入ってますが、別の点を。 先ほどの例の時にも書いたが、PHPには内部エンコードという概念は存在しない。ではmbstring.interna…

ノウハウの push/pull

言及するのを忘れていた。 otsune otsune ネタ的には「それなんてDevelopper Environment Conference?」というコメントが期待されているのか? ええと、なんというかそういう集まりに参加しようとも思わない人が結構いるという話です。 ノウハウが存在すると…

続 Python で Suffix Array の構築

ref: Suffix Array - enbug diary (2007-02-13) むむ。そか、naive に1文字づつ切り出して比較するより、適当なサイズごとに比較してやったほうが速いよな、そりゃ。 そもそもの問題はコピーを作らずに比較できないことなのだけれど、 Python 3000ではsubstr…

YARV + REXML

YARV*1 の性能を REXML で試してみる。2MBytes ほどの XML を parse。 % ruby -v ruby 1.8.5 (2006-08-25) [i686-linux] % ruby1.9 -v ruby 1.9.0 (2007-02-15 patchlevel 0) [i686-linux] % cat test.rb #!/usr/bin/env ruby require 'rexml/document' ARGV…

Ruby の trunk がものすごい更新されている。

svn up したらものすごい数のファイルが更新された。なんだこれは、と思ったが良く見たら単にまとめて svn:eol-style を設定しているだけだし。 無駄にびっくりしてしまった。

バウンス + フォワードループ

ref:メール転送のおはなし - どさにっき 転送そのものがループになってなくてもひどいことになったりする例。 メールアドレス A に届くメールをそのままメールアドレス B に転送していたりとする。でなにかの事情で、B 宛てのメールはバウンスされて戻ってく…

吹雪

昼飯買いに外に出たら軽く吹雪いているし。夕方、ちゃんと帰れるんだろうか。

プロセスが開いているファイルを確認する

Linux であるプロセスが開いているファイルを確認する Tips。 ls -l /proc/`pgrep -n java`/fd"pgrep -n java" の ところは用途に応じて "pgrep -nf foge.py" とか適当に。Linux に限らず procfs がサポートされている OS ならいけるような気がする。 と思っ…

stemming

なんか性能が悪いと思ったら、転置インデックスの単語が stemming されてねぇ。新聞記事なら過去形が多いんだからそりゃ駄目だ。 ってことで、stemming するようにしてインデックス作り直し。まぁ、YAML の設定ファイルに2行追加して実行しなおすだけなんだ…

雪と思ったらなんか雹が降っているよ。

GET と lwp-request

ref:ウノウラボ Unoh Labs: ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!! 説明がないようだが GET は 標準のコマンドな訳ではなく*1、Perl モジュールの LWP(libwww-perl) に付属してくるコマンドで、同じく LWP 付属の lwp-request への…

比較関数

Google で qsort を検索して引っかかったページを見てみると割りと低くない確率で比較関数の例が int cmp(const int *a, const int *b) { return *a - *b; } だったりする。ていうか、対象言語が日本語の場合*1にトップに出てくるのがコレだ。 ええと、普通…

ソートの速度比較

ref: qsort - enbug diary (2007-02-10) ふむふむ、NetBSD 由来の qsort が速いと。unsigned int の要素数 10,000,000 で試してみた。表中の数字は所要時間で単位は秒。 まず、Pentium M 2GHz の coLinux on Windows の gcc-4.0 で、 コンパイルオプションは…

Display without Filter

普段はラップトップPCにはフィルタをつけてあるのだが、久しぶりにはずしてみるとえらくディスプレイが綺麗に見えてちょっと感動。 って良く考えればそれはフィルタが汚れているんじゃあるまいか。拭くべ。

本の売却

42丁目にある BOOK OFF に本を売却。 紀伊国屋で適当に本を買って BOOK OFF で売却するというサイクルが確立しつつあるが、激しく効率が悪い気がする。でも、ま、もうすぐ帰国な訳だし大量の本を持って帰る気にもならないので仕方ないといえば仕方ない。

咳が止まらない

軽く風邪を引いたようで咳が止まらない。

フラグレジスタ

ref:フラグレジスタのないMPU - ときどきの雑記帖 リターンズ 2007年2月 なるほど、専用のフラグレジスタがなくて、比較命令を使って汎用レジスタにフラグをセットするわけですね。 自分が扱ったことのある CPU は Z80 で、演算のたびにフラグレジスタが更新…

awkで偶数行出力

偶数行出力が awk で 5B? すぐに思いついたのが 7Bだから、何か見落としているのか。 すぐ思いつくのは awk 'NR%2==0'で 7Bytes ですね。ちょっと工夫すると awk 'NR%2-1'で 6Bytes。 awk -v a=1 'a=!a'で 4Bytes なんてのも考えたけど、反則だな。 結論とし…

immutable object の slice

最近気づいたんだけど、Python の tuple や str って slice 作ったときに領域コピーされているっぽい。 つまり l = tuple(range(10000)) m = [l[i:] for i in xrange(1000)] とかやるとすごいメモリを食う感じ。list なら仕方がないかと思うんだけど、tuple …

Python で Suffix Array の構築

import codecs, re def most_long_match(a, b, array, i=1): while cmp(array[a:a+i], array[b:b+i]) == 0: i += 1 if len(array) - a == i: break return cmp(array[a:a+i], array[b:b+i]) mat = re.compile('<.+?>') fp = codecs.open('04.txt', 'r', 'utf…

情報系の大学教育

何かの流れでプログラムカウンタとかフラグレジスタってやつを知っているか後輩に聞いてみたら即答できないでやんの。 工学部の情報系学科を卒業しようという人間が「プログラムカウンタって何でしたっけ?」な状況ってのはいかがなものかとか思うんだが、冷…

それ use open

しかし、 test.pl < utf8.txtは行けるが、 test.pl utf8.txtはだめ。 前にも書いたけど、引数を指定した場合、<> は STDIN じゃないですから当然ですね。とりあえず use open IN => ':utf8'; とするほうが、スマートといえばスマートか? や、Encode::decode…

PerlIO Layer で複数のオプションを使う

PerlIO::gzip を使うと、 open my $fh, '

勝手に添削

ref:Darkness:がんばってますよ? - livedoor Blog(ブログ) 勝手に人のコードを添削。 sub get_chisquare($$$$) { my ( $s_real, $s_prediction, $b_real, $b_prediction ) = @_; my $sum = $s_real + $s_prediction + $b_real + $b_prediction; my @Data …

MoMA

NYC

MoMA(The Museum of Modern Art; 近代美術館)へいってきた。 しかし、あれを2時間半ほどで見てまわってしまうのはどうかと思うぞ。

Lispっぽく

ref:バカが征く ref:2006年 如らぎ (1)。 func(a) を何回も書きたくないんじゃないかなぁ、と勝手に想像。つか直接聞けば済む話なんだけど、今、週末だし。 それはともかく、Lisper っぽい書き方で。いや、自分は Lisper じゃないけど。 #!/usr/bin/env pyth…

CHICAGO

NYC

なぜだか3週連続ミュージカル。

それ内部イテレータ

ref:404 Blog Not Found:perl - 格子点を生成する関数の生成 うはは、無理矢理。コードを生成して、eval するなら、そりゃそっちのが速いよなぁ。 つうか、逆転の発想というより、そりゃ外部イテレータが内部イテレータに変わっているって話だ。いやまぁ、別…