昨日は、Rails 勉強会@東京第 22 回に行ってきました。半年ぶりくらいの参加でした。

この勉強会は昼ごろに集まって、やりたいセッション(合計 5 ~ 6 個)を出し合って、前後半それぞれ 3 ~ 4 個のセッションを行うという形式になっています。参加者は、興味のあるセッションに参加します。私は前半は「よろず悩み相談室(?)」、後半は「Finder の実装(render_component が使えないからもっと良い仕様を考えよう)」に参加しました。正直、Ruby にも Rails にも詳しくない私にとっては何を聴いても勉強になります。

前半でおもしろかったのは、with_scope に関する不満でした。要約すれば、with_scope をネストして掛けたいということでした。「blog.user.blogs」というような記述をする時に、blog を検索するのに使った条件を、blogs にもつけたいということでした。(これはこれで関連の意図と違ってしまうので、with_scope の現在の仕様は納得感がありますが、こういう検索を楽に行う機能があったらいいというのは私も賛成です。)ストアドプロシージャで解決するという話は、もっと簡単な方がいいなぁと思いました。なんか誰かが作りそうですけど。

後半は、render_component の改善案についてでした。render :partial の不満点かもしれません。問題点は、二つ。一つは、render_component が遅いこと。もう一つは、render :partial を実行する際の find 関係の処理を記述する場所が欲しいというものでした。後者の不満点を解決するのが render_component ですが、前者の問題で使えません。render_component は Kodougu でも、一部使っています。(メタメタに言われている機能なので、積極的には使ってないですけど。)この話を聞きながら、こっそり Rails のコード(ActionPack)を読んでいました。話についていくのがやっとですが、そこそこ追えるようになってきたかも・・・。

