February 17, 2010

mecabをyumから入れる

CentOS 5.4 x86_64にmecabを入れようとしたら、yumリポジトリにrpmが用意されていない模様。
なので、ソースからrpmを作って入れることにしたのでそのメモ。


と思ったら先人の知恵(MeCabをyumでインストール@CentOS)を発見。

ビルドしたrpmをインストールしようとしたら、当然ながらGPG署名がされてないと怒られた。ので、RPMに署名する方法。

RPMパッケージへ署名を付加する

実は、一番の難所は、GPGの鍵を作るための、長〜いパスフレーズを作ることだったりする。作るためだけなら問題ないんだが、署名をRPMパッケージに追加するたびに入力を求められるので、簡単に、再入力できる必要がある。これが難しい。なんかいいフレーズはないものか。

あと、パスフレーズを入力した後に、暗号化を行うのだが、ここで暗号化のシードが必要になる。これがくせ者で、結局、コンソールからキーボードをかちゃかちゃやって鍵を生成した。ウラででかいファイルをダウンロードするとか、ある程度の時間にわたり、ディスクアクセスが発生するような作業をしていればいい、という話もあるが、こういう乱数のための種を生成する方法はなんとかならんもんか。

Posted by money at 12:08 PM | Comments (0) | TrackBack

May 13, 2009

bug fix for sfAmfPlugin

PHPの上で動いている、synfonyというフレームワークの上で動いているアプリケーションで、ウェブブラウザ上のFlexとサーバ側をおしゃべりさせたくて、SabreAMFという両者をつなぐAMFというプロトコルをしゃべるためのライブラリをsynfonyプラグイン化した、sfAmfPluginというものを使おうとして、つながらなくて四苦八苦してたんだけど、結局、sfAmfPluginのコードに見つけたバグを直したら動いたので、そのパッチを備忘録として。

$ diff plugins/sfAmfPlugin/lib/sfAmfGateway.class.php.old plugins/sfAmfPlugin/lib/sfAmfGateway.class.php 74c74 < $service_path = str_replace(".", "/", $service_name).".php"; --- > $service_path = str_replace(".", "/", $service_name).".class.php"; 84c84 < if(!class_exists(array_pop(explode(".", $service_path)))) { --- > if(!class_exists(array_pop(explode(".", $service_name)))) {

これでようやく先に進められる。

Posted by money at 10:05 PM | Comments (0) | TrackBack

April 2, 2009

propel

なぜか、PHP5.2上で動く、symfonyというフレームワーク上で作られた、OpenPNEというオープンソースなSNSをベースに、ちょっとしたものを作ってます。

で、このsymfonyというフレームワークは、propelというORマッパがデフォルトで採用されているんだけど、これ、インタフェース悪すぎ。
だって、ORマッパってことは、内部でSQLに変換してくれるためのもののはずなのに、propel経由でデータアクセスするためにSQLを考えて、それをpropel用コードに変換することを前提としてるっぽい。(symfony徹底攻略という解説本がそうなってるだけなのかもしれんが)
これじゃ本末転倒やんけ。

つーか、SQLで考えるんなら、そのままSQLで書かしてくれりゃいいのに。つか、RDBMSを隠蔽してくれるんなら、もっと気合い入れて隠さんかい。RDB屋さんがORマッパ作っちゃいかん、つーか。

これだからORマッパは嫌いだ。
ほんと、まじめに、ウェブアプリ用ODBラッパが作りたくなる。(そんな時間はない。)

それとも、doctrineだと、もっとちゃんとマッパしてくれるのか?

Posted by money at 6:57 PM | Comments (0) | TrackBack

March 24, 2009

OpenPNE3構築手順

とある案件に絡んで、OpenPNE3環境の構築をここのところ、何度かやってるので、備忘録を兼ねて、構築手順をば。なお、MacOSX上でも構築はしたんだが、こっちは、プレインストールされているPHPのバージョンが古いのと、portsで配ってるバイナリパッケージはビルドオプションが腐ってるので、PHP5をソースから再インストールの必要あり。なので、とてもめんどくさい。普通に、PHP動かす分には問題ないんだろうけど.。でも、GDすら使えないPHPを配ってなんの意味があるんだ?と思わなくもない。でも、いちおう、MacOS上でOpenPNE3を動かすことはできたので、ベースとなるPHP5の再インストール以外がこのままのインストール手順で大丈夫です。

とりあえず、CentOSをターゲットとする。
僕の場合は、Mac上で動く、VirtualBoxにCentOS5.2をインストールした環境で確認している。

◎PHP5のバージョンアップ
CentOSでデフォルトで入ってる、なおかつ、デフォルトのyumで入手できる最新版は5.1.6、つまり5.1系であり、OP3で要求する5.2系が入らない。なので、yum-repoの設定から。

CentOS5.2でPHP5.2を簡単インストール

これで、少なくともPHP5.2系がインストールされたはず。

次に、PHPのパッケージマネージャである、PEARをセットアップする。

# pear upgrade PEAR

でもって、symfonyの配布元チャンネルを登録する。

# pear channel-discover pear.symfony-project.com

symfony をインストール

# pear install symfony/symfony

これで、symfonyが依存する別パッケージ(propelとか)も同時にインストールされるはず。
コマンドラインからsymfonyコマンドを叩いて、symfonyから使えるコマンドの一覧が表示されたら、インストール成功。

続いて、OpenPNE3をインストール。

いちおう、ここに、インストール方法が書いてあるので、この通りにすればいいんだが。

とりあえず、ここからzipパッケージを落としてきて、それを適当なディレクトリで展開する。

# unzip OpenPNE-3.0.2
# cd OpenPNE-3.0.2

ここで、インストールコマンドを走らせるんだけど、その前に、データベースに、openpne3用の入れ物を用意しておく必要がある。ここでは、mysqlを使ってるが、symfonyはデータベースを問わないので、postgreSQLでも、Oracleでも、好きなものを使ってかまわない。

# mysql -u root -p

mysql> create database openpne default character set utf8:
mysql> exit

あとで、OpenPNE3のインストーラで聞いてくれるので、データベース名はなんでもいい。
とにかく、OpenPNE関連のデータを格納するための器を用意する。テーブルも作る必要なし。インストーラがやってくれる。

これでデータベースを用意できたので、OpenPNEのインストーラを起動する。
先ほどの OpenPNE-3.0.2 ディレクトリに移動する。そのディレクトリに、symfonyというコマンドが用意されていることを確認した上で、

# ./symfony openpne:install

すると、データベースの種類とか、データベースにアクセスするためのアカウント情報とかホスト名、データベース名を聞いてくれるので、それに従って入力。
うまくいけば、テーブル生成とか、ごちゃごちゃ処理をして正常終了するはず。

次に、Apacheの設定。
外部からウェブアクセスした時に、Apacheで、ちゃんとURL通りにアクセスできるように、設定してあげる。なお、symfonyでは、mod_rewrite使いまくりなので、mod_rewriteがちゃんと動くように設定してあげればよい。

とりあえず、

# ln -s /home/username/OpenPNE-3.0.2/web /var/www/html/openpne

で、http://localhost/openpne/ でopenpne本体にアクセスできるようにリンクを張る。

続いて、httpd.confを編集する。

デフォルトでは、

AllowOrverride None

と設定の上書きが禁止されている。これを許可する。

AllowOverride FileInfo Options

これで、OpenPNEがあがるはずなので、あとは、ユーザをばんばん追加するなり、ソースコードをべろべろなめ回すなり、ガリガリ設定ファイルをいじるなりご自由に。

Posted by money at 11:43 AM | Comments (0) | TrackBack

January 14, 2009

Oracle on Linuxメモ

Linuxにオラクルをインストールしたので、備忘録を兼ねてメモ。

●まずインストーラをだますためのおまじない
Oracle for Linux(10g)がサポートしているLinuxのディストリビューションは、redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1, asianux-2
/etc/redhat-releaseを書き換える


Red Hat Enterprise Linux AS release 4 (Nahant update 4)

  ちなみに、インストール先は、CentOS5.2

●インストールDVDを自動マウントすると、noexecモードでマウントされるので、インストーラが実行不可能。よって、DVDの中身をローカルのディスクへコピーする。
本来であれば、autofsの設定ファイルを調べて、noexecフラグがたたないようにするのが筋なんだろうけど。

●libXpをインストール

これで、インストールが動く(はず)。

Posted by money at 5:49 PM | Comments (0) | TrackBack

January 7, 2009

Building PHP5

引き続き、PHP5のビルド。

% ./configure --prefix=/usr/local/php5 \
--with-apxs2=/usr/local/apache2.2/bin/apxs \
--enable-mbstring \
--with-zlib \
--with-openssl \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-dba \
--with-db4 \
--enable-ftp \
--with-gd \
--with-ttf \
--with-freetype-dir=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-ldap \
--with-mcrypt \
--with-mhash \
--with-mysql \
--with-mysql-sock \
--with-ncurses \
--with-pdo-mysql \
--with-pgsql \
--with-pspell \
--with-readline \
--with-snmp \
--enable-ucd-snmp-hack \
--enable-soap \
--enable-sqlite-utf8 \
--enable-wddx \
--with-xsl \
--with-mysql

% make
% make check
# make install


Posted by money at 11:15 AM | Comments (0) | TrackBack

January 5, 2009

Building Apache2.2

諸般の事情により、Apache httpd 2.2をビルドしたので、そのメモ。

Apache本体をビルドする前に、APR(Apache Portable Runtime)をインストールする。
apr-1.3.3.tar.gz

% ./configure
% make
# make install → /usr/local/apr配下へ

apr-util-1.3.4.tar.gz

% configure --with-apr=/usr/local/apr
% make
# make install

setenv LD_LIBRARY_PATH /usr/local/apr/lib:$LD_LIBRARY_PATH

と思ったが、結局、Apache2.2同梱のAPRライブラリを使えばOK。
結論としては、下記のとおり。

% ./configure --prefix=/usr/local/apache2.2/ \
--with-included-apr \
--with-ldap \
--enable-authnz-ldap=shared \
--enable-ldap=shared \
--enable-so \
--enable-maintainer-mode \
--enable-pie \
--enable-authn-dbm=shared \
--enable-authn-anon=shared \
--enable-authn-dbd=shared \
--enable-authn-alias=shared \
--enable-authz-dbm=shared \
--enable-auth-digest=shared \
--enable-isapi=shared \
--enable-file-cache=shared \
--enable-cache=shared \
--enable-disk-cache=shared \
--enable-mem-cache=shared \
--enable-dbd=shared \
--enable-bucketeer=shared \
--enable-dumpio=shared \
--enable-echo=shared \
--enable-example=shared \
--enable-case-filter=shared \
--enable-case-filter-in=shared \
--enable-ext-filter=shared \
--enable-substitute=shared \
--enable-charset-lite=shared \
--enable-deflate=shared \
--enable-log-forensic=shared \
--enable-logio=shared \
--enable-mime-magic=shared \
--enable-cern-meta=shared \
--enable-expires=shared \
--enable-headers=shared \
--enable-ident=shared \
--enable-usertrack=shared \
--enable-unique-id=shared \
--enable-version=shared \
--enable-proxy=shared \
--enable-proxy-ftp=shared \
--enable-proxy-connect=shared \
--enable-proxy-http=shared \
--enable-proxy-ajp=shared \
--enable-proxy-balancer=shared \
--enable-ssl=shared \
--enable-distcache \
--enable-optional-hook-export=shared \
--enable-optional-hook-import=shared \
--enable-optional-fn-import=shared \
--enable-optional-fn-export=shared \
--enable-static-support=shared \
--enable-static-htpasswd=shared \
--enable-static-htdigest=shared \
--enable-static-rotagelogs=shared \
--enable-static-htdbm=shared \
--enable-static-ab=shared" \
--enable-static-checkgid=shared \
--enable-static-htcacheclean=shared \
--enable-static-httxt2dbm=shared \
--enable-http \
--enable-dav=shared \
--enable-info=shared \
--enable-suexec=shared \
--enable-cgi=shared \
--enable-cgid=shared \
--enable-dav-fs=shared \
--enable-dav-lock=shared \
--enable-vhost-alias=shared \
--enable-imagemap=shared \
--enable-speling=shared \
--enable-rewrite=shared

途中、APRからのLDAPライブラリへ参照できない、とかのエラーが出たが、-enable-soのオプションが抜けてたのを追加するとOKになった。
あと、それぞれのプラグインを有効にする際に、上記のように、=sharedをつけないと、静的にApache本体にリンクされるので、必要以上にバイナリサイズが大きくなってしまう(ことをすっかり忘れてたのでメモ)。

Posted by money at 10:26 AM | Comments (0) | TrackBack

November 2, 2008

GETA2

汎用連想計算エンジンGETAのインストールメモ。

なお、最新は、GETA3で、これは、全文検索エンジンでいう、転置ファイルに相当するものを複数のマシンに分散して配置できる、つまり、1台で賄えないような巨大な転置ファイルを扱うことができるという、すばらしいものではあるが、動きが怪しいし、とりあえず、分散化の予定がないので、GETA2を採用。


% ./configure --prefix=/usr/local/geta --with-gmake

--with-gmakeのオプションを設定しないと、デフォルトでpmake用のMakefileを生成してしまう。(今となっては、デフォルトがpmakeってどうなのよ、とは思うが。)なので、GNU make用のMakefileを生成するために、このオプションを設定する。

○testsuite/tst.c のコンパイルでこける。

これは、ヘッダファイル、varargs.h をインクルードしているのが原因。最近のバージョンのgccだと、varargs.hはサポートしていなくて、stdarg.hをインクルードする。なので、このインクルードのファイル名を変更する。

○make installしても、ci.confがインストールされない。(Makefileのバグ?)

tutorial/wam/ci.confから/usr/local/geta/etcにコピーする。

○そのままじゃ、Perlバインディングのライブラリがインストールされないみたい。

% cd ext/wam
% perl Makefile.PL
% make
% make test
# make install

以上でたぶん、おっけー。

ちなみに、GETAを動かすには、解析ターゲットとなる文書群に対し、自前で形態素解析をして、上記でいう、転置ファイルを生成するためのデータ(単語出現頻度ファイル)を作らないといけないんだけど、形態素解析には、 mecab+Perlインタフェースを用いた。

また、ターゲット文書は今後増加の一途をたどることになっているので、ターゲットファイルごとに、独立に、頻度ファイルを生成しておいて、それを全て連結する形にした。

さらに、ちなみに、形態素解析による頻度ファイルの生成については、名詞のみ、かつ1文字名詞は省略。

MeCab用辞書データの自動更新の仕組み作りについては、別の機会に。

Posted by money at 11:47 PM | Comments (0) | TrackBack

October 6, 2008

October 1, 2008

[メモ] Ant foreachタスクの使い方

典型的なタスクの使用例のメモ。


○別途プロパティファイル

modules.list=真木よう子,大橋未歩,瀬戸朝香,黒木瞳,小西真奈美

○build.xml






........XXXXターゲットの処理本体......


]]>
大橋未歩は女優じゃない!という突っ込みはなしで。
あと、本当に、リストに多バイト文字列が入ったときに、ちゃんと動くのかどうかは未確認。

Posted by money at 5:27 PM | Comments (0) | TrackBack

September 26, 2008

git メモ はじめの第一歩

とりあえず、既存のソースツリーをgitで管理し、共有するためのリポジトリ作成手順。

まずはローカルに個人用リポジトリを作る。

1. リポジトリの器を作る。

% mkdir YokoMaki
% cd YokoMaki
% git init

2. ソースコードをそこへ展開する。

% tar zxvf YokoMaki.tar.gz

3. git管理下へ

% git add .
% git commit -m "Yoko Maki First Commit."

4. ローカルのリポジトリを別の場所に複製する。

# cd /var/gitrepo
# git clone --bare /personal/local/repos/YokoMaki YokoMaki.git

5. gitデーモンに公開用であることを知らせる

# touch YokoMaki.git/git-daemon-export-ok

6. 公開場所へ移動

# mv YokoMaki.git /var/www/html/.

7. サーバ情報を更新

# cd /var/www/html/YokoMaki.git
# git --bare update-server-info
# chmod a+x hooks/post-update

これで、HTTP経由でアクセスできる。

あとは、ローカルの別マシンでも、同じマシンからでも、クローンして持ってくればいい。

% git clone http://server.address/YokoMaki.git

これで、別のローカルにも、gitリポジトリが生成された。

まぁ、分散リポジトリだし、全てのクローンがあくまで対等(つまり、ピア)である、というのが、gitのウリの1つではあるんだが、やはり、マスターサーバはこれ、って決めておいて、あとは、バックアップがいっぱいあるから、サーバ死んでも平気、ぐらいが扱いやすいような気がする。

ってことで、下記は備忘録。

Pragmatic Version Control Using Git
Pragmatic Version Control Using GitTravis Swicegood

Pragmatic Bookshelf 2008-12
売り上げランキング : 81023


Amazonで詳しく見る
by G-Tools
Pro Git (Pro)
Pro Git (Pro)Mario Danic

Apress 2009-02
売り上げランキング :


Amazonで詳しく見る
by G-Tools
Posted by money at 6:33 PM | Comments (0) | TrackBack

September 3, 2008

Googleクロム

すごすぎる。軽すぎ。グーグルサービスの起動速すぎ。もう、レッサーパンダ、すて(かも)。

ソフトウェアのアーキテクチャとして、どかっと1プロセスで数百メガのメモリを(結果として)取っちゃうこれまでのブラウザより、小さいプロセスごと数メガレベルのメモリを確保して、OSのプロセススケジューラに任せちゃう、って方が実は安全で軽い、ってことなのかも。

苦労してスレッドプログラミングしても。。。。。ってことなのか。

そんなことも考えてしまう、衝撃なのである。

さっさと、Linux版リリースしやがれ。

取り急ぎ。

Posted by money at 12:17 PM | Comments (0) | TrackBack

September 2, 2008

GoogleがオリジナルWebブラウザ?

なんか、あちこちで、明日、グーグルがウェブブラウザをリリースする、って話が出てますが、グーグルクロム? なんだクロムか。ってことは、Mozillaなり、Firefoxなりのベースはそのまま、クロム部分だけオリジナルに差し替えたもの、ってことなんじゃないの?

まぁ、確かに、わざわざゼロベースで新しいブラウザ作んないよな、いまさら。

