"kamaitachi" perl flash media server

IRCチャンネルできました。

#kamaitachi @ chat.freenode.net

kamaitachi に興味なくても RTMP のパケットが云々という話とか興味ある人は入るとおもしろいかも。

by typester / at 2008-12-02T18:53:00 / perl / Comment

remedie & HE hackathon にいってきた

土曜にはじめてチェックアウトして翌日ハッカソンに挑むという無謀さでしたが、いやいやなかなか、おもしろかったです。

remedieはつかってみるとかなり面白いですね。対応しているURLを含んでいれば別にメディアRSSとかじゃなくても追加できるので、おもむろに自分の del.icio.us などのページを食わせてあげても、YouTubeやニコニコ動画などをブックマークしてたらそれがリストにでてくる。

気になる人のブックマークとかは突っ込んでおくだけですぐにその人がブクマったものをremedieで見られるという訳ですね。

で、ハッカソンでなにをしてたかっていうことがいいたいんですが、刺されたくないのでやめておきます。コミットログとかから察してください。

作ったもの、あとでコミっときます。

by typester / at 2008-12-01T09:12:00 / perl / Comment

Yokohama Perl Mongersテクニカルトーク#3にいってきた。

ライブコーディングをしてきました。シンプルなwikiです。

ソースコードはこちら。

http://github.com/typester/yiki

会場で書いたものに.gitignoreファイルを追加(coしたときにディレクトリがそろってないとうまく動かないので)しただけなものとなっています。

コード書くのに必死だったのであんまり解説ができなかったのですが、まず最初に Yiki.pm というところに wiki のページ編集の機能をモジュールとして作成し、それをあとから作った Yiki::Web という Catalyst アプリから使うというのがポイントでした。

単体モジュールとして wiki の機能を実装することでテストが書きやすいので安心だとか、ほかのアプリからも使えるだとかいろいろな利点が生まれます。

今回のコーディングの流れは

  1. 01_module.t に SYNOPSIS を書いてみる。(自分がどんなふうにアプリを使いたいかデザインする)
  2. その SYNOPSIS をもとにテストをおこす
  3. Yiki.pmを実装
  4. テストを走らせ正しく動作しているか確認
  5. 3,4を繰り返す
  6. それを Yiki::Web から使用する

となっています。

by typester / at 2008-11-29T10:49:00 / perl / Comment

Shibuya Perl Mongersテクニカルトーク#10にいってきた。

kamaitachi のデモをしてきました。

スライド:

kamaitachi - perl flash media server

デモ使ったサーバーサイドとクライアントサイドのソースコードはこの辺にアップしました:

example/shibuya.pm

動かし方は

git clone git://github.com/typester/kamaitachi.git

してきて、example/shibuya.pmperl server.pl するとサーバーが立ち上がります。

そのあと、example/client 以下にある swf ファイルをブラウザで開けばローカルでデモが動かせます。

asソースをみてもらえばわかりますが、接続先が localhost 決めうちになっているため、それ以外のところで動かす場合は swf を作り直す必要があります。

フリーで公開されている flex sdk をつかえば一応誰でもコンパイルできます。

mxmlc chat.mxml

などとすればOK。

というか本当は swf の URL から接続先のホスト名を自動的に設定したかったのだけど、mxml内でインクルードしてるasで、Stageオブジェクトを取得する方法がわからなかったのであきらめた。もしこの方法がわかったらコードをアップグレードします。

というわけで、サーバー・クライアント両方のサンプルをやっと作れたので、これで一応誰でも試せるところまではきたかと。

使ってみて、いろいろフィードバックいただけたら幸いです。

by typester / at 2008-11-28T09:17:00 / perl / Comment

HECon1にいってきた

カヤックサイトの裏側ではじつは HTTP::Engine が使われてるよ、っていう話をしてきました。

id:IMAKADO さんに会えた。今日は懇親会に参加しないのであんまりはなせなかったのが残念。

実は anything とか perl-completion とかいれてみたものの、あんまり使い方がわからなくて、第三期vimに移ろうかな期だったりしてた状況だったので、もう少しまじめに使ってみようかなと思ったりした。

