November 25, 2005

OCEANLANE - Kiss & Kill

KISS&KILL
KISS&KILL
posted with amazlet on 05.11.25
OCEANLANE
ピーエスシー (2005/11/02)

Oceanlane の 2nd フルアルバムがリリース!早速 iTunes Music Store から購入してみました(US にいてもすぐ買える!のはすばらしい)。以前よりロック色の強くなったサウンドに、変わらぬエモーショナルなツインヴォーカル。最高っす。#3 の Velvet Love, #4 の Pearls がお気に入りです。

Posted by miyagawa at 06:54 AM | Comments (2) | TrackBack (0)

LF-PK1 + PSP その後

IMG_3006

先日購入した LF-PK1 と PSP その後です。

US に出張できていますが、San Francisco の Comcast 回線でもレート2程度(120KB/s) の画質で楽しむことができています。Comcast モデムが不調のため同じレジデンスの野良 WiFi 経由ですが十分速度がでていますw

qootas.org/blog - ロケーションフリーTV LF-PK1 と PSP でスカパーを見る

最近メキメキと成長しつつある体脂肪率を落とすために半身浴で雑誌読んだり防水スピーカーにiPodをつなげて音楽聴いたりしてました。けど、寝ちゃうんですよねぇ。結果、あんまり長時間の半身浴とはならないわけです。やっぱりテレビだとだらだらと時間過ごせるかもと防水テレビを一時期見て回りましたがロッドアンテナだと見るに耐えないし、無線で画像を飛ばすやつは10万超えで手が出なかったんです。

せきむらさんも PSP + LF-PK1 を購入された様子。そうそうこっちにきてからは PSP であまり見てませんが、日本に帰ったら風呂 TV ためしてみたいっすねー。僕の場合は本とか音楽 (iPod + PIONEER の Happy Tone 防水スピーカー) でも1時間とか入ってられるので切実ではありませんが。

で、PSP なんですけど mp3 を投入してみたり Video Podcasting を携帯動画変換君でエンコードしてみたり、Bloglines のエントリを HTML に焼いてファームウェア内蔵の Web ブラウザでみたり、いろいろ Hack しがいがあるんですが、どうも一度やってみて「ほぉー」で終わっちゃうんですね。これは僕が電車通勤とかをしないところと関係があるのかもしれません。iPod + Podcast で通勤(徒歩 or バス) は手一杯という。

というわけでみんゴルと WE をするだけにいまはとどまっていますが、もっと面白い Hack があれば遊んでみたいなぁとは思いつつ。

Posted by miyagawa at 05:01 AM | Comments (1) | TrackBack (2)

November 24, 2005

ゲームセンターCX DVD

ゲームセンターCX DVD-BOX
ハピネット・ピクチャーズ (2005/12/23)

CS フジで第4シーズン放送中のゲームセンターCX のDVD BOX が発売! 先週の高橋名人の冒険島とかやばかったなぁ。プリンスオブペルシャとかかなり好きな回だったので楽しみですね。

しかし最近の有野のやる気なさぶりは、今シーズンでさすがに終了?という前フリに見えてしまいます。

Posted by miyagawa at 03:19 AM | Comments (0) | TrackBack (1)

November 18, 2005

ロケーションフリーTV LF-PK1

OMG Location Free TV

今日から今年4回目の San Francisco 出張、ということで買いましたソニーのロケーションフリーTV LF-PK1

これはヤバイですね。やりたかったなぁとおもったことが全部実現してしまう。HDD レコーダの操作も CATV も外からバリバリできます。Goodpic の金子さんいわく、僕ほどこの商品のターゲットにあっている(テレビ好き、海外出張多い)人もいないんじゃないかと。

セットアップ

