Skip to content
oraccha edited this page Jan 14, 2013 · 1 revision

あちこちに書き散らかしてたと思うので,まとめとこうかな.


以下は,Unixをもう少しましなものにしようの翻訳に対する議論から分岐.

Pipeについては、Slashdotのも読みましたが、音楽ソフトにも そういやそういうのが既に色々あるし、俺も作ったこと有ります(笑)。 が、議論が色々枝分かれしてる感じなので、そういうソフトが あの議論の「全部または大半」を満足せしめるかどうかは 結構疑問だなとも思いました。 -

  • 俺が作った変なのは [http://member.nifty.ne.jp/guion/SOFT/MIDPIPE.HTM これ] だったりします。で、後でこれをもっと一般化したようなものを 作ってる人が現れて、その人が言うには「unixのpipeは枝分かれ 出来ないから…」と。完璧な正解じゃないけど大筋正鵠ですよね…。 . Object指向で(本来)ナニが得られるか?を、所謂unix信者な人が どれくらい軽視せずに理解してくれているか、時折心配になります。 尤もかたやwinは「OO化を推し進める背後で、実装を頻繁にヘマする」 もんだから、それはそれでOOの面を微妙に汚してるんじゃないかと(^^;

  • 「pipe は枝分かれできない」というか,pipe はテキスト(ASCII)指向なので, バイトストリームしか前提にしてないのが問題だと思います. さんのページに書いてあった「メッセージオブジェクトがコンテナになる」 っていうような考えがマルチメディア指向なシステムには必要なんでしょうね.

    • もしかして「pipeに通すデータの構造をどう表現するか?」という 問題でしょうか。だとすると回答が幾つか有るような気がします。 「データそのものを構造化する(=たとえばコンテナを使う)」 「pipeを構造化して、その構造を使って中を通るデータの構造を表現する」 「そもそもpipeを複数作れることにして、必要なpipeを集約(同期)することで 目的の構造を表現する」とか…でしょうか。 ちなみに3つ目の奴が自由度という意味では有利だとは思います。 接続対象をすら複数選ぶことが出来ますから。それをやると 下記MAXとかの方向性になるのかなと… -
  • VJ編集ソフト みたいなものが簡単にできればうれしいかな. いろんな素材を繋げたり,エフェクトのためのフィルタを挟んだりとか.

  • pipe系で戯にとってのライバル(事実誤認)が、 [http://www.crca.ucsd.edu/~msp/software.html PureData] です。日本語紹介頁は [http://www.geocities.co.jp/Hollywood/3918/PureData.html ここ] が良い感じです。あとこれら頁でも言及されているように、元祖である MAXっていうMacのソフト。日本語書籍「マジカルMAXツアー」有ります。 . 使い方は、画面に「Object」を貼り、Objectの「Type名」欄に Effectのタイプ(いわばClass名、unix pipeでいえばアプリ名)を書き込むと、 そのTypeに見合った数の接続手がObjectの周りに出現するっていう感じ。 あとは複数のObjectの接続手どうしをマウスドラッグで「配線」する。


Fri Nov 18 01:17:42 2005 りょうせい Plan9 のパイプは Unix とまた違うらしいぞ.[http://plan9.aichi-u.ac.jp/pipe/index.html Pipe] . Fri Jan 23 10:01:56 2004 eval $1 &gt;! ${tmp_dir}/1 でいいんじゃないのっていう気が. . Fri Jan 23 09:56:42 2004 zsh なら diff <(sort foo) <(sort bar) で済むのに,っていう話?

二つのコマンドの結果の diff . Fri Aug 22 15:14:03 2003 以前から言ってた、2つのコマンド(列)の出力をdiffするツール。DIFF 'cat hoge | sort ' ' cat fuga | sort ' ってな感じで使えるコマンドDIFFを作ろうとしてお手上げ。cshで作った。内部的に「$1 >! ${temp_dir}/1」なんて(渡されたコマンドラインの結果を一時Fileに吐かせる積もりで)書いたら、「cat」に「|」がファイル名として渡されちゃった。しくしく。やっぱりLisp括弧だよな。 . Sat Mar 22 03:22:58 2003 UnixのShellって、混ぜるのは得意だけど、混ぜず分けたままにしとくのが不得手っすよね。Shellが分けることを出来ないでいるのを、「なんでもFileと見なす(さすがのShellもファイルの存在そのものを混ぜたりはしないので、これで混線せずに済む)」仕組みを用意することで回避するってのは、なんかズレているような気がする。きちんと構造化し、ついでに変数に括弧(の内容物)をBindできたら、Lispになれるぞ(藁 . Sat Mar 22 03:16:00 2003 それこそShell(Shellだけ改造すれば済むのかどうか知りませんが)が構造化…[S式]になっていて、複数の入力を混ぜずにバラけたままで取り込めればいいんですよね。(diff (hoge fuga) (foo bar))と書くことでdiffが「2つの」入力を受け取れればそれでいいのであって。(diff (rsh -l name1 host1 cat hoge/fuga ) (tar xf --to-stdout foo.tar bar/bar) )ってな感じか? . Sat Mar 22 03:08:29 2003 2つのうち少なくとも1つはLocalFileってのが嫌なので、一時的かつ一般ユーザー権限(笑)でファイル(を含んだディレクトリ(を含んだfilesystemのようなもの?))をmountできればそれでいい、とも言えそう。P2Pやw3mの問題じゃなく、それらとdiffをいかに接続するか?の悩みだったりします。 . Fri Mar 21 22:25:06 2003 ksr wget * 2 + diff ? . Fri Mar 21 22:15:51 2003 りょうせい P2P でファイル共有 + 履歴管理みたいのがあればいいのかな. . Thu Mar 20 23:21:45 2003 diffが欲しい。ただし、比較するファイルとして、ftpやtarで「今手元にないファイル」を取ってくること(も)が出来る奴が。いちいちローカルに一時ファイルを作りたくないので。無名関数が欲しくなるノリと似てるかも。てゆーかOSとその上のアプリが無名ファイル(なんじゃそりゃ)をサポートすれば済むことなんだろけど。diffだから対象ファイルは2つ有ることもあるのでstdinじゃ役不足だし。 .


実装よりの話題. . [http://www.complang.tuwien.ac.at/syro/thesis.html Memory mapping pipes under Linux] . pipe のようなストリームものを mmap を拡張して実装したという話.

Clone this wiki locally