These pages are written by only Japanese.

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

こんばんわ♪ 現在は5月22日(水)0時15分。 日付が変わりました。


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

先月 2003年02月 来月
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
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2003年02月10日(月)[天気:曇り](帰りの電車) BGM:ブルックナー交響曲

[天気:曇り](帰りの電車) BGM:ブルックナー交響曲

日記の文体

ここしばらく、日記を書く際に文体を丁寧にしようと 心がけて来ましたが、 結局のところ、文章の内容が薄いままで文体だけ丁寧にしても、 読みにくい事に変わりが無い事に気づきました。# イマサラ的
去年の日記ほど、いい加減な言葉使いに戻すのはどうかと思いますが、 少しずつ崩して、日記の中身とつりあいの取れる所まで戻す予定です。
# 完全に去年の状態に戻りそうな予感。

通勤中に目に毒な…

通勤中に電車の中で、 黒いふりふりドレスを着た女の人を見かけました。
見かけましたが… それがいわゆるぽっちゃり系 (←死ぬ程オブラートに包んだ超控えめな表現)でしたので、 全く持って目に毒(←思いっきり誤用)でした。
ゴスロリを侮辱するなぁ〜〜っっ!! (゜Д゜)
その視覚を介した精神攻撃のせいか、 崩れ気味な天気で腰が痛むせいか分かりませんが、 今日は頭に霞がかかったようで、非常に困ります。

お仕事

アルゴリズムはほぼ(部分部分、まだ曖昧な部分が残っていますが) コードと一対一対応するところまで詳細化しました (レビューで殆ど手直しされているので、詳細化をしたというより、 してもらった感じもしますが…)ので、 とにかく手を動かさなければならないのですが。
今の状態でコーディングを強行する事は、 天気の悪い冬の雪山に裸で登るようなもので、 無理して書くと、また駄目駄目なプログラムが出来てしまいそうなので、 明日に先送りします。
まだ、ダメ社員から脱出できていないようです。

ニュース

IP電話サービス『OCN .Phone』の本格サービス提供開始について @ NTT Communications:

これ の続き
昨日、日記に記録した URL の ですが、NTT でなく NTT コムですよね。
# ↑ 某氏のツッコミがあるまで気付きませんでした。
記事の中では、「NTT コム」と書かれていますので、 タイプミスで書き忘れたか、故意にごっちゃにしてるか、 どちらかだと思いますが、 今では、NTT は持ち株会社ですし、 NTT だけだと NTT 地域会社と思われそうなので、 ごっちゃにするのはどうかと思います。

エレコム、シールド加工した厚さ1.4mmのLANケーブル:

検索ワード

spawn posix:

end of non-void function:

loli .rm:

すみません。 そんなファイル持ってませんし、そういう趣味もないです…

2003年02月11日(火)(自宅)

(自宅)

今日のはまり所

今日は、JXTA を起動しても一向に RDV との接続が成功しません。
そこで、警告レベルを INFO から WARN に上げてみました。 INFO にしておくと見過ごすエラーがあると思ったからです。
<ERROR ??:??:??,143 ServletHttpTransport:588> Error starting HTTP server:
java.io.IOException: Problem starting Jetty: org.mortbay.util.MultiException\
[java.net.BindException: Address already in use]
これだ…
プロセスを確認すると、RMI の activation で JXTA プロセスが動いていました。 rmid は止めたのですが、どうやらそれでもプロセスが残る事があるようです。
kill -TERM で止まらないので、-KILL でプロセスを止めて、 JXTA を起動し直したところ、RDV との接続ができました。

[bookmark] ぶっくま〜く

WinSCP 2.2:

いつのまにか、2.2 までバージョンが上がっていました。
今まで 2.0 を使っていたのですが、2.2 にしてから段違いに快適です。

[memo] メモ

Slammer対策のポートフィルタリングでDNSに悪影響も〜JPRSが注意呼びかけ:

そういえば、昔、NTP でこれに似た問題に出くわした事を思い出しました。

ワールドカップの贈り物 # デンマーク代表:


2003年02月12日(水)(自宅)

(自宅)

今日は寒すぎ

あまりに寒いので会社を休みました。
夕方に近付くにつれて、休んで正解だという思いを強くしました。
今日の寒さは異常です…

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

(自宅)