anything はまぁつかってるけど、実際のところ設定よくわからんし、下手に設定するとめっちゃ重くなるし、よくわかっていない。

by typester / at 2008-11-26T22:10:00 / perl / Comment

テスト

終了。

by typester / at 2008-11-26T16:16:00 / life / Comment

irssiからOutputzに文字数を投げる

EmacsからOutputzに文字数を投げる - antipop

を見て、早速インストールして使ってみたら激しくおもしろい!

irssiでもやりたくなったので、irssiで発言した文字数をOutputzに投げるプラグインを書いた。

http://github.com/typester/irssi-plugins/tree/master/outputz.pl

~/.irssi/scripts にファイルをおいて、irssi内で

/run outputz.pl

して

/set outputz_key あなたの復活の呪文
/set outputz_uri 適当なURI

すると設定完了で、あとは自動で発言数が投稿されます。

`outputz_uri` に `%s` をいれるとその部分はIRCのチャンネル名に置換されます。

outputz_uriURI::Template 形式で指定できるようにしました。

デフォルトは irc://{server}:{port}/{channel} です。

つかえる変数は

  • server: サーバーアドレス
  • port: サーバーポート番号
  • channel: 発言したチャンネル名
  • server_tag: irssiでのサーバーのユニークタグ
  • nick: そのサーバーでのあなたのニックネーム

となっております。

こないだ作った PoCo::Client::HTTPDeferred つかってるのでそのサンプルとしてもいいとおもいます。

しかし、emacsよりirssiの方が文字数いってそうで集計を見るのが怖いです。。。

by typester / at 2008-11-21T16:00:00 / web · irssi / Comment

カヤック本、2冊目

2冊目が出たようです。興味がある人はぜひ。

面白法人カヤック会社案内
柳澤大輔
プレジデント社
売り上げランキング: 261

ビジネス書ですよ。

代表のコメントはこちら:

121:「あなたは会社を愛していますか?」:柳澤大輔「面白法人カヤックのいきかた」

ついでに1冊目もおいておきますね。

この「社則」、効果あり。 (祥伝社新書 117)
柳澤 大輔
祥伝社
売り上げランキング: 1347

by typester / at 2008-11-14T14:40:00 / kayac · book / Comment

MochiKit的にPoCo::Client::HTTPをつかえるラッパーを書いてみた。

POE は結構好きなんだけど、使ってるにつれていろいろ不満が出てくる。

Client::HTTP もその一つで、レスポンスを受け取るコールバックに CodeRef を指定できないくていちいちステートを作らないといけないのが嫌なので、こんなのを作ってみました。

POE::Component::Client::HTTPDeferred

MochiKit のインタフェースを参考にしてます。

こんな感じで使う。

use POE qw/Component::Client::HTTPDeferred/;
use HTTP::Request::Common;

POE::Session->create(
    inline_states => {
        _start => sub {
            my $ua = POE::Component::Client::HTTPDeferred->new;
            my $d  = $ua->request( GET 'http://unknownplace.org/memo/' );

            $d->addBoth(sub {
                my $res = shift;

                if ($res->is_success) {
                    print $res->as_string;
                }
                else {
                    warn $res->status_line;
                }

                $ua->shutdown;
            });
        },
    },
);
POE::Kernel->run;

js やってる人にはちょっと見慣れた感じじゃない?

これの Deferred 自体は全然機能足りてないけど、素で PoCo::C::HTTP つかうのと比べるとずいぶん楽になる。DeferredListもほしいな。

by typester / at 2008-11-13T23:04:00 / perl · poe / Comment

ぼーっとしてるな

  • いい天気だなーってゆっくり歩いてたら遅刻しそうになってダッシュ
  • キウイスムージー買いにいったらマンゴーとかナタデココとかのスムージーはあるのにキウイだけ自販機から消えている
  • しょうがないので梅こんぶ茶でも飲むかとおもってシンクに行くも手が勝手に珈琲フィルターとかをセットしてしまったので珈琲つくらざるをえなくなる
  • しょうがないので珈琲飲む (イマココ)
by typester / at 2008-11-13T10:40:00 / life / Comment

4 5 6 7 8 9 10 11 12 13

(Page 8 of 194)