These pages are written by only Japanese.

Welcom to My Diary.com
最新の日記タイトル一覧カテゴリ別タイトル一覧トップへ戻る〜

こんばんわ♪ 現在は7月6日(日)3時33分。 そろそろお休みになられたほうが。


hns - 日記自動生成システム - Version 3.9.5y (色々 Fixed)

先月 2003年01月 来月
01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2003年01月01日(水)(自宅) BGM:レスピーギ- ローマ三部作

(自宅) BGM:レスピーギ- ローマ三部作

謹賀新年

あけおめことよろ…

。。。:

と、試しに書いてみましたが、
新年になったからといって何か嬉しい事がある訳でもなく、 単に昨年守れなかった色んな〆切を、 泣きながら棚卸し & 再計画の作業をしている自分がここにいます。

今年の目標:

今年の目標は一日一技術ネタです。
昨年を振替ってみて思うのですが、 自分は少し調べれば分かるような事を、 調べても時間がかかったり分からなかったりするのではないかという不安で、 作業そのものを先延ばしにしてしまい、 その為に周りに迷惑をかける事が多くあった気がします。
気になる事があったら、(緊急の仕事が他にない限り) 納得できるまでとことん調べる姿勢が大切なのだと痛感しています。
あ。おそらく関係者からは、
それって、前から何度も言ってるじゃないか。
いまさら何いってるんだ。こいつは。
という感想を持たれそうですが、頭では分かっていたつもりでしたが。 残念ながら。実践は出来ていませんでした。
今年なら実践できるのかというと、正直分かりませんけど…

[JXTA][Java][research] MyJXTA2 と JXTA Config

通常、「PeerGroupFactory.newNetPeerGroup();」の呼び出し等で、 JXTA エンジンを始動 JXTA core のインスタンスを取得 しますと、 JXTA Config Windowが開いて GUI 上で設定を行うか、 GUI が開けない環境では、コンソール上のプロンプトでパラメータを入力させられますが、 MyJXTA2 ではある程度の設定を自動生成し、最低限必要なパラメータも MyJXTA2 自身の GUI で処理しています。
確かに、アプリケーションによっては 決め打ちにして構わない設定もありそうですし、 MyJXTA2 のように一般ユーザをターゲットとするアプリケーションは、 画一的に JXTA Config Windows を開くより、 MyJXTA2 のようなアプローチは好ましいと自分は思います。
# JXTA の一番始めのハードルは Jxta Config だと自分は感じますし…
そこでどのように実現しているかを調べてみました。

ソースコードのディレクトリ構成:


MyJXTA2 のソースコードは から取得できます。自分は cvs の factor ブランチ を利用しています。
yoya@awm.jp% cd myjxta2/binding/java/src/net/jxta/myjxta2/
yoya@awm.jp% ls
CVS/         chat/    content/  net/     search/  util/
MyJXTA.java  config/  core/     plugin/  ui/
ソースコードの置き場所は、このようなディレクトリ構成になっています。
今回、参照すべき場所は、 config ディレクトリです。

AutoCofig:

MyJXTA.java からは AutoCofig オブジェクトを生成して doAutoConfig メソッドを呼び出しますので、 config/AutoCofig.java から追って行けばよさそうです。
まず、AutoCofig の constructor では guessConfigUrl メソッドを呼び出します。
guessConfigUrl のコメントには、
// [gonzo] don't display config dialog if a rules file is
//         specified
と記されています。コードを眺めますと
String urlString =
	System.getProperty("net.jxta.myjxta2.config.url");
if (urlString != null) {
                try {
                    configUrl = new URL(urlString);

                    break;
                } catch (MalformedURLException mue) {
                }
            } else {
                urlString = "file:conf/PublicAdminRules.xml";
            }
	<略>
	URL tryUrl = new URL( urlString );
のように、コンフィグを生成する 雛型としてのルールファイルの取得元を決定するルーチンだと分かります。
プロパティの net.jxta.myjxta2.config.urlが指定されていない場合は、 ローカルの conf/PublicAdminRules.xmlが取得元になります。
そして、doAutoConfig -> buildRules の順で呼び出し。
buildRules の中で、AdminRules オブジェクトを生成して、 先程取得した雛型のルールを load します。
private AdminRules buildRules() {
	AdminRules rules = new AdminRules();

	rules.load(configUrl);
	rules.preprocess();

	return rules;
}

AdminRules:

次は、config/AdminRules.java を参照します。 constructor では何もしていませんので、load から見始めます。
  public void load(java.net.URL location) {
	...
      FileReader fr = new FileReader(cacheFile);
      cachedRules = read( fr );
	...
      InputStreamReader isr = new InputStreamReader( location.openStream() );
      adminRules = read( isr );
	...
}
実際の読み込み処理は、read のようです。 (例外処理をごっそり省いてます…)
import net.n3.nanoxml.IXMLParser;
import net.n3.nanoxml.IXMLElement;
import net.n3.nanoxml.IXMLReader;
import net.n3.nanoxml.StdXMLBuilder;