あー、でも、クロム入れ替えたら、見た目には、全く新しいブラウザってことになるのか、一般的には。
個人的には、ブラウザ丸ごとリリースするのか、それとも、クロム(つまり、XULファイル群)だけをパッケージしたものをリリースして、Firefoxなりにアドオンして使うようになるのかってあたりにすごく興味があるが。。。

この、クロムのパーツが流通するのって、当初のXULが目指してたもんじゃなかったっけか?

僕がかつて、Mozilla関係のドキュメントをせっせと翻訳したり、某雑誌にMozillaのGUIをいじって(見た目)オリジナルブラウザを作っちゃえ、なんて記事を書いたりしてたころ(まだミレニアム前だったはず)。あのころは、まだWebベースの業務システム開発の黎明期。そんな業務用ウェブアプリケーションの開発の中で、「自由にページを戻ったり、リロードしたり、ってことをさせたくない。なんとかなんねぇ?」みたいな要求仕様があったりした。自由にさせたくなければ、ブラウザ使わずに、専用GUI作ればいいじゃん、って話もあったんだけど、そのころに、クロムをいじった専用ブラウザを用意して、しかもそのクロムをオンラインでダウンロードさせて、それをクライアントにすりゃいいんじゃね?みたいなことを友人M氏と議論したことあるんだけど、思えばここまでくるのに、長かったねぇ。XULばんざーい。

とまぁ、昨晩は憶測でいろいろ書いたんだけど、その後いろいろ情報を集めてみると、やっぱり、自前でブラウザを作りこんだみたいね。安定性を求めて、タブ=スレッドな今のアーキテクチャをやめて、タブ=プロセスだとか。
まぁ、グーグルの立場としては、Gmailとか、Googleカレンダーとか、Google Docsとか、基本的に立ち上げっぱなしなタブが必要なので、いちいち、他のスレッドの不具合で巻き添えを食らってブラウザまるごとダウンに付き合ってられるか、ってことなんだろうけど。
タブがプロセスになるってことは、プロセス間通信が多発して、今よりメモリ食うってことじゃん。
無駄を省いた、きびきび動くクールな実装を期待。
どうせ、グーグル(Mail, カレンダー,Reader,Docs)に依存してしまっている以上、クロムでないと、ってことになるんだろうから。

XUL部分とかスキンとか、あとJavascriptも、Firefox互換だとみんなうれしいよね。

Posted by money at 6:57 PM | Comments (0) | TrackBack

June 13, 2007

Safari3 for Windows

Cult of Mac - Wired Blogs

上記のCult of Macの記事によると、ベータ版だからそこそこバグはあるものの、速くていいよ、みたいな論調みたい。
なので、ためしにインストールして見ました。
が。


WindowsXPをインストールした、Thinkpad X31で試したのですが、スクロールボタンが効かない。なので、私的には、パフォーマンス云々以前に、使えませんでした。

つーか、レンダリングにも、メニューにも日本語でねぇじゃねーか。>アップル

Posted by money at 1:17 AM | Comments (0) | TrackBack

March 19, 2007

日本語URLって

とある用途のために、某サイトから自動でコンテンツを引っ張ってきて処理をするプログラムを書いている。
概要が、以下のとおり。

対象サイト:Windows上で動くウェブサーバ
当然ながら、コンテンツの記述は、"Shift_JIS"

処理プラットフォーム:CentOS(当然ながら、UTF-8環境)
開発言語:Perl 5.8.X

やりたいことは、対象サイトからコンテンツを引っ張ってきて、URLを切り出し、アンカーテキストとペアで、ローカルのDB(MySQL)に突っ込んで、あとから使いまわす、というよくある話。

問題は、URLに2バイトコードが入り込むこと。

まず、LWPでUserAgentを作ってコンテンツを引っ張ってくる。、当然、持ってきたものはUTF-8に変換する。
で、必要なテキストを切り刻んで、取り分ける。URLは、一旦SJISに戻して、URLエンコーディングして処理。アンカーテキストは、そのままUTF8として処理。

すると、生成された、「URLエンコーディングされたURL文字列」は、上記とは別に、該当サイトへウェブブラウザ上でアクセスする際に自動変換されて生成された「URLエンコーディングされた文字列」と差異が生じる。
結果、404エラーが返される。

ん?
URLエンコーディングするには、
SJIS文字列→URLエンコーディング文字列
UTF−8文字列→URLエンコーディング文字列
の2パターンがあるとして、得られるURLエンコーディング文字列は別物のはず。
でも、URLを指定するのに、そのサイトで用いられているエンコーディングを意識しないといけない、というのは、やっぱり正しくないような気がする。

うーん、わけわからん。
どっかに、スマートなソリューションないかな。

あと、巷でよくある、URLエンコーディングを行うためのコードとして、


$str =~ s/([^\w ])/'%' . unpack('H2',$1)/eg;
$str =~ tr/ /+/;

というのが主流らしいのだが、正確には、下記なんじゃ?

$str =~ s/([^\w \(\*\-\.\@\_\)])/'%' . unpack('H2',$1)/eg;

Posted by money at 10:19 PM | Comments (0) | TrackBack

June 22, 2006

求む、z/OS経験者

z/OS上での通信プログラム開発経験者、いませんか?

Posted by money at 5:23 PM | Comments (0) | TrackBack

April 5, 2006

(続) Rails on Apache2

・ config/environment.rb

ENV['RAILS_ENV'] ||= 'production'

のコメントをはずす

・ XXXX/public/index.html にアクセスしたときに呼び出すコントローラを指定する
・ config/routers.rb
map.connect '', controller => "*******"

・httpd.conf の修正

Alias /XXXX/ "/var/www/html/*****/public/"
Alias /XXXX "/var/www/html/*****/public/"


Options ExecCGI FollowSymLinks
AllowOverride all
Order allow, deny
Allow from all

これで、ようやく動いた。

Posted by money at 4:30 PM | Comments (0) | TrackBack

April 3, 2006

[メモ] Rails on Apache2 の設定

忘れないようにメモ。(CentOSってなんでrubyが古いの?)

rubyの最新(V.1.8.4)を入れる
(略)
gemsを入れる
 (略)
・ railsを入れる
# gem install rails --include-dependencies
・入ってなかったら、httpd-devel パッケージを入れる
 (略)
FastCGI Development kit を入れる
(略)
mod_fastcgiを入れる
# tar zxvf mod_fastcgi-2.4.2.tar.gz
# cp Makefile.AP2 Makefile
# vi Makefile (<- apacheのインストールディレクトリの設定)
# make
# make install
ruby-fcgiを入れる。これは、なぜかgemではインストールできなかったのでマニュアルで。
# tar zxvf ruby-fcgi-0.8.6.tar.gz
# ruby install.rb config
# ruby install.rb setup
# ruby install.rb install
・ /etc/httpd/conf/httpd.conf に追記
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCgiIpcDir /tmp/fcgi_ipc/
AddHandler fastcgi-script .fcgi
</IfModule>
・ Apacheを再起動
# /usr/sbin/apachectl restart

Posted by money at 6:43 PM | Comments (0) | TrackBack

March 23, 2006

Google Desktop3

リリースされたみたいなので早速インストール。

コントロールキー連打で、検索窓アップが気持ちいい。
こうやって、グーグルがないとやっていけないカラダになっていくのよねぇ。

でも、Google Newsのイベント通知はちとウザイ。
それにしても、インデックス作成が終わらん・・・

Posted by money at 4:52 PM | Comments (0) | TrackBack

March 22, 2006

March 17, 2006

March 12, 2006

iモードのメール送受信処理

Yahoo!ニュース - +D Mobile - ドコモ、iモードをギネスブックに申請──1時間で7千万通のメールに対応

確か、ドコモのiモードセンタが1日に処理するメールの量が、9億通で、そのうちスパムをはじいて実際に送信されるのが1億5000万通とか、って数字を昔どっかで見たような気がするんだが。
その当時から比べても処理量を増強したってことですかね。
一説には、「流通しているメールの8割以上が『迷惑メール』」、米調査という話だから、実際には、この4倍のメールを捨てるという処理をしてるってことなんでは?

Posted by money at 4:39 AM | Comments (0) | TrackBack

February 15, 2006

へぇ。おどろき。

del.cia.us って、Lispで実装されてたのね。。。びっくり。

Posted by money at 11:12 AM | Comments (1) | TrackBack

February 12, 2006

遅ればせながらご報告

ほんとに、いまさら、ですが、、、、

Ruby on Rails インストールしました。
以後、精進しまっす。

遅いって。。。

Posted by money at 1:16 AM | Comments (0) | TrackBack

January 24, 2006

DHCPv6

Prefix Delegationが必要なので、DHCPv6を構築してるんだが、(WIDEのdhcp6)
設定ファイルの書き方がわからん。いろいろサンプルとかmanとかはあるんだが、ちょろっと書いたとたんSYNTAX ERROR。

設定ファイルの書き方を調べるために、ソースコードのYacc記述を追いかけるのって間違ってるような気はするんだが。。。

Posted by money at 7:17 PM | Comments (0) | TrackBack

January 19, 2006

[メモ] FreeBSDでUSBメモリを認識させる方法

