2008年08月30日

Interface 10月号に掲載したプログラムの修正について

 CQ出版社のInterface 10月号 特集 第7章,Interfaceのダウンロードページに掲載しましたプログラム p2pq_ad に問題がありました.

  • 実行中, q キーを押しても終了できません.
  • SendTo 文の構文が間違っています.ただし,プログラム自体は動作します.

 お手数ですが,次のようにプログラムを修正していただきますようお願いいたします.

掲載したプログラム p2pq_ad 修正したプログラム p2pq_ad
udpsend(char *str, int port) {
        char soc, *buf, len;
        int i, j;
        long ip;
        ip = GetIP(str);
        soc = CreateSocket(0);
        if ((soc <= -1) || (ip == 0)) {
                PrStr("Invaid Socket");
                CloseSocket(soc);
                return;
        }
        PrStr("Start UDP Send\r\n");
        buf = MemoryAlloc(20);
        InitAd(0x70);
        while (1) {
                len = 0;
                MemClear(buf, 20);
                for(i = 4; i < 7; i++){
                        GetDigit(GetAd(i), buf+len);
                        len += StrLen(buf+len);
                        if (i != 6) buf[len++] = 44;
                }
                SendTo(soc, ip, port, buf, StrLen(buf);
                if (Getc(0) == 'q') break;
        }
        PrStr("End UDP Send\r\n");
        CloseSocket(soc);
        MemoryFree(buf);
}
udpsend(char *str, int port) {
        char soc, *buf, len;
        int i, j;
        long ip;
        ip = GetIP(str);
        soc = CreateSocket(0);
        if ((soc <= -1) || (ip == 0)) {
                PrStr("Invaid Socket");
                CloseSocket(soc);
                return;
        }
        PrStr("Start UDP Send\r\n");
        buf = MemoryAlloc(20);
        InitAd(0x70);

        #stop 0
        while (1) {
                len = 0;
                MemClear(buf, 20);
                for(i = 4; i < 7; i++){
                        GetDigit(GetAd(i), buf+len);
                        len += StrLen(buf+len);
                        if (i != 6) buf[len++] = 44;
                }
                SendTo(soc, ip, port, buf, StrLen(buf));
                if (Getc(0) == 'q') break;
        }
        PrStr("End UDP Send\r\n");
        CloseSocket(soc);
        MemoryFree(buf);
}

 バグレポートありがとうございました: 【P2P】 P2P地震情報 【地震情報】(レス番4,14)

2008年08月29日

PRCP情報共有プラグイン 夏真っ盛り! 雑談ほどほどキャンペーンの終了について

 7月29日より実施していた「PRCP情報共有プラグイン 夏真っ盛り! 雑談ほどほどキャンペーン」を終了します。

キャンペーンの終了について

 P2P地震情報では、7月29日より「PRCP情報共有プラグイン 夏真っ盛り!雑談ほどほどキャンペーン」を実施して、PRCP情報共有プラグインの適正な利用を促してきました。

 この度、利用状況が改善してきたことや、評価システムを実装した新バージョン Beta1(Rev5) をリリースしたことなどを受けて、本キャンペーンを終了することといたします。

2008年08月28日

8/29 SBS RADIO「とれたてラジオ One to One」にちょこっと出ます

 「P2P地震情報をラジオでご紹介できれば…」 ふむふむ、ますます利用者が増えてたいへn… ラ、ラジオっすか!? 恐るべしR25パワー。

  • 放送局と番組:SBSラジオ(静岡県域AMラジオ)の「とれたてラジオ One to One」(平日06:30-09:00)
  • 出るところ:8月29日7時20分頃より「情報三枚おろし」というコーナー(7〜8分くらい)

 ということで、生放送に電話でお邪魔します。こういうのは全く慣れていないので、無事に終わることを祈るのみです。

2008年08月25日

ColdFire基板を使って地震感知情報を発信しよう!

 ※この記事は、トップページに記載した内容をそのまま掲載しています。 Interface 9月号に付いてくる基板で、地震感知情報を自動的に発信できちゃいます。詳しくはInterface 10月号を見てね。(Interface 9月号に記載されていますが、動作にはパルストランス内蔵RJ-45、DCジャックの実装が必要です。)

 ウェザーなんとかのなんとかステーションもビックリ。3cm×9cmの基板を使って、地震感知情報を自動的に発信するプラグインを作っちゃいました。

 小さな基板にEthernetと加速度センサが実装されているので、P2P地震情報にぴったり。SilentCインタプリタでちょっとしたプログラムなら簡単に作れちゃいます。

 基板を持っている人が増えれば、 "ColdFire基板のためのP2P地震情報ネットワーク" を作るかも!?

動かしてみた

ここまではもう出来てます。

詳しいことは…

2008年08月24日

PRCP情報共有プラグイン Beta1(Rev5) の配信を開始

 PRCP情報共有プラグイン Beta1(Rev5) の配信を開始しました。「アップデートチェック」により更新が可能ですが、エラーが発生する場合は「プラグインを手動で終了して [再試行] ボタンを選択」「ウイルス対策ソフトの『除外フォルダ』に登録」などの手順が必要です。

  • チャンネル構成を変更しました。
  • 発言者の評価システムを試験実装しました。
    • スラッシュドットのモデレーションを参考にしています。
  • 連続投稿制限を60秒にしました。
  • Ctrl+Enterキーでの発言時、余計な改行が発生しないようにしました。

2008年08月21日

R25に掲載されました

 フリーマガジン「R25」 No.204(8/21)に、P2P地震情報の記事が掲載されました。こんなソフトウェアを取り上げていただいて、嬉しいやら恥ずかしいやら。

 実物を手に取ることが出来るのは東京圏(南関東)だけ! ですが、記事自体はR25.jp Webサイトにも掲載されているので、そちらでも見ることが出来ます。

2008年08月16日

p2pquake.ddo.jp サーバ交換による、「データ到達時間」計測値の大幅な変化について

 P2P地震情報 マスタサーバ、PRCP情報共有プラグインサーバ、緊急地震速報 配信試験(オープンβ)などのサービスを提供している p2pquake.ddo.jp サーバを本日交換しました。サーバが気になる人はのろのろのろ雑記あたりをご覧くださいまし。


 さて、これに伴って サービス状況 で公開している「データ到達時間」計測値が大幅に変化し、これまでの4分の1程度となっています。

 これについては、ソフトウェアやネットワーク構成に変化がないこと、計測データに異常が見られないことなどから、「サーバの処理性能向上によるもの」と推定しています。

 コンピュータの処理性能によって大幅な遅延が発生すること(≒P2P地震情報における伝達処理が一定の処理量を持っていること)を示す貴重なデータです。