最新 追記

Matzにっき


2007年03月01日 [長年日記]

_ [Ruby] Rubyist Magazine - Rubyist Magazine 0018 号

出た。

私の担当分、「多言語探訪」は今回C++。高橋さんの「巻頭言」でも突っ込まれていたけど、意外と好意的な記述になったと思う。

まあ、要するにC++ってのは現時点ではもっとも進んだ総称型プログラミング言語になっており、それは面白い可能性を提示しているということだと思う。

個人的には、いっそC++テンプレートだけを持つ、 組み込みとかは切り捨ててGCなどを持つ抽象度の高い総称型プログラミング言語がそろそろ登場しても良いとは思うけどね。

_ ストレートタイプのスマートフォン「NOKIA E61」レポート

NOKIAのSIMロックフリーのスマートフォン。 FomaやSoftbankのSIMカードを入れるとちゃんと電話として使えるらしい。

ちょっと欲しいかも。でも、画面(の画素数)が小さいかなあ。

_ ITmedia エンタープライズ:TopCoderで世界と渡り合う日本IBMの異才 - 夷藤勇人

今までTopCoderって知らなかったんだけど、 そこで頑張っている日本人プログラマの話。

有名になることは結構重要で(それは分かる気がする)、 TopCoderではロシア人がそれを目的に結構真剣に取り組んでいるというのが印象的。

_ My Sleepless Nights in the Big Apple: Apple、サブノート市場へ再参入へ

サブノートのMacBookがでるかも、という話。

たまにMacBookが魅力的に感じることがあり、 サブノート好きの私としては心動かされるのだけど(最近は数日前)、 考えてみれば、そのたびに断念している理由は あのパッドなので、これは変わらないような気がする。

_ ITmedia Biz.ID:失敗しないプロジェクトマネジメント -- Appleやはてな、Googleに学ぶ3つのヒント

  • 死守すべき計画を決めない
  • メンバーのやる気に依存しない
  • 変化することを前提にする

考えてみれば、ビジネスなソフトウェア開発だからと言って 「絶対的な計画」が必要なわけではなく、 そのためにプログラマを非人間的に扱う必要もない。

要は思いこみの排除なのだろう。

_ 平成19年度「情報大航海プロジェクト(モデルサービスの開発と実証)」に係る委託先の公募について

「情報大航海プロジェクト」の開発元を公募している。 どこが取るかなあ。

_ [言語] PyCon 2007 Review

PyCon 2007のレビュー。注目すべきはここ。

The keynotes had a strong educational theme: on Saturday morning Adele Goldberg gave a passionate plea for improvements to the USA's educational system.

Adele Goldbergって、あのAdeleだよね。 PyConでなにしてるの? 教育?

Smalltalkの凋落を感じた。勝手な感想だが。

_ [Ruby] deep_science:Re:バザール「オープンソース、そして「Ruby」(前編)」

しばらく前にインタビューをうけたのが公開された。 まあ、あんまり気負わなくて自然な感じのやりとりがまとめられているように思う。 上記リンクは前編だが後編も公開されている。


2007年03月02日 [長年日記]

_ [言語] The Jim Interpreter

組み込みにも使えるスモールフットプリントのTcl再実装。

もともとTclってのは組み込みを目指した小さな言語ではあるが、 コンパイル後のサイズで85kというのは大したものだ。 後でソースも見てみたいものだ。

_ Sun & Users - Solaris 10ファイルシステムZFS誕生エピソード『心を解き放て!』

時代や状況の変化で以前には不可能だと思われていたことが できるようになることってときどきあるよね。 ZFSもそのようなものだということらしい。

この開発エピソードはいろいろと興味深い。

  • 「みんなが無理」と思うことでも改めてやってみようとする技術者
  • それをやらせてみる組織
  • しかも、適当に技術者を引っ張ってこれる(Sunの)技術風土

_ SQLAlchemy - The Database Toolkit for Python

通常の式からSQLを合成するライブラリ。

こういう技術は結構便利だと思う。

_ does it suck?

Love/Hate Ratioみたいなものか。

Rubyは結構高い。Matzも高いが、Larry Wallには負ける。

_ [言語] perl.com: The Beauty of Perl 6 Parameter Passing

Perl6の引数渡し。

  • 文字列の中のブレースがすべて式展開ってつらくないか? 式展開でないブレースを含む文字列はかならずシングルクオートを使えってことか。
  • コロンを前置するとキーワード引数。 ポジショナル引数としても呼べるのかな
  • 可変長引数とキーワード引数の組み合わせとかどうなるんだろう?

追記

Danさんに「そんなことはありません」と突っ込まれた。 これは「シングルクオートを使えってことか」の部分に、「いや、Perlにはシングルクオート以外にもいろいろとクオートがある」というツッコミだと思うので、 ここは「ダブルクオート以外を使えってことか」と言い換えておく。

あっちのコメントにも書いたけど、本質は

ダブルクオートというよく使う文字列の中で、ブレースというよく使いそうな記号で展開してしまうと引っかかる人が多くないか

ってことなのよ。

_ [言語] Weblogs Forum - What Are Your xxx Pain Points, Really?

各種言語で本当に「痛い」点ってなによ、というシリーズ。

Rubyについては、主に「遅い」、「IDEがない」、「native threadサポートが無い」などで、言語そのものに関するものはさほどないようだ。

_ [OSS] 第6回オープンソースサロン

開催された。参加した。

プログラム
テーマ
開発者サイドから見たOSSの利用
話題提供
吉永浩和氏(ログリー株式会社)
内容
「カレンダー2.0」カレンダーサービスの開発者サイドの話
話題提供
奥田佳子(日本証券テクノロジー(株) 新システム開発推進プロジェクト)
内容
証券会社でOSSを利用した開発事例

感想。

  • かずひこくん、ひさしぶり
  • ベンチャー系システムでオープンソースソフトウェアを活用する話。 実践しているというケーススタディとして有用だが、珍しい話ではない。
  • ある種の企業はエンジニアを(私の基準では)人間扱いしていない、ように感じた。 内部統制だとかいろいろ理由はあるだろうけど。 そういう環境でも人は生きていけるんだねえ。 私だったら抑圧されるよりは外に飛び出しちゃうけど。

2007年03月03日 [長年日記]

_ [Ruby] 19 Rails Tricks Most Rails Coders Don't Know

Railsテクニック19連発。

最近1.9で取り込んだto_procとかはともかく、

  • Array#to_sentence

ってのは知らなかった。こういう英語centricなメソッドが豊富なのも Rails(っていうかActiveSupport)の「ブレーキが壊れてる」点だろう。

Ruby本体には取り込まないけどね。

_ [教会] 活動

若い女性を中心にした料理を作る活動。 娘二人が参加。

「豚汁を作る」という話だったが、 巨大な鍋二つぶんも作ってしまって、 みんながおなかいっぱいになってもまだまだ余っている。 どう片づけるか。

明日、教会に来た人で分けるかなあ。


2007年03月04日 [長年日記]

_ [教会] 第一日曜日

ここ数ヶ月第一日曜日の司会が続いていたのだが、 今月はビショップが気を使って代わってくださった。 ありがたい。

残りの時間の多くは、来週のステーク大会のための 配車の手配にかかりっきりだった。数十人単位で移動するのはやはり面倒なものだ。 結構パラメータが多いし。

正直、くたびれた。


2007年03月05日 [長年日記]

_ [OSS] MagicPoint segmentation fault

明日、プレゼンテーションがあるのでそのスライドを準備していたら MagicPointがsegmentation fault。 新しいバージョン(1.12a)をダウンロードしてコンパイルしてみたが やっぱりダメだった。

mgp2psは動くので、明日はとりあえずPDFファイルを作って プレゼンすることにした。

デバッガで実行するとdraw.cのobj_draw()関数で XCreateImage()がNULLを返しているのに、 その内部にアクセスしようとしているから、らしい。