セットアップは基本的にカンタン、なのですが単純にウチの回線や接続周りが複雑怪奇なのでどこからアンテナを回そうか少し悩みました。結局あまっているアンテナ分配器をつかって CATV の STB からアンテナを回し、VIDEO INPUT 1 に HDD レコーダ、INPUT 2 に STB をつっこみます。STB はもう出力があまってなかったので D4 出力で出しているところの VIDEO 出力(黄色ケーブル)だけ借りてきました。CATV は HDD (ビデオ1)にもつながっているのでそちらで視聴し、ビデオ2は予約とかチャンネル操作だけで使うことに。

Ethernet につないだらクライアント側のソフトを立ち上げます。NetBIOS だか Bonjour だかわかりませんが自動で認識するようになっていて good。セットアップ中に UPnP と Dynamic DNS への自動登録、初回のネゴシエーションで MAC アドレスの認証まで登録されるようなのでほとんど設定いらず。この辺はすばらしい。

で、リモコンデータを設定すれば視聴準備完了です。テレビ・HDDとも問題なく操作できます。感動!

ついでに PSP も入手してしまったのですが、ファームウェアもすでにアップグレード済みだったので「ロケーションフリープレイヤー」から AP を探して、自動登録で見れました。このスムーズ感はすごい。

問題点

ほとんど問題は感じてないのですが、あえてあげるならば、

* PC 版ビューアは 16:9 モードをサポートしていない。STB や HDD レコーダで 16:9 の放送を見ると横が縮小されて縦長の映像になってしまいます。HDD レコーダ側で 4:3 強制出力もできるのですが、そうすると地デジ放送が縦横とも帯が入って残念なことに。PSP ビューアではワイドをサポートしていて good です。
* PSP のリモコンデータには Panasonic の STB がなかった。PC にはあったので問題はないですが。。
* 稼動して外からブラウズしているときは定期的に「キュイーン」という音がなったりするようです。1人暮らしの僕の場合は無問題ですが。

というわけでひさしぶりに革命的な製品という感じ。海外でも週末ヒマせずにすみます!



Posted by miyagawa at 11:00 AM | Comments (2) | TrackBack (2)

November 16, 2005

MVC and Web APIs

naoyaのはてなダイアリー - MVCフレームワークにおける Web API 実装

Sledge における Web API (XML-RPC/AtomPP) のハンドリングについての言及がありました。これからの MVC フレームワークに求められる必要条件の一つとしてこの Web API を処理しやすいかどうかというのは重要な気がします。

MVC フレームワークと Web APIs (XML-RPC, REST, SOAP) な話。

Catalyst や Sledge なんかの XML-RPC 実装なんかもプラグインででてきていて、Sledge::Plugin::XMLRPC は CPAN から入手できるわけですが(グッジョブ!)、どうも利用者側の実装方法が若干スマートにならない気がしています。

というのは、

use Sledge::Plugin::XMLRPC;
sub dispatch_xmlrpc {
    my $self = shift;
    $self->xmlrpc;
}
sub xmlrpc_echo {
    my $self = shift;
    return join " ", @_;
}

という感じで、XML-RPC だけ処理する メソッドを作らないといけないんじゃないか? という部分ですね。これは Catalyst のプラグインも同じです。

まあ実装方法にもよるわけですが、やはり MVC や DRY を考えると、API の Transport レイヤーを気にせずドメインロジックを実装する というのが美しい姿なのかなぁと。たとえば Amazon Web Services が REST と SOAP で同一の API が利用可能なように。

どこかで理想的な作り方があったなぁと use Perl; を検索してみたら、So I've written Attribute::WebService. I'll stick it on CPAN this week, though it's pretty raw right now. という 2001 年に Matt Sergeant が書いた journal がひっかかってきたり。Transport レイヤーをうまく抽象化して再利用ができるようになるとステキですよね。

という風に見ると、API の Transport レイヤーは MVC の View なんじゃないかという風にも見えたり。blosxom という Blog ソフトで一番関心したのは URL とテンプレートの拡張子がマッピングしていて、index.html で XHTML, index.rss で RSS 2.0, index.atom で Atom フィードというように View をカンタンに切り替えられる点。多くの Blog ソフトが RSS/Atom フィードをテンプレートで出力することから考えても、データフィードや IO を View として分離するのがスマートだなぁと感じます。

で、Web API と MVC なんて話でいうと、

Model-View-Controller in Web 2.0

Think about it like Address Book - with a database backend (the model) and a web services API (the controller), the actual web site itself becomes just one of potentially many views on the data.

Web 2.0 のサービスアーキテクチャを MVC にたとえた記事も。これはすごくストレートに入ってきます。Web API を Controller として提供して、それを利用するサードパーティやデスクトップアプリが View となる。データ提供者は Model と Controller だけを実装して、それを remix / consume する側がさまざまな View を用意できるというアーキテクチャ。

naoya さんはこの記事に 「デスクトップアプリケーションが V で API が C という考え方。(API は C というか M だと思うけど。)」 とコメントしていて面白い。これは API を利用するサードパーティ から(しかもアーキテクチャではなく実装サイドから)見た意見なのだと思います。たとえば、amazlet の実装の中では Amazon Web Service は Model となる。

ただ、アーキテクチャという視点では、iTMS を例にとれば、iTMS のデータベースは Model, プロトコルが Controller で、iTunes の UI が View というのはしっくりきます。いろんな視点で各所に MVC 的な役割分担が見えてくるのも興味深い。

Posted by miyagawa at 01:32 PM | Comments (1) | TrackBack (0)

November 15, 2005

Web 2.0 時代の TOEIC 900点超え英語勉強法 9ヶ条

と、はてブで人気エントリになりそうなタイトル をつけてみましたが。

こないだ 10/23 に TOEIC ってやつを受けてみたんです。ちょうど外資系でマジメに仕事として英語を使うようになって10ヶ月、ある程度できるようになったなという印象はあったんですが、客観的に評価できる数字がほしいなぁと。

結果は、970点 (Listening: 495 / Reading: 475) というなかなか想像を超える数字でした。

toeic.gif

受けた感じである程度の手ごたえはあったんですが、Listening 満点というのは結構驚きでした。思えば1年前までアメリカ行ったことない(そもそもパスポート持ってない)状態で、1年弱でここまで来たとも言えるわけです。せっかくなので、ここに至るまでの僕の英語勉強法を Tips 的にまとめてみます。

(R = Reading, W = Writing, L = Listening, S = Speaking)

0. 洋楽を聞く、歌詞を読んで覚える (R/L/S)
1. 海外の有名 Blog を購読する (R)
2. 自分の得意そうなキーワードを PubSub / Technorati で検索・購読する (R/W)
3. Google News のテクノロジーカテゴリのニュースを読む・音読する (R/S)
4. 英語 Blog をつくり、興味のあることにコメントする (R/W)
5. オープンソースソフトウェアのバグを見つけ、パッチを送る (W)
6. IRC チャネルやメーリングリストに参加し、発言する (W/S)
7. 自分の興味ある Podcast をいくつか見つけ、iTunes に登録する (L)
8. 内容を理解できたら、何度でも聞く・シャドーイングする (L/S)

0. 洋楽を聞く、歌詞を読んで覚える (R/L/S)

これは僕が中学からやっていたことで、まったく「Web 2.0 時代の~」にはフィットしないので番外としましたが、やはり英語へのコンプレックスとか苦手感覚をなくすのに一番いいジャンルは音楽じゃないかなぁと思います。

1. 海外の有名 Blog を購読する (R) / 2. 自分の得意そうなキーワードを PubSub / Technorati で検索・購読する (R/W)

数は多くなくてもいいのですが、自分の好きなジャンルの Blog を購読して読んでいけば、ボキャブラリを高めたりするには好材料でしょう。Jeremy Zawodny's blogO'Reilly Radar なんかはわかりやすくていいでしょう。

3. Google News のテクノロジーカテゴリのニュースを読む・音読する (R/S)

Google News の Science / Technology には日々、面白そうなニュースがならんでます。トピック別にグルーピングされてる中から 2-3個選んで、音読したりしてみると発声の練習になるかも。Blog よりニュースサイトの方がきちんとした英語が並んでいるので、文法的な理解を深める上でもこっちのほうがいいかもしれません。(日常会話で文法にこだわるのもよくないことですが)

4. 英語 Blog をつくり、興味のあることにコメントする (R/W)

自分も 英語 Blog を持っていたりしますが、日々思ったことを英語でどう表現するかというのはいい練習になります。1文・2文とかでもよいので定期的に続けていくことが大事かも(といいつつ僕も最近は面白いネタがないとサボりがちですが)

5. オープンソースソフトウェアのバグを見つけ、パッチを送る (W) / 6. IRC チャネルやメーリングリストに参加し、発言する (W/S)

これは僕が 2000年ごろから続けてきたことです。横に辞書系ツールさえあれば、メールや IRC / IM でのコミュニケーションは日本人にとってはもっとも気楽ですよね。

英辞郎 第二版 「Special Valueパック」
アルク (2005/03/04)
売り上げランキング: 30

英辞郎は PDIC 形式の辞書ファイルをインクリメンタルに検索できて、使い勝手のいいツールです。Emacs なんかの dic プログラムから再利用することもできてオススメです。普通の辞書には載っていないスラングやネット系単語なんかも多く収録されていてイイですね。

7. 自分の興味ある Podcast をいくつか見つけ、iTunes に登録する (L)

Podcasts for Web 2.0 でも紹介した Podcast の中からいくつか登録して、日々リスニングします。聞かない日がないようにすること。また、

* アメリカ系でなまりのない英語を
* カツゼツよくしゃべる

Podcast を選ぶことが大事です。自分と同年代とかだとよりよいでしょう。言っちゃ悪いですが、ITConversations の Doug や Dave Winer、Slashdot Review のオッサンなんかは、ダミ声だったりカツゼツが悪かったり、リスニングの勉強にはまったく向きません。たまにイギリス人・オーストラリア人・カナダ人なんかの Podcast もありますが、これもアクセントがぜんぜん違うのでアメリカ英語を勉強したいなら寄り道になるだけ。

言語の理解には口癖の吸収も大事ですから、なるべく同世代でスマートな英語をしゃべる人の言葉を毎日聞くほうが、たくさんの人をバラバラに聞くよりよっぽど効果が高いです。

というわけで先日のリストの中で言うと CNET Buzz Out Loud がやっぱりオススメ。カリスマの Tim O'Reilly とか Steve Jobs なんか以外は、オッサンの英語を聞いても役に立たんと割り切りましょう。(カリスマは平易な英語でしゃべるので逆に理解しやすいわけですが)

8. 内容を理解できたら、何度でも聞く・シャドーイングする (L/S)

ここまでこれたらもうマスターまでもう1歩。なんどでも聞いて言い回しを覚えたり、シャドーイングで発音をマスターしたりします。iPod / iTunes で Spoken Words の切れ目で自動で停止するシャドーイング機能があれば最高なんですがねぇ。Transcription つきの Podcast はそんなに多くないですが、たまにあるのでそれも参考にしつつ、好きな Blog を talkr.com に食わせて Podcast にしてしまうというのも一つの手。まあ人間のライブの声にはかないませんが。

TOEIC の勉強

ここまでは一般的な英語の勉強法。んで TOEIC でいい点をとるには、やっぱり TOEIC の勉強もしなきゃいけないのは事実。僕の場合は 1冊問題集を買ってそこに載ってるテストを2回やってみました。

TOEIC(R)テスト ハイパー模試600+200問   eスタディBooks
千葉 元信 Greg Hutchinson 福地 和則
旺文社 (2003/08)
売り上げランキング: 110,951

他のを一切やってないので、これがいいかどうかは評価できませんが、ネットで採点できる(フォームに答えを入力すれば自動採点)のでとりあえず楽だということは特筆できます。問題は本来の TOEIC よりいやらしい問題が多いようで、やってみて 700点後半という感じの診断でした。問題形式になれるぐらいでやってみるといいのではないでしょうか。