ターゲットは、FreeBSD-5.4-RELEASE
ドライバはデフォルトで入ってる模様。USBメモリを突き刺すと自動で認識し、


Jan 19 hh:mm:ss uuuuu kernel: umass0: Neodio Technologies Corp. Neodio USB Storage Device, rev 1.10/1.00, addr 2
Jan 19 hh:mm:ss uuuuu kernel: da0 at umass-sim0 bus 0 target 0 lun 0
Jan 19 hh:mm:ss uuuuu kernel: da0: 1.000MB/s transfers
Jan 19 hh:mm:ss uuuuu kernel: da0: 125MB (256001 512 byte sectors: 64H 32/T 125C)

% su
# mkdir /mnt/usbmem/
# /sbin/mount_msdosfs /dev/da0 /mnt/usbmem/
 (ごにょごにょする。)
# umount /mnt/usbmem/

Posted by money at 6:46 PM | Comments (0) | TrackBack

January 18, 2006

東証システム停止

ニュース番組によると、1日当り、450万取引がシステム上の上限であり、今日430万取引を超えた時点で停止したとのこと。

普通、システム上限というなら、秒間X取引が性能限界という表現をしてくれんとよくわからん。さらに売買注文は処理できても、約定が処理できん、とか。あ、そっか、売買注文は、リアルタイム処理だけど、その後ろの約定処理が、バッチで処理してる、ということか。そのバッチ処理が一晩で処理しきれるのが、450万取引が限界、ということなのかな。

なーるほど。

まぁ、どっちにせよ、律速段階は、DBへの書き込みなんだろうけど。


Posted by money at 10:53 PM | Comments (2) | TrackBack

January 12, 2006

探し物

Sun Java System Application Serverをいじり中。

ウェブからマウスでクリクリいじると使った気になれるらしい。
(デプロイなんて退屈な作業、スクリプト1発でコンピュータにやらせようよ。。。)

どなたか、ドメイン起動/停止に伴うロックファイルのありかをご存知ありませんか?

起動しようとすると、「そのドメインはすでに動いてるよ」、停止させようとすると、「そんなドメインは動いてないよ」と怒られます。なので、ロックファイルの残骸が悪さしてるんじゃないか、と。

Posted by money at 10:21 AM | Comments (0) | TrackBack

January 10, 2006

IE on FireFox

Going My Way: Firefoxのタブの中でIEを開くエクステンションIE Tab

これ以外と便利。かも。
わざわざIE上げなくていいし。

Posted by money at 10:02 AM | Comments (0) | TrackBack

December 16, 2005

Web2.0って何だっけ?

最近、Web2.0回りの話題がとっても活発。
ずばりな名前の会社もできたみたいだし、いろんな動きもある。
でも、なんかもともとの話とずれてきてるような気もする。

もともとは、ティム・バーナーズ・リー卿が提唱した、セマンティックWebのことだと思ってたんだが、なんか最近の論調だとWebサービスとの違いがよくわからないような、そんな感じ。

ちゃんと、調べなきゃ。

Posted by money at 11:57 AM | Comments (0) | TrackBack

December 14, 2005

IPv6伝説、ここに。

IPv6style:KAME プロジェクトの歴史と成果
〜 via 無印吉澤

おもしろい!

ぜひとも、プロジェクトX(あ、もう終わりやんか)、もしくは、あのコードラッシュ の第2弾として是非、ドキュメンタリー化してほしいなぁ。 次代のプログラマのためにも、情報化社会(くさっ)を支える戦士たちを称える番組がほしい。

ソフトウェアの開発がいとも簡単に人さえ大量に投入すればできるような風潮をひっくり返すようなものを。

おじさんたちが昔を懐かしむ番組もいいけど、今現場で現実に起こっているドラマを伝える努力をしてもいいんじゃないかと。> 某国営放送


Posted by money at 11:30 PM | Comments (0) | TrackBack

November 26, 2005

Skype

って、今、中国で大流行なのかしら?
最近、いきなり話しかけてくる中国人がとても多い。たいていは、日本語勉強してますというパターン。
なので、中国語で会話することはなくて、日本語と英語でコミュニケーションは取れるので、特に問題はないのだが。
最悪は、インフォシークの日中翻訳を使えば、なんとかなる。

Posted by money at 1:18 PM | Comments (0) | TrackBack

August 25, 2005

Google Talk

Google Talk

Google社謹製のインスタントメッセージ。これ以上、IMソフトを増やしたくはないんだが。。。
ってことで、いつものように反応は鈍いですが、tkaneda@gmail.comまでご遠慮なくどうぞ。

Posted by money at 11:26 AM | Comments (0) | TrackBack

July 12, 2005

[メモ] Javaプログラミングのダイナミックス 第1回: クラスとクラスのロード処理

Javaプログラミングのダイナミックス 第1回

Javaプログラミングのダイナミックス 第1回: クラスとクラスのロード処理

Posted by money at 11:23 AM | Comments (0) | TrackBack

June 21, 2005

vSkype 再び

あとは、移動機ネイティブなSkypeバイナリを配っちゃうと、音声通話最小限、パケホーダイ契約でOKってことになっちゃったりするのでは。。。でもそうなると、今度は、HTTPつなぎっぱなしで、バッテリーが持たんなぁ。となるとSkype待ち受けプロキシ兼プレゼンスサービスってこと?


Posted by money at 1:49 AM | Comments (0) | TrackBack

June 20, 2005

Skype用ビデオプラグインvSkype

Going My Way: DesktopのShareもできるSkype用ビデオプラグインvSkype

入れてみました。>関係各位 (誰?)

Posted by money at 3:45 AM | Comments (0) | TrackBack

June 16, 2005

Open Solaris

Home at OpenSolaris.org

ラウンチしたかな?

Posted by money at 11:40 PM | Comments (0) | TrackBack

June 8, 2005

[メモ]Pure Java 形態素解析器 Sen

Sen Project - Sen Project

Posted by money at 11:32 AM | Comments (0) | TrackBack

June 3, 2005

Next Firefox

次のFireFoxとなる「Deer Park」の最初のアルファ版が公開 (MYCOM PC WEB)

とりあえず、これまで使ってた最新のFirefox(1.0.4)と比較しても全く違和感なく使えてます。つーか、見た目的には区別つかねぇ。。。アルファ版とは言え、安定してるっぽいです。つーか、全く落ちてませぬ。まぁ、しばらく常用してみます。

Posted by money at 11:50 AM | Comments (0) | TrackBack

May 16, 2005

Windows + Solaris ?

本日の日経新聞7面に「OSに互換性 マイクロソフト サン提携第1弾」っつー見出しがあって、WindowsとSolarisで互換性を持たせるらしいことが書いてあるんだけど、これ何?ご存知の方、教えたもれ。何を持って互換性と言ってるのやら。。。

Posted by money at 7:49 AM | Comments (1) | TrackBack

April 21, 2005

[メモ]JSFによるWebアプリケーション開発

JSFによるWebアプリケーション開発

Posted by money at 2:49 PM | Comments (0) | TrackBack

April 20, 2005

[メモ] Implementing Object Caching with AOP

TheServerSide.com - Implementing Object Caching with AOP

Posted by money at 5:33 PM | Comments (0) | TrackBack

January 26, 2005

[メモ] LDAPのドキュメント

LDAPv3 HOWTO on Debian

Posted by money at 2:05 PM | Comments (0) | TrackBack

Apacheでの認証

Apacheにmod_auth_ldapを組み込めば、認証にLDAPを使うことができるようになる。
が、これで対応しているのはBasic認証のみ。Digest認証で認証情報のリポジトリにLDAPを使うようなモジュールってないの? ないとすれば、なぜ?

Posted by money at 2:24 AM | Comments (0) | TrackBack

January 24, 2005

Delicious Library

Delicious Library
〜via 山形さん部室

素敵。Mac版しかないのか?

Posted by money at 1:31 PM | Comments (2) | TrackBack

January 7, 2005

Fedora Core 3

Fedora JP Project

初めてFedoraを入れてみた。なかなかいいんじゃないでしょうか?とりあえず、リモートからtelnetしたら手元のクライアントがUTF-8に対応できてなかったこと以外は問題はまだ発生せず。

Posted by money at 1:43 PM | Comments (0) | TrackBack

New Skype

Skype DownLoad

へぇ、テキストチャット同時に50人OKですか。。。業務用にIRCサーバ立てる必要ないなぁ。あとは、ボイスチャットの同時接続数が増えれば、テレカンファレンスに使えるので、うちのような蛸足多拠点企業にはとても便利なんだが。

Posted by money at 1:34 PM | Comments (0) | TrackBack

January 6, 2005

January 5, 2005

ちょっぱやFireFox & Thunderbird

MOOX

各CPUの独自エクステンションを考慮した最適化コンパイルが施された非公式ビルド版。公式版とは速さの違いが体感できるレベルまで最適化されています。今のところ問題なくさくさく動いてます。

Posted by money at 3:36 PM | Comments (0) | TrackBack

[メモ]JSF, Spring, ORマッピングによるJ2EE Webアプリケーション開発の手引書

JSF, Spring, ORマッピングによるJ2EE Webアプリケーション開発の手引書
〜via オレンジニュース 2005/01/04
JSF, Spring, ORマッピングによる
J2EE Webアプリケーション開発の手引書