人生最悪の日 (謎

何もかもが駄目な週… 会社の中でも外でも…
蜘蛛の巣にかかった蝶のような気分です。 もしくはギロチン台の階段を登っているような…

雑多なお話

MOT:

最近は、MBA ばかりでなく MOT のような、 経営・技術、両方に精通する人材が求められるそうで。
# 自分は今のところ *1 どちらもダメですが…
技術基盤が揃ってきて、かつ使う技術要素の選択肢が増えてきた現在、 顧客の曖昧な願望から、 明確な要求仕様にまで練り上げる能力が重要になってきているけど、 日本人は、どうもそういう折衝が苦手な人が多いんじゃないかなと。
確かに、要求分析をする際には、
  • 実現したサービスで、どれだけの利益が得られるのか
  • そのサービスを構築するのにどの位のコストがかかるのか (そもそも、サービスを実現できるかのリスク)
といったところで、最大限の利益が得られるところに 落ち着かせると思うのですが、この辺の感覚も身につけていかないと 将来、役に立たない人材になるのかなと。思うわけです。
# 自分の場合は、頭を使う為の基礎力を何とかしないと、 永遠にスタートラインにさえ立てそうにありませんが…

P2P:

やはり、無線を使ったシステムの開発が流行りのようで…
<企業秘密ばかりでしたので、ここには何もかけません> (w
採算の問題で、表に出てこないだけで、 色々なアイデアを持っている人がいるのですね。
あと、P2P で一極集中な負荷を激減させるアプリケーションが 一般的になった場合、サービスプロバイダ(?)等のやっている 高価なサーバのリソースを切り売りする商売が 出来なくなるのではないかというありきたりな話も出ました。
peercast のような(そこそこ)実用的な *2 ツールもありますし、 そろそろ、現実的になりそうな話だと思います。 各社、どのようなビジネスモデルで攻めてくるのか楽しみです。

*1: 強がりをいってみるテスト
*2: 某ライブ実験ではブチブチ音が切れたり、 切断すると、次に繋げようとしてもなかなか繋がらなかったりと、 まだまだ問題はありそうですが…

「warning: recursive call.」エラー

このドキュメントは、FreeBSD の話ですが、NetBSD でも同様でした。
以下のように変えて実験してみます。
# $SIG{'CHLD'} = sub { shift; while( waitpid(-1,&WNOHANG)> 0) { } };
$SIG{'CHLD'} = 'IGNORE';

部長さまへ私信

!!!!!!
しょ… 紹介しるぅっっ!!!
コホン…
いえ… 冷静に考えますとですね。部長さまで 7,8才差という事は… <以下、自分の年齢が推測されそうな文章なので削除>

2003年02月14日(金)(自宅)

(自宅)

回復

お釈迦様が蜘の糸を…
閉塞感 *1 が緩和されてきましたので、 アイデアやコードの棚卸しを始めています。
*1: パニックともいいます

JXTA Shell 起動

shell だけ起動したい場合は、
import java.io.*;
import java.util.*;

import net.jxta.peergroup.*;
import net.jxta.peer.*;
import net.jxta.impl.protocol.*;


public class JxtaShell {
        public static void main(String []args) {
                JxtaShell test = new JxtaShell();
        }
        public JxtaShell() {
                try {
                        ResourceBundle jxtaRsrcs =
                                        ResourceBundle.getBundle( "net.jxta.impl.config" );
                        String platformPGClassName =
                                        jxtaRsrcs.getString( "PlatformPeerGroupClassName" ).trim();
                        String stdPGClassName =
                                        jxtaRsrcs.getString( "StdPeerGroupClassName").trim();
                        PeerGroupFactory.setPlatformClass(Class.forName(platformPGClassName));
                        PeerGroupFactory.setStdPeerGroupClass(Class.forName(stdPGClassName));
                        PeerGroup p = PeerGroupFactory.newPlatform();
                        p.startApp(null);
                } catch( Throwable e ) {
                        e.printStackTrace();
                }
        }
}
こんなので良いみたいです。
net.jxta.impl.peergroup.Boot のコード を丸写ししただけですが…
何をいいたいのかといいますと、 既に動いている JXTA のアプリケーションに上記のコードを利用 *1 して jxta shell の コンソールを開く事が出来れば、 rdvstatus や peers -r 等のコマンドで状態を把握したり、 自作のコマンドを外部コマンドとして登録して、 拡張機能を追加できるのではないかと…
コマンドの追加 は簡単ですし。
続く

rdvadd コマンドの追加 (失敗):

rdv を追加するコマンドの作成を試みました。 結果としては失敗なのですが、作業記録だけでも残します。
${WORK_DIR}/net/jxta/impl/shell/bin/rdvadd/rdvadd.java
に、以下のコードを置き、コンパイルを実施しました。 実行結果
JXTA>rdvstatus
	<略>

Rendezvous Connection Status:
____________________________

Is Rendezvous : [true]

Rendezvous Connections :

  [None]

Rendezvous Disconnections :

  [None]

Rendezvous Client Connections :

  [None]


JXTA>rdvadd http://alt.awm.jp:9700
<INFO 18:19:58,423 Shell:589> BEGINING OF COMMAND : rdvadd http://alt.awm.jp:9700
<INFO 18:19:58,437 HttpClientMessageSender:218> Ping OK  from : alt.awm.jp:9700
<INFO 18:19:58,442 HttpClientMessageSender:218> Ping OK  from : alt.awm.jp:9700
JXTA><INFO 18:19:58,454 WireFormatMessageBinary:471> sending class net.jxta.endpoint.NewMessage{63} to stream

<INFO 18:20:00,934 Shell:589> BEGINING OF COMMAND :
JXTA>rdvstatus
<INFO 18:20:02,774 Shell:589> BEGINING OF COMMAND : rdvstatus

Rendezvous Connection Status:
____________________________

Is Rendezvous : [true]

Rendezvous Connections :

  [None]

Rendezvous Disconnections :

  [None]

Rendezvous Client Connections :

  [None]


JXTA>
増えてくれません (ρ_;
まだまだ理解が不足しているようです…

*1: 実際にどう使えるかは、色々と調査/実験してみないと分かりませんが…

2003年02月15日(土)[天気:晴れ](ロマンスカー) BGM:「ダフニスとクロエ」組曲第二番 - ラベル作曲

[天気:晴れ](ロマンスカー) BGM:「ダフニスとクロエ」組曲第二番 - ラベル作曲

夜食を反省

昨晩、仮眠したつもりが、朝まで熟睡してしまいました。 あと、朝の目覚めが悪いのは、昨日の深夜、 晩御飯の余りを、無理して食べたせいでしょう。
夜食を取ると次の日の目覚めが悪いというのは、 何度も経験しているはずですが、全く反省が生かされていないようです。
# 馬鹿は死ななきゃ治らない。でも死んだら終わりなので。つまり、馬鹿は救われないという事でしょうか。

休日出勤

お昼に出社。 昨日、実施する予定の実験に、 準備不足で着手できなかったので、 今日はその埋め合せの作業です。
久々に出勤にロマンスカーを利用しました。 今日はよく晴れて、絶好のピクニック日和で、 窓から見る眺めも良いです。 ぅぅぅ‥ (ρ_;
暖かくなって体が完全に復調 *1 するまでは、ピクニックは自粛して、 ここ数ヵ月で遅延させてきた仕事を粛々と進めます。

環境構築:

プライベートネットワークを作る為に、 既に動いているサーバに、DEC の Ether カードを挿してみました。
Feb 15 17:08:41 cl◯ver /kernel: de0: system error: reserved #7
Feb 15 17:09:43 cl◯ver /kernel: de0: system error: reserved #7
Feb 15 17:13:46 cl◯ver /kernel: de0: system error: reserved #7
…壊れたかも…
仕方がないので、予備で持って来ておいた RealTek チップの載ったカードを使います…


今度は SCSI BIOS が動かなくなりますか…
しかも、RealTek なカードを外すと、SCSI BIOS 動いてるし…

… 2,3度カードの挿抜を繰り返した所、 どうも Ether カードとの組合せでなく、 単に SCSI カードの調子が悪いだけのようです。
Ether カードを取り替えて、SCSI が動かなくなったのは (恐らく)偶然…
rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        ether 00:90:cc:??:??:??
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

※ ?? はプライバシーの問題で隠してます。:)
動きました。
今日は時間切れですので帰宅。 残り作業は明日以降に持越し…

*1: 多分、死ぬまで復調する事はなさそう。

Winamp ギャップレスモード

普通に、Winamp で複数の曲を連続して聴いていると、 曲と曲の間に(無音の)隙間が入ってしまいます。
クラシック等で楽章間で音楽が繋がっている場合に、 音がとぎれて曲を壊される事があり、 繋がる楽章は一つの mp3 ファイルにまとめるような事をしていました‥
ですが‥
「メニュー」 → 「オプション」→「プラグイン」
→「Output」→「Crossfading DirectSound output v1.3」
→「高度な設定」→「ギャップレスモード」
にチェックを入れると、隙間がなくなるのですね。 f(^^;
今まで気づかなかったのがどうかしているのですけど…

お買い物

プリント・サーバが一番の目当てでしたが購入できませんでした。
接続しようとしているプリンタが、 パラレルのポートが対応している事を確認して、いざ購入しようとした時、
あれ? パラレルだったっけ、ほんとに。
USB 接続じゃないよね。
という風に、途中で確認した事自体に確信が持てなくなり、 購入に踏み切れませんでした。
自分の記憶に自信が無いにも程がありすぎ…

ボイスレコーダー:

師匠のリサーチを信じて、 SANYO の DEGITAL TALKBOOK ICR-B80RM を購入しました。
使ってみて気になる欠点としては、
ID tag の表示が無い。
tag 入れるの面倒なので、自分は無くても良いです。
曲と曲の間にギャップが入る
倍音のつまった「きつい音」が強調される
ヴァイオリンやシンバル、クラリネットといった楽器の音がやたらと大きく聞こえる
内蔵スピーカーが付いている
イヤホンが抜けた途端に、周囲に音が洩れてカミングアウト… (w
といった所が思いつきます。
あと、64M byte の容量は少なく感じました。
12曲入れようとして、半分の6曲しか入りませんでしたので… (謎
ただ、これは 320k 圧縮のファイルを使用したからかもしれません。 今度からは、mp3 プレイヤー用に 64k 圧縮も作成しないと…
# また CD の山を押入れから引っ張り出さねば… (ρ_;
と、ここまで書いて、
お前はボイスレコーダーを買ったんだろ?
という突っ込みを受けそうなので、 ボイスレコーダーの出来について書きますと…
………
どう書けば良いのか分からないので、 某 O 線始発の S 駅で録音した音を晒して見ます。 雑音の多い電車の車内。扉の側。 しかも扉が開きっぱなしという状況で録音したにしては、 なかなかのものだと思います。
えっと、例として不適切な気もしますので、 今度、社内の会議を隠しどりして晒してみましょうか? (マテ
# … や… 冗談ですよ。冗談…
# 企業秘密以前にやばい会話も沢山ありますし…

ビットレート変換

押入れから、またあの CD の山を漁るのは気が滅入りますので、 音質が落ちますが、320Kbit → 64kbit で変換し直す事にします。
当初、 を試してみましたが、 フリー版では、4 つのファイルまでしか一括エンコードの処理が出来ない制限がありましたので、 ↑こちらに浮気しました。 から取得した lame_enc.dll を、AudioEncoder の exe ファイルのあるフォルダに 置いて、AudioEncoder を実行すれば lame で mp3 のエンコードが出来ます。
ビットレートを 64kbit で変換したのですが、 勝手に曲のサンプリング周波数が 44kHz から 22kHz に落とされました。
… と愚痴った所
<e> ビットレート下限があるんで仕方ないかと
<e> ステレオ 44kで64kは厳しいはず
なるほど…

低ビットレートへの再エンコード:

元の音に比べて音程がわずかに上下して、 気持ち悪いような良いような。f(^^;
歪んだレコードを聞いているような気分です。
量子化雑音が増幅されている所も含め、 まさしくレコードのような音質です。
CD から抽出した PCM 音源から、64kbit エンコードした時は、 それほど音質の劣化が気になった事がなかったので、 低ビットレートというより、再エンコードの問題だと思います。 まぁ、ぼーっと聞いてる分には気になりませんが…
ボイスレコーダの入手という当初の目的を完全に忘れてみるテスト

2003年02月16日(日)[天気:雨](自宅) BGM:チャイコフスキー交響曲第1番〜6番

[天気:雨](自宅) BGM:チャイコフスキー交響曲第1番〜6番

寒い

。。。 ぅぅぅ (ρ_;
まだ、会社帰りに寄り道をする体力は残っていないようです。
昨日は、晴れている割に 非常に冷え込んでいたという事もありますが。

JXTA 調査 properties ファイル

.properties に関して調べました。
JXTA Shell を起動しているプロセスが開いているファイルを strace で盗み見するという荒っぽい方法を使っています。
yoya@awm.jp% strace java -Dnet.jxta.tls.principal=yoya \
	     -Dnet.jxta.tls.password=<内緒> JxtaShell >& jxtashell.strace

JXTA Shell 以外でしか開かない properties ファイルもあるかも しれませんので、これが全てという訳ではありませんが、 参考程度にはなるかもしれません。

.properties 列挙:

yoya@awm.jp% grep properties jxtashell.strace
lstat64("/usr/java/j2sdk1.4.1_01/jre/lib/logging.properties",
{st_mode=S_IFREG|0444, st_size=2245, ...}) = 0
open("/usr/java/j2sdk1.4.1_01/jre/lib/logging.properties", \
O_RDONLY|O_LARGEFILE) = 5
      <略>
stat64("/usr/java/j2sdk1.4.1_01/lib/net/jxta/user_ja_JP.properties", \
0xbfffbb84) = -1 ENOENT (No such file or directory)
stat64("/usr/java/j2sdk1.4.1_01/jre/lib/net/jxta/user_ja_JP.properties", \
0xbfffbb84) = -1 ENOENT (No such file or directory
このように grep を書けているので、もしかしたら見逃しているのも あるかもしれません。m(__)m
properties ファイルを探索する順序ですが、 「/usr/java/j2sdk1.4.1_01/jre/lib/logging.properties」 を除いた残り全ては、 $PWD, $JAVA_HOME/lib/, $JAVA_HOME/jre/lib/ の順でファイルを検索していました
JXTA の properties
net/jxta/impl/config.properties
net/jxta/impl/config_ja.properties
jxta.properties
net/jxta/user.properties
net/jxta/user_ja.properties
net/jxta/user_ja_JP.properties
Log4J の properties
log4j.properties
cryptix の properties
cryptix/asn1/lang/lang.properties
cryptix-lib/Cryptix.properties
Cryptix.properties
META-INF/Cryptix.properties
cryptix/Cryptix.properties
cryptix-lib/Local.properties
Local.properties
META-INF/Local.properties
cryptix/Local.properties
cryptix/asn1/encoding/encoding.properties
Java 自身の properties
logging.properties
sun/awt/resources/awt_ja_JP.properties

jxta.properties - HTTP Configure:

jxta を起動した時の current directory に jxta.properties を置く事で、 JXTA が起動する HTTP サーバのパラメータを変える事が出来ます。
# JXTA Properties

# How long (in millis) the sessions/leases are for relay leases.
RelayServer.LeaseLength = 1800000

# The minimum and maximum size of the thread pools for the http server
HttpServer.MinThreads = 10
HttpServer.MaxThreads = 200

# how long (in millis) an http request has to finish transferring before the
# http server discards the request (in millis)
HttpServer.MaxRequestReadTime = 60000

# how long (in millis) a thread in the thread pool is allowed to be idle before
# it is reclaimed
HttpServer.MaxThreadIdleTime = 120000

net/jxta/impl/config.properties - Advertisement:

を読むと、
In order to have an advertisement recognized upon discovery,
it needs to be registered through the AdvertisementFactory registerAssoc method,
that reads in the net/jxta/impl/config.properties files to
get all the AdvertisementInstanceTypes. 
だそうです。
参考のため、JXTA platform のソースコードに含まれる platform/binding/java/impl/src/net/jxta/impl/config.properties への リンクを張り付けます。 この properties を利用する事があるとすれば、 AdvertisementInstanceTypes 位でしょう。

net/jxta/user.properties:

# Amount of time in minutes after which a connection is considered idle and may 
# be scavenged.
impl.endpoint.tls.connection.idletimeout=20

# Amount of time in minutes a connection must be idle before a reconnection 
# attempt will be considered.
impl.endpoint.tls.connection.minidlereconnect=5

# Amount if time in minutes which retries may remain queued for retrasmission.
impl.endpoint.tls.connection.maxretryage=10
各、Revision の history を見る限り、 チューニングが必要なパラメータを、impl.〜 で設定して、 デフォルトの値を決めたら、パラメータの設定を廃止するといった 使いかたをしているように見えます。# あまり根拠の無い推測。

Netscape 4.x Messenger の Drafts フォルダ

いまだに自分は Netscape4.x Messanger を使っているのですが、 大分、昔に、
localhost:xxx → mail.awm.jp:smtp
localhost:yyy → mail.awm.jp:imap
の設定にして、ssh port forwarding をするようになってから メールを書いている途中でセーブすると、 100% Netscape Messenger が落ちる症状に出くわして、 何度もメールを一から書き直すはめになる事がありました。
で… 設定を見直したところ、解決。
「メニュー」→「編集」→「設定」→「メールとグループ」→
「コピーとフォルダ」→「下書きとテンプレートの保存」→
「下書きの保存」→「フォルダの選択」
ここで、デフォルトでは、
右の Drafts フォルダ <ホスト名>
となっています。そこで試しに、
その他 <フォルダ名>
を指定して。明示的にフォルダ名を指定したところ、 Drafts にメールを保存しても、Netscape が落ちなくなりました。

2003年02月17日(月)[天気:晴れ](自宅) BGM:チャイコフスキー交響曲第一〜六番

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

病み上がり

昨日の風邪を引きずっていたせいか、体が重たく感じます。 特に腰の痛みが半端じゃなくて…
午前中の病院のリハビリをさぼり、 自宅で電気毛布にくるまって腰を温め続け、 お昼にはなんとか出社できる状態まで持ち直しました。

転職

前の会社で勉強した事が幾ど役に立たない罠…
わずか一年前、 しかもデバッグや障害対策で相当頭を使った事すら、 うっすらでしか覚えていない自分の記憶力に乾杯。 (やけ気味
う〜ん…
筋力トレーニングみたいに、頭脳トレーニングも必要なのだろうか…

フレッツ、工事情報

フレッツの工事の通知が、2月21日と28日の二種類が来てましたので、 どちらかなのか、もしくは両方なのかを確認する為に、 下記の URL にアクセスしました。 都道府県は<内緒>で「工事情報」 サービスは、「アクセス系サービス」でと…
Method Not Allowed

The requested method POST is not allowed for the URL /flets/customer/const/index.html.

ブラウザを変えてみた:

別の PC の IE で開いてみたら、今度は閲覧できました。
設定に依存する罠かもしれません。 くすん… (ρ_;

メモ

Download VNC 3.3.6:

何時の間に、3.3.6 に… セキュリティー的な問題ではないようで、ほっとしてます。

JXTA 2.0 リリース

取得方法:

今現在、zip や tar で固めた提供が見付かりません。
The platform, security, shell, cms, instantp2p  and myjxta2 code bases have
been tagged with the CVS tag: JXTA_2_0_Candidate_Release_20030215
という文章から考えると、cvs で持っていけという事でしょう。 自分(yoya)の場合は、
yoya@awm.jp% for module in platform security shell cms instantp2p myjxta2
> do
> cvs -d :pserver:yoya@cvs.jxta.org:/cvs checkout 
	     -rJXTA_2_0_Candidate_Release_20030215 $module
> done
のようにして取得しました *1
zip で圧縮します。
yoya@awm.jp% for module in platform security shell cms instantp2p myjxta2 ; do
> do
> zip -r9 $module.zip $module
> done

コンパイル方法:

build の手順は、全てに共通していて。
cd ${MODULE}/binding/java
ant
cp dist/*.jar ${JXTALIB}/. # instantp2p は dist でなく lib に出来ますが…
です。
platform を例にします。
cd platform/binding/java
ant
	<略>
    [javac] /home/yoya/cvs/platform/binding/java/impl/src/net/jxta/impl/peergroup/Configurator.java:792: \
警告: net.jxta.protocol.PeerAdvertisement の setDescription(java.lang.String) は推奨されません。
    [javac]                 advertisement.setDescription("Platform Config Advertisement created by : " + Configurator.class.getName() );
    [javac]                              ^
    [javac] /home/yoya/cvs/platform/binding/java/impl/src/net/jxta/impl/pipe/PipeServiceImpl.java:485: \
警告: net.jxta.pipe.PipeService の createMessage() は推奨されません。
    [javac]     public Message createMessage() {
    [javac]                    ^
    [javac] /home/yoya/cvs/platform/binding/java/impl/src/net/jxta/impl/pipe/PipeServiceImpl.java:279: \
警告: net.jxta.pipe.PipeService の createOutputPip
e(net.jxta.protocol.PipeAdvertisement,java.util.Enumeration,long) は推奨されません。
    [javac]     public OutputPipe createOutputPipe(PipeAdvertisement adv,
    [javac]                       ^
    [javac] 警告 3 個
    <略>
jar:
      [jar] Building jar: /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/platform/binding/java/dist/jxta.jar
警告が3つ程表示されている *2 *3 なのですが…
けど気にしない… うん。気にしない…
この jar ファイルを適当な CLASSPATH が通っている場所に コピーすればインストール完了。
cp dist/jxta.jar ~/lib/java/jxta2/.

尚、幾どのモジュールは JXTA1.x でコンパイルする事が可能ですが、 myjxta2 だけは、JXTA2.x を CLASSPATH に通さないと コンパイルできませんでした。
以下に証拠
yoya@awm.jp java% echo $JXTA_LIB
/home/yoya/lib/java/jxta
yoya@awm.jp java% ant
    [javac] /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/net/DiscoveryHelper.java:242: シンボルを解決できません。
    [javac] シンボル: メソッド getAdvertisements ()
    [javac] 場所    : net.jxta.protocol.DiscoveryResponseMsg の クラス
    [javac]             enum = res.getAdvertisements();
    [javac]                       ^
    [javac] /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/search/PersonSearch.java:281: \
シンボルを解決できません。
    [javac] シンボル: メソッド getAdvertisements ()
    [javac] 場所    : net.jxta.protocol.DiscoveryResponseMsg の クラス
    [javac]         for (Enumeration r = res.getAdvertisements();
    [javac]                                 ^
    [javac] /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/PipeHelper.java:360: \
シンボルを解決できません。
    [javac] シンボル: メソッド getAdvertisements ()
    [javac] 場所    : net.jxta.protocol.DiscoveryResponseMsg の クラス
    [javac]             Enumeration responses = res.getAdvertisements();
    [javac]                                        ^
count = 0, total = 6
    [javac] /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/search/GroupSearch.java:202: \
シンボルを解決できません。
    [javac] シンボル: メソッド getAdvertisements ()
    [javac] 場所    : net.jxta.protocol.DiscoveryResponseMsg の クラス
    [javac]             Enumeration enum = res.getAdvertisements();
    [javac]                                   ^
    [javac] /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/config/JxtaBuilder.java:244: \
net.jxta.impl.protocol.HTTPAdv の setPort(java.lang.String) は (int) に適用できません。
    [javac]     httpAdv.setPort(Integer.parseInt(httpPort));
    [javac]                ^
    [javac] /home/yoya/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/config/JxtaBuilder.java:413: \
シンボルを解決できません。
    [javac] シンボル: メソッド setLevel (org.apache.log4j.Level)
    [javac] 場所    : org.apache.log4j.Logger の クラス
    [javac]         jxtaLogger.setLevel(Level.toLevel(debugLevel));
    [javac]                   ^
    [javac] エラー 6 個
.bashrc を編集して

#export JXTA_LIB=$JAVA_LIB/jxta
export JXTA_LIB=$JAVA_LIB/jxta2
yoya@awm.jp% . ~/.bashrc
yoya@awm.jp% echo echo $JXTA_LIB
/home/yoya/lib/java/jxta2
yoya@awm.jp% ant
    <略>
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/ChatSession.java:308: \
警告: net.jxta.pipe.PipeService の createMessage() は推奨されません。
    [javac]             msg = pipeService.createMessage();
    [javac]                              ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/ChatSession.java:310: \
警告: net.jxta.endpoint.Message の newMessageElement(java.lang.String,net.jxta.document.MimeMediaType,java.io.InputStream) は推奨されません。
    [javac]             msg.addElement(msg.newMessageElement(SENDERMESSAGE, null, ip));
    [javac]                               ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/ChatSession.java:310: \
警告: net.jxta.endpoint.Message の addElement(net.jxta.endpoint.MessageElement) は推奨されません。
    [javac]             msg.addElement(msg.newMessageElement(SENDERMESSAGE, null, ip));
    [javac]                ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/ChatSession.java:311: \
警告: net.jxta.endpoint.Message の setString(java.lang.String,java.lang.String) は推奨されません。
    [javac]             msg.setString(SENDERNAME, myPeerName);
    [javac]                ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/ChatSession.java:312: \
警告: net.jxta.endpoint.Message の setString(java.lang.String,java.lang.String) は推奨されません。
    [javac]             msg.setString(SENDERGROUPNAME, peerGroup.getPeerGroupName());
    [javac]                ^
count = 0, total = 6
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/GroupChat.java:307: \
警告: net.jxta.pipe.PipeService の createMessage() は推奨されません。
    [javac]             Message msg = pipe.createMessage();
    [javac]                               ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/GroupChat.java:308: \
警告: net.jxta.endpoint.Message の setString(java.lang.String,java.lang.String) は推奨されません。
    [javac]             msg.setString(SENDERMESSAGE, gram);
    [javac]                ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/GroupChat.java:309: \
警告: net.jxta.endpoint.Message の setString(java.lang.String,java.lang.String) は推奨されません。
    [javac]             msg.setString(SENDERNAME, userName);
    [javac]                ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/bi
nding/java/src/net/jxta/myjxta2/chat/GroupChat.java:310: \
警告: net.jxta.endpoint.Message の setString(java.lang.String,java.lang.String) は推奨されません。
    [javac]             msg.setString(SENDERGROUPNAME, group.getPeerGroupName())
;
    [javac]                ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/GroupChat.java:329: \
警告: net.jxta.endpoint.Message の getElement(java.lang.String) は推奨されません。
    [javac]         MessageElement elem = msg.getElement(tag);
    [javac]                                  ^
    [javac] /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/src/net/jxta/myjxta2/chat/GroupChat.java:332: \
警告: net.jxta.endpoint.Message の removeElement(net.jxta.endpoint.MessageElement) は推奨されません。
    [javac]             msg.removeElement(elem);
    [javac]                ^
count = 0, total = 6
    [javac] 警告 11 個
    <略>
      [jar] Building jar: /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/build/lib/myjxta.jar
    <略>
      [jar] Building jar: /home2/yoya/mitou/cvs/JXTA_2_0_Candidate_Release_20030215/myjxta2/binding/java/build/lib/myjxta-images.jar

main:

BUILD SUCCESSFUL
Total time: 11 seconds
警告は大量に出ますが build は通ります。

試験:

yoya@awm.jp% java net.jxta.instantp2p.desktop.InstantP2P
	     <略>
<ERROR 22:57:52,330 PeerGroupFactory:239> Platform.init failed : 
java.lang.NoClassDefFoundError: COM/claymoresystems/ptls/SSLDebug
        at net.jxta.impl.endpoint.tls.TlsConfig.init(TlsConfig.java:112)
        at net.jxta.impl.peergroup.Configurator.configureTls(Configurator.java:288)
	     <略>
jar が足りないようです。 しかも、設定を全く保存せずに死にます… (ρ_;
まず、google で検索してみます。
これらをヒントに、それらしき jar を探してみると、 yoya@awm.jp% cd JXTA_2_0_Candidate_Release_20030215 yoya@awm.jp% ls cms/ instantp2p/ myjxta2/ platform/ security/ shell/ cms.zip instantp2p.zip myjxta2.zip platform.zip security.zip shell.zipxs yoya@awm.jp% find . -name "*.jar" -print | less <略> ./platform/binding/java/lib/jxtaptls.jar <略>
これかな…
yoya@awm.jp% cp ./platform/binding/java/lib/jxtaptls.jar ~/lib/java/.
yoya@awm.jp% . ~/.bashrc
yoya@awm.jp% java net.jxta.instantp2p.desktop.InstantP2P
	     <略>
<FATAL 23:11:05,952 TlsConfig:193> Cert generation failed
java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
        at net.jxta.impl.endpoint.tls.TlsConfig.init(TlsConfig.java:186)
        at net.jxta.impl.peergroup.Configurator.configureTls(Configurator.java:288)
        at net.jxta.impl.peergroup.Configurator.<init>(Configurator.java:215)
	     <略>
今度は jce ですか。 今度は、securityタブの設定以外は、一通り保存しれます。
yoya@awm.jp% cp ./platform/binding/pjava/lib/jce.jar ~/lib/java/.
yoya@awm.jp% . ~/.bashrc
yoya@awm.jp% java net.jxta.instantp2p.desktop.InstantP2P
	     <略>
<ERROR 23:16:16,262 ServletHttpTransport:324> Failure during initialization: 
java.lang.NoClassDefFoundError: org/mortbay/util/MultiException
        at net.jxta.impl.endpoint.servlethttp.ServletHttpTransport.init(ServletHttpTransport.java:272)

	     <略>
まだまだ…
yoya@awm.jp% cp ./platform/binding/java/lib/org.mortbay.jetty-jdk14.jar ~lib/java/.
yoya@awm.jp% . ~/.bashrc
yoya@awm.jp% java net.jxta.instantp2p.desktop.InstantP2P
<ERROR 23:20:17,677 ServletHttpTransport:324> Failure during initialization: 
java.lang.NoClassDefFoundError: javax/servlet/ServletOutputStream
        at net.jxta.impl.endpoint.servlethttp.HttpMessageReceiver.<init>(HttpMessageReceiver.java:194)
        at net.jxta.impl.endpoint.servlethttp.ServletHttpTransport.init(ServletHttpTransport.java:272)
そろそろめげそう…
yoya@awm.jp% ./platform/binding/java/lib/javax.servlet.jar ~/lib/java/.
yoya@awm.jp% . ~/.bashrc
yoya@awm.jp% . ~/.bashrc
<FATAL 23:23:42,363 TlsConfig:193> Cert generation failed
java.lang.NoClassDefFoundError: cryptix/util/mime/Base64InputStream
        at net.jxta.impl.endpoint.tls.PeerCerts.genCert(PeerCerts.java:370)
        at net.jxta.impl.endpoint.tls.PeerCerts.genPeerRootCert(PeerCerts.java:131)
いい加減疲れて来たので、 platform の jar を丸ごとコピーします… # 挫折
yoya@awm.jp% cd JXTA_2_0_Candidate_Release_20030215
yoya@awm.jp% cd ./platform/binding/java/lib/*.jar ~/lib/java/jxta2/.

動作試験:

う〜ん… 色々な組合せで試しましたが
  • TCP outgoing <- Off
  • TCP incoming <- Off
  • HTTP outgoing <- On
  • HTTP incoming <- Off
で、外部の HTTP Relay を参照という設定にして やっと外の RDV と繋がりました。
少しマイナス印象です。

*1: 簡単に書いてますが、この間に cvs の転送が途中で止まったり、
cvs [checkout aborted]: connect to cvs.jxta.org(64.125.133.203):2401 failed: No route to host
で接続出来なかったりで、作業に時間がかかっています。(涙

*2: JDK1.3.1 で開発されているのを JDK1.4 で build しているので 当然といえば当然
*3: 1.3 でコンパイルしても警告が一杯でました…

2003年02月18日(火)(自宅)

(自宅)

冷え込み

昨日にも増して腰の痛みが激しいのですが、 最高温度が4度 & お昼過ぎから雪の降る確率70%という予報を聞いて納得。
今日は病院以外の外出はあきらめます。

病院

午後の診察が始まる2時に病院にいった所、 あまりに人が少ないので、休みなのかと思ったのですが、 看護婦さんに尋ねたところ、 午後は3時からだと教わりました。
あれ…? 記憶がおかしい…?
最近、変更されたとしたら、 自分と同じように誤爆する人もいると思う *1 のですが…

。。。:

もう何も言うまい

改善の兆し無し:

ここの所、まったく腰痛が治ってないようですが、 悪くなっている訳でもないので、しばらくリハビリを続けるとの事。
気候が温かくなるのを待ちます。

*1: 看護婦に質問すればすぐ分かるのに、気軽に聞けないダメな性格…

2003年02月19日(水)(自宅)

(自宅)

解離

頭で考えてる事と発言してる事が全然違うし…
素直になるのって難しい… (ρ_;

PC で電話録音計画

電話の音声を全て記録するツールを、 実現できないかという試みを週末に行う予定なので、 とりあえず、その事前準備。
今週末も風邪で倒れて何もできなくなる予感がしますが…

利用するコード:

audiorecord コマンドを少し改造して実現出来れば理想ですので、 まずは、改造の方法から調査。
src/usr.bin/audio/record/record.c
これですね。
yoya@alt yoya% cp -r <略>/curr/src/usr.bin/audio/record/record.c ~/prog/.
yoya@alt yoya% cd ~/prog/.
yoya@alt yoya% gcc record.c
record.c:50: libaudio.h: No such file or directory
record.c:51: auconv.h: No such file or directory
yoya@alt% cp -r <略>/curr/src/usr.bin/audio ~/prog/.
yoya@alt% cd ~/prog/audio/.
yoya@alt% make
	<略>
cc -O2  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \
-Wno-uninitialized -Wreturn-type -Wpointer-arith -Wswitch -Wshadow \
-Wcast-qual -Wwrite-strings  -Werror  -I/home/yoya/prog/audio/record/../common -c record.c
cc   -o audiorecord  record.o -L/home/yoya/prog/audio/common -laudio
groff -Tascii -mtty-char -mandoc audiorecord.1  > audiorecord.cat1.tmp && \
mv audiorecord.cat1.tmp audiorecord.cat1
audio ディレクトリを丸ごと作業ディレクトリにコピーする事で、 コンパイルが可能になりました。

仕様:

  • 音量は一定期間 PCM の(平均値からの距離)の値を加算 *1 して算出する事にする。
  • ユーザには無音かどうかを判断する音量の閾値を入力させる。
  • また、閾値を下回った時に、実際に録音を止めるまで判断を保留 *2 する秒数も入力させる。
  • 録音ツールは、audio デバイスを掴みっ放し。
  • 音量を常にモニタする
  • 一定音量以上になったら録音開始。音量のモニタは続ける
  • 一定時間、一定音量以下が続いたら、録音終了でファイルに落とす。
  • できれば、最後の無音の分を削る
  • 上と独立して、gogo あたりで定期的に、wav → mp3 変換を実行。

*1: 本来の音量の求め方は異なると思うのですが、 処理の軽さを優先という事にして、調査をサボります…
*2: どうせ後で無音部分を削るつもりなので、 それなりに長く待っても大丈夫だけど、 長すぎると、複数の通話がくっついてしまうので。 ほどほどに…

やけ食い

自分のふがいなさに乾杯…
でも、密かに尊敬する某氏と晩御飯をご一緒できたおかげか、 先月から深刻化していたコーディング恐怖症が かなり解消された感じ。

。。。:

…で、やはり食べ過ぎで気持ちが悪くなってさっさと寝る。← 馬鹿

ぶっくま〜く

goinfo.to:


これで、10 日分だよ〜。

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