プログラム

perlfuncのsystemやdoのエラーの扱い

どうも5.8.4あたりから徐々に変わってるぽい。過去のコードで$!を読むタイミングが早すぎたりすると、今までは動いていたものが動かなくなる場合にちらほら遭遇する。どう書けばいいかは perldoc -f system や perldoc -f do に書いてあるんだけど、問題は過…

CDイメージのロスレス圧縮とmp3エンコード手順

CDをドライブに入れて、EACで「アクション - CDイメージをコピーしCUEシートを作成」で hoge.wav + hoge.cue を作る。cueファイルにタグ情報も含まれるが、年は入らない。 WavPack で hoge.wavを hoge.wv に変換する。この状態でもfoobar2kで(compornentがあ…

apache 1.3.33 用 mod_proxy ローカルアドレス選択パッチ

IPアドレスが複数あるマシンで、外部HTTPサーバから見える自アドレスを選択するためのパッチ。外部HTTPサーバにconnectする前に、ソケットのローカルアドレスを指定にあわせてbindする。VirtualHostと組み合わせることも可能。スレ立て規制がかかってるけど…

question:1105667960

CGIの設置にはエディタでの編集が必要なんだけど、ちょっと前までは「メモ帳」はcp932にしか対応していなかった。なので「いわゆるperl CGIスクリプト」を配布する人は文字コードをShift_JISにせざるを得なかった。euc-jpにするだけでサポート負荷が増えるの…

gnuplot

たまーに使うけどよく使い方を忘れるのでメモ。 GUIのフォントが化けてたらウィンドウを右クリックしてフォントを選ぶ バッチ処理でうまくいかなかったらGUIで確認する #!perl my $dir = shift; my $title=shift; $title or die "$0 image-dir 'title'\n"; m…

中国語

簡体字、繁体字の両方を扱う機会があったのでまず関連するエンコーディングモジュールをテスト。 #!/usr/bin/perl use strict; use warnings; use Encode; open(OUT,">:encoding(utf8)","test-encode.txt") or die "test-encode.txt $!\n"; our @bad_unicode…

:encoding(utf8) broken in perl-5.8.6

from http://search.cpan.org/src/DANKOGAI/Encode-2.09/Changes 2.9 2004/12/03 で修正されてます。perl入れたらEncodeモジュールも最新にする必要がありますな。

jhead

exifを見たり変更したり削除したり別の画像に複写したりするツール。某所で使うかも。 wget http://www.sentex.net/~mwandel/jhead/jhead-2.1.tar.gz tar xvzf jhead-2.1.tar.gz cd jhead-2.1 make su cp -p jhead /usr/local/bin cp -p jhead.1.gz /usr/loc…

subversionとgnu-arch

職場でsubversionを使う話が出ていたが、「バックアップひとつ取るにしても大変」とかいう話を又聞きした。ソースはhttp://www.momonga-linux.org/~tamo/arch_interview.ja.txt で、このインタビューの主は http://www.gnu.org/software/gnu-arch/index.jp.h…

minGW

Win32APIもDirect3D9も普通に呼べますな。autoconfも使えるしいいかも。。と思ったらリーク検出用のライブラリをビルドできない。dmalloc,ccmalloc,mpatrol どれもダメ。

eucjp_ms.pm

Perlモジュールを書いてみました。 http://tate.undef.jp/pub/ya-finder2/eucjp_ms.pm 機種依存文字を含むeuc-jpをエンコードできます。 use eucjp_ms; binmode STDOUT,":encoding(eucjp_ms)"; print ... 等として使用します。encodeを直接呼ぶなら perl -ME…

VC toolkit

Microsoftが無償リリースしているMicrosoft Visual C++ Toolkit 2003 http://msdn.microsoft.com/visualc/vctoolkit2003/ を試してみた。 nmake.exe lib.exe cvtres.exe が入っていない。Platform SDK (2003 server) のbin/Win64 フォルダに入っているものが…

BluntIRC

かなり間があいたけど久しぶりにsf.jpにリリースを置いてみた。java 1.4.2のnioのselectはop_connect とネットワークunpluggedで期待しない動作をする。sunのバグデータベースでop_connectやop_acceptで探すと出てくる。どちらも動作が分かってしまえばコー…

QuickIRC

mode +-ov の表示を省略できるようにしようと思ったら1.4.2でJIS変換が壊れてたりEolas特許のせいでページ内にタグを置けなかったり色々と問題が出ていることが発覚。文字コード変換をまた書き直す。もう飽きてるので余計な改造もついでに行ってしまう。数値…

ファイル名、ディレクトリ名の多国語化

前に書いた perl 5.8.2 の続き。あまりうまくない。たまたまUS-ASCIIの範囲であれば変換してもしなくても同じなのでこの問題は無視できるが、そうでないならファイルパスを受け取る時も渡す時もプラットホームのコードページにあわせて変換が必要になる。 us…

perl 5.8.2

そろそろ多国語対応が安定してきたっぽい。 以下はソースをutf8で書いていてcp932の端末で動かして確認。 標準入出力の多国語対応 use utf8; binmode($_,":encoding(cp932)") for STDIN ,STDOUT ,STDERR; print STDERR "何か一行入力して:"; $input = ; prin…

テストサーバ更新

で逆引きできない人だけbanとかIPアドレスの割り当てを見て国単位でbanとかを可能にするためにテストサーバのircdを更新してcvsに入れました。変更の詳細は http://tate.undef.jp/ircd-memo.txt

RRDtool

で誰も書いてくれなかったので自分で書いてみた。300個以上のグラフを扱うとMRTGでは遅すぎたのでRRDtool。こんなソースになった。http://tate.undef.jp/flow2ch/dispatch.txthttp://tate.undef.jp/flow2ch/ irc.2ch.netのチャンネル別統計

Privoxy

. を改行にマッチさせる方法についてコメントを頂いたので検証してみた。 CRLF http://tate.undef.jp/dottest-crlf.html LF http://tate.undef.jp/dottest-lf.html CR http://tate.undef.jp/dottest-cr.html 改行コード以外は同じHTML。 FILTER: dottest s|A…