タグ

ブックマーク / gemma.hatenadiary.org (25)

  • Mozilla勉強会(#modest)に参加しました - Gemmaの日記

    Mozilla 勉強会 « Mozilla Developer Street (modest) プレゼン資料 アプリケーションプラットフォームとしてのFirefox拡張 HTMLでプレゼンを作れるS5を使っています。gitとの相性もいいし、ブラウザの表現力を活かせるので好きです。 Firefox3 Hacksにサインをいただきました Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック 作者: 江村秀之,池田譲治,下田洋志,松澤太郎,dynamis出版社/メーカー: オライリージャパン発売日: 2008/08/27メディア: 単行(ソフトカバー)購入: 4人 クリック: 489回この商品を含むブログ (54件) を見る ノベルティをいただきました クリアーファイル! レア物とのこと。 ノートパソコン用バッグ! Firefoxのアイコン付き! これはすごい ステッカ

  • むすびのチャットとチェスがGoogleガジェットになりました - Gemmaの日記

    ※むすびが必要です。 むすびを使って、このページを開いてから、ブラウザのブックマークから遊びたい相手を選んでください。 それでブラウザのアドレスバーがこのようなxmpp URIになっていればOKです。 romeoとjulietが遊ぶURI xmpp://romeo@gmail.com/Musubi/juliet@gmail.com#http://d.hatena.ne.jp/Gemma/20091206/1260094125 私と遊ぶリンクは xmpp:teruakigemma@gmail.com#http://d.hatena.ne.jp/Gemma/20091206/1260094125

    むすびのチャットとチェスがGoogleガジェットになりました - Gemmaの日記
  • むすび v1.1.0でTwitterをリダイレクション、パイプしよう! - Gemmaの日記

    むすびがバージョンアップして、リダイレクションとパイプ機能がつきました。 さて、WWW、特にURIは、世界規模のファイルシステムを実現しました。 しかし、今のWebには、ファイルとして表現できないものが生まれています。 それは、Twitterなどからリアルタイムに流れてくるメッセージのストリームです。 ところで、Unixでは、行指向のテキストストリームを扱うために、リダイレクションやパイプといった便利な機能があります。 catやgrepってすごく便利ですよね。 そこで、むすびでも、メッセージ指向のXMLストリームを扱うために、それらを真似してみました。 これで、例えばTwitterなどからのメッセージをcatして、 grep.htmlに通ったものだけ読むといったことが簡単にできるようになります。 従来は以下のxmpp URIでロードしたページは、juliet@localhostにしかメッセ

    むすび v1.1.0でTwitterをリダイレクション、パイプしよう! - Gemmaの日記
  • Firefoxと融合するインスタントメッセンジャー「Musubi」をリリースしました - Gemmaの日記

    Google Waveは、電子メールを置き換える可能性を秘めたWebサービスと言われています。 Musubiは、インスタントメッセージ(IM)を置き換える可能性を秘めたFirefoxアドオンです。 リアルタイムWebコミュニケーター「Musubi」 1.0.0 Google Talk(Jabber, XMPP)用のインスタントメッセンジャーです。 インストール方法はMusubi Wikiにあります。 使い方はユーザーガイドにあります。 このアドオンで目指したのは、ブラウザとIMの融合です。 それは、Webアプリケーションに、HTTPを越えた更なる力、IMによるリアルタイム性を与えることです。 HTTPは、必要なときだけサーバに接続するので、更新があってもこちらからリクエストするまでわかりません。BBSやTwitterを何度もリロードするのはそのためです。 逆に、IMが使うXMPPは、サーバ

    Firefoxと融合するインスタントメッセンジャー「Musubi」をリリースしました - Gemmaの日記
  • 2chのレスをアンカで並びかえる - Gemmaの日記

    アンカで並び替えて、例えばこのように7の次に11を表示するような処理を説明します。 さて、2chの板はこのようになっています。 アンカは、Web(網)と同様に網の目のようにリンクしています。これは有向グラフです。 有向グラフは難しい。 循環が困る。 循環は"未来へのアンカ"を無視すれば防げます。 このような未来へのアンカ>>100を無視する これで問題が無閉路有向グラフになります。 燐隊長が困る。 燐隊長は、"一番大きなアンカ"の8をとることにしましょう。 これで問題がこのような単連結無閉路有向グラフになります。 実装 var testdata = [ [], // 配列のインデックスを1から始めたいので詰め物をする [], // 1: [1], // 2: >>1 [1], // 3: >>1 [], // 4: [4], // 5: >>4 [5], // 6: >>5 [5], //

  • Firefox拡張入門第7回(独自プロトコルの定義 - ttp) - Gemmaの日記

    2ちゃんねるなどでリンク避けとして"ttp://..."を使うことがあります。 今回の拡張では、ttpプロトコルを定義して、"http://..."と同様に扱えるようにしましょう。 ttpプロトコルを扱うXPCOMコンポーネントのクラスを登録します。 そのクラスのnewURI関数で、URIの部品を受け取って、nsIURIのインスタンスを返します。(注) そのクラスのnewChannel関数で、↑で作ったnsIURIのインスタンスを受け取って、ttpプロトコルのためのnsIChannelのインスタンスを返します。ここではhttpプロトコルのnewChannel関数に処理を丸投げするので簡単です。 (注)"ここではhttpプロトコルのnewURI関数に処理を丸投げするので簡単です"・・・だと芸がないですもんね。 拡張のcomponentsディレクトリ以下に、jsファイルを置けば自動で認識してく

    Firefox拡張入門第7回(独自プロトコルの定義 - ttp) - Gemmaの日記
  • Firefox拡張入門第4回(某占いサイトをスクレイピング) - Gemmaの日記

    Firefox拡張はスクレイピングの最終兵器です。 今日は、某占いサイトをスクレイピングして、自分の星座のお告げを抜き出します。 某占いサイト スイーツ(笑)テーブルレイアウトです。 先にFirebugで、抜き出したいところのXPathを調べておきます。 個人的にCSSセレクタのほうが好きなので、XPathCSSセレクタの対応表をあげておきます。 John Resig - XPath and CSS Selectors Latest topics > CSS3セレクタとXPathでの表現の対応表 - outsider reflex Latest topics > getElementsByなんちゃら の代わりにXPathを使う - outsider reflex 次に、拙作のMatchfox拡張で骨組みを作ります。名前はFortuneにします。 XPathを使ったスクレイピング 新しいタ

  • Firefox拡張入門第2回(MozReplでFirefoxを探検しよう) - Gemmaの日記

    windowオブジェクトの入れ子について いつもwindow.alertなどで見る"Webページのwindow"のさらに上には、ブラウザ全体を支配する"XULのwindow"があります。 もちろんWebページ側からは触れませんが、Firefox拡張ならXULのwindowをいじれます。 ブラウザはこのようになっています。 要素 サイドバーの 要素 Webページを表示する要素 ... そして要素のようにページ(XULやHTML)を表示できる要素がそれぞれに"ページのwindow"を持っています。 これはHTMLでiframe要素がそれぞれにwindowを持っているのと同じです。 詳細はこちらchrome コードでウィンドウを取り扱う - MDC 動画(wmv 3.0MB) http://eva-lu-ator.net/~gemma/geocities/matchfox/mozRepl.wmv

    Firefox拡張入門第2回(MozReplでFirefoxを探検しよう) - Gemmaの日記
  • Firefox拡張入門第1回(開発の準備) - Gemmaの日記

    開発者必携ツール DOM Inspector 右クリックメニューを拡張したいんだけどデータどこにあんねん、というとき便利。 QuickRestart ブラウザを再起動して拡張プログラムをリロードするとき便利。 Console2 Javascriptコンソールの強化版。エラーメッセージをよりわけできて便利。 SQLite Manager ブラウザ内蔵のSQLite RDBMSGUIで操作できて便利。 Venkman JavaScript Debugger Javascriptデバッガです。わりと便利。 MozReplも必携です。Firefox内部のJavascriptインタープリタにtelnet接続できます。 Home - mozrepl - GitHub 最速インターフェース研究会 :: Firefoxの拡張MozLabの中に含まれるMozReplがヤバすぎる件について 私の開発の流れは

    Firefox拡張入門第1回(開発の準備) - Gemmaの日記
  • "どぼん on BiwaScheme"をJavascriptに移植した - Gemmaの日記

    どぼん on Javascript ネタ元 BiwaSchemeでゲームつくった - リリカル☆Lisp開発日記 zickさん作の"どぼん on BiwaScheme"をJavascriptに移植した。 元が美しいSchemeコードだったので流れるように移植できた。 これだけ複雑なトランプゲームをBiwaSchemeで書いてしまうzickさんはすごい。 安易に多次元配列を使わないところもいい。 その上、Cardクラスな抽象化をせずにベタ書きしてて驚いた。 こういう芸当は、脳内に積めるスタック量が並外れてないとできないと思う。 恐るべし。自分だったら脳みそが鼻からでてしまう。 ちょっとした改善点 CSS Spritesで画像のロードを高速化。 IE7、Firefox3、Opera9で動作確認。 Google ガジェット化。http://hosting.gmodules.com/ig/gadg

    "どぼん on BiwaScheme"をJavascriptに移植した - Gemmaの日記
    tarchan
    tarchan 2009/07/23
    あとで遊ぶ
  • Gauche-XMPPライブラリをリリース! - Gemmaの日記

    GaucheでXMPPクライアントを作ろう! Gauche-xmpp-1.0.tgz gitリポジトリ http://github.com/gemmat/Gauche-XMPP/tree tweet.IMを使えばTwitterクライアントにもなる! ただし、Google Talkには直接繋げません。(私がTLSをまだ実装していないので) jabber.jpや、ローカルで立てたejabberdに繋いで楽しんでください。 簡単な説明 XMPPには以下の段階があります。 接続 認証 リソースバインド セッションセット プリセンス メッセージのやりとり ... 切断 このライブラリはシンプルさを目指したので、この段階に逐一沿って、 メッセージのやりとりまでに5個も関数を呼ぶ必要がありますが、勘弁してください。 xmpp-connect で接続。 おなじみの call-with-xmpp-conne

    Gauche-XMPPライブラリをリリース! - Gemmaの日記
    tarchan
    tarchan 2009/06/26
  • インターネットOSとしてのGoogle Wave - Gemmaの日記

    みなさんこんにちは!私はアーキテクチャ宇宙飛行士です。 今日はみなさんを、インターネットOSの旅へとご案内しましょう! インターネットOSとは ティム曰く: 次第に我々はウェブサービスの荒野が変わるのを目の当たりにするだろう。開拓段階である第一段階は、スクリーンスクレイピングやバックエンドがデータベースのウェブサイトへの「無許可の」専用インターフェースを特徴とする。第二段階になると、ウェブサイト自身がより効率的で、XML ベースの API を提供するようになる(今これが起こり始めている)。第三段階になると、単一のベンダ(あるいは少数の競合ベンダ)が、インターネットをプログラム呼び出し可能なコンポーネントの膨大なコレクションに変え、それらのコンポーネントを、非技術系の人たちに毎日利用されるアプリケーションに統合する包括的な一連の API を提供することで、個々のサービスの寄せ集めが実際のオペ

  • XPCOMでUTF-8文字列から入力ストリームを作る - Gemmaの日記

    最近、XULの勉強をしている。 Gaucheの豊富なポート操作に慣れているおかげで、XPCOMのストリームの理解がそれほど苦にならない。 GaucheはポートにバイナリIOとキャラクタIOを混ぜて使えたり、ファイルを重複して開いてもポートへの操作を共有してくれたりと、微に入り細を穿っている。 それに反してXPCOMでは、 例えば、バイナリIOのnsISeekableStreamのseekと、キャラクタIOのnsIConverterInputStreamのreadStringは混ぜられない(たぶん)。(追記:2009/4/27 詳しく言うと、seekでUTF-8文字列の"キリの悪いところ"を指すと、readStringに謎の文字がでる。Gaucheは謎の文字を"不完全文字列"としてちゃんと区別してくれるので助かる。) nsIFileInputStreamはファイルを重複して開こうとすると前の

    XPCOMでUTF-8文字列から入力ストリームを作る - Gemmaの日記
  • SchemeのOpenGLで流体力学なデモを書いてみた - Gemmaの日記

    Ypsilonを試すため、C言語とOpenGLで書かれたコードをSchemeに移植してみた。 Ypsilon用 http://garakuta-okiba.googlecode.com/svn/trunk/fluid/ysmoke.scm Gauche用 http://garakuta-okiba.googlecode.com/svn/trunk/fluid/gsmoke.scm 双方とも 1〜2 fpsだった。元のC言語のは 70 fpsだった。 OpenGLの関数名が、YpsilonだとglBegin, glVertex2fと元に忠実なのに対して、Gaucheだとgl-begin、gl-vertexと、Scheme風になっているところに、思想の違いがあるかもしれない。 参考 (PDF) Real-Time Fluid Dynamics for Games by Joe Stam, at

    SchemeのOpenGLで流体力学なデモを書いてみた - Gemmaの日記
  • 多面体描画道楽 SketchUpで正12面体を作ってみた - Gemmaの日記

    先日のShibuya.lisp TT#2で和田先生がLispとPostScriptで正12面体を描くお話をして下さり、面白かった。 そこで、3DモデリングツールのGoogle SketchUpで、スケッチを描くように簡単に正12面体を作ってみた。 作図法は和田先生のこの記事によった。http://parametron.blogspot.com/2008/09/blog-post_19.html 高木貞治先生の「数学小景」にあるらしい。 動画 http://www.nicovideo.jp/watch/sm6331970 http://www.youtube.com/watch?v=qxQ0jfH9mZs 正5角形を描く 正5角形の対角線の大きさの立方体を描く 正5角形の辺の半分の高さの、柱を描く 立方体と柱を組み合わせる 正5角形の面を描く 正12面体の完成

  • Shibuya.lisp TT#2 でライトニングトークしてきた - Gemmaの日記

    「この木 なんの木 木になるS式 〜FUSEでS式ファイルシステム〜」 FUSEでファイルシステムへの操作を捕まえて、mkdirとtouchコマンドでLispプログラミング!というネタ。 発表時間を最大に使うため、動画で発表した。実演だとトチるもんね。 ニコニコ動画 http://www.nicovideo.jp/watch/sm6303663 Youtube http://www.youtube.com/watch?v=Wh766ZGmdRY FUSEのコツ ファイルシステムを作るっていうと、メモリ上で仮想でやりたくなるが、舞台裏で物のファイルシステムを使うと楽。仮想のファイルhogeを見せたいときでも、マジでhogeをファイルシステムに書き込んでしまって、それをユーザに見せるとよい。 ファイルを閉じたときにいろいろやりたいが、openコールとcloseコールの回数が必ずしも対応しない

    Shibuya.lisp TT#2 でライトニングトークしてきた - Gemmaの日記
  • TwitterをGoogleトークやPidginやAdiumやiChatやGMailにつなぐ方法(2ステップでおk) - Gemmaの日記

    tweet.IMに登録します。 https://www.tweet.im/ tweet.IMは、"TwitterGoogleトーク互換のインスタントメッセージに流してくれるサービス"です。 (当はTwitterのパスワードを他人に教えちゃダメですが、ここは彼らを信用しましょう) Googleトークのアカウントに接続します。 twitter.tweet.imさんが友達になりたいと言ってくるので、友達にします。 これでおk 彼に話しかけると、そのままTwitterへの投稿になります。 参考: Pidgin を自分のドメインの Google トークに接続するには Adium を自分のドメインの Google トークに接続する Google トークに接続するよう iChat を設定するにはどうすればよいですか。 おまけ GMailでTwitterを読む GoogleトークはGMailと連動して

    tarchan
    tarchan 2009/01/03
    OAuthに対応したら使ってみたい
  • 名言「今年はRubyが来る」を振り返る - Gemmaの日記

    小室哲哉の名言「今年はレイヴが来る」を振り返るの改変。 小室:もともとはだから、どういうのが? 一番その言語の好きな趣味も含めて、ハッカーとしての趣味も含めて。 SAM:あの、当に個人的な趣味だったら、関数型言語。しかも静的型付け。 小室:関数型言語・静的型付け。 SAM:静的型付けのあの、モナド。 小室:僕はちゃんとわかってますけど。でも、難しいよね。やっぱり一般的に、関数型言語で静的型付けでモナドでって言われてもね。 SAM:そうですね。 小室:すっごいプログラミング言語って、細かいんだよね。別れてるのね。 SAM:でも、同じ関数型言語の中でも、またジャンルが別れてるし。 小室:例えばどういう言語なんですかね?一つ挙げたら、もうこれだったらこれ書けなかったら、ハッカーではないってぐらいの。 SAM:ああ、あの、言語名とかでいいんですか? 小室:まあ、プログラムでもソフトでも言語名でも

    名言「今年はRubyが来る」を振り返る - Gemmaの日記
  • 明日10日午後10時〜はNHKスペシャル「デジタルネイティブ」 - Gemmaの日記

    番組内で、はてなが紹介されるそうです。 (公式)http://www.nhk.or.jp/digitalnative/ (詳細)http://www.nhk.or.jp/special/onair/081110.html ふとNHKスペシャル デジタルネイティブ(http://www.nhk.or.jp/digitalnative/)のHPをのぞいてみたらかなり映像コンテンツが充実していて結構面白かった。しょこたんとかid:jkondo社長とか、ポールグレアム氏とか、この前ustreamで初めて見たid:gotto-sさんとか、知っている方、見たことある方が結構いっぱいいた。僕もビデオを送ろうかと思ったけれどもすでに動画募集は打ち切られていた、残念。 http://d.hatena.ne.jp/lonlon2007/20080920/1221914657 ハッカーと画家 コンピュータ時代の

    明日10日午後10時〜はNHKスペシャル「デジタルネイティブ」 - Gemmaの日記
  • 「パクリだ」と言われたデミアン・ハーストの作品をJavaScriptでパクってみる - Gemmaの日記

    参照 J0hn D0e の日誌:「パクリだ」と言われたデミアン・ハーストの作品をSchemeでパクってみる ふつくしい。火蜂のフグ刺し弾幕のようだ。 http://eva-lu-ator.net/~gemma/geocities/pendulum/fermat.html //キャンバス要素のコンテキスト var ctx = null; var PI2 = Math.PI * 2; var phi = (1 + Math.sqrt(5)) / 2; var golden_angle = PI2 / Math.pow(phi,2); var colors = [[46,139,87],[200,70,51],[255,140,10],[20,206,209], [240,240,100],[240,200,10],[106,90,205],[75,10,130], [192,192,192],

    「パクリだ」と言われたデミアン・ハーストの作品をJavaScriptでパクってみる - Gemmaの日記