2009/12/10


Tatsumakiって面白そうとは思ってたけど、触った事なかったので、勉強してみた。
なるほど面白そう。と思ったのとPSGIでも動かせるんだーと感動しました。今日は勉強がてら、以前紹介した事もあるDiggのDUI Streamと混ぜて遊んでみた。
Digg the Blog » Blog Archive » DUI.Stream and MXHR

We call this technique MXHR (short for Multipart XMLHttpRequests), and we wrote an addition to our Digg User Interface library called DUI.Stream to implement it. Specifically, DUI.Stream opens and reads multipart HTTP responses piece-by-piece through an XHR, passing each chunk to a JavaScript handler as it loads.

http://blog.digg.com/?p=621
miyagawa's Tatsumaki at master - GitHub

Plack-based nonblocking Web framework for IO-bound delayed response, server push (streaming) and long-poll comet

http://github.com/miyagawa/tatsumaki
ルートとなるHTMLからjavascriptでストリームへのエンドポイントへリクエストさせ、そこからmultipart/mixedで送出されるgif画像(静止画)を断続的に送出し、DUI Streamでパースしながら1個のIMGタグを高速に切り替えます。
名前をTatsumakiSenpukyakuと名付けました。
mattn's TatsumakiSenpukyaku at master - GitHub

竜巻旋風脚

http://github.com/mattn/TatsumakiSenpukyaku
実行するとポート9999でサーバが起動し、「せーのー」と勢いを付けたあとに、高速な「竜巻旋風脚」が始まります。
竜巻旋風脚
javascriptからタイマでリクエストしているのではなく、サーバから断続的に、切断せずに送出されています。上記DUIのリンク先にある画像を使ったデモでも分かる通り、ストリーミングによりパラパラと表示されていた画像コンテンツがまるで動画の様に見せる事が出来ます。
ネタっぽい作りですが、へーこんな事出来るんだー...てな感じで動かしてみて下さい。
Posted at by



2009/12/04


GtkTreeModelとか面倒くさい部分に差し掛かってます。でもこれないとコンボボックスもツリーもリストも作れないんすよね。
go-gtk-20091204
いまんところこんな感じ。
イベントクロージャが内包出来てJavaScriptを書いているかの様にGTKプログラミングが出来ています。
    //--------------------------------------------------------
    // GtkButton
    //--------------------------------------------------------
    button := gtk.ButtonWithLabel("Button with label");
    button.Clicked(func(w *gtk.GtkWidget, args []unsafe.Pointer) {
        print("button clicked: ", button.GetLabel(), "\n");
        dialog := gtk.MessageDialog(
            button.GetTopLevelAsWindow(),
            gtk.GTK_DIALOG_MODAL,
            gtk.GTK_MESSAGE_INFO,
            gtk.GTK_BUTTONS_OK,
            entry.GetText()
        );
        dialog.Response(func(w *gtk.GtkWidget, args []unsafe.Pointer) {
            println("Dialog OK!")
        }, nil);
        dialog.Run();
        dialog.Destroy();
    }, nil);
    buttons.Add(button);
完成はまだまだ先です。頑張ります。
Posted at by



2009/12/02


os0xさん。お疲れ様でした。次の活躍も期待しています。
株式会社ALBERTを退社します - 0xFF

ファイル整理とかしていて2005年当時に書いたプログラムとかが出てきて、あまりのアレさに感慨深くなりました…

http://d.hatena.ne.jp/os0x/20091201/1259626454
私も以前フォルダの中を色々探索してたら、8年前のソースコードが出て来て懐かしくなりました。某IRCチャネルでは一度晒した事があるのですが、ネタとして面白そうだったのでブログに転載します。
8年前の私は、何故かtelnetに興味があり、Windows標準のtelnetは何故色が出ないんだ!なぜあんなショボいんだ!と思って、自前でtelnetを作っていました。
最初はvectorに登録する予定でしたが、面倒くさくなってやめてしまいました。
xterm互換です。NTLM認証対応です。Win32 APIでエスケープシーケンス表現しています。utf-8には対応していません><。とても長いです。変に凝ってます。そしてAPIゴリゴリです。懐かしいと感じると同時に、センスの無さに笑いました。

sTelNet.c
sshが標準な今、telnetのソースコードなんて無意味に近いですが、興味のある方だけ、どうぞw
Posted at by