月別アーカイブ: 2006年4月

0から創る難しさと制約の中で創る難しさ

「Back to the future」という映画をご存知だと思う。アメリカのごく普通の少年がタイムスリップして大冒険するという三部作で、あまりにも有名だろう。実は一番大好きな映画で、おそらく30回近く観賞しているはずだ。「三部作でどれが一番面白いか」なんてことが議論されることがあるが、個人的にはあまりそういった区別をしようとは思っていない(ちなみに区別するなら1と2&3の二つに区別すべき)。
さてBack to the futureを見たあとにいつも考え込むのが、

  • 制約の少ない中で、自由にモノを創る難しさ
  • 制約がある中で、最大のアウトプットを出す難しさ

の違いである。これは具体的にどういうことかを説明したい。

例えばストーリーを完全に自由に組み立てられる1に対して、2では「未来に行くところから始めなければならない」、「お父さん役の俳優が出演できない」、「主人公の恋人も未来に一緒に行ってなければならない」、「主人公の子供の事件に関する描写がないといけない」などという制約がどっさりと付いてくる。1では映画という芸術作品を創造することが可能だったのに対して、2&3ではこれらの制約の中に数学的な最適解を出すことが求められていたはずだ。この二つの創造行為は、まったくもって違う能力が試される。
これはソフトウェアを製作する現場でも日々目にすることである。例えば新パッケージを製作するときには、自由にモノを創る難しさに突き当たることが多い。「生みの苦しみ」というやつである。これは概ね決断の苦しみであり、特に前例のない、または前例が調べられない状況であると「自分のやろうとしているやり方で正しいのか」、「いつか問題になるのではないか」という不安に苛まされて、前に進めなくなる状態になり苦しむ。だが動きは比較的自由である。
一方既に稼動しているパッケージに修正を加えるときには、「制約の多さから来る苦しみ」を味わうことが多い。例えば不具合を一つ直す場合にしたって「既存ユーザーがバグのまま問題なく使用している可能性」を考え出したりすると、おいそれと修正パッチも出せないのである。バグとはいかなくても「このUIは使い辛いな」と好意で直したのに、既存ユーザから「勝手に変えないで下さいっ!」と文句を言われた経験のある人は結構多いのではなかろうか。システムの裏側の動きを改善しようとしても、インターフェースとなるテーブルが変更の出来ないテーブルだったりして、プログラムも自由に組めないといった状況に陥り易い。これらが「制約の多さから来る苦しみ」の一例である。一方でこの状況は、決断を下すのは楽である。前例に従えば良いわけだし。
「どちらの状況で活躍できるエンジニアの方がエライ」という話をするつもりはない。エンジニアの風林火山分類じゃないけれども、エンジニアが力を発揮し易い状況は様々だからだ。無論多くの状況で結果を出せるエンジニアはエライ。その意味で0からBack to the futureという素晴らしい映画を創り上げ、制約の多いなかで2と3を良い映画に仕立てあげたこの映画の製作陣はエライのである。

バック・トゥ・ザ・フューチャー トリロジー・ボックスセット [DVD]

バック・トゥ・ザ・フューチャー トリロジー・ボックスセット [DVD]

電車内で見る若者の「没頭する能力」について

電車内で化粧に勤しむ女性、PSPと真剣勝負している男性、友達(または彼氏)と電話で大盛り上がりしている女性が迷惑の対象として、そして社会性を失った若者の象徴として語られることはしょっちゅうあるが、視点を変えて彼らの「没頭する能力」について考えてみたい。つまり彼らに見られる特徴的な共通点を「周りの迷惑を顧みない傲慢さ」であると考えるのではなく、「周りの状況いかんを気にせず、自分のやっていることに集中できる」と考えてみる。
彼らが住んでいる世界は非常に狭い。「自分が世界の中心」なのではなく、自分が世界そのものであり、自分以外の「電車に乗ってるおやじやばばあ」は世界にも入っていないのである。彼らにとって「ちら見してくるばばあ」や「うざったそうなおやじ」や「肩が当たったとなりのにーちゃん」なんていうのは、宇宙から地球を見ている宇宙人のようなものであり、「関係ねーじゃん」と切り捨てる対象である。今までの常識から言えばこういったものの考え方は「社会的な能力の欠如」であるが、実は「周りの状況を気にしない」というのは「何かに集中する」ために絶対に必要な能力であり、「ところ構わず何かに集中する」ために「社会的な能力を捨てた」という考え方が出来るのである。
彼らのやっている行為が何か生産的だという訳ではないので評価されることなどないが、例えば彼らがこの集中力をプログラミングに発揮すればgeekと呼ばれる人間になれるかもしれない。デザインや音楽に発揮すれば芸術家として高く評価されるかもしれない。Paul Graham氏の名スピーチ「Great Hackers」にて同氏はハッカーの特徴の一つとして「高い集中力」があるのではないかと語っている(引用文の翻訳はshiroさん*1)。