Posted by money at 2:08 PM | Comments (0) | TrackBack

December 10, 2004

バークレーDBの設定

Subversionをいじりだした。
Apache Portable Runtime(APR)を入れて、Berkeley DBを入れて、Subversionをインストール。リポジトリ作成まではうまくいくものの、いざソースのツリーをインポートしようとすると、


svn: Berkeley DB error while fetching string length for filesystem /var/svnrep/db:
DB_BUFFER_SMALL: User memory too small for return value


なんてエラーが出てインポートできず。いちおう、$SVNREP/db/DB_CONFIGの設定でバッファサイズをいじったつもりなんだが。。。原因不明。どうしたものか。

Berkeley DBのバージョンを最新の4.3.21だったのを4.2.Xに戻してsubversionを作り直したら、うまくいってるみたいです。

Posted by money at 12:01 PM | Comments (0) | TrackBack

November 30, 2004

メモ:Software Factories: Assembling Applications Using Models, Patterns, Frameworks and Tools

〜via kdmsnr@mixi 〜
MSDN TV

Software Factories: Assembling Applications Using Models, Patterns, Frameworks and Tools

Posted by money at 1:35 PM | Comments (0) | TrackBack

November 17, 2004

J6SE

〜via オレンジニュース

Editor's Daily Blog: Download J2SE 6.0

えー、もう出たの?はやすぎ。J5SEがまだこれからだってぇのに。。。

Posted by money at 2:03 PM | Comments (0) | TrackBack

メモ:TestCaseTool

〜via Mimori's Algorithms tDiary

TestCaseTool〜テスト仕様書ドリブンなWebアプリケーション機能テスト用テストツール〜

Posted by money at 10:43 AM | Comments (0) | TrackBack

November 15, 2004

Firefox1.0(続)

なんか、これまでのRCとかそれ以前に比べても、1.0ってクオリティが低いような気がするのは気のせいですか? 動作が安定しない、というか、マウスのクリックイベント拾えないというか。なんか、動作が変なんだよねぇ。HTMLのレンダリングのパフォーマンスがすばらしいものに仕上がってるだけにもったいない。残念!

Posted by money at 5:26 PM | Comments (0) | TrackBack

November 11, 2004

GMailがPOP3インタフェースを提供

GmailがPOP3サポート、ウイルス対策も提供へ GoogleはPOP3サポートに加え、ウイルススキャンもGmailに追加する準備を進めている。JavaScirpt未搭載のブラウザでも利用可能にする計画もある。(IDG)
いや、欲しいのはそうじゃなくって、POP3 over HTTP、SMTP over HTTPなんですけど。。。 ただのPOP3だったら、社内からアクセスできんから意味ないでしょうが。。。
Posted by money at 3:51 PM | Comments (0) | TrackBack

November 10, 2004

FireFox1.0

Mozilla Firefox Start Page

↑ は、FireFox1.0のデフォルトホームページ。
さて、1.0が予告どおりでました。
が、 1.0RC1,RC2と比べてもHTMLのレンダリングが速くなってるような気がするのは気のせいですか?

昨日から、使ってますが、
とりあえず、GoogleBarが使えなくなったのが痛い。あと、クリックが効かない。何で?(右クリック→新しいタブで開く だとOK)
それと、終了してもプロセスが残ってしまうので、再起動すると、プロファイルのロックに引っかかる。
いまいち。。。

Posted by money at 12:13 AM | Comments (0) | TrackBack

November 4, 2004

高校生がPCクラスタ

広島県立広島国泰寺高等学校・科学部物理班

高校生が学校のPCを使ってクラスタシステムを組んじゃったらしい。
果たして、我が社のエンジニアたち(自分も含めて)は、この高校生と比べて、対価を得るだけの付加価値を提供できているのだろうか。


Posted by money at 4:52 PM | Comments (1) | TrackBack

August 27, 2004

GMail 再び

久しぶりに、5人、inviteできるようになりました。
ご希望の方は、オンライン、オフライン問わず、tkaneda@gmail.comまでお問い合わせください。
希望者多数でご要望に添えられない場合は、ごめんなさい。
あー、私のお知り合いかどうかは問いません。これを機会にお知り合いになりましょう。

Posted by money at 1:44 AM | Comments (2) | TrackBack

August 5, 2004

Skype me!

Skype
kazaaが技術的ベースになっているらしい、P2P音声チャット。

あちこちで見かけたので、気になって入れてみました。
どれぐらいの音質なのか楽しみ。これがかなり使えるとなれば、それこそ、電話いらないですな。
まぁ、オンラインで生活が閉じるわけではないので、社会生活上、いらんとは言い切れませんが。

で、これなんて読むんでしょう? すかいぷ?すかいぺ?すきゅーぷ?

Posted by money at 7:44 PM | Comments (0) | TrackBack

June 30, 2004

J2EE5.0?

バージョン番号を5にするんであれば、J5EEになるんじゃないの?

わけわからん。

Posted by money at 11:36 AM | Comments (1) | TrackBack

June 28, 2004

GMailアカウント締め切りました。

この道はいつか来た道... REBOOTED: GMailアカウント

多数のご応募、ありがとうございました。当選者の方は、こちらからご連絡を差し上げています。残念ながら、こちらからご連絡を差し上げていない方、ご希望に添えなくて申し訳ございませんでした。また、機会がございましたら、宜しくお願いします。

Posted by money at 4:02 PM | Comments (0) | TrackBack

June 20, 2004

GMail

最近、あちこちでGMailのinviteの話をよく見かけるようになったなぁ、と思ってた。確かに僕のアカウントでも、ここ数ヶ月、inviteができるようになってたんだけど、人数制限があるのを知らなかったので、なんだ、もう事実上、誰でも使えるのか、ぐらいに思っていたら、実はinviteできる人数に制限があることがわかった。ってことでどうやらあと4人の方をご招待できるようです。ご希望の方いらっしゃいますか? 欲しい人、オンライン、オフライン問わず連絡ください。なお、申し込み者多数の場合は、抽選とさせていただきます。当選者の発表は、メールの発送をもって替えさせていただきます。

Posted by money at 5:04 PM | Comments (2) | TrackBack

June 13, 2004

人名用漢字追加

人名用漢字追加 「苺ちゃん」「牙君」などOKに


追加するのは選択肢が増えていいんだけど、文字コードのコードポイントがちゃんと定義されている文字なんだろうか?一部に今回新たに異字体が追加されているのが特に気になるところ。戸籍関係、自治体システム担当者殿の苦労がしのばれます。やっぱりなければ、外字対応ですか? 外字という考え方を捨てない限り、電子政府、いーがばなんて夢物語なんだがなぁ。
たぶん、使っていい漢字を列挙する際に、「この漢字は、コンピュータでは表示できません。」って断り書きは最低必要だと思う。くさなぎくんの「なぎ」の字とかさ。
個人的には、異字体を含めて、「文字」の正規化が必要だと思う。言語学的、文化的に許されるのかどうかは別にして。そうしないと、知らず知らずのうちに、むやみに、社会システムが高コスト化してしまうと思われ。

Posted by money at 3:37 AM | Comments (0) | TrackBack

April 30, 2004

MySQLの躍進

MySQLはやはり手軽だ。システムとしてシンプルだし何より軽い。これが、Webアプリケーションの後ろで手軽に動かすのに好都合(現場の部門等でとりあえずデータベースサーバでっち上げちゃえという場合、マシンパワーが貧弱なものしかない、というのが現実だ。え?うちの会社だけ?)、というのがMySQLに目を向けさせる一番の理由だろう。でも、MySQLって最近のバージョンだと、トランザクションサポートしたんだっけ?今までは、これがネックで僕はRDBが必要になった場合は、PostgreSQL派でした。トランザクションが実装されたのであれば一考の価値ありだと思います。
Posted by money at 3:46 AM | Comments (2) | TrackBack

April 29, 2004

必須アプリ

あなたが最初にインストールする10のプログラムは何? コメント、トラックバックどうぞ。

面白い!順不同ですが。
1. Lhasa (Archiver)
2. Firefox (Browser)
3. cygwin (shell)
4. Meadow (Editor)
5. JRE (Java Runtime)
6. smartdoc (Document Formatter)
7. AltIME(キーボードカスタマイズ)
8. Acrobat Reader (PDF Viewer)
9. MSN / Yahoo Messagner( IM )
10. FFFTP (FTPクライアント)
-----------------------------------
番外編:
11. SSH(SSH, SFTPクライアント)
12. DiCE(Dynamic DNSクライアント)
13. TeX関係、WinShell(Document Formatter)

ってな感じかな?偏りすぎてるな。改めてこうしてみると、エンジニアじゃなくなってるな...つーか、Windows上ではコードは書かない主義なので(と、逃げておく)。
あ、あと最近だと、iTunes はジュークボックスとして必須。

Posted by money at 2:50 AM | Comments (1) | TrackBack

April 26, 2004

Open Sourceなワークフローエンジン

へぇ。一番、オープンソースになりにくいジャンルだと思ってたんだが。。。
Posted by money at 1:11 PM | Comments (0) | TrackBack

Dependency Injection?

