技術メモ

精度は大事だよー

やっぱり精度大事だよねー、 というmooterの広告。 http://corp.mooter.co.jp/

メールサーバって大変よね

自宅サーバで自ドメインのメールをホストしている。 転送先は、IIJmioのセーフティメールと、GMail。 IIJmioのメールは、容量無制限なのはいい。 しかし、添付ファイルの容量がMax 10MB。 GMailもMax 10MB。 いまどき大きな添付ファイルを送るというケースは…

ほのぼの

サラ金業者の取り立てが問題になっている中で。 ほのぼのレイクのサイトがちょっと面白いと思った。 http://www.want-to.jp/

Apache 2.2

Apache 2.2のWindows版の公式バイナリってまだないのかにゃ? とりあえずココで見つけたけれども。。。 http://www.apachelounge.com/download/

FireBugやるなあ。

FireBug の新しいバージョンが便利すぎる件について http://d.hatena.ne.jp/amachang/20060331/1143774045 素敵素敵。 でも、これを見てふと気づいたんだが、 最近Webアプリケーション書いてないよ。。。 昔からデバッガというものが好きな性格。 割り込みベ…

でっかいファイルを高速に圧縮せねばならんとき

意外と知らない人が多いので書いてみる。でっかいファイルを高速に圧縮したいならLZO。 http://www.oberhumer.com/opensource/lzo/ ページにセンスがないのがアレなんですが。。。 早くて圧縮率もまあそこそこです。 MySQLでただ読み込むだけのフィールドが…

そいえば、まだ読んでない

読もう読もうと思っているのに読めてないシリーズ。 スタンフォードの講義。 http://www.stanford.edu/class/cs276/ http://www.stanford.edu/class/cs276b/cs276のシラバスはためになるなる。 こっからたどれるところにも面白げなネタが。 むむう。。。

UDFについて

MySQLのUDF(User Defined Function)は死にゆく運命なわけですが、 一応メモを残しておこう。 間違ってたらごみん。・テーブルからわたってくる文字列は、 NULL Terminatedされてない場合がある。 適宜memcpy+NULL付加する。 ・error=1としてしまうと、全ての…

めもめもめも

いつもGoogleして見つけるのがめんどいリスト。 そろそろ、ブラウザのブックマークという機能を活用してみようかしら。 flogにでも登録するかね。。。MySQLモニタリング http://mmeasure.sourceforge.jp/ Webアプリテスト http://www.openqa.org/selenium-id…

コーディングに大切なもの

昨日オフィスの会議室で、 ひとり紙の上で設計したちょっと複雑な仕様設計。 実装し終わって、ちょっとしたバグを取っていたら、 より簡単かつ高速な設計に気づいてしまった。ぎゃー。コーディングの質には、 睡眠が一番寄与するような気がする今日このごろ。

メモリデータベース

いいにゃー。 http://kairos.science-arts.com/index.html

MediaWikiの中抜き挫折

手でパーサ書くわ!手で!

あ!野良ports作成!

忘れていた。rtに入れておこう。。。

健忘症

ひさびさにPHPを書いたらすっかり忘れている。 ちょうどよい機会なので、現代的なPHPの書き方を学習。 時代はPDOなのね。ADOを思い出すな。 PEAR::DBより速いとか。適当にportsでPDOをブチ込むと、 適当に動いているご様子。おー。PerlでまずxmlをDBに突っ込…

Unicode正規化まわりを追え!

文字が変わる正規化はいいけど、 コードしたバイト数が変わる正規化は勘弁!

mallocでSEGV

malloc、しかも数十バイトのやつを呼んだだけで落ちるってどういうことよ〜。 んが〜。coLinuxだからか? [追記] 普通にヒープぶっ壊してました。 やーひさびさのCはきっついのー。 ccmallocでリークチェックはしてたけど、 範囲外アクセスのチェックなんか…

ふふふ