http://www.shiro.dreamhost.com/scheme/trans/gh-j.html

友人の幾人かは、ハッカーの集中力に関して言及した。一人の言葉を借りれば、「他の全てのことを頭から追い出せる」能力だ。私も確かにそれには気づいていた。また、何人かのハッカーが、ビールを半杯でも飲んだら全くプログラムできなくなると言っているのも聞いた

本和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。
Copyright 2004 by Paul Graham
原文: http://www.paulgraham.com/gh.html
日本語訳:Shiro Kawai (shiro @ acm.org)

この「他の全てのことを頭から追い出せる」能力ってまさに今語っている能力のことではなかろうか。なんと日本の若者に、スーパーハッカーの予備軍がたくさんいることを発見してしまった。こいつは喜ばしいことだ。
ただ彼らをこのまま放っておけば、自動的に様々な分野でハッカーになる、なんてことは当然ない。どうすればそうなるのかを考えるのが教育を考えるということだろうし、そうなるようにするのが教師や親の役割なんだろうと思う。ただ旧世代に彼らを正しく導けるか、と問われれば「無理だろう」と答えざるを得ないのもまた事実。ネット上で進むべき道を発見したり、自己学習の方法を習得したりと、言わば「Google先生」の指導を賜るものもいるだろうが、それ以外の人間はよほどの幸運に恵まれないかぎり、その才能の花を開かせるのは難しいかもしれない。
最後に「では親や教師の役割って何なのさ」という疑問に関しては、Danさんの以下の文を引用して、今後の考える材料としたい。

http://blog.livedoor.jp/dankogai/archives/50468260.html

AudreyをはじめとするAlpha Geeksたちの最大のgiftは、才能ではなく、そんな彼らを陰でささえているふつうの人々なのです。giftedな人たちは五体不満足ならぬ五感不満足な人々なのです。人のたすけがなければ一日として生きて行けない、そんな人たちなのです。

以上。日本と日本の若者に幸多からんことを。

*1:本題とは関係ないのですが、以前mixiにてshiroさんの訳にわけのわからないケチを付けたことがありました。この場を借りてお詫びします。

中国の若者とGoogleとKai-Fu Lee

The New York Timesに「Google in China: The Big Disconnect」という長い記事が載っている。どうやらTimes magazineに載る予定の記事のようだ。少しずつ読んでみようと思う。

When he started the Microsoft lab seven years ago, he hired dozens of China’s top graduates; he will now be doing the same thing for Google. “The students of China are remarkable,” he told me when I met him in Beijing in February. “There is a huge desire to learn.”

中国の若者の間でKai-Fu Lee氏の人気は凄まじいらしく、講演会にダフ屋まで出てしまうそうだ。Googleの中国支部のトップでもある同氏が、中国の学生の学習意欲の高さに感心を抱いているようだ。これは様々なところで聞かれる意見であり、おそらく真実なのだろう。一緒に働いている中国人の人にしても、最近よく見るコンビニで働いている中国人にしても、とにかく必死に何かを学ぼうとしている。かれらは「自分の能力を向上させることが、生活(つまり収入)の向上に直結する」という信念を持っているように見えるし、多かれ少なかれそれは彼らにとって現実なのだろう。そういった向上意欲の高い中国の学生にとって、同氏は成功者の見本みたいなものに違いない。しかし知らなかったのだが、彼って台湾育ちだったのか。

Lee has been with Google since only last summer, but he wears the company’s earnest, utopian ethos on his sleeve: when he was hired away from Microsoft, he published a gushingly emotional open letter on his personal Web site, praising Google’s mission to bring information to the masses. He concluded with an exuberant equation that translates as “youth + freedom + equality + bottom-up innovation + user focus + don’t be evil = The Miracle of Google.”

“youth + freedom + equality + bottom-up innovation + user focus + don’t be evil = The Miracle of Google.”という表現が非常に印象的である。個人的には”desire to study”というのも入れておきたいと思う。おそらく同氏がMicrosoftからGoogleに移った根本的な理由もこの辺にありそうだが、Google及びネットが、youthにequalityを与えることにより、強いdesire to studyを持ったyouthがbottom-up innovationを起こす。そういったビジョンの信奉者なのだ。何のことはない、ネット時代をしっかりと理解しているおじさんだったということだ。その点では梅田望夫さんと似たようなものである。

しかしこういった記事を読んでひしひしと感じるのが、中国人技術者への脅威である。僕は彼らの何倍かの給料を貰いながら、彼らと同等かそれ以下の価値しか創造していないのではないか、そういった不安が胸をよぎるのである。その不安を拭い去るためにも、自らも学び続けなければならない。

興味のある分野を整理しよう

このブログのタイトルにもあるように、「二十代は模索のとき」と決めてあらゆることに手を出してみている。これは仕事でもプライベートでも同様のモットーとしているのだが、三十路から「ある専門」を持った人間になるためにも、そろそろ「模索をする範囲」を限っていかなきゃならんなぁ、ということにこの間気付いた。三十路から絞り始めるんじゃ遅いだろうと。
そんな訳で、現在興味のある分野を整理してみた。

  • 情報技術関連
    • IPv6の技術とそれが社会に与えるインパクト
    • 組み込みソフトウェアの技術
    • Pythonでのコーディング
    • Linuxのカーネル
    • オープンソースの今後の発展と自分の参加
  • 経済・社会・政治
    • Googleの行き着く先
    • 日本からGoogle、Amazon、eBayのような企業は生まれるか
    • 明治〜昭和初期の出来事が、現代にどのように影響したか
    • 環境に良い製品(水素エンジン等)の今後の展開
    • 日本は今後どのようにFTAを締結していくべきか(特に農業分野)
    • 日本人の英語学習
    • アメリカという国の動き
    • 自民党一党政治が社会に及ぼしている影響
  • プライベート
    • 海外移住
    • 面白い映画の発掘
    • 料理技術の向上
    • 水泳とマラソンのタイムアップ
    • カフェ&レストラン巡り with 奥さん

挙げた中には、現在まったくもって知識のない物も含まれている(組み込みソフトウェアとか)。今後は全体的にウォッチはしつつも、徐々にどこかに照準を絞っていくことになるだろう。興味がこれからあまり増えないとよいのだが。

しかしはてブ見ると、自分が何に興味あるのか客観的に分かって面白いです。

コミュニケーション能力が売り

http://d.hatena.ne.jp/fromdusktildawn/20060414/114499951

たいして中身のない人が、コミュニケーション能力を武器に、要領よく立ち回って得意げになってるのって、いやな感じですよね。

あのいやらしさって、どこからくるのでしょう?

もちろん、中身とコミュニケーション能力の両方を兼ね備えた人が理想なわけですが、現実には、どちらかに偏っている人はよくいます。そして、中身かコミュニケーションかのどちらかをウリにして自分の居場所を確保していることがよくあります。

この方、相当僕に似た意見をお持ちでらっしゃる。「コミュニケーション能力が売り」とか「みんなの意見を纏め上げて…」とか「個々人の能力を的確に掴んで…」とかそういうことを売りにしている人って、大抵一緒に仕事をしたくない人間が多い。大抵はそいつ自体は何でもない人間であるからだ。それで「出来るけれど、自己発信しないタイプ」の人間に寄りかかって生きていってるにも関わらず、そいつより評価されてしまったりする。だから採用面接などで、そういう言葉を口にする人間は大抵評価が下がってしまう。「まず君の価値は何なのかな?」そういう気持ちになってしまうのだ。
さらにこういう人間のような会社もある。高い技術力を持っているわけでもなく、製品がすごく良いわけでもなく、ただ「たまたまそのポジションに一番最初に入ってきた」だけの会社、要するにビジネスモデル(嫌いな言葉)が最大の武器のような会社である。個人的には、小生意気だけど、なんか気に喰わないんだけど、無愛想で宣伝下手なんだけど、製品があまりにも良すぎるから成長しちゃった、そんな会社が好きである。今は大分違うけど、AppleやGoogleはそういう匂いのする会社だ。
コミュニケーションが必要でないなんて思わないけれど、価値を生み出せる者同士のコミュニケーションじゃないと何の意味もない。だからまず、確かな価値を生み出せる人間になるように努力しているわけです、僕は。