Spring Frameworkのリファレンスを眺めてたら、「Dependency Injection」という言葉か結構使われている。元々Springって「Inversion of Control(IoC)」という言葉を使ってたはずで、これをオレはそれを「Dependency Injection」と呼ぶねと言ったのはマーチンファウラーだったはず。 ひょっとしてロッド・ジョンソンもこのファウラーのアーティクルを読んで、呼び方を変えたんだろうか? 

と思ったら、ちゃんとこのリファレンスに、マーチンと話して、名前を変えることにした、みたいなことが書いてあった。 やっぱり皆さん、仕事が早い。

Posted by money at 3:01 AM | Comments (0) | TrackBack

April 24, 2004

仕様書の是非

仕様書の是非がテーマ。なんか、僕からしたら仕様書というものに対して真面目に取り組みすぎてるような気がする。もちろん、仕様書というものをないがしろにしろ、と言ってるわけではない。あくまでも仕様書は仕様書でしかない、ということだ。

(前略)それになにより、無駄な仕様書作成やらくだらない社内会議などは貴重な時間を浪費させ「楽しいものづくり」を楽しくないものにしている。これらは無能な管理職が、自分が仕事をしたつもりになって自己満足に浸るだけの道具に過ぎず、本来は必要のないもの。

この人は、かなりプログラミング技術に長けたいわば職人的なタイプなんだろう。仕様書作成が無駄だと言い切り、社内会議をくだらないと切り捨てる。こういう人はおそらくプロジェクトとしてはお荷物なんだよね。仕様書とか会議の本質が、コミュニケーションにある、ということが理解できていない。もちろん、これを作れば完璧です、なんて仕様書なんてありえないし、そういった仕様書を作ることも不可能だ。別に100%の完璧な仕様書なんてものを目指す必要はない。所詮、仕様なんてころころ変わるんだ。8割方できてれば十分なんではないだろうか。その辺の「いい塩梅」具合を調整するのが腕ってもんでしょう。

本題からそれますが、「無駄な仕様書」など存在しません。無駄だと思うのは、仕様書としての機能を満たしていないからではないでしょうか。仕様書を作成することではなく、「仕様書作成の仕方」に問題があるように思われます。

この人もおそらくモノを作る側の立場にたったkとがないからこんなノンキなことを言ってられるのでしょう。

さて、仕様書というとすごくあいまい(だと思う)ので、分けて考えたい。まずは、発注者側のウィルを書いたもの、これをここでは「要求記述」と呼ぼう。 それに対し、その要求記述に記述されたものをさらに具体化、限定化し、「何を作るか」を記述したもの。これを「ゴール記述」と呼ぼう。 おそらく発注者が「こんなん作って欲しいんやけど〜?」というものを「要求記述」に書き、それを受けて開発側が、「つまり、これを作ればいいんですな」という回答を「ゴール記述」として書く。世の中の「仕様書」と読んでいるものはおそらくこの両方が様々な粒度がごちゃ混ぜに一つのドキュメントとして記述されてあるものだと思う(僕の経験上からも)。例えば、Webアプリのようなもので考えると、「要求記述」には、「24時間365日連続運転」というものが記述され、それに対し、「ゴール記述」には、「MTBF**分、稼動率99.9%を確保する」みたいなものが書かれるようなイメージ。

この2つのドキュメントをやり取りすることで、お互いの「求めるもの」と「その求めたものに対しての応え」が取り交わされる。まず、ここをはっきりさせずに先に進捗を進めようとするからあいまいになってしまう。つまり、発注、受注というものを2つのシステムとして考え、それらの間をいわゆる「仕様書」というプロトコルでネゴシエーションを取るようなイメージ。以前にも「仕様書」というものをインタフェースとする「発注者」「受注者」というアクターを考えた。ここでの議論のネックは、「ビジネス」という観点における、「リスクヘッジ」と「責任の所在」であった。つまり、現状の「仕様書」という1つのドキュメントをやり取りすることで、発注者は、この「仕様書」を最大限に拡大解釈したがるものだし、受注者は、その反対に限定的にその意味を捉えようとする。つまり、これは、「仕様書」という1つのドキュメントで合意を取ろうとするからこそ発生する問題だ。であれば、その仕様書を2つに分ければいい。
ってなところで、続きはまたの機会に。

Posted by money at 2:50 AM | Comments (0) | TrackBack

March 31, 2004

ビットの経済的価値

そして、次の言葉も的を得ていると思った。

[dgcr.com]デジクリバックナンバー

見えないものや、
手に取れないものだがお金を支払うというケースは、労働の対価であることが
ほとんどだ。デザインや情報の内容・質自体には、どんどん値段が付かなくな
っている一方、労働には確かな値付けがなされるようになってきている。


ソフトウェア屋としてこの事実をどう捉えるか、と考えてみると、やはり、人月という数字が一人歩きしている現状を踏まえると、結局「労働」といういものに価値のものさしを置き換えてしまっているということになる。結局開発請負というビジネスモデルでは、人海戦術、労働集約産業から逃れられず、知識集約には程遠い。一部には納めたシステムが生み出す利益、価値を金額で評価してそれに対する一定の割合をシステムの対価とする、という例も報告されてはいるが、この評価自体恣意的に操作可能であり、こういった手法に頼ることはできない。また、正確な評価が可能なのかどうかも疑問。
最近「白い巨頭の放映等により話題に上がる医者の世界でよく言われているのが、「診療報酬は、全国一律で決められている。これでは、優れた医者であろうが、未熟な研修医であろうと、変わらない。こんな状況で医者がモチベーションが維持できるのか?」という議論も似たようなものか。いや、我々の世界の方が人月単価で差をつけることが可能なだけ健全なのかも知れない。でも、この言葉、「 なお,自らIT技術の第一線にある者が納期・予算を守れず,人海戦術頼みであることを心より恥じる.」、笑えません。

Posted by money at 10:34 AM | Comments (2) | TrackBack

March 29, 2004

J2EE 1.4 tutorial

Sun releases tutorial for J2EE 1.4

PDF版で1500ページだそうです。多すぎです。このボリュームでは辞書代わりにしか使えません。将来のJ2EEチュートリアルは200ページ*1くらいで書けるように簡単にならないといけないです。


1500ページも書かないとチュートリアルにならないもの、って?リファレンスマニュアルならわかるが、あくまでもチュートリアルは「♪はじめのだいいっぽ!」なんじゃぁ?
で、このチュートリアルの中身がどうなってるかはこれから調査。

でも、今までのチュートリアルも、確か800ページ強あったしな。

Posted by money at 2:50 AM | Comments (0) | TrackBack

March 28, 2004

録画処理手順メモ

PCでテレビ番組を録画した後の処理手順のメモ。
1. MPEG2ファイルをDVD2AVIに読み込ませ、メニューから[File]→[Save Project]を選択して適当なファイル名で保存。
〇[File]→[Save AVI]でないのがポイント。何の設定もしてないがここはMPEG2対応のための処理なのでこれだけ。
〇仮に、「嘉門達夫ライブ.m2p」を処理したとすると、「嘉門達夫ライブ.d2v」(プロジェクトファイル)と「嘉門達夫ライブ MPA T01 DELAY -66ms.mpa」(音声ファイル)ができる。
2. TMPGEncで映像ソースに「.d2v」を、音声ソースに「.mpa」をドラッグ&ドロップして設定ボタンクリック。
〇ビデオタブ:
  サイズ: 704×480 に。元の映像は720×480だが、大抵左右の端に黒い部分があるのでそれを除去する。
  レート調整モード: 自動可変レート(CQ_VBR)
  品質: 100
  最大ビットレート: 100000 kbit/sec
  最大ビットレート: 10000 kbit/sec
  動き検索精度: 最高画質(最低速)
〇ビデオ詳細タブ:
  画像配置方法: 画面全体に表示(アスペクト比保持)
  ソースの範囲: CMカットなどこまめに
  インターレース解除: 偶数・奇数フィールド(フィールド・適応)
〇GOP構造タブ:
  編集用ビットストリームを出力する(Closed GOP): チェック付与
〇オーディオタブ:
  ストリーム形式: MPEG-1 Audio Layer II
  サンプリング周波数: 48000 Hz
  チャンネルモード: ステレオ
  ビットレート: 384 kbit/sec
  音声加工: チェック付与
  ボリューム変更: チェック付与
  正規化ボタンで100に正規化