DBが壊れる原因がわかった。 Perlでの利用だけかもしらんが、 1つのプロセスで複数のDBを開いて更新をしているとおかしくなる。 (not ひとつのDBを複数のプロセスで開く) 同時に1個しか開かないようにしたら壊れなくなった。 まあ、ありがちといえばありが…

snippet作成なんか

snippet作成のときに必要となる、文字列検索アルゴリズム。 BM法くらいしか覚えていなかったんですが(しかも名前だけ)、 ちょちょいと検索すると面白いページ発見。 http://www-igm.univ-mlv.fr/~lecroq/string/index.html1997って書いてあるのが気になる…

Hyper Estraier 1.06で

Hyper Estraier 1.06+perl binding 0.0.15で どうもDatabase Problemが起きたりすることがある。 qdbmは1.8.33だが、1.8.34でバグが取れたらしいMinGW環境でもないし。1.04+perl binding 0.0.14に戻したらとりあえず壊れなくなった、ように見える。 とりあえ…

rsync

rsyncのファイル転送全体をatomicにしたい。 で、atomic-rsyncというPerlスクリプトがあるのですが、 デスティネーションがローカルじゃないとダメなのよ。 むにゅ。 まあ、いろいろと方法はあるけど…

Hyper Estraier 1.0.5が落ちる

Hyper Estraier 1.0.5が出てました。パチパチ。 で、使ってみようとしたら落ちる。文書に@dateという属性をつけている。 $cond->set_phrase($parsed_query); $cond->add_attr("\@date NUMGE $from"); $cond->add_attr("\@date NUMLE $to"); $cond->set_order…

おおおおHyper Estraierクンめ

Perlバインディング、 est_db_search(実際はest_mtdb_search)の第4引数がNULL固定!!! つまりest_cond_set_maxしていると全体ヒット件数が取れないのだ。 maxを抜いて取るべし。ひい。あと、ESTCONDUSUALの場合にも、 ひっかかったレコードをちゃんとス…

昨日のお祭りを振り返って

というわけで、 昨日は一人全文検索祭り(Perlで簡単に使えてN-gramイケるやつ)をしていたわけですが、 大規模な文書をインデックスするにはSennaかHyper Estraierしか実用的じゃない印象。 Lucene系は、 Javaで本家Luceneを使う場合を除くと余計な心配事が多…

PLucene つ ポイッ

インデックス中に持っている属性でのソートができないっぽい。 いや、普通にPerlのコードでできるんですが、 インデックスを使ったソートが出来ないということで。

PLucene

Perl版Lucene。 http://search.cpan.org/~tmtm/Plucene-1.24/lib/Plucene.pm C++版LuceneのCLuceneのPerlバインディングを使うという手もあり。で、PLucene、ドキュメントを追加しようとすると激烈にエラーを吐きます。 Bitwise-String-Operatorsを普通のXOR…

CLucene つ ポイッ

インデックス中に持っている属性でのソートはできますが、 Perl wrapperにそのためのインターフェースがない…

Rast.pm

Rast 0.3.1ではDATE型とDATETIME型の両方があります。 Rast.pmでは過去のバージョンのRastを前提としており、 DATE型にDATETIME型の値(ex.2005-11-05T12:31:12)をいれようとします。 よって、Rast.pmとRast.xsを適当に修正すべし。…ひさびさに書くと感覚が分…

Hyper Estraier

Hyper Estraier。 amd64でも問題なく。 perlバインディングも問題なく。 index作成もそれなりに早く。 つか、indexがかなり小さい気がする。zlib効きまくり?さて、そろそろスヤリしないと。

CLucene

CLucene。 debian-amd64だとビルドに失敗する。 i386だと大丈夫だけど、 附属のperl wrapperがビルドに失敗する。 CPANにあるCLuceneモジュールは、 rpmの中にあるclucene_dllp.hがないと ビルドに失敗する。tar.gzの中にはない。とりあえず、rpmの中身を/us…

クローラー落ちていた

またTidy先生のおかげで落ちていた。 とりあえず、forkやめてフォアグランド動作に戻して、 daemontools配下に全てのクローラ関係のデーモンを移動。あとデータ移行しておかなきゃ。