2007-01-01から1年間の記事一覧

DBIC::Schema::Loader で 2回 connect すると……

DBIx::Class::Schema::Loader(0.04004) で 2回 connect したら何か変。 package MySchema; use base qw/ DBIx::Class::Schema::Loader /; __PACKAGE__->loader_options( relationships => 1 ); 1; package MySchema::Foo; use base qw/ DBIx::Class /; __PAC…

Subversion で ASCII 以外のファイル名を追加させない方法

エクスプローラ上ではファイル名の全角半角が判別しづらいので、思わぬ全角混じりのファイル名がリポジトリに入ってしまうことがある。 これを pre-commit で検知して防ぐ。 以下のスクリプトを hooks 以下に置いておくと #!/usr/bin/perl # -*- coding:utf-…

Time Machine で iSCSI にバックアップ

osx

Leopard なので Time Machine が使えるわけだが、せっかく家庭内サーバがあるので外付けの USB HDD とかじゃなくてサーバにバックアップを取りたい。 ということでサーバに iSCSI target、Macbook に iSCSI initiator (globalSAN iSCSI Initiator - SNS (Stu…

Test::Base でコンテンツの同一性をテストする

とある Web Application をリファクタリングするので、ある URL で得られる内容がリファクタリング前後で同一であることを確認したい、という話がありまして。 最初はベタに URL を fetch してハッシュ値を保存して……というスクリプトを書いたのだけど(すぐ…

Stunnelでちょっとはまる

http://d.hatena.ne.jp/tokuhirom/20071112/1194867921 をみて、Perlで対応しなくても Stunnel でトンネル掘ればいいんじゃないか、というのは知識として知ってはいたけど実際に Stunnel を動かしたことはないので動かしてみたらちょっとはまった(長い)。OSX…

Generator of the Year

Generator of the Year に 昭和の写真ジェネレータ(仮) がノミネートされました。よろしければ投票してくださいませ。

Leopard入れた

上書きインストール。 とりあえず synergy (OSX:サーバ、WindowsXP:クライアント) の動きがおかしい。 デーモンモードで動かすとプロセスが落ちる -f をつけてフォアグラウンドで動かすと、落ちはしないがクライアントと繋がったり繋がらなかったり不安定 20…

Gearman で Capistrano の shell 機能みたいなのを

Gearman で遊んでたら思いついたので書いておきます。ネタに近い。 複数台のマシンで同じコマンドを実行して結果を見たい、てなのを Gearman でやってみる。 worker: 自分の hostname を function 名として job server に登録。job の引数に受け取った文字列…

DBICの再接続

DBICでバックエンドとの接続が切れた時などに再接続する際の挙動が、0.07x と 0.08x で異なるようなのでメモ。確認したのは PostgreSQL の場合です。 動作確認スクリプトは末尾に。動作は以下の流れ。 connect() resultset から find() バックエンドをkill r…

昭和の写真ジェネレータの作り方

予想外に人気を博してしまった 昭和の写真ジェネレータ(仮) ですが、画像加工の方法を公開しておきます。[追記] 以下のコードは説明用です。なお、実際に動いているコード(に限りなく近いもの) を CodeRepos に up しました。svnはこちらから用意するもの。 …

昭和の写真ジェネレータ

otsune 昭和の写真ジェネレーターが作れそう http://b.hatena.ne.jp/entry/http%3A//portal.nifty.com/2007/09/18/a/ 作ってみた。 昭和の写真ジェネレータ(仮)Imagerで コントラストを落として ちょっとぼかして ふちをつけて 黄色っぽい色を混ぜて ノイズ…

Deamon::Generic で TheSchwartz の worker をデーモン化する(2)

Deamon::Generic でデーモン化した場合、開始はいいけど終了に問題が出る気がする。stop した際には SIGINT が飛んでくるのだけど、TheSchwartz 自体は特に SIGINT をトラップしてたりはしないので、worker の処理中に stop が掛かると、処理が不完全なまま…

Deamon::Generic で TheSchwartz の worker をデーモン化する(1)

TheSchwartz の worker をデーモンにしたくて、どうしようかと。daemontools でもいいんだろうけど、CPAN で見つけた Daemon::Generic を使ってみた。 まず TheSchwartz の client (jobを投入する) と worker (jobを実行する) モジュールを普通に作る。 #!/u…

authnull plugin

qpsmtpd-0.40 に同梱されている設定ファイル config.sample/plugins には以下のような記述がある。 # sender_permitted_from auth/auth_flat_file auth/authnull auth/authdenyこの authnull が曲者というか危険な奴で、SMTP認証を試みてきた奴はユーザ名と…

qpsmtpd に不正中継テストを掛けてみた

qpsmtpd-0.40 をデフォルトインストールした状態で Mail relay testing Third Party Relay Check RBL.JP第三者中継チェック RBL.JP を掛けてみたところ、rbl.jp のテストで 4つ失敗。 リレーが許可されてしまったアドレスの形式は以下。 rlytest%h.rbl.jp@ex…

EZ にデコレーションメールを送信する場合の画像インライン展開

かなりはまった。 技術情報には以下のようにあるが、画像が × になって展開されない。 ・構造情報にmultipart/alternativeのContent-Typeが存在し、text/plainおよびtext/htmlパートの2つのパートが存在すること ・弊社指定のサポートタグを使用したHTML記述…

それ mod_magnet で(出来なかった)

lighttpd-1.4.15 + FastCGI な環境で、HTTP リクエストヘッダ中の任意のレコードを参照して、その内容によって環境変数を設定しておきたい、という状況。 http://blog.tmty.jp/archives/54761462.html mod_magnet は初めて使うわけですが。出来るんじゃない…

mod_xsendfile を使う

mod_xsendfile for Apache2/Apache2.2 という Apache モジュールがありまして、これを使うとレスポンスヘッダに X-Sendfile: path/to/file と出力することで、Apache がレスポンスのボディをファイルの中身で差し替えてくれる。 Webアプリケーションで認証後…

SERVER_PORT の謎

全然エライ人じゃないですけど…… pf で rdr pass proto tcp from any to any port 8080 -> 127.0.0.1 port 80(8080番ポートへのアクセスを 127.0.0.1:80 にリダイレクトする)という設定を入れると、CGI に渡される環境変数は SERVER_ADDR=127.0.0.1 SERVER…

ClamAV で独自シグネチャ作成

6.3.2. 手動でのシグネチャの作成手作業でシグネチャを作成するにはウイルス固有の箇所を好きなツールを使ってhexdumpして「ウイルス名=hexdumpした出力」の形式にまとめるだけです。 http://clamav-jp.sourceforge.jp/jdoc/clamav.html#c6.3.2 ってあったの…

Yahoo 日本語形態素解析Webサービスと Mecab の比較

適当な (今日 feed 経由で収集した Web 上の) 文書 を Yahoo のと Mecab に喰わせてみて、結果が食い違った部分を比較してみた。surface を配列に入れて、Array::Diff で比較。特徴がみえるところを (主観的にだけど) 抜き出してみたら、こんな感じになった…

JPEG 画像を SWF に変換する

Flash Lite 1.1 では loadMovie で JPEG を読み込めない。SWF なら読み込める、ということで SWF::Builder を使ってでっち上げた。 use strict; use Image::Size; use SWF::Builder; my $file = shift; (my $swf = $file) =~ s/\.jpg$/.swf/; my ( $width, $…

Yahoo 日本語形態素解析Webサービスを使ってみる

使ってみた。 日本語文を形態素に分割し、品詞、読みがなの付与、統計情報を取得できる機能を提供します。 http://developer.yahoo.co.jp/jlp/MAService/V1/parse.html とりあえず動けばいいや、という版。 #!/usr/bin/perl use strict; use LWP::UserAgent;…

ファイルをシャッフルするワンライナー

perl -MList::Util -e 'print List::Util::shuffle <>' inputfile巨大なファイルだと困るけど。

Ludia 使ってます

Ludia をご紹介いただいているblog part3 現在は特に記事がなく、お使いいただいていないのでしょうか?Ver.1.1で、かなり完成度も上がったと思っていますので、また使ってみていただけると幸いです。 http://www.doblog.com/weblog/myblog/74336/97#97 Ver.…

HTTPS のベンチマーク

ふと思い立って ApacheBench(ab) を使って https のベンチマークを取ってみたのだが、なんだかやたらと遅い。Athlon64 X2 4200 の Apache-2.2 で、60 req/sec ぐらい。 これは遅すぎだろ、とよく見たらクライアント側の ab が CPU を 100% 使っていた。サー…

Erlang で分散 ApacheBench もどき

書いてみた。どうも綺麗に書けてる気がしないのだが。(関数型の書き方に慣れてないのか……) ソースコードは末尾に。HTTP のリクエストを並列に投げる部分はこんな感じで。 worker(): manager から URI を受け取って http:request()、結果を manager に戻す ma…

RBridge::Erlang を Perl から呼ぶ

とりあえず、はじめてのErlanモジュール作成ということで悩んだ結果、RubyからErlangのメソッドを呼び出すRBridge::Erlangを作った。 http://rakuto.blogspot.com/2007/05/ruby-and-erlang-rbridgeerlang.html Young risk taker.: [Ruby and Erlang] そろそ…

IPアドレスから携帯キャリア判別のベンチマーク

Net::CIDR::MobileJPと、PostgreSQL の inet で速度を比べてみる。 PostgreSQLのinet型を使って、IPアドレスから携帯のキャリアを判定してみます。 http://www.mono-space.net/blog/pgsql/e070511_ipaddress.htm 元ネタは net-cidr-mobilejp-scraper.pl で抽…

NaN を数値比較

NaN という文字列を で比較すると -1, 0, 1 ではなくて undef が返るというお話。(v5.8.8 built for i386-linux-thread-multi)ことの発端は、DBD::CSV で ORDER BY するとエラー、という現象。 id,foo 1,FOO 2,BAR 3,NaN例えばこんなのを foo で ORDER BY で…