変な人いるし、堅い人もいる。ネタに一生懸命になれる人達がいっぱいいるし、意味なく1行に拘る人もいる。
私はPerlでスーパークリエイター奥一穂(kazuho)さんと会えた。
はせがわさんにも会えた。あ、ちゃうちゃう。はせがわさんはwassrだ。
kazuhoさんにお好み焼き屋で箸袋の裏に貰ったサイン!
今も大事に持ってるお!
次はどのHackerに会えるかな。
はせがわさんにも会えた。あ、ちゃうちゃう。はせがわさんはwassrだ。
kazuhoさんにお好み焼き屋で箸袋の裏に貰ったサイン!
今も大事に持ってるお!
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ルートとなるHTMLからjavascriptでストリームへのエンドポイントへリクエストさせ、そこからmultipart/mixedで送出されるgif画像(静止画)を断続的に送出し、DUI Streamでパースしながら1個のIMGタグを高速に切り替えます。
Plack-based nonblocking Web framework for IO-bound delayed response, server push (streaming) and long-poll comet
http://github.com/miyagawa/tatsumaki
mattn's TatsumakiSenpukyaku at master - GitHub実行するとポート9999でサーバが起動し、「せーのー」と勢いを付けたあとに、高速な「竜巻旋風脚」が始まります。
竜巻旋風脚
http://github.com/mattn/TatsumakiSenpukyaku
javascriptからタイマでリクエストしているのではなく、サーバから断続的に、切断せずに送出されています。上記DUIのリンク先にある画像を使ったデモでも分かる通り、ストリーミングによりパラパラと表示されていた画像コンテンツがまるで動画の様に見せる事が出来ます。![]()
#!/usr/bin/env perl使い方は
use strict;
use warnings;
use LWP::UserAgent;
use JSON;
use Config::Pit;
# のび太の物は俺の物
my $copy_from = $ARGV[0] || 'hasegawayosuke/javascript';
# 俺の物は俺の物
my $copy_to = $ARGV[1] || 'mattn_jp/javascripter';
my $config = pit_get("twitter.com", requires => {
username => 'username in twitetr.com',
password => 'password in twitetr.com',
});
my $ua = new LWP::UserAgent;
$ua->env_proxy;
$ua->credentials(
"twitter.com:80", "Twitter API",
$config->{username} => $config->{password}
);
my $json = from_json($ua->get("http://twitter.com/$copy_from/members.json")->decoded_content);
for (@{$json->{users}}) {
$ua->post("http://twitter.com/$copy_to/members.json", {id => $_->{id}});
}
# perl copy-to-mylist-from-others.pl hasegawayosuke/javascript mattn_jp/javascripterこんな感じ。実行するときにはジャイアンのテーマを脳内再生しながら実行して下さい。
mod_psgi を実装してみた - spiritlooseのはてなダイアリーちょっと気持ち悪いpatchになるけど、一応動いている。
PSGI を実装したApache2モジュール。
http://d.hatena.ne.jp/spiritloose/20091002/1254467284
typedef int uid_t;
typedef long uid_t;
#define uid_t _uid_tてな具合に前の宣言を逃してやって、後の宣言を有効に出来る。今回はこの気持ち悪いhackを使ってWindowsにポーティングしました。
#include <apr.h>
#undef uid_t
#include <perl.h>
Commit 03fb93ebf27f0b98c3fbcc616ce736129e747912 to mattn's mod_psgi - GitHub今の所ご機嫌よく動いていて
http://github.com/mattn/mod_psgi/commit/03fb93ebf27f0b98c3fbcc616ce736129e747912
use strict;こんなPSGIなアプリもうまくちゃんとリクエスト毎にカウントアップされています。
use warnings;
my $count = 0;
my $handler = sub {
my $content = "Hello World".$count++;
return [ 200, [ "Content-Type" => "text/plain", "Content-Length" => length($content) ], [ $content ] ];
};
# vim:set ft=perl: