Gemmaの日記 このページをアンテナに追加 RSSフィード

2011-01-04

コード書き初め「一二三」 12:09  コード書き初め「一二三」を含むブックマーク  コード書き初め「一二三」のブックマークコメント

書き初めに、以下のお題に答えます。 C++の問題ですが、 Javascript で。

1から1000までプリントせよ。ただし、ループ文や条件分岐文を使わずに。

c++ - Printing 1 to 1000 without loop or conditionals - Stack Overflow

コード(Firefox 専用)

var zero = function(f) function(x) x;
function succ(c) function(f) function(x) f(c(f)(x))
function add(n,m) function(f) function(x) m(f)(n(f)(x))
function multiply(n,m) function(f) function(x) n(m(f))(x)
function power(n,m) function(f) function(x) m(n)(f)(x)
function cton(c) c(function(x) {document.write(x + 1 + '\n'); return x + 1;})(0)
var two = succ(succ(zero));
var three = succ(two);
var five = add(two, three);
var thousand = power(multiply(two,five),three);
cton(thousand);

実行例:

http://eva-lu-ator.net/~gemma/hatena/hihumi.html

参考

道 (TAO) から一が生まれ, 一から二が生まれ, 二から三が生まれ, 三から万物が生まれ, 云々

Church numerals and Lambda Calculus

近況報告

新人1年目です。

仕事で Allegro Common Lisp を使っています。

いい処理系です。性能もいいし、ドキュメントもしっかりしてるし、 Emacs インタフェースもよくできてるし、マルチプラットフォームと国際化もバッチリだし。

うちの部長もよく言っていますが、確かに仕事で使うなら Allegro Common Lisp ですね。


うちの会社は ウェブサービス屋さんではないので、「入社したらウェブ技術とはお別れかな」と思ったら、全然そんなことなかったです。

おまけに、仕事で RDF とか セマンティックウェブの勉強もさせてもらいました。


書き初めといいつつ、年末年始もずっとコードを書いてました。

まとまった時間がとれたら片付けようと思っていたコードで、

Firefox 拡張で、 TCP/IP ソケットを開いて、 XMPP を nsISAXXMLReader でパースして、digest-md5 認証するやつができました。


今年もよろしくお願いします。

利用者利用者 2011/02/07 15:13 いつも利用させていただいております
ほとんどの板のURLをいれてもエラーが出てきて変換できなくなっています
ご確認お願いします

板エラー板エラー 2011/02/07 15:50 上記の方とは違いますが
私もhttp://gemmat.s206.xrea.com/matome/matome.cgi を重宝させてもらっています。
よろしければ対応お願いします。

利用者利用者 2011/02/07 17:52 直ったみたいです
お騒がせしました

けんせいけんせい 2011/07/06 17:13 はじめまして、chromeで文字化けするのですが
治す方法はありますでしょうか?

ほげほげほげほげ 2014/05/01 13:41 まとめサイトエディターはもう閉鎖でしょうか?
ずっとここ使ってたんで、できれば残しておいて欲しいです

ほげほげほげほげ 2014/05/01 13:52 あら使えるみたいです
サーバーエラーではないようでしたので閉鎖かと思いました
これからもよろしくお願いします

2010-06-22

ICFPc2010参戦記 00:31  ICFPc2010参戦記を含むブックマーク  ICFPc2010参戦記のブックマークコメント

  • 会社の先輩に誘われて参加。
  • Common Lisp と英語が共通言語のチーム。コミュニケーションはIRCとgitのコミットログ。
  • 私は、Common Lisp書けない、ICFPc 初参加、月曜は会社で新人研修、なので、見学者扱い。
  • 記録: 0点
  • 任意の燃料を生成するための工場の生成プログラムを書く段階で断念。(大会の2合目といったところ)
  • 大会開始
  • 仲間が問題読む。
  • 仲間が回路の文法の解析。
  • 7時間目 仲間がゲートの入出力を同定。左 L-R(mod 3),右 L*R - 1(mod 3)。
  • 12時間目 私 参加。IRCログで以上の経緯を知る。問題を読む。回路シミュレータがもう半分できかけてるし、私の出番はなさそうだ。
  • 17時間目 仲間がサーバの入力列同定。
  • 20時間目 仲間が backward wire の意味を同定。backward か forward かはゲートの行番号で決まる。入力の初期値は 0 。回路シミュレータが完成に向かう。
  • 21時間目 仲間が回路シミュレータ完成。鍵prefix同定。
  • 次の問題は、サーバの入力列から鍵prefixを出力するような回路の生成だが、誰も解決できず。