本番では「問題用紙への書き込み禁止」とか指示されますが、 Part IV などは書き込みしないと正しく解答するのは不可能と思われるので、気にせずやりましょうw

Posted by miyagawa at 12:19 AM | Comments (12) | TrackBack (23)

November 08, 2005

Authentication/Identity for Mashups

マイミクマップ というアプリケーションがあります。

mixi に登録している自分の友達の出身地あるいは現在地を調べて Google Maps でプロットするという、典型的な Web 2.0 的アプリ。mixi のデータと Google Maps API の remix (Mashup) であり、とってきたデータを視覚的に見せる (Data Visualization) と、Web 2.0 の王道をいっている感じでグッジョブ!といいたいところなのですが、ひとつ決定的に残念なのが、

パスワードやメールアドレスを入力することに不安がある方は、一旦メールアドレス、パスワードを変更してからご利用いただき

とあるように mixi のIDとパスワードを渡してログインさせてスクリーンスクレイプしてデータをとってきているところ。これは mixi が Web API を提供していない(し、公開にも積極的でないように見える)からどうしようもないわけですが、なんとも気が抜けてしまいます。(*1)

同じように、 API 経由で認証した機能を利用できる Flickr をみてみると、きちんとサードパーティのアプリケーションからユーザ認証を利用する API が公開されています。「Flickr 側にトークンを投げて、ユーザが ID/PW を Flickr に渡すと、認証結果をトークンとともに返す」、という仕組みで、サードパーティが ID/PW を知ることなく認証後の機能を利用することができるわけ。

こうした認証の仕組みは Flickr 固有というわけではなくて、TypeKey やそれを拡張した Bitcard (auth.perl.org のバックエンドで動いている Single Sign On システム。API も公開) でも同じようなしくみでサードパーティが生の ID/PW を知ることなく認証機能を利用できます。

翻って今日リリースされた はてなリング を見てみたんですが、これも Authentication/Identity にはカジュアルな様子。適当なリングに URL を偽って登録したら普通に通ってしまいました。

hatenaring.gif

これを声高にセキュリティホールだ、というつもりもないですが、ここまでインフラが整っているのにカンタンに登録できちゃうのはどうなのかなぁと。勉強会 をやっているぐらいだからすぐに気づくと思いますが、OpenID はまさにこの用途のためにあるようなものだし、まだ OpenID は導入が難しい、というんであれば Technorati Claim みたいな形でもいいと思うし。

って、よく考えたら、はてなはすでに はてな外の Web ページにアカウントを Claim する仕組み を持ってましたね。なんでこれで認証しなかったんだろう?

まぁ、こうして改善点を指摘されるのも 50% ルール / NDO メソッドなのかもしれませんがw

いずれにせよ Web 2.0 / remix / Mashup なテクノロジーにおいては データのオープン性 と同様、そのデータを外部のサービスとどう remix するかにおいて、Authentication/Identity の果たす役割は大きいんじゃないかなぁ、と思ったりしました。

*1) ちなみにこういう部分で mixi を出し抜けるチャンスがありそうな L社は WWW::Livedoor というスクレイピングモジュールを出していて別の意味で面白い。中の人の意向ではない みたいですが。そういえば、Livedoor Blog のコメント認証は TypeKey 互換でしたよねぇ。。

Posted by miyagawa at 03:18 AM | Comments (5) | TrackBack (2)

November 06, 2005

Autrijus on Shibuya.pm meeting

Journal of autrijus (1505)

Last week's Shibuya.pm meeting features Catalyst, Ajax, Pugs and ICFP. Takesako-san did a nice presentation (PPT in Japanese) about Pugs, though some slides leaves me feeling excessively flattered. ;-)

Autrijus Tang の journal で Shibuya.pm の Pugs トークに言及がありました。漢字があるので日本語でもだいたい通じますね。3月に台湾にいったときは、Haskell についての日本語ページの訳を僕にずっと質問してました。

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

November 04, 2005

