むつの日記

fa4f9958 むつ 2005-05-24 20:00
[Linux][Rast][Iron33][Crawler][検索]
オープンソース Web 検索エンジン + クローラーとしては nutch が有名ですが、進展がなさそうなので、
日本製のオープンソースの、クローラー Iron33 と 全文検索 Hyper Estraier を使って Web 検索もどきをつくってみました。
Iron33 は昔使いかたが分からず挫折したのですが、何故か今回は分かりました。
Iron33 はソースコードのミスとインクルードファイルの移動(?)がありますので、ちょっとだけ修正が必要です。
usage 表示部分2ヶ所(どこだか忘れました) \n\ が抜けています(\ だけでもいいけど。改行コードのエスケープミス)。
off_t を使う部分1ヶ所、#include <sys/types.h> 追記。

感想。
なかなかいいかんじです。ただ、Iron33 のインデックスはよくわからないので、
付属のプログラムでいったん展開してからあらためて、Hyper Estraier でインデックスを作っています。
Iron33 でクロールしたキャッシュを直接読んでいないので、Hyper Estraier のインデックス差分登録はできないでしょう。
ですので、展開する時間 + その分の HD 容量 + インデックス作成時間(たぶん、常にイチから作るはめに)がたいへんな事になります。
それと、あまりに一般的な語彙だとニュースにばかりヒットします(Linux とか)。
Google のページランクとか、そういった仕組みが欲しいところです。分量多いので。
Web ページ全体は諦めて(nutch に期待。だれか日本語専用 fork 作らないかな……)RSS や Atom に対象をしぼった方が現実的で今風かもしれません。
Web ページ全体だと、HD 容量の問題もあり個人ではすぐに壁にぶち当たるのも目に見えていますし。
P2P 的にみんなで協力とかしたいな……。あー、海外ではあるんですよね、YACY とか GPU とか。
どちらも日本語は無理でしたが(クロールのしかたも分かりませんでした)。
400882a6 anonymous 2005-05-24 23:19
>>e01f3987
よく見たらPerlのところはsedで書けるような気がする。
awkだともっと短縮できるかも。
言うだけ。

Tips:
インストール前後に find /usr/local \! -type d とかやって差分を取ると、
どんなファイルをインストールしたかわかる。
a4c4ead9 anonymous 2005-05-25 08:09
>>400882a6
sed では改行コードを消す処理が書き難いので perl にしました。
(スクリプト中で実際に改行すればいいだけだといわれれば、そうなんですけど)。
awk はさっぱりです。

Tips は知りませんでした。ありがとうございます。
一応、find /usr/local -newer log/hogehoge.log なんて処理を入れようかと思いはしたのですが、
これだと、余計なファイルまで見つけてしまうのでやめにしました。
#installwatch や install.log(?) のような専用のプログラムでも走らせようかとか考えていました。
99c579e1 むつ 2005-05-25 20:55 1117022128.gz (4KB)
Distributed DNS
http://distributeddns.sourceforge.net/

というのを(だいぶ前に)見つけたのですが、遊び方が分かりません。
DNS サーバとして振る舞うとか、http/socks Proxy になるとかしないと意味ないような……。

分かる方いましたら、教えてください。
mutumin.ddo.jp:1055 で動かしてみてます(server.xml のbootstrap を変えてみてください)。

というだけではなんなので、ddns.system.DDNS の引数の処理が素人目にはおかしく感じたので、
自分なりに修正したのをアップしてみます。
改行コードが CR+LF でしたのでパッチではなくファイルそのものです。
まぁ、パッチでも平気でしょうが。
ファイル名: DDNS.java.gz
467dff09 むつ 2005-05-31 18:31
>>99c579e1
>>1afb9190

使いかたわからないのであきらめ。
cbd292a4 むつ 2005-05-31 18:33
[nutch][日本語検索]
nutch は 1 文字単位の N-gram 方式なのですんごくノイズが多くなります。
まーそれはフレーズ検索を駆使するとして、日本語以外の検索結果の除去も必要に思われます。
たとえば、「Bittorrent 検索エンジン」を検索したい場合「Bittorrent "検索エンジン"」とすればそれなりの結果は得られます。
「検索エンジン」という日本語が入っていますので、ほぼ日本語のページが引っかかることでしょう。
ですが、「Bittorrent」のしかも日本語のページが欲しい場合はたいへんです。
「ニュース」「記事」「解説」などのワードで&検索すればこの場合良好な結果が得られるでしょうが、
もっと幅広く「Bittorrent」のことばが入ったページを探したいときは……。
昔(といっても 4, 5 年前)Yahoo!Japan で検索するときに、「日本」や「日本語」で&検索した事が思い出されます。
きちんとするなら、日本語の文字コードが含まれているかいないかを調べ、検索結果に反映させるべきでしょうが、nutch に手を入れるのはたいへんです。
そこで、出現頻度が高そうなひらがなで&検索するという方法を思い付いたのですが、出現頻度が高いひらがなって何でしょうね?

http://72.14.207.104/search?q=cache:MZz_IgiUKfQJ:yns.rlki.nu/diary/%3F200011a%26to%3D200011071+%E3%81%B2%E3%82%89%E3%81%8C%E3%81%AA%E3%81%AE%E5%87%BA%E7%8F%BE%E9%A0%BB%E5%BA%A6&hl=ja&lr=lang_ja&client=firefox-a
728382be anonymous 2005-05-31 21:37 1117543063.py (0KB)
>>cbd292a4
手元にある新月のキャッシュを調べてみた結果:

だ: 7673
ん: 7673
も: 7673
よ: 7673

こんな感じだよもん
d0eed929 むつ^H^Hだよもん星人 2005-05-31 23:31
>>728382be
おお、これはかなり有用なデー……って、すごく意味ないだよもん。
長森瑞佳のフラグは何であんなに意地が悪いだよもん?
でも、「ん」は有効かも知れないだよもん。
8375e825 むつ 2005-06-01 23:26 1117635988.txt (0KB)
[nutch][Hyper Estraier][Web 検索エンジン]
nutch の話をしたので、nutch デモを再公開。
http://mutumin.ddo.jp:8080/jp/
ポートは変更する予定。上で継らなければ、http://mutumin.ddo.jp:8088/jp/ へ。
回線は細くないのですが、いろいろ動かしているデスクトップ機でのデモですので、
遊んでみる場合はまたーりを心がけてください。
まだ再クローリングはしていないので、キャッシュが古いままです。
明日クローリングの予定。そのときは多分つながらなくなりそうです。3時間くらい?

ついでなので、Iron33 + Hyper Estraier のデモも公開してみます。
http://mutumin.ddo.jp/cgi-bin/estseek.cgi

どちらも、飽きたら停止しますが、ぜひ遊んでみてください。
890b6755 むつ 2005-06-07 23:32
[Hyper Estraier][Web 検索エンジン][larbin][Rast]
larbin + Hyper Estraier のデモです。
http://mutumin.ddo.jp/cgi-bin/estseek-larbin.cgi
インデックス作成をミスってえらい時間がかかってしまいました。
(下位ディレクトリを for 文で取得したり、必要もないのに差分作成にしたり)。

デフォルトで検索結果 100 件表示にするにはどこをいじったらいいですかね?

Rast は SuSE 9.2 じゃうまく動きません。
Debian testing だと問題なく動くのですが。
このバイナリを SuSE に持っていってもダメなので、どこか別のライブラリが悪さしているのかも。
暇をみてバージョンアップしておこうと思います。それでうごけばいいな〜。
dca2e3fe anonymous 2005-06-07 23:35
>>890b6755
> Debian testing だと問題なく動くのですが。
Sargeが出たその日からtestingかよ、このエッチ
e79682db むつ 2005-06-08 19:52
SuSE のアップデートミスって環境壊しました。あっはっは orz
手順通り確認しよう>自分。
この際なので Plamo にしようとしている自分がいます。
(SuSE のインストール CD どっかに消えた。9.3(ftp) もうすぐ出るので新しく作るのは悲しい。debian はサーバ混んでる気がする)。
なんで、nutch と Hyper Estraier のデモは明日以降に再開予定です。

>>dca2e3fe
Sarge 出たその日に upgrade しただけですので、おおよそエッチです。エッチ分 30% くらい。
a2f78d21 anonymous 2005-06-08 19:56
>>e79682db
Debianは意外とサーバは混んでなかったです。
FDイメージで起動してringサーバを選んだ場合ですけど。
cbe88859 むつ 2005-06-10 18:31
>>a2f78d21
d7fbda0a むつ 2005-06-10 18:44
>>a2f78d21
そうでしたか。あ〜 Debian にすればよかったかなぁ……。
CD-R に焼いたこともあって、Plamo にしました。
んで、ATA133Raid な外付け HD が使かえず調べ中(別に Raid 機能は使ってないんですが)。
modprobe ataraid ってやればいいと思ったんですが、そう甘くないようで。

