Gemmaの日記スマートフォン用の表示で見るGemmaの日記この広告は、90日以上更新していないブログに表示しています。昨年の12月ごろ、つまりちょうど1年前に、XMPPとFirefox拡張の勉強を始めました。Hacksを読んでいました。見る今年の5月15日に、構想をまとめて、2009年度上期未踏本体クリエータに応募したPDFです。結果は落選でしたが、めげずに実装を行いました。TT#3で途中経過を発表しました。WebブラウザをインターネットOSのシェルにしてGaucheと対話する9月17日にJSSST第26回大会で登壇発表したときのスライドです。論文投稿、発表で緊張しました。Webと対話するブラウザ拡張「Musubi」の開発11月20日、バージョン1.0をリリース。12月7日に修士論文の中間報告としてプレゼンをしました。学生生活の締めくくりとして1年間かけて、自分で構想から実装、公開までこぎつけることができて、満足しています。ご指導いただいているジャック・ガリグ先生にも、とても感謝しています。01:25「むすび」に費やした大学院の1年間Tweet広告を非表示にするもっと読むコメントを書く2009-12-06むすびのチャットとチェスがGoogleガジェットになりました※むすびが必要です。むすびを使って、このページを開いてから、ブラウザのブックマークから遊びたい相手を選んでください。URIになっていればOKです。v1.1.0でTwitterをリダイレクション、パイプしよう!むすびがバージョンアップして、リダイレクションとパイプ機能がつきました。WWW、特にURIは、世界規模のファイルシステムを実現しました。今のWebには、ファイルとして表現できないものが生まれています。それは、Twitterなどからリアルタイムに流れてくるメッセージのストリームです。ところで、Unixでは、行指向のテキストストリームを扱うために、リダイレクションやパイプといった便利な機能があります。catやgrepってすごく便利ですよね。そこで、むすびでも、メッセージ指向のXMLストリームを扱うために、それらを真似してみました。これで、例えばTwitterなどからのメッセージをcatして、grep.htmlに通ったものだけ読むといったことが簡単にできるようになります。URIでロードしたページは、juliet@localhostにしかメッセージできませんでした。xmpp://romeo@localhost/Musubi/juliet@localhost#http://musubi.im/chat/これからはリダイレクションとして、chan/0にもメッセージできます。chanはチャンネルの略です。0はチャンネル名で、好きな名前を付けられます。ページのスクリプトで、例えばこのようにしてください。</message>);catするには、複数のページから1つのチャンネルにリダイレクションするわけです。xmpp://romeo@localhost/Musubi/chan/0xmpp://chan/0/juliet@localhostxmpp://chan/0/chan/foobarちなみに、ちょっとまぎらわしいですが、以下のURIにはjuliet@localhostやchan/foobarからのメッセージは届きません。xmpp://chan/0/juliet@localhostxmpp://chan/0/chan/foobarパイプは以下のようにします。grepするページを挟むとよいでしょう。grepするページhttp://musubi.im/grep/まとめjulietからのloveを含むメッセージをaliceに転送します。(パイプでgrepしてaliceへ)Unixのシェルコマンドと見比べてみてください。v1.1.0でTwitterをリダイレクション、パイプしよう!Tweet広告を非表示にするもっと読むコメントを書く2009-12-05「むすび」でリアルタイム・ウェブなお買い物ページを作ってみたむすびに新しいサンプルを加えました。お買い物ごっこをするページで、相手(店主)とリアルタイムにチャットしたり、交渉したりできます。http://eva-lu-ator.net/~gemma/geocities/musubi/shop.wmvチェスでは、双方ともchess.htmlを見てやりとりしますが、このページでは、こちらはplayer.htmlを、むこうはmaster.htmlを見てやりとりします。対話するWebというと、マルチエージェント、アクターモデル、並行計算、も気になるので、ロビン・ミルナーの本をちょっとかじってみる。見るまだ全然理解できてないけど、巻末の言葉に感動したので訳してみる。world.現時点では、本書が提示するような理論モデルが決定的なものになるかはわからない。それには新しい展開が未成熟にすぎる。モバイル通信システムをモデル化する問題に真剣に取り組み、不完全であった既存のモデルをより精密なものにできたと思う。相互作用という言葉で。この裏返した観点は、我々のグローバルコンピュータ、情報世界の、真髄を知ることと言えるのかもしれない。物理学者にとっての物質世界のように。コンピュータが内で何を行っているか、から、コンピュータが外に何を発しているか、へ。アラン・ケイの、コンピュータはメタメディアだ、にもつながりそう。Atomsにもつながるかも。17:07ロビン・ミルナー△Tweet広告を非表示にするもっと読むコメントを書く2009-11-22Musubi開発の経緯ここ5年くらい、いくつかのWebサービスを組み合わせて新しいものを作るという、マッシュアップがさかんです。私も、クラウドでLinuxディストリビューションにあたるものは何になるだろう?にあるようなことを夢想していました。悩んでいたある日、先生と四色定理の話をしていて、問題をグラフに置き換えるというアイディアを教えてもらいました。見方が変われば発想も変わり、私の中に、糊(境界)ではなく対話(辺)という発想が生まれました。Webサービス同士が対話する。人とWebサービス、人と人、が対話する。それなら、人とWebが対話するとは何だろう。人とOSが対話するときに使うのは、対話的シェルです。テキストシェルを、ブラウザ上でハイパーテキストシェルなWebアプリケーションとして実現するために必要なのは何か。して、ブラウザとIMとの融合という考えに至りました。セマンティック・ウェブは、コンピュータがWebを理解できるようにXMLで記述するという理想です。お互いを理解するのに必要なのは対話ではないでしょうか。XMPPは、まさにそのXMLに基づいたIMプロトコルです。方向性は正しいと思います。Waveは、電子メールを置き換える可能性を秘めたWebサービスと言われています。Musubiは、インスタントメッセージ(IM)を置き換える可能性を秘めたFirefoxアドオンです。XMPP)用のインスタントメッセンジャーです。使い方はユーザーガイドにあります。このアドオンで目指したのは、ブラウザとIMの融合です。それは、Webアプリケーションに、HTTPを越えた更なる力、IMによるリアルタイム性を与えることです。HTTPは、必要なときだけサーバに接続するので、更新があってもこちらからリクエストするまでわかりません。BBSやTwitterを何度もリロードするのはそのためです。逆に、IMが使うXMPPは、サーバと接続を保って相互にやりとりするので、更新があればリアルタイムにメッセージが飛んできます。リロードはいりません。Musubiでは、Webアプリケーションが自由にメッセージの内容を操作できるので、例えば以下のようなものが作れます。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事コード書き初め「一二三」ICFPc2010参戦記スレの勢い、スレ検索を追加しました。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。