東大が授業を配信

http://www.itmedia.co.jp/news/articles/0604/12/news087.html

MITの例もあるので若干心配だが、本気で取り組んで欲しいところ。コンピュータサイエンス関係が配信されたら見よう、ってiPod買わないと。

http://ocw.u-tokyo.ac.jp/course-list/engineering/computer-hardware-2005/index.html

で既にコンピュータ・アーキテクチャの講義ノートなどは手に入りますね。

社会人こそ勉強しようぜ

http://www.chikawatanabe.com/blog/2006/04/post_6.html

全職種で平均給与は上がっているが、ひとつを除いて全て雇用は減っている。上から2つ目はコンピュータ・通信のハードウェア製造業だが、平均給与は19%伸びているのに雇用は25%減少、上から4つ目のソフトウェアも、平均給与が19%伸びているのに、雇用は11%減ってるわけです。

個人として考えれば怖い話ですが、業界全体として考えれば素晴らしい話。

ということで、一生学び続けるつもりがない人は、業界構造が変わるたびに振り落とされていくわけ。

日本でこういう言葉をなかなか耳にしないのはなぜだろう。単純なことなのに。大学受験の弊害か、社会人になると(いや、大学からか)勉強しなくなる輩が多いように思う。「頑張って仕事してんだからよ〜」とオフの時間に勉強なんて夢にも思わない奴が多い。が、「社会人が勉強しなくて、一体誰が勉強するんだ」と強く言いたい。勉強をすぐに効果に繋げれられる訳だし。
シリコンバレーの給与水準には素直に驚き。でもプログラマーって本来こういう仕事、つまり一部の優秀な人間が時限的に高級で雇われる、なんですけどね。デザイナーやサウンドクリエイターと同じ構図が成り立ってしかるべし。
さあ、自分も頑張ろう。

WEB2.0とニューエコノミーの語られ方が似ている件について

こういうタイトルが流行っているのは何が発端なんだろう。

この記事が発端となって、ここここを中心に騒ぎが起きている。まあ僕としても

とはいえ,その技術力は投資家の評価材料にはなっても,営業売り上げを直接生み出しているわけではない。技術や技術力そのものに値段をつけて売っているソリューション・ベンダーなどとは異なるビジネスモデルである。

はひどいなぁ、というか誤解だなぁとこの記事には思うわけだが。ソリューション・ベンダー(こういう用語は好きではないのだが)が技術や技術力で生計を立てているなんて感覚はとても持てない(まあ広告にはそう書いてあるけどね)。
話を本題に移すと、なんかこの記事に対する反応を色々読んでいて思ったのだが、WEB2.0とニューエコノミーに対する人々の反応がなんか似ているのではないか、ということ。梅田さんのオプティミズムがこの論調の基となっているのであれば当然なのかもしれないが、何かWEB2.0という言葉を否定するのが許されない空気、というよりむしろ否定的な感覚、及び既存のものとのアナロジーで語ることが許されない空気が醸成されている。「おいおい、これってバブルじゃねぇ?」、「バ〜カ、ニューエコノミーだよ。今までの常識と照らし合わせるな」というどっかで見た構図が出来上がっている気がするのである。R30さんのブログに

今回の「Web2.0」はもともと何か具体的なサービスや製品を指すわけでもなく、実体のないただの言葉遊びだったので、2年後ぐらいには世の中から完全に忘れられてしまう気がする。2000年の頃によく言われていた「ニューエコノミー」みたいなのと同じようにね。