nutch と Hyper Estraier のインデックスはこの外付けにはいっているので、
これが使かえないと再開できません。
とりあえず、カーネルをソースからリビルドしてみます。

#何年かぶりの SKK でミス多発。
7be5950f むつ 2005-06-11 00:31
記憶違いでした。ataraid ではなく、siimage を組み込むべきでした。
RAID では無いのだし。ハマったのは siimage と framebuffer を共に有効にしているとブートしないということでした。
ちょっとぐぐってみると、kernel 2.4.21pre1 + siimae + framebuffer = no boot
なんて書いている人がいました。Plamo 4.02 は kernel 2.4.29 ですが、直ってないのでしょうか?
それと、単純に modprobe siimage とすると、外付け HD を hda として読み込もうとしてエラー多発します。
(昔はこれで出来たような記憶があるのですが……)。
他のディストリでどうやっているのか調べなとなぁ。
とりあえず寝ます。ぐーぐー。
d4a5303b anonymous 2005-06-11 00:35
>>7be5950f
この際2.6カーネル入れれば?
81c3167c むつ 2005-06-11 13:47
>>d4a5303b
0b6b200b むつ 2005-06-11 13:56
>>d4a5303b
ご提案にしたがい、2.6.11.11 にしてみました。
……認識しました。問題無く。何もしなくとも。
……よろこんでおこう。わーい。

調べていませんが、siimage.c にはパッチがあるようですので、各種ディストリビューションはなんかゴニョゴニョやっていたんでしょう。
2.6 で動いたのでもうどうでもいいです。2.4 ステってことで。

なにはともあれ、d4a5303b の名無しさん、ありがとうございます。
21fc5796 むつ 2005-06-11 22:11
[メモ][可逆/非可逆圧縮音声形式]
mp3, ogg, wma, rm(ra), AAC, tta, wv, ape, flac, Musepack, AC3, la, ofr
どれが Linux でも使用可能かは不明。
81925a6c むつ 2005-06-12 20:39
62386f56 むつ 2005-06-12 20:47
↑またミス。いいかげん、ひらがな打った後で Enter 押す癖直さないと。
[メモ][独り言]
新月の応援サイトをどうのこうのいってから、1ヶ月以上経ちました。
この行動力の無さは評価に値します。もちろん、悪い方で。
んで、Rast(全文検索ライブラリ)のコンパイルに成功しました。
html 文書のインデックス中。……すごく時間がかかりそうです。
うまくいけば、小山さんの mod_search_rast を使った検索デモが出来そうです。
52b695b7 むつ 2005-06-13 21:58
Kernel 2.6.11.11 な Plamo で Zaurus の usb 接続が認識しないなぁと思っていたら、
こんな [ http://www.page.sannet.ne.jp/knabe/d/200503c.html ] 話しがあるそうで。
とりあえず、パッチをいただいて対処します。
283551cf むつ 2005-06-14 18:54 1118742892.pl (1KB)
[perl][script][スクリプト][やっつけ]
朔のキャッシュを2ちゃんねるの dat 形式に変換するような気がするスクリプトです。
./cache2dat.pl ~/saku-0.4.0/cache "むつの日記" | nkf -s >1234567890.dat
などと使います。
2ちゃんえる専用ブラウザで見るためには、dat は Shift-JIS の LF、10 桁の数値なファイル名である必要がありそうです。
このスレッドを変換し、pu-roxy と p2 のキャッシュに突っこんだところ見ることができました。

スクプトの中で UTF-8 でベタ書きしている部分がありますので、
このスクリプトの文字コードは必ず UTF-8 にしてください。
nkf --overwrite -w cache2dat.pl

TODO: といってもやらなさそう。
1) body が空だと問答無用で削除伝播書き込みだと判断している部分を
まっとうに remove_* を見るようにする。
2) 添付ファイルに file: か http: でアクセスできるようにしたい。
3) 2ch の read.cgi 相当なものが欲しい(p2 でエラーが出るから)。
-- 0ch script を参考に?
4) list_* から板と subject.txt を作ってみたい。
5) 全キャッシュをいっきに変換できるように。ほとんどオートで。
6) Python に移植。
ま、たぶんやらないです。つーか根性のある名無しさんに丸投げ。

#frost のキャッシュにも使えそうな……。
#無理か? XML の body 要素がすばらしい感じだから。
[[お話聞きました/6faabc9e]] に心動かされて。
8ff50776 むつ 2005-06-15 16:45 1118821507.pl (1KB)
>>283551cf
kita で見れなかったので、少し修正。使う場合はスクリプト中の $baseurl="http://debian-99:8000" を適宜、稼働中の新月 url に書き変えて下さい。
$baseurl="http://localhost:8000" とか。
TODO の 2 をやっつけでやりました。
1 はやる気無し。
3 は 0ch の read.cgi と関連モジュールをそのまま持ってくればやれます。
4 は無理そうなので、手作業で。
5 は 4 で作った subject.txt をもとに、スクリプトまわすかんじで。
(朔にちょっとだけ手を入れて、update をうけとったら、自動でやるようにしたいな。
cron で ./run/update.txt の更新をみはるのは負荷がそれなりにありそうだし)。
6 はまず無理。やりたんだけど。

Win でも Cygwin を入れればできそうだけど、そこまでする人はいないだろうから、
mutumin.ddo.jp で 新月to2ch ブラウザの subject.txt と *dat を提供。
負荷分散のために Coral OR dijjer を利用してください。とかすればよさそう?
まー、書き込みは http://shingetsu.xrea.jp/gateway.cgi をご利用ください。なのだけれど。
(これに関しては、タイトルから該当スレッドにジャンプする cgi でもつくればよさそう。cgi 作ったこと無いけど)。
↑いつもどおりいってみるだけ。

kita と p2 で確認しました。
kita の外部板登録方法は下記のとおり。これって、2ch の前スレにしかのってない。orz

--
 2ch互換外部板登録(暫定)実装

.kde/share/apps/kita/extbrd.confに 板名<>URL 形式で登録。例えば

サッカー実況<>http://livesoccer.net/cgi-bin/12ch/Live/
0ちゃんねるテスト<>http://tolkien.s7.xrea.com/teston/

みたいな感じで。すると板お気に入りの下にextboardという項目が出てきます。あくまで登録できるだけの
暫定実装なんで使い辛いですが本実装は中の人に任せます。あと書き込みとかも恐くてテストしてませんが
大丈夫じゃないかなあ。多分。具体的には関数を一個(KitaBoardView::loadExtBoard)増やしただけ。
-- ここまで

http://pc5.2ch.net/test/read.cgi/linux/1089905503/197 より。
f5a91a2b むつ 2005-06-16 20:51
>>8ff50776
自動更新はまだですが、手持ちキャッシュの 2ch 形式 dat 化は終わりました。
自動更新もなんとなく目途がついたような気がするので、明日やれるかもしれません。

ところで、kita もおちゅ〜しゃも 80 ポート以外で運営されている掲示板は見れないみたいです。
つまり、Coral CDN も無理と。
stone などでポートフォワードしてくれると、おっけーなのですが。
# stone mutumin.ddo.jp.8080.nyud.net:8090 80
とか。めんどくさいですね。

とりあえずこちら。
http://mutumin.ddo.jp/saku/subject.txt

中身がタイトルと一致してないとか、文字化けしてるとか、エラーとか、
○○というスレッドがないとか、ここはこう変更すべきだとか、
むしろこういうのはやらないほうがいいとか、ご意見をお願いします。

>>8375e825
>>890b6755
は url 変更になります。
nutch: http://mutumin.ddo.jp:8088/jp/
Iron + Hyper Estraier: http://mutumin.ddo.jp:8080/cgi-bin/estseek.cgi
larbin + Hyper Estraier: http://mutumin.ddo.jp:8080/cgi-bin/estseek-larbin.cgi
インデックス更新してませんけど。

Rast はインデックス作成中に hdd から溢れたので休止中です。
cabf1e71 むつ 2005-06-16 21:01
>>f5a91a2b
しまった。ブランケットリンクに対応するのを忘れてた。
次の機会にやっとこう。
つーか、スクリプトがかなりおかしいんだよな……。
ファイルの一行目だけみる perl スクリプトってどうやるんだっけ?
9e9c6f0e anonymous 2005-06-16 21:41
>>cabf1e71

open IN, "foo.txt";
$_ = <IN>;
close IN;
print $_;
e1c8fd97 むつ 2005-06-16 22:06
>>9e9c6f0e
ありがとうございます。

自動更新のほうも後は cron に設定すればいけそうです。
更新間隔をどれくらいにするかが悩みどころです。
4fc73f5a むつ 2005-06-17 00:23
不具合めっけた。
>>てすと。
とか書くと、レス番号に変換しようとして失敗する。
該当レス番号がなければあきらめるように書いたつもりなんだけど。
これも明日。
e0416ad6 むつ 2005-06-17 17:02
>>8ff50776
なんとなく使えそうになった気がするので、2ちゃんねるブラウザゲートウェイとかいってみます。

http://mutumin.ddo.jp/saku/subject.txt
http://mutumin.ddo.jp/saku/jump.cgi

cgi の生成 html はかなりいいかげんです。
おかしな所があったら教えてください。直します。

subject.txt 生成スクリプトにもうすこし手を入れたら、公開しておこうと思います。
だらだら書いたのですっごいスパゲティ化してます。設定ファイルも別にしないとな……。
(多分、本人以外使えません。ごちゃごちゃしてるから)。

更新間隔は 10 分毎です。dat 生成にはそれほど時間はかかっていないようですので、
書き込みから 10 分くらいで2ちゃんねるブラウザゲートウェイに反映されることでしょう。
新月の同期が遅れている場合はそのかぎりではありませんが。
新規スレッドは手動での追加になります。24 時間もしくはそれ以上待っていてください。

--
以下テスト
>>1st >>hogehoge >>1 >>10 >>20 >>30 >>40 >>50
[[存在しないスレッド]]
[[/thread/新月作戦会議室]]
--
cab8f928 むつ 2005-06-18 02:15
>>6d87d654
力技で回避。ブランケットも同様。
テスト用書き込みスレ [ http://mutumin.ddo.jp/saku/dat/1076814029.dat ]
のバグは漢字コード変換の副作用。nkf 以外を探してこよう。

他におかしなところがありましたら、教えてください。
#今日は静かだなと思いながら、おやすみなさい。
17b084b9 むつ 2005-06-19 00:03
>>ffef6d78
アップデートスクリプトにエンバグ。ザ・リング見ていたので、遅れました。
漢字コード問題はあきらめるしかないかも。
UTF-8 を Shift_JIS に変換する以上、日本語以外のコードで書かれるとダメポ。
34ed9920 むつ 2005-06-19 23:28
今日思ったこと。
kademlia というか、BitTorrent で使われている khashmir って DHT はおもしろそうだな。
dijjer.org に手を入れて、Coral のような Web Cache Server に出来ないかな?

DHT で P2P 掲示板を Tomo さんのサイト [ http://homepage3.nifty.com/toremoro/ ] を見ながら考えていたのですが、
ノードが持つキャッシュの正当性は誰が保証すんだ? ってところで思考停止しました。
新月では最新の書き込みは即座にブロードキャストされるので、改竄のヒマがない、
古い書き込みに対しては「あきらめる」ということだと理解しています。

DHT では削除も問題になります。
例えば、各スレッドを各ノードが管理していた場合、レスの削除をうかつには行なえないと思うのです。
(○○というスレッドを管理しているノードを××管理ノードと呼ぶことにします)。
削除したいレスというのは大きく分けて2つありそうです。
1) 不快な書き込み。
これを管理ノードが削除してしまった場合に「俺にとっては必要な情報だ」ともんくが出るかもしれません。
これには2ちゃんねるブラウザのローカルあぼーんのように、実際には削除せずにただ見えなくするという方法がとれます。しかし、
2) 法に反する書き込み。
この場合、キャッシュからすみやかに削除することが求められるでしょう。
実際に削除する機能も必要です。
しかし、これでは何を削除するかは管理ノードの管理者にゆだねられてしまいます。
よろしくないですね。管理ノード管理者がいわゆるスレ主になってしまいます。
レンタル掲示板や個人的な掲示板ならばそれでもかまわないのですが。

新月で完全に同期しきれていないのがくやしくて、DHT を考えてみたけどダメでした、ということで。
掲示板である以上、(一部の)レスが読めないことによる会話の齟齬は無くしたいのですけど、
いい方法はないものですかね。
38f82a55 anonymous 2005-06-20 08:36
>>1dd5e073
Jcode.pmは?
de1c423d むつ 2005-06-20 08:46
>>38f82a55
>>ffef6d78
ああ、インプットファイルの文字コードを指定してやれば、化けないかもしれませんね。
http://openlab.jp/Jcode/Jcode.html を見るかぎりは無さそうですが。
e3fad277 むつ 2005-06-20 08:56
>>de1c423d
$str = Jcode->new($str, utf-8)->sjis;
とかすればいいみたい。書いてあるじゃん。orz
83ac2b19 むつ 2005-06-20 08:56
>>e3fad277
s/utf-8/utf8/ どうした、自分。ねむいのか。
21b45a68 むつ 2005-06-20 13:29
>>83ac2b19
Encode.pm でも出来ました。こっちにしようかな、最初から入っているし(5.8 系)。

朔 0.4.1 ではレコード消えてないみたいだけど、バグによるものかな?
ま、0.4.2 出ているからどうでもいいけど。
shingetsu/config.py の save_recode = 10*366*24*60*60 にしてから、
バックアップキャッシュをもどし、それから今のキャッシュをもどせば復旧できる?

他の人はこのレコード削除仕様でかまわないのだろーか。
日記を備忘録代わりに使っている身としてはつらい。
つか、スレッドの上のレスからじわじわ消えていくのは奇妙。なれの問題か?
dat 倉庫作って、最初の書き込みから1年が経過したら dat 落ち、10MB 越えたら dat 落ちのほうがよさそうな……?
個人的には dat 落ちしても更新は続けてもらわないとこまるけど。
(消さないことを基本としているうちのノードと他のノードではスレッドごとのばらつきが大きかったり)。
ああ、同名のスレッドが作られたらコンフリクトするか……。
7ecb9b04 むつ 2005-06-20 16:03
いろいろ考えましたが、結局は過去ログ生成スクリプトを作ることにしました。
2ちゃんねるブラウザゲートウェイ(2chBgw ... かっこよくないな)のレス 1000 件突破問題の対処にもなりますので。
list_* のほうも、100 件超たら、それはそれは見づらい、というか、別のカテゴライズがなされることでしょう。
ノートは、、、残しておきたいのは更新するかな。

ま、なにかやるのは来週になると思いますが。今週はやることがあるので。
(やることというのは基本的にやりたくないことで、やりたくないから逃げるかも)。
74eca8c8 むつ 2005-06-22 13:23
やっぱりレコードが消えるのはおかしい、と感じていました。
なんでそう感じるかを昼メシの片づけをしながら考えてみました。

スレが唐突に始まるから。
私はスレの一番最初にそのスレッドの説明、立てられた意図が書いてあることを期待しているようです。
2ch は大抵書いてありますね。書いていないものはレスが続かず、消えていきます。
スレ違いでもそのまま伸びていくこともありますけどね。

スレッドを新規作成するときは、必ず本文が必要。
そのレコードは特殊で、他にレコードが存在する場合は消えない。
(他にレコードが存在しない場合は一般のレコードと同じように消えていく)。
とかどうでしょうか? もっとも、特別扱いは(プログラム的に)綺麗じゃないかもしれませんが。

まあ仕様変更はさておき、皆が皆デフォルトの設定で使かっていた場合、どうなるか、どうすれば回避できるか考えてみたいと思います。
ここでは、スレの一番最初の書き込みを(適当ではないのですが)テンプレと呼びたいと思います。

ケース1:毎日更新アクティブなスレッド
これはそのままでも問題なさそうです。必要なのは最近の書き込みであり、
テンプレはあまり必要なさそうです。
[[雑談スレッドだよもん]] のようにあったほうがよいものもあるでしょうが、
これは誰かがコピペするんじゃないでしょうか。
その際、[テンプレ] 等、検索できるようにし、かつ、それを周知させる必要がありそうですが。

ケース2:週イチ(月イチ)更新過疎なスレッド。トータル書き込み数多。
テンプレがないと何の話しだか分らなくなりそうです。
その時点でアクティブではないので、テンプレがコピペされる可能性は低いでしょう。
回避策は思いつきません。

ケース3:週イチ(月イチ)更新過疎なスレッド。トータル書き込み数少。
ケース2と同様。書き込みが少ないということはどうでもいいスレだった可能性が高く、
そのまま消えるにまかせれば良い気がします。

なんだ、あんまり困りませんね。
心配なのは、書き込み少ない→過疎と判断→新規参入者減→書き込み減→以降ループ が加速しやしないかということですが。
そもそも新規に書き込む人が少ない(いない?)現状では杞憂です。

あとはせっかくの書き込み、消すなんてもったいないという貧乏性な感情くらいですが、
これは個人的なものですので、shingetsu/config.py をちゃっちゃと書き変えるということで。
0b274ed2 anonymous 2005-06-22 18:10
>>74eca8c8
> 私はスレの一番最初にそのスレッドの説明、
> 立てられた意図が書いてあることを期待しているようです。
> ...
> スレッドを新規作成するときは、必ず本文(テンプレ)が必要。
> そのレコードは特殊で、他にレコードが存在する場合は消えない。

これは新月プロトコル0.2が出来たときにさんざん議論されたんですよ。
僕はIRCのように、古い書き込みを残さないのがよいと主張しました。
また新月の原理上、「テンプレ」は失なわれる可能性があるから、
説明や意図はスレッド名に含ませるべきだと。

新月プロトコル0.1やCrescentプロトコルでは(原理的には)
「雑談スレッドだよもん」というタイトルを持ち、
「語尾にだよもんをつけるべし」というテンプレを持つ、
fee30740d6ab33daa452a922da5041bbという識別子のスレッド、となります。
データの中身が消えてしますと、fee30740d6ab33daa452a922da5041bbという
謎の文字列が残るだけです。

新月プロトコル0.2以降では
「雑談スレッドだよもん」というタイトルを持ったスレッド、となります。
タイトルがそのまま識別子になります。
データが消えてしまっても、「雑談スレッドだよもん」を再開することができます。

つまり、

僕は積極的に古い書き込みを削除したい
  ↓
書き込みを削除しても残るのは識別子(ファイル名)だけ
  ↓
ファイル名をタイトルそのものにしてしまおう

こんな感じですね。
a670ada3 むつ 2005-06-22 19:17
>>0b274ed2
>これは新月プロトコル0.2が出来たときにさんざん議論されたんですよ。
そうでしたか。失礼しました。一応昔から見てはいたのですが、スルーしていたようです(空白期間があるものでして)。
結局は
積極的に古い書き込みを削除したい

積極的に古い書き込みを公開したい/公開してもらいたい(私)

どっちでもいい(おそらく大多数)
ということなのでしょうね。

#Internet Archive はこういう私にはピッタリのサービスです。
#「消したはずの〜」と嫌う人もいますが。
16f53ffe anonymous 2005-06-22 21:33
>>a670ada3
過去ログはHTML等に変換して(2chのDATみたいなのでもいいけど)
静的に公開すればいいんじゃないですかね。
新月の利用規定では、書き込みは転載されても構わないことに同意する建前になってるし。
0db4326a むつ 2005-06-26 18:49
私事でほげふがしていましたむつです。
んで、その私事で今日筑波大学のなかを通ったんです。本当にただ通っただけなんですが。
(無断侵入……?)
なーんか、DHT のなにごとかがあったような記憶が頭の片隅に引っかかっておりました。

[DHT]DHTオフ会参加者募集について

DHTオフ会開催概要:
□日時:6/26(日)13:30~
(開始時間は参加人数により前後します。)
□開催場所:筑波大 (詳細な場所は後日参加者にお伝え致します。)

http://toremoro.tea-nifty.com/tomos_hotline/2005/05/dhtdht_57f1.html

あーやっぱり。今日でした。
外から覗いてみてもよかったかなー。ま、あそこは広すぎるんで、場所探すのなんか無理なんですけど。

と、筑波大学近辺(でもないけど)に住んでいることをにおわせてみました。
mixi や blog で感想、レポートを書いている/書いた人がいそうですので、探してみます。
e2c4a059 むつ 2005-07-01 23:42
dijjer.org が動きません。だれかたすけてください。

[INFO] Connecting to the network
[INFO] Attempting to assimilate through choco.homelinux.org:9114
[INFO] 19379 9114 -> choco.homelinux.org:9114 : joinRequest {joiner=localhost:0, ttl=10, exclude=[], uid=-576804050}
[ERROR] [07-01-2005 21:52:49] dijjer.io.comm.RoutingTable.joinSeed(line:-1) Seed peer choco.homelinux.org:9114 failed to respond to join request after 30 seconds
[WARNING] [07-01-2005 21:52:49] dijjer.Dijjer$1.run(line:-1) Failed to seed using choco.homelinux.org:9114

(中略)

[FATAL] [07-01-2005 21:54:19] dijjer.Dijjer$1.run(line:-1) Failed to contact any of my seednodes and no peers in RT

ping してみたところ、choco.homelinux.org (他、seednode)は生きているようです。
うち、ルータ使ってますが、DMZ で全部メインマシンに飛ばしてます(マテ
java 1.4.2_08 でも、java 1.5.0_03 でもダメ、Windows XP 上の java 1.5.0_03 、Dijjer.exe もダメ。
ルータ挟まずに直結してもダメでした(for Win)。
1d91dac8 むつ 2005-07-04 20:29
[[P2Pバトン/9e4a31ca]]
Peercast のバージョン間違えた。正しくは 0.11/0.12 。
使ってないからこういうミスをするんだ。ひさしぶりに使うかなー。
f688d7d7 むつ 2005-07-06 20:10
なんとなく i2p で匿名サーバを公開してみました。
はたして外部から見れるのか不明です。おひまな方いらっしゃいましたら、テストしてみてください。

./i2prouter start
http://localhost:7657/
左メニューの Peers より reseed(?)(refeed だったかも)クリック。

http://mutumin.i2p/fswikil/?i2paddresshelper=ENCsv7W8dHvL~vn6GT57gMCYhXtBCvSnQAOGVuQKKD5s2ZglNCoHzxHgPV20w5-UhqXJ1WNPGW0cSnU-Gn89T3wTCg9YWcIabfS6KoPBy29huA-YSyK0r2rnqihsDSkHHrI2dw5QXZ6eTNdNbMq00sbN4G2ycYrOBQOIKKO1AkZv-2skZ0yPSxDnKsz5fYmn5m5u7jZXcfbPTUs1l81AAjr~6remnFlJa6OuhBRXEJAOWJbLsIZqsZyCj2ajFR39iDKqS007yJl1rGdRazI5RHlDMwidG7QrHcxcZIhsU3TjmkuvJptGLscqT90zLtACxV~REov3beNAPV9N3D~22GgpTxhb4vYsO~RZHEs7mfJOET4LvERq8UHkJSeH9r8GIiF952klGr1UpIWwJ-VlHRG2ns8ADxUDkVwfayH4fF9xZIN7cNKvNwCyoeSsvYWU77BbQkz-kB2DlbUmPk39l5XfCAb~H4Fl7vm0k59VMDFt5tPuquLxkg5ocPsJwThPAAAA

一度繋がれば、以降は http://mutumin.i2p/fswikil/ でアクセスできます。
テストなのでそのうち消えますけど。

i2p: http://www.i2p.net/
f73847cc むつ 2005-07-06 20:12
>>f688d7d7
http://*.i2p には http proxy: localhost:4444 を設定してから移動してください。
Tor の hidden service と同じですね。
fd522a3d むつ 2005-07-07 00:52
十六夜を試してみました。
先ずは Tomcat5 で。nutch の為に入れてましたので。
index は表示されました。list は……。
java.lang.RuntimeException: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'list.txt'
list.txt って何でしょう? 分らないのでスルー。
続いて jetty-5.1.4 で。うん、何の問題もなく使えました。
細かな設定が出来てイイです。昇順降順、何件表示。いいかんじです。

[[d55d278eのチラシの裏]]
[jetty | http://www.mortbay.com/jetty/]
5ff9353c d55d278e 2005-07-08 10:24
> java.lang.RuntimeException: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'list.txt'
> list.txt って何でしょう? 分らないのでスルー。

テンプレートファイルが見つかっていません
※アーカイブのweb-inf/lib/template.zipにクラスパスが通っていません
dea8083b むつ 2005-07-08 19:49
>>5ff9353c
ありがとうございます。
どこかに設定個所があるのだとは思いますが、見つけることができませんでした。
(まあ、まじめに探してませんけど)。
Tomcat のユーザーズガイドには

/WEB-INF/lib/*.jar area for Java ARchive files which contain servlets, beans, and other utility classes useful to the web application. All such archive files are used by the web application class loader to load classes from.

なんて書かれているので、template.zip を template.jar にリネームしたら動きました。
115cc530 むつ 2005-07-09 15:05
[メモ]
fakeroot の libfakeroot.so.* は configure 時に --host=i386-pc-linux-gnu 等指定しておかないと make されなかった。
Plamo 4.0

昨日からずっとはまっていたので、メモ。
e56d7ffd むつ 2005-07-14 09:53
[メモ]
Macromedia Flash Player 7 for Linux
http://www.geocities.co.jp/SiliconValley-Cupertino/9940/flashbeta/index.html

ここを参考に xfs で -misc-Kochi Gothic- が出るように設定することで、Flash で日本語が出るようになりました。
フォント埋め込み(?)以外は日本語出ないものだと思い込んでいました…… orz

BNR スピードテスト(回線速度/通信速度 測定ページ)
http://www.musen-lan.com/speed/
このページで日本語が出ることを確認。
394db0ed むつ 2005-07-14 16:46
[vlc][メモ]
vlc では libmad がないと、MPEG Audio が聴けない。……ってあたりまえじゃないか。
何こんなんで3日以上もはまってたんだ _| ̄|○

vlc http://www.videolan.org/
libmad http://www.underbit.com/products/mad/
d12e58fd むつ 2005-07-15 17:19
[朔]
recode から body.cache を再生成するスクリプトを書こうと思っていたのだけれど、
saku/shingetsu で
python
>>>import cache
>>>cache = cache.Cache("thread_hogehuga")
>>>cache.sync_body()
とかやれば出来るっぽい。Python はチュートリアルを数ページやっただけなので、
合ってるか間違ってるか不明だけど。

というのも、本格的に使い始めてから1年以上たち、古いスレッドは縦に長くなってきました。
せっかく朔に古い書き込みを消す機能が加わったのですから、これを使おうと思いたったのですが(今現在は古い書き込みも消さない設定にしています)、
実際消してしまうと、2ちゃんねるブラウザゲートウェイで不具合が出ます(マテ
ならばキャッシュをコピーして使えばいいじゃん。という次第です。
saku/run/update.txt の更新をみて、
cp --update saku/cache/thread_hogefuga/recode/* saku2ch/cache/thread_hogefuga/recode/
python makebodycache.py thread_hogefuga
とかすると。
うーん、コピーじゃなくてハードリンクの方が節約になる?

まあ、十六夜は最新50のみ表示とか出来るようなので、やっぱキャッシュ消さないとなるかもしれませんが。

今後の予定:
削除したレコードも古いため自動削除されたレコードも removed dir にいっているようなので、
自動削除のレコードは別 dir に送り、区別できるようにする。
自動削除のレコードから HTML を生成し、過去ログとして閲覧できるようにする。
気力無いかも。特に HTML のところ。朔のスクリプトを再利用できたら楽でいいなー。
924df0ab むつ 2005-07-17 20:00 1121598043.pl (1KB)
>>d12e58fd
過去ログは gateway.py と thread_cgi.py の出力をいじって適当に生成することに成功。

ぜんぜん関係ないけれど、改行コード、文字コード判別スクリプト coco.pl をちょっと改変して標準入力も理解するように変更。
つーか、チェック部分の関数をそのままコピペ。無駄だけど混乱はしないから、これで良しとしとこう。
<IN> を <STDIN> に変えただけだったり。

Attached File Name: coco.pl
770a7236 むつ 2005-07-21 23:38
Plamo Linux のパッケージ管理システム pkgtool の話です。

私はずーと、pkgtool であつかうファイル名は bash.tgz のように、バージョン番号他、付けてはいけないものだと思い込んでいました。
たとえば、bash-3.0-build1.tgz などとすると、bash.tgz とは別物として管理されてしまい、うれしくありません。
(削除するときも removepkg bash-3.0-build1 としなければなりませんし)。
なので、インデックス(diskhoge)に bash: bash-3.0-build1 などと書いて bash.tgz と共に Tar アーカイヴして保管してました。

ですが、今日、bash-${version}-${arch}-P${build_number}.tgz といったファイル名が許されることに気づきました。
(bash-3.0-i686-P1.tgz とか。削除も removepkg bash でオッケー)。
インデックスというか、description も install/slack-* なんて名のファイルに書いてパッケージに入れておけばいいようです。
(本家 Slackware では install/slack-desc としてるみたい)。

installtarpkg なんて installpkg のラッパー(?)スクリプトを書いたけど、一瞬で無用になったです。
つーか、インストール CD 眺めた時点で気づけよ自分…… _| ̄|○
69d5c300 むつ 2005-07-24 22:05
なにやらお父様がパソコンを買ってくださるらしいので、甘えて買ってもらうことにしました。
スペースも無いし、静かな方がいいしでキューブにしよう。どうせなら小さいのにしよう。
Pentium M にしよう。メモリはいっぱい乗っけよう、HDD も沢山。
とか選らんでいたらあっさり 10 万円越えてしまいました。
まー、今使っているのも 10 万くらいしましたので、それを考えるとものすごい割安なんですけどね。
てなわけで、AOpen のベアボーンキューブ XC Cube MZ855-II
[ http://aopen.jp/products/baresystem/mz855-ii.html ]
を買ってもらうことに。でもこれ Linux の動作実績が無いんですね……。
人柱? ……ま、あれです。Linux 動かなければあきらめて WinXP 動かせばいいんですけど。

WinXP このあいだ、qemu 上でアクティベーションしたばかりでした。
35ca4ccf むつ 2005-07-25 20:34
夕立も止んだので犬の散歩に出ると、ひぐらし(多分)が鳴いていました。
ひぐらし→鳴く→惨劇開始
思考があぶない。かなりやばめです。これもコミケが近いから……。

[メモ][MPlayer][縦長]
MPlayer で動画を再生すると、縦長なんだよなーと思っていました。
モニタ換るまえは思わなかったのでモニタのせいだと考えていたのですけど、
vlc や xine ではそうでもないので、なんとか調整できんかなーと調べてました。
scale や crop でやるのかなーとフィルタ関係をいっしょうけんめい調べてましたが、
目的の動作は -x <横幅> -y <縦幅> というオプションを与えればいいらしいです。
help に書いてあるし……。
ex) gmplayer -x 640 -y 430 tv_12.mpg
とか。
a068a260 むつ 2005-07-26 16:28
[メモ][plamo][pkgtool]
Plamo Linux の /sbin/makepkg 638 行目の tar コマンドに --owner 0 --group 0 を追加して、root でなくともパッケージが作れるようにハック。
これでパッケージを作るたびに、sudo chown -R root:root * とかしなくて済む。
セキュリティその他安全面でどうなのかはしらない。気にしない。 
e8dae85e anonymous 2005-07-26 21:06
>>a068a260
fakerootでは駄目?
1fecc570 むつ 2005-07-27 19:59
>>e8dae85e
いけました。しかも chown -R root:root が不要でした。
$ fakeroot makepkg.orig hoge-0.0.1-i686-P1.tgz
で、root/root になってくれました(su や su -, sudo ではダメ。あたりまえだけど)。
楽でいいですね、fakeroot。

>>115cc530 で作ったあと、ほったらかしにしてました。
43846f2d むつ 2005-07-30 11:59 1122692361.txt (5KB)
>>e01f3987
でつくった configure 支援スクリプトです。少しずつ加筆していきましたら、複雑怪奇になってしまいました。

Attached File Name: cf.sh

* PACKAGENAME は bash-3.0 とか eFarm-1.1 とかです。

基本は変ってません。cf.sh pre とすることで、このスクリプトに必要なファイルやディレクトリを作ります。

今回、obj-PACKAGENAME というサブディレクトリを作るようにしましたので、
$ cd obj-PACKAGENAME
$ vi PACKAGENAME.conf
$ cf.sh conf && cf.sh make && cf.sh install ; xlogo
とでもしてください。
途中でエラーした場合、exit 1 を返すようにしたつもりなのですが、うまくいってない気がします。orz
install は PACKAGENAME/work 以下にインストールされます。主に pkgtool の為。
checkinstall で各種パッケージを作れた気がしますので、他ディストリビューションの方は checkinstall を試してみてください(未確認)。

cf.sh pre で作られるファイル、ディレクトリ:
file: configure.help: ./configure --help の内容そのまま
file: PACKAGENAME.conf: configure.help をこのスクリプトから読むために改変したもの。
-- 全てコメントアウトされていますので、必要に応じてコメントをはずしてください。
file: log/cflags.txt: configure オプションの CFLAGS です。
-- デフォルトでは -mcpu=i686 -march=i686 を設定してます。
-- 必要に応じて -O2 など追加してください。
-- 改行はしないでください。
-- そういや、-mcpu は廃止になったような。
file: log/docs.txt: インストールするドキュメントのリストです。
-- このスクリプトでは $prefix/doc/PACKAGENAME にインストールされます。
-- 今時なら $prefix/share/doc/PACKAGENAME にインストールすべきかもしれません。
-- 詳しくは後述。
file: log/prefix.txt: PACKAGENAME.conf の --prefix と同じものを書いてください。
-- デフォルトでは /usr/local になります。
-- (PREFIX=$(cat log/prefix.txt) ./configure とかしたほうがいいのかも)
-- 改行しないでください。
file: log/src.txt: make するディレクトリから見えるソースがあるディレクトリを指定します。
-- デフォルトでは .. です。obj-PACKAGENAME サブディレクトリではコンパイルに失敗する場合に、ソースがある PACKAGENAME ディレクトリでビルドするよう、. と指定します。
file: log/makeopts.txt: make 時に与えるオプションです。
-- デフォルトは -j2 です。
file: obj-PACKAGENAME/PACKAGENAME.conf: シンボリックリンクです。
dir: obj-PACKAGENAME/log: シンボリックリンクです。
dir: work: 仮想インストールディレクトリです。

log/docs.txt には %gzip, %nogzip, %mkdir, %docdir の4つの命令が使えます。
%gzip 引数なし:
以降のファイルを gzip 圧縮します。
%nogzip 引数なし:
以降のファイルは gzip 圧縮しません。
%mkdir /path/dir/name
work/$prefix/doc/PACKAGENAME に /path/dir/name ディレクトリを作ります。
-p オプション付きなので、深いディレクトリも OK です。
%docdir path/dir/name
ドキュメントが PACKAGENAME/path/dir/name 以下にある場合で、かつ、それを work/$prefix/doc/PACKAGENAE にインストールしたい場合に指定します。
この %docdir を指定しなくとも、path/dir/name 以下にドキュメントがありそれを log/docs.txt に記述すれば、work/$prefix/doc/PACKAGENAME/path/dir/name にインストールします。
自動的にディレクトリは作りませんので、%mkdir 命令を使ってください。

log/docs.txt の例
%gzip
README
INSTALL
%docdir docs
changelog
changelog.old
%mkdir example
%nogzip
example/sample1.rc
example/sample2.rc

こんな感じです。
cf.sh install-doc でドキュメントはインストールされます。

その他:
cf.sh link: シンボリックリンクを張りなおします。
cf.sh docs.sh: install-doc に使うスクリプトを生成します。確認用。
cf.sh strip: work 以下にインストールしたファイルを strip します。また、man page を gzip 圧縮します。
cf.sh all: cf.sh conf && cf.sh make します。
cf.sh check: find . -name "Makefile" -exec grep "\-O" します。
log/force-prefix.txt というファイルを作ると、インストール時に DESTDIR ではなく、prefix を指定してインストールします。cf.sh install が失敗する時用。

なお、log/install.log は作らなくなりました。というか、作れなくなりました。
回避方法はあるにはあるのですが(未確認)。
# DESTDIR=$PREFIX make install && echo "OK." || echo "Faild."
# とかしてるから、tee しても echo が取れるだけ。

そういや、info のこと、すっかり忘れてました。これも gzip 圧縮できるらしいです。
info/dir のこともあるので後まわし。
631b96be むつ 2005-07-30 12:21
>>43846f2d
流れは以下のような感じです。

$ tar xvzf hoge-0.1.tar.gz
$ cd hoge-0.1
$ cf.sh pre
$ cd obj-hoge-0.1
$ vi hoge-0.1.conf
$ cf.sh conf
$ cf.sh check
$ cf.sh make ; xlogo
$ cf.sh install
$ cd ..
$ cf.sh strip
$ vi log/docs.txt
$ cf.sh docs.sh
$ less log/docs.sh
$ cf.sh install-doc
$ cd work
$ mkdir install
$ echo "hoge: hoge version 0.1 build 1" >install/slack-desc
$ fakeroot makepkg hoge-0.1-i686-P1.tgz
$ for i in *; do
    test -d $i && rm -rf $i
$ done

まあ、私の手順ですけど。

って、これ書いてて、log/doc-prefix.txt や cf.sh workclean を作りたくなった……。
apt-get source もどきも作りたいかも。
7e37c2cc むつ 2005-08-15 15:53
朔 0.6.b1 でポップアップしないなー、なんでだろー?
と悩んでいたわけなのですが、判明しました。
http://www.mozilla-japan.org/support/firefox/adblock
の広告カットが誤爆していました。
div[id*="popup"],
この設定です。ポップアップするにはこの設定を消すか、朔の www/tool.js, www/default.css の popup を別の文字にする必要があります。
ま、おそらく私だけでしょうけれど。
c63b2bcd anonymous 2005-08-15 16:38
>>7e37c2cc
それは盲点でした。
248cd6a3 むつ 2005-09-11 00:28
[[/note/新月初心者の館]] 新月掲示板の仕組みや使いかたの説明。
かなり良く出来ています。ご苦労さまです。
Readme 一つまともに書けない私としては、ただただ尊敬するばかりです。
f4d7e7e4 むつ 2005-09-19 10:04 1127091856.txt (4KB)
特定スレッドの RSS を出力する Perl CGI です。
RSS Version 1.0 のみ。
適当な Perl CGI 実行可能な httpd で動かしてください。
http://mutumin.ddo.jp/saku/rss.cgi/NanaSHI%E3%82%8D%E3%81%A0
適当な RSS リーダーで上のような URL にアクセスしてください。
http://mutumin.ddo.jp/saku/rss.cgi/NanaSHI%E3%82%8D%E3%81%A0/n2
上のように /n数字 とすることで最新 数字 件まで表示します(デフォルトは 10 件)。
title 要素は "名前: 書き込みの先頭から数文字" としました。
dc:date 要素は RSS 的に間違った値を出しているような気がします。自分が使っている範囲では不都合がないのでそのうち修正します。

あいかわらず UTF-8 でべた書きしていますので、UTF-8 のままご使用ください。

設定項目の説明
$datdir 朔のキャッシュディレクトリを指定してください。
$rssmax RSS として最新の書き込みから何件前まで表示するかのデフォルト値です。
$titlelength title 要素の文字数です。この CGI では title に本来 description 等に使用すべき要素を含ませています。
$baseurl 朔が動いている URL を指定してください。
$rssdesc この RSS の説明を記述してください。
$defurlarg 引数が指定されなかった場合、デフォルトで RSS に変換するスレッドを指定してください。

以上です。
まー、主に mixi の日記で使うために作りました。
63cdbbad むつ 2005-09-22 23:30
>>400882a6
awk をさわりだけかじってみました。
cat $PROJECT.conf | perl -pe "s/\t/ /g" | perl -pe "s/^#.*$//" | \
perl -pe "s/^\n$//" | perl -pe "s/^ +//" | cut -f 1 -d " " | perl -pe "s/\n/ /"
なんて書いていたのが、
grep -v "^#" $PROJECT.conf | awk '{ printf "%s ", $1 }'
とかなり短く書けました。すごいな、awk 。
b14888da むつ 2005-09-23 23:17
WinMX.com運営停止
[ http://slashdot.jp/article.pl?sid=05/09/23/1218229&topic=74 ]
スラッシュドット ジャパン

中央サーバ有りなので、親亀こけたら、となってしまったようです。
所謂小鯖、OpenNap 系のサーバを運用している人にはあまり関係無いようです。
クライアントもなにも WinMX だけではないですから。

LimeWire や eDonkey も閉鎖するかもという話を耳にしましたが、こちらはどうなのでしょうね?
(eDonkey はニューヨーク事務所が閉鎖されたそうです)。
LimeWire は gnutella 系ピュア P2P ですし、eDonkey はハイブリット P2P ですが、個人でもサーバを構築することができ、
WinMX の小鯖と違い各サーバ同士も連携するそうですので、いきなり使えなくなることは考えがたいですね。

実際潰れてくれると新たなソフトウェア開発の活力となりうるので、「P2P 技術を応用したソフトウェア」そのものに興味のある私としてはうれしいです。
違法行為をし辛くする方法、簡単に合法利用する方法が出てくるかもしれないのも楽しみです。

その関係か、IKeJI さんの ikeji.com につながりにくくなっているようです。
P2P ソフト一覧 [[雑談しながらリンクを貼るスレ/30434d2d]] の閲覧が集中しているそうです。
サーバを増強するそうですが、新月に貼り付けるってのはだめなんでしょうかね?
まー、自分で書いたページを自分でコントロールできないのは少々問題となるのかもしれませんが。
ここらでいっぱつ、AsagumoWeb で一気に分散化とか……。
(注:いってみるだけ)。
こんなときこそ Coral の出番と
http://p2pwiki.ikejisoft.com.nyud.net:8090/
でアクセスしてみたのですが、408 エラー。だれも Coral 経由で見て無いんかい。
579a94de むつ 2005-09-28 19:29
P2P プロトコル Jxta
jxta shell を触ってみました。とりあえず、talk コマンドは出来ました。
ちょっと触ってみただけの感想ですが、PUSH 型っぽい印象を受けました。
これで掲示板を作るのは大変かな(そもそもスキルないですし、匿名性もないはず)。
チャットなんかは簡単に作れそうですね、プログラムできるのなら。
そのままでは 2 byte 文字は通らないので何らかの符号化はする必要がありますが、
そんなもの、URL エンコーディングでも Base64 でもなんでもいいわけで。

参考にしました:
http://www-online.kek.jp/~inoue/Parallel-CAMAC/Work/onlnote2-JXTA1.html
http://www.wadai.org/memo/index.php?JXTA
dac28342 むつ 2005-09-30 06:43
MITなど、100ドルノートPCの詳細を発表--ゼンマイ駆動も可能 - CNET Japan
http://japan.cnet.com/news/tech/story/0,2000047674,20087866,00.htm

> 発展途上国の子供向けに設計した、ゼンマイで動く100ドルのノートPC
ということですが、純粋に欲しいですよ?

> 提案されたマシンは、500MHzのプロセッサ、1Gバイトのメモリ、そして革新的なデュアルモードディスプレイの搭載が提唱されている。
ウチのサーバマシンより高性能ですし。というか、何この潤沢なメモリは!?
デュアルモードディスプレイとは
> フルカラーモードと、太陽の下でも見える白黒モードという2つのモードで使える
ということらしいです。

HDD の大きさが示されていないのがちょっと心配ですが、まー、数ギガくらいは積んでくれるんですよね?
(すべからくオンメモリというオチがあったりして。それならあのメモリ量も納得ですが)。

Zaurus 用の手回し充電器とかも欲しい……。
5a3f131f むつ 2005-09-30 08:27
>>dac28342
/.J によりますと、
> CPUは AMD製 500MHz、メモリ1G (RAMが256MB、フラッシュメモリが最低512MB~)
とのこと。欲しいのには変わりありませんが。

http://slashdot.jp/article.pl?sid=05/09/29/2236219&topic=27
34cf7535 むつ 2005-10-02 07:52 1128207158.txt (0KB)
また変なスクリプトを書いてみたり。
文字コード、改行コード判定スクリプト coco.sh
要 nkf, od, awk, head, ls, sh

perl スクリプトの方がスマートで多機能だけれども、Jcode.pm が無い環境用に。
まーでも、Jcode.pm が無ければ nkf も無さそうだ……。
01278950 むつ 2005-10-02 10:14
>>34cf7535
m_check() 間違えてました。正しくは、
m_check(){
    if [ "$MC" = "Shift_JIS" ]; then
        MC="sjis"
    elif [ "$MC" = "EUC-JP" ]; then
        MC="euc"
    elif [ "$MC" = "UTF-8" ]; then
        MC="utf8"
    elif [ "$MC" = "ISO-2022-JP" ]; then
        MC="jis"
    else
        MC="ascii"
    fi
}
こんな感じ。
あと、expr コマンドも必要ですね。

nkf が無い場合、iconv でも次のようにすればそれなりに判別できるっぽいです。iconv はマシン依存ですが。

#!/bin/sh

CODE="UTF-8 SHIFT_JIS EUC-JP ASCII"
ICONV=/usr/bin/iconv

for i in $CODE; do
    $ICONV -f $i -t ISO-2022-JP $1 > /dev/null 2>&1 && \
    OUT=$i
done

if [ "$OUT" = "ASCII" ]; then
    $ICONV -f ISO-2022-JP -t ASCII $1 > /dev/null 2>&1 || \
    OUT="ISO-2022-JP"
fi

echo "$OUT"
#ここまで

2byte スペースで表記してますので、こぴぺしただけじゃ動きません。
sed -e "s/    /\t/g" とかなんとか。
e23c39d2 むつ 2005-10-04 21:38 1128429538.txt (4KB)
>>f4d7e7e4
特定スレッドの RSS 1.0 を出力する perl スクリプト。
dc:date を正しい(と思う)値にしました。新たに $localtime という変数を設定しました。
今は "+09:00" (GMT と日本標準時の差)としていますが、新月を見ると "Z" でもいいようです。
ついでに content:encoded も出力してみました。対応している RSS リーダならば、より見やすくなったと思います。
http://~ をリンクする正規表現は yukiwiki からいただきました。なので意味わかってません。
どうせなので朔も content:encoded 対応してみましたが、差分とるのけっこう面倒ですね……。こちらは気が向いたらアップします(どうせたいしたことしてないし)。

attached: rss.cgi
サンプルはこちら http://mutumin.ddo.jp.nyud.net:8090/saku/rss.cgi
d16f915b むつ 2005-10-07 01:30 1128616245.txt (2KB)
朔の添付画像サムネイル表示改造
とりあえず、jpg にのみ対応してみました。
こちら [ http://moneytreesystems.com/css/picpopup.html ] の CSS による画像のポップアップをほぼそのまま使わせていただきました。
オリジナルサイズの画像は CSS で隠しているだけなので、レスアンカー(>> や最新の書き込み)先に添付画像があるとサムネイル、オリジナルサイズ両方の画像が出てしまいます。
これを回避するには JavaScript の onMouse イベントでポップアップするようにすればよいのですが、
ppBlog [ http://martin.p2b.jp/index.php?UID=1115484023 ] や
p2 [ http://akid.s17.xrea.com/ ] のスクリプトではどういうわけか動作してくれませんでした。ぐすん。

動作サンプル
http://mutumin.ddo.jp:8000/thread.cgi/%E3%81%AB%E3%82%83%E3%82%93%E3%81%93%E7%94%BB%E5%83%8F%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
など。
d27ad81a むつ 2005-10-07 21:38
>>d16f915b
朔の添付画像サムネイル表示改造その2
JavaScript に変更しました。ppBlog からもらってきたものです。ライセンス確認していないのですけど。
動かなかったのはコピペミスでした。p2 の方はあいかわらず不明です。
IE だとバグバグしてます。直せるはずなのでそのうち(IE 使ってないのでやるきゼロですが)。
91a4a6db むつ 2005-10-09 17:29 1128846579.txt (15KB)
朔 0.7 が開発中らしいので 0.6 で行った自分用の改造まとめ。
・スレッド末尾にページ先頭へもどるリンク
・rss 1.0 に content:encoded として html の追加
・添付画像(今は jpeg のみ)をサムネイル表示 + オリジナルサイズポップアップ

ポップアップ関連コードのライセンス状況は不明です。コピる人は自己責任で。
c1fa75ce むつ 2005-10-09 17:32
Winny の作者金子さんの書籍 Winny の技術を Amazon で購入申し込みしました。
近所の TSUTAYA にはありませんでしたので。あるとも思っていませんでしたが。
で、隣町にけっこう大きめの本屋があるんですよ、そこならあるかなーとチャリ漕いでいったんですが、残念ながら。
Mona やいまどきのファイル共有ソフトのつくりかた、あるいは、Winny 攻略やらダウンロード云々といった本はたくさんあるのに。
しゃーねーなーと bk1 で申し込もうと思いましたら(コンビニ決済があるので。クレジットカード持っていない自分)現在お取り扱いができませんとのこと。
はじめての Amazon が Winny の技術になりました。
休日を挟む為か、発送予定日が金曜~(来週の)日曜になっているんですけど……(そわそわ
087b72a4 むつ 2005-10-10 14:33
>>91a4a6db
改造に抜けがありました。
・スレッドに(2ch のような)番号を割り振る。
やっといてなんですが、この改造はまったくおすすめできません。
だって、自分の日記でも >>123 とか書きたくなってしまいますもの。

CSS をちょっといじって遊んでみました。
.id a:after { content: " New!"; color: #f63; }
.id a:visited:after { content: ""; }
改造で ID を後ろの方に出すようにしているので、after としていますが before の方が自然でしょう。
このままだとかなりウザイ(し、大抵1~2週間で visited で無くなる設定にしているはずな)ので
.id a.visited:after { content: " read"; }
とかした方がよいのかも。
id は shingetsu/thread_cgi.py の HTML 生成部分に手を入れて。
 '<span class="id">\n' +
 '<a href="#r%s">%s</a>\n' % (rec["id"][:8], rec["id"][:8]) +
 '</span>\n' +
みたいな。

まー、普通はリンクの色で十分ですが CSS の content を知ったので。
5dcd52b1 anonymous 2005-10-10 15:00
>>087b72a4
 '<a href="#r%s" class="id">%s</a>\n' % (rec["id"][:8], rec["id"][:8])
とかじゃ駄目ですか?
8d795811 むつ 2005-10-10 16:12
>>5dcd52b1
ありがとうございます。HTML の知識が 3.x 止まり(それも数年前に流し読みした程度)なので助かります。
6b004563 むつ 2005-10-10 18:56
>>e0416ad6
この2ちゃんねるブラウザゲートウェイ変換スクリプトを CGI 化してみました。
1週間位前から作ってはいたのですが、処理中、無限ループしてしまって困っていました。
とりあえず動いてはいますが、すべてのスレッドの subject.txt を生成する処理を wget 無し(笑)で行いたいのでスクリプトの公開はもう少し見合わせます。
ブランケットリンクの処理もおかしいのですが、こちらはあんまりやる気無いです。

デモは下記サイトで。
http://mutumin.ddo.jp/saku/saku2ch.cgi/subject.txt
また、特定のリスト内のスレッドのみを対象にできます。この際、リスト内リストは再起検索されるはずです。
テストの subject.txt
http://mutumin.ddo.jp/saku/saku2ch.cgi/%E3%83%86%E3%82%B9%E3%83%88/subject.txt

なお、書き込みは出来ません。以下のような夢想をしてはいるのですが。
1. 2ちゃんねるの bbs.cgi 互換 CGI を朔のレコード形式が吐けるように改造。
2. レコードを朔キャッシュの該当ディレクトリに格納。
3. 朔のアップデートコマンドを発行。
3番目がわかりません。1番目も出来るかどうか不明です。
2番目もスレッドのキーと朔のファイル名のうまい変換方法が浮かぶかは不明です。
つまり、だめだめです。ぷしゅ~。
cabd7150 むつ 2005-10-10 19:07 1128938861.cgi (3KB)
>>e23c39d2
朔の RSS 出力スクリプトです。朔デフォルトと違い、x日前(デフォルトでは3日前)の書き込みすべてを出力します。
今気づきましたが、スレッドの事しか考えていませんでした。まーいいや。

デモ
http://mutumin.ddo.jp.nyud.net:8090/saku/sakurss.cgi
次のように /n? とすると ? 日前まで遡ります。
http://mutumin.ddo.jp.nyud.net:8090/saku/sakurss.cgi/n1 (1日前まで)
dbb5ce34 むつ 2005-10-10 23:45 1128955541.txt (0KB)
朔しおり
自分にのみ読み込み権限のある CSS と(それを実現するための httpd サーバと)
しおり用画像ファイルとシェルスクリプト(マテ)で2ちゃんねる専用ブラウザにあるようなしおり機能を実現しました。

CSS はこんな感じ。
dd#bcabd7150:after { content: url("http://localhost/saku/css/shiori.png"); }
shiori.png は 色々なしおりを集めよう~今日はここまで読んだ~ [ http://aa5.2ch.net/test/read.cgi/kao/1025193276/ ]
を適当に画像化しました。

欠点
・自宅サーバが必要
--- 別に朔の www ディレクトリに上のような CSS を突っ込んでも良いんですが、それだと外部の人にも見られてしまいますので。
・リンククリックで簡単に、とはいかない
--- 私はコマンドライン大好きですので問題ないんですが、一般的には欲しいところ。
--- やってやれないことはないのですが(シェルスクリプトを CGI 化し、朔からリンクを張る)、どうにもめんどくさいです。
・CSS 読み込み用に shingetsu/gateway.py に変更の必要あり
--- もしかしたら、default.css に @import とか書けばそれで済むのかもしれません。

自分用なのでデモはありませんが、一応見た目どんなものか下記 URL に。
http://mutumin.ddo.jp.8000.nyud.net:8090/thread.cgi/%E3%82%80%E3%81%A4%E3%81%AE%E6%97%A5%E8%A8%98#rcabd7150
ac48be11 むつ 2005-10-10 23:56
>>dbb5ce34
Coral 経由だと見えないみたいですね(なんでだろ?)。
こちらをどうぞ。
http://mutumin.ddo.jp:8000/thread.cgi/%E3%82%80%E3%81%A4%E3%81%AE%E6%97%A5%E8%A8%98#rcabd7150
Tor 経由で見えましたので大丈夫でしょう、きっと。
6c90b340 anonymous 2005-10-11 12:48
>>dbb5ce34
Cookieを使えば本体側でしおりは作れますけど、
1スレごとにCookieを食べさせるのも何か気持ち悪いし…
44ec720f むつ 2005-10-11 20:04
>>6b004563
2ちゃんねる専用ブラウザp2 で見るために少し改変しました。
特定のリストをみるときは、スレッドの URL から % を消してください。

たとえば、テストリストの場合。
http://mutumin.ddo.jp/saku/saku2ch.cgi/%E3%83%86%E3%82%B9%E3%83%88/subject.txt

http://mutumin.ddo.jp/saku/saku2ch.cgi/E38386E382B9E38388/subject.txt
これで一応メンテナンスフリーになった予感。
8c5efe1b anonymous 2005-10-11 23:32
>>dbb5ce34
Cookieを使って本体側でしおりをやってみました。
http://d.hatena.ne.jp/fuktommy/20051011/1129040781
679eaea2 むつ 2005-10-12 08:41
>>8c5efe1b
わ、ありがとうございます。本体&Cookie で対応してくださると、スマートですね。
8d4906f5 むつ 2005-10-17 20:30
Winnyの技術が届きました。
予定より早かったです。やるな Amazon 。
で、感想なんですが、(いろいろなところでいわれていますが)ちゃんとシミュレーションしてたんですねぇ。
私にファイル共有ソフトの作成は無理ですが、シミュレーションなら出来そうな気がします。
もちろん、グラフィカルな可視化されたものは無理ですけど、数値上ならば。
自分の考えた共有方法をシミュレーションしてみるのもかなり面白そうです。

手に取ったときに、教科書みたい。さすが技術書とか思ったり。
9bc3198f むつ 2005-10-20 17:31
>>44ec720f
消してくださいというのも何なので、2ch 形式の bbsmenu.html を吐く CGI を書いてみました。
http://mutumin.ddo.jp/saku/bbsmenu.cgi/bbsmenu.html
とでもすると、メニューにあるリストを板と見なした bbsmenu が出るはずです。
めんどいんでソースは添付しませんが、
http://mutumin.ddo.jp/saku/bbsmenu.cgi.txt
からとってこれるはずです。
faaffada anonymous 2005-10-20 21:09
>>9bc3198f
> ...からとってこれるはずです。
CGIの出力になりますが。
cd05e20c むつ 2005-10-21 00:07
>>faaffada
確認ありがとうございます。.cgi とつくと CGI として解釈されるようです。
http://mutumin.ddo.jp/saku/bbsmenu.txt
に変更しました。
dd62a250 むつ 2005-10-21 17:15
>>6b004563
自作のすごい単純な CGI で 1 と 朔添付の broadcast.py で 3 はできたような気がします。
でもなんか疲れたので Firefox 用 の検索エンジンプラグインをみようみまねで書いてみました。
[[【P2P】ニュース速報【掲示板】/16ac0788]] のSearch Interface of 登録テスト用デモを用いて検索します。

-- ここから --
<search
   name="Hyper Estraier"
   version = "7.1"
   description="Search Interface of 登録テスト用"
   method="GET"
   action="http://athlon64.fsij.org:1978/node/test/search_ui"
   searchForm = "http://athlon64.fsij.org:1978/node/test/search_ui"
   queryEncoding="utf-8"
   queryCharset="utf-8"
>

<input name="phrase" user>
<input name="max" value="100">

</search>
-- ここまで --
hyperestraier.src とか名づけて、firefox の searchplugins ディレクトリ(フォルダ)に入れれば使えます。
http://athlon64.fsij.org:1978 から favicon.ico を貰ってきて、gif に変換、hyperestraier.gif などとして
searchplugins に入れるとなかなか素敵です。
f0ff850d むつ 2005-10-21 17:20
>>dd62a250
訂正
s/書いてみました。/書いて遊んでいました。/
こうしないと、前後のつながりが意味不明ですね。こうしても意味不明さはあんまり変わりませんけど。
気分転換がしたかったんです。
もともと Nutch 用に書いていたものの流用なので、不必要なところがあるかもしれません。
……はやく Hyper Estraier 用の Web クローラー出ないかなー。
3e79917c むつ 2005-10-22 22:37 1129988228.cgi (11KB)
>>dd62a250
saku2ch.cgi に bbs.cgi の書き込み機能を追加してみました。
ついでに bcast.sh(cd して broadcast.py を引数つきで exec してるだけ。broadcast.py もこちらのディレクト状況にあわせて少し変更)
で update 通知もしています。
いろいろ怖いんで(新月ネットワークに変なデータ送ったらやばめだし)ローカルでのみテストしてます。
動いてるっぽいんで大丈夫だとは思うんですが。
スレ立てはできません。やってやれないことは無いはずですが、2ch と新月の違いを吸収するのはめんどいんで。
トリップはつけられません。書き込み時刻に誤差は(まだ)入りません。
力技の連続です。リスト、スレッド数が増えるとあぼーんするかもしれません。

TODO:
NanaSHI をまねた。「他のノードにも通知する」「書き込み時刻に誤差」「署名」の実現。
識別子が本当に朔互換か調べる。
$0/subject.txt 等を廃止して $0/all/subject.txt とかにする(bbs.cgi の設置場所対策)。

デモはこちらです。ローカルでのみ動いている朔なので新月ネットワークには反映されません。
http://mutumin.ddo.jp/saku/saku2ch-test.cgi/
(http://mutumin.ddo.jp/saku/saku2ch-test.cgi/subject.txt)
(http://mutumin.ddo.jp/saku/saku2ch-test.cgi/dat/****.dat)
(http://mutumin.ddo.jp/saku/test/bbs.cgi)

いろいろ新月(Perl 版)からコードをもらっているので、ライセンスは GPL2 になるような予感がします。
a5d8667e むつ 2005-10-24 18:04
朔の cache 2005年10月22日までをアーカイブにまとめました。古い書き込みが必要な方は↓からもってってください。
http://mutumin.ddo.jp/saku/saku-cache-20051022.tar.bz2

それに伴い、http://mutumin.ddo.jp:8000/ で動いている朔はキャッシュの保持期限を1年とデフォルトに戻しました。

(自分が)何年も手元に置きたいものは www のリンクで、それは1年ごとにまとめればいいやという考えです。
古い情報とはいえ、それに価値を見出すのは人それぞれですので、なんらかの方法で古い情報にもアクセスする手段は必要と考えています。
静的 HTML に変換しようと思うのですが、自動処理したいので暇なときにスクリプトを書いてみようと思います。

また、スレッドの削除に伴い、saku2ch.cgi が吐くデータと2ちゃんねる専用ブラウザに残っているキャッシュとで不整合が出ると思われます。
気にしないでください(マテ

Top of this page. | <<last <<new 0 1 2 3 4 5 old>>

limit: 15360KB

(むつの日記/532/3.8MB)


Powered by shinGETsu.