12 Things I dislike with Sledge

Sledge に触らなくなってしばらくたちますが Sledge 2.0 への要望ということで。

1. デフォルトが .cgi での起動で、URL ごとにファイルをつくらないといけない。
2. スタンドアロンのサーバがない。HTTP::Server::Simple::CGI あたりでスタンドアロンに起動できるようにしたり、FastCGI をデフォルトサポートできるとよいかも
3. sessions テーブルを手動でつくらなければならない。メンドウ。Helper?
4. Config ファイルの命名方法 (_production.pm) や読みわけ (Proj-conf.pl・環境変数) が変態的
5. Hook やプラグインをサブクラスで無効化できない
6. プラグインが実際に "Plug In" でない。利用する側が明示的に利用することを宣言したりしないといけない。利用してもしなくても透過的に使えるとよい。(メソッド提供型のプラグインとそうでないものの分離も必要)
7. MIME タイプを容易に変更できない。Charset クラスの弊害
8. Authorizer クラスの制約がゆるすぎる。ログイン処理をより定型化した実践的プラグインなどが必要
9. 日本発の割りに、UTF-8 や Unicode 文字列をうまく処理できない
10. REST な API や Basic 認証、XML-RPC、Atom などをうまく処理できない
11. Model の制約が少なく、一から記述することが多すぎる。CRUD や Scaffold 相当の処理はデータベースから自動作成できてほしい(プラグインでも)
12. Pages アプリケーションと Context オブジェクトの分離が必要。現状はクラスデータによりアプリケーショングローバルなデータを管理する必要がある。

ここに書いてあることはすべて真ではない(Hack すればできる、とか)ですが、この辺がクリアできてくるとより扱いやすくなってくるかなーと思います。

Posted by miyagawa at 07:44 PM | Comments (0) | TrackBack (0)

Hack: Bookmarking Times

1日のうちいつ、はてなブックマークや del.icio.us でブックマークしているかを視覚的に見てみる Hack (mashup)。

これらのソーシャルブックマークは自分のブックマークリストを RSS で出力しています。ということで、gorou さんのやっている RSSTIMES に、このフィードを食わせてみる。はてななら http://b.hatena.ne.jp/{username}/rss、 del.icio.us なら http://del.icio.us/rss/{username}

僕のでやるとこんな感じに。

Bookmarking Activity

まだ数日のしかでていないので、かなり偏っていますが。。。 RSSTIMES は履歴をどこまでトラックしてくれるのかわかりませんが、こうしてビジュアルで自分のアクティビティが見れる(Data Visualization)のも面白い Mash-up のひとつでしょう。

UPDATE: RSSTIMES は履歴は拾ってくれないみたいです。ということで、件数の多い del.icio.us (30件) のほうでグラフを作り直してみました。はてなのほうは opensearch タグが入っていたのでページネーションもできるのかなぁ。

UPDATE2: はてなは ?of=20 または ?page=2 でページネートできるらしい。FeedBurner の FeedSplicer とか CPAN の XML::RSS::Aggregate とかで 1-5 ページまで結合、とかすれば 100 件分で表示とかもできますね。

Posted by miyagawa at 02:34 PM | Comments (1) | TrackBack (0)

November 03, 2005

Shibuya.pm Tech Talks #6 終了

Shibuya.pm Tech Talks #6 無事終了しました。

今回も人が多かった。。。登録が120で、それ以外にもスピーカーや裏口(w があったんですが、みんなサボらずにきてたみたいで、会場がいっぱいになってしまいました。

プレゼンもバラエティに富んでいて面白かったです。ただ30分x6 は多いですね。5が限界かな。会場でも言いましたが次回は違った形のイベントになると思うので(水面下で計画進行中)、また遊びに来てもらえればと思います。

レポートは エントリ へのトラックバックや僕の shibuya.pm タグ (del.icio.us, はてなブックマーク) でキャプチャしておきます。

Posted by miyagawa at 01:00 AM | Comments (0) | TrackBack (0)