全て設定が完了したら、メニュー[ファイル]→[プロジェクトの保存]で適当な名前をつけて保存 →「嘉門達夫ライブ.tpr」ができる。
3 VFAPIconvに「.tpr」をドラッグ&ドロップして、実行ボタンクリック →「嘉門達夫ライブ_tpr_vfapi.avi」ができる。
4. VirtualDubに「.avi」をドラッグ&ドロップして、
(4-1)メニュー[Video]→[Compression]を選択し、一覧から「DivX Pro 5.0.5 Codec」を選びConfigureボタンクリック
  〇profilesタブ:
    1-Choose your profile: チェック付与
    High Definitionを選択
  〇MPEG4 Tools:
    Use Bidirectional Encording: チェック付与
  〇Bitrate Controlタブ:
    Variable bitrate mode: Multipass, 1st pass
    Encoding bitrate: 1500 kbps
    Multipass encoding files: divx.logファイルをどこでもいいので設定
    Write MV file: mvinfo.binファイルをどこでもいいので設定
  〇General Parametersタブ:
    Enable Resize:チェック付与
    width: 528
    height: 360
    Bilinear (very soft)を選択
    ※ここの設定が出来上がりの動画の表示サイズになる。
    Keyframe: 900 frames
    Perfoemance/quality: Slowest
    Source Interlace: Encode as prograssive
    全てOKを選択してウィンドウを閉じる
  (4-2)メニュー[Audio]→[Full processing mode]を選択したうえで、再度[Audio]→[Compression]を選択し、一覧から「Lame MP3」と「48000Hz, 128 kbps CBR, Stereo」の組み合わせを選択
  (4-3)メニュー[File]→[Save as AVI]を選択して適当な名前をつけて保存。
    ※「Don't run this job now; add it to job control so I can run it in batch mode.」にチェックを入れる
  (4-4)メニュー[Video]→[Compression]を選択し、一覧から「DivX Pro 5.0.5 Codec」を選びConfigureボタンクリック
    〇Bitrate Controlタブ:
      Variable bitrate mode: Multipass, nth pass
      Encoding bitrate: 1500 kbps
      ※ここのレートが画質とファイルサイズに直接影響する。
  (4-5)メニュー[File]→[Save as AVI]を選択して適当な名前をつけて保存。
    ※「Don't run this job now; add it to job control so I can run it in batch mode.」にチェックを入れる
  (4-6)メニュー[File]→[Job control]を選択すると2つのjobがエントリされたウィンドウが開くので、Startボタンをクリック

Posted by money at 1:33 PM | Comments (0) | TrackBack

March 24, 2004

OODB

うーん、これでなんでパフォーマンスがあがるのか、よくわからん。Sparse Multidimensional Arrayってのもよくわからん(これ、シグネチャ―インデックスの派生かな? >シグネチャ―インデックスのエライ人)し、この説明に使ってるクラス階層の絵もなんの階層だかよくわからん。(普通クラス階層といえば、クラス図の継承関係の階層か、包含関係の階層のことを言うと思うんだけどこれはそのどちらでもなさそう。) それにOODBでわざわざSQLインタフェースを用意することが重要だとも思えない(だったら、RDBを使えばいいんだし)し、このOODBが目指すものがよくわからないや、やっぱり。
Posted by money at 10:17 AM | Comments (0) | TrackBack

March 8, 2004

ベイジアンフィルタ

Becky! Ver.2(以下、Becky!)でSPAMを自動的に振り分けするプラグインです。Rubyで書かれていて、Becky!でRubyスクリプトを走らせるプラグインであるBeckrbの上で走ります。

重い腰を上げてベイジアンフィルタを導入してみた。これは、ベッキーのプラグイン形式になってて、実際には、ベッキーのrubyスクリプトプラグイン上で走るrubyスクリプトになっている。これで、少しはSPAMが減ればいいのだが。。。

Posted by money at 2:11 PM | Comments (0) | TrackBack

February 16, 2004

Gush

Gushを入れては見たものの、相手がいないことには。。。 ねぇ? ってことで、Jabberアカウントをお持ちの方は、tardy64@jabber.orgまで。
Posted by money at 2:58 AM | Comments (0) | TrackBack

February 13, 2004

FireFox

FireFoxの0.8が出たのを機に入れてみた。

「Operaよりも軽い!」

はい、移行決定。おまけに、RSS Feedもいれて、これで、動きが重くてなんとかしたかったSharpReaderもステ。(.Netフレームワークを使ってるから重いのか?)

ブックマークの移行も、BookSyncにて問題なく完了。SharpReaderのRSS関連も以降が済んで全く問題なく動いている模様。惜しむらくは、右上のGoogle検索窓がU.S.Googleを向いてることぐらいか?これをJP.Googleに向ける方法、わかる方教えたもれ。
(って、昔、モジラのスキンネタで雑誌記事を書いた奴とは思えない発言。。。)

これから徐々に育てていきます。

Posted by money at 4:26 AM | Comments (2) | TrackBack

January 28, 2004

継承に警鐘

「継承より委譲を」を読んでふと思った。オブジェクト指向言語を語る際、「継承」という概念を真っ先に教えるということが多いと思われる。C++の解説書なんかだと、生物の進化みたいな樹形図を見せられて、「これが継承だ=」ってな感じ。こういう教え方をされると、継承を使わないとオブジェクト指向じゃない、みたいなイメージが作られちゃって、無理やりにでも継承を使ったちぐはぐなプログラムになっちゃいがち。僕は、昔から継承という機能を疑問視してて、(もちろん、便利なこともあるけど)どちらかと言うと弊害の方が多いのではないか、と。 例えば、多重継承はJavaでは禁止されちゃった(でもインタフェースの多重継承は残ってる)けど、多重継承なんてものはなくてもかまわないぐらいだと思う。現に、去年、とある仕事で作ったコーディング規約では、多重継承は禁止した。僕自身、オブジェクト指向プログラマ稼業を10年近くやってるけど、多重継承が必要になったことはない。全部デリゲーションで済んじゃうんだ。また、今年度の頭に、会社の新人相手にやった、「オブジェクト指向講座」でも「継承」は一切教えなかった。その前に、「オブジェクト指向」ってどういうふうに考えればいいんだ?ってところを教えてあげる方がよっぽど親切だろうと思う。継承はオブジェクト指向の本質でもなんでもなくって、あくまでも副産物。本質はあくまでも「抽象データ型とメッセージパッシング」なのである。
Posted by money at 5:07 PM | Comments (0) | TrackBack

January 20, 2004

ブラウザ

予想通りというか、意外というか。こんなにIEユーザっているのね、というのと、意外とMozilla奮闘してるんじゃない? ってのと、Operaって意外と人気ないねぇ、というのが正直なところ。 みんなIEの反応の遅さに我慢できる、というのが信じられん。確かに、IEじゃなきゃダメなサイト(例えば、うちの会社の勤務表データ投入アプリとか)もあるからまるっきりアンインストールってのは無理だけど、もうIEは常用できません。唯一不便な点としては、Googleバーがつかえないので、検索キーワードによるハイライト機能がない、ということぐらいか。
Posted by money at 3:00 AM | Comments (2) | TrackBack

January 15, 2004

howm

howm - 一人お手軽Wikiもどき とまぁふざけた名前みたいだけど、emacs使い向けメモアプリケーション。 Windowsでいう、付箋紙のような機能を提供する。四六時中emacsを立ち上げていることに抵抗ない向きにはけっこう使いやすいと思う。僕はオフィスのマシン(Windows2000 + cygwin + Meadow)の環境に導入したけど全く問題なし。でも、xemacsでのインストールがまだ成功していない。xemacsの.emacs周りの扱いが分かってないのが原因なんだけど。

何も考えずに~/.xemacs/init.el に設定を書いたらあっさりOK。宗教的にいいかどうかはさておき。

Posted by money at 2:07 AM | Comments (0) | TrackBack

January 10, 2004

なんかお門違いだよな

面白そうなソフトが出てきた。年越す前に知って、そのときはまだダウンロードできなくなってたのが、ようやく再開された模様。 こういうものが出てくると、必ず危険だから配布するな、とかって話になるんだけど、「脅迫電話が増える可能性があるから電話はダメだ」「殺人が増える可能性があるから包丁は売るな」って言ってるのと同じってことがわからないんだろうか?まぁ、自分が理解できないものに対して必要以上に畏怖の念を抱くのが人の常ではありますが。

さて、いろいろ面白いことができそうだ。会社がSOCKSのポートを閉じたから家のサーバへのアクセス手段を探してたんだよね。でも、実現してしまうあたりがすごいです。何もうちの大学に来なくてもそのまんま仕事すればいいのに。彼以上に技術力あるやつなんて、うちの会社にはきっといません。あ、世の中の技術力の低さに失望して日本から飛び出してしまうか。。。

Posted by money at 2:52 AM | Comments (0) | TrackBack

January 7, 2004

Adobe Reader Speed-Up

ARの起動が早くなる、ってんで試しに入れてみた。なるほど、なにやら起動時にいっぱい読み込んでるプラグインを読まなくするのね。とりあえず、ちょっぱやに設定。そのうち必要なプラグインがなくて困るまではこのままいくことにする。
Posted by money at 5:18 PM | Comments (0) | TrackBack

November 10, 2003

Googleデスクトップ

先日、Googleバー使わないでやっていけるの?みたいな話題を書いた(なんとかとハサミは...参照)。舌も乾かないうちになんですが、もう、Googleバーいらないかも。Windowsにしか対応してないのと、まだ日本語版がリリースされていないのが難といえば難ではありますが、けっこう便利。お勧めです。
Posted by money at 4:44 AM | Comments (0) | TrackBack

gotoくんは悪くない

何も考えないでgoto文を使う奴、これ最悪。
何も考えないで、goto文はいけないと盲目的に信じてる奴、これ、エンジニア全体の98%。
goto文は乱用するとダメだが、goto文を使うことによってかえってプログラムが読みやすく場合があると分かってて節度をわきまえて使う奴、これが正しい姿。

ちなみに、以前某社に常駐してた際に、その会社用に、コーディング規約の制定をしましたが、あえて、盲目的にgoto文を禁ずるような規約は外しました。弊社内の同じようなソースコードの品質チェックサービスをやってるような部署に応援頼んで、僕が書いた規約ドラフトをベースに作ってもらいましたが、同じように「goto文はいけないんだぞー。」ってコメントと共に規約が追加されてましたので、当然却下しました。
個人的には、エラー処理をまとめる場合の他に、オートマトンとか状態遷移図の実装の際には重宝すると考えておりますです。

