2008年06月24日

「iPhone開発者支援プログラム」に興味あり

日本でのiPhone発売も間近、期待と批判と思惑が渦巻くさなか、興味深い話が舞い込んできた。

そこで、読者に質問だが、もし私が「iPhone開発者支援プログラム」のようなものを立ち上げたら、エンジニアとして参加することに興味のある方は何人ぐらいいるだろうか。

「iPhone開発者支援プログラム」に興味がある人、この指とまれ

はい!呼ばれたので手を挙げておきます。興味ありです。ちょうど、どんなことができるだろうかとSDKで遊んでいたところにタイミング良すぎです。プラットフォームがMacOSで且つ、ObjectiveCを操る能力を要するという参入障壁の高さを指摘する声はあるものの、競合が比較的少ない今こそが、参入したもの勝ち。一発当てられるチャンスも大きい。もっとも、コケるリスクも大きいわけですが:p

今、作り手にとって最も面白そうで且つチャンスも大きいのは、間違いなくiPhoneでしょう。PCとも、日本でいうところの「ケータイ」とも違う未知の分野ながら、webのトレンドを、人々の生活を、ひいては世界を変えてしまう力を秘めていると思う。僕としては、その一翼を担う人でありたい。だから、この話は非常に興味があります。ぜひ参加させてください。

posted by cesare at 22:43 | Comment(0) | TrackBack(0) | 技術関連

2008年06月23日

RubyKaigi2008に参戦

去年に引き続いて、今年もRubyKaigiに参戦してみた。0th dayこそ欠席だったものの、丸二日間にわたってRubyistの皆さまと交流できたのは、貴重な体験でした、はい。

印象に残ったセッションをいくつか。

RSpecによるRailsアプリケーションのBDD、事例報告 (Yuguiさん)

傾きかけたプロジェクトの火消しにRSpecによるBDDを突っ込んで立て直した体験談の紹介。事例の紹介も興味深い内容ながら、その後の質疑応答で「テストなんてやってないでコード書く方に力を入れろ、とか言い出す上司に上手く説明する方法は?」という問いに、「お前は何も解ってないのだから黙っていろ、と言いました」との答えに万雷の拍手が。

The future of Ruby in Mac OS X (Laurent Sansonettiさん)

Apple の中の人による、RubyCocoaとMacRubyの紹介。ちょうど最近、Cocoa/ObjectiveCを勉強中だったこともあって、興味深く聞く。RubyとObjectiveC、別の言語ながらあまり違和感ないのが意外。RubyCocoaだと、Ruby側からはObjectiveCのクラスにproxy経由でアクセスするので遅くなりがちだが、MacRubyだと直接ObjectiveC側に触れるのでパフォーマンスが良いらしい。これは凄そう。でもiPhoneAppの開発には使えないみたい。惜しいな。

基調講演 (Matz師)

優れた人達が集まってくる場所「梁山泊」。プログラミングの世界にもそんな場所が存在するのだろうか?という切り口で、LispとかSmalltalkを振り返りつつ、今はRubyが梁山泊な場所になりつつあるような気がするかも、という話。Rubyをキメると世界が変わるらしい:)

ガラパゴスに線路を敷こう: 携帯電話用RailsプラグインJpmobile (しだらようじさん)

以前に使おうと検討してました、jpmobile。残念ながらプロジェクトの方がポシャってしまって日の目を見ませんでしたが(涙)。ケータイ向けサイトを作るための機能が、これでもかとばかりに網羅されたライブラリ。ケータイ業界はカオスなだけに、こういう地道な作業は貴重です。素晴らしい。

他にも興味深いトピックが山盛り。今年は2セッションが同時並行で進む形になって、どちらを見に行こうか迷うこともしばしば。それにしても、発表者の皆さんのエンターテイナーぶりに磨きがかかってて、見てるだけでも楽しいこと。今年も笑わせてもらいました。あと、懇親会にも参加してみた。やっぱり、こういうイベントでは話を聞いているだけじゃなくて、来ている人達と話す時間が大事。Rails勉強会で知り合った人たちとか、1,000speakersで見かけた人たちとか、いろんな人に話を聞かせてもらえたのが貴重でした。

さて。さんざん楽しんだところで次の目標。来年は、あっち側にも立つ。今からどこで笑いを取るか考えよう(違)。

posted by cesare at 23:09 | Comment(0) | TrackBack(0) | 技術関連

2008年06月07日

Encyclopedia. 安藤裕子

まだ内容を知らないでいたい人は、ネタバレにご注意。

chronicle.
chronicle.
posted with amazlet at 08.06.07
安藤裕子
カッティング・エッジ (2008-05-21)
売り上げランキング: 17468

ツアー初日に参戦してきた。「六月十三日、強い雨。」からスタート。最新作の「chronicle.」でも冒頭を飾るこの曲に象徴されるように、今回のツアーは落ち着いて歌を聴かせる曲が多め。新作の曲と、ちょっと懐かしめの曲がいくつか。意外なことに、前作の「shabon songs」からの選曲はなし。ちょっと残念。

とは言え、抜けの良い声は健在でなにより。曲間のMCで素に戻るとさっきまでとは打って変わって、ちょっと天然気味な女の子に変わるのも健在でなにより。聴いていると何だかよく分らないけど懐かしい気分になってくる「うた」も健在でなにより。前回のツアーでも感じたのだけど、彼女のうたには、去り行くものたちへの愛惜を呼び起こすような何かを持っていると思う。うたを聴いていて、小学校時代の記憶とか、今はもう存在していない、昔の自宅の記憶とかが甦ってきてしまった。彼女の母校の思い出につくられたという「鐘が鳴って 門を抜けたなら」が心にしみます。またちょっとアルバム聴きなおしてみよう。

posted by cesare at 22:51 | Comment(2) | TrackBack(0) | 音楽

2008年06月01日

"Beyond Standard" 上原ひろみ

「Standard」とか言いつつも、ちゃっかりJeff Beckの曲が紛れ込んでたりするあたりが、ひろみちゃんワールドなわけですが:) 新宿タワーレコードでトークイベントがあるという噂を聞きつけて、裏話&サインまでもらってきましたよ。

Beyond Standard, with autograph

古いレコード風のノイズ混じりなイントロに導かれた2曲目「Softly As In A Morning Sunrise」。あれ?どっかで聴いたような、と思ったら、前作「Time Control」の終幕「Time's Up」と同じ展開が。前作が途中で「時間切れ!」とばかりにバッサリ打ち切られていた場所の、その続きが明らかになるという演出。本人の解説によると、前作を作った時点で、次のアルバム(つまり今作)の構想が決まってたとのこと。前作をあのように締めたのは、タイムカプセルを仕込んだようなものなのだとか。で、今作の冒頭でそのタイムカプセルを開けて、2つのアルバムに繋がりがあることを暗示したらしい。

そういった細かい演出を入れるのは、彼女が作ってる音楽自体にも見られる傾向ではあって。「Led Boots」にもまた仕掛けが。ひろみ嬢曰く、オリジナルが収録されているアルバム(「Wired」)を聴きすぎて、CDが音飛びするぐらいになってしまったのだとか。その音飛び感を自分たちの演奏にもしっかり反映してみたとの話。なるほど、妙なアレンジになってる箇所があると思ったら、そういうことでしたか。この箇所はこだわりがあったらしく、メンバーに「もっとハネた方がCDの音が飛んでる感じが出るから」とか指示をだしてたんだそうで。

そんな遊び心満載のアルバムは、ライヴを観たことのある人にはすっかりお馴染みの、あの満面の笑顔と、なんだかよく分からないけど元気が出てくる音に仕上がっております。お勧め。

ビヨンド・スタンダード(通常盤)
上原ひろみ~HIROMI’S SONICBLOOM
UNIVERSAL CLASSICS(P)(M) (2008-05-28)
売り上げランキング: 21198
posted by cesare at 21:06 | Comment(2) | TrackBack(0) | 音楽

2008年05月16日

YAPC::Asia 2008に行ってきた

Perlとの付き合いは社会人歴とほぼイコールなので、かれこれ10年以上。最近はメインの言語をRubyにしているので、最新の動向はあまり追えていなかったのだけど。一度は生でLarryさん見てみたいなー、という不純な(?)動機で参加した次第。

国際的なコミュニティのイベントだけあって、海外のgeekな人たちも多数参加。長髪率高し。あと、海兵隊あたりにいても違和感のない風貌の人とか、髪が紫色の人とか。敢えて誰とは言わないけど。知らない人が見たら異様な集団だったに違いない:p

印象に残ったセッションをいくつか。dankogai氏の「Perl as a Second Language」。メイン以外にも別の言語を勉強するのは、翻ってメインの言語自身をより深く知ることができるからだ、という話。この点は同感。言語を一つしか知らないと、視野が狭くなりそうな気がする。タイプの違う言語をいくつも、下手の横好きでつまみ食いしている立場からは、共感できるところが多いです:p

Ingy döt Net氏の「JavaScript Love for Perl Hackers」。vim好きで、プレゼン用スライドもKeynoteとかじゃなくてvimで作ってしまう人のお話。Vroomって名前はKingCrimsonと何か関係あるんだろうか?訊いてみれば良かった。JavaScriptでお馴染みのjQueryをPerlに移植したpQueryとかも紹介。これ便利そう。Rubyだと似たようなのにhpricotとかがあるけど、どっちが使いやすいかな?後で試してみる。

nothingmuch氏の「Moose」。最近よく見かけるようになったので、どんなものかと話を聞きに。PerlでOOやるときの面倒な部分を全部吸収してしまって、クラスを定義・実装するコードがかなり短くて済むようになってるのがポイント高い。コードの簡潔さはRubyに匹敵するぐらい。いや、融通の良さも考慮すると、それ以上かも。要注目。これも今度使ってみる。

ところで、Larry Wall師はどうだったかと言うと、話の内容は高度すぎてついて行けませんでしたorz Perl6では言語の構文規則そのものを操作できるようになってるらしいことが、かろうじて解ったぐらい。たぶん、その気になれば別の言語が作れてしまうのでせう。ちなみに、セッションで話す以外の、普段の(?)Larryさんはもの静かで穏やかな雰囲気の人でした。geekっぽく、常に頭の回転がレッドゾーンまで振り切れてて物凄い勢いで話してるようなタイプの人を想像していたのだけど、これは意外。

とまぁ、そんな感じで密度の濃い二日間でありました。ちょっとだけ知り合いが増えたり、以前の同僚と再会したりという、人の繋がりもあり。いろんなヒントをもらったので、これから順番に消化していこうかと。

posted by cesare at 23:01 | Comment(0) | TrackBack(0) | 技術関連

2008年04月30日

JJUG収穫

JJUG Cross Community Conferenceに参戦。ここ最近、カンファレンスとか勉強会の類いに片っ端からエントリーしております。今回の最大のお目当ては、ひがやすをさんの講演ではあったけど、それ以外にも収穫がいろいろ。

まず、「さらば JAR、ようこそ JAM! Java 7 モジュラリティ、やさしく教えます」と題した、Java7でのパッケージ周りの方向性について。以前によくJavaで開発していた頃に何が面倒だったかって、CLASSPATHの取り扱い。必要な.jarファイルを全部並べたらもの凄い長さになってたり。このあたりがやっと改善されるらしい。なんでも、ファイル命名規則が決まっていて、モジュール名-バージョン.jamにするんだとか。モジュール名もお馴染みの逆ドメイン記法で、例えばcom.example.foo-1.0.0-RC1.jamみたいな感じ。ついでに依存関係とかもメタデータとして書けるように拡張されて、必要なモジュールが自動的にロードされるようになるらしい。これは素晴らしい。あ、でもまだ仕様が全然確定じゃないんだそうで、フタを開けてみたら全然違ってたって落ちになる可能性もまだあるそうで。ご注意。

次にLiftweb/Scalaの話。参加してみたら満員御礼でびっくり。Scalaってこんなに注目されてるのか。当のスピーカー本人が一番驚いていたかも。確か一つ前の号のWEB+DB pressで特集が組まれていたから、そこで注目を集めることになったのかも。内容はLiftでの簡単な処理を作るまでの流れを順を追って説明したり。View FirstなMVC(?)というのは珍しいかも。確かに、Controllerに1ページ分の処理が一緒くたになったりしないという利点はありそう。ただ、snippetの方がコードとHTMLが一緒になっているあたりが若干気持ち悪い。慣れの問題かもしれないけど。

立て続けにScalaの基礎の話に参戦。こちらは言語仕様を眺めてみるあたりがメイン。あと、Erlangと比較しながらのactorクラスの書き方とか挙動を比べてみたり。ここ最近、HaskellとかErlangとかの話が、Javaメインの人の間でも普通に受け入れられるようになってきている気がする。みんなそろそろ新しいものが欲しい時期に来ているのかも。Javaもなんだかんだで10年以上経ってるし。言語としてのScalaの印象は、OOと関数型の美味しいところを巧くまとめてるな、というところ。関数型の簡潔な書き方ができる一方で、Haskellほどには厳格になりすぎずに、OO風にオブジェクトを変化させながら処理を進めていくような書き方にも寛容だったり。現実主義っぽい印象。

トリはひがやすを氏による「ITゼネコンをぶっつぶせ」と題したディスカッション。内容はタイトルほど過激でもなくて、SIerに蔓延ってる悪しき慣習を打破して体質を変えていこう、という前向きな話。普段からSI屋さん批判をブログとかで書いているひが氏の得意分野(?)。鍵は「Programming First Development」。要件定義とコーディングの狭間にある、コードと同等の内容を自然言語で記述する「プログラム設計書」を書くなんて無駄、その代わりに詳細設計のフェーズを実際にプログラミングしてプロトタイプみたいなものを作りつつ、依頼主とのレビューを繰り返すような方法にした方が良くない?という提案が、今回の話の核心。ほんとに上手く行くかはともかく、心情的には賛成かな。あと、やっぱり人を育てるってところが肝だと思いますです。今のSI業界って、話を聞いている限りだと人を育てる余裕を失ってるところが多そうだし。

とまぁ、そんな感じのカンファレンスでした。丸一日入り浸ってたけど、貴重な情報もあり、考えさせられることありで大いに収穫がありましたです。さて。これをどうやって本業にフィードバックしようか。

posted by cesare at 23:22 | Comment(0) | TrackBack(0) | 技術関連

2008年04月23日

Twitterがついったーに

しばらく続いていた日本語化対応が完了したようで、今日から日本語で表示されるようになっていた。まずは、リリースおめでとうございます&お疲れさまでした。 > 中の人のみなさま

Followしている人たちの感想を見ていると、やや違和感を持っている人がいるみたい。急に切り替わったことと、広告が入るようになったあたりがポイントになっている模様。ちなみに、僕の使ってるブラウザだと見事にAdBlockされていて、中身が空の枠だけになっているということは黙っておいた方が良いのでせうか?:p

表示言語を決めるルールは、ざっと眺めてみた感じだと、HTTPリクエストの
  1. Cookie「lang」の値
  2. Accept-Languageの値
を順番に見る実装になっているっぽい?

このうち、Cookieの方は「設定」ページで日本語表示に切り替えるとセットされるのだけど、有効期限が入っていない模様。

Set-Cookie: lang=en; path=/

設定を変えてもブラウザを再起動すると元通りになるのは、ここが原因では? とりあえずは、expiresを明示しておいてはいかがでしょうか?

でも、どちらかと言うと設定した表示言語をサーバー側に持つような実装の方が有り難いかな。今のやり方だと使うブラウザごとに設定しないといけないし。ちょっと面倒に思えますです。

とはいえ、Twitterお気に入りだし、ローカライズを始めとして、より広い層に使いやすくしていくという方向は歓迎です。今後の発展に期待。

posted by cesare at 20:36 | Comment(0) | TrackBack(0) | 技術関連

iGoogle ART CAFE

iGoogle ART CAFEに遊びに行ってきましたよ。 ART CAFE by Google

期間限定なので、一度ぐらいは覗いておこうかと。明日で終わりだし。

店内の様子はこんな感じ。

in the cafe

客席の半分ぐらいは普通のテーブルで、残りの半分はノートPCを並べてあるあたりがGoogle。とりあえず何か食べたかったのでPCのない席に。昼前に着いたので、まだ人も多くなくて好きな席に座れました。BGMの選曲もかなりお洒落。Steely Danとか。彼らの音楽はGoogleによく合う。理知的なところが似てるのかな。

「Couleur de Google」を頼んでみた。 Couleur de Google

せっかく来たので、アーティストテーマも設定してみることに。一通り眺めてみて、隈 研吾さん作のHIROSHIGEにした。店員をつかまえてグッズをもらう。どんなグッズがあるのかと思ったら、店員がノートPC抱えて戻ってくる。見るとYouTubeの動画をいくつか配置したページが。この中から一つ選ぶべし、と。「?」と思いつつも適当に選ぶと、その動画を再生。何を見せられるのかと思ったら、ポストイットにグッズの名前が手書きされる映像が。なるほど。細かいところまでGoogleらしい。ちなみに、もらったグッズはオリジナルミラーでした。

とまぁ、そんな感じで、お洒落に見せかけつつも細かいところに遊び心を配置したカフェでありました。

posted by cesare at 18:45 | Comment(0) | TrackBack(0) | 日記

2008年04月21日

Rails勉強会@東京に参加

Rails勉強会に参加してきた。今回の会場は、虎ノ門近くの伊藤忠テクノソリューションズさんのオフィスにて。ここに来るのは2度目。この前はRuby検定のときでした。あ、そうそう、検定は落ちましたorz。という話はさておき、会場提供ありがとうございます > CTCのみなさま。

今回のお題は
  • Scaffoldの半歩先へ
  • GITの話
  • Passengerの話
  • rake taskの話
  • Railsアプリケーションの運用周りの話
というラインナップ(抜けてないよね?^^;)。僕はと言えば、GITとrake taskのセッションに参加。

まず、Rails本家で採用になって注目を集めるGITの話ですが。とりあえず話を聞かせてもらおうかと気軽に参加してみたは良いけど、説明ができるぐらいに詳しい人はいないようなので、人柱に手を上げてみる。PCを部屋にあった大型モニターに繋いで、全員が同じ画面を見ながらインストールから簡単に使ってみるまでを試してみようということに。そうそう。気になるGITの発音は「ぎっと」が正解だそうです。「じっと」じゃないらしい。

インストール自体は、本家からソース取ってきて configure & make で特に問題なく片付ける。インストール先に夥しい数の git-xxx コマンドが置かれている(しかも大半がハードリンクしてる)のが気になる人が多い模様(笑)。各コマンドの使い方とかは僕自身も全然詳しくないので、Git - SVN Crash Courseあたりの解説を眺めながらローカルでレポジトリ作ってみたり、cloneしてみたりブランチ作ってみたりしながら何が起きるのかを確かめていく感じ。簡単に使ってみた感想としては、一人で自分用ファイルの履歴管理とかするのには手軽に使えて便利だけど、複数メンバーで共同作業するときは作業手順を予め合意しておかないと収集がつかなくなりそうだな、と。Railsの中の人とか、どんなルールにしてるんだろう?

後半セッションは、瀧内さんによる rake task の話。Rails trunkに入っている新しいタスクを覗いてみようという趣旨で。どうやら migrate 周りの方針が少し変わったようで、db/migrate/配下に自動生成されるファイルのプリフィックスが日時情報っぽい名前になっているという予想外の展開が。今までだったら 001_create_xxx.rb みたいな名前だったのが、20080420070446_foo.rb なんて感じのファイルが生成されるようになっております。確かに時系列に並ぶようにはなるけど、ちょっと気持ち悪いかも。で、おそらくこの変更と関連して、time:zones:*タスクが新設されている模様。きっと、タイムゾーンが違うところにいる人同士での作業に配慮したんではないかと思われますが、敢えて単純な通し番号方式をやめて日時情報形式にしなければならなかったのかは、まだよく解りません。謎。

その他には、gems:*タスクが増えていて、ちょっと気になるところだったので掘り下げてみることに。どうやら、config/environment.rbに例えば、
Rails::Initializer.run do |config|
  config.gems = [
    Rails::GemDependency.new('oauth'),
  ]
  # 以下略
みたいに書いておいて rake gems:install とすると自動的に必要なgem(上の例だと oauth)をインストールしてくれたりするみたい。詳しくは瀧内さんが書いてくれるはず:)

という感じで、いろいろと勉強になりました。GITはちゃんと理解して使えるようになっておきたいな。早めにベストプラクティスを探っておきたいところ。近々にまたエントリー書きます。

posted by cesare at 00:26 | Comment(0) | TrackBack(0) | 技術関連

2008年03月25日

明治通の桜

日曜日にLiquidroomに行った帰りに、明治通の桜が良い感じに開花してるのを見かけまして。天気も良いので、改めてカメラ持って散歩に出かけてみた次第。場所は、渋谷橋の交差点から広尾一丁目の間ぐらい。明治通の北側の歩道だけ桜並木になってます。ちょっと調べてみたら、どうやらここの桜は例年早咲きみたい。既に満開になってる樹もあるので、見頃は今週中だと思われます。

sakura@Yebisu #1, 2008.03.25
posted by cesare at 20:41 | Comment(0) | TrackBack(0) | 日記