終了後は懇親会へ。一次会はもんじゃ、二次会はさくら水産でした。いろいろな話をした気がしますが、よく覚えていません。(^^; こういう勉強会に顔を出すとみなさんよく勉強されているので刺激を受けます。私も頑張らないとナー。

Posted by あかさた
Rails 勉強会用ポジションペーパです。念のため以下に貼っておきます。

PowerPoint2007 形式
PNG 形式

Posted by あかさた
Kodougu は、こちらの手順で国際化しています。Rails で国際化するのによく使われる Ruby-GetText-Package ですが、PC を新しくしたら、ちょっとはまってしまいました。Windows Vista 上で rake updatepo したら、msgmerge が見つからないというエラーが出ました。前のマシンでは GTK+ をインストールしていたのでこの辺の設定をしていたのですが、今回はまだやっていないことに気がつきました。なんという間抜け。(--;

以下を参照しつつ、対応しました。
http://www.yotabanana.com/lab/20060910.html

新しい PC をセットアップすると、何かしらミスをしますね。。。orz

Posted by あかさた
shi3z 氏のマシン語関係のエントリを読んでいたら、久々にアセンブリ言語で書かれたプログラムを読みたくなったので、かつて自分が書いたコード(Delphi のインラインアセンブラですが)を読み返していました。まだ書けるかどうかは怪しいですが、読むことはできるようです。10 代のころにやったことはなかなか忘れませんね。

さて、shi3z 氏の言わんとしていることはわかりますが、IT もこれだけ複雑になると、「××が必須」というのはなかなか難しくなるのではないかなと常識的な反応をしてみます。SE なら、会計知識だったり、物流の仕組みだったり世の中のことを知っているほうが重要な場合もたくさんあります。

思うに、システム作る人ってあまり生き残らない気がするのです。パッケージを利用したり、SaaS(この言葉自体は微妙ですけど)だったり。SE の仕事は何を使えば業務が遂行できるか判断するのとツールのカスタマイズが主な仕事になるのではないかとさえ思います。組み込みやゲームは違うかもしれませんけど。もっともそういう人は、SE じゃなくて IT コンサルとか名乗っていくのかもしれません。

パッケージや既存システムに問題があったらサポートに連絡です。これは MySQL だって一緒です。大体、企業でオープンソース製品が話題になるのは、オープンソース製品が重要というよりは、製品サポートビジネスが立てたい人たちが仕掛けているところもあると思います。コードの中身が公開されていて安全ですよ、しかも弊社のサポートがあるので何があっても大丈夫です、みたいな感じで。

結局サポートに頼るなら MS だっていっしょじゃん!
# パッチリリース速度なら MS だって OSS に負けてないし。

そういうこともあるのか、昨今の SE はアセンブリ言語どころか、複数の言語を操れない人さえいます。プログラミングわからない IT コンサルを何とかしてくれという人もいますが、彼らは彼らでないと困る様々なスキルを持っています。

この手の議論は、SE は理系出身でないと務まらないかどうかという話題に近いと思います。これだけ複雑化してきた世の中なら、お決まりの文句になりますが、「いろいろな人が必要なんだから、それぞれの専門を尊重しながら仕事しましょうね」ってことになりますかね。何かひとつふたつベースになるものを身につけてくださいってことで。(で、これらの人たちがコミュニケーションするにはモデリングが欲しいよねってことで、Kodougu をよろしく!)

でも、作る側に残りたいのなら、アセンブリくらいやっとかないとね。というわけで、MySQL とかの中の人になりたい人は必須でしょう。

Posted by あかさた
業務用途でRubyを使う上での課題という記事を読んで、Ruby を楽しさで図ってはいけないと思いました。この話自体は、ささださんの成果報告会のパネルネタなので、私はリアルタイムに聞いていたわけですけど、そのときは感じなかった違和感を記事から感じてしまいました。

今 Ruby が楽しい理由は、Ruby の本質とは関係ないところにあるような気がしています。

パネルディスカッションで印象的だったのは、楽天の森氏も、CTCの小島氏も“Rubyの楽しさ”を強調したことだ。小島氏は言う。「Rubyを使うようになってから、プログラマが幸せそうに働いているんですよ。このインパクトは大きい。朝から黙々とキーボードを叩いている姿は、今日も会社に行くの嫌だなと思うのとは大きな違いです」。森氏も異口同音だ。「エンジニアが楽しそうで仕事が活発になった。Rubyが広がることで日本が元気になればいい」。


今、Ruby をやって楽しい理由は三つあります。

一つ目は、Ruby 自身が楽しい言語であることです。書いて動かして試すまでのサイクルが、Java などと比較すると短いです。Python でもいいじゃんって言われそうですが、Python は Ruby のようにさまざまな書き方はできません。(いや、同程度の記述能力は持っていると思うのですが、Python の思想的にそれは合いません。)Perl や PHP は私はコードを見ただけで吐き気がします。マイナーな言語の中には、Ruby と同じ要件を備えた言語もあると思いますが、メジャーな言語では Ruby こそが楽しいプログラミング言語といえるでしょう。

二つ目は、つまらない仕事は Java プログラマ(C# プログラマでもいいが)がやってくれていることです。言い方は悪いですが、つまらないシステム開発は、言語を何を選んでもつまらないのです。

三つ目は、Ruby はまだコモディティ化していないので、Ruby をやることによって注目を集めることができることです。とかく、日陰者になりやすいプログラマが、光を浴びる良いチャンスです。また、皆が知らない新しいことをやるのは楽しいものです。

さらにもう一つ言うと、今 Ruby をやっている人は Ruby 好きの人が多いでしょうから、楽しくて当然でしょう。もし、あなたが Ruby から楽しさを得ようとしているのであれば、上記の三つを良く考える必要があります。一つ目にコミットできているなら問題ありません。二つ目、三つ目の理由が隠れているとすれば、引き際が肝心です。特にこれから参入を考えるなら、引き際を誤る可能性があります。(だからといって、つまらなくなるというだけで実質的なデメリットは何もありませんけどね。)

Ruby は楽しさだけで図ってはいけません。IT エンジニアの全てがプログラミングが好きなわけではないし、ビジネスなので楽しさ以外のメリットをちゃんと考える必要があります。

という私は Ruby 好きですけど。

Posted by あかさた
何人かにはお話させていただきましたが、Kodougu の IE 実装は Firefox の 1/10 位の速度です。通信による遅延と思っている方も多いようですが、インターネット上でも Firefox ではそこそこ軽快に動作します。

Kodougu の IE 実装がしょぼいからですが、VML のような先があるのかどうなのかわからない技術のパフォーマンスをチューニングするのは、なかなかモチベーションが上がりません。そこで、Silverlight を使おうかと考えています。おそらく、今後の IE 上のリッチなコンテンツは Silverlight に収束していくでしょうし、新技術との格闘なら私のモチベーションも上がりそうです。(私が Flash にしない理由は・・・Silverlight のアーキテクチャを調べてください。)

とはいえ、パフォーマンスの問題、既存の Kodougu の実装との整合性など問題は山積みです。そもそも実装できるのかどうかすらわかりません。年内リリースを目指して実装していくつもりですが、当面は調査を行います。

Posted by あかさた
コメントが書き込めなくなっていました。DB のスキーマがおかしくなってました。orz もう修正したので書き込めるようになっていると思います。

書き込もうとして書き込めなかった方は申し訳ありませんでした。m(_~_)m
[雑談]

Posted by あかさた
昨日(9/7)、2006 年度下期未踏ソフトウェア創造事業の千葉 PM 成果報告会で、私の未踏の成果報告をしました。私の資料はこちらからダウンロードできます。

未踏は、一年弱(2006 年 11 月後半 ~ 2007 年 9 月上旬)程の期間でしたが、本当にいい経験になりました。成果報告会も、皆様のお力で素晴らしい内容になりました。

一日の様子をまとめましたので、ぜひともご覧ください。

■ 2007/9/7 発表会の様子

○ 9:00 朝礼
台風。強烈な雨、風のなか、千葉 PM 成果報告会の関係者が一人、また一人と東工大大岡山キャンパスに集まってきました。栗原さんの音頭のもと、会場の準備、報告会の進行の打ち合わせを行いました。

「こんな風雨の中、お客さんが来てくれるはずないよなぁ・・・。」
などと私はひとりごちていました。

○ 10:00

開会を 10 分遅らせ(予定では 10:00 開始)、お客さんを待つことに。しかし、この風雨の中、ポツリポツリとではありますがお客さんが来るではありませんか。

「SE-PostgreSQL の集客力、恐るべし。」

○ 10:10 頃、千葉 PM による開会の挨拶

○ 10:15 成果発表「SELinuxによるPostgreSQLのアクセス制御強化」

海外さんの発表でした。最初にゲストの方が SELinux の紹介、次に海外さんが SE-PostgreSQL の紹介を行うという流れでした。ゲストの方も含めて話し慣れしていて、安心して聞ける発表でした。海外さんの話によると、この日に向けた特別な準備はしていなかったとのことですが、すでにいろいろなイベントで 5, 6 回 SE-PostgreSQL を話しているとのことでした。確か海外イベントにも行っていましたね。(海外さんなだけに。)

また、確信犯的に時間を延長して休憩時間を侵食したのも、いかにも海外さんでした。(^^;

当日の資料は海外さんのブログで公開されているようです。ぜひ、ご覧ください。

○ 12:00 - 13:00 休憩

○ 13:00 成果発表「Ruby用仮想マシンYARVの完成度向上」

笹田さんの発表。ちょっと駆け足でしたが、YARV(すでに Yet Another ではありませんね)というか Ruby 1.9.1 に関する発表でした。その後、エンタープライズ Ruby のパネルディスカッションでした。個人的には、もうちょっと笹田さんの話が聞きたかったかな。エンタープライズ Ruby のパネルは、それなりに面白かったですが、もう一つ何かを突き抜けないと興味深い話は出てこないような気がしました。

おそらく集客的にこの辺がピーク。私は数えていないのでわかりませんが、会場には 100 人近くいたのではないかと。

○ 14:30 成果発表「ウェアラブルコンピューティングのためのイベント駆動型ミドルウェア開発」

寺田さんの発表でした。有名な塚本教授がビデオで参戦。私はウェアラブルは詳しくないのでよくわからないところもありましたが、面白い発表でした。意外と健康志向(?)なのには笑いました。

○ 15:45 成果発表「Web上で動作するモデリング環境 Kodougu の開発」

私の発表でした。かなり緊張しましたが、オブジェクトの広場から助っ人を呼んでなんとか乗り切りました。喋りがへたくそな私ですが、しゃべりなれている広場の方を混ぜ込んで、私の短所を埋めていただくという作戦がうまく行ったようです。千葉 PM からは、広場の方は喋りが本業なんじゃないかというお言葉をいただいたほどでした。(^^; 広場の皆様、ありがとうございました。また、質問時間を多めにとったため、発表の中では一番観客からフィードバックを受け取ることができました。私の発表を目当てに来てくださった方もおり、改めて未踏とはさまざまな責任や期待の上に成り立っているものだという認識を持ちました。

気がつけば、成果発表のトリ。でも、一番ひよっこ。ま、未踏の目的は人材発掘です。他の採択者はすでに有名(もしくは相応のポジションにいる)で、発掘に値するのは私くらいなんですよね。そういう意味では、未踏らしい並べ方になりました。

○ 17:00 パネルと PM 講評

千葉 PM と 2005 年度上期のメンバーによるパネルディスカッションでした。昼と夜、個人と組織、趣味と仕事、さまざまな観点から未踏やオープンソース開発を語ってくださいました。とにかくモデレータの栗原さんがうまい。良い雰囲気の中、めでたく成果報告会を終了。

○ 18:00 閉会

お客さんが帰った後、片付け。

○ 18:30 打ち上げ

私が幹事でした。私が一番年下であることに気がつきました。やっぱ、下っ端担当か。(笑)

○ 21:00 広場飲み

打ち上げ後、成果報告会に来たオブジェクトの広場のメンバーと飲みに行きました。オールを誘われましたが私は終電で撤収。長い長い一日が終わりました。

■ まとめ

XDev という強烈な裏番組(こっちが裏だってうわさもありますが^^;)、台風直撃と、凄まじい逆風の中、素晴らしいイベントになりました。ご参加くださった方、参加できなくても興味を持ってくださった方、関係者の方、本当にありがとうございました。

Posted by あかさた
本日の成果報告会の資料です。ppt ではなく、Web ベースの資料になっています。Firefox の最新版かつ画面サイズ 1024×768 で F11 キーで画面最大化したときの表示に最適化されています。IE ではプレゼン資料は綺麗には表示されません。

暫定的にここにおいておきます。
http://www.akasata.com/20070907/

また、以下からダウンロードできます。
http://www.akasata.com/mitou/presen/mitou_20070907.lzh

Posted by あかさた
Kodougu のサイトに RSS をつけました。Kodougu の最新ニュースや機能拡張に関する話題はこのブログではなく、Kodougu のサイトから配信されます。

最近、Kodougu にシーケンス図がついたり、要素の色が変更出来るようになったり、要素のに画像を貼れるようになったり、Kodougu はめちゃくちゃ進化しています。そんな情報を配信できればと考えています。

Posted by あかさた