if (obj != NULL) {      /* VFONT exist */
        xim = XCreateImage(display, visual, depth, ZPixmap,
                        0, NULL, width, height,
                        8 << (depth - 1) / 8, 0);
        xim->data = malloc(xim->bytes_per_line * height);

が、追求はここまで。なぜNULLを返すのかわからない。 今まで動いていたスライドでもダメだから、 問題があるのはスライドではなく、おそらくXの設定なんだろうけど。

なにがいけないんだろう。

追記

唯一心当たりのある設定変更であった、/etc/X11/xorg.confの

Section "Extensions"
       Option "Composite" "true"
EndSection

の部分をコメントアウトしたら、ちゃんと動くようになった。 どこがどういう関連を持って動かなかったのかまったく想像もつかないけど。 分かる人が見たら分かるのかなあ。

_ [Ruby] Ruby brightens the NetBeans platform | InfoWorld

NetBeansがRubyをサポートした、という話。 Sunは本気っぽい。

_ [Ruby] マンガで学ぶ♪アリサのネット難解最新用語講座 / デジタルARENA

Rubyが解説されている。しかも、マンガですよ、マンガ。

正直、よくわからないオチであったが、 それは置いておくことにしよう。

_ ベンチャー座|Front Interview アレン・マイナー

ずーっと昔、私は日本オラクルの面接を受けたことがあって*1、アレンとはその時にあったことがある。 ほとんどは仕事の話で、教会の話をひとことふたこと話したような気がする。 あんまり昔なんではっきり覚えてないけど。

*1  で、転職してたら人生変わってたろうなあ


2007年03月06日 [長年日記]

_ [Ruby] 「Ruby開発環境を準備している」,米CodeGearのVice President,Michael Swindell氏語る:ITpro

知らない人はいないかもしれないけど、 CodeGearは、Borlandから切り離された開発環境を提供する子会社。 最近はDelphi for PHPを発表している。

動的なプログラミング言語では,Rubyに注目している。すでに弊社社長のBen Smithを含む上級役員の間で,CodeGearがRubyによる開発のための製品に取り組むことにコミットしている。ただし,どのような内容の製品になるかは現時点では明らかにできない。現在調査を進めているところだ。2007年中にCodeGearのRuby製品を提供できるものと期待している。

すばらしい。特筆すべきは、私がこのニュースを(どなたかのブログ経由で) 日経ITproで初めて知る点である。まあ、そんなもんか。

_ [言語] Programming Erlang

Pragmatic Bookshelfの新作。今度はErlangだ。 現時点ではβ版をPDFで入手できる。

もうちょっとRuby以外の言語の勉強に力を入れたいところではあるのだが、 どうしよう、買おうかなあ。

_ シフトJISを捨てられるか?:ITpro

なんか、途中までは普通のことが書いてあるんだけど、 最後の結論がおかしい。

では,今までのデファクトだったシフトJISはどうだろうか。シフトJISを使うと,(英文混じりの)日本語を表現する場合,そのデータ長はUTF-8/16/32 に比べて短くなる。コンピュータを取り巻く通信環境は高速になり,ストレージは大容量化してきたとはいえ,データ長は短いに越したことはない。シフト JISでもデータ長は文字数に比例しないが,必ず英数字は1バイト,日本語文字は2バイトになる。Unicodeエンコーディングよりも良さそうだが,シフトJISの問題は表現できない文字が存在することだ。裏を返せば,「シフトJISで表現できない文字を使わない」ようにすれば良いのだが,それでは進歩がない。日本語文字列を扱うのに,何か良いエンコーディングはないだろうか。

「短いに越したことはない」というごく弱い理由で、さらに別のエンコーディングの必要性をほのめかさないでいただきたい。ただでさえ日本語を扱えるエンコーディングの乱立に迷惑しているのに(日本語だけで4種類なんて異常だ)。もう、新しいデータはUTF-8でいいよ。

_ Tx: Succinct Trie Data Structure

記憶容量効率の良いトライ実装。BSDライセンス。 しかし、岡野原さんは毎度毎度すごいなあ。

爪の垢を煎じて飲まないとな。

_ How to Play the Homophone Game - eHow.com

以前、「英語ではしりとりできないなあ」と思ったことがあるが、 Homophone Gameはおそらく英語でしりとりに相当するゲーム。

具体的には、同じ(似た)音の単語二つを含む文を交代に思いつく限り並べるというもの。

  • He ate eight apples.
  • I can see the sea.

とか。うーん、やっぱりしりとりの方が面白そうだなあ。

_ [OSS] やまぐちOSS協議会 発足セミナー

やまぐちでも山口情報産業協会を中心にOSS協議会が設立されるということで、 その発足セミナー講師として井上社長とともに山口入り。 時間の関係で、松江→米子→岡山→新山口。

セミナーの内容は、最初にアシスト社長、ビル・トッテン氏の 特別講演以外は先日の福岡のものとほぼ同じ。 演者も、IPA OSSセンター長、田代さん、 NaCl社長(しまねOSS協議会会長)井上さん、 私。ただし、時間はちょっとずつ短かった。

ビル・トッテンさんの講演内容はそのまんま「不都合な真実」であった。 彼は飛行機に乗らないそうだ。 でも、環境の視点からこれから田舎の重要性が増すという意見は興味深かった。 現在都市に人口が集中しているのは高エネルギー消費を前提にしているからで、 数年後、(自発的または強制的に)エネルギーを消費できなくなったら 田舎に中心が移動するので、今から田舎(たとえば山口)に投資するのだそうだ。

ふーむ。

その後、懇親会など。

楽しかったが、 山口の企業が今後OSSとどう付き合っていくか、 せっかく発足したOSS協議会がどう活かされるか、 今後の課題も大きいように思えた。

_ [原稿] 日経Linux 2007年5月号

テーマは「電子メール」。〆切は昨日なのだが、 どうにも終わらなかった。毎月、見積もりが甘すぎ。

で、今月は、プロトコル(SMTP, POP, IMAPなど)の解説と Rubyで記述されたメール関連ソフトウェアの紹介に終始してしまい、 コードが全然無かった。来月はもうちょっと実践的な記事にしたいなあ。


2007年03月07日 [長年日記]

_ [Ruby] JRuby 0.9.8 Released - JRuby - Confluence

JavaOneでの1.0リリースに向けて着実に進化中、らしい。

_ [Ruby] ITmedia エンタープライズ:Sun、NetBeansでRubyのサポートを発表

Sunのプレゼンでも見たけど、 NetBeansのRubyサポートはけっこう頑張っている。 ちゃんとシンタックスカラーリングしてくれるし、 メソッドの範囲内で変数名の即時置換とか、 リファクタリング支援も始まっているようだ。

根っからのEmacsユーザーを自称するTim Brayも 「JavaやRubyのコードを書く時にはNetBeansに移行した」と証言していた。 もしかしたら、いつか私もEmacsを離れてIDEを使うようになるかもしれない。

っていうか、Emacs程度によくて、ちゃんとマルチスレッドに対応したエディタが欲しいぞ。 問題は私の「Emacs程度によい」という基準が高すぎることだが。

_ [言語] Eclipse,Ajaxアプリ/動的言語向けに3つの新プロジェクトを発足

NetBeansがRubyサポートなら、 Eclipseは...という話題。

EclipseもAjaxや動的言語を積極的にサポートするという宣言。 最初の動的言語として選ばれたのはTcl。ちょっと驚きである。 SunからのNetBeansが(Sunから見れば外様の)Rubyをサポートし、 IBMからのEclipseが(Sun育ちの)Tclをサポートするってのはちょっと面白い構図。

_ [OSS] 与えるべきか否か:FOSSにおける報酬のトレードオフ

この記事にもある通り、報酬って難しいよね。

以前聞いた落書き防止法の話を思い出した。 内容はうろ覚えだけど、こんな感じ。

ある老人が自宅の塀に落書きする近所の子供たちに弱っていた。 しかし、老人はある方法を思いついた。

老人は近所の子供たちに手招きをし、 「塀に落書きをしてくれたら2ドルあげよう」と言った。 子供たちは大喜びで一日中落書きし、一人2ドルずつもらって帰った。

次の日、老人は子供たちを集め、 「塀に落書きしてくれたらお金をあげよう。でも、今日は1ドルしかあげられない」 と申し分けなさそうに言った。 子供たちはそれでも1日中落書きし、一人1ドルずつもらって帰った。

また次の日、老人は子供たちに言った。 「今日は50セントしかあげられないんだ」。 子供たちは口々に不満を並べ、 「なんだ、それっぽっちじゃ落書きしてあげないよ」と去っていってしまった。

それ以降、老人の家の塀に落書きするものはいなくなった。

ま、これは「落書き」という「悪いことを止める」という話だけど、 「落書き」をオープンソースにたとえると 報酬を出すことでかえって「良いもの」が 継続できなくなっちゃうこともあるよねってことも言えるよね。

それは困る。どこで見分けるのかな。

_ [Ruby] Ruby講習会

朝の「特急おき」で新山口から松江まで。 12時半過ぎに松江について1時からRuby on Rails講習会の講師。

なんて忙しい。まるでビジネスマンみたいだ。


2007年03月08日 [長年日記]

_ 体調不良

山口で無理したのか、頭が痛いし、体がだるい。

仕方がないので一日寝てた。

_ [Ruby] On Ruby: Evangelizing Ruby

2007年中にRuby関連ツールを出すと言う「噂」のCodeGearが「Rubyエバンジェリスト」を探しているという話。

要件は以下の通り。

  1. Intense experience with Ruby Ruby on Rails
  2. Strong knowledge of the World Wide Web technologies including XML, SOAP, WSDL, AJAX, etc.
  3. Ability to present in front of groups of people
  4. Exemplary writing, blogging, and product demonstration skills
  5. Good organizational skills
  6. Ability to follow through and prioritize

CodeGearも「本気」のようだ。

_ ベンチャースピリットは「アンチゆとり教育」から-- NICT×高専×jig地方発の取り組み(後編) - CNET Venture View

身内を見ても高専出身者は優秀な人が多いし、 しかも全国さまざまな場所に配置されているので、 地方の活性化に高専を活用するというのは優れたアイディアだと思う。

この近辺だけでも松江高専、米子高専のふたつがあるし。

_ 日本のソフトウエア産業、衰退の真因:ITpro

先日の「日本発のソフトウェア」の話とも絡むが、 日本のソフトウエア産業衰退の真の原因は「誰も責任を取らない体質」にはじまる 「産業構造の劣化」である、との分析。

そうかもしれない。少なくとも

個人の自立とは、プロフェッショナル化であり、無理な要求に「ノー」と言える人を増やすことである。ベンダー、ユーザーが対等に近い立場で要求について議論できるようになれば、ソフトウエア産業は健全になっていく。

というのは私たちの目指すところでもある。


2007年03月09日 [長年日記]

_ まだ体調不良

まだしゃんとしない。今日も休み。来週のスライドの準備をしないといけないんだけどなあ。

_ 全自動・手ブレ&ピンボケ修正アルゴリズム群[テピンオート(TepinAuto)]の概略/イノベーション/NCS技報/日本コンピューター・システム株式会社(NCS)

「街の発明家」によくありそうな文体。

なんだか肝心のところが「企業秘密」になってるんだけど、 これ特許が成立してるんじゃなかったっけ。

とすると、クレームをちゃんと読むと企業秘密ではなくなってしまうような。


2007年03月10日 [長年日記]

_ [言語] IBM 境界を越える: Lisp の美しさ - Japan

Lispを解説するBruce Tate。

登場からの年数を見れば Lisp は古く、その構文も古めかしいものです。しかし、少し掘り下げてみると、Lisp が高度の抽象化を備えた信じられないほど強力な言語であり、その誕生時の 50 年前と同じくらい有効で生産的なことがわかります。Lisp よりも新しい多くの言語が Lisp の概念を借用しており、それらの多くは、まだ Lisp に匹敵できるほどの能力を提供できていません。Java や .NET の何分の一かのマーケティングが Lisp に関して行われ、多くの大学でも MIT と同じように積極的に教えられていれば、私達全員は今でも Lisp を書いているかもしれないのです。

同感だ。

_ [Ruby] XRuby: XRuby is faster than Ruby 1.8.5 in most benchmarks

XRuby (Javaバイトコードへのコンパイラ) でロジックミスを直したら、 各種ベンチマークでRuby 1.8.5よりも速かったという話。

コンパイラだから当然だ、などとは言わない。 Rubyクラスの言語で性能を出すのはなかなか難しい。 そこに果敢に挑戦している人たちはすばらしい。

_ [教会] ステーク大会土曜の部

新見へ。

配車が思いのほかうまくいって車の台数が一台少なくて済んだ。

いろいろな話を聞けて勉強になった。 とくに自分のできてないところ、弱いところを他の人が どう取り組んでいるかという話が参考になった。

...ちゃんとやろう。


2007年03月11日 [長年日記]

_ [教会] ステーク大会

朝から新見に移動。

故障車があって車を取り替えないといけなかったり、 参加者が急遽増えたりして、配車担当としてはドキドキしたが、 みなさんの協力もあって解決。

短い時間に密度の高い話をいくつも聞けた。 時間をかけてここまで来た甲斐があったというものだ。


2007年03月12日 [長年日記]

_ [言語] インド語の「あいうえお」

昔からなぜ「あ、い、う、え、お」という順番なんだろう、と不思議に思ってはいたが、 まさかインドに由来があるとは。

以下はインド方言の一つBrahmi語 インド地方のBrahmi文字の一覧。 ちょっと母音が多いがおおむね「あいうえお」の順番に並んでいる。 他のインド語でも同様の順序らしい。子音も「あかさたな〜」に近いように思える。

知らんかった。

_ スラッシュドット ジャパン | 文字エンコーディングはUTF8で本当に十分なのか?

先日、「シフトJISを捨てられるか?:ITpro」についてとりあげたら、tagohさんが「The day-to-day thoughts - UTF-8は十分かどうか」と反応して、さらにスラッシュドットでとりあげられた

厳密な話をするならば、 欠点のない文字集合もエンコーディングも存在しないので、 どのような文字集合を選んでもどのようなエンコーディングを選んでも 不満を持つ人はいるに決まっている。

この文字集合には私の使いたい文字が無いとか、 性能上の問題がどうとか、文字化けがどうとか。 これについては、ケースバイケースとしか言いようがない。

というわけで、各論。

シフトJISを捨てられるか?」について言えば、要旨は

  • シフトJISでは文字が足りない(ような気がする)
  • Unicode(UTF-8)では日本語のデータ量が増える
  • だったら、新しいエンコーディングというのはどうだろう

というものだ。実際、この記事の流れではUTF-8でダメな理由ってのは、 「日本語のデータ量が多くなること」、「シフトJISではないこと」だけなので、 それってのは「新しいデータ」についてはさほど問題ではないと思う。

「新しいエンコーディング」というものは、

  • エンコーディングを決めて
  • 実装を提供して
  • それを広く使ってもらうように働きかける

という手順を踏んではじめて実用的になる。どの段階もそれなりに大変だ。 特に「広く使ってもらう」というのは技術的な問題ではないので、 相当難しい。今時、単にちょっとデータ量が節約できるくらいの理由で まったく新しいエンコーディングが採用されるってことはほとんど期待できない。

ちょっと考えただけでも、

  • 主要なエディタで対応する
  • 主要な言語で処理可能になる
  • iconvで変換できるようになる

くらいは必須だろうけど、気が遠くなるくらい難しそうだ。

とはいえ、ITproくらい影響力があると(あるんでしょ?)、 なんかで間違っちゃってその気になる人がいないとは限らないので、 うれしくない。

純粋に技術的な観点からは、スラッシュドットで紹介されてた 「新しいUnicode符号化方式」とかは、文字数が多く(Unicode文字集合)、データ量が少ない、という点で条件を満たしている。 本気で新しいエンコーディングを設計しちゃう心意気には感服するが、 実用するのは難しいだろうな。

tagohさんのはもうちょっと違う角度からのツッコミだ。

本当に多言語を扱おうと思えば Han UnificationなどのためUTF-8では十分でないかもしれない、という話だ。 確かにたとえば「骨」の字など、日本と中国では字形が違う。

本当に多言語を扱おうと思えば、TRONコードのようなアプローチの方が良いのかもしれない。 しかし、今度はソートや検索で同一視問題が発生する。 あまり詳しくないのだが、TRONコードを扱うライブラリではその辺の正規化もサポートされているらしいけど、残念ながら誰もが使えると言う状況にはなっていない。

「カジュアルな多言語表現では字形の違いは気にしない」というポリシーもあるかもしれない。 実際、はてなで中国語ダイアリーを書いている人とかもいるわけだし。 「きちんと多言語を扱うのはエンコーディングじゃなくてもっと上のレイヤでいいんじゃね?」という気もするし。少なくとも「言語タグ」なんてものを導入して状態を持ち込む(エンコーディングがステートフルになる)のはさらなる不幸を招きそうだ。

あと、Unicodeは文字集合で、エンコーディングにはUTF-8、UTF-16(BE,LE)、UTF-32(BE,LE)があるという指摘もある。

が、実際問題としてまったくしがらみがない状態であれば、UTF-16を選択するのは正気だとは思えない。だって、UTF-16ってば

  • エンディアン問題がある
  • しかも、可変長

という過去のエンコーディングの悪いところを寄せ集めたような存在である。 UCS2で話が済んだ牧歌的な時代ならともかく、サロゲートペアが入ってUTF-16になった時点で もうアウトだろう。UCS2時代からのJavaはしょうがないとして、あらたにUTF-16を選ぶ理由はない。 でも、なぜかWin32ってUTF-16なんだよね。

では、UTF-32はどうか。

UTF-32には可変長問題はない。データ量がかなり増えるが、それは無視できるとしよう。 しかし、やはり情報交換用エンコーディングとしてはエンディアン問題が気になる。 個人的には「BOMで解決」なんてのは信じない。いつもついてるわけじゃないし、 逆にデータにBOMなんてタグが「いつもついてないといけない」というのもうっとうしい。 っていうか、Unicode論者はBOMのうっとうしさを軽視しすぎ。

UTF-32が意味があるとすれば、データの内部表現としてじゃないだろうか。 情報交換用に用いないのであればエンディアン問題は発生しないし。 固定長による処理効率が高いのがうれしい人もいるだろう。 でも、UTF-32を直接扱うライブラリはあまり充実していないように思えるんだけど、 それは私が知らないだけなんだろうか。 内部交換用として広く使われるためにはもうちょっとライブラリなどが充実する必要があるような気がする。

というわけで、個人的な印象としてはUnicodeを使うならエンコーディングはUTF-8で決まり だと思っている。情報交換用としても内部表現としても。 欠点らしい欠点と言えば可変長なことだけだし、 われわれ日本人は長い経験から、可変長マルチバイト文字列の扱いが実用になることを知っている。

最後に、非常に興味深いブログエントリ、 「Open ブログ: ◆ シフトJIS と unicode」。

私のエントリも含めて「素人の暴論」であり、「勘違い」なのだそうだ。 私(たち)が素人なのは否定しないけど、その「勘違い」の指摘はあまり上等には思えない。

要旨は

  • データ長の問題はどうでもよい
  • 文字数の問題も無視してよい(え?)
  • Unicodeは各種エンコーディングが乱立している
  • だからUnicodeは万人の使うエンコーディングにはならない
  • だから現行のシフトJISを拡張した新しいエンコーディング(南堂私案)を

だそうだ。勘弁して。 我田引水とか牽強付会とかいう言葉はこういう時に使うんだろうな。

まず、要旨のうち最初の点には同意する。二番目はちょっと「勘違い」があるみたい。 三番目の各種エンコーディングが乱立している点については、 困ったものだがUTF-8以外のエンコーディングは情報交換用としては重大な欠点があるので、 事実上UTF-8固定でよいと思う。

最後のものは、世の中に存在するレガシーエンコーディングがシフトJISしかないのであれば、 シフトJISの上位互換と言うのはある程度は価値があるのかもしれない。 このエントリの著者の周辺ではそうなのだろう。 だけど、たとえば私の日本語データのほぼすべてはEUC-JPだし、 世の中そんなに単純じゃない。

まあ、それは良いとして、提案する解決策と言うのが「南堂私案」なるものなのだそうだ。 あいにく「南堂私案」についての生きたリンクがなかったので、 どのようにシフトJISを拡張してくれるのかよくわからないのだけれど、

だから、シフトJIS:X 0213 でも文字数が不足するということはない。(普通の用途では。)

ということだから、おそらくはシフトJIS:X0213にいくばくかの文字を追加することを許したものなのだろう。シフトJISだとあんまり空間に余裕はないような気がするけど、 まさかGB18030みたいに最大4バイトとかじゃないよね。 それはそれで大問題を引き起こしそうだし。

で、彼(南堂さん?)が見落としているのは、 元のITproの記事も含めて「文字が足りない」って話をしている時には、 彼が思っているように「日本語の範囲内で文字が足りない」というわけじゃなくて 「カジュアルに多言語の表現がしたい」というものだろうということだ。 要するに日本語の文章の中でも ハングルやベトナム文字、あるいはアクサンとかのついた文字を表現したいってことではないんだろうか。具体的には最近の「ふぇみにん日記」とかのイメージだよね。

私には「南堂私案」なるものがそういうのに対応しているようには思えないんだけど。 これで「Unicodeを使えばというのは素人の勘違い」とか 「南堂私案であらゆる問題が解決」とか断言できちゃうのは、いかがなものだろうか。

私はUnicode絶対主義者ではないし、選択肢は用意されるべきだとは思っているが (だからRubyの多言語化は選択肢を用意する設計になっている)、 とはいえ、理由もないのに事態を複雑化するのにも賛成はできない。

しがらみが無い状態では、文字コードに関する 現時点で一番ましな選択肢はUnicode(UTF-8)であるというのは 事実といってもいいんじゃないだろうか。

で、Unicodeでカバーできないなにかがあれば、 それはそれ、その状況にもっとも適切なエンコーディングを選べばよい。 新しいエンコーディングを作る必要があることはめったにないが、 もし本当にそれが必要であれば、それをじゃますることはしたくない。 必要だったらUTFCP/UTF-JPだろうが、南堂私案だろうが サポートできる枠組みは提供したい。

でも、それらは本当に必要なの?

_ The Third Bit >> Blog Archive >> Beautiful Code

というわけで、「Beautiful Code」というエッセイ集が出ます。 以前に依頼されたもの

「英語できないから」と断ったんだけど、 先方が訳者まで用意してくれたので、引き受けることにした。 私のぶんのタイトルは「Code That's Like an Essay」ということになっている。

内情をばらせば、実はこれは今度出る「(るびま)出張版 正しいRubyコードの書き方講座」のコラムとほぼ同内容。 手抜きと言われてもしかたがない。

私のはあんまり良くなくても、他の人のはすごいですから。 そっちはお薦めです。

なお、印税は全額アムネスティに寄付されることになっている。

_ [Ruby] アジアの技術者にRuby実習,経産省の委託事業で:ITpro

うち(NaCl)の講習会教材を英訳して外国人むけ講習会を開いたという話。 最近、プレスでNaClの名前をよく見るようになったな。

_ なぜ彼らは空を飛び海を渡り膝を突き合わせてプログラムを書くのか:ITpro

コードフェストの話。

実際、顔と顔を合わせてハックするといろいろ進むよね。 こないだの合宿のときに実感した。

たまにはやりたい。

とはいえ、私にとっては結構体力を消費するので、 毎日はできないな、という感じ。 若い人はオッケーなんだろうか。

_ [知財] 「おふくろさん」改変問題に見るJASRACの危機感|エンタメ|カルチャー|Sankei WEB

財産権しか管理していないJASRACが著作者人格権にまで口出しするのは 筋違いにしか思えないのだが。また、あれが改変であることは認めるにしても、 それを許せないというのもいかがなものかと思う。

フェアユースの概念が無い国では正当化は難しいだろうけど。

_ 移動

夜の米子便で東京に移動。

羽田空港→天王州アイル→新木場→舞浜。 舞浜からモノレールでヒルトン東京ベイへ。

はなはだしく場違いな気がする。

ホテルで次の日の講演(英語)の原稿の準備。朝の4時まで。 わずか30分のためにこれだけ準備して、 なお、「ちゃんとした」気になれないと言うのはどうだろう。

日本語なら苦もないことなのに。


2007年03月13日 [長年日記]

_ ICPC講演

ACMとIBMがスポンサーのプログラミングコンテスト、ICPCの中で、IBM TechTrekというセッションで講演してくれとの依頼を受けた。

正直、英語でということで躊躇していたのだが、 まあ、良い機会だということで参加することに。

とはいうものの、 居並ぶ講演者が私以外IBMのVPクラスの偉いさんばかりとか、 こんなに大勢の前で講演するとか、聞いてなかったんだけど。

まあ、しょうがない。覚悟を決めて話すしかない。 テーマは「How to Design Great Software」。 ソフトウェアの偉大さを決めるのは「何をするか」ではなく、「如何にするか」である ということについて、ユーザビリティをからめて語るという講演。

途中、ちょうど話している真っ最中に、原稿表示用のVAIO Uに

再起動が必要です。

  [後で] [今すぐ]

というポップアップが出て、「後で」をクリックしたつもりなのに いきなり再起動してしまったのには閉口した。 だから、内部構造の良く割らないOSは...。

その間、記憶とスライドに頼りながらしゃべるわけだが、 再起動プロセスが遅い遅い。瞬間が永遠に感じた。

すべての講演終了後、たくさんの人たちが 「写真を撮ってもよいか」、「サインしてくれ」と 話しかけにきてくれた。

きっと厳しい国内予選を勝ち抜いてきた君たちの方が 単に言語デザインにこだわりがあって、かつ運がよかった私だけなんかよりも ずっと賢いと思うよ、とは言えなかったけど、正直内心そう思ってた。

_ [言語] なぜIBMはAlgolを選ばなかったのか

で、そのいろいろと話しかけられた中で、一人の人からもらった質問が上記のようなもの。

なぜって、それを私に聞いてもねえ。Algolって私よりも古いと思うよ。 と、上手には説明できなかったんだけど。

それはそれとして、今の視点から改めて考えてみると、

  • Algolが誕生した瞬間にはFORTRANよりもAlgolが優れていたとは断言できなかった。 Algolは複雑で遅いと思われてたみたいだし。
  • Algolの言語デザインの優位性が明らかになる頃には、IBMはPL/Iを持っていた。 IBMにはPL/Iを捨ててAlgolを選ぶ必然性がなかった。

ってことなんじゃないかな。質問した彼がこのエントリを読むことはないと思うけど。

_ ITmedia +D LifeStyle:2011年7月、地デジを見られない人たちはどうなる

移行は思うように進まず、ギリギリになって想像力に欠けてた人が事態をやっと認識し、 社会問題化、当面アナログ放送が延長される、に一票。

そうでなくても、2011年からは受信機としてのテレビは使わないつもりだけど。 その頃にはネットとDVD*1だけになって、 テレビはDVDの表示部として活用するかな。 NHK受信料も払わなくてよくなるわけだな。

*1  Blu-rayとかHD-DVDとは言わないのミソ

_ [知財] ITmedia News:「著作権保護期間、作家が選べるシステムを」−−延長めぐる議論再び (1/2)

私はおそらく「延長反対派」に分類されるんだろうけど、本音を言えば 有象無象も道連れにするんじゃなくて、自分で選べるようにしていただきたい、 と思ってるので、「延長したい人は自分の作品だけ延長すれば」派である。 ぜひとも実現しないものか。

それはそれとして、

(著作権切れは)身を切られるようだ、と言う人もいるが、その人が書いた『宇宙戦艦ヤマト』は、吉田満の『戦艦大和ノ最期』にインスパイヤされたなかったのか、『銀河鉄道999』は、宮沢賢治の『銀河鉄道の夜』にインセンティブされなかったのか

もっと言ってやって。


2007年03月14日 [長年日記]

_ ITmedia エンタープライズ:3週間早い夏時間切り替えでIT製品に問題多発

今年からアメリカの夏時間(Daylight Saving Time - DST)への切り替えが早くなって大変、という話。

以前、DSTへの切り替え時に発現する バグに悩まされたことがあって、正直夏時間のない国に住んでて本当に良かったと思う。

でも、調べてみるとDSTのない国って少数派みたいだね。

_ [言語] 第8回 独自のプログラミング言語を開発してみよう(その1):ITpro

住井さんの連載。

OcamlYaccを使ってるせいもあってあんまり目新しくはない。 packrat parserとか使えばまた違うんだろうけど。

_ 未来を創るエンジニアを育てた「SF」の魅力/Tech総研

最近はすっかり本を読まなくなったけど(マンガは見てるか)、 SFってのはエンジニアの基礎体力として重要だと思うな。

うちの息子もそろそろSFにはまってくれないかなあ。 最近定番の児童むけSFシリーズとかないのかな。 昔ならいろいろあって図書館にも常備されてたのに。 名作の簡略版とか(「超能力部隊」とか、「超生命体バイトン」とか)。

そういえば、うちの息子の小学校の図書館にはSFシリーズは見当たらなかったな。 エンジニアによる地域振興はまず小学校にSFシリーズを配備するところから、というのはどうだろう。

_ ホワイトデー

次女がお菓子を作っている。 「ホワイトデー」と言うのは男の子から女の子へお礼をする日だと思っていたのだが。 最近は友達にお菓子を贈る日なのか。

そういえば、1ヶ月前、娘たちがチョコレートをあげたのは全員女の子だったそうだ。

なんか、だいぶ変化している最近の女子中学生。


2007年03月15日 [長年日記]

_ [Ruby] 楽天、ネットサービス開発で「Ruby on Rails」を採用--NaClが全面協力 - ZDNet Japan

楽天がRubyとNaClについてのプレスリリースを出した。

各社報道

リリースの具体的な内容は以下の通り。

楽天株式会社(本社:東京都港区、代表取締役会長兼社長:三木谷 浩史、以下楽天)は、自社の提供するインターネット・サービスの開発手段として、Webアプリケーション開発フレームワーク「Ruby on Rails」の利用を開始しました。

楽天はこれまでも様々な開発手法を導入し、拡張性や可用性の高い、コスト効率の優れたアプリケーションを構築することで、ユーザーニーズに対応したサービスをタイムリーに提供してきました。その中で、LAMPなどのオープンソース技術も開発手法の一つとして活用しています。

インターネットを取り巻く環境が著しく変化する中、インターネット・サービス企業は、多種多様なニーズに対応できる柔軟な開発手法が一層求められています。楽天は、サービス開発の生産性をさらに追及していくべく、プログラミング言語Rubyによるサービスを構築するRuby プロジェクトチームを立ち上げました。同チームは、「Ruby on Rails」を用い、主にインターネットショッピングモール「楽天市場」における大規模トランザクション処理や高度なセキュリティ処理に対応したサービスを開発していきます。

また、「Ruby on Rails」および、Ruby を用いた開発手法の標準化を行い、大規模サービス開発手法の確立を行ってまいります。

なお、当取り組みにおいては、Rubyの開発者まつもとゆきひろ氏が在籍する株式会社ネットワーク応用通信研究所 (略称:NaCl、本社:島根県松江市、代表取締役:井上 浩)の全面協力を得て、Rubyプロジェクトチームは同社よりRailsトレーニングプログラムを受講し、開発基盤「Rails Platform」を活用してサービス開発を行っています。

内輪からみると、内容自体は昨年からやっていることを改めて発表しただけなのだが、 「楽天がプレスリリースを打つ」という行為そのものがインパクトを持つようだ。

このプレスリリースに込められた楽天のココロは、

  • 楽天はすでにRuby on Railsを使ったサービス開発を始めてる
  • ただ単にRubyやRailsのユーザとなるだけでなく、積極的に技術を確立したい。 「開発手法の標準化」や「大規模サービス開発手法の確立」はその辺をイメージしている
  • ただ単に自社で取り組むだけでなく、NaClの全面協力を得て、Ruby本体への働きかけを視野に入れている

というようなものだと思われる。その背後には、 楽天技術研究所の設立など、「技術の楽天」のイメージを構築したいという楽天の意思も感じられる。

_ [OSS] アジアがオープンソースを求める本当の理由:ITpro

お金だったり、物作り精神だったり、いろいろだよね。

前にも書いたけど、「OSSはタダだから」とはよく言われるけど、 実際、知的財産権保護の意識が低い国々では、 商用ソフトウェア(の海賊版)の方が安価に入手できたりするんだよね。

「やっぱ物作り」というこの記事の結論は正しい読みだと思う。 今はあまり目立たないアジア発のOSSだけど、 このまま発展して、一大OSS産地になるといいなあ。

日本みたいな見えない文化障壁がないぶん、 マレーシア、インドネシア、シンガポールとか、 けっこう見込みがありそうな気がする。

_ JTPA Tシャツ

会社に渡辺千賀さんから 荷物が届いていた。中身はTシャツ。

JTPAにはシリコンバレーの文字は入ってないから、 日本で着てても問題ないよね。


2007年03月16日 [長年日記]

_ [Ruby] 2007年「日経BP技術賞」決定 - 大賞に「プログラミング言語 Ruby 」

だそうです。

情報通信部門から大賞が出たのはひさしぶり、 オープンソースソフトウェアが日経BP技術賞を受賞するのははじめて、 個人が受賞するのは極めて異例(はじめてかも)、 と異例づくしの受賞なんだそうで、 授賞する側も受賞する側もびっくりである。

「なぜ今か」という点を考えるとDHHに贈ったほうがいいんじゃないか、という気もする(苦笑。

_ [Ruby] ニフティ新卒採用 技術者向けセミナー|ニフティ株式会社

28日にニフティの新卒者むけ就活セミナーで講演します。

「なんでニフティか」というと、うーん、なんでだろう? NaClは、ニフティにも「全面協力」してるから?

_ 取材

某企業から取材。私一人の取材のために松江くんだりまで5人も来てくださるなど 景気のいい話である。最近いろいろなところで露出しているため、 ライターの人はネタがかぶらないようにと事前にいろいろ調べてきていらっしゃった。

一般人相手の取材だと言うのにご苦労なことである。

_ DRMは必要悪ではなく、使いにくいことが問題--マクロヴィジョン - CNET Japan

えーと、私の感覚では「使いやすいDRM」というのは形容矛盾なんだけど。

だいたい、DRMってのはユーザの権利を制限することによって成立するんだから。 ユーザの権利を侵害せず、違法行為だけ取り締まれるDRMというものが存在できるもんだったら 見せてほしいものだ。

「使いやすいDRMは存在しないDRMである」という気がする。

_ ACM日本支部と日本IBMが国際大学対抗プログラミングコンテスト世界大会を開催−−優勝はワルシャワ大学

先日のICPCの結果。

いわゆる先進国よりも途上国の方が成績が良いのはやはりハングリー精神によるものか。


2007年03月17日 [長年日記]

_ [Ruby] 山陰中央新報 - ネットワーク応用通信研究所が楽天に協力

朝、新聞を開いたら驚いた。 先日の楽天のプレスリリースが地方紙の一面に載っていた。

そうか、地方にとっては一大ニュースなんだなあ。

_ [Ruby] The Ruby VM: Episode II

ささだくんと私に対する、 Ruby VMインタビュー、二回目。

_ [Ruby] soutaroにっき - 韓国で見たRuby

韓国でもRubyは(Pythonほどじゃないけど)注目されている、という話。 そうか、『Programming Ruby』は韓国語版も出てるのね。

_ [mixi] しまねOSS協議会 | しまねOSS協議会のテレビCM

「しまねOSS協議会」を題材にして、島根の若手クリエーターがCMを作ってみたという話。 出来については...。まあ、がんばりました。

2バージョン日英合計4本。

当初、「島根でOSSといえば、まつもと」と、 私を素材にしたいということだったが、それは丁重にお断り申し上げた。

勘弁して。

_ Amazon.com: Programming Interviews Exposed: Secrets to Landing Your Next Job: Books: John Mongan,Noah Suojanen

プログラマとして「よい職」を得るための面接技法。 採用側にも有効な情報がある、らしい。

優秀なプログラマを雇いたいと常々思っている弊社としては、 このような本を読んで研究すべきか。 日本独自の状況を考えると安直に適用はできないのだろうか。

_ PHPは100台近く,MySQLは1億レコードのDBで使用---楽天 開発推進部長 安武弘晃氏に聞く:ITpro

2003年10月の時点での楽天の裏側。

3年半後の現在はもっとすごいことになっているらしい。 このトラフィックを捌くノウハウを取り込みたいというのが我々(Ruby側)の狙いで、 PHPよりも高い生産性を取り込みたいというのが楽天側の狙い。

うまくWin-Winの関係を構築したい。

_ [Ruby] Bitwise Magazine:: What痴 Wrong With Ruby?

超要約すると「Rubyってば全然斬新じゃないじゃん」という話。 私の返答は「それがなにか?」だけど。

Rubyの良さはそういうところにあるんじゃないんだ。

で、Ruby界の論客Austin Zieglerがきちんと反論している。

_ [Ruby] Jared's Blog >> mtnwestruby: Chad Fowler Keynote

Mountain West Ruby ConferenceでのChad Fowlerのキーノート。

Ruby is at a dangerous crossroads. We need to act, as a community, to avoid failure. How do we need to behave to remain relevant in the industry -- as programmers, and as a Ruby community? For so long, Ruby has been perceived as a niche player. The community has been in the habit of fighting, and defending against FUD. Once we start "winning", we continue those habits, and new "converts" to Ruby pickup the same habits.

現在、(どういうわけだか)Rubyは人気を集めつつあり、 どっちかというと「勝ち組」という扱いを受けている。 Rubyはもはや以前のようなマイナーな言語ではなくなっている。 我々はこの新しい事態に適切に対処しなくてはならない。

特に日本では、なんだか賞を頂いたり、大企業からも注目されたりと、 ある意味「Rubyミニバブル」の勢いだ。

もちろん、Rubyがたくさんの人から高く評価されていることはうれしいし、 ビジネスになるという事実はありがたく受け入れたいと思う。 が、ここで「調子に乗りすぎる」とバブルが崩壊した時に痛い目にあう。 言語としてのRubyの寿命はこの「バブル」よりもずっとずっと長いはずなので、 慎重な行動も必要だと思う。

イケイケの部分はNaClに任せて、私は着実に行こうと思う。


2007年03月18日 [長年日記]

_ [教会] 聖餐会でのお話、のはずが。

話をお願いしていた人が都合が悪かったりしたので、 私にも聖餐会で話してほしいということで、 それなりに準備していたのだが、 急にできるようになった人がいたりして、 結局、私の話はなくなった。

ほっとしたような、残念なような。


2007年03月19日 [長年日記]

_ [Ruby] [ThinkIT] アスタリクス、SaaSで提供するオンデマンドビジネスアプリケーション「Bzica」を発表

Rubirickの上にサービスを実装してSaaSで提供するという話。

こちらもNaClがお手伝いさせていただいている。 っていうか、お手伝いしているところが多すぎて、 最近手が足りない。特に東京勤務。

_ [Ruby] SQLDSL: A Ruby way to build SQL queries on Ruby on Rails >> softlogger

SQLを組み立てるライブラリ。 ちょっと前に取り上げたSQLAlchemyに似たコンセプトのような気がするが、 見栄えはずいぶん違っている。

私はSQLな人ではないので実際にはどっちが使いやすいのかはよくわからない。 感想歓迎。


2007年03月20日 [長年日記]

_ ITmedia エンタープライズ:第1回 ハッカーとの遭遇

「休刊したオープンソースマガジンの記事を再利用したいから 承諾してほしい」というメールを頂いて、 「いいですよ」と返事したら、数時間後に公開されていた。

素早い。ちょっと古い記事だが まあ、人間の性質はそんなに変わるものじゃないから。

_ [OSS] サン、Debian Linuxの創設者を採用 - ZDNet Japan

なんか最近あちこちさすらっているような気がするDebianの「-ianの方」、 Ian MurdockをSunが雇用したという話。

Sunのオープンソースに対する真剣さを表している、のかな? 「チーフ・オペレーティング・プラットフォーム・オフィサー」ってなにするんだろう?

_ [OSS] Geeks in Paradise | The Business Case for Open Source Software | By Josh Kuo

OSSの最大の利点はベンダーロックインの回避である、という話。 「普通の人」にも伝わる書き方だと思う。

_ [Ruby] 映像による「Ruby On Rails」チュートリアルが満載!『RailsCast』 | 100SHIKI.COM

RailsCastの紹介。 スクリーンキャストってインパクトあるよね。

言語でもそういうのやるべきなのかな。 「Emacsとirbを駆使してRubyプログラミング」とか。


2007年03月21日 春分の日 [長年日記]

_ 買い物

休日なので米子に買い物。 何件か回っているうちにあっという間に時間が過ぎる。

息子はサボテンの店で、お気に入りのサボテンを見つけてご満悦。

帰りに従姉の店(雑貨店)によって、娘と妻は喜んでいた。 あと、おじ・おばに挨拶してから帰る。

_ [Ruby] (ogijunの)あとで書く日記 - 有料で高品質なRuby on Rails Screencastを提供する『PeepCode』

RailsCast同様、スクリーンキャストを提供するものだが、 こちらは有料。おぎのさんは絶賛している。

_ [言語] ITmedia News:FORTRANの父、ジョン・バッカス氏死去

ちょっとショック。 ある意味、ひとつの時代が終わったようにも思う。

John Backusの功績は

  • FORTRAN
  • 関数型プログラミング言語FP
  • 文法記法 Backus-Naur Form (BNF)

どれをとってもプログラミング言語にとって非常に大きな業績であった、と思う。

「わたしの成果の大半は、わたしが怠け者であることから生まれた」とバッカス氏は1979年にIBM社内誌「Think」で語った。「プログラムを書くのが嫌いだったので、ミサイルの軌道を計算するのにIBM 701(初期のコンピュータ)でプログラムを書いていた時に、プログラムをもっと簡単に書くためのプログラミングシステムに取り組み始めた」

うむ、プログラマーの鑑である。

_ [Ruby] 【レポート】AppleもRuby/Pythonに本気 - OS Xはハッカーに魅力的か? (MYCOMジャーナル)

Mac使ってるRubyプログラマは多いよね。 特にアメリカでは。日本でも最近増えてるみたい。

私自身は親指でパッドを扱えるようになるまではMacに移行できない。

_ [Ruby] Rubinius

Rubiniusサイト。

私が注目した点は、

特に後者。

ここ最近ずっと、 プル型のサービスがほしいので、メールをベースにした開発サイト (RCRhiveはその(あまりうまくいっていない)試み)について考えていたのだが、 Dev'ilを見ていたら、 どうせRSSリーダーを使ってるんだから、RSSをちゃんと吐いたら Webだけで十分プル型サービスを実現できるのではないか、という気になってきた。

日経Linuxでわざわざメールサービスについて記事を書いたのに、 こんな結論はつまんない。

とはいえ、今のRubyの開発は情報の入り口がたくさんあるので 「ポケットひとつの原則」に反している。 適当な開発サイトを用意してポケットひとつにしたいのものだ。


2007年03月22日 [長年日記]

_ 純粋関数型雑記帳 - ICPC2007世界大会

先日のICPCの問題とか。

私にはとうてい時間内に解けそうもない。 みんなすごいなあ。

_ [言語] Programming language popularity

comp.lang.* へのポスト数から見る言語の人気。

Rubyは着実に順位を伸ばしていて、 とうとう5位。C++, Java, C, Pythonが上位。

RubyがPerlやJavaScriptを越えているというのはすでに驚きであるが、 Pythonも十分射程内である。 2007年2月でのポスト数の差はわずか30通である。

_ www.zerobugs.org - ZeroBUGS

新しいビジュアルデバッガ。

Emacsからgdbを使う方法に慣れきっていて、 なかなか新しいツールを使う機会がないが、 今度試してみよう。インストールも簡単だった。 Debianならパッケージが用意されてるし。


2007年03月23日 [長年日記]

_ [言語] C++によるオブジェクト指向開発のメリット − @IT

Symbianのような制約の大きい環境でC++という選択は理解できないでもないが、 この筆者のあげる例は適切ではないような気がする(特にCでなくC++な理由)。 C++でも「プログラマーの“ちょっとしたアイデア”」は禁止できない気がするし。

SymbianのAPIはC++向けにデザインされているらしいので、 Symbianでの開発にC++は必然だと思うし、それはそれで結構なことだと思うけど、 「ちょっとしたアイディアの禁止」が理由であれば、 対処すべきはプログラマのレベルの低さであって、 言語の交換ではない。

特にC++みたいに乱用可能な言語への交換はかえって危険だと思う。 「レベルの低いプログラマ」のレベルを過小評価してはならない(いや、「過大評価」か)。

私は前の会社でえっらい苦労した(前職はC++プログラマ)。

_ [言語] TenQuestionsWithJoeArmstrong - 並列プログラマに 10 の質問 - Joe Armstrong さんの場合

Erlangみたいな並列性はちょっとあこがれる。 未来はそちらの方向にありそうだし。

副作用のある言語では難しいとは思うのだけど、 副作用のない言語はミクロな処理が書きにくい。

空間が完全に分離したスレッド(Erlangのプロセスか)のようなものがあればいいのか。 それだけでは足りなそうだけど、適切なオペレータの定義でカバーできるような気もする。

_ システム開発は楽しい NTTデータ 浜口友一社長に聞く|産業|経済

「今さら」という印象もないではないが、 まったく認めないよりは、今からでも認められた方が良いに決まっている。

NTTデータの動きや、そこから派生する業界への影響に注目したい。

で、「諸悪の根源は物理的:アメリカで一番オイシイ仕事はソフトウェアエンジニア」で描かれているように、 ソフトウェアエンジニアの地位が向上するといいなあ。

だいぶ乗り越えなければならない文化的ギャップがあるような気もするが、 黙っていてはなにも変化しない。


2007年03月24日 [長年日記]

_ [言語] Erlang

Erlangについてもう少し調べてみる。

リンク先はErlangについていくつか紹介している。

こちらではErlangによるRSSアグリゲータを実装している。

しかし、いまだにErlangは(関数型言語全般なんだけど)、 コードを見ても挙動がスッと脳に入ってこないだよなあ。

はっ、年齢か。年齢なのかっ。

_ [言語] Grails - Grails vs Rails Benchmark

GrailsとRailsで速度を比較したらGrailsの方が速かったよ、という話。

私はGrails(や、その基礎になっているSpring, Hibernate, Tomcat)について よく知らないんだけど、やはりちゃんと投資して開発されているので 性能が高いということなのだろうか。

ここは、RailsとlighttpdやFastCGIを組み合わせたベンチマークでの 比較も見てみたいものだ。プロダクションレベルでは実際にはMongrelよりも FastCGIの方が使われているみたいだし。

_ Prof. Sussman

といえば、「Structure and Interpretation of Computer Programs」の著者のひとり。

彼について、東工大の千葉滋先生からメールをいただいた。

先日、アスペクト指向の国際会議にいったら MIT の Jerry Sussman が招待講演で来ていました。ご存じかと思いますが Structure and Interpretation of Computer Programs (通称 SICP) の著者で Schemer に熱狂的な信者をもつ Sussman 先生です。

ちょっとだけ雑談したのですが、どうも Sussman 先生はかなり Ruby がお気に入りのようでした。Lisp のハートが生きてるねとかなんとか 熱心に語っていました。あちこちに熱心なファンがいて Ruby はいいで すね。うらやましいです。

おお、こんな有名人に言及していただけるとは。 「Lispのハートが生きている」というのは、 永遠のLisp wannabeのまつもとには最大級の賛辞です。

どうもありがとうございました > 千葉先生、Sussman先生


2007年03月25日 [長年日記]

_ [Ruby] しまね県議会だより 2月定例会

日曜の新聞に島根県議会2月定例会のまとめが載っていた。

その最後の質疑。

情報産業の育成について

【問い】松江市はルビー(プログラミング言語)を核にプロジェクトを立ち上げ、オープンソースソフトのメッカになろうとしている。県もこのような動きと連動して情報産業育成を図るべきでは。

【答え】情報産業は、我が国における経済成長の起爆剤となることが期待されている。ルビーの開発者は松江市に在住しており、本県の大切な地域資源の一つであると考えている。県としても松江市と共に、県内の情報産業が国内外の大きな市場に挑戦していけるよう、最大限の支援をしていきたい。

普通、「地域資源」というと、景勝地とか文化財とかをさすんじゃないだろうか。 人間国宝とか無形文化財とかもあることはあるけど。

私が引っ越しを決心したらどうするんだろう、とりあえず予定はないけど。


2007年03月26日 [長年日記]

_ [Ruby] Joyeur: Joyeur: Joyent Slingshot

Railsアプリケーションを(そのまま?)オフラインで動かす技術、なのだそうだ。

残念なことにフリーソフトウェアではないので、実際にどんなものなのかはよくわからないんだけど、興味深い。

_ [言語] ITmedia エンタープライズ:第1回 サルでも分かるプログラミング言語の新潮流【前篇】

「へぇ、サルでも分かるなんて大胆なタイトルだなぁ。誰が書いたのかなぁ」と 思って、読んだら、書いたのは自分だった

しばらく前にオープンソースマガジンに書いた記事だった。 すっかり忘れてたよ。

後、sumimさんから指摘を受けてるけど、

  • Smalltalkが1969年と言うのはHistory of the languageのPDFからそのままコピーです(URLがわからない)。ご指摘の通りFLEXあたりのことを意識してるのかもしれません。
  • 「言語が概念を発明する」書き方はワザとです。修辞がすぎると批判されるかもしれませんが、現在のSmalltalkが内包している概念を「発明」したのはKay一人じゃないし、C++やRubyもしかりですから、もっとも適切なのは「コミュニティ」とか「関係者」なのかもしれませんが、それだとちょっとニュアンスが違ってきちゃうので。
  • 「C++のオブジェクト指向」と「Smalltalkのオブジェクト指向」の「混同」もワザとです。もちろん、歴史的な違いがあるのは分かってるのですが、結果的に共通項は多いので、共通に扱った方が「便利がいい」ので。

2007年03月27日 [長年日記]

_ [OSS] ITmedia エンタープライズ:Red HatがMicrosoftに似てきた?

RedHatが自分の商標(Hibernate)を使う他企業に警告を出したという話。

アメリカの商標は保護する努力をしないと維持できないという制度があるらしいので、 RedHatには他に選択肢はない(さすがに商標を捨てることはできないだろう)のだが、 あまりうまいやり方ではなかったね。特にこういう形で記事にされちゃったところが。

RedHatも反論を出している。最初からこんな風にならないよう警告文を考えたら 良かったのかもしれない。あるいは、ちゃんと考えた警告文だったけど 受け取り手が想像(妄想)を膨らませちゃったか。

_ [Ruby] Dr. Wayne Kelly: Ruby.NET

Queensland UniversityでRuby.NETを作ってるDir. Wayne Kellyへのインタビュー。 マイクロソフトのchannel9から。

でも、文字と違ってビデオは時間がかかるし、英語だとヒアリング力が必要だし、 結構つらいなあ。

_ ChadFowler.com How to Run a Small Conference

長らくRubyConfの運営をやってくれてるChad Fowlerが 「小さなカンファレンスの運営法」について語る。

RubyConfやRailsConfはもうあまり「小さなカンファレンス」じゃないけど、 それでも、MountainWest RubyConfやGothum Ruby Conferenceなど地域ベースの カンファレンスは数多く開かれている。

また、この運営の秘結リストは、(技術系)イベント運営全般に役立つのではないかと思う。

_ oreilly.com -- Online Catalog: Beautiful Code

『Beautiful Code』の私の原稿だけど、翻訳の質が満足の行くものではなかったので だいぶ手直しした。えらい苦労したが、まあ、最初から英語で書いたらこんなもんでは 済まなかったわけで、感謝するしかない。

で、私の手直ししたものをさらに編集者に直してもらって最終版。 5月には出版される。


2007年03月28日 [長年日記]

_ [OSS] FSF - Ted Ts'o wins the 2006 Award for the Advancement of Free Software

FSFの活動に「OSSタグ」をつけると怒られちゃうだろうな。 あくまでも分類の都合上で、本当はフリーソフトウェアです。

それはさておき、今年のAward for the Advancement of Free Softwareを 3人の候補者の中からTed Ts'oが授賞したという話。

で、その3人だがTed以外の二人は

Every year, three finalists are nominated for the award by the free software community. This year's other two finalists were Wietse Venema, recognized for his creation of the Postfix mail system and for his contributions to security tools, and Yukihiro Matsumoto, recognized for his work in designing the Ruby programing language.
  • PostfixのWietse Venema
  • RubyのYukihiro Matsumoto

だったそうな。

ノミネートされたなら、連絡してくれてもいいような気がするけど、 誰かのブログ経由で目にするってのはどういうことよ。(苦笑

しかし、候補者三人、どれも(アメリカ人には)読みにくい名前だな。

_ Polycot.blog >> Visitors from Japan

うちの社長の井上が先週からテキサス出張なんだけど、 訪問された側のブログエントリ。

(言うまでもないけど)ちゃんと仕事してらっしゃいます。

_ [言語] yurusanai.de Wiki | Fishkill / Fishkill

Minimalistic Functional Language。

やっぱ関数型言語は私と相性が悪い気がする。 ぜんぜんピンと来るものがない。

なんでだろう?

_ Universalchardet - やる気向上作戦

Mozillaのエンコーディング判別ライブラリであるuniversalchardetを切り出して、Cライブラリ化したもの。こういうのってM17Nには必要だよなあ。ライセンス「MPL1.1/GPL2.0/LGPL2.1 のいずれかを選択」ってのが微妙だけど、1.9に取り込むかなあ。

_ 楽天、「Web 3.0ではなく“サードリアリティ”を追求する研究所」について語る - CNET Japan

私もお手伝いしている楽天技術研究所、代表の森さんのインタビュー。

いろいろ思うところもあるのだが、 もっとも重要なのは2ページ目。

また「ひろゆき」と間違えている点だ。

これは記者が間違えたんだと思う。もう、いいかげんにして。

_ 打ち合わせ

東京出張。

某出版社の人と打ち合わせ。 「連載してほしい」という依頼であったが、 ちょっと今は書き下ろしの仕事も入っているので難しいと答える。

が、書きたいネタは思いついてしまったので、 今の書き下ろしが終わったら書きましょう、と雰囲気に。

キーワード

  • 温故知新
  • マイコンBASICマガジン

その他、関連しているような、していないような話を。

_ @nifty新卒技術者向けセミナー

広報期間が短く、出席者は少なかった(12名)が、 大変楽しかった。

途中、一名、気分が悪くなって帰ってしまった人がいた。 そんなに「まずい」話をしたかなあ。

私の話の概略をまとめてくれた参加者の人がいた。

あと、niftyのエンジニアがtimelineの開発に関するいろいろな 話をしてくれたのも興味深かった。


2007年03月29日 [長年日記]

_ [Ruby] 松江市長の「資源」観

松江市の発行するメールマガジンにも私のことが載ったらしい。

以下、引用。

 今、Ruby がマスコミなどで取り上げられることが多くなりました。インタ ーネット市場の楽天がRubyでシステムを構築し直すとか、サンマイクロシステ ムズがJavaとRubyを結合させ、JRuby(OSS)を開発したり、といった動きがあ ります。また、Rubyの開発者のまつもとゆきひろさん(松江市在住)が2007年 日経BP技術賞大賞を受賞することが決まりました。これにより、Rubyはもちろ んのこと、これを支援する松江市の取り組みもいっそう注目されることになる でしょう。Rubyを使えばプログラムの作成が容易にできること、オープン・ソ ース・ソフトウエアであることから、今後Rubyの活用は飛躍的に伸びるものと 思います。

 しかし、何もしなくていいということではありません。Rubyを使いこなせる 技術者をたくさん育てることが必要です。松江市ではテルサ別館に開発交流プ ラザをオープンさせ、まつもとさんなどの指導の下、研修・交流を盛んに行っ ています。まつもとさんの指導がいつでも受けられるという本当に恵まれた環 境に松江はあるということです。こうした点に着目して、IT企業が研究開発 のスペースをテルサ周辺に求める動きもあります。松江市では、来年度予算と して情報関連企業が事務所を開設する際の経費に対しての助成制度を創設する ことにしています。松江駅周辺がアメリカのシリコンバレーのようになればす ばらしいと思います。

 また、IT企業がRubyを使った製品の開発を進め、上記の開発交流プラザで 育てた技術者の技能向上を図る必要があります。そして、基幹システムへの Rubyの活用を目指していくことが肝要です。このため、まずは行政が率先して 製品を購入していかなければいけません。松江開府400年祭のホームページは Rubyを使っています。これからも積極的にRubyの製品を使うようにしていきた いと思います。

 松江といえばRuby、Rubyといえば松江といわれるように、松江をRubyのメッ カに育てていきたいと思います。松江は、歴史、文化、自然と並んでRubyとい う大きなまちづくりの資源を手に入れました。今後、市民の皆さんへの理解を 深めていきたいと思います。

さて、これをどう読むか。

少なくとも市長は「地域資源」とは「まつもとのこと」ではなくて、 「松江にいるまつもとが開発しているRuby」と捉えていることは分かる。 また、市が率先してRubyを採用しようとしていること、開発交流プラザ(私が普段いるところ)を用意したことも分かる。

_ 松江とシリコンバレーの類似点

ところで、上の文章を見て思い出したけど、 シリコンバレー近辺の地図を90°時計回りに回転させると 松江市周辺の地形にちょっと似てる。ベイを囲む半島の様子と、 宍道湖を囲む地形が。

松江市はちょうどオークランドの辺りか。

_ TISの岡本社長の心配事:ITpro

オフショアなみの値段にならないかと値下げ交渉される話。 ひどい話だ。

いや、価格競争は当然だと思うけど、 オフショアの問題は嫌だけど値段は下げたいというのは 単なるわがままだと思う。

ところで、終始「オフシェア」と書いてあるのが気になる。

_ [言語] The Snowtide Blog >> Blog Archive >> Python 3 and Growth (or the lack thereof)

「Pythonは変化がゆっくり過ぎではないか」という心配。

これも難しいところで、仕事で使ってたりすると、 些細でも非互換な変更は許せないわけだし、 一方、新機能は欲しいし、 性能も向上してほしい。

で、RubyとPythonではおおむね違う選択をすることが多い。 どちらを選んでも100%満足する人はいない。 ある意味しょうがないわけだが。

「Pythonの方が責任感がある」ということは言えるかもしれない。

_ 平鍋さんと対談 「Ruby×Agile」

チェンジビジョンの平鍋さんと、英和永和の角谷さんと私で対談。 その内容は近日中に@ITに掲載される、はず。

キーワード

  • Ruby×Agile
  • DSL
  • Pragmatic Bookshelf

でも、ビデオとかとってたけど、ポスプロがめちゃめちゃ大変そう。 どうするんだろう?


2007年03月30日 [長年日記]

_ 母親誕生日

今日は母上様の誕生日。実際にはもう数日遅くお生まれだったそうだが、 父上様(つまり私のおじいさん)の「女の子は早生まれの方がトクだ」という 一声でこの日が誕生日ということになったのだそうだ。

昔はおおらかだったのね。

_ [OSS] L・トーバルズ氏:「かなり満足している」--「GPLv3」ドラフト第3版 - ZDNet Japan

ドラフト3版が出た。今回はLinusもかなり満足だそうだ。

その一方で知財や特許の扱いに不満な人もいるようだ。 まあ、万人が満足する出来にはならないだろうが、 おおむね「保守的で用語が明確」という私が予想(し、かつ、期待)した 方向になりつつあるようだ。

でも、解説をフォローするだけで、まだ自分で読んでません。 すいません。

_ [OSS] Open Tech Press | FOSSプロジェクトに時間ベースのリリースを勧めるMichlmayr氏

つまり、「肉の日リリース」は有効であったと。 そういうのもアリかなあ。

より詳細な情報が「QualityImprovementInFreeSoftware - Free Software における品質改善: リリース管理を中心に」(邦訳)にある。


2007年03月31日 [長年日記]

_ 姪、誕生

二番目の妹のところに女の子が生まれた、と聞いた。 めでたい。本当に「女の子は早生まれがトク」かどうかは知らないが、 はからずもそうなったね。

これで、一族が、えーと、何人になったんだっけ。

_ [言語] Objective Caml 入門

関数型言語アレルギーを克服すべく勉強しよう、というリンク。

でもねぇ、なんだろう、この理解できなさは。

絶対、先入観が原因だと思うんだけどな。 OCamlならそんなに「普通の言語」から遠いはずはないし。

実はOCamlのソースコードは読んだことがあるのだが、 そっちはすんなり読めたという。やはり、C言語だから? どんな言語でも内臓は大差ないから?

_ [Ruby] Headius: Can Your Ruby Do This?

JRubyのマルチ言語サポート。すげーっ。

「私のRuby」ではできませんとも、もちろん。

_ ITmedia News:「つまんない」「暇」を検索入力・会員100万人は簡単−−携帯ネットの意外な“常識”

私の理解できない世界があるということは、なんとなく分かった。

あまりお近づきになりたくない気もする。

追記:

「お近づきになりたくない」だけではあんまりなのでもう少し考察してみた。

なぜ、「お近づきになりたくない」かというと、あまり知性が感じられないからだ。 暇なのは分かるが、それを検索エンジンに愚痴られても。

が、そこは我慢してもうちょっと考えてみよう。

なぜ知性を感じないかというと、我々が理解している検索エンジンの仕組みを考えると 「暇」とか「つまんない」とか言われても、それは検索語としてまったく意味がないからだ。

が、上の事実は、世のケータイユーザの大半は検索エンジンがどのようなもので、 どのようなテクノロジで動作していて、 どのような検索が得意なのかということについて、 まったく知識がなく、想像力も働かないことを意味している。

長らくPCを中心としたコンピュータテクノロジは、

  • すごく知ってる人
  • ちょっと知ってる人
  • 知らなくて困ってるから周りに尋ねる人

くらいに分類されるユーザにリーチしていた。

しかし、ケータイの普及により、新しい層が登場してしまった。 すなわち、

  • 自分も知らないし、周りも知らない。 なんとなく分からないまま使ってるし、 分からないことは分からないままでも困らない

彼らは(過去の経緯を)なんにも知らないし、 知ろうともしないから、過去の文化を尊重することもないし、 新しい慣習(場合によっては迷信)を作ってしまう。 しばらく前に話題になった「読み逃げ」なんかはその例だろう。

「読み逃げ」は、話題のきっかけになったOKWebの質問は「釣り」だったけど、 そういう文化があるのは事実のようだし。 あと、バトンとか。最近では変なタイトルを使う「悪質」なものも登場している。

もちろん、以前にもこういう迷信を支える層は存在していたけど、 割合としてはごく小数だったし、 PCというのは「分からないままなんとなく使う」には難しすぎるツールだった ので、大勢に影響することは決してなかった。

が、今やこの層が国内だけでも数百万人である。

これだけの人数が持つパワーを考えると、 なにか「手を打つ」必要性もあるのかもしれない。

言語オタクの立場からだと、思いつくのは ケータイユーザ用スクリプト言語?

なにそれ。


最新 追記