メッセージ。 - diary
2006-04-12
# 裏切りの価値
裏切りについての補足。
たしかにね。
「誰にも期待しない。誰も信頼しない」という人は裏切られることがない。
あるいは、「信頼して裏切られたら、信頼した自分が悪いのだ」と考えるのもうまい手だ。
そうやっている限り、人は傷付くことがない。もっとも冷たい生き方だろう。
だから、そういう生き方をしてほしくないというのは分かる。そうなんだよね。
というか、ここまで考えてもらえるということが、すごく有難いことだと思う。
ありがとう。
そのうえで補足なんだけどね。
そういう意味で「裏切り」という言葉は、本当はあたたかいものであるはずだと
思うんだよね。その言葉をちゃんと使っている限りは。
でもなんか、ちゃんと使われていないケースが多い気がするんだ。
裏切りという言葉や、その事象にいたるまでの過程、自分と相手の人格というものが、
軽く扱われすぎている。
そんな軽い気持ちでつむがれる「裏切り」という言葉は、好きじゃないのです。
ある意味、その軽さこそ、ぼくから見れば……。まぁそういうことですよね。
ちなみに、最近なんかあったとかそういうのじゃないので、大丈夫です。
心配をおかけしたとしたら、ごめんなさい。
たしかにね。
「誰にも期待しない。誰も信頼しない」という人は裏切られることがない。
あるいは、「信頼して裏切られたら、信頼した自分が悪いのだ」と考えるのもうまい手だ。
そうやっている限り、人は傷付くことがない。もっとも冷たい生き方だろう。
だから、そういう生き方をしてほしくないというのは分かる。そうなんだよね。
というか、ここまで考えてもらえるということが、すごく有難いことだと思う。
ありがとう。
そのうえで補足なんだけどね。
そういう意味で「裏切り」という言葉は、本当はあたたかいものであるはずだと
思うんだよね。その言葉をちゃんと使っている限りは。
でもなんか、ちゃんと使われていないケースが多い気がするんだ。
裏切りという言葉や、その事象にいたるまでの過程、自分と相手の人格というものが、
軽く扱われすぎている。
そんな軽い気持ちでつむがれる「裏切り」という言葉は、好きじゃないのです。
ある意味、その軽さこそ、ぼくから見れば……。まぁそういうことですよね。
ちなみに、最近なんかあったとかそういうのじゃないので、大丈夫です。
心配をおかけしたとしたら、ごめんなさい。
# 人間同士の問題は、「議論」か「許容」で解決できないと思います
この4つのレイヤーというのは、上に行くほど高度です。例えば人間以外の動物は基本的に一番下の暴力か、せいぜい言葉のケンカくらいまでしかできません。
ぼくはそうじゃないと思うな。たとえば猫は、街で見知らぬ猫に会ったら無視しあうというルールを持っている。目が合ったら、それはお互い何らかの関心を持っているという合図。縄張り争いのような喧嘩や、恋に発展するという段階を踏む。
こういうことは、猫だけじゃなくいろんな動物がやっている。サバンナでも、たくさんの動物たちが種族の壁を越えて、1つの池から(仲良く?)水を飲んでいたりする。人間は、高度ではないと思う。少なくともほかの動物と比べて、全然高度じゃないというのがぼくの考え。
それと暴力について。ぼくは暴力を振るわれるのは嫌いだけど、ときには必要なケースもあると思う。つまり、まったくの悪ではないと思う。たとえば殴り合いの喧嘩をすることで、分かりあうこともある。また、喧嘩をして勝ったほうが、その後の関係においても「勝利者」という心理や状態になることは稀だ。
喧嘩というのは、必ずしも勝敗を決めるために行われるのではないように思う。喧嘩をして、勝って、単にうれしいと感じる人はほとんどいないのではないか。喧嘩をするというのは、1つの方法論に過ぎない。暴力が良いとは言わないが、そういう物理的接触には、もっと別の意味や効果や心理のねじれがある気がする。
ジョン・レノンさんはこう言ったそうだ。「言葉というのは、コミュニケーションのスローなやり方だ、音楽はもっといい」。
レノンさんに同意。だけど音楽だけで仕事ができるとは思わない。それは違うやり方だ。違うコミュニケーションのやり方だ。それと同じように、暴力や物理的接触というのも、違うやり方であり、違うメディアだ。1つの物差しでそれを測り、比べることはできないと思う。
# Haskellでネットワークプログラミングってできるのだろうか
ところで、Haskellでネットワークプログラミングってできるのだろうか。
→できるみたい。あとで読む>自分
ぼくはアプリを書きたいほうなので、使う言語にはネットワークライブラリがあってほしいのです。
OCamlでもまずそのへんを調べたのだけど、Unixに依存したような関数しかないみたいで、ちょっとそれは嫌だった。もっと抽象度の高いライブラリじゃないと、ねぇ。いまさらプラットフォーム依存のプログラムを書きたくないのです。
ということで、Haskellのようなライブラリがあるのはうれしいなぁ。うれしいなぁ。
→できるみたい。あとで読む>自分
ぼくはアプリを書きたいほうなので、使う言語にはネットワークライブラリがあってほしいのです。
OCamlでもまずそのへんを調べたのだけど、Unixに依存したような関数しかないみたいで、ちょっとそれは嫌だった。もっと抽象度の高いライブラリじゃないと、ねぇ。いまさらプラットフォーム依存のプログラムを書きたくないのです。
ということで、Haskellのようなライブラリがあるのはうれしいなぁ。うれしいなぁ。
# Haskell勉強メモ(&脱線して言語機能とシンタックスについて)
Haskell勉強メモ。現在『Haskell入門』のP.43を読み中。静的型付けについて説明されているのだけど、なんとなく納得。Schemeでプログラミングしていても、一番気になるのはある関数が何を引数に受け取って何を返すかだもんね。リファレンスマニュアルを見るときも、真っ先に見るのはそこだ。だからHaskellのように、引数の型が(文法として)明示できるようになっているのは合理的な気がしてきた。(しかも、型付けを省略したときは勝手に型を推論してくれるのも素敵。)
意味は全然違うのだけど、Emacs Lispでは関数を定義するときに「この関数は○○を実行するものだよ」みたいなのを記述することになっている。それに近いような気がした。「プログラミングの習慣として、どうせそのようにしたほうが良いのだから、それを言語の機能に取り込んでしまおう」という感じ?(ref. 文芸的プログラミング) ただ、Emacs Lispのそれは、人間に読ませるためのコメントに過ぎないので、人間と機械の両方に読ませる静的型付けとは少し違う。
人間と機械の両方に読ませるというのは、最近のユーザーインタフェースでは結構主流になってきてるんだよね。たとえばPythonはインデントで関数のブロックを表現しているけど、これなんかは人間と機械の両方に読ませる最たる例だ。「インデントして見やすくしたほうが可読性が高くて良い」→「どうせインデントはするべきなのだし、インデントによってブロックの開始と終端を機械が検出できる」→「それを言語の機能に取り込んでしまえ」ということだろう。
Ruby on Railsで、「Convention Over Configuration」(「設定より規約重要」原則。意訳すると、「アレコレ設定できるソフトウェアは不要。変な運用を行うから細かい設定が必要なわけで、運用規約の筋が通っていてほとんど設定しなくてよいのが理想」という考え方)もその流れだ。総じて最近のユーザーインタフェース(とくにプログラミング言語におけるそれ)は、「視覚的な見やすさ」、「見た目の自然さ」、「書きやすさ」という感覚的な要素を、言語機能に取り込んでいるような気がする。
プログラミングとドキュメントを一緒にしようという考え方は「文芸的プログラミング」と呼ばれるわけだけど、上記のように人間にとってのプログラミングしやすさを言語機能に取り込むような考え方にも名前があるんだろうか。
意味は全然違うのだけど、Emacs Lispでは関数を定義するときに「この関数は○○を実行するものだよ」みたいなのを記述することになっている。それに近いような気がした。「プログラミングの習慣として、どうせそのようにしたほうが良いのだから、それを言語の機能に取り込んでしまおう」という感じ?(ref. 文芸的プログラミング) ただ、Emacs Lispのそれは、人間に読ませるためのコメントに過ぎないので、人間と機械の両方に読ませる静的型付けとは少し違う。
人間と機械の両方に読ませるというのは、最近のユーザーインタフェースでは結構主流になってきてるんだよね。たとえばPythonはインデントで関数のブロックを表現しているけど、これなんかは人間と機械の両方に読ませる最たる例だ。「インデントして見やすくしたほうが可読性が高くて良い」→「どうせインデントはするべきなのだし、インデントによってブロックの開始と終端を機械が検出できる」→「それを言語の機能に取り込んでしまえ」ということだろう。
Ruby on Railsで、「Convention Over Configuration」(「設定より規約重要」原則。意訳すると、「アレコレ設定できるソフトウェアは不要。変な運用を行うから細かい設定が必要なわけで、運用規約の筋が通っていてほとんど設定しなくてよいのが理想」という考え方)もその流れだ。総じて最近のユーザーインタフェース(とくにプログラミング言語におけるそれ)は、「視覚的な見やすさ」、「見た目の自然さ」、「書きやすさ」という感覚的な要素を、言語機能に取り込んでいるような気がする。
プログラミングとドキュメントを一緒にしようという考え方は「文芸的プログラミング」と呼ばれるわけだけど、上記のように人間にとってのプログラミングしやすさを言語機能に取り込むような考え方にも名前があるんだろうか。
2006-04-10
# チーズは腐っているか?
あー。分かりにくかったかなぁ。
えーと、あれと同じだよ。チーズ。
チーズを腐っているという人はあまりいない。
でも、チーズもなにかが発酵してできていることに変わりはない。
「腐る」の定義って、食物が発酵して食べられなくなることを言うんだよね。
でも一方で、発酵しても食べられるものがあるわけで。チーズとか納豆とか。
結局人間は、自分にとって役立つかどうかで、
腐ってるか腐ってないかという判断をしている。
でもそういう考え方ってつまらないと思うんだよね。
自分にとって役立たないものも、誰かにあげれば役立つかもしれないし、
使い方を変えれば、何かの用をなす可能性がある。
その可能性をね。そう簡単に切り捨てなさんなよと。
「自分」というものに固執して、
すぐに結論を得ようとしたら、何かを失うことになりますよ。
食べ物が腐るわけじゃないのです。
自分というものが、食べ物を腐らせている。
自分というものが、世界を腐らせている。
ときにはすぐ結論が必要なときもあるけど、
でも、そうじゃない場合もあるし、やり方もあるよね。
ある一面から見てダメならば、別の面から見ればいい。
一面から物事を見て、すぐ結論を得ることにも合理性がある。
それにやり方は人それぞれだから、そういうやり方も否定はしない。
だけど、最後の最後まで一面からしか物事を見ないのでは、いけないと思う。
最後の最後になったとき、チーズは腐っているかと考えてみてほしい。
えーと、あれと同じだよ。チーズ。
チーズを腐っているという人はあまりいない。
でも、チーズもなにかが発酵してできていることに変わりはない。
「腐る」の定義って、食物が発酵して食べられなくなることを言うんだよね。
でも一方で、発酵しても食べられるものがあるわけで。チーズとか納豆とか。
結局人間は、自分にとって役立つかどうかで、
腐ってるか腐ってないかという判断をしている。
でもそういう考え方ってつまらないと思うんだよね。
自分にとって役立たないものも、誰かにあげれば役立つかもしれないし、
使い方を変えれば、何かの用をなす可能性がある。
その可能性をね。そう簡単に切り捨てなさんなよと。
「自分」というものに固執して、
すぐに結論を得ようとしたら、何かを失うことになりますよ。
食べ物が腐るわけじゃないのです。
自分というものが、食べ物を腐らせている。
自分というものが、世界を腐らせている。
ときにはすぐ結論が必要なときもあるけど、
でも、そうじゃない場合もあるし、やり方もあるよね。
ある一面から見てダメならば、別の面から見ればいい。
一面から物事を見て、すぐ結論を得ることにも合理性がある。
それにやり方は人それぞれだから、そういうやり方も否定はしない。
だけど、最後の最後まで一面からしか物事を見ないのでは、いけないと思う。
最後の最後になったとき、チーズは腐っているかと考えてみてほしい。
# 「裏切り」という言葉、ぼくは好きじゃないな
「裏切り」という言葉、ぼくは好きじゃないな。
だって、裏とか表とか、そんなものは自分の心の中にしか存在しないものだから。
何かを裏切りだと指摘する背景には、「○○はこういうものだ」という先入観がある。
相手がその先入観に反したときに、それを「裏」だと指摘してしまうということは、
「自分が見える範囲が表であり、それ以外は裏である。
そして、○○はその表以外の面を持ってはいけない」という世界認識にほかならない。
だけど、○○にとっての表がどこであるかは、
○○が決めることであって他人が決めることじゃない。
「裏切り」という言葉を吐く主体は、
「○○は××であってほしい」という個人的な願望を相手に押し付けていながら、
その願望が個人的なものであるということに、気付いていない。あまりにも無自覚だ。
その世界認識は非常に危険で、悲しいものだとぼくは思う。
この世の中に、裏切りなどというものは存在しない。
裏切りが存在するのは、「表という自分」を完全肯定してしまったときだけだ。
そして、「表という自分」を完全肯定するということは、
自分以外の者に裏を持つことを許さないことであり、
自分以外を完全否定するという世界観である。
だって、裏とか表とか、そんなものは自分の心の中にしか存在しないものだから。
何かを裏切りだと指摘する背景には、「○○はこういうものだ」という先入観がある。
相手がその先入観に反したときに、それを「裏」だと指摘してしまうということは、
「自分が見える範囲が表であり、それ以外は裏である。
そして、○○はその表以外の面を持ってはいけない」という世界認識にほかならない。
だけど、○○にとっての表がどこであるかは、
○○が決めることであって他人が決めることじゃない。
「裏切り」という言葉を吐く主体は、
「○○は××であってほしい」という個人的な願望を相手に押し付けていながら、
その願望が個人的なものであるということに、気付いていない。あまりにも無自覚だ。
その世界認識は非常に危険で、悲しいものだとぼくは思う。
この世の中に、裏切りなどというものは存在しない。
裏切りが存在するのは、「表という自分」を完全肯定してしまったときだけだ。
そして、「表という自分」を完全肯定するということは、
自分以外の者に裏を持つことを許さないことであり、
自分以外を完全否定するという世界観である。
2006-04-07
# 「帯域は誰のもの?」問題についての妄想
ちょっと遅めのレスポンス。GyaOなんかに端を発する「帯域は誰のもの?」問題でふと思ったのだけど。
それこそP2P技術を使えばええんちゃうの? プロバイダやキャリアがP2Pノードを起ち上げて、配信される動画をキャッシュすれば、少なくとも定型の動画配信については、キャリアと上位ノードとの間で帯域消費をかなり抑えられる。(これで回線への設備投資も抑えられる)。
で、キャリア(NTTなりYahoo! BBなり)は自分のところより下位(つまりお客さんとの間)を太くしたりしてサービスレベルを気にすればええでしょ?と。そうすればキャリアは、「ウチはええよー。下位、つまりお客さんとの間を太くしてるし、キャッシュサーバーの調子も良好よー」とアピールでき、上位を太くするより設備投資も少なくできるような気がする。
さて、もう一段妄想のステップを上げてみる。
インフラただ乗り論というのは、「たくさん使っている人もちょっとしか使ってない人も同じ料金しか払ってなくて、ちょっとしか使ってない人が損をする」という問題だよねぇ。で、いまは「たくさん使っている人にたくさんお金を払ってもらおう」という意見が出ていると。
ここで逆に、「たくさん使っている人にたくさんお金を払ってもらう」のではなくて、たくさん使っている人に、たくさん設備を供出してもらう。地理的に近くにいる人のためのキャッシュサーバーの役をしてもらう」とかすればいいんじゃなかろうか。
で、各ユーザーと各地域拠点との間で帯域制御をしてしまう。こうすれば、ちょっとしか使わない人は快適だし、たくさん使う人も近くにキャッシュしてくれるホストがいさえすれば快適に使える(近くにキャッシュサーバーがいなければ、自分がそれを負担する)。
つまりP2Pですよ。P2Pというのは要するに、「誰か1人が頑張るんじゃなくて皆でそれを肩代りするシステム」ということだから。 動画みたいな定型データを配信するのに、いまの仕組みでは、サーバーとクライアントの間で同じデータを何度も何度も行き来させるので効率が悪い。
この問題に対して、真正面から解決しようと回線と設備を増やすのは、バランスが良くないんじゃない? つまり、動画の需要が今後増えるペースを考えて、それに見合うよう上位の回線/設備容量を増やすのはかなりしんどいだろう。いまの何倍にも回線容量と設備を増やさなければいけなくて、どのみち破綻するのではないか。
だったら、そうするよりはP2Pのほうが現実的だし、インターネットの本質に合っている気がする。P2P方式でユーザーに設備と回線を供出してもらえるのなら、動画の需要が増えたとしても、回線と設備への負担は比較的抑えられるはず。オーダーがだいぶ抑えられるんじゃないかと。どうなんでしょ? 素人の妄想だし、いまいちまとまってないけど、アップしちゃいますよー。
それこそP2P技術を使えばええんちゃうの? プロバイダやキャリアがP2Pノードを起ち上げて、配信される動画をキャッシュすれば、少なくとも定型の動画配信については、キャリアと上位ノードとの間で帯域消費をかなり抑えられる。(これで回線への設備投資も抑えられる)。
で、キャリア(NTTなりYahoo! BBなり)は自分のところより下位(つまりお客さんとの間)を太くしたりしてサービスレベルを気にすればええでしょ?と。そうすればキャリアは、「ウチはええよー。下位、つまりお客さんとの間を太くしてるし、キャッシュサーバーの調子も良好よー」とアピールでき、上位を太くするより設備投資も少なくできるような気がする。
さて、もう一段妄想のステップを上げてみる。
インフラただ乗り論というのは、「たくさん使っている人もちょっとしか使ってない人も同じ料金しか払ってなくて、ちょっとしか使ってない人が損をする」という問題だよねぇ。で、いまは「たくさん使っている人にたくさんお金を払ってもらおう」という意見が出ていると。
ここで逆に、「たくさん使っている人にたくさんお金を払ってもらう」のではなくて、たくさん使っている人に、たくさん設備を供出してもらう。地理的に近くにいる人のためのキャッシュサーバーの役をしてもらう」とかすればいいんじゃなかろうか。
で、各ユーザーと各地域拠点との間で帯域制御をしてしまう。こうすれば、ちょっとしか使わない人は快適だし、たくさん使う人も近くにキャッシュしてくれるホストがいさえすれば快適に使える(近くにキャッシュサーバーがいなければ、自分がそれを負担する)。
つまりP2Pですよ。P2Pというのは要するに、「誰か1人が頑張るんじゃなくて皆でそれを肩代りするシステム」ということだから。 動画みたいな定型データを配信するのに、いまの仕組みでは、サーバーとクライアントの間で同じデータを何度も何度も行き来させるので効率が悪い。
この問題に対して、真正面から解決しようと回線と設備を増やすのは、バランスが良くないんじゃない? つまり、動画の需要が今後増えるペースを考えて、それに見合うよう上位の回線/設備容量を増やすのはかなりしんどいだろう。いまの何倍にも回線容量と設備を増やさなければいけなくて、どのみち破綻するのではないか。
だったら、そうするよりはP2Pのほうが現実的だし、インターネットの本質に合っている気がする。P2P方式でユーザーに設備と回線を供出してもらえるのなら、動画の需要が増えたとしても、回線と設備への負担は比較的抑えられるはず。オーダーがだいぶ抑えられるんじゃないかと。どうなんでしょ? 素人の妄想だし、いまいちまとまってないけど、アップしちゃいますよー。
# 意味不明日記
# w3m 0.5.1の、async/改行コードパッチ版Zaurusパッケージを作りました
w3m 0.5.1にasync(非同期)パッチを当て、Zaurus用のパッケージを作ってみました。もしよければ使ってみてください(以前話題になった、mixiや人狼BBSなどで改行がなくなってしまう問題へのパッチも当たっています)。
ちょっと使った限り、asyncパッチが当たっているほうが便利っぽいですね。AIR-EDGEなど回線が細い状況で、データ取得を裏で走らせつつ別のページを見たり、という使い方ができるようです。
利用するさいは、次の2つのファイルをインストールしてください。
http://nnri.dip.jp/~yf/download/w3m_0.5.1-cr-async-1_arm.ipk
http://nnri.dip.jp/~yf/download/gc_6.7-1_arm.ipk
ちょっと使った限り、asyncパッチが当たっているほうが便利っぽいですね。AIR-EDGEなど回線が細い状況で、データ取得を裏で走らせつつ別のページを見たり、という使い方ができるようです。
利用するさいは、次の2つのファイルをインストールしてください。
http://nnri.dip.jp/~yf/download/w3m_0.5.1-cr-async-1_arm.ipk
http://nnri.dip.jp/~yf/download/gc_6.7-1_arm.ipk
2006-04-06
# 「Suddenly the Dungeon Collapsed」
先日、いつものように「さーてパソコン遊びしよっ」とZaurusの端末を開いて焦った。画面に「Suddenly the Dungeon Collapsed」という文字が表示され、GNU Screenが落ちるなど見慣れない状況になっていたのだ。「すわクラックを受けたか?」と一生懸命ググってみるのだけど、なかなか検索に引っかからない。一応分かったのは、NetHackというゲームで表示されるメッセージみたいだということぐらい。
それで、思案したあげくGNU Screenのソースコードをgrepすると、このメッセージが引っかかるじゃないですか。ある条件でScreenが異常終了したときに出るみたいね。ということでまぁ一安心だったんだけど、これを機にセキュリティの見直しをすることにしました。みなさんもお気を付けて〜。
# 書いてて思ったんだけど、異常終了した原因はもっと追求すべきだったのかもしれない。
それで、思案したあげくGNU Screenのソースコードをgrepすると、このメッセージが引っかかるじゃないですか。ある条件でScreenが異常終了したときに出るみたいね。ということでまぁ一安心だったんだけど、これを機にセキュリティの見直しをすることにしました。みなさんもお気を付けて〜。
# 書いてて思ったんだけど、異常終了した原因はもっと追求すべきだったのかもしれない。