July 30, 2006

svk でオフラインコミット

30日に OSCON から帰国しました。

Plagger のプレゼンもまずまずうまくいったし、Dojo project の Alex, Open ID の人、それにもちろん YAPC でもおなじみの Perl コミュニティのみんなと再会できたので楽しかったです。Six Apart がシルバースポンサーだったのもあって Ben, Anil, Artur をはじめとして大きなプレゼンスをアピールできたのもいい感じでした。

行きと帰りの飛行機では svk を使ってオフラインハック。オフラインになったところで svk cp && svk switch

svk cp //mirror/plagger/trunk //local/plagger-trunk
svk switch //local/plagger-trunk/plagger

これで //local にうつったのでガンガンコミットできる。オンラインになったところで、svk push

svk push --verbatim

この例ではオンラインで1個ずつcommit したのとほとんど同じになる。まとめてコミットしたければ -l を利用。svk++!

Posted by miyagawa at 11:23 PM | Comments (0) | TrackBack (0)

July 10, 2006

Rabin Karp アルゴリズムでコード重複の検出

YAPC::NA で会った FotangoNorman Nunley がつくってる Algorithm::RabinKarp モジュールが面白げです。

Rabin Karp 文字列探索アルゴリズム (wikipedia) を使って文字列のハッシュ(ダイジェスト)をチェックし、同一の値を示す部分を重複しているとみなしてレポートしてくれます。つまり、プロジェクト内のコードのコピーペーストを検出するツールとして使えるというわけ。

ためしに Plagger で試してみた結果は rabin.txt のようになりました。プラグインの register_hook や CustomFeed での Feed オブジェクトの生成など、イディオム的に使う部分が大半になってしまっていますが、いくつか実際コピペで再利用しているコードが検出できています。

cpan Algorithm::RabinKarp でインストールすると、rabin.pl というコマンドラインツールがインストールされるので、 rabin.pl \*.pm dir のように実行します。Enjoy!

Posted by miyagawa at 04:28 PM | Comments (1) | TrackBack (0)

July 07, 2006

YAPC::NA 2006 Chicago に行ってきました

6/26-28 とシカゴの IIT (イリノイ工科大学)で行われた YAPC::NA 2006 に参加してきました。

カンファレンスは IIT のキャンパスで行われて、シカゴ在住以外の参加者のほとんどが IIT 学生用宿舎にステイ。というわけで朝から晩まで Perl 漬けな日々が送れます。これは去年のトロントでも、会場がホテルになっていて同じような感じでしたけど。

NY と カリフォルニア以外の州に行くのは初めてだったんですが、やっぱりなんか雰囲気が違いますね。chicagocrime.org: Chicago crime database なんてサイトもあるくらいで、場所によっては1人で出歩くのはちょっと危険な雰囲気です。nothingmuch が "I survived YAPC::Chicago" Tシャツをつくろうとか言ってたけど、かなりホシイ。

カンファレンスでは、

な感じにプレゼンしてきました。資料は YAPC Chicago の Wiki からたどれます。音声・ビデオは準備中とのことなのでしばらく待ちましょう。

プレゼンに準備した時間は、Hacking iTunes (3時間), Plagger (2時間), XML::Liberal (30分) という感じですが、やっぱり LT で一番でかい会場なので XML::Liberal が一番反響がよかった。Plagger は1日のセッションの最後であまり参加率がよくなかったですが、参加してくれた人からはよいフィードバックをもらってます。2週間後の OSCON 2006 でも同じ話をしますが、いいリハーサルになったかな。

TransformedPlanet

Plagger is very cool piece of tech. I actually have written a couple of utilities to aggregate RSS feeds to create websites (like Transformed Planet), so I was surprised that there was a project like Plagger on the 'Net.

O'Reilly Radar > A Week in Chicago with Rails, Perl, and Django

The Goo is amusingly weird, and Miyagawa's plagger is genius.

Journal of perrin (4270)

One was on Plagger, a tool for doing things with RSS. It had

all kinds of plugins for turning various things into feeds, filtering them, and generating different kinds of output. There's an example at http://planet.yapcchicago.org/.

Journal of david.romano (6556)

I had only heard mention of Plagger here and there, but didn't really have an understanding of what it actually did. Basically, it allows data munging from different sources in different ways to many outputs. Like a RSS/Atom aggregator on steriods. For instance, it allows you to have an RSS feed be munged in a particular way and sent to an e-mail address all by downloading the right plugins and setting a few configuration options. But that's not even the half of it. There are many different configuration options to choose from. Definitely piqued my interest.

Larry, Damian, Audrey, Jesse, Ingy, clkao, Dave と YAPC::Asia 組とももちろん再会。それ以外にも Michael Schwern, Mark Jason Dominus, pudge (Chris Nandor), chromatic, briand d foy, Perrin Harkins, nothingmuch (Yuval), Marcus Ramberg とか久々な人も含めてあえてやっぱり Perl Community is People なのがうれしい。

Lightning Talks では Audrey の ppencode プレゼンが大ウケ。YAPC::Asia の takesako さんのプレゼンが元ですが、もうこのプレゼンをするのは4度目らしい。芸人ネタになってます。

カンファレンス終了後は IIT キャンパスで Hackathon。 Plagger の Planet リファクタリングとかにちょっと手をつけましたが、思ったよりはすすまなかったかも。。もう少し時間をまとめてとる必要があるかな。

その後 Boston, NY とまわってプチ観光。YAPC も含めた写真は、Flickr にアップロードしてあります。

Posted by miyagawa at 11:35 AM | Comments (0) | TrackBack (0)