http://eva-lu-ator.net/~gemma/hatena/icfp2010/keycircuit.gif

  • 簡単な回路1

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple01.gif

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple01detail.gif

  • 簡単な回路2

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple02.gif

  • 簡単な回路3

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple03.gif

  • 簡単な回路4

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple04.gif

  • 簡単な回路5

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple05.gif

  • 簡単な回路6

http://eva-lu-ator.net/~gemma/hatena/icfp2010/simple06.gif

  • 入力を出力する回路 (X:Xは気づかなかった)

http://eva-lu-ator.net/~gemma/hatena/icfp2010/identity.gif

  • ゲートのダイアグラム

http://eva-lu-ator.net/~gemma/hatena/icfp2010/diagram.gif

  • 常に 0 を出力する 定数回路

http://eva-lu-ator.net/~gemma/hatena/icfp2010/const0.gif

  • 常に 1 を出力する 定数回路

http://eva-lu-ator.net/~gemma/hatena/icfp2010/const1.gif

http://eva-lu-ator.net/~gemma/hatena/icfp2010/const1detail.gif

  • 常に 2 を出力する 定数回路

http://eva-lu-ator.net/~gemma/hatena/icfp2010/const2.gif

  • 定数回路じゃだめだ、NAND、カウンタ、シフトレジスタ
  • ゲートをとりあえず4つ以下とかで並びかえ全探索すれば手がかりになるかも…でも Common Lisp じゃないと…
  • 仲間の Common Lisp を読めず、書けず、さりとて再実装する勇気もない自分がうらめしい。
  • 日本時間 月曜は会社で新人研修。
  • 日本時間 月曜21時に大会終了。何もできなかった。情けない。
  • 男はつらいよ柴又慕情を見ながら、酒を飲み、下品なtweetをして、ふて寝した。
  • 「あんときの酒は、辛口でしたネェ」

来年は Common Lisp でチームに貢献するぞ。

   2010/07/10 16:38 こんにちわ。お忙しい中失礼します。
http://gemmat.s206.xrea.com/matome/matome.cgi

こちらのサイトで2ちゃんねるのスレッドが取得出来なくなっています。

確認した板です。
ニュース速報+
http://tsushima.2ch.net/newsplus/

ニュース速報
http://tsushima.2ch.net/news/

芸スポ速報+
http://kamome.2ch.net/mnewsplus/

対応よろしくお願い致します。

2010-03-26

スレの勢い、スレ検索を追加しました。 23:11  スレの勢い、スレ検索を追加しました。を含むブックマーク  スレの勢い、スレ検索を追加しました。のブックマークコメント

  • 勢いで並びかえれば、いま盛り上がっているスレがすぐわかります。

http://eva-lu-ator.net/~gemma/geocities/ktkr2/speed.png

FC2ブログでのご利用方法

”テンプレートの設定”をします。

http://eva-lu-ator.net/~gemma/geocities/ktkr2/fc2matome0.png

”テンプレート管理”になります。ページをグイッと下に進めると、

”スタイルシート編集”があるので、コピペしてください。

http://eva-lu-ator.net/~gemma/geocities/ktkr2/fc2matome1.png

あとはいつもどおり、高機能テキストエディタ→ソースに挿入でお使いいただけると思います。

wunwun 2011/04/06 16:55 検索してもData error.とでるだけなんですが・・・。

2010-03-17

やったー2chまとめサイトエディター2.0できたよー\(^o^)/ 17:02 やったー2chまとめサイトエディター2.0できたよー\(^o^)/を含むブックマーク やったー2chまとめサイトエディター2.0できたよー\(^o^)/のブックマークコメント

2chまとめサイトエディター2.0

ここがすごい

  • 豪華なエディター

http://eva-lu-ator.net/~gemma/ktkr2/2.png

  • 画像の大きさをマウスでグリグリ

http://eva-lu-ator.net/~gemma/ktkr2/3.png

  • 見やすいテーブル表示。検索、ならびかえも。

http://eva-lu-ator.net/~gemma/ktkr2/0.png

  • キャッシュでスイスイまとめがはかどる。
  • 自動リンク、安価で並び替えもバッチリ。

http://eva-lu-ator.net/~gemma/ktkr2/1.png

実装

Gauche, YUI2, Sqlite3