とあるように、両者とも実体がない言葉遊び、ではないかという懸念もそっくりかも。
上述の識者達が、そして世界のビジョナリーたちが、あえてWEB2.0という言葉を肯定的に捉えることによって「世界をより良いものにしていこう」という目的を達しようとしているのは分かっているつもりだ。というかむしろその為にWEB2.0という言葉が生み出されたという言い方も出来るだろう。それは素直に応援したいし、僕も微力ながら関わりたいと考えている。しかし一方で否定的な意見や、実体が無いが故に理解できないといった意見に耳を傾け、素直に吸収し、オプティミズムを基礎とした議論を精錬していかないと、結末までニューエコノミーと一緒になってしまうのではないか、そんな懸念を持ったわけである。
記事を書いた井出氏は、みんなが分からないと思っていることを「先生、それ分かりませ〜ん」と勇気を持って先生に問いかけた生徒の様に、すすんで道化の役割を買って出たものと思うようにする。

インターネット内臓パソコン

While Google, Yahoo and Microsoft are busy building legions of data centers to capture the contents of the Web, a fledgling company has decided that it will squeeze the essential Internet onto a single laptop.

The company, Webaroo, plans to announce Monday that Acer, a leading maker of personal computers, will begin selling laptops furnished with 40 gigabytes of data, representing a snapshot of the Web.

ノートPCに40ギガバイト分のインターネットのデータを詰めてしまうというお話。それを使えばオフラインでも検索がかけられますよ、というのがWebaroo社の売り文句のよう。データはネットに接続する度に更新されるらしい。

Like many Internet start-up companies, Webaroo hopes to sell advertising. The idea is that the company will make it possible for advertisers to reach customers on their laptops and eventually on other mobile devices when they are not connected to the Internet.

Later this year, the company plans to start offering even more customizable Web packs that can be automatically updated on each Internet connection.

Webaroo said it hoped to strike further deals like the Acer agreement with computer and mobile-device manufacturers.

Webaroo社は広告と、ノートPCや携帯端末の製造業者との契約で売り上げを立てていくつもりのよう。ぱっと見だけど、テクノロジー的に凄く面白いことはやってなさそうだなぁ。
高校生の頃熱心にNIFTY Serveをやっていたのだが、普段巡回している掲示板の情報を一気に集めてくれる便利なソフトがあった。確か月額900円くらいで利用できたのだが、なんとなくこの記事を読んでいて、そのソフトのことを思い出した。お世話になったなあ。

デジタル機器のおける不具合

4/9の朝日新聞朝刊に「バグ頻発デジタル製品」という記事があり、どれどれと読んでみると、非常に耳の痛い話だった。

デジタル家電などに内臓され、特定の機能をつかさどる「組み込みソフト」でバグ(欠陥)が猛威を振るっている。デジタル製品の高機能化が急速に進んでソフトの規模が大きくなっているのに、開発段階からプログラムのテストが追い付かないためだ。

猛威の例として、プリウスのエンジンが止まった、ソニーのウォークマンのバグが頻発、ブラビアで電源が落とせなくなったなどが挙げられている。またキヤノンや松下電器でも、ホームページの「重要なお知らせ」欄にはソフト修正の告知がずらり、だそうだ。
この記事によると、いまや製品開発のコストの7割はソフト開発費だそう。また、現在の携帯電話のソフトは、80年代の銀行オンラインシステム並みの複雑さを持っているらしい。

ソニーの中鉢良治社長は、技術系で人材が欲しいのは「ソフト部門」と言い切る。その枢要部門で技術者が「バグつぶし」に追われてしまうと、新規開発が遅れ、コストもかさむ。

という記事もあり、我々ソフト屋としていはまだまだ必要とされていそうなので嬉しいような気もするが、その需要を創り出しているのもこれまた我々だという構造になっているよう。耳の痛い話である。

ソフト屋としてあるまじき発言に聞こえるかもしれないが、僕は「バグは絶対に発生する」という前提を持った上で、それに対してどのように対策を立てるかが重要であると考えている。例えばデジタル機器を定期的にネットワークに繋げることにより、パッチを素早く当てることの出来る仕組みを作るとかそういうことが大事、ということ。
またWEB2.0っぽい考え方を持ち込むのであれば、各社ハードの仕様は完全に公開してしまって、Linux等のオープンソースを基に、基本OSの共同開発に乗り出すべきなのではないだろうか。当然バグは出るのだが、共通のソフトを使っていれば、バグの減少も共有できる訳だし、コストが随分と押さえられるだろう。そういった協力体制を組まないと、もう各社各様ではやっていけないほど複雑化な構造物を相手に我々は闘っているのだ。