Win用インストーラ Inno Setup

Windows用のフリーで高機能なインストーラはないかなと探しててみつけたのが、Inno Setup。かなりお薦めです。
レジストリ登録やセットアップタイプの設定(Full,Minimal等)、アンインストールなどたいていのことはできます。操作もウィザードでひな形を作成してから設定ファイルをいじるだけと簡単でした。難しいことしようと思ったら、パスカルライクな言語でスクリプトも書けるそうです。そこまでは必要ないので試してませんが。
基本的に英語のツールでインストーラも英語になっちゃうんだけど、S.Yamさんが日本語用メッセージファイルを公開してくれてるので作成したインストーラは日本語にできます。
使い方は、メッセージファイルを同じフォルダに置いて[Setup] セクションに、
MessagesFile=compiler:Japanese.isl
と書くだけです。

RSSと著作権問題(MediaSelectの例)

Bulknewsrss-jp.netのRSS配信は、各情報ソースへの著作権問題があって企業が利用するのは難しい状況でした。少なくとも私の所はそうでした。
ところが、MediaSelectのベータ運用中のサービスはIT系,アンチウィルス系サイトから集めた情報を顧客に有償で提供するようです。何でこんなことが可能かというと、ニュース見出しの表示は検索エンジンと同じという位置づけらしいです。確かにたいていのサイトは、タグにニュースの見出しが記述されているのでそれを集めて検索窓でも付けておけば、ニュース系に絞った検索エンジンとも言えなくもありません。
果たして新しいビジネスモデルとして確立するでしょうか?

# 私としては、各ニュースサイトがRSSを配信してくれればいいんだけど。

RPM版MozillaのJava Plugin

Javaアプレットを使ってるページを見なければならなくなったので、JREをインストール。mozilla.orgに従ってv1.4.1を入れるが正常に動かない。
調べたところリリースノートにちゃんと書いてありました。「Red Hat 8.x RPMS を使っていて Java プラグインがインストールされている場合、このプラグインも GCC 3.2 でコンパイルされたバージョンである必要があります。」
選択肢としては、
Sun版 v1.4.2 Beta
Blackdown版 v1.4.1
の2つがあるのですが私はSunのβ版を使うことにしました。

JRE のインストールは、ダウンロードしてきたファイルを解凍してrpm -ivhするだけ。簡単ですね。プラグインのインストールもMozillaのpluginsディレクトリに /usr/java/j2re1.4.2/plugin/i386/ns610/libjava.oji.soへのシンボリックリンクを張るだけです。

β版だけど、特に問題はないようです。Eclipseも普通に使えてます。

Xoops 2.0.1とRSSヘッドライン

今日は風邪が悪化(変な肺炎かと心配するくらい)して咳が止まらないので、午後から仕事を放棄して帰ってきました。
病院に行ったはいいけど、保険証を置き忘れて家に電話がかかってくるなど散々でした。もう3日くらい禁煙してたり、情報処理の試験を欠席したりして治そうと努力してるのに一向に良くならない。こりゃ誰かに移すしか…

本題に入ると、ちょっと前にXoops 2.0.1にアップグレードしました。
アップグレード自体は上書きして、スクリプトを実行するだけととても簡単です。テーブルの更新も自動でやってくれます。よくできてます。
が、ヘッドラインモジュールが曲者でした。今は右側に/.とjapan.linux.comのヘッドラインが表示されてると思います。これが最初は正常に表示されるんだけど、2回目以降の更新がうまく動かないという不具合がありました。しかも、ページ全体を道連れにして何も表示されなくなってしまう。
さらに不運なことに、そのタイミングでGoogleのロボットがおいでになったために真っ白ページをインデクシングされてしまいました。

一応、次の対策で直ったと思うのだけれど、ちょっと自信なし…

modules/xoopsheadline/class/headline.php の123行目で常にtrueを戻すように変更しました。
 return false → return true

# 違うかなぁ。風邪引いて体調悪いので自信なし。

ついにSylpheedでもアンチエイリアスが!!

足永さんのおかげでSylpheedをGtk+2に対応させることができました。
パッチを当ててコンパイルすることで、アンチエイリアス対応で文字が綺麗になりました。本家に取り込まれるのも時間の問題でしょう。
下のスクリーンショットは、フォントにモトヤシーダを使ってます。ボールドフォントを別にしてやることで未読もこの通り見易くできます。

RPMを作成したのでご自由にどうぞ → ダウンロード
(クリックで拡大 107KB)

メニュー等のフォントを変更するには、.sylpheed/gtkrcに次のように記述します。

style "Sylpheed-Widget-font" {
font_name = "FMotoyaCedar 11"
}
class "GtkWidget" style "Sylpheed-Widget-font"

LVMによるスナップショットバックアップ

@ITの記事を参考にやってみました。
普通にインストールして後から/home と/var をLVMに変更。が、起動時にLVMが有効にならない。
どうもRedHat 7.3の起動スクリプトがうまく動いてないらしい。
/etc/rc.sysinit の #LVM initialization のところのif文で,
/proc/lvmが存在しないのでvgscanが走らないらしい。if文をコメントアウトして常にvgscanが動くようにしました。
スナップショット作成にかかる時間は一瞬で、バックアップするくらいの短時間ならば容量も小さくて大丈夫です。

以下、手順メモ

fdisk パーティションタイプ 8e
vgscan
pvcreate /dev/sda1
vgcreate VG00 /dev/sda1
lvcreate --size 20G --name lv_home VG00
mkfs.ext3 /dev/VG00/lv_home

PHPのアクセラレータ比較

yazama.netさんの記事に触発されて、私も比較してみました。
試したのは、Zend Optimizer,PHP Accelerator,APCの3つです。APCはStable版がコンパイル通らなかったので、CVS版です。
某サイトの某プログラムにてテストしました。たくさんincludeやクラス生成してるので本サイトのXoops環境にも近いと思います。
標準Zend Opt.PHPAAPC
10.3230.2730.6540.543
20.2660.2490.2070.192
30.2700.2570.1680.186
40.2520.2510.1540.181
50.2640.2300.1790.188
※各5回計測。アクセラレータを変更した後は、apacheの再起動を行った。

APCはCVS版でファイルにキャッシュするmmapが使えなかったので、shmしか試せず。これ見ると、1回目を無視するとPHPAとAPCはかなり速いなぁ。Zend Optimizerは意味あるんだろうか。
どうも最近PHPAとAPCの作者が知り合いになったらしく、この2つが似たような数値を出してるのも面白い。

というわけで、PHP Acceleratorで行くことに決まりました。

CLIE用のアラームを作成

ちょっと思い立って、CLIE用のアラームをいくつか作りました。
T600Cにて確認しましたが、FM音源搭載の機種なら使えると思います。
なかなかの出来です(自己満足)。
駅のチャイム1
駅のチャイム2
ガンダムアラート

AgendusではMIDIベースのものしかアラームに設定できないようです。
一番下のはwavベースなので標準の予定表でないと使えませんでした。お気に入りなんだけど…

Xoops 2.0に移行しました

本日、Xoops 2.0RC3にアップグレードしました。 表面的にはあまり変わらないけど、管理側がとても使いやすくなっています。テンプレートを採用したことでViewのカスタマイズが簡単になりました。そして、モジュールの出力もプログラムをいじることなくカスタマイズできます。ソースを見ないとどんな変数が使えるか分からないので、お手軽とは言えないけど良いです。見習わなくちゃ。 気になったのは、キャッシュをして高速化を図っているみたいなんだけど、ファイルがあちこちに散らばっていて変更を反映させるのにどれを削除したらいいのか迷うところ。この辺は、アプリケーションレベルではなくてサーバレベルで一括して出来たらいいのに。

WDIC + 英辞郎

久しぶりのPalmネタ。
標準の辞書がイマイチなのでWDIC+英辞郎に乗り換えました。メモリースティック上に辞書を置いてインクリメンタルサーチしても高速。英辞郎の辞書は語彙数が多いし、例文も表示されたりとかなり便利!!
ただ、小辞郎を使ってサイズを小さくしても21MBの容量が必要です。