public IXMLElement read( Reader reader ) {
	IXMLParser parser = null;
	IXMLElement parsed = null;
	...
	parser = XMLParserFactory.createDefaultXMLParser();
	...
	IXMLReader xmlReader = new StdXMLReader( reader )
	parser.setBuilder( new StdXMLBuilder( new ConfigElement() ) );
	parser.setReader( xmlReader);
	parsed = (IXMLElement) parser.parse();
	...
	return parsed;
}
また、JxtaBuilder 内での各設定項の生成処理を合わせて読みますと、 JXTA の設定ファイルが XML の形式であるという事から、 XML パーサ&ビルダを用いて、 力ずくで設定ファイルを作成しているように見えます。(汗…
てっきり、
  • Config Window を立ち上げない為にモード切替え
  • 設定ファイル生成インターフェースのようなものが隠されている
  • Config 関係のクラスをオーバーライドしたクラスのインスタンスを どこかに登録する
あたりではないかと予想していたのですが、外れていたようです。
よくよく考えますと、 JXTA エンジンが動き出した時に、 JXTA core のインスタンスを取得する際に、 設定ファイルが無かったり、reconf ファイルが存在する時に、 (GUI 付きの) JXTA Config が動き出す訳で、 予め自分で config file を所定の位置に作ってやれば、 Config Window が|開かないのは当然でした。
かなり悔しいです…

TLS princical:

普通に起動すると、Config とは別にダイアログウィンドウが開いて、 ユーザ名(principal)とパスワードの入力を求められますが、 これも MyJXTA2 では MyJXTA2 自身の GUI に統合されています。
こちらについては、 JxtaBuilder.java が参考になります。
// have to dig into implementation code to see if password has been configured.
import net.jxta.impl.endpoint.tls.JTlsUtil;
import net.jxta.impl.endpoint.tls.TlsConfig;
	...
void configure() {
	...
	if (! reConfigure) {
		TlsConfig.init(rules.fetch("peer-config>peer-user-name"),
		rules.fetch("peer-config>peer-user-password"));
	}
	...
TlsConfig を使えば解決できそうです。
ただし、JXTA では net.jxta.tls.principal と net.jxta.tls.password の プロパティで指示する事もできますので、
private void checkPassword() {
	//    If the passwd exists, then validate it.
	//
	//    We are called for three cases:
	//    1) Initial configuration of everything
	//	   passwd file does not exist
	//    2) Reconfiguration:  passwd file exists
	//    3) Restarting the platfrom: passwd file exists

	String password = System.getProperty("net.jxta.tls.password");
	String principal = System.getProperty("net.jxta.tls.principal");

	if (password != null && principal != null) {
		return;
	}
	...
このように、Property の値を読み込んでチェックする必要があります。

JXTA AutoConfig:

長々と説明してしまいましたが、 言いたいことを整理しますと、
MyJXTA2 と同じように JXTA の Config を自動化したい場合は、 MyJXTA2 をインストールして、その jar ファイルを CLASSPATH に通し、 「file:conf/PublicAdminRules.xml」を用意するか、 別サーバにある場合は、net.jxta.myjxta2.config.url で指定する。 そして、AutoConfig オブジェクトを生成して、doAutoConfig を呼べば、 機能を流用できるのではないかという事です。
MyJXTA2 の GUI に統合されている部分は切り離す必要があるかもしれませんが、 そこは、gonzo さんに相談して再利用しやすい構造に変えれば済む事ですし。

[XML][Java] NanoXML

先ほど、MyJXTA2 が XML パーサとして net.n3.nanoxml を利用しているのを 確認しました。
import net.n3.nanoxml.IXMLReader;
	...
MyJXTA2 プロジェクトは、NanoXML のクラス郡を 「myjxta2/binding/java/lib/nanoxml-2.2.jar」に格納しています。
同ディレクトリのnanoxml.LICENSE を読むと、 NanoXML のページとして、 を紹介されていましたが、 に移動していました。
この NanoXML のページを読みますと、 といった事が書かれています。
SAX の実装系の一つという捉え方も出来ますので、 今後、お世話になりそうな予感がします。

[keyword] 本日の検索ワード

シグナル CHLD:

以前、CHLD シグナルとゾンビ・プロセスの関係について長々と説明しましたので、 識者からの指摘や苦情を待つ事にします。

vaio srx7 melco無線LAN:

上記の体験談は SRX3 の例ですが、SRX7 でも同じだと思いますので紹介します。
自分は WLAR-L11 という初期の頃に出た、古い機種を利用しています。
A.P. 付属の LAN カード + Compaq プレサリオノート PC では 接続できていたのですが、 VAIO SR の内蔵無線 LAN では、WLAR-L11 のファームを v1.05 以上にしないと 継りませんでした。
尚、少し前まで SRX7 から上記の Melco の A.P. 経由で 家庭内 LAN に繋げていました。一階とニ階で離れて使うf少しつらいですが、 telnet 等でない限り、特に不満もなく使えていました。

[bookmark] ぶっくま〜く

モジュールをインストールしよう:

Perl モジュールのインストール方法を質問された時には、 このページを紹介すると良いかもしれません。

JavaScript Tip 集:

JavaScript の食えない事情 が特に読み応えがありました。

[note] メモ

プラネックス FXG-08TX:

ファンレスの GbE ハブです。

2003年01月02日(木)(自宅)

(自宅)

はいぱ〜日記システムのカスタマイズ

カテゴリ分類:

近頃、全文検索の限界を感じる事がありまして、 を参考に、カテゴリの分類を始めました。
まずは、
  • awm 環境構築
  • bookmark ぶっくま〜く
  • research 調査
  • memo メモ書き
の4つで分類を始めて、必要に応じて少しずつ増やしていこうと思います。

テーマ:

はいぱ〜日記システムは見映え・概観を「テーマ」としてまとめる事が出来まして、 public_html/diary/ 内に適当なディレクトリ名を掘り、 その中に、theme.ph を作成して、 public_html/diary/config.pm の $Theme でそのディレクトリ名を指定する事で、 テーマを指定する事ができます。
自分は stripe を利用させて頂いているのですが、 README に、カスタマイズの仕方が説明されていましたので、 その記述に従って、ファイルをいくつか書き換えました。
背景の変更
css -> BODY -> background-image: url の定義を(stripe/stripe.gif) から (stripe/stripe-grape.gif) に変更
リンクの表示
P.I.M テーブルを2分割から3分割に増やして、 <td>%link </td> を追加する。col の width も微調整
時間対応メッセージの変更
第3者から見ると馴れ馴れしい文面だと思いますので、 少しかしこまった言い方に変更しました。
CSS の border 定義の調整
border の幅や色をこまごまと変更して、少し立体的な雰囲気を作っています。

[memo] ImageMagick convert

使いかたのメモです。

サイズの変更:

倍の大きさにする
convert -geometry 200% src.jpg dest.jpg
ImageMagick 5.5.5 のドキュメント には、-resize オプションが載っていますが、 自分が使っている、covert (ImageMagick 5.2.9)は、古い為か
yoya@awm.jp% convert -resize 128x128 src.jpg dest.jpg
convert: Unrecognized option (-resize).
のようにオプションとして認識できませんでした。

明度、彩度、色相:

明度を 20% 上げて、彩度を 30% 下げて、色相は変更しない場合。
convert -modulate 120,70 src.jpg dest.jpg

ガンマ補正:

明るく調節する場合。
convert -gamma 2.3 src.jpg dest.jpg
暗く調整する場合。
convert -gamma 0.8 src.jpg dest.jpg
R/B/G について各々、1.7/1.0/0.8 の補正をかけたい場合、
convert -gamma 1.7/1.0/0.8 src.jpg test.jpg

平均化:

ならす範囲を 2 ピクセル周辺にする場合は、
convert -median 2 src.jpg test.jpg
輪郭の明確な人物画などを 2ピクセル前後で平均化すると、 輪郭の線が不明確になり、壁紙等にしても邪魔にならなくなります。

[Java][Database][research] GOODS Generic Object Oriented Database System

JXTA search を動作させる前準備として、JXTA search が peer で利用している GOODS データベースを導入します。
その名の通り、Object Oriented なデータベースですので、 C++ や Java 等、オブジェクト指向といわれるコンピュータ言語との 親和性が高いそうです。
Perl インターフェース ( 配布場所 | 作者のページ ) を作成されている方もいます。:-)

Linux2.4 に GOODS をインストール:

まず、取得して展開します。
yoya@awm.jp% wget http://www.ispras.ru/~knizhnik/goods-2.52.tar.gz
	     <略>
yoya@awm.jp% tar xvfz goods-2.52.tar.gz
yoya@awm.jp% mv goods goods-2.52
yoya@awm.jp% cd goods-2.52
readme.htm に従い、 ./configを実行します。
yoya@awm.jp% ./config
Makefile is now prepared for generic Unix with gcc version 2.95.3 20010315 \
(release) compiler
次に make & make install です
yoya@awm.jp% make
cd src; make
make[1]: 入ります ディレクトリ `/home/yoya/src/java/goods-2.52/src'
g++ -fno-exceptions -I../inc -I. -Wall -c -O5 -g -DDEBUG_LEVEL=DEBUG_TRACE \
 console.cxx
	<略>
g++ -fno-exceptions -g -o ../bin/puturl puturl.o ../lib/libclient.a
make[1]: 出ます ディレクトリ `/home/yoya/src/java/goods-2.52/src'
# make install
cd src; make install
make[1]: 入ります ディレクトリ `/home/yoya/src/java/goods-2.52/src'
mkdir -p /usr/local/goods/lib
cp ../lib/* /usr/local/goods/lib
mkdir -p /usr/local/goods/bin
cp ../bin/* /usr/local/goods/bin
mkdir -p /usr/local/goods/inc
cp ../inc/* /usr/local/goods/inc
make[1]: 出ます ディレクトリ `/home/yoya/src/java/goods-2.52/src'
そして、実行パスに /usr/local/goods/bin/を含めます。
export GOODS_HOME=/usr/local/goods
export PATH=${PATH}:${GOODS_HOME}/bin
インストールの作業はこれだけです。
それでは、実際に動作するか試してみます。

Linux で GOODS の動作テスト:

readme.htm の 「Application interface to the database -> Running GOODS applications -> Running GOODS examples」 に従って作業をします。
サンプルが沢山付いて来ますので、まとめてコンパイルします。
yoya@awm.jp% cd examples
yoya@awm.jp% make
g++ -fno-exceptions -I../inc -I. -Wall -c -O5 -g -DDEBUG_LEVEL=DEBUG_TRACE \
cnxnPool.cxx
cnxnPool.cxx: In method `nat4 Tree::pickBuggyLeaf()':
cnxnPool.cxx:160: warning: control reaches end of non-void function \
`Tree::pickBuggyLeaf()'
	<略>
g++ -fno-exceptions -I../inc -I. -Wall -c -O5 -g -DDEBUG_LEVEL=DEBUG_TRACE \
testtrans.cxx
g++ -fno-exceptions -g -o testtrans testtrans.o ../lib/libclient.a
以下の実行ファイルが生成されます。
bugdb      guess2     spawn      testdb     testtrans  unidb
cnxnPool   largedb    testblob   testsock   tstbtree
guess      runtests   testclu    testtask   tstrtree
このうちの、guess を試します。 guess はニ択クイズのサンプルです。 覚えさせる動物を決めておいて、その動物の特徴を入力して覚えさせます。
まずは、database server を起動します。
yoya@awm.jp% goodsrv guess
Initial map size of 4096 Kb allows an initial data file of 1048576 Kb, \
which exceeds the maximal limit of 262144 Kb; using 1048576 Kb as the \
maximum instead.
05:42.00 04-JAN-2003: Checkpoint 5 finished
GOODS server started...
server is up...
>
そして、同じ PC 上の別のコンソールから繋ぎます。 まずは人間の特徴を覚えさせます。
yoya@awm.jp% ./guess
Think of an animal.
Ready (y/n) ? y
What is it ?
human
What is difference from other ?
use advanced tools
Think of an animal.
Ready (y/n) ? y
May be, use advanced tools (y/n) ? y
May be, human (y/n) ? y
It was very simple question for me...
Think of an animal.
Ready (y/n) ? n
End of the game
これで、人間が高度な道具を使う事を記憶させました。
再び繋ぎます。すると前の質問はデータベースに保存されていて、 それを元に質問をしてきます。今度は鳥と昆虫を登録します。 どちらも飛ぶという特徴 *1 では区別できませんので、 更に甲殻を持つか持たないかで区別する事にします。
yoya@awm.jp% ./guess
Think of an animal.
Ready (y/n) ? y
May be, use advanced tools (y/n) ? n
What is it ?
bird
What is difference from other ?
fly
Think of an animal.
Ready (y/n) ? y
May be, use advanced tools (y/n) ? n
May be, fly (y/n) ? y
May be, bird (y/n) ? n
What is it ?
insect
What is difference from other ?
crusty
Think of an animal.
Ready (y/n) ? n
End of the game
そして鳥をイメージしてニ択を進めます。
yoya@awm.jp% ./guess
Think of an animal.
Ready (y/n) ? y
May be, use advanced tools (y/n) ? n
May be, fly (y/n) ? y
May be, crusty (y/n) ? n
May be, bird (y/n) ? y
It was very simple question for me...
Think of an animal.
Ready (y/n) ? n
End of the game
辿り着きました。(^-^

NetBSD1.6J に GOODS をインストール:

そもそもの目的は、JXTA search で P2P 環境での実験ですので、 もう一台、peer が欲しいところです。
ちょうど、NetBSD のサーバが動いていますので、 こちらにも GOODS を導入します。 取得して展開するのは、Linux と同じですが、 そのままでは、make が通りません。
エラーを解決する為の修正箇所を以下に列挙します。
エラー その1 (stropts.h)
unisock.cxx:18: stropts.h: No such file or directory
stropts.h は SVRx系のヘッダファイルのようで、 NetBSD には存在しません。(emu の処理系は別です…)
修正箇所 (unixsock.cxx)
#if defined(__FreeBSD__) || defined(__linux__)
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__)
#include <sys/ioctl.h>
#else
#include <stropts.h>
#endif
エラー その2 (get_peer_name())
unisock.cxx: In method `char * unix_socket::get_peer_name()':
unisock.cxx:155: passing `int *' as argument 3 of \
`getpeername(int, sockaddr *,__socklen_t *)' changes signedness
NetBSD の getpeername の第3引数の型である socklen_t は <sys/ansi.h> で unsigned int と定義されているのに、 int のポインタを引数で渡そうとしています。
修正箇所 (unixsock.cxx)
unisock.cxx の 155 行前後と
#if defined(__linux__) || (defined(__FreeBSD__) && __FreeBSD__ > 3)
#if defined(__linux__) || (defined(__FreeBSD__) && __FreeBSD__ > 3) || \
defined(__NetBSD__)
    socklen_t len = sizeof(insock);
#elif defined(_AIX)
    size_t len = sizeof(insock);
#else
 int len = sizeof(insock);
#else
if (getpeername(fd, (struct sockaddr*)&insock, &len) != 0) {
        errcode = errno;
        return NULL;
    }
エラーその3 (wcscoll(...))
g++ -fno-exceptions -I../inc -I. -Wall -c -O5 -g -DDEBUG_LEVEL=DEBUG_TRACE \
class.cxx
In file included from ../inc/class.h:14,
                 from ../inc/goods.h:35,
                 from class.cxx:11:
../inc/wstring.h: In method `int wstring_t::compareTo(const wstring_t &) \
const':
../inc/wstring.h:276: implicit declaration of function `int wcscoll(...)'
NetBSD の <wchar.h> に wcscoll の定義はありません。 FreeBSD に合わせて NO_OS_UNICODE_SUPPORT を on にしてみます。
修正箇所 (inc/wstring.h)
#if defined(__FreeBSD__)
#if defined(__NetBSD__) || defined(__FreeBSD__)
#define NO_OS_UNICODE_SUPPORT 1
#endif
以下は、エラーにはなりませんが、 念のため、FreeBSD 側に処理を合わせるように修正しました。
inc/async.h
#if defined(__FreeBSD__)
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <sys/types.h>
#endif
inc/convert.h
#if defined(__FreeBSD__)
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <sys/param.h>
#define USE_HTON_NTOH
#elif defined(__linux__)
//
// At Linux inline assembly declarations of ntohl, htonl... are available
//
inc/ptask.h
#if defined(__FreeBSD__)
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <sched.h>
#endif
src/ctask.cxx:
#if defined(__osf__) || defined(__FreeBSD__)
#if defined(__osf__) || defined(__FreeBSD__) || defined(__NetBSD__)
#define longjmp(b,s) _longjmp(b,s) // do not restore signal context
#define setjmp(b)  _setjmp(b)
#endif
src/ptask.cxx:
#if !defined(__FreeBSD__)
#if !defined(__FreeBSD__) || defined(__NetBSD__)
    struct sched_param sp;
    sp.sched_priority = PRI_OTHER_MIN +
        (PRI_OTHER_MAX - PRI_OTHER_MIN) * (pri - pri_background)
        / (pri_realtime - pri_background);
    SYSCHECK(pthread_attr_setschedparam(&t->thread_attr, &sp));
#endif
make install は Linux と同じです。
# make install
cd src; make install
mkdir -p /usr/local/goods/lib
cp ../lib/* /usr/local/goods/lib
mkdir -p /usr/local/goods/bin
cp ../bin/* /usr/local/goods/bin
mkdir -p /usr/local/goods/inc
cp ../inc/* /usr/local/goods/inc
examples はそのままコンパイルが通りますし、動作確認も Linux と同様ですので、 ここでは省略します。
*1: 飛ばない虫もいますよね。失敗失敗… (^^;

[awm] IPv6 トンネル

今さらですが、tunnel の手前側の IPv4 アドレスが変わったので、 変更をお願いするメールを書いて送りました。
# 今さらな事を泣きながら片付け中

返事:

30分後には、もう返事が来てました。
ですが… ごめんなさい。時間が なくてすぐ試せません…
以下のサイトを参考にしてセットアップをしようと思います。

[memo] メモ

侍魂フィルター(Samurizer):

元の体裁より、こちらの方が読みやすいかもしれません。
読みやすい気がしているだけかもしれませんが…
はいぱ〜日記システムのテーマで、侍魂テーマって 誰か作りませんか? (^^;;

インターネット20周年 /.j:

糖尿病ソリューション - 健康エコナ:

さらには『健康エコナ』の製造工程で高温にさらすのでしょうか、
悪玉のトランス型不飽和脂肪酸が3.5%もあります
(ヨーロッパでの分析によるもので、メーカー発表ではありません)。
これはバージンオリーブオイルの品質基準の、
たとえばオレイン酸のトランス型(エライジン酸)は0.05%以下に限る
というレベルからすれば、とてもとても満足できるものではありません。
エキストラ・バージン・オリーブオイルにたくさんある抗酸化物質
(ファイトケミカルズ)も含まれておらず、生体膜を安定させるスクワレンもなく、
無味無臭の加工油がなぜ"健康"を名乗り、"特定保健用食品"に選ばれたのか
理解に苦しむところです。
これで筑波大学、鈴木正成教授や香川大学の松尾達博助教授らの実験結果のように
『血中中性脂肪が上昇しにくい』『脂肪がつきにくい』効果が確認できないとすれば、
何をか言わんやです
つい最近、雪印の健康エコナのマーガリンを購入してしましました…

ビバ!カレー 〜 ピリピリ chop:

大晦日に買い溜めを忘れた自分は、正月はレトルト食品と冷凍食品が頼りですし、 体を壊す等して気軽に買い物に出かけられない状況というのもありますので、 この手の(B級,C級グルメ的な)情報も馬鹿には出来ません。

2003年01月03日(金)(自宅)

(自宅)

[Database][Java][research] GOODS DB example - unidb

昨日の続きです。
readme には example のところで、guess の次にunidb の例が示されています。
先の guess の例では生き物という単一クラスのオブジェクト群が 二分木でぶら下がる格好でした。 一方 unidb では、教授 - professor がいて その下に任意の数の生徒 - student がぶら下がるという、任意の数の student が各々、一人の担当教授を持つという、 *1 少しだけ複雑な構造になっています。 それでは、readme の記述に従い動作をさせてみます。
まず、professor の DB を起動します。
yoya@awm.jp% goodsrv unidb 0
Initial map size of 4096 Kb allows an initial data file of 1048576 Kb, which exc
eeds the maximal limit of 262144 Kb; using 1048576 Kb as the maximum instead.
07:37.04 06-JAN-2003: Checkpoint 5 finished
GOODS server started...
server is up...
>
上記のターミナルを termina-1 と呼ぶ事にします。
次に student DB のサーバを起動しますが、 別のターミナルで実行します。これを terminal-2 と呼ぶ事にします。
yoya@awm.jp% goodsrv unidb 1
Initial map size of 4096 Kb allows an initial data file of 1048576 Kb, which exc
eeds the maximal limit of 262144 Kb; using 1048576 Kb as the maximum instead.
07:38.00 06-JAN-2003: Checkpoint 1 finished
GOODS server started...
server is up...
>
この瞬間、terminal-1 に
>07:38.00 06-JAN-2003: Establish connection with server 1: "localhost:6101"
の文字が出力されます。 これで、student DB から professor DB にリンクが張られました。
蛇足ですが、ここの部分 example では
terminal-1> goodsrv unidb 0
terminal-2> goodsrv unidb 1
と書かれていまして、 つい自分は別サーバで分散できるのではと勘違いして、つまずきました…
… <閑話休題> …
ここで更に別のターミナルで unidb を引数無しで実行します。 先に立ち上げた2つのサーバに繋ぐクライアントとなります。 これを、termina-3 と呼ぶ事にします。実行した瞬間に、 terminal-1 と 2 では、
07:46.20 06-JAN-2003: Open session for client 'awm.jp:13933:0x808ae00'
といった文字が出力されます。
尚、引数無しで任意の数のクライアントを起動出来ますが、 とりあえず一つだけ動かします。
# トランザクションとかどうなってるんでしょうね。(^^;
terminal-3 には以下のテキストが表示されているはずです。
yoya@awm.jp% unidb

University database
Total 0 student, 0 professors
Menu:
        a) Add new student
        b) Add new professor
        c) Print information about student
        d) Print information about professor
        e) Print list of all students
        f) Print list of all professors
        g) Remove student
        i) Remove professor
        j) Transfer student
        k) Print advisor of student
        l) Print students of professor
        q) Quit
>>
まずは、生徒を追加してみます。
>> a        ※ Add new student
New student name: yoya
Advisor name: D
Diplom work: social
No such professor: D
<<< Press ENTER to  continue >>>
やはり、 存在しない教授を選んではいけないようです。
今度はきちんと 教授を登録する事にします。
>> b        ※ Add new professor
New professor name: D
Department: social
<<< Press ENTER to  continue >>>

>> b
New professor name: K
Department: engineer
<<< Press ENTER to  continue >>>

>> f        ※ Print list of all professors
Pr. D, number of students 0
Pr. K, number of students 0
<<< Press ENTER to  continue >>>
次に 生徒を登録します。
>> a
New student name: yoya
Advisor name: D
Diplom work: engineer
<<< Press ENTER to  continue >>>

>> e        ※ Print list of all students
yoya: engineer
<<< Press ENTER to  continue >>>

>> k        ※ Print advisor of student
Student name: yoya
Pr. D
Department: social
Number of students: 1
<<< Press ENTER to  continue >>>

>> l        ※ Print students of professor
Advisor name: D
yoya: engineer
<<< Press ENTER to  continue >>>
ついでに教授を変更をしてみます。
>> j        ※ Transfer student
Student name to transfer: yoya
New advisor name: K
<<< Press ENTER to  continue >>>

>> k        ※ Print advisor of student
Student name: yoya
Pr. K
Department: engineer
Number of students: 1
<<< Press ENTER to  continue >>>
以上、unidb の簡単な動作確認でした。
*1: ソースを確認したところ、professor から student を指し示してはいなくて、 student が professor へのリンクを(一方行的に)持っています。

[JXTA][Java][research] JXTA search

jxta search は peer で動くデータベースとして、 GOODS を利用していると jxtasearch の README に記されていましたので、 先日2台の PC にインストールしました。その続きの作業ですが…
先に言い訳をしますと、これは 失敗談です。 じきに解決したいので、とりあえずの作業メモとして記録します。

jxtasearch パッケージ:

jxtasearch は以下の4つのパッケージで構成されています。
  • jxtasearch core (code)
  • websearch (web ui)
  • jxtasearcg-shell (command ui)
  • stockprovider-0.94-bin.tar.gz (providor example)
尚、jxtasearch 自体が JXTA パッケージに統合されています。
jxtasearch 単体のみを search.jxta.org から取得できますが、 バージョンによる不整合の問題もありますので、 JXTA に付属している jxtasearch を利用するのが楽だと思います。
# 成功していないので断言は出来ませんが。(^^;

jxtasearch package と documents:

まず、jxta daily build の all.zip から jxtasearch.zip を取り出して、 その、jxtasearch.zip を伸長します。
yoya@awm.jp% unzip all.zip # ← jxta の daily buld
	  <略>
yoya@awm.jp% unzip jxtasearch.zip
	  <略>
yoya@awm.jp% cd search
yoya@awm.jp% ls
jxtasearch-59e-bin/        log/                    websearch-59e-bin/
jxtasearch-shell-59e-bin/  stockprovider-59e-bin/
api documents は
yoya@awm% unzip all_doc.zip
yoya@awm% unzip jxtasearch_doc.zip
	  <略>
yoya@awm.jp% cd search
yoya@awm.jp% ls
examples/                  log/                    websearch/
jxtasearch/                shell/                  websearch-59e-bin/
jxtasearch-59e-bin/        stockprovider-59e-bin/
jxtasearch-shell-59e-bin/  util/
これで一通りのファイルを取得できました。
ドキュメントによりますと、war ファイルを $TOMCAT/webapps に入れて lib を $TOMCAT の lib とありますので、恐らく $TOMCAT/common/lib に入れる と思い、実際に作業をしてみました。
yoya@awm.jp$ cd websearch-59e-bin
yoya@awm.jp$ ls war/
webprovider.war  websearch.war
yoya@awm.jp$ cp war/* $TOMCAT_HOME/webapps/
yoya@awm.jp$ ls lib/
goodsjpi.jar  goodslib.jar  jxta.jar  jxtastarter.jar  xerces.jar
yoya@awm.jp$ cp lib/* $TOMCAT_HOME/common/lib/
yoya@awm.jp$ jxta.jar  jxtastarter.jar  xerces.jar
yoya@awm.jp$ shutdown.sh  ; startup.sh
Using CATALINA_BASE:   /usr/local/java/jakarta/tomcat-4
Using CATALINA_HOME:   /usr/local/java/jakarta/tomcat-4
Using CATALINA_TMPDIR: /usr/local/java/jakarta/tomcat-4/temp
Using JAVA_HOME:       /usr/java/j2sdk1.4.1_01
Using CATALINA_BASE:   /usr/local/java/jakarta/tomcat-4
Using CATALINA_HOME:   /usr/local/java/jakarta/tomcat-4
Using CATALINA_TMPDIR: /usr/local/java/jakarta/tomcat-4/temp
Using JAVA_HOME:       /usr/java/j2sdk1.4.1_01
war をコピーしていますので、とりあえず画面は表示されます。
これで動くのではと期待したのですが、 サーチを実行すると、
HTTP Status 500 -

type Exception report

message 

description The server encountered an internal error () that\
 prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Unable to find goods cfg file.
	at net.jxta.search.websearch.PreferencesService.\
getPreferencesService(PreferencesService.java:125)
	at net.jxta.search.websearch.OpensearchServlet.\
init(OpensearchServlet.java:136)
	at javax.servlet.GenericServlet.\
init(GenericServlet.java:256)
	at org.apache.catalina.core.StandardWrapper.\
loadServlet(StandardWrapper.java:924)
動きませんでした。(ρ_;
また、プロバイダの方も。
Create a new account でユーザ登録をしようとすると、 タイムアウトになります。

少しだけ調査:

 URL res = c.getResource ("gonesilent.cfg");

if (res != null && res.getProtocol ().equals ("file")) {
	String cfgfile = res.getFile ();
	 preferences = new PreferencesService (cfgfile);
} else {
	throw new ServletException ("Unable to find goods cfg file.");
}
ここで、失敗していまして、 gonesilent.cfg をリソースで指定しないといけないようなのですが、 なにしろ、ドキュメントが見付からなくて…
と思いつつ、jxtasearch-0.92-src の README.txt を見直すと、
 - All the sources from the subprojects will be built.
 - The resulting .war files will be deploying to your servlet container's
webapps directory
 - Dependent libraries (such as xerces.jar) will be deployed to your
servlet container's lib directory.
 - A default JXTA configuration will be deployed to your servlet container's
working directory.
 - The GOODS database configuration (goodsrv.cfg) is copied to your
goods_db_home directory.
あ…
yoya@awm.jp% cd /usr/local/goods/
yoya@awm.jp% ls
bin/  inc/  lib/
これかもしれません…
今日は時間が無いので、また明日に作業をします…

[memo] メモ

「削除」「フォーマット」では消えないデータを消す方法:

(1)"00"、もしくは"FF"をHDDの全領域に上書きする。 
(2)指定したデータ(512バイト分)をHDDの全領域に上書きする。 
(3)ランダムなデータ1→ランダムなデータ2→"00"の順に、HDD全領域に3回上書きする。
(4)"00"→"FF"→"00"→"FF"の順に、HDD全領域に4回上書きする。 
(5)"00"→"FF"→"指定データ(512バイト)の順に、HDD全領域に3回上書きする。 
(6)"00"→"FF"→"00"→"FF"→"00"→"FF"→指定データ(512バイト)の順に、HDD全領域に7回上書きする。 

(3)、(4)はアメリカ国家安全保障局、(5)は米国国防総省、(6)はNATOの規格だ。
こう書いてしまうとものものしいが、
国家機密レベルでデータ消去が保証されていると思えば、心強い。

自分の死を友人にメールで通知してくれるサービス「Messages from the Grave」:

円周率3騒動:

いまだに、マスコミが流したデマが一般に流布されているようですので、 再チェックです。
むしろ、マスコミは文部省に問い質して、 その正確な意図を報道するべきだったと思います。

IBM がラショナル買収、IBM ソフトウェアブランドの仲間入り:

先月の話ですが、いまごろ気付きました。f(^^;

[bookmark] ぶっくま〜く

がしそふと製品フリーダウンロード:

ここの SCC 風音源 MIDI プレイヤーで、グラディウスの曲を聞くと、 なぜか涙が出てきます。 昔を懐かしむのは歳をとった証拠なのでしょうけど。
同じページで紹介されている Beep 音で音楽を鳴らすツールですけど…
たしか、AT 互換機(具体的には PIIXx 系)で beep 音の制御をするレジスタは、 NMI (Non Maskable Interrupt) *1 関連のレジスタとぶつかっていて、 ビットで区別しなければいけなかったような記憶があるせいか、 おそるおそる鳴らしてます。
# 等といいつつ、鳴らしているのはドラクエ3の戦闘シーンの BGM だったりしますが… 杞憂だと分かっているのですが、その辺を触った人間としては… (弱…
NMI でトリッキーな事してる某システムで、 ビット書き換えのルーチンを保護しないで Beep 音で音楽鳴らすの 勝手にいれこんで、試験中に音が鳴りっ放しに鳴っちゃったの秘密です。
# むしろ、それで済んで運が良かったと思いますが… いえ、すみません。ほんっと〜に反省してます。(ρ_;

*1: 割り込みが上がるのを抑止できない、システム的にクリティカルな割り込みの事。
ディスクやネットワーク等のハードウェア割り込みのような、 場合によって有効/無効を切替えられる割り込みと区別する言い方。


2003年01月04日(土)(自宅)

(自宅)

腰痛回復気味

ようやくお風呂に入っても腰が痛まなくなりました。 ギリギリ会社への復帰が間に合うかもしれません。 いまだ座り続ける事は出来ませんが…

三日坊主

早速、一日一技術ネタ挫折してます…
JXTA search が動かす為に、あがいています。

2003年01月05日(日)(自宅)

(自宅)

仕事以外は一旦捨て

IRC で仕事上関係のないチャンネルから抜けました。
ここのところ忙しくて、ROM の状態になっていたからです。
たまに、名差しで呼ばれて受け答えをすると、相手によっては 有意義な情報交換が出来たと思う事もあれば、 相手によっては時間を無駄にしたという気持ちと、 そんな事してる暇ないのにという罪悪感でさいなまれる事も多々あります。 かといって、名差しで呼ばれて無視できる程、割り切れる人間ではありません。
そのような理由で、仕事が落ち付くまでという 期限 (期限という言葉は間違いですので修正)条件付きで、 IRC から離れる事にしました。 もう遅いという話もありますし、 永遠に戻さない可能性もありますが、体を壊してしまって、 満足に働けない非常事態という事もありますし、 人間らしい生活を取り戻すまでは、仕事に集中しようと思います。

[JXTA][Java][research] JXTA search - 続き

とりあえず、概要をお勉強してます。

jxtasearch の仕組み:

よくある分散サーチ同様、抽象ネットワーク上で共有するメタデータを用いて、 要求された情報の探すのが基本のようですが、 QRP (Query Routing Protocol) という問い合わせ用のプロトコルを用意する事で、 情報提供者側として、単純に生の HTML や XML を検索エンジンに取得させるだけでなく、情報の属性のようなものをメタデータとして渡す事も出来るようです。
今時、Web ページを作成する人は、 のように検索エンジンの性質に合わせて、 提供者側がサーチしやすく工夫をする人もいると思います。
JXTA Search ではプロトコルレベルで情報検索者と提供者のやり取りをサポートし、 かつ、問い合わせを情報提供者まで運ぶ際の経路まで最適化する事のできる メタデータを Search ハブ間で共有する仮想的なネットワークを構築し、 どのような情報を持つプロバイダを扱いたいかといった特徴を付ける事で、 効率的なルーティングを実現しています。
分散環境を構築するには、まずハブを常時動く状態にして、 プロバイダを、そのハブに登録していくという手順になります。
そして、ハブ同士で連結しあい、プロバイダが登録してくると、 他に継っているハブにもプロバイダの登録情報を送ります。
QRP (Query Routing Protocol) の説明を読むと、 JXTA Search ネットワークの participants として、
  • 問い合わせに応じるプロバイダ
  • 情報を問い合わせるコンシューマ。ユーザから見れば検索窓口にあたる。
  • それらの要求やメタデータを繋ぐハブ。
の3者が並んでいますが、
JXTA Search ネットワークアーキテクチャの構成要素としては、
  • コンテンツを保持するレジストラ
  • 問い合わせに応じるプロバイダ
  • 情報を問い合わせるコンシューマ。ユーザから見れば検索窓口にあたる。
  • それらの要求やメタデータを繋ぐハブ。
の4者が存在します。なぜか一つ増えている所がよく分かっていません。(^^
レジストラが、ネットワークアーキテクチャの構成要素ではあっても、 JXTA Search ネットワークの participants ではないというのですが、 自分が理解できないのは、participants のニュアンスを分かってないからでしょうか。

と、ここまで読み進んでいたら、 日本語訳を見付けました。(ρ_; # 見付けるの遅い… google でトップ に来る文書なのですね…
このままでは中途半端にも程がありますので、調査を続行するつもりです。
とにかく、 QRP (Query Routing Protocol) の仕様書が欲しいです…← と書いてたら、http://search.jxta.org/protocol.html に発見しました…

引用元不明 (x_x:

コンテンツ・プロバイダーがわれわれの用語で“アダプタ”と呼ばれるものを開発し、
 JXTA Searchで検索できるようにするという課題が残っています。
 JXTA Searchは、従来の検索機能を逆転させたようなものです。
これまでの検索エンジンは、インターネット上を探し回って、
すべての情報のインデックスを作成します。
JXTA Searchでは、クエリと検索を行なうメタデータを提供し、
検索サイトでヒットするものがあれば、より正確な応答を求めるようになっています。

JXTA.orgとP2Pの将来像:

ついでに…

毒入スープ♪

近くのスーパーで素敵な感じの曲がかかっていたので、 聞こえて来たキーワードで検索してみました、 平松愛理さんの「部屋とワイシャツと私」ですか。
あなた浮気したら、うちでの食事に気をつけて
私は知恵をしぼって、毒入りスープで一緒に逝こう
ビビっと来ました。:)
正確には学生の頃に、とある先輩の車に乗ったときに BGM でかかっていて、 それ以来探しても見付からなかった曲なんで…
ただ問題は、amazon で検索しますと、 平松愛理さんの出してる CD で「部屋とワイシャツと私」が 入っているのが沢山あって、どれを買うのが良いのかで悩みます…

2003年01月06日(月)(自宅)

(自宅)

水道

今日トイレの上水から茶色い水が出てきました。
おそらく赤錆だと思われますが、我が家は家の構造上 水道工事が出来なくなっているようで…
水道管が家の真中の真下を通っていて、かつ、 赤錆の原因がどこかを特定する機械があっても、 それも同じく家の真中の真下に埋まっているせいで、 家の基礎のところを壊さないといじれないそうで、 実質、家の建て直しになるとか…
つーか、家建てた奴出てこーいっっ# 古い家なので、建てた人はとっくに亡くなってると思うけど…

久々の出社

やはりまだ通勤自体が一苦労です。
電車の揺れがこれ程までに腰に負担をかけるものだとは思いませんでした。(ρ_;

[research] Referer 隠し - ime.nu , nun.nu

過去の話:

当日記は以前、ime.nu や nun.nu 経由でのアクセスが 急に増加した事がありました。
これらは、某掲示板で利用されているホストで、
http://ime.nu/diary.awm.jp/~yoya/
http://nun.nu/?http://diary.awm.jp/~yoya/
のようにアクセスする *1
http://diary.awm.jp/~yoya/
へのリンクを含むページが自動生成され、ime.nu では、 JavaScript が on になっていれば、自動で、該当のページに飛ばされます。
そうすると、 diary.awm.jpのサーバに残る Referer ログが ime.nu や nun.nu になる為、 本当のリンク元が隠蔽されます。そういう仕組みです。
当方としては気持ちが悪いので、即座に .htaccess の設定で nun.nu 経由や ime.nu 経由を拒否しています。
SetEnvIf REFERER "http://nun.nu" NUN
SetEnvIf REFERER "http://ime.nu" IME
Deny from env=NUN
Deny from env=IME

そして、自分は拒否しておきながらも、 逆に自分が日記でどこかにリンクを張る時に、 自分の日記を辿られたくない相手がいる事もありますので、 同様の仕掛けを作ってみました。
# 自分勝手ですね…

location ヘッダ:

まずは失敗談です。
当初、location ヘッダで飛ばす事を考えました。
以下は、location.cgi の中身です
#! /usr/bin/perl

print 'location: ' . $ENV{'QUERY_STRING'} . "\r\n";
print "Content-type: text/html\r\n\r\n";

この CGI を設置する事で確かに location.cgi 経由でリンク先に飛びます。 試しに、location.html で、
<a href="http://<略>/location.cgi?http://www.awm.jp/~yoya/">
    http://<略>/location.cgi?http://www.awm.jp/~yoya/ </a>
このようにリンクを張り実際に WinXP + IE6 でブラウズしてみました。 apache のログを確認しますと…
<IP> - - [<time>] "GET /~yoya/ HTTP/1.1" 200 1544 \
"http://<略>/location.html" \
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)"
リンク元を隠せていません。f(^^;
HTTP の location ヘッダを用いて転送しても、 (少なくとも WinXP pro + IE6 では) リンク元を隠す事は出来ないようです。
# もしかして、location で飛ばす場合、3xx の http レスポンスを受けるのが関係するのでしょうか?

ime.nu の仕組み:

ime.nu は http://www.2ch.net/ で利用されているホストです。
ある日、突然、ime.nu の Referer を持つアクセスが増大した場合は、 2ch に張られている可能性があります。
# nun.nu 自体は 2ch 以外からでも利用できますので、別の場所から リンクされている可能性もありますが…
ime.nu は CGI の内部のスクリプトで処理をしているようですので、 詳細は伺えませんが、基本的には ? の後ろの文字列を見て、
<html><head><title>jump</title></head>
<b>
<a href=飛び先の URL>
<飛び先の URL>
</a></b>
<br>別のサイトにジャンプしようとしています。宜しければ上記のリンクをクリックしてください<br>
<br><br>
<hr>
<ここから広告>
というページを生成する機能を持ちます。
ただ、これでは、ユーザがワンクリックする手間を強要されます。
一方、nun.nu は JavaScript を使い、 自動でページを飛ばす事をしています。

nun.nu の仕組み:

nun.nu は http://thebbs.jp/で利用されているホストです。
JavaScript で幾つかの処理をしていますが、 基本の処理だけ取り出してみます。
<script>
ur=location.search+location.hash;
URL=ur.substring(1,ur.length);
document.write('<u>ページを開いています・・・</u>');
location.href=URL;
</script>
このスクリプトを location-href.html のようなファイルで保存して、 http で閲覧できる所に設置し、
http://<略>/location-href.html?http://www.awm.jp/~yoya/
でアクセスすると、
にアクセスできます。
ページ転送は以上の仕組みですが、 いくつか仕掛けが入っています。
if(top.document.referrer.search(/ax/i)==-1){
	nonax=1;
これは、ax が何か分かりませんので、 情報を入手し次第、考える事にします。m(__)m
okck=NGcheck(ur);
if (okck) {
	<ページ転送処理>
} else {
	document.bgColor='black';
	document.fgColor='white';
	document.write('<br>ブラックリストURLです。');
	<略>
}
function NGcheck(URL){
	blacks=new Array(<悪名高いサイトのリスト>);
	var i;
	if(URL=='')return 0;
	if(nonax && URL.search(/theb/i)>-1){return(1);}
	for(i=0;i<blacks.length;i++){
		if(URL.indexOf(blacks[i])!=-1){
			return(0);
		}
	}
	return(1);
}
評判の悪いサイトへのリンクには注意を促す仕掛けです。
if(URL.search(/http(s)?:\/\//)!=0)URL='http://'+URL;
これってもしや、https でリンクしようとしても http に… 何の為なのかは分かりません。
# 単に (s) にマッチした文字列を拾うのが面倒なだけかもしれませんけど。

META equiv の方法:

#------------------
#  ジャンプ用CGI
#------------------
# 正規の参照元 ( 掲示板のアドレス )
$ref_right   = 'http://xxx.xxx.jp/cgi-bin/bbs.cgi';

$referer = $ENV{'HTTP_REFERER'}; $query = $ENV{'QUERY_STRING'};

if (($referer =~ /$ref_right/i) && ($query =~ /http:\/\//i)) {
        print "Content-type: text/html\n\n";
        print "<HTML><HEAD><TITLE>Hyper Link</TITLE>\n";
        print "<META HTTP-EQUIV=\"refresh\" CONTENT=\"1\;url=$query\">\n";
        print "</HEAD><BODY></BODY></HTML>\n";
}
else {
        print "Location: $referer\n\n";
}
exit;
リンク元が自分のサイトでない場合は、Location でリンク元のページに押し戻す仕掛けです。
Referer を偽装するブラウザは面倒を見なくて良いと思いますが、 あえて、ポリシーがあって Referer を出さないブラウザや、 RFC2616 辺りに啓蒙されたプロキシ等が、ヘッダを削る可能性もありそうですので、 万能な方法では無いと思います。
# Referer を信用する時点で out だとすれば、これでベストなのかもしれませんが…
実は、
        print "Location: $query\n\n";
等として、自分の定義したホスト名以外で使う場合は、 そのまま流す事で、知らないホストでアクセスした場合は、 リンク元をばらすぞという脅しをかける事も考えましたが、
こうしますと、自分が定義したホスト名以外で利用すると、 晒す事が出来ますが、IP アドレスや別ホスト名(CNAME 等)で アクセスされた場合にリンク元が伝わってしまいますので、 もっと駄目です。自爆しています。

基本的には先のスクリプトの手法を用いて、更に、 Referer が空の時はガードせずに転送して差し上げる位の サービスをするのが良いかもしれません。

そもそも根本的な問題が…:

を読みますと、JavaScript を利用して真の Referer *2 を取得する事が出来そうという事ですので、 JavaScript が on になっている時は弾くという意味合いで、
Referer が自分の定義したサイト or 空の時に no script で meta equiv
のようにして、あえて飛ばさない方が安全かもしれませんが、 ここまですると、おそらく使い物にならないのでしょうね。
自分は、故意に危なさそうなサイトを閲覧する時しか、 JavaScript を off にしませんし…
そもそも、google で検索される可能性もありますし、 リンク洩れは決定的な解決法の無い問題なのかもしれません。
そういう訳で、世の中が don 様に追い付くまでの間は、 JavaScript で Referer 元を辿ろうというハカーさん達には 全面降伏する形であきらめようと思います。:)

*1: ime は ime の使用を許可された掲示板以外で利用しようとすると、 拒否される仕組みがあるようです。nun.nu はそれがありません。 もっとも、自分の日記ではどちらの Referer が付いていても拒否していますが…
*2: 真の Referer 等と曖昧な言葉を使っている内は、 永遠に、この御方の足元にも及ばないでしょう…

アーロンチェア

腰が悪いのは一生治らないそうですので、 金に糸目を付けずに、良い椅子を購入する事にしました。
アーロンチェア
http://ueyabu.gr.jp/aeronchair/aeronchair1.htm
コクヨのオフィスチェア
http://ueyabu.gr.jp/agata/1.htm
コクヨのイスがデザイン的に好きです。

私信

いえ、日記で情報交換も出来ますので、問題はないかと。 ただ、inn は動いて嬉しいのか微妙なところですので、 優先度は低くしてます。m(__)m
あ。アカウントを差し上げますので、 某サーバ上に環境構築するのは止めませんよ。:)
ディスクの増設位はやらせて頂きます。

[memo] メモ

佐川急便の登記簿を偽造 京都府議「全役員を解任」:

こんな事がありうるのですね…
テレビのニュース番組では自民党府議として紹介していましたが、 上記のサイトに書かれていないのは大人の事情でしょうか…

[keyword] 検索ワード

Perl 子プロセス ゾンビ:

学生の頃、人にゾンビと wait の関係を説明するのに作った サンプルプログラムがありますので、後で載せてみます。

ゾンビプロセス 詳細:

今後の課題にします…

2003年01月07日(火)(自宅)

(自宅)

物品購入

KATZDEN・カツデン速暖ハロゲンヒーターSun Rise HH-A01:

腰を温めれば何とかデスクトップで作業できるのではないかと考え、 思い切って購入。
うつ伏せでノート PC を使うと、頭を上げれば腰に悪いし、 そうしないとタイプミスばかりでストレス溜るしで、 なんとかして座って作業をしたいという事です。

ダブルパッド:

マウスパッド:

[JXTA][Java][research] JXTA search 続き

QRP (query routing protocol) は、 JXTA search の protocol 仕様書に書かれているようですので、 excite の訳を(自分にとって)読みやすく書き換えて、お茶を濁します。(x_x

[JXTA][Java][research] JXTA Search Protocol 和訳に挑戦

1. イントロダクション- 導入部:

JXTA Search は Query Routing Protorol(QRP) を定義します。
このプロトコル仕様は、 JXTA Search によってサポートされる必要のある QRP のメッセージタイプ、メッセージフォーマット、 メッセージルーティングルールを完全に規定します。
加えて、この仕様は JXTA と HTTP のトランスポート binding(結合) を定義します。
最後に、queryspace(問い合わせ空間)仕様の必要条件を定義し、 総括的な queryspace を定義します。

2. メッセージ仕様:

全ての JXTA Search ノードは、 以下の XML ベースのメッセージタイプをサポートします。
  1. Query Request (<request>): 問い合わせを含むメッセージ
  2. Query Response (<responses>) : 問い合わせへの返答を含むメッセージ
  3. Registration (<register>): 登録情報を含むメッセージ
これら 3つのメッセージ・タイプのメッセージ・フォーマットは トランスポートから独立したやり方で規定されます。
JXTA と HTTP のトランスポートに絡めた仕様は、 このドキュメントの後の方で取り上げます。

[bookmark] ぶっくま〜く

Tiny Vector Matrix library using Expression Templates:

Lesser GPL で配布されている、 テンプレートを使った Vector や Matrix のライブラリだそうです。
自分で車輪の再発明をするより、こういう沢山の人が使っていそうな ライブラリを利用した方がいいですね。
使用方法は、 ここ に説明があります。
using namespace tvmet;

Vector<std::complex<double>,3> v1, v2;
Matrix<std::complex<double>,3,3> m1;
v1 = 1,2,3;
m1 = 1,4,7,
     2,5,8,
     3,6,9;
v2 = m1 * v1;

[keyword] 検索キーワード

sigchld ゾンビ linux:

輻輳 tcp Linux2.4:

結婚年齢適齢期チェック

こさな様のところで紹介されていましたので、実施してみました。
無名さんの結婚適齢期は・・・24歳です
あと僅か4年後ですね。 
う〜ん。20代前半で結婚しろという事ですか。 難しい要求ですね。

2003年01月08日(水)(自宅)

(自宅)

会社復帰

労働基準法で8割は出勤の義務があり、 それを切るとペナルティーがあります。
2ヶ月近く休んでいますので、ギリギリ足が出るところで、 危ないところでした。

針のむしろ

何も言い訳はありません。

[JXTA][Java][research] JXTA Search Protocol 和訳に挑戦 (続き)

2.1. Query Request - 問い合わせ要求:

XML の例題
<request xmlns="http://search.jxta.org"
         query-space=[(required)unique URL id for query space]
         query-uuid=[globally unique id of this query]
         query-lifetime=[number of miliseconds this query is valid]
         max-fanout=[maximum number of providers to forward the query to]
         max-hits-per-provider=[return only n results from each provider]
         flush-after-providers=[flush the output stream to the client after receiving responses from n providers]
          flush-after-ms=[flush the output stream to the client after this time]'>
   [arbitrary valid XML]
</request>
<request> 要素の値はいまの所、完全に任意な XML です。 query(問い合わせ)
query は問い合わせを受けた queryspace によって意味付けされます。 それについては後に議論されるでしょう。
実例
これは、http://search.jxta.org/text queryspace の簡単な実例です。
<?xml version="1.0">
<request xmlns="http://search.jxta.org"
         query-space="http://search.jxta.org/text"
         query-uuid="1C8DAC3036A811D584AEC2C3B11E5B9A"
         query-lifetime='30000' max-fanout='214783647'
         max-hits-per-provider='5'
         flush-after-providers='3'
         flush-after-ms='2000'
>
  <query> 
    <text>foo bar</text>
  </query>
</request>
これは、http://bigcameraseller.com/cameraschema queryspace に問い合わせる、 より複雑な実例です:
<?xml version='1.0'?>
<request xmlns="http://search.jxta.org"
         xmlns:cam="http://bigcameraseller.com/cameraschema"
         query-space="http://bigcameraseller.com/cameraschema"
         query-uuid="1C8DAC3036A811D584AEC2C3B11E5B9A"
query-lifetime="10"> # (yoya:注) おそらく > は typo だと思います
         query-lifetime="10"
         flush-after="5"
         max-hits-per-provider="2"
>
<query>
   <and>
      <cam:model>canon G1</cam:model>
      <and>
        <cam:maxprice>$900</cam:maxprice>
        <cam:shipping>overnight</cam:shipping>
      </and>
    </and>
  </query>
</request>

ディスクフォーマット

yoya@alt# disklabel /dev/sd1a
 113073824, 113404512, 113735200, 114065888, 114396576, 114727264,
 115057952, 115388640, 115719328, 116050016, 116379680, 116710368,
 117041056,
wtfs: write error for sector 16: Read-only file system

[bookmark] ぶっくま〜く

LimeWire:

Gnutella の Query プロトコルを調べていたところ、 偶然、検索にひっかかったページです。

[memo] メモ

e-Day:JavaOne流行語大賞は「Webサービス」か「Jxta」か……:

古い記事ですが。
Jxta では,デバイスは自分のCPUやメモリ,ディスプレイなどに関することを XML で
記述し,ソフトウェアは動作に必要な要件をやはりXMLで記述しておくことで,
「PDA → PC → インテリジェントFAX」といった一連の処理のパイプをつくりあげて
くれる。
PDAは,PCにWebの検索を依頼し,その結果を基にインテリジェントFAXが分類や集計を
行ってレポートまで作成してくれるという具合だ。
今の今まで気付きませんでした… かなりショックです。

[keyword] 検索ワード

ピリピリchop:

"fulfilling this request.":

ソケット 開けない TCP:

ネットワーク ”connect関数” ”間隔”:

C++ 関数 WAIT pl:

StandardWrapper loadServlet エラー:


2003年01月09日(木)(自宅) BGM:般若心経 観音経

(自宅) BGM:般若心経 観音経

風邪 & 腰痛

昨晩から背中が重たい感覚があり、お風呂に入ってもまるで体が暖まる感じが しませんでしたので、風邪ではないかと思っていたのですが、 今朝になって風邪だと確信しました。
朝起きた時、体の節々が痛みます。痛むというより体がバラバラになりそうな程の 痛みです。セキをする度に、激しい頭痛に襲われます。
昨晩、早く寝た為に、今朝は 7時前に目が覚めていたのですが、 病院のリハビリをさぼり、11時過ぎまでふとんで暖まって、 ギリギリになって出社しました。
リハビリをしていないのと、風邪のせいで()全身に力が入らず、 その結果、腰に激痛が走ります。
そもそも病院に行かなかったのが判断ミスで、 よく考えると、午前中に病院にいって風邪薬を貰って来て、 ついでにリハビリもしておけば…
後悔先にたたず

FreeBSD nobody ntop

しばらく触っていない FreeBSD マシンにログインしてみると、 妙に重く感じましたので、プロセスを確認したところ、
  PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
67658 yoya      29   0  1904K   920K RUN      0:01  5.47%  1.81% top
  191 nobody   -22   0   113M 37180K swread 977:26  0.15%  0.15% ntop
いつのまにか nobody で ntop が走行していました。 suid bit は立っていないので、nobody で何をしようとしていたのか謎です。

[JXTA][Java][research] JXTA Search Protocol 和訳に挑戦

2.2. Query Response - 問い合わせ応答:

<responses query-uuid=[uuid]>
  (<response>
   <data>
	<response-format>
	</response-format>
  </data>
  </response>)*
</responses>

JXTA Search は http://search.jxta.org/text の queryspace で クエリを送信し、応答結果を http://search.jxta.org/webui のフォーマットで表示を行う Web フロントエンドを提供します。
<responses query-uuid=1e4b56738920dmke0>
  <response>
    <data>
     <provider>
            <name></name>
	    <link></link>
            <description></description>
            <image>
                  <url></url>
              <width></width>
              <height></height>
            </image>
      </provider>
      <response-format>
       http://search.jxta.org/webui
      </response-format>
      <hit>
         <detail> </detail>
         <link> </link>
         <title> </title>
         <image>
          <url> </url>
          <width> </width>
          <height> </height>
         </image>
      </hit>
      <hit>
         <detail> </detail>
         <link> </link>
         <title> </title>
      </hit>
    </data>
  </response>
</responses>
注意書き クエリレスポンスの uuid 属性は、対応するリクエストの uuid と一致する事が要求されます。

[bookmark] ぶっくま〜く

BIND で Dynamic DNS 環境構築:

サーバで、
one "1.168.192.in-addr.arpa" {
	type master;
	file "named.rev";
	allow-update {
		192.168.1.0/24;
	};
}; 
のように、書き換えを許すクライアントの IP を設定しておくと、 クライアント側で
$ nsupdate
> update add moon.atmarkit.co.jp. 1200 in a 192.168.1.20
>
$
のように書き換えのコマンドを実行する事で、 DNS の設定が出来るようです。

Perl モジュールのドキュメントの日本語訳:

perldoc.jp:

cpan.jp:

[memo] メモ

迷惑メール業者に措置命令 法施行後初の行政処分:

今後、措置命令にも従わない場合は、
50万円以下の罰金が科される可能性もある
とありますが、経済損失は 50万どころでは無いと思いますので、 懲罰的な金額を期待したいところです。
本当に腹が立ってます…

時間当たり賃金の減少:

[keyword] キーワード

IXMLParser:

FreeBSD 監視カメラ:

sched_priority:


2003年01月10日(金)(自宅) 体重:56Kg

(自宅) 体重:56Kg

風邪

腹痛がひどくなりました。
胃に爆弾を抱えている自分としては、 ロシアンルーレットをまわしている気分ですが、 これ以上後が無いって程に仕事が遅れている以上、休む訳にはいかず…

仕事後:

そして後悔…
ルーレットが当たったかもしれません… 猫背の姿勢をとらないと歩けない程、胃が痛みます。

帰宅:

薄味の大根の煮つけをよく噛みながら食べると、 胃の痛みが少し緩和されました。
これで体を伸ばせるので、ベッドで就寝出来ます。

監視カメラ : perl in malloc warning

以前作成した監視カメラの映像を記録するシステムですが、 クライアントアプリが 2,3日で停止してしまいます。
ログを見ると、
perl in malloc(): warning: recursive call.
Out of memory!
perl in free(): warning: recursive call.
perl in free(): warning: recursive call.
perl in free(): warning: recursive call.
     <略>
perl in malloc(): warning: recursive call.
Out of memory!
このような warning が出力されていました。
可能性として、MAIN ルーチン *1 の while loop の中で my を使っているのが問題とも考えられますので、 とりあえず、MAIN ルーチンの while loop 中の my を外に追い出しました。 SUB ルーチンは return の時によきに計らってくれる事を期待してみて、 長時間動かして様子を見る事にします。
自分は my を 変数 scope と malloc の両方の意味で使って来ました。 my で指定した変数の差すオブジェクトは、 alias を作成しておけばブロックを抜けても、生き残るからです。
ここで、ガーベージコレクタが良い働きをしてくれれば、 C 言語の auto 変数のような使いかたも出来ると思っていたのですが、 駄目なのかもしれません。

変更イメージ:

変更前
for(〜) {
	my $i,$j,...
	<処理>
}
変更後
my $i,$j,...
for(〜) {
	<処理>
}

*1: どこかのサブルーチン(関数)の中でなく、スクリプトの起動された 開始位置と同じ領域という意味での MAIN
うまく説明できない… (ρ_;

[JXTA][Java][research] JXTA Search Protocol 和訳に挑戦

2.3. Registration - 登録:

Registrations は XML ドキュメントで、プロバイダが公開したい情報についての メタデータを含みます。そのスキーマは以下のとおりです:
<register xmlns="http://search.jxta.org"
          name=[name]
          uri=[base endpoint for provider]
          description=[description]>

   <query-server> query-server-uri </query-server>
  (<query-space uri=[uri]>
    (<predicate> 
      [arbitrary XML]
    </predicate>)*
  </query-space>)*
</register>
<category> 要素が <predicate> 要素の中にで含まれている場合は常に、 カテゴリー・タグの値に対応するキーワード、 <category> 要素にテキスト置換します。
よくある Registrations は、<predicate> の内部に 1つ以上の <response-schema> 要素を含むでしょう。 それは与えられた predicate をサポートする privider の response 形式を指定します。 例えば、ここに、含まれた <response-schema> 要素を備えた上記の例があります:
<register xmlns="http://search.jxta.org"
          name=[name]
          uri=[base endpoint for provider]
          description=[description]>
 <query-server> query-server-uri </query-server>
 <query-space uri=[uri]>
    <predicate>
      <and>
        <or>
          <response-schema>[schema uri 1]</response-schema>
          <response-schema>[schema uri 2]</response-schema>
        </or>
        [arbitrary XML]
      </and>
    </predicate>
  </query-space>
</register>
これは、JXTA ピアからの Registration の例です
<?xml version='1.0'?>
<register xmlns=";http://search.jxta.org";>
   <title>JXTA Stock Quote Provider</title>
   <link>http://search.jxta.org</link>
   <description>Given a ticker symbol, returns a 15-minute delayed quote
   </description>
   <query-server>
jxta://59616261646162614A757874614D5047CF403C5700D44AE68F9FB626DD
3F18E50000000000000000000000000000000000000000000000000000000000000401
</query-server>

   <query-space uri="http://search.jxta.org/text">
       <predicate>
           <query>
               <text>sunw aol orcl</text>
           </query>
       </predicate>
   </query-space>
</register>
これは別の例で、O'Reilly's Meerkat から利用する ワイルドカードでの登録方法を示す、
<?xml version='1.0'?>
  <register xmlns=";http://search.jxta.org";>
    <title>O'Reilly Network</title>
    <link>http://meerkat.oreillynet.com/</link>
    <description>The Source for Open and Emerging Technologies.</description>
    <image>
      <url>http://meerkat.oreillynet.com/icons/meerkat-powered.jpg</url>
      <width>88</width>
      <height>31</height>
    </image>
    <query-server>http://www.oreillynet.com/meerkat/jxtasearch/</query-server>
    <query-space uri="http://search.jxta.org/text">
    <predicate>
       <query><text></text></query>
    </predicate>
    </query-space>
  </register>

[bookmark] ぶっくま〜く

protocols ISDN:

分かりやすくまとまっています。

protocols H.323:

前の会社の人達向けです。# 謎

SIP level3:

以前は、
H.323
構内交換機を思わせる程の柔軟性
ISDN との親和性 (q.931 を利用している)
プロトコル自体が複雑すぎ
スケーラビリティーに乏しい (コネクション張り過ぎ)
企業向け
SIP
プロトコルが比較的簡易。# といっても H.323 に比較した場合の話ですが…
スケーラビリティーが高い。
コンシュマー - 一般向け
というイメージがあり、H.323 をモノにして 企業相手に売り込むのはとても賢い戦略だと思っていましたが、 今では、SIP の規格制定もかなり進んでいると思いますので、 どうなのでしょう。

勝手につける『コモンズ』への解説 あるいは 露骨な我田引水:


2003年01月11日(土)(自宅) 体重:56Kg

(自宅) 体重:56Kg

(ρ_;

午前中は苦しくて蒲団から出られず、 午後、リハビリで病院に行った時に風邪がひどい事を訴えてみましたが、 休日に内科は受け付けてないと断られました。
我慢するしかなさそうです。

[JXTA][Java][research] JXTA Search Protocol 和訳に挑戦

3. Message Routing Specification:

3.1. Query Request:

Query(質問) リクエストが到着する場合、 ローカルノードがどれ程要求したとしても、 Query には答えることができます。 *1
多くの場合、ローカルノードは、 クエリが経由するノードの集合を解決するのに、 リゾルバを利用するでしょう。
<request> 要素は、 クエリの経路やクエリの返答のルールを指示する 幾つかの属性を持っています。 それらは以下のとおりです:
  • query-lifetime: このクエリが有効である秒数
  • max-fanout:クエリを転送する Provider の最大数。
クエリは、max-fanout の指定より多くの Provider へ送られてはなりません。

*1: この文章は意味不明です。訳を間違えているかもしれません。
<原文>
When a Query Request arrives, the query can be answered however the local node desires.


2003年01月12日(日)(自宅) BGM:別離を惜しむロメオとジュリエット

(自宅) BGM:別離を惜しむロメオとジュリエット

風邪

かなりつらいです。風邪の症状の幾どを体験しています。 頭痛、寒気、倦怠感、関節痛、喉の痛みにタン、鼻炎、腹痛。そして目の痛み。
体温計が自宅にないので分かりませんが、熱も相当ありそうです。
明日も病院が休みだと思うと欝になります。(ρ_;
自分は風邪をひいた時、お風呂に入って気合いを入れて、すぐに死んだように寝むる事にしていたのですが、今回同じ事をすると朝、目が醒めない気がしました。
体力の無い時にお風呂に入るのは危険です… # 当り前…

HD フォーマット

/etc/fstab
/dev/sd1a /temp  ffs rw 1 6
bash-2.05# mkdir cap0
/temp: create/symlink failed, no inodes free
mkdir: cap0: No space left on device
#
#
# df -k .
Filesystem  1K-blocks     Used     Avail Capacity  Mounted on
/dev/sd1a    57737994        2  54851092     0%    /temp
# mkdir cap0
# mkdir cap1
#
不安な出発です…

[news] ニュース

Judge: Kazaa can be sued in U.S.:

オーストラリアの Sharman Networks 社をアメリカで裁けるそうです。
Also, he said,
"many, if not most, music and video copyrights
are owned by California-based companies.
要するにハリウッドは沢山の版権を保有しているから訴えてもいいって事ですね…

アスペクト指向プログラミングで、モジュール性を改善する:

@IT:安藤幸央のランダウン:PtoPはいよいよビジネスのステージに:

[bookmark] ぶっくま〜く

XMLを用いた永続オブジェクトの試み:


2003年01月13日(月)(自宅) BGM:ハンガリー舞曲

(自宅) BGM:ハンガリー舞曲

風邪

救急病院で点滴を受けました。 ポタコール 500m と聞いて安心する自分が少し嫌です…
点滴のおかげでダルさがかなり軽減されました。

薬:

抗生剤(化膿止め)のフロモックスと 総合感冒薬の PL を貰って食後に飲むように言われました。

帰宅後:

点滴で取り戻したなけなしの体力を使い、 近くのコンビニで、(風邪の時は水分補給が大事ですので)ポカリスエットと (食後の薬を飲む為の)お昼ご飯を購入しました。
しかし、体力を使いきったせいか元の典型的な風邪の体調を取り戻しています。(x_x
外出は危険ですので、家の中の非常用食糧に手を付ける事も検討しましたが、 地下の耐火設備の中にある為、体力のない自分では取り出せません。

総合感冒薬の知っ得?納得!!:

布団に入るときは、過度の厚着は避けましょう。
汗をかくだけでなく、脱水症状を起こしやすくします。
あ。これでもかという程に厚着をしていました。 気を付けます。

監視画像の保存ディスク

監視データでホームが溢れる事があるので、 昨日フォーマットした 60G SCSI ディスクにパーテーションを作成して そちらに保存する事にしました。差分を見て保存するか 迷う判断する仕様にすれば良いのですが、どのみち別パーテーションにするのは 必須だと考えていましたので…
「なんで quota かけないの?」という内なる声が聞こえましたが無視します…

[bookmark] ぶっくま〜く

J2EE概観:


2003年01月14日(火)(自宅) BGM:シェーンベルクの浄夜

(自宅) BGM:シェーンベルクの浄夜

気持ちが悪くて目が醒めました。仕方なくテレビを見る事にしたのですが、 教育テレビで7時10分〜7時半の間にやっている英会話の番組が良い感じです。 元気になったら毎朝でも見ようと思います。
といっても、get it? (分かる? got it (分かった good (よし… のパターンしか覚えてませんが…

風邪

風邪の症状に、足の悪寒と舌のツブツブに吐き気・目眩いが加わりました。 全ての風邪の症状をおさらいした気分です。
長い間自宅療養を続けて外部からの雑菌に対する抵抗力を失った結果が これなのでしょうか。
しかしながら、昨日より重症度は減っていますので、 回復しつつあるとは思います。

ハロゲンヒーター

ハロゲンヒーターは人を選ぶと思います。 自分は使っていて全く体の芯が温まりません。
うまく表現できませんが、ハロゲンヒーターの熱は 即効性重視で持続性がないようで、 痩せすぎな自分には向きません。
即効 & 局所性で無駄なく暖めるのが売りのようですが、 温まっていない部分との温度差が激しいので、 すぐ気持ち悪くなります。
首の高さを上下に往復運動する機能が付いていますので、 全身を暖める事も可能だと考えていたのですが、 あまりに即効(&冷えるのが早)すぎて、 暖かい部分と冷たい部分が頻繁に移動してるのが分かってしまいます。
神経質な自分には、 この全く新しい暖房器具による初めての体験に耐えられません。 実際、風邪を引いた原因の一つだと思いますし…
購入元に何とか無理いって返品しました‥(ゴネ得

返品:

個人の都合による返品は無理ですし、 通販のようなクーリングオフ制度も無いのですが、 別の暖房器具と交換できないかと持ち書けると了承してくれました。
ですが、品揃えの悪い店で、まともな器具が売られていませんでしたので、 店員との相談の結果、結果的に返品になりました。
# 自分は外出できないので家の人が交渉してくれたのですが…

監視画像の保存ディスク

やはり駄目でした…
Jan 14 12:00:01 alt /netbsd:     SENSE KEY:  Media Error
Jan 14 12:00:01 alt /netbsd:      ASC/ASCQ:  Unrecovered Read Error
Jan 14 12:00:01 alt /netbsd:
Jan 14 12:00:01 alt /netbsd: sd1(ahc1:0:1:0): parity error detected in Data-in phase. SEQADDR(0x113) SCSIRATE(0xf)
Jan 14 12:00:01 alt /netbsd: sd1(ahc1:0:1:0):  Check Condition on CDB: 0x28 00 01 8e 90 80 00 00 20 00
ディスクが悪いのかケーブルが悪いのか分かりませんが、 体が治ったら確認する事にして、とりあえず umount しました。

[bookmark] ぶっくま〜く

Change MAC Addresses on Windows 2000 & XP:

GUI で MAC アドレスを書き換える事の出来るツールのようです。 for allmost all Netword Interface Cards だそうです。

Windows NT/2000システムハッキング分析手順:

「PC がクラックされたかも」という時にお世話になります。

2003年01月15日(水)(自宅) BGM:ブルックナーの第8番、第9番

(自宅) BGM:ブルックナーの第8番、第9番

久々の胃の検診

昨晩。胃がチリチリと痛む感じがあり、 ロシアンルーレットが当たった予感がしましたので、 今日は念の為、昨年胃を切って貰った先生に相談に行きました。

問診:

高熱が出ていないので、インフルエンザじゃないそうです。
風邪の症状を話していた時に、舌にブツブツが出来ているという話をしたところ、 即、針で潰してくれました。 # イタタタタ…
# とりあえず。舌たらずな話し方から脱出。
話の結果、血液検査と CT スキャンを実施。

CT スキャン:

いわゆる輪切りの画像を撮る事が出来ます。
他の部位への転移は認められないので、すぐ死ぬ事は無いようです。 念の為、胃カメラを飲む事になり、土曜日に検査の予約しました。

手術で腹を横に切った訳:

CT スキャンの画像を見ながら医師と話していました。
(医) (腹筋の断面図を見ながら)
     ずいぶんとお腹に筋肉が付いてるねぇ.
(よ) 腰痛対策で、ずいぶん鍛えましたので、
     ただ、お腹の左の方の筋肉がこの通り、
     付かないんですよね
(医) お腹を横に切ったからね。
     縦に切るとね、癒着とかで腸閉塞になりやすいんだよね。
     あと術後の痛みも強いし、
     ただ、スポーツマンとかだと、
     そうはいってられないので、縦に切るけど。
という事だそうです。

薬:

これまで飲んでいた PL に、 セルベックスとナウゼリンが追加されました。

ニュース

分散P2Pの弱点を克服したファイル交換ソフト「Locutus 0.2」発表:

 これまでP2Pアプリケーションには二つのタイプがあった。
Napsterは音楽ファイルを検索するために中央サーバーを使って効率化した。
これに対してGnutellaは完全に分散されたピュアP2P環境を実現した。
検索速度やスケーラビリティーに関しては、
ピュアP2PよりもNapster型のほうが勝っているといわれている。

 Locutusは完全な分散P2Pでありながら、非常に短い時間で何千もの
コンピューターを検索することができる。
これによりP2Pアプリケーションで必要とされる帯域幅を大幅に減らすことが可能だ。
こうした技術はファイル交換ソフトに限らず、将来さまざまな用途が期待される
P2Pアプリケーションへの応用が期待される。

[bookmark] ぶっくま〜く

Perl で排他制御:

flock考:


2003年01月16日(木)(自宅)

(自宅)

欠勤

・゜゜・.(/□\*).・゜゜・.

[memo] メモ

あなたの希少価値は?:

希少価値度100%
Σ(゚Д゚;;)!!
あなたの希少価値はめちゃめちゃ高め。
いますぐ「種の保存」をおこなわないと、絶滅の恐れがあるようです。
自分のような劣等種が淘汰されるのは自然の摂理ですから… (欝
あ。でも、ホロコーストみたいなのは勘弁な。自然死を待って頂戴

[awm] Bフレッツ初トラブル

午後10時半頃、突然 IRC の接続が切れました。
上流との PPPoE 接続が、biglobe と excite の2セッション同時に切れています。 つまり、プロバイダでなく、B フレッツの障害の可能性が高いと予想されます。
お昼に、NTT のアンケートで
契約してからトラブル一つなく快適に使えています
という感想を書いた途端に裏切ってくれるとは、さすが NTT 様だと思います。
自分の所にも問題があるかもと思い、
ONU --- HUB --- PC router NetBSD
         |
     router NetGenesis
の ONU や HUB 、ルータのリンクランプが点灯している事だけは確かめました。
本当は、ONU に Windows XP なりを直結して PPPoE で繋がらない事を確認してから、 NTT 様のせいにすべきでしょうが、面倒なので先の状況から断定しちゃいます。(ぉ
NetGenesis のログを見ますと、
--:--:--  LOG_INFO     S03:POE: Discovery stage start.
--:--:--  LOG_NOTICE   S03:POE: Closed(PADI timeout).
--:--:--  LOG_INFO     SYS:DNS: Primary name server address changed. (0.0.0.0)
--:--:--  LOG_INFO     SYS:DNS: Secondary name server address changed. (0.0.0.0)
--:--:--  LOG_INFO     SYS:DNS: Third name server address changed. (0.0.0.0)
--:--:--  LOG_INFO     SYS:DNS: Fourth name server address changed. (0.0.0.0)
--:--:--  LOG_INFO     S03:   : Disconnect successfully, duration 00:00:31.(--:--:--)
--:--:--  LOG_INFO     S03:POE: Open start.
これのくり返しになっています。 今日はもう遅くなりましたので、 朝までに NTT 様が復旧してくれる事を信じて寝る事にします。
# J-Com のおかげで、突然の障害に慣れっこな自分がここに…

2003年01月17日(金)(自宅)

(自宅)

欠勤2

・゜゜・.(/□\*).・゜゜・.ぅゎぁぁあん

。。。:

ようやく食欲も出てきましたし、 頑張れば外に出られる程度には回復しているのですが、 先週の金曜日 にこの状態で出社した結果、今のいままで倒れていたという 経緯がありますので、 今回は無理せずに休もうと思います。

[awm] B フレッツ復旧

ログを確認した所、午前2時頃に復活していました。
	<略>
irc.fujisawa.wide.ad.jp - - [17/Jan/2003:01:56:09 +0900] "CONNECT <略>
昨晩の10時半に止まりましたので、 約3時間半の間ネットワークが止まっていたようです。
この止まっていた時間に、僕宛てにメールを送ろうとした人がいたらごめんなさい。

NTT 様の障害報告:

フレッツ・シリーズの接続に関する工事・故障情報
発生日時  平成15年1月16日(木) 22:20  
回復日時  平成15年1月17日(金) 01:55  
対象  <秘密♪>
原因  地域IP網設備故障  
さすが、 過剰高品質が売りの NTT 様。 J-Com みたいに 一時間半断線 しても 無視を決め込む ような事はしないのですね。

監視カメラ

yoya@alt% du -sk cap0/2003/01/16
11991412        cap0/2003/01/16
一日、一入力辺り 10G 使います。2系統記録していますので、 一日で、20G 使っています。(^^;
これは早く、差分が少ない画面は記録しないようにした方が 良さそうです。

2003年01月18日(土)(自宅) 体重:55Kg BGM:道化師の朝の歌 - ラベル

(自宅) 体重:55Kg BGM:道化師の朝の歌 - ラベル

内視鏡 いわゆる胃カメラ

予想通りチューブが喉に入って行かないので、 麻酔で意識を虚ろにさせてから、 むりやり喉にねじ込んでもらいました。
昨年、入院していた頃によくお話していたおばさんは
慣れよ、そんなもの。私の娘なんて手術してから
毎月のように胃カメラ飲んでるわよ
等と話していましたが、 自分の場合、一度目より二度目、二度目より三度目の方がつらいと 感じましたので、いまだに慣れが来るとは信じられません。

結果:

特に問題は見付からず。血液検査の結果も良好。
死に損いました…
後はさっさと風邪を治して本業に復帰します…

。。。:

まだ痩せる所があるんだねぇ
とは看護婦さんのお言葉。

[JXTA][Java][research] JXTA Search FAQ 和訳に挑戦

どこにも日本語訳が見付からないので、自分で訳してみました。 自分は英語力が全くありません。 見苦しい間違いがあれば指摘して頂けると嬉しいです。
P.S. excite 翻訳 まんせー (他力本願

2003年01月19日(日)(自宅) BGM:ブルックナー交響曲

(自宅) BGM:ブルックナー交響曲

風邪いまだ治らず

風邪の引き始めの頃から背中の悪寒がいまだに続いています。 ベッドから動けません。

[JXTA][Java][research] JXTA Search 和訳に挑戦

JXTA Search 関連の文書で和訳したのは、ここにまとめます。
尚、自分にとっての必要性を考慮して、下の方から訳してます。

プロトコル仕様:

日記にばらばらに書いていたのをまとめてます。進捗率は 30%位でしょうか。 往復葉書のようなメッセージのやり取りをしているようですね。

JXTA Search 設置ガイド:

インストールに挑戦する前に訳すべきで、 はまってから訳すのは、まったくもって順序が逆ですね…

懲りずに JxtaSearch 設定に挑戦

tomcat を最新(4.1.18)に、axis も最新(1.1beta)にしました。

webprovider:

そして、websearch.war と webprovider.war を webapps へコピー
更に、common/lib に jxta〜, log4j-1.2.4.jar, cryptix-asn1.jar cryptix32.jar 等をコピーします。
jce は jdk1.4 内蔵のはずですが、なぜか
java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/\
BouncyCastleProvider
	at net.jxta.impl.endpoint.tls.TlsConfig.init(TlsConfig.java:184)
のエラーが出るので jce の jar を導入する事にします。
この時点で webprovider を動作させると、
java.lang.RuntimeException: Could not boot platform
	    at net.jxta.search.jxtastarter.JxtaStarter.getMyPeerGroup\
(JxtaStarter.java:96)
というエラーが出ます。
  85      public static synchronized PeerGroup getMyPeerGroup () {
    86          if (group == null) {
    87              bootJxta ();
    88
    89              /** In case group is still null, wait for the notification *
*/
    90              if( group == null ) {
    91                  try {
    92                      synchronized( condition ) {
    93                          System.out.println( "Waiting for jxta platform b
oot" );
    94                          condition.wait( 60000 );
    95                          if( group == null ) {
    96                              throw new RuntimeException(
    97                                  "Could not boot platform" );
1分経っても Jxta ネットワークに継らないと判断しているのかもしれません。

websearch:

ふと。locate を実行してみました。
yoya@awm.jp% locate gonesilent.cfg
/home/yoya/jxta/search/jxtasearch-0.92-src/websearch/deployment/gonesilent.cfg

このファイルは src 付きのパッケージだけで、bin のパッケージには ドキュメントどころか必須の設定ファイルさえ入っていない模様です。
gonesilence.cfg を $TOMCAT/webapps/. にコピーした所、 それっぽく jxtasearch の websearch が動作しているように見えます。
何日一つデータをいれていないので、検索結果は0だけど…
単に正しい html を返さなくなっただけかも…

diary の設定

http://www.awm.jp/~yoya/dairy/ では古い日記を見せるようにしていましたが、 www.awm.jp 経由で日記を見る方の方が多いようなので、 diary.awm.jp/~yoya/diary と同じ日記を見せるようにしました。

部長さまに私信

IRC 撤退についてフォローしますが、部長様が原因ではありません。 むしろ、部長さまには愚痴を沢山聞いて頂きましたし、 いきなりチャンネルを抜けてしまってすまないとさえ思います。
なんといいますかですね…、# 以下、愚痴モード
通常、IRC の過去ログをみると、とてもタメになる情報が詰まってて 実際、勉強になる事が多いので、あまり抜けたくないのですが、 あの頃、某チャンネルで 妙に自分につっかかってきたり、 品の無い単語を連呼する御仁がいらっしゃいまして、 過去ログの S/N 比が格段に落ちている状況がありまして…
そこだけ抜けてもまた入りたくなる気持ちは抑えらませんので、 だったら、仕事以外では IRC はやらないと自分に縛りをかけた訳です。

ぶっくま〜く

Java リンク集:

XML リンク集:


2003年01月20日(月)(自宅) BGM:チャイコフスキー交響曲第5番

(自宅) BGM:チャイコフスキー交響曲第5番

出社

一週間ぶりの出社です。
とりあえず仕事を進められる程度には体調が回復していますが、 背中の寒気だけが取れないのが気になります。
今日は主に、某プロトコルの復習をしながら、 パーサの処理の確認をしていました。

椅子選び

帰り際に会社近くの高級家具屋さんによって、 アーロンチェアとアガタ・コクヨの2つを比べてきました。
アーロンチェアは座り心地は抜群ですし、 リクライニングも出来るのですが、ヘッドレストが無いので、 リクライニングの意味がありません。首が疲れます。
一方、アガタ・コクヨはヘッドレストはあるのですが、 座るところのクッションが固めで、長時間座り続けるのはつらそうです。
「アーロンチェアにヘッドレストが付けば文句無しなんですけど」 と、店員さんに話したら、 「そういう要望は多いのですけど…」と苦笑してました。

ツッコミ:

複数の方面から、
そもそも、作業椅子にヘッドレストがいるのかと問い詰めたい
との御指摘を…

[JXTA][Java][research] JXTA Search 和訳に挑戦

JXTASearch 設置ガイド:

deployment は配置と訳される事が多いようですが、 設置と訳した方が自分としてはしっくりします。
要するに、JXTA Search パッケージのインストール方法を記した ドキュメントです。
GOODS の設定で勘違いしていた所にも気付きましたし、 訳した甲斐があります。まだ訳に間違いが多く含まれていそうですが…

klez っぽいメール

Subject: Meeting notice
From: diai002 <diai002@ooon.p>
To: yoya@<略>
という怪しいメールが来たので、開かずに生のメールを覗いてみました。
Return-Path <知人のアドレス>
<略>
From: diai002 <diai002@ooon.p>
<略>
--KZ6867E349GBu8D097v19g47z3sJ2E07q9845
Content-Type: audio/x-wav;
        name=<内緒>.pif
Content-Transfer-Encoding: base64
Content-ID: <Z5j8E3339i89483>

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
<略>
今更、Klez ? 等と言われそうですが、 実は、メーリングリスト以外では、今回初めて Klez らしきメールを受け取りました。 友達が少ないんです。自分。
… それはさておき…
とりあえず、 trandmicro のページを紹介して対策を勧めたのですが、 重くてなかなかページが開けない *1 という事でしたので、 symantec のページも知らせておきました。

電話がかかってきました… (汗:

夜勤を中心として生活している御方のようで、 午前2時頃に電話がかかってきました。
先程知らせて URL で公開されている symantec の駆除ツールを動かした、 その後の話です。
仮に、N 氏としておきます。
(N) これって今駆除しても、またウィルスメールが来たりして、
     いたちごっこだよね。
(よ) ワクチンソフトいれたり、メーラを変えるとかしないとそうですね。
     ところで、使ってるメーラーって、Outlook とかですよね
(N) うん。
(よ) Outlook はデフォルトの設定だと結構危険らしいので、
     一通りメーラの設定を見直すか、
     思い切って別のメーラにするってのも手ですよ。
(N) メールアドレス変えた方がいいかなぁ?
(よ) それは、あまり意味ないです。
(N) アドレス帳の皆にウィルスメール送っちゃったかもって
     通知した方がいいかな?
(よ) 仲の良い人だけ教えて、他は無視を決め込んじゃっていいんじゃないですか。
     どうせ、別人の from でメールを送るんで滅多にバレませんし。(悪
(N) メールマガジンも沢山、アドレス帳に入ってるんだよねぇ。
(よ) メールマガジンのサーバでは、たいていウィルスのチェックとか
     してるんで、多分、大丈夫ですよ。
さすがに、もう寝ます… Zzz...

*1: モデムで通信しているのが原因かもしれませんが…

2003年01月21日(火)(自宅)

(自宅)

霜が降りる季節になりましたねえ…
といいますか、霜を観察できる時間に出社したのが久しぶりといいますか…

病院

リハビリが続いている間は、二週間に一度医師の診断を受ける必要があります。 そんな訳で、今日は通院の日です。

。。。:

神経の反射が鈍っているので気を付けた方がいいと医師に怖い事を言われました。 どうも、治ってるから痛みが減っているのではなく、神経が摩耗してるような…
とにかく要観察…

メモ

VNC port forwarding:

色々試してみたところ、foo:1, baa:0 で開いている VNC サーバに対しては、
LocalForward 5901  foo:5901
LocalForward 5902  baa:5902
この設定で接続できました。

JXTA Tutorials 和訳に挑戦

最近、excite 翻訳中毒です。(x_x

2003年01月22日(水)(自宅)

(自宅)

仕事

寒さが厳しいせいか、ちょっと腰がつらいかも…
何とか我慢できますが…

生活

腰痛が生活コストとして、今でも重くのしかかってるのがつらい所です。
先月の電気代は 4 万超えてました *1 し…
理想の生活スケジュールは以下の通りですが、 実際には、この前のように真夜中に電話がかかってきたり、 腰痛や風邪等で体が壊れる等のイベントが発生して、 2,3時間位前後する事が多いです… このスケジュールは、12時就寝が前提になっていますので、 それまで全てのカタを付けなければならず、 毎日、息つく暇もないといいますか…
(ρ_; ぅぅぅ
*1: 節電にご協力下さいという紙が付いてきました…

[memo] メモ

NetBSD thread 対応:

NetBSD current に、kernel での thread 対応が入ったそうです。 SMP を使わない自分には関係ないとか言われそう…

サーチエンジン「Teoma 2.0」リリース〜「2003年はコミュニティー検索に焦点」:

スマートなユーザー・インターフェースに惹かれます。

[JXTA][Java][research] JXTA Search 調査

rdf-queries-resolving-issues:

添付のドキュメントが rtf でしたので、html に変換しておきました。 RDF metadata の query のやり取りを jxta search に適用する際に 気をつける事… でしょうか… # まだ斜め読みの段階…

JXTA Search: A look at the future of searching:


2003年01月23日(木)[天気:雪のち雨](自宅)

[天気:雪のち雨](自宅)

自宅

以前から背中に感じていた寒気が、今日はかなり厳しかった上に、 外では雪や冷たい雨が降っていまして、 会社に出掛けると確実に風邪も腰痛もぶり返す状況でしたので、 会社には出掛けず、家で仕事する事にしました。
# 無理は駄目だと痛感したばかりですし…
全国的にインフルエンザ注意報は発令されていたそうで、 この判断は正しかったと思います。
# そもそも不健康な自分が悪いのですけど… (欝

[JXTA][Java][research] JXTA 関連調査

edutella:

これ の続き RDF ベースのメタデータを交換する為の P2P ネットワーク・インフラだそうです。
Edutella 共通データ・モデル(ECDM)というベースを作成して、 Edutella クエリ交換言語(RDF-QEL-i)や、 Edutella ネットワーク上での分散クエリを実現するフォーマットを 定義しています。 等を読むと、頭を使うというのがどういう事なのか、深く考えさせられます。

[bookmark] ぶっくま〜く

Java RockeRoad:

JXTA に比べて軽量な P2P プラットフォームです。 Palm に載せる例も紹介されています。

メッシュネットワーキング:

excite 翻訳を元に作成した、適当な和訳
  • WHAT: Mesh networks
  • WHO: SkyPilot, MeshNetworks, Moteran, others
  • WHY: Wi-Fi ネットワークのレンジを拡張する別の方法:
  • その代替トポロジーはメッシュ・ネットワーキング (それはすべての receiver を transmitterに変える)と呼ばれます。 アクセス・ポイントにユーザを結び付ける代わりに、 それらをアクセス・ポイントに変えます。 あなたは、より多くのユーザ、より強く大きなネットワークを得ます。 (←この訳、特に自信なし…)
    米軍は、既に戦場の上にメッシュ・ネットワーキングを展開させました; 今日の兵士が運ぶ無線機は、 自動的に他の近くにいる無線機とアドホック(その場限りの)なネットワークを作成することができます。
  • いくつかの会社は、このテクノロジーを民需へ応用しています。 メートランド(フロリダ)の MeshNetworks は、 既に市場にメッシュ・ネットワーキングの一連の製品を持ちます。
    Belmont(カリフォルニア)の SkyPilot は選択した近隣に いわゆる「smart antennas(賢いアンテナ)」を設置しています。 加入者は自分自身の rooftop屋上アンテナを設置する事で、 broadband(広帯域)のネット・アクセスを受け取り、ブロードバンドのネット・アクセスを享受し、 かつ、そこから隣人に流す事が出来ます。
    ノキアとインテルを含むビッグプレーヤー(←大手?)もまた、 この技術に投資を行っています。
    それらのアプリケーションは独創的なものとなり得ます: 例えば、ドイツの Moteran システム(三菱とドイツ・テレコムの共同作業)は、 自動車をネットワーク・ノードに変える試験プロジェクトに取り組んでいます。
  • WHEN: MeshNetworks は既にメッシュ・ネットワーキング・ハードウェアを販売しています。 SkyPilot は既にその近隣メッシュ・ネットを、 無線のゲームに入りたいインターネット・サービス・プロバイダーが利用出来るようにしています。 インテルは、屋内のメッシュ efforts の実験室デモを完成させており、 次の2,3ヶ月に野外実地試験を計画しています。 --Daniel Miller
    まともな訳があったら誰か教えて下さい。(x_x

IEの「ネットワークの設定を自動検出する」機能とは:

我が家のネットワークだと、
http://wpad.awm.jp/wpad.dat
を用意すれば良さそうですね。 外からアクセスされないようにアクセス制限に気をつける必要がありますが。

[news] ニュース

JASRAC と RIAJ、MP3への電子透かし導入の有効性を確認 @ ZDNET:

日本音楽著作権協会(JASRAC)と日本レコード協会(RIAJ)による 電子すかしの検証実験があったそうですので、キーワードだけ抽出しておきます。
音声に埋め込む電子透かし技術を活用し、
インターネット上での音楽の違法利用を発見したり、いつ、
どの歌手の音楽CDが放送されたかを自動的に把握したりする実験に成功した、
MP3化されたファイルでも電子透かしは有効
12月中に2週間実施された実験の結果、検出率は100%だったという。
なお、著作権情報には、著作権協会国際連合(CISAC)で定められた
世界共通の作品コード「ISWC」を利用。
また、電子透かしには、IBM、エム研、マークエニー・ジャパン、および
日本ビクターの技術を、3曲ずつに採用した。
放送電波に乗せられた楽曲でも電子透かしは有効
電子透かし情報には固有のIDを振っておき、
受信した音声から抽出したIDと著作権管理情報データベースを付き合わせる形で
検証が行なわれた。実験には、米Veranceが開発した放送音源把握システム
「ConfirMedia」が利用されている。

コレガ、802.11g対応製品を3月発売:

[memo] メモ

2ちゃんねるは崩壊するのか?:

深刻!貴乃花去り、国技崩壊の危機:

惨々、相撲による番組時間の変更で痛い目を見ている自分としては、 無くなってしまって結構なのですが…
所詮、和製ブルジョアな人達が見る為のスポーツですし。

[keyword] 検索キーワード

WAN ミニポート(PPPOE:

著作権延長:

NetStumbler 設定:

買い出し

お弁当を買いに近くのお店に出掛けたのですが、 途中の狭い道で高校生っぽい学生さんとすれ違いまして、 自分は少し避けたのですが、 やっこさんは全く避けなかった結果、肩がぶつかりまして、
……
なぜか、
どこ見とんじゃい。コルァっ
と怒鳴られてしまいました。
当然、無視しましたけど…
喧嘩になったら勝っても負けても、後で警察で痛い目見るのは 大人だけですしね…
周りにメボシイ武器が転がって無かったって事もありますが…
完全に無視したところ怒鳴り続けてくれましたが、 途中で飽きたらしくて離れてくれました。

2003年01月24日(金)[天気:晴れ](自宅) BGM:チャイコフスキー交響曲第五番

[天気:晴れ](自宅) BGM:チャイコフスキー交響曲第五番

。。。

[memo] メモ

unprotoize:

このサイトを見て初めて知ったのですが、 gcc 付属の unprotoize というツールを使うと、
int foo (int a, char b)
{
        return a * b;
}
といった、ANSI C 風の関数の引数の書式を、K&R 風味な
int foo (a, b)
     int a;
     char b;
{
        return a * b;
}
に変換してくれます。
実行例
yoya@awm.jp% cat > test.c
int foo (int a, char b)
{
        return a * b;
}
^d 
yoya@awm.jp% unprotoize test.c
unprotoize: compiling `test.c'
unprotoize: converting file `test.c'
yoya@awm.jp% ls
test.c  test.c.save  test.c~  test.o
yoya@awm.jp% cat test.c
int foo (a, b)
     int a;
     char b;
{
        return a * b;
}
yoya@awm.jp% cat test.c.save
int foo (int a, char b)
{
        return a * b;
}
いまどきのソースを SunOS4.x の cc でコンパイルしないと駄目な 状況に陥った時に使えますね。
# 恐らく、そんな状況は一生来ないと思いますが…

[bookmark] ぶっくま〜く

avex CCCD Player 完全アンインストーラ:

去年の 8/15 に知った URL ですが、日記に記録するのを忘れてました…

歯科に行くほど悪くなる虫歯の治療は予防から:


2003年01月25日(土)(自宅) BGM:歌劇「ファウスト」- フリネの踊り

(自宅) BGM:歌劇「ファウスト」- フリネの踊り

本の購入

今週の何時、購入したのかは忘れましたが、とりあえず紹介します。

JAVA PRESS VOL 28 - 技術評論社:

JXTA for J2ME という文字につられて購入したのですが、 ja-jxta でよく発言されている石原様による、 JXTA の記事が載っているのを見付けました。
Virtual Network Overlay を実現するビルディングブロックとしての、
  • Uniform peer addressing -> Peer ID
  • Dynamically congigurable peer domains -> Peer Group
  • Uniform Resource Representaion -> Advertisement
  • Universal Binding -> Resolver
  • Virtual Communication Channels -> Pipe
の説明を見て、 JXTA の基本をすっかり忘れている自分を発見して愕然としています。(x_x
この他にも非常に分かりやすい説明が載っていますので、 JXTA 初心者の人は買いだと思います。
スケーラビリティーの話にも少し言及しています。 ↑ この辺りの話です。
ただ、この前の C MAGAZINE の記事と違って、 基本的な概念を分かりやすく説明する事に主眼をおいているようで、 アプリケーション実装にまでは踏み込んでいません。 その部分において、物足りないと思う人もいるかもしれません。

Java による Web サービス構築 - SOFTBANK:

これまでに見付けた Web サービス本は、MS .NET 関連の実装についての 説明が多かったのですが、この本は Axis について詳しく説明が かかれていましたので、購入決定。
オライリーの Web サービス本も、axis の例が載っていますが、 いささか古い & 説明が淡泊で分かりにくい感じがしまして。 お口直しのつもりで。
# そう思うのは、自分の頭が悪いのが原因なのでしょうけど。
色々とはまっている自分には、 藁をもすがるお釈迦様が雲の上から垂らした蜘の糸です。

JAVA WORLD CD-ROM 年鑑 永久保存版 - IDG ジャパン:

過去一年分の記事データが CD-ROM に pdf 形式で入っています。
単純に、094_101.pdf の「JXTA のアーキテクチャに迫る」 が見たかっただけですが…

知ってる事しか書いてない & 見た事のある図しかなくて少し残念。

独り言

半年位前から、branch の親子関係そのままの group を作成して、 各々の group に tag を advertisement でばら撒いて、かつ、 branch に興味のある peer 同士で data + diff を共有するような、 ありがちなシステムと、そのアプリケーションを作る為のモデルを考えていて、 それっぽい情報を漁っていたのですが、 いまだにしっくり来ないので、某師匠に相談してみました。

なるほど。穴だらけです…
逝ってきます…顔洗って出直してきます。
分散ファイルシステムについての理解不足が露呈

JASRACとRIAJ、電子透かしを入れた音楽ファイルの有効性を確認

電子透かし情報を「除去」できないことの実験がなされていない
なるほど。読んでいて感じた違和感はこれですか…
# 鈍すぎ > 自分

[news] ニュース

新型ワーム? ネットワーク全体で遅延発生中:

dame PC 故障

昨年 購入した 例の箱 ですが、
買った時から電源ボタンを押したまま戻らない事があって、 その度に前面の板を外して、ボタンを付け直していました。
これは単にボタンの大きさとボタンを通す穴のすき間がなくて、 ボタンを引っかかっていただけなのですが、とうとう、ボタンの奥にある スイッチ自体が手前に戻らなくなりました。(ρ_;
そういう訳で、キャプチャ兼作業メインマシンの電源が入らなくなりまして… (涙
しばらくの間はノート PC で作業するしかなさそうです…

2003年01月26日(日)(自宅)

(自宅)

独り言

昨日 の続き
某 version system の拡張として捉えるならば、 最新を皆で共有する事が最重要課題なので、 (一貫性の為に)プロジェクトを作成した peer を master にして、 他でデータをキャッシュする peer 達は slave という事にして、 master が死んだ(落ちた or 切れた)時でも死ぬ直前までに 貰ったデータを元にして、slave が master の代わりに働く。 程度の機能に落ち着きそうですが、 それだと、バックアップがあるというメリットに対して、 最新である保証が無いというデメリットが大きすぎます。
そもそも、そんなものは既存のシステムでもレポジトリを ミラーリングすれば済む事です。
master/slave といったの概念も残しておくに越した事はないのですが、 master( = この場合は project を作成した peer )が死んでたとしても、 その情報に興味のある人が一人でも生きていれば、 commit が出来るようなグッと来るシステムでないと 作る意味が無いと思う訳です。
あとは、master とのコネクティビティがある時は、 master で最新の tag が何かだけ確認して、 データ自体はなるべく、slave から持ってくる事にして、 master とのコネクティビティが無い時には、 slave の中でなるべく最新の奴を探して、持ってくるとか そんな感じで…
問題としては、かつてネットワーク的に繋がっていた時に生成された 一つの branch が、ある時分断されて、その状態で、 分断されている異なる peer が、その branch の同じコンテンツに対して、 commit をしたとして、その後、ネットワークが繋がった時に、 どうしましょう。というのが初めに思い付く訳でして、
解決策としては、(解決になってなさそうですが) peer 同士で監視しあって、不協和音が出たら修正されるまで、 temporary branch のようなもので分けて考える事にして、 commit に関わった peer に通知し続けて、修正されるまで branch を分けてみるとか。 そういう、かなり無責任なシステムを作れないかと思ってます。
と… 書いてるだけで気付くのですが、全然駄目ですね…
実のところ、この件はもう 6,7年位前から考え続けていたのですが… 頭の回転が悪いにも程があるといいますか…
ついでにいうと、 実装的には差分抽出と差分適用の部分を除けば作るのは簡単そうなのですが、 今現在、この手のファイル共有的なコードをが書いて良いのか分からない 縛りがかかってしまって、どうもアイデアが固まらない罠が。
# ← 未だに抽象レベルでアイデアを練る事が出来ない人
コードを書きたくても、どういう行動が自分に許されるのかが全く分からず、 身動きが取れないまま首を吊りたくなるような状態が続いてたりして…
う〜ん…
いや、きっと、それ以上を考えちゃ駄目です。 > 自分
容量オーバーな状況に今更気付いても、過去は変えられない…

メモ

StartSuite 特定のユーザで起動不可:

Windows 2000 の PC に「yoya」でログインして、 を閲覧する為に StarSuite6.0 を起動しようとしたところ、
プログラムは起動できません。
設定ファイル"D:Documents and Setting\yoya\Application Data\sversion.ini"は
このバージョンを支援しません。
インストールを確認するのにセットアップアプリケーションを開始しますか。
といって怒られました。(ρ_;
D:Documents and Setting\Administrator\Application Data\sversion.ini
を見たところ、Administrator の方の sversion.ini には
[Versions]
StarSuite 6.0=file:///D:/Program%20Files/StarSuite6.0
と書かれていた一方、「yoya」の方は空白のファイルでした、 この文字列を「yoya」の方にコピーした所、起動できました。
なぜ、空白のファイルが出来ていたかは謎ですが…

「これは自分用のメモなんです!!!」:

上記の URL で主張されている駄目な文章の特徴は、 自分の日記にことごとく当てはまっています。 特に、誤字の多さについては反省するべきかもしれません。
← 口先だけの人間

P2P の調査

調査といいましても別に論文を読んだりコードを漁ったり等でなく、 単にgoogle で、たまたま見付けたページを読んでみただけです。

技術レポート P2P アーキテクチャ @ CAC:

よく人からこの手の質問を受けます。まとめますと
ハイブリッド P2P
センターのメタデータを元にノード同士が動作する
例) Napster
問題) センターが落ちたら終わり
ピュア P2P
センターを持たず全てのノードが対等で働く。
例) Gnuttela
問題) 始めにどこに繋いで良いものやら… (w
グリッドコンピューティング
従来のサーバ-クライアントモデルで、上下がひっくりかえったもの
例) SETI
問題) そもそも、P2P の仲間にいれて良いのか疑問なところ :P
といった感じでしょうか。
実際にはピュア P2P でも全部が全く対等という訳でもなく、 グローバルなネットワーク上でメッシュ状に繋ぐ事を想定したスーパー peer と、 (場合によっては複数の) super peer にぶら下がる peer に分けて動作するようで、 例えば、一般的なファイル共有ツール等では、 global IP を持つ peer が前者を、 NAT の背後に隠れた peer が後者の役割を演じるようです。
JXTA の場合は、ランデブーがこの super peer に相当すると思います。 ただし、少し前までの ランデブー peer は、resolver メッセージを受け取ると、 自分に繋がった周り全ての peer にばら撒くような事をしていて、 スケーラビリティーのスの字も無い状態でしたが、 最近のコードには JSRDI *1 のコードが入っていて、解決されつつあるようです。

Complex Queries in DHT-Based:

DHT - API Enhancements I
Basic API
・publish(namespace, RID, object)
・lookup(namespace, RID)
・multicast(namespace, object)
DHT - API Enhancements II
Additions
・lscan(namespace) - retrieve the data stored
  locally from a particular namespace
・newData(namespace) - receive a callback when
  new data is inserted into the local store for the
  namespace
という API を初めに思い付くと思いますが、
API isn’t good for:
・Range queries
・Limited multicast ? Currently, all queries must be
  asked at all nodes, this is the same scaling
  problem with Gnutella & Freenet.
・Batch Publish/Lookup operations
という問題がやはり残る訳でして。
上記2つは、JXTA 自身の routing と JXTA Search の query routing を 利用すればある程度解決できるのではと期待しますが、 最後の batch オペレーションは何がまずいのが自分の頭では理解できません。
<Text Retrieval and Hash Indexes>
・DHTs only support exact-match lookups
・Basic index scheme 
   - Split each string to be indexed into “n-grams”
   - Ex : “Beethovens 9th” ? 3-grams
           Bee, eet, eth, tho, hov, ove, ven, ens, ns%, s%9, %9t, 9th  
           substring lookup : “thoven” - tho, hov, ove, ven
   - The count of copies of each file ID is computed
強引に見えますが実にシンプルな部分文字列マッチです。(^^;

JXTA 2002 survey:

openp2p, sourceforge, java.sun.com は漁っていましたが、 jxtasig.org, jxtabang.org, jmag.com, theserverside.com, jguru.com, wireless.java.sun.com はノーチェックでした。

ピアツーピア・ネットワークにおける信頼性とセキュリティー:

故あって P2P 上の ID に関する考察をした事があるのですが、 ほとんど全て述べられてしまっていました。
  • 認証
  • 許可
  • 信頼性
この辺のキーワードは肝に命じておこうと思います。

Cheaters Bow to Peer Pressure:


*1: JSRDI は index distributed hash という手法を用いて きちんと resource を resolve するメッセージのルーティングを しようという事のようです。詳しくは調べてません。f(^^;

ぶっく〜く

JNICurses:

Java で curses を使う為に jcurces の最新版を取得したかったのですが、 が消えていたので移動先を探してました。
作者は、 大学院 を卒業(?)後、 独立系コンサルタント をやっているようです。
尚、jcurces は という Java をベースに OS を作るプロジェクトの成果物らしいのですが、 JOS のサイト自体はもう消滅していて、 ドメインは売りに出されちゃってます。 (w
自分はドメインの相場を知らないのですが、wish-u.com の値段を $5000 以上と 考える人もいるのですね。

AUTO-ID CENTER:

先週の頭位から、 JXTA discuss ML で話題に のぼっていたので、ブックマークだけ取って、後で時間が出来たら読もうと思います。 上記の AUTO-ID CENTER には、 RFID (Radio Frequency Identification) について詳しい情報があるそうです。 要するに、PDA 等の thin client に付けるタグらしいのですが、 読んでいる時間が無いので後回し… (ρ_;

Serving DNS using a Peer-to-Peer Lookup Service:

Internet Protocol Standards I - P2P:

ここからめぼしいリンクを拾っておきます。

JXTA Resolver:

JavaTM 2 Platform, Enterprise Edition (J2EETM):

[memo] メモ

万が一に備える葬儀総合情報サイトがオープン:

去年の記事ですが… 葬儀の相場を知っておかないと葬儀屋にぼったくられます。御注意を。
親戚に見られている中で値切るのは、 故人を想わない冷たい人間みたいで嫌ですし、 値切ると葬儀がいい加減になるぞと業者が暗に明に脅してきますので、 普段から備えておかないと、いざという時に闘えません。
一生にそう何度もない事ですし、 人によってはどうでもいい事かもしれませんが。

Locator Service の未チェックのバッファにより、コードが実行される (810833) (MS03-001):

最大深刻度 : 緊急

インフルエンザが猛威、「拡大の恐れ」と厚労省:

ニュース

続報:犯人は「Slammer」――各社が新種のワームを警告:

“貴乃花礼賛”一色のワイドショーで抜け落ちている部分(ゲンダイネット):


2003年01月27日(月)(自宅)

(自宅)

チェックメイト

悪夢なら早く覚めて欲しいと思います。
現実である以上、打開策を見付けなければならないのですが…

メモ

グリッドコンピューティングの雛型?:

ふと、タネンバウム先生の、 「コンピュータネットワーク」 (ピアソンエデュケーション)を読んでいた時に、 「Chinese Lottery(中国宝くじ)」という言葉を見付けました。
これは、1991 年に Quisquater と Girault が発表した (当時としては)革新的な考えで、
中国12億人民が皆一つずつラジオやテレビを持つとして、
それらの機器に、DES 解読 CHIP を埋め込んでおく。
政府は解読したいメッセージがある時に、
平文と暗号文のペアをラジオ/テレビにブロードキャストして、
12億のチップ各々に割り当てられた鍵空間の探索をさせる。
解読に成功した機器に、
「宝くじに当選しました。〜まで御連絡下さい。」のような
メッセージを出せば、政府に確実に通知される。
といった仕組みです。
もしかして、これがグリッドコンピューティングの雛型なのでしょうか。 もっと古い資料も探せば似た概念を発表している人もいそうですが…

Windows/Mac/BSDにも知的財産侵害の懸念?:

「数カ月前から(知的財産に関する)調査を考えていた。石をひっくり返
すと、必ずその下から何かが出てくる。Mac OS Xを解体すると、Unix
Systems Laboratoriesにまでさかのぼる著作権表示がたくさん見つかる
だろう。これは当社が保有している著作権だ」(McBride氏)。 

asahi.com TODAY'S関西:

長年の疑問が解決されました…
小学生の頃、空気抵抗である程度無害されると先生から説明されつつも、 弾丸の重さを考えて、そんな訳ないだろうと思っていましたので…

[keyword] 検索ワード

BM-U100:

connect timeout 設定 C言語 tcp:

connect の引数に timeout 設定が無いので、 alarm で処理しましょうという答えを期待しているのでしょうか
もしくは、最近はもっとまともな手があるとか…

Java ImageMagick:

Java から ImageMagick のライブラリを使いたいという事でしょうか。

unisock FAQ:

GOODS インストール記録にある、unisock.cxx がひっかかったようですが、 FAQ は無いです。
尚、unisock.cxx は GOODS で使われていますが、独立して利用できる SAL Libarary の一モジュールです。
SAL Library は、Multitasking, File IO, Socket IO のサブシステムに分けて、 パッケージ化されています。

2003年01月28日(火)(帰りの電車) BGM:チャイコフスキー交響曲第4,5,6番

(帰りの電車) BGM:チャイコフスキー交響曲第4,5,6番

。。。

頭が回らなくて思うように仕事が捗りません… (ρ_;

チェックメイト

ケジメをどう付けられるのか…

腰痛対策

腰を温めたりコルセットで固定したり、椅子等を工夫したり環境を 考える事と、
冬の間は、寒い日は外出を避ける *1 等して何とかやり過ごし、 暖かい季節になって腰痛が引いたら、本格的に体を鍛える
といった位しか対策を思い付きません。
*1: サラリーマンにそれが許されるのかは不明ですが、 上司にそれとなく、希望をほのめかしてます… X)

某先生とのお話

以下、殆ど全て受け売りです。

RFID:

これ の続き
某先生に、RFID について質問してみたところ、 自動で割り振りとかの概念は、RDID 自体には入っていなくて、 RFID は(文字通り)無線機器に振る ID「無線を使ってIDを提供するなにか」 ← 本人からツッコミを頂きましたので修正 f(^^;;という一般的な用語だと教わりました。
典型的な応用例としては、無線チップの IC に ID を割り振り *1 、 その IC の属する<検閲により削除 :-P>情報を取得して、 <これも削除>という方法が考案されていますが、 もう少し広く考えると、 無線機の制御部のリソースの質や量をパラメータ化し、 CPU やメモリ等で座標系を取ってプロットすると、 色々な適用領域が見えてきます。
このプロットが (0,0) から遠く離れた所にある (つまり、贅沢なリソースを惜しみなく注ぎ込んだ場合)と 某T大のS先生が御執心の 「ユビキタスコンピューティング」の無線ノード (という呼び方をしてよいのかは分かりませんが) に近くなりそうです。
サービスやアプリケーションの実装の詳細については、 ここには書けません。:)

履歴付きファイル共有ネットワーク:

一昨日 、日記に書いた件について先生にお話してみました。
たまたま、先生の考えているシステムの一部に、 一昨日、自分が日記に書いていた件を連想させる部分があり、 そこで話を振ってみたところ、ちょっとした議論になり、 イメージがかなり固まりました。
題名にも書きましたが、結局、自分が作ろうとしていたのは、 「履歴付きのファイル共有ネットワーク」だと表現できます。
ネットワークの特定グループ全体を巨大なレポジトリとして捉え、 過去のファイルまで復元する能力を持たせ、そとからの ファイル復元要求に応えるような仕組みが必要です。
# きちんとしたモデルを作れば、論文になりそうな…
レポジトリの実体は、差分だったりスナップショットだったり、 ファイルの性質によって異なりますが、時間指定でファイルを復元 できるようなデータを、グループ全体で保持する。
そして、ファイルが欲しいピアは、特定のピアに対してでなく、 特定のグループ全体に対して、ファイルを要求します。
# もちろん実際に動作するのは、グループ上の特定のピア群なのですが、 ユーザに対して、それを意識させないインターフェースを定義できるような モデルを作る事が課題です。
ファイルを要求する際のパラメータは、 「プロジェクト+ブランチ+タグ」かもしれませんし、 「ファイルのコンテンツハッシュ値(MD5とか…) 指定+日付」かもしれませんし、 はたまた、 「ファイル名+属性情報(コンテンツの著作権保持者等)」かもしれません。
その辺りは、問い合わせの種類毎に namespace を定義していく事になります。
ただ、これはグループで共通に持つ事が出来るキー、 JXTA でいえば advertisement(広告)にどれだけの表現力があるのか *2 によりますので、まだまだ調査が必要だと痛感しました。
ACL を考えると鍵をどう使うかまで考えないといけないでしょうし、 まだまだ勉強不足です。
XML signature という言葉も始めて聞きましたし…

*1: IC に刻印されていたり、無線でばら撒いたり、 ID の振り方には色々あります。
*2: API を見た限り表現に制限がなさそうで、サービスやデータ本体まで 表現しようと思えば出来そうですが… まだ実験してません…

Winny

Winny のシステムを見て啓蒙される点は、やはり 「まったりコピー」でしょう。
TCP/IP の基本は、同一時間に二点のエンドポイント間で コネクションを共有してデータを転送する所にあり、 Napster や gnutella, WinMX でも、 データを転送する時は同様の事が言えます。
# netstat で相手の IP アドレスが特定できちゃいます。
また、同一時間を共有しているのでチャット(IM)が活用されるのも 自然な流れです。
# WinMX が殺伐としている理由の一つですが…
# あ。僕は WinMX なんて触りませんので、実際の所は分かりません。
一方、Winny は時間シフトがポイントだそうです。
A が欲しがるコンテンツを、B が持っている。
その場合、B のキャッシュを持っているノードを探し、 無ければ C にキャッシュを作成して、C から A にコピーされる。 この場合、A と B で同一時間を共有しない。
また、A が要求した時に、B がネットワークに繋がっている保障も無いので、 Winny に IM のシステムはそぐわない。
この仕組みは匿名性が注目される事が多いのですが、 特定のピアがネットワーク上に存在する事を期待しない 発想も素晴しいと思います。
通常、ネットワークというと複数の端末が同時接続 されている状態を想像しますが、Winny のネットワークでは、 ピアに常時接続を要求せず、 繋がった時にゆっくりと情報を伝播させていきます。
これ見て自分は、メール配送システムを連想しましたが、 じわじわと(場合によっては爆発的に)情報が広がるという点では、 むしろ、コンピュータウィルスに近いものを感じます。
前に書いた、 ネットワークを巨大なストレージとして動かす事を考える場合は、 特定のピアがネットワークに存在する事を初めから仮定しないで 仕組みを考えるべきではないかという考えに至りました。
つまり、以前の、
ある時分断されて、その状態で、分断されている異なる peer が
という考察は見当外れではないかと思う訳です、
peer と peer は常に分断されていてたまに繋がる位で 仕組みを考えた方がシナリオを単純化できるのではないかと 期待しています。
commit でネットワーク全体に一気に広まるのではなく、 ウィルスのようにジワジワと、commit した結果が周りに広まる ようなイメージです。
一定時間以内に PING に反応するホストを特別扱いする等の 処理があっても良いとは思いますが…

[bookmark] ぶっくま〜く

安心・安全なP2Pコミュニケーションを目指す「セキュアP2Pフォーラム」:

Wubdiws 2000 TIPS -- TIPS:コマンド プロンプトで入力補完機能を使う方法:


2003年01月29日(水)(帰りの電車) BGM:メンデルスゾーン - 交響曲第4番「イタリア」

(帰りの電車) BGM:メンデルスゾーン - 交響曲第4番「イタリア」

多謝

u 様の温かいフォローのおかげで、 何とか(気持ち的には)立ち直れそうです。

腹痛

昨晩、なかなか寝つけなくて、睡眠時間を削ったせいか 今日は腹痛に悩まされました。
会社にいる間は大丈夫で、外にいる間がつらい事を考えると、 今日の異常な寒さでお腹が冷え切っているのかもしれません。

お仕事

某プロトコルの Layer 間のインターフェースについて、 ずっと悩んでいる事があったのですが、 上司にふと相談してみたら一瞬にして悩みが解消されてしまいました。
モデルはシナリオと一緒に考えないと意味無いですよね # 当り前すぎ

[JXTA][Java][research] MyJXTA2 と JXTA Config

これ の続きです。
昨年、 9月2日に書いた JXTA 用 HelloWorld のコードを使って、 Config 自動生成が出来ないかの調査です。
yoya@awm.jp% javac HelloWorld.java
yoya@awm.jp% rm PlatformConfig
yoya@awm.jp% java HelloWorld
当然、Config 用の Dialog が現れます。
さて、以前、AutoConfig クラスを利用すれば良いのではと予想しました。 そこで、AutoConfig を import するべくパッケージ名を確認します。
yoya@awm.jp% cd 〜/cvs/myjxta2
yoya@awm.jp% cvs update
	<略>
yoya@awm.jp% cd /binding/java/src/net/jxta/myjxta2/config/
yoya@awm.jp% ls
CVS/  ui/
あれ… ?
確か、ここに AutoConfig.java があったはずなのですが、 ファイルが消えてしまっていました。 このディレクトリで色々とファイルを弄ったりしているので 間違えて消してしまったのかと思い、一から取得し直してみましたが、同様です。
mv myjxta2/ myjxta2.taihi
cvs -d :pserver:yoya@cvs.jxta.org:/cvs co -r refactor myjxta2
一通り構成を見直したところ、 ディレクトリ構成がかなり変更されていて、 config ディレクトリは廃止されている事が分かりました。
yoya@awm.jp% cd myjxta2/binding/java/src/net/jxta/myjxta2/util
yoya@awm.jp% ls
Authenticator.java        PSE.java
CVS/                      PortConfig.java
Config.java               Prefs.java
Configurator.java         ResourceManager.java
ConversionException.java  ResourceNotFoundException.java
Env.java                  Speech.java
FileUtils.java            TestAuthenticator.java
LDAPAuthenticator.java    exec/
Log4J.java
util/Configurator.java に、AutoConf 相当の機能がありそうですので、 ソースを確認しますと、
import net.jxta.util.config.TcpConfigurator;
import net.jxta.util.config.HttpConfigurator;
import net.jxta.util.config.SecurityConfigurator;
import net.jxta.util.config.EndpointConfigurator;
import net.jxta.util.config.RelayConfigurator;
import net.jxta.util.config.RdvConfigurator;
import net.jxta.util.config.PlatformConfiguration;
<略>
  public void configure()
        throws IllegalStateException {
        if (this.pAdv == null) {
            throw new IllegalStateException("peer adv is null");
        }

        configurePeerAdvertisement();
        configureHTTP();
        configureRelay();
        configureTCP();
	<略>
    private void configureHTTP() {
        this.httpConf = null;

        try {
            this.httpConf = new HttpConfigurator();
        } catch (Exception e) {
            if (LOG.isEnabledFor(Priority.WARN)) {
                LOG.warn("could not configure HTTP", e);
            }
        }

        if (this.httpConf != null) {
            this.httpConf.enable();

            int port = this.resources.getInt(Config.HTTP_PORT,
                                             Config.Default.HTTP_PORT);

            this.httpConf.setPort(port);
            this.httpConf.setServerEnabled(false);
	<略>
これは、僕が当初予想していた JXTA のコンフィグ API を使って、 設定ファイルを生成する方法ですね。
以前のような、xml builder を使って 自前で(力ずくで)設定ファイルを作成する方法はやめたようです。
 *  $Id: Configurator.java,v 1.1.2.4 2003/01/27 22:16:59 gonzo Exp $
できたてホヤホヤ。(^-^

[bookmark] JXTA 関連の日本語テキスト

ONJava.com の Getting Started with JXTA 非公式和訳:

公開許諾は、現在請求中 :-) 
oh... に張り付けてある文書も素敵です。 XML, RDF, SOAP, JGuru のショートコース, JXTA ...

JXTA(JXME):

Play JXTA:

有名ですし何度も紹介しましたが、整理の為もう一度ブックマーク

JXTA v1.0 プロトコル仕様:

[news] ニュース

「インターネット事態」PL訴訟可能に:

そもそも管理の怠慢が原因ですので、 恥の上塗り以外の何物でもないような…

[bookmark] ぶっくま〜く

Web Service技術解説とアプリケーション構築技法:

キーワード

ja-jxta 日本:

ja-jxta 翻訳:

ISOイメージ:

プログラム:

soap Property 引数:


2003年01月30日(木)(自宅)

(自宅)

欠勤

   ||    ⊂⊃
   ||    ∧ ∧
   ||   (  ⌒ ヽ
 ∧||∧    ∪  ノ
(  ⌒ ヽ 彡  V
 ∪  ノ  フワーリ
  ∪∪
昨日の晩、会社からの帰宅途中に食べた立ち食い蕎麦 *1 が体に合わなかったのか、 その後家に着くまでに、「 寒いってのにも程がある *2 」外気にあてられたせいか、 お腹がいたくて、明け方まで痛みをまぎらわすために 床の上でゴロゴロしてました。
以前 、似た状態の時に胃を癒してくれた大根の煮付けは、 今回に限っては役に立ってくれませんでしたし、 ホットミルクを飲んでも痛みは変わりません。
ついこの前に、胃カメラを飲んで 問題ない と言われているのが、 せめてもの(心の)救いです。
今は落ち着いてますし、こうして日記を書く余裕もあるのですが、 窓を空けて外の厳しい寒さを理解したので、 念の為、会社は休む事にしました。
家で仕事させてと主張する事も考えましたが、デザインの検討をしていて、 成果として報告しにくい内容のお仕事ですので、 明日、今日の分も頑張るという事で欠勤にしました。
# スキャナが自宅にあれば図を取り込んで整理して成果として報告出来そうですが…
労働日数8割の縛りで、欠勤カードはあと数日も使えないので、 まさしく崖っぷち…

虚弱:

これで、ますます虚弱体質という印象を周りに 広めてしまったようで…
やはり、大きな手術をした後数年は、 無理をしてはいけないのでしょうか。
# 手術の翌月に 休日出勤 をしてたり、翌々月には 徹夜 をしていたり、その後、連続して深夜残業をしていた人間の言うセリフではないですね…

*1: おそらく、長ネギをいれ過ぎたのが敗因です。
*2: 冷蔵庫の中にいるかのような寒さでした…

病院

寒くならないうちに…

お勉強

某スタックでレイヤを跨いだ処理を書く為に、 参考になるコードを読んでます。

Symantec AntiVirus 延長キー取得

VAIO にバンドルされている AntiVirus の期限が切れましたので、 延長手続きを試みました。 で、「SONY」->「Norton AntiVirus 2002 延長キー」と進んで行くと…
会員登録が必要ですか。 郵便番号7桁や住所(町まで)、電話番号が必須扱いになっているのは 少し頂けない感じですが。
とりあえず、電話番号には例にのってる番号をそのまま入れました。 電子メールで(もし悪い事をすれば)十分個人を特定できますし、 知らない人から電話をかけられるのは嫌です。
メンバー名は既に使用されています。
他の所で延長パッケージを購入出来ないかな…

D 支障:

ありがとうございます。
希望するユーザ名が取れなくて短気を起こしただけで、 個人情報を送る事には、それほど神経質にはなっていません。
そもそも、世界中から誰でもアクセスできる某 DB に、本名と自宅の住所を登録してるような人間ですし… (謎
まぁ、ユーザ登録でメールアドレス以外は適当(not 適切)な情報を登録するのが良さそうですね (ぉ

[keyword] 検索キーワード

ファンファーレ BGM:

「市民の為のファンファーレ」という文字がひっかかったようです。

starsuite インストール ini:

Linux backlog listen java:

DoS accept TCP ブロック:

DHTS 自動車:

道路を走っている車同士で、ad-hoc なネットワークを張って通信が出来れば、 色々な応用が出来そうです。
IM 的な発想だけでも、 「この先で鼠取りやってるぜ。気をつけなっ」「てめぇ、俺を追い越して、どうなるか分かってるんだろうな?」「あなた、今、灰皿の中身を道に捨てましたね? 近所の人に通報しますので覚悟して下さい」等々、心温まる情報のやり取りが出来るのではないかと思いますし。
空いてるお店や道路の情報を教えてくれるシステムとかあると嬉しいかもしれません。
あと、ジュークボックス的な発想だと、 自分のように運転時に鳴らす曲を選ぶのにも悩む人間としては、 その辺一帯で BGM で鳴らしている曲名を共有しておいて、 カテゴリーをいれると、 周りの人達が聞いているのと同じ曲を鳴らす事が出来るとか… # 結局、カテゴリで悩むのであまり役に立たないかも

フレーム:

jxta 研究:

sversion.ini:

.fr(フランス)からのアクセスでした。

音楽 ファイル すかし インターネット 違法:

アンダーグラウンドな情報は、表の日記には書けませんので… (謎

"Java Press Vol.28":

wait3 c サンプル:

java defunct とは:

pthread_attr_setschedparam 説明:

メモ

地上デジタル放送:

関東地方の地上デジタル放送は2003年末から始まります
国の計画では、現在のテレビ放送は2011年までに地上デジタル放送に
移行する予定です。
東京・大阪・名古屋の三大都市圏では、2003年末から地上デジタル放送が始まります。
その他の地域でも、2006年から地上デジタル放送が始まります。
そして、2011年には現在の放送(アナログ放送)は終了し、
テレビ放送はすべてデジタル放送になる計画です。

ぷらら掲示板 - 2ちゃんねるの件及び掲示板再開について:


2003年01月31日(金)(自宅)

(自宅)

仕事

人に何かを伝えようとして、伝わりそうも無い時、 色々と表現を変えてでも伝わるように努力するべきですが、 諦めてしまいがちな傾向は何とかしないと、 これから先、生きてゆけない気がします…
明日の行事が気になって、集中できなかった事もありますが…

明日、行事

明日、我が家でとある行事が行われますので、 恐らく、明日一日メールへの返事が出来ません。
今日も帰宅してから準備で忙殺されてます…

VAIO - ADETC A.P. 不調

今日は、VAIO - ADTEC A.P. 間の無線が頻繁に切れます…
22:14:04 [!] close: 44 (Connection reset by peer)
22:15:04 [!] Connect: 192.168.<略>(1602)/45
22:23:27 [!] Connect: 192.168.<略>(1620)/46
22:23:27 [!] close: 45 (Connection reset by peer)
22:29:08 [!] Connect: 192.168.<略>(1629)/47
22:29:29 [!] close: 46 (Connection reset by peer)
22:32:54 [!] Connect: 192.168.<略>(1645)/48
22:33:08 [!] close: 47 (Connection reset by peer)
22:51:06 [!] Connect: 192.168.<略>(1707)/49
22:51:10 [!] close: 48 (Connection reset by peer)
23:02:14 [!] Connect: 192.168.<略>(1728)/50
23:02:36 [!] close: 49 (Connection reset by peer)
今日の行事のログを書いていまして、こう頻繁に切れると‥ 僕も切れます‥ # ← 短気な人

ハニーポットを作ってみる

なるほど。
    print $welcome_msg;
    my $username;
    my $password;
    while(1) {
        print "login: ";
        $username = ReadLine 0;
        if ($username =~ /([^\r^\n]*)/) {
            $username = $1;
        }
	print "Password: ";
        ReadMode 'noecho';
        $password = ReadLine 0;
        if ($password =~ /([^\r^\n]*)/) {
            $password = $1;
        }
        ReadMode 'normal';
	<略>
こうしますと、直にコンソールから実行すると思ったとおり、 パスワードを入力する時に文字が隠れるのですが、inetd 経由ですと、 タイプした文字が表示されてしまいます。う〜ん…

ぶっくま〜く

〜開発は継続されるが、アップデートはWinny上で:

Winny に見せかけたトロイの木馬が出回りそうですが、 どういう対策をしているのでしょう。

ブラウザーを乗っ取るアドオン・ツールバー『Xupiter』:

「サイバーテロの危険性を軽視するな」セキュリティ専門家:

アメリカとイラクが戦争状態になった時には、 ネットワーク管理者も緊急体制を取った方がいいかもしれません。

これで、31 日分だよ〜。

タイトル一覧
カテゴリ分類
Database
JXTA
Java
XML
awm
bookmark
keyword
memo
news
research
Powered by hns-3.9.5y, HyperNikkiSystem Project