まぁ、ダメな理由を追求してみると、分からんと禁じてることが露呈できて面白い、かと。

Posted by money at 12:34 AM | Comments (2) | TrackBack

November 8, 2003

Refererログ解析ツール

ここでアクセスログをちまちま手でサマライズしてますが、やはりいいかげん面倒なので自動化したいなぁと主って探してたところ見つけたのがこのページ。なぜかC++で書いてるってあたりに硬派さを感じ、ダウンロードしてみました。 が、コンパイルが通らない。ってことで最低限コンパイルが通るレベルに修正して、作者の方にパッチを贈呈しました。そのうち反映してくれると期待して。 まだ活用してませんが、徐々に活かしていきたいなぁと思った次第。
Posted by money at 12:45 AM | Comments (0) | TrackBack

October 1, 2003

Windows3D

Windowsのデスクトップを3D化するソフト。単に、Windowに奥行きを持たせる窓立て2とは違って、デスクトップを「机上」というメタファーから「部屋」というメタファーに進化させている。(本当に進化か?)
で、試してみた。。。。。重い。
Pentium4 2.4C(2.4GHz,HyperThreading),512M搭載マシンでもマシンパワーとしては全然足りません。デスクトップの3D化は性能的にも、使い勝手という意味でもこれからでしょう。「部屋」というメタファーも最適かというと、これもこれからじっくりもまれて行く必要がありそう。今後に期待、ということで、レジストするのもいいかも知れない。(3500円ほど)

なお、このソフトには、アドオンと称して、いろんなバラエティが用意されています。(部屋のインテリアを替えるようなイメージ?)ソフトウェアのスキンというコンセプトを発展させたものとしては、なかなか面白い。
昔、一時期流行った(本当か?)、IEに追加するホットバーを思い出しました。

Posted by money at 12:25 PM | Comments (1) | TrackBack

TRON+Windows = 0 !?

しかし、口で言うのは簡単だが、マイクロソフトは相当な技術リソースを継ぎこまないとトロン(T-Engine)上で .Net フレームワークを準備することは難しいし、アメリカ本社がそこまでトロンを重視するかは疑問だ。 そして、.Net フレームワークそのものもこの1,2年で大きく変わる可能性がある。 今回は具体的にどこまでやるかをコミットしているわけではないはずだ。 もし、できたとしてもライセンス料が高いため ".Net 抜き" というライセンスが一般的になると思う。
元組み込み系エンジニアの言葉は説得力があります。このニュースを聞いて、誰もが、「つーか、何やりたいの?」と思ったはず。TRONが流行ってるのは安いからというのはあるだろうけど、そもそも研究開発費かかってないからねぇ。動作が軽いってのもあるんでは?WindowsのカーネルとしてTRONを組み込むってのも、TRON上で.NETフレームワークを構築するってのも、ちょっと現実的じゃないような。。。

僕も、「結局、この提携は何も生み出さない」に一票。

そういや、坂村さんとこの学校、日本で数少ないWindowsNTのソースコードライセンスを持ってる学校じゃなかったかな?

そういや、うちの会社は、結局TRONフォーラムに入会したのか?

Posted by money at 3:33 AM | Comments (0) | TrackBack

September 28, 2003

GNU Archチュートリアル

先日からしこしこと遅々としながらも続けてきたGNU archに関するチュートリアル和訳ですが、拙作よりも優れた和訳を見つけてしまいました。
ARCH チュートリアル

また、日本語オリジナルなチュートリアルについてもこちらに、用意されています。つーことで、私の和訳作業はここで止めますた。

Posted by money at 7:27 PM | Comments (0) | TrackBack

September 25, 2003

GNU Arch(10)

Project Tree Inventories

ちょこっと進みました。

Posted by money at 2:00 AM | Comments (0) | TrackBack

August 30, 2003

続GNU arch

9章あげました。

Posted by money at 2:31 PM | Comments (0) | TrackBack

あかん

Continuing the discussion...
TrackBack URL for this entry:
http://andore.com/cgi-bin/mt/mt-tb.cgi/128

Listed below are links to weblogs that reference 'オンラインプレゼンテーション例(Flash Communication Server)' from klog.

アクセスしたらブラウザが落ちる。
Opera 7.20B7 でございます。なんでかなぁ。。。

Posted by money at 1:20 AM | Comments (1) | TrackBack

August 29, 2003

GNU arch

archって実は、GNU プロジェクトだったのね。GNU関連の翻訳許可ってどうすりゃいいんだろ?

というわけで、遅々として進めてますが、ようやく第8章まで進みました。まだまだ先は長いです。

でも、BLOGのドキュメントって検索エンジンには引っかからないんじゃ?って気もしなくもない。。。

Posted by money at 2:56 AM | Comments (0) | TrackBack

August 25, 2003

CVSの次!?

今、ソフトウェア開発におけるリビジョン管理システムといえばCVSを入れて、閲覧用に、cvswebというCGIスクリプトを入れてWebブラウザでリポジトリをつらつら眺めるというのが一般的だと思う。もちろん、お金のあるプロジェクトだとClearCaseのようなものを使うかもしれんけど、中身は似たようなもんでしょう。

さて、CVSは内部的にRCSを叩いてるので、所詮、RCSの複数ファイル対応したインタフェースに過ぎない。したがって変更履歴としてはもちろんファイル単位の更新差分を記録することでリビジョン管理を行っている。で、実際のプロジェクトだと、ディレクトリ構成の変更とかって結構あるんだけど、それに対応できないんで運用上あまりよろしくない。そうすると、やっぱりこの辺のまずいところをわかってる人がやっぱりいて、archという新しいリビジョン管理システムのプロジェクトを見つけました。ことの発端は、Xouvertという次世代のX Window Systemのサイトで見つけたから。で、いろいろ探したんだけど、日本語ドキュメントがまだ世の中にないので、とりあえず、マニュアルの翻訳をはじめました。訳のクオリティよりも速報性を重視してます(笑)。コメントとか誤訳とかあったら、こちらにでもなんなりとご指摘いただけると幸いです。

Posted by money at 3:51 AM | Comments (0) | TrackBack

August 19, 2003

オープンソースと営利企業

最近、オープンソースの話題が多い。九州の某自治体が自分たちで開発したシステムをオープンソースにするとかいいながら九州以外からはライセンス料取るよ、とか言ってみたり、電子政府関連でもオープンソースをもてはやす発言がお役人から飛び出したり、と本当に話題には事欠かない。でも、なんか変。ライセンス料とっちゃオープンソースじゃないだろう? 政府がオープンソースであるかどうかの認定をしてどうするよ?やっぱりなんか理解されていないような気がする。まぁ、自分たちが関わってるプロジェクトや仕事、団体あるいは自分自身その他が得すりゃいいやと思ってる輩にはオープンソースは理解できないでしょう。また、開発工数が削れるという理由でオープンソースなソフトを採用する企業にもオープンソースに貢献する意思なんてないもんね。そういう意味でオープンソースの使い方がうまいのはIBMなんだけど、他の企業も、もっとオープンソースなプロジェクトを育てる、という視点に立ってくれると、少しはましなんじゃないかな?

政府も「国産のオープンソースソフトウェアが少ない」などとピントはずれなことを言うのではなく(オープンソースに国境はありませぬ)、例えばPublicなサーバファームを用意して自由に使わせる(図書館のように、身分証明付で認証させて会員は自由にCPUパワーを利用できるような仕組み)とか、もう一歩踏み込んだ貢献をしてくれると面白い動きが出てくるんじゃないかな。

未踏プロジェクトで稀有な才能を探し出すのもいいんだけど。

ってなことをIT Pro Java Raderなるメルマがのコラムを読んでふと思ったさ。

Posted by money at 1:54 AM | Comments (0) | TrackBack

June 10, 2003

Linuxなら安い?

メリルリンチの偉いさんなら、単に自社の経費を削減したいだけだろうからある程度は信用できる話なのかもしれんが、でもこのコメントだけで、なんでもかんでもLinuxでやった方が安い、ということにはならないはずで、これを真に受けて、Linuxでやったら安いんだろ?ってディスカウントを強要してくるバカが出てきそうでいやだな。
Posted by money at 11:12 AM | Comments (0) | TrackBack

June 3, 2003

デニム(とあるところから再掲)

最近、Webサイトデザインに関する書物を本屋で多く見かけるようになった。事の発端は、Webユーザビリティを書いたヤコブニールセンだが、Webデザイナとプログラマの責任分岐点ってまだまだあいまいなのよね。いちおう、JSP,サーブレットとか明確に分かれつつあるとは言えるけど。でも、こういうツールでさくさくデザインできるようになると、本当の意味でGUIデザイナとシステムエンジニアの分業が進むんでは?という予感が感じられる。このDENIMは、バークレーで研究されているGUIデザイナらしい。実際にダウンロードできるし、使ってる様子の動画も見ることができる。まだまだできることはたいしたことないみたいだけど今後が楽しみである。

Posted by money at 11:26 PM | Comments (0)