November 26, 2006

学校では教えてくれないエンジニアリング英語 #3: You might want to ...

しばらく間があいてしまいましたが、短いのをいくつかあげていこうかとおもいます。

今回はエンジニアリングに特化したフレーズではないのですが、コードレビューや実装のアイデアを話し合うときなんかによくつかう "You might want to ..." というのを紹介します。

最初 IM で "You might want to ..." といわれたときは直訳して「~ したくなるかも」と受け取っていたのですが、すぐにこれは慣用句で「~するといい」というアドバイスに使うフレーズだということがわかりました。「~するといい」には他にも You'd better ... とかの言い方がありますが、You might want to ... はあまり押し付けがましい感じがしないのでよく使える表現だとおもいます。

例)

You might want to try using strace to figure out what the process is doing when it's stuck in that state. "strace してプロセスがその状態になったときに何をやってるか見てみるといいんじゃないかな。"
You might want to cache the query result here, probably for 3 hours. "このクエリの結果は3時間ぐらいキャッシュしたほうがいいかも。"

今回のフレーズは 高林さん と IM していて思いつきました。「こういうときはどういうの?」とか「このフレーズを紹介して!」というのがあったらぜひコメントや Email でお知らせください。

Posted by miyagawa at 02:51 PM | Comments (4) | TrackBack (0)

November 24, 2006

SF 到着・第9回 XML 開発者の日に出ました

先週の金曜日 17 日に米国に入国して、SF オフィスで勤務開始しました。以前に何度も出張できているのでこれといって新鮮という感じはしませんが、やはり気分的にはやるぞという感じがしますね。

IMG_9965

さっそく Thanksgiving で4連休なわけですが、初日の今日は XML 開発者の日 に参加してきました。当初は Windows のリモートアシスタンス + Skype で参加予定でしたが、よりよいリモートプレゼンツールとして Macromedia (Adobe) の Breeze を試してみました。ビデオ・音声チャットにファイル共有(PPT をアップロードして同期プレゼン)など、必要な機能はほとんどそろっていて、かなり使える感じですね。Six Apart でもライセンスを持っているので、これから日本と会議などのときにはぜひ使ってみようと思います。

プレゼンのほうはいつもどおり Plagger についてですが、ソフトの紹介だけでなく、XML フィードフォーマットやメタデータをどう扱い、共通APIを提供することでプラグイン開発者やエンドユーザの利便を高めるか、という話をしました。microformats や野良 API, 各種 Feed formats に対する Vocabulary などをグルーする "The Duct Tape of the Web" としての Plagger の存在がうまくつたわればよかったと思います。プレゼン資料は こちら (PDF) からどうぞ。

また当日朝、プレゼン用のネタにと geo サポートブランチ を作成、各種位置情報を表現するメタデータを共通に扱う API を用意しています。もともと Six Apart EMEA の Jean Yves から geo サポートしたいという話があって、API があれば各種メタデータ (geoRSS, geo RDF, Geo URL, Flickr geotagging など)をプラグインで扱いやすくなるなとおもっていたところでした。Plagger がどのようにこうしたフォーマットのゆれを吸収するか、といういい例にもなってるとおもいます。

Posted by miyagawa at 05:18 PM | Comments (0) | TrackBack (0)

November 10, 2006

第九回 XML 開発者の日に出ます

村田さんからお誘いいただいて、第9回 XML 開発者の日 で Plagger について講演します。

といってもその日は US にいっているので、Skype での出演になります。プレゼンをどうシンクロするかを悩んだんですが、Windows のリモートアシスタンス機能をつかうとそれっぽくできるということがわかったので、それでやってみることに。うまくいくかどうかはわかりませんが、興味のある方はぜひどうぞ。

内容はいままでの Plagger プレゼンとはちょっと趣向を変えて、Plagger によって実現する semantic web と非 semantic web の pragmatic な融合、みたいな感じの話にできたらいいなぁとは思ってます。

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

November 06, 2006

日本の総理大臣の演説をタグクラウド化

US Presidential Speeches Tag Cloud が面白かったので日本の総理大臣版を3分ハッキング。コード自体は15分くらいでかけたんだけどデバッグやらデータの解析やらに時間がかかってトータルでは2時間くらいか。

Japanese Prime Minister Speeches Tag Cloud

首相官邸ホームページ からリンクをたどって HTMLをダウンロード、HTML::TreeBuilder で as_text して Text::MeCab に食わせ、名詞(代名詞などをのぞく)の頻度を YAML データとしてつっこみ、HTML::TagCloud でタグクラウド化しました。スライダーの JS などは元の US Presidential のほとんどパクリです。

IE だと行間がかなりつまってるのは HTML::TagCloud の生成する CSS の問題だとおもわれるので、解決策があれば教えてください。→ これ で解決しました。Thanks to mala

Posted by miyagawa at 05:26 PM | Comments (2) | TrackBack (0)

November 03, 2006

svk を当社比100倍高速化する方法

svk を使っているときの最大の不満は、ローカルのミラーレポジトリが大きくなるにつれ各種操作、とくに checkout と commit が遅くなってくること。

既知の問題だとおもっていたんですが、plagger のリリースに15分くらいかかるようになったのでたまらず #perl6 で clkao をつかまえてクレーム。「そんな遅いはずはないので Devel::DProf で dprofpp の結果おくってよ」とのこと。さっそくやってみるとほとんどが Data::Hierarchy の _ancestors 関数でした。

というわけで clkao が Data::Hierarchy 0.32 をリリースしてくれた。Changes に "Workaround various performance issues. The real fix will be in 0.40." とある通りまだ完全ではないようですが、かなり速くなってます。ためしに Plagger の trunk を checkout したら15秒でおわりました。また、svk 自体を svn 最新 でビルドするのも効果があるようです。

Devel::DProf はどの部分がボトルネックになっているのか調査するにはとても便利。こういうテクニックは Perl Hacks が一番いいかな。

Perl Hacks: Tips & Tools for Programming, Debugging, And Surviving (Hacks)
Damian Conway Curtis Poe Chromatic
Oreilly & Associates Inc
Posted by miyagawa at 10:24 PM | Comments (0) | TrackBack (0)