2008-04-23[n年前へ]
■「統計はビキニ水着」で「説明文は(ミニ)スカート」の法則
説明文の長さに関し、実に的確なアドバイスの一つが「説明文は(ミニ)スカートだ」という言葉だと思う。
Sentence length is like a girl's skirt: the shorter the better, but it should cover the most important parts.
(文の長さは女性のミニ・スカートのようなもので、短ければ短いほど良い。しかし、最も大切な部分はカバーしていなければならない)
ミシガン・メソッド(ミシガン大学で開発された言語教習の流儀)から広まった伝えられているこの言葉は、まさに必要十分な「長さ」の「説明文」である。
この「説明文は(ミニ)スカートだ」という言葉と良く似た表現を使って、「統計」というものをこれまた上手く現したものがある。それはこんな言葉だ。
“Statistics are like a bikini. What they reveal is suggestive, but what they conceal is vital.”
(統計というものは、女性のビキニ水着と同じだ。実に思わせぶりで意味ありげな魅力的なものがさらけ出されているがように見える。しかし、肝心な部分は隠されている)
Aaron Levenstein
しかし、考えてみればこの「統計はビキニ水着」「説明文は(ミニ)スカート」といった表現は、結構何にでも使うことができるものかもしれない。
「必要十分」が望ましいものに対しては、それがどんなものであっても「○×は(ミニ)スカートだ。長すぎても短すぎてもダメだ」と言うことができるだろう。
また、多くの商品・技術…つまりはほとんど全てのものが「○×はビキニ水着のようなものだ。…」という風に言うことができそうだ。たとえば、"Ruby on Railsはビキニ水着のようなものだ、なぜなら…" "ダイナミックリコンフィギュアラブル技術はビキニ水着のようなものだ、なぜなら…"という具合である。
実は、「ビキニ水着」でないものの方が少なかったりするのかもしれない。
2008-05-20[n年前へ]
■「ネイティブ言語」の意外性
「DAPDNA」は、IP Flexのダイナミック・リコンフィギュラブル・プロセッサ「DAPDNA」だ。ダイナミック・リコンフィギュラブル(動的再構成)技術、つまり、チップの処理内容をns(ナノ秒)単位で切替えることで、多種機能を自由度高く比較的小規模なチップで実現することができるチップである。
私は去年、日本ですごい異世界を発見してしまいました。手話です。ネーティブの人、つまり「ろう者」の先生から直接手話を習っているんです。福祉に目覚めたわけでは全然なく、それが言語だと知ったからなんです。
高野秀行
このDAPDNAの統合開発環境には2種類ある。一つは、C言語のような「高級言語」を使う DFC Compiler で、もう一つが演算器をドラッグ・アンド・ドロップで繫げるGUI 形式の開発環境 DNA Designer だ。
DAPDNAの紹介文書を眺めていると、”DFC Compiler ではC(風)言語で手軽・簡単に記述することができます””DNA DesignerはGUIを使った開発環境で、ハードウェアの能力を最大限に活用した細かなチューニングをすることができます”というようなことが書いてあった。一瞬、「おやっ?」と不思議に感じた。「C言語なら簡単・手軽で、GUIプログラミングではハードウェアの能力を活かしきるチューニングが可能だ」というフレーズに意外性を感じた。たとえば、「Windowsのアプリケーションを作るのに、APIゴリゴリのプログラミングより、GUI開発環境でプログラミングする方が、チューニングできる」と聞いて、「あれっ?」と感じるような意外性を感じたのである。
言語が違うということは世界の見え方が違うということです。
高野秀行
しかし、これは少し考えれば当然のことだ。行いたい処理を、「C言語」で記述した内容から演算器群を用いて自動生成するのと、演算器を回路図として記述するのでは、後者の方が「ハードウェアの能力を最大限に活用した細かなチューニングをすることができる」のは当たり前である。GUI開発環境上でドラッグ・アンド・ドロップされ、それらの繋がりが描かれた演算器群こそが、こういったチップの動きを一番素直に記述する「ネイティブ言語」なのである。並列化が進んだシステム上で動くものを作るときには、GUI言語こそがネイティブ言語と言えるのかもしれない。
手話も、手話ネーティブもほんとに面白い。福祉の話題にしておくのはもったいなさすぎます。こんなに文字かなところに異世界があるんだから、一人でも多くの人に楽しんでほしい。
高野秀行
2008-05-21[n年前へ]
■「言語の特徴」と「古池や蛙飛び込む水の音」
言語はそれぞれ個性を持っていて、それを学ぼうとする私たちは、それを新鮮に感じたり、それを面倒だなぁ、と感じたりする。たとえば、名詞ごとに性別があったり、複数形単数形で言葉が姿を変えたりする。あるいは、音の大きさでリズムが刻まれたり、あるいは、音の高低で言葉の意味が変わったりする。そんな特徴は、私たちを悩ませると同時に、不思議な面白さも感じさせる。
今週号の週刊SPA!の坪内祐三×福田和也「これでいいのだ!」を読んでいて興味深く感じたのが、松尾芭蕉の「古池に飛び込んだ蛙は一匹か?100匹か?」という話題だ。自然な日本語では、複数形と単数形をほとんど区別しない。だから、「蛙」という言葉が書かれていても、その蛙が一匹なのか、それとも100匹なのかはわからない。そして、「水の音」と書いてあっても、それが「たくさんの水音」なのか、「ひとつ響き渡る水の音」なのかは、わからない。
古池や蛙飛び込む水の音
松尾芭蕉
この「蛙」をラフカディオ・ハーンは"frogs"と訳し、正岡子規やドナルド・キーンは、"a frog"と訳したという。古池の水面に一匹の蛙が飛び込み水音が静かに聞こえるのと、たくさんの蛙が次々と水中に飛び込んでいき、その音が次々と響き渡るのとでは、全く違う景色である。全く違う世界だ。「終わり」と「始まり」という言葉と同じくらい違う趣(おもむき)の景色だ。
蛙が何匹であるのか、その水音はどんな響きなのか、それは読者の心が決める。その自由度が、曖昧であると同時にとても良い。
2008-06-03[n年前へ]
■「GPUを使った物理計算プログラム」と「スクリプト言語」
日経エレクトロニクスを読んでいると、「GPUを使った並列計算で物理シミュレーションを高速化」という記事があった。PC用のグラフィックボードに搭載されている描画処理LSI(GPU)での物理計算の解説記事で、流体などの挙動を粒子群として計算するプロメテック・ソフトウェアの計算ソフトウェアを題材に、GPUで物理計算をする効果や注意点などを解説したものだった。そういえば、つい最近、「NVIDAがGPUベースのレンダリングソフトNVIDIA Gelato Proを無償提供開始」というニュースもあった。
ところで、GPUを使ったシェーダプログラム言語であるGLSL (OpenGL Shading Language)に触れたときに感じた新鮮さは、「GLSLで書かれたプログラムは、実行時にコンパイルされる」ということだった。シェーダのソースコードを書き換えると、そのシェーダを使ったアプリケーション実行すると、その実行時にシェーダプログラムがコンパイルされ動くのである。
その感覚はとても新鮮で、「C言語のようでCでない変なスクリプト言語」をいじっているような面白い感覚を味わった。また、自然に並列計算される具合が、何だか非同期で動くアプリケーションをスクリプト言語で書く感じに似ているのだろうか、と感じたりもした。
JavascriptやRubyや…といったスクリプト言語を使うプログラマが、GPUを使ったプログラムをいじってみると、これが結構ハマったり楽しむことができたりするものかもしれない。
2008-06-06[n年前へ]
■体感・実感バストシミュレータの内側(粒子群)を見る
「GPUを使った物理計算プログラム」と「スクリプト言語」で読んだ日経エレクトロニクスの、「粒子が動いて流体を表現するさまを示した図」が見ていて綺麗だったので、先日作ったプログラム、粒子法を使った(加速度センサ対応)体感・実感バストシミュレータにも表面レンダリングだけでなく粒子レンダリングの機能を付けてみました(バイナリはここに置いておきます)。
アプリケーションを実行させて、「皮膚」=表面層の内側を眺めたさまは下の動画のようになります。