3週間かかりました。IE8, Firefox3で動作確認済。


  / || ̄ ̄||  ∧∧      楽しく使ってね
  |  ||__|| (´・ω・`)     仲良く使ってね
  | ̄ ̄\三⊂/ ̄ ̄ ̄/
  |    | ( ./     /

SSSS 2010/03/25 22:00 fc2ブログで使うと、高機能テキストエディタ→ソースに挿入で
編集時にはちゃんと色もサイズも変わってるんですが
投稿してみると全て茶色いサイズも変わってない文になってしまうんですが
なにか解決方法はありますでしょうか?

SSSS 2010/03/26 00:21 自己解決しました
どうもお騒がせしました

TTTT 2010/03/26 19:21 SSさんと同じ症状で悩んでおります。
解決方法をご教授願いたいのです。

お手すきの際によろしくお願いいたします。

GemmaGemma 2010/03/26 23:22 コメントをいただきありがとうございます。
FC2ブログでの使いかたをまったく説明していなかった私のミスです。申し訳ありませんでした。
早速、簡単にですが、FC2ブログでの使い方を書いてみました。
http://d.hatena.ne.jp/Gemma/20100326/1269612671

TTTT 2010/03/29 12:37 Gemmaさん
迅速な対応ありがとうございます。大変助かりました。

銀 2010/05/09 04:01 いつも利用させていただいております。
1.0ですが、クロームではあらゆるスレッドについて文字化けするようです。

ところで、古き良きハッカー文化的な投げ銭は受け付けておられますか?

asas 2010/05/13 22:53 2,0を使いfc2ブログに記事を上げたのですが追記の編集をしても「続きを読む」と一緒に全記事表示されます。可能であれば解決方法を教えていただけないでしょうか。

NN 2010/05/26 21:51 初めまして
今度、サイトエディター2.0を使わせてもらおうと思ったのですが、
これは編集の際に『最初全部の記事をボツにしておき、抽出したいレスをクリックで選ぶ』と言った使い方は出来るのでしょうか?御指南お願いします

namanama 2010/08/05 10:27 2ちゃんねるサーバ移行後、ビジネス板の情報が取得できない状況になっているようです。

名無しさん名無しさん 2011/03/17 03:01 いつも本当にお世話になっております。
これからもよろしくお願いいたします。

2010-02-16

計算モデルと論理とゲーデルの不完全性定理 01:22  計算モデルと論理とゲーデルの不完全性定理を含むブックマーク  計算モデルと論理とゲーデルの不完全性定理のブックマークコメント

ゲーデルの不完全性定理は、数学を扱う数学、つまりメタ数学を考えるが、それだと理解が難しい。しかし、証明(数学)=プログラムという悟りを開くと、プログラムを扱うプログラム、つまりメタプログラムを考えればよくなり、それならコンパイラ等でなじみがあるので理解が優しくなる。

話の流れは以下。

1. プログラムとは何か

2. 証明とは何か

3. 証明=プログラム

                   ,
           (   {、 {   ヽ.ー、、
               \、__ぃ._ゝ⌒ヾ iヾ)}、_
              ン_ー-_二ー-, 〉 {厶 _、ヽ              _
             ヽ._>'´ / /,ィ/ / ハYヘい       ,. -- 〃⌒
 r−-、      ィ´  〃 ,イ/7'  ,イイ/ 小ヽ 丶、 ,. ‐ '´ハ i   ″`ヽ、
、ヽ、     /幺ィ  {从{小込v' jゥ仏厶川リ}  YV,   小 Vj. |丶   ヽ
 ` ー-ミー--'_,辷三彡'´ | V'芯`   芬Yjル/ハ. /   V√ヽ._! l\ \ '⌒ヽ
  ,. -‐ ` ̄    _ファィ! "´     ``ン'´イハy′    l{辷 { い. ト、ヽ._ヽ、   \
y'´   __,,_ ___,,彡'´八ム   _'__ 、_幺イ厶/     |'心`VヽヘE、ヽY い、  \
′   / |!    r==ァ'゙’_ヘ、 ´_ー,Z.彡-―-〈   ‐- 、 ド¨    {tリj ハ> i`′   ヽ
.    /   !リ    ,.幺-‐=,.イ´'´ ,. / /   ヽ    \l __ '   `゙ ん}.i_,」      `、
.    i`¨¨´   . '´ /ィ<{V/  /,イ i′ ,ハ `、   、ぃヽ「⌒`j   厶イl」     、   ぃ ―――証明と
ヽい  l     /  /レ′/〈.い、___,{.{   , -‐ \ \ーヘ` ` `ヒ´_イy , ム、 、   ヽ.   }.}、
`  \V  /,   ,{ {  '´_,ム≧ー、-ヘー}-/  ,. -‐-、ヽノ  ヽ  ハ `バ´^)\`ー-)  }ハ.  ハ{
 ,. 、   >'/   { い.ィ/ゥ ̄`ハ}ヽ\.{ /    _Vごヽ.._/   }ー}`丶乙ヽ '7ノ^ }/
ヽ'^\ー '´_,,. -‐<ゝ`ー之,_ //  }ハヘ{、i    ヽ`マTハ_ _/;  ヽ、 ハ、}ノ┐
,、-‐¬''" ,イ丁二了 {  ___彡' / ノノ  ヘ!      `∨だ¬ /  ∠_` }ヘ ン
 〉 -r‐/√    l ハ._乙 -‐'´/´/    ム      ヾ^ `i′ \ ` ー1´ヽ
-ー‐¬、Y'      |/   /了¨¨´  , '  -‐ ' ,.小、       丶 !    丶.     i
  /_,.      ,?..._ {イ{   /    / |′丶       マi 、_         ト、     ,nyぃ/
 /´ /      ∠-- .._`丶、 ィ"¨¨ ーヘ 〉|   \      ヽ     -‐   ヽl `"¨¨´ ̄|il}い} , プログラムは―――
    { ,ィ,イ厂¨\.!  `ヽ/ '´ ̄`¨マ´/ |     i>、   , - \, '"⌒丶. ハ  __,,.. 」リ近'´
   ∨い、   ` ',         _,. -≧ュ、',      |エ\       Y         |´    ,ゝだンゥー
           i      ,./'´ヽ ヾ 'r-ヘ    l-, -― 、   l.        !    ` }} `^`
          、_r{ヽ   //´  ,.ィ √ }ーヘ  -‐'´__,. 、  ヽ   |__,,.. _、  、ヽ
          ュ?ム′ , '  /。/ // ,'ム斗ヘ  /    `¨´    l     ヽ   丶
         ゞイ} ,ム./   ∧/−-/ ァZ/! i._ぃ (._,,.. ヘ下、   i l |ィT_i_、_ \.  ',
         ケ´|./ 〈  ∧/__ ,<./ / 7/、!´ 「 i.ヘ r‐ 、___`ー--‐―_、i. l i!ヘヘヽ、\ }
         °厶イ\/∨¨7`ヽ'´ ; / l i  l lヘヾヽ._`¨`ーァー ユ´l=キミ、vヘ_ぃ. Y         「「おなじだよ♪」」
           ,.ゝヘ2__,イ'‐ / / ′!j_! | !. -i¬ ヘ.く`ヽ`¨´ー'´/ィケ i. l i! l マヘ.ヘ\j
         r'´  `¨^タ_ / / i /l_j、|i_,,. l-‐!__Vドヽ`ー‐z_'.イ√丁| i! ト、i_,.Vヘヾ`ヽ、
         ヽ.___,.イ_/ `7、,' !´ i j ヘ Y'i,.ィ'"^v,.--}、`^マ´/ _/ 7√¨¨マ丁ンj_,.イ´ マベへ`ヽ、
           / //‐-/、/ヽ| / . V   !  〉¬ーi、_〉、Y´,_}厶_rt__ri.}└1厶ィつ}ヘへ>>>ぅ,
         // //..__// ヽj' !、__! { jー-'¨´/  厂ヽ.__マ^¨¨´   `1  r‐}_  `ーラ^´ r、√
         Z/V ヽ,くノ _ 廴_j、ノ  j,.、_y'    /   ム._广^i        `¨´  `辷'´厶ノ´

                 ハスケル・カリー & ウィリアム・ハワード

4. プログラムできないこと(停止性問題)

5. 証明できないこと(ゲーデルの不完全性定理)

何はともあれ、定義を見てみよう。

自然数論を含む帰納的に記述できる公理系が、ω無矛盾であれば、証明も反証もできない命題が存在する。

- ゲーデルの不完全性定理

なんのこっちゃだが、今から分かりやすく説明する。

続きを読む

fugafuga 2010/02/17 12:50 間違いがあるので指摘します。
>例えば、命題論理は、無矛盾かつ完全な公理系である。
>よって、よくある勘違いに「どんな公理系も不完全である」というのがあるが、誤りである。
論理の演繹システムについて言われる「完全」というのは、公理系の「完全」とは異なります。
なので「どんな公理系も不完全である」への反論としては不適切です。
完全な公理系としては例えば実閉体の理論やPresburger算術の理論があります。

ShoonShoon 2010/02/17 14:41 証明=プログラム ってとこ詳しく説明願いたいんだが、、、
プログラム=任意の自然数 N に対して命題p(N)が成り立つことを帰納的に証明する
って考えればOK??

GemmaGemma 2010/02/17 20:51 fuga様
おっしゃる通りです。訂正しました。
ゲーデルの不完全性定理とゲーデルの完全性定理の"完全"は全く違う意味だから注意せよというやつにまんまと引っかかりました。
有益なコメントありがとうございます。

GemmaGemma 2010/02/17 21:07 Shoon
証明=プログラムについては、参考文献に挙げたP.WadlerのProofs are Programsが面白いです。
もう少し堅い説明は↓がおすすめです(参考文献に追加しました)。
http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/p/frag/frag_g.html

tobarikitobariki 2010/02/18 01:20 とても面白かったので、
がんばってゲーデルの不完全定理を理解したいと再熱しました。

GemmaGemma 2010/02/18 13:44 tobariki様
ありがとうございます。

staff456staff456 2010/03/03 19:56 こんにちは。2chRSSのやつ、使わせていただいてます。
で、質問なんですが、最後のURLに //が2つついているのは仕様でしょうか?

http://2ch2rss.dip.jp/rss.xml?url=http://venus.bbspink.com/test/read.cgi/megami//1202620202

こんな感じになるのでリーダーに登録できません・・・

GemmaGemma 2010/03/17 17:49 staff456様
修正しました。ご迷惑をおかけして申し訳ありませんでした。

2010-01-24

SchemeコードバトンをGaucheでCGIにしてみた 23:50  SchemeコードバトンをGaucheでCGIにしてみたを含むブックマーク  SchemeコードバトンをGaucheでCGIにしてみたのブックマークコメント

Scheme コードバトンまとめページ - ひげぽん OSとか作っちゃうかMona-

より、英単語暗記補助ツールを作るお題。

最初はコマンドプロンプトで「この単語を知っているか? Y/N/Q」だけの単純なプログラム(67行)だったのが、

10人以上のバトンを経て、今はすごい複雑(570行)になってる。

とてもついていけないので、こうなったらもう、違う方向から攻めようということで、GaucheでCGIにしてみた。

http://eva-lu-ator.net/~gemma/baton/

↑のは、実はAjaxで以下の4つ5つのWeb APIを叩いてる。

word.cgi?q=3

q は問題ID(整数)。

問題データを返す。

<quiz id="3">
  <word>defect</word>
  <mean>欠点</mean>
  <ok>4</ok>
  <ng>5</ng>
</quiz>

続きを読む

2009-12-19

Mozilla勉強会(#modest)に参加しました 00:49 Mozilla勉強会(#modest)に参加しましたを含むブックマーク Mozilla勉強会(#modest)に参加しましたのブックマークコメント

Mozilla 勉強会 « Mozilla Developer Street (modest)

Firefox3 Hacksにサインをいただきました

http://eva-lu-ator.net/~gemma/geocities/modest/firefox3.png

Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック

Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック

ノベルティをいただきました

  • クリアーファイル! レア物とのこと。

http://eva-lu-ator.net/~gemma/geocities/modest/novelty0.png

  • ノートパソコン用バッグ! Firefoxのアイコン付き! これはすごい

http://eva-lu-ator.net/~gemma/geocities/modest/novelty1.png

  • ステッカー、ボールペン、携帯ストラップ、ネックストラップなどなど!

ありがとうありがとう!

JetpackやMozillaの現状など、とても勉強になりました。次回もぜひお願いします。

2009-12-09

「むすび」に費やした大学院の1年間 01:25  「むすび」に費やした大学院の1年間を含むブックマーク  「むすび」に費やした大学院の1年間のブックマークコメント

昨年の12月ごろ、つまりちょうど1年前に、XMPPとFirefox拡張の勉強を始めました。正月はずっとFirefox3 Hacksを読んでいました。

Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック

Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック

今年の5月15日に、構想をまとめて、2009年度上期未踏本体クリエータに応募したPDFです。結果は落選でしたが、めげずに実装を行いました。

7月4日にShibuya.lisp TT#3で途中経過を発表しました。

9月17日にJSSST第26回大会で登壇発表したときのスライドです。初めての論文投稿、発表で緊張しました。

11月20日、バージョン1.0をリリース。

12月7日に修士論文の中間報告としてプレゼンをしました。

学生生活の締めくくりとして1年間かけて、自分で構想から実装、公開までこぎつけることができて、満足しています。

ご指導いただいているジャック・ガリグ先生にも、とても感謝しています。

2009-12-06

むすびのチャットとチェスがGoogleガジェットになりました 19:08  むすびのチャットとチェスがGoogleガジェットになりましたを含むブックマーク  むすびのチャットとチェスがGoogleガジェットになりましたのブックマークコメント

むすびが必要です。

むすびを使って、このページを開いてから、ブラウザのブックマークから遊びたい相手を選んでください。

それでブラウザのアドレスバーがこのようなxmpp URIになっていればOKです。

romeoとjulietが遊ぶURI
xmpp://romeo@gmail.com/Musubi/juliet@gmail.com#http://d.hatena.ne.jp/Gemma/20091206/1260094125

続きを読む

2009-12-05

「むすび」でリアルタイム・ウェブなお買い物ページを作ってみた 04:49 「むすび」でリアルタイム・ウェブなお買い物ページを作ってみたを含むブックマーク 「むすび」でリアルタイム・ウェブなお買い物ページを作ってみたのブックマークコメント

むすびに新しいサンプルを加えました。

お買い物ごっこをするページで、相手(店主)とリアルタイムにチャットしたり、交渉したりできます。

http://eva-lu-ator.net/~gemma/geocities/musubi/shop.png

D

チェスでは、双方ともchess.htmlを見てやりとりしますが、

このページでは、こちらはplayer.htmlを、むこうはmaster.htmlを見てやりとりします。

面白いでしょう?

むすび v1.1.0でTwitterをリダイレクション、パイプしよう! 05:20  むすび v1.1.0でTwitterをリダイレクション、パイプしよう!を含むブックマーク  むすび v1.1.0でTwitterをリダイレクション、パイプしよう!のブックマークコメント

むすびがバージョンアップして、リダイレクションとパイプ機能がつきました。

さて、WWW、特にURIは、世界規模のファイルシステムを実現しました。

しかし、今のWebには、ファイルとして表現できないものが生まれています。

それは、Twitterなどからリアルタイムに流れてくるメッセージのストリームです。

ところで、Unixでは、行指向のテキストストリームを扱うために、リダイレクションやパイプといった便利な機能があります。

catやgrepってすごく便利ですよね。

そこで、むすびでも、メッセージ指向のXMLストリームを扱うために、それらを真似してみました。

これで、例えばTwitterなどからのメッセージをcatして、

grep.htmlに通ったものだけ読むといったことが簡単にできるようになります。

従来は以下のxmpp URIでロードしたページは、juliet@localhostにしかメッセージできませんでした。

xmpp://romeo@localhost/Musubi/juliet@localhost#http://musubi.im/chat/

これからはリダイレクションとして、chan/0にもメッセージできます。

chanはチャンネルの略です。0はチャンネル名で、好きな名前を付けられます。

ページのスクリプトで、例えばこのようにしてください。

Musubi.send(<message to="chan/0">
              <body>このメッセージはchan/0にリダイレクションします</body>
            </message>);

catするには、複数のページから1つのチャンネルにリダイレクションするわけです。

chan/0にリダイレクションしたメッセージは、以下のようなxmpp URIに届きます。

xmpp://romeo@localhost/Musubi/chan/0

xmpp://chan/0/juliet@localhost

xmpp://chan/0/chan/foobar

ちなみに、ちょっとまぎらわしいですが、以下のURIにはjuliet@localhostやchan/foobarからのメッセージは届きません。

xmpp://chan/0/juliet@localhost

xmpp://chan/0/chan/foobar

パイプは以下のようにします。chan/0 -> alice@localhost の向きのパイプです。

例えばgrepするページを挟むとよいでしょう。

xmpp://chan/0/alice@localhost#http://musubi.im/grep/

リダイレクションするページ

http://musubi.im/rdr/

パイプの例: grepするページ

http://musubi.im/grep/

まとめ

julietからのloveを含むメッセージをaliceに転送します。

xmpp://romeo@localhost/Musubi/juliet@localhost#http://musubi.im/rdr/  (julietのメッセージをchan/0にリダイレクション)
xmpp://chan/0/alice@localhost/#http://musubi.im/grep/                 (パイプでgrepしてaliceへ) 

Unixのシェルコマンドと見比べてみてください。

romeo$ <juliet > chan/0
romeo$ <chan/0 grep love > alice