2008-03-30

Googleを支える技術 -- 巨大システムの内側の世界 ([著]西田圭介, [版]技術評論社) #2

「第1章 Googleの誕生」を読んだ。

まず、Googleの出発点として「良い検索結果」=「役に立つ検索結果」だと捉え直したことがある。これを実現するための概念がWebページのランク付けであり、ランク付けのために(有名な)PageRankを始めとするアルゴリズムが考え出され、そして実装された。ページのランク付けは、Googleの誕生当時(1990年代後半)はもちろん、今なおホットで難しい問題であり、現在でもGoogleの技術的探求の中心でもある

1.4がインデックス化、1.5が事前に作成されたインデックスを使った検索そのものの仕組みの解説。1.3で解説されるクローリング(Webページを集めること)とともに、1.4は事前作業だから比較的時間をかけても良い。一方で、1.5の検索はユーザが検索語を入力してから、その結果が表示されるまでの短い時間(たいていは数秒)で行われなければならないことだ。それにもかかわらず、ここにはページのランク付けという困難がふくまれている。ここでの困難はランク付けの適切なアルゴリズムを考えることが難しいということではなく、膨大なWebページの情報(インデックス化で事前に作成されている)に対してランク付けアルゴリズムを適用し、その結果で並べ替えて、ユーザに検索結果として送り返す。それをごく短い時間でやらなければならない、という「スケール」に対する困難さだ。

実際、初期のGoogleではページのランク付けに関しては、一部のページのみが対象であったと書かれている(p.36)。

2008-03-30(23:39)時点で、本書の書名「"Googleを支える技術"」(書名をダブルクォーテーションで囲ってある)で検索したところ「約16,100件」という検索結果をGoogleは返してきた。時間は0.26秒だそうだ。「Googleを支える技術」としてダブルクォーテーションを取ると、「約236,000件」になり、これには0.40秒かかったとある。数十万という単位のデータに対して複雑な計算を実行し、結果をソートする。そこからさらにテキストの取り出し、結合、HTML化とやること時間のかかることはまだまだ多い。それをこの短い時間でやってのけるための仕組みがちょっと思い浮かばない。少なくとも第1章で解説されている方法を何の工夫もないまま素直に実装したら、このパフォーマンスは得られない。まあ、テキスト処理は実際に「検索結果ページ」を作るのに必要な件数(デフォルトは10件だっけ?)だけなんだが。それにしてもランク付けの計算は全部でやってるだろうしね。

その当たりの工夫が「第2章 Googleの大規模化」以降で解明されるらしい。

スーパーコンピュータを20万円で創る ([著]伊藤智義, [版]集英社新書)

これもRSS講読しているブログで紹介されていた一冊。どこのブログだったかはもうわからなくなってしまった。

Wikipediaによればスーパーコンピュータとは「内部の演算処理速度がその時代の一般的なコンピュータより非常に高速な計算機(コンピュータ)のこと。」となっている。とくに汎用、専用の別はなく、とにかくその時代で一番速いコンピュータたちのことだ。本書で描かれているのは専用の高速計算機の方。天文学における重力シュミレーションに特化した計算機を創る物語。

読みやすいし、当時の熱気みたいなものも伝わってくる。良く書かれたノンフィクションだ。ただ、残念なのは肝心のGRAPEを開発する過程の記述があっさりとしていること。「モノづくり」のおもしろさはディテールにこそ宿るのだと思う。いくつかの写真と回路図だけでは十分に伝わらない。

本書の中盤にあたる第3章から第5章が、タイトルにもある20万円のスーパーコンピュータ、GRAPE-1の開発に関する記述。プロジェクトに関わった人たちの関係や思いが丁寧に描かれているだけに、影の主役であるGRAPEの記述が少ない気がする。費用や期間では単純に評価できない苦労の部分をもっと知りたくなった。

本文にはできなくても、付録という形ならディテールを書けたんじゃないだろうか。開発ノートがあったそうだから、それを再構成するなりして。新書だからムリがあるか。

ウェブ時代の5つの定理 ([著]梅田望夫, [版]文藝春秋) #2

p.126
強い「プロダクト志向のカルチャー」が必要だ。 -- スティーブ・ジョブズ
You need a very product-oriented culture. -- Steve Jobs

この言葉を製品へのこだわりと読むのは簡単だけど、もう一歩踏み込んで考えたい。プロダクトとは最終的なユーザの手に触れるもの。そしてユーザに価値を持たらすもの。すなわち「プロダクト志向」とはエンドユーザにとっての価値を実現することを第一に考えることではないだろうか。

大きな組織に属していると自分の労働や成果がどんな価値を持っているのかが見えにくくなる。(たとえ製品開発であったとしても)プロジェクトメンバーだけで数百人、利害関係者をふくめるとさらにその数が増える、そんな状況ではメンバー一人、一人の貢献は部分に埋没してしまい、製品のユーザにとっての価値に結びつかない。それで「良い」製品などできるはずがない。

技術者、とくにモノづくりにこだわりたいと願う者にとって、何を(誰にとってのどんな価値を)作っているのかがわからなくなることは、仕事に対するモチベーションを大きく下げる要因になる。

常にユーザにとっての価値を思い、その実現に力を注ぐこと。それを可能にする組織であったり、開発手法であったり、技術者自身であったり。それがジョブズの言う「強いプロダクト志向のカルチャー」なのだろう。

Googleを支える技術 -- 巨大システムの内側の世界 ([著]西田圭介, [版]技術評論社) #1

RSS講読している、とあるブログで発売を知った。発売日(2008-03-28)に購入。まつもとゆきひろの序文と著者による「はじめに」を読み、目次を眺めたところ。目次の項目を追いかけているだけでワクテカしてくる。

Google人たちが書いた論文が公開されている(Papers Written by Googlers)のは知っていたし、そのうちのいくつかは読んでみたいと思っていた(英語に負けなければ・・・)。この本のおかげで、そのための敷居がグッと低くなった。ひょっとしたら、原論文まで読まなくてもイイかもしれないし。

まつもとが序文で言うように、ここ十数年のコンピュータを中心とした世界で起きた変化のほとんどは量(スケール)に関するものばかりだ。一方で、 Googleの出現は世界を、少なくともネットの向こう側とそこにつながる人の生活様式を変えてしまった。これは質的な変化だ。それが「量から質への転化」なのだとしたら、Googleを支える技術(序文で言うスケーラブルコンピューティングってやつ)こそがその変化を持たらしたことになる。

Google は2004年の株式公開以降、ビジネスの世界での成功が華やかすぎて、その技術的な面の露出度は相対的に高くない(隠しているわけじゃないんだろうけど)。技術に心を引かれた人たちも、どちらかと言えば次々と打ち出される製品やサービス(APIとかも)に眩まされて、それを実現している仕組みのことには目が向かない。けれど、「世界最大のコンピュータ」(「はじめに」より)としてのGoogleには最先端の技術が詰まっているのだ。本書はそのことに改 めて気付かせてくれる(目次を読んだだけで!!)。

もう、この本は売れる気がしてきた。なんか技術書なんだけどベストセラーリストに並ぶような気がしてきた。むしろ、並ばないとしたら日本(のコンピュータに関わる部分)に未来はないっていうぐらいの感じがしている。

2008-03-24

レバレッジ・リーディング ([著]本田直之, [版]東洋経済新報社)

今朝(2008-03-24)より、新しい通勤の友。ほぼ読み終わった。明日からはまた別の本を友として連れ出すことになる。

第1章は著者の主張が繰り返し語られる。とにかくたくさん読め、と。第2章は本の探し方、選び方。そして、第3章からが本を読むことに対して「ハウツー」っぽい内容になる。第4章は読んだ後どうするか。

第2章でちょっと驚いたこと。世間には有料の書評サービスというものがあるらしい。

とくにアメリカで盛んです。忙しくて本を読めない人に代わってサービス業者のスタッフが主な新刊を読破し、読むべき本を選んで紹介するというサービスで す。・・(中略)・・内容のサマリー(要約)も充実していて、・・(中略)・・これを読めば、実際に本を読んだのと同じくらいの効果が得らえるのがすごい ところです。

なんというかアメリカっぽいね。

肝心の第3章で展開される読み方は、「本を読む本([著]M.J.アドラー/C.V.ドーレン, [訳]外山滋比古/槇 未知子, [版]講談社学術文庫)」にある「点検読書」に近いようだ。

第4章はまだ途中なので、読み切ったときに振り返ってみよう。

2008-03-23

働く気持ちに火をつける ([著]齋藤孝, [版]文春文庫) #2

先週ぐらいかな、通勤の電車の中で読了。

著者が、仕事の柱だと言う「ミッション、パッション、ハイテンション」(p.224)のうち、後の2つはちょっと受け入れにくいけれど、最初の「ミッション」に関しては近頃、似たようなことを考えていただけに心に響くものがある。

梅田望夫が言う「好きを貫く」姿勢にしても、本書で言われる「ミッション感覚」にしても、決して不可能なことを掲げているわけじゃない。改めて言われてみれば当たり前と感じられること。けれど、手が届きそうで届かないことでもある。あとちょっとなのかもしれないけど、まだ足りないものがある。それは何だろう。決意と覚悟、さらには継続の意志。
・・・あらら、「あとちょっと」じゃないっぽい。

心に引っかかったところを引用しておく:

社会の中での自由とは、束縛がないことではない。社会の中で、他者に働きかけていける技を一つでも二つでも持っていること、これが真の自由だ。・・(中略)・・だから、社会との接点が薄い存在でいることは、はっきりいって恐ろしく不自由だと思う。
自分の手で仕事を喜びにし、人生をデザインしていく楽しさを知らないのは、あまりにも惜しい。
(p.20)

この一文がどうにも心に痛い。痛いってことは、そこが弱いところだってこと。いや、まあ、わかっているんだョ。

帯には「スカッと働くコツを伝授!」と書かれているけど、ここに「こつ」やら「技」は書かれていない。少なくとも具体的ですぐにそのまま実行できるようなものはない。著者は教育者(教師)なのだと思う。教育を行う者にとって大事なことは生徒が自分自身で考えるように仕向けることだ。答えを教えることじゃない。だから、この本に答えを期待してはダメ。これは、答えを探そう、という気持ちにしてくれる本。タイトルにある通り、「火をつける」本なのだね。

2008-03-14

働く気持ちに火をつける ([著]齋藤孝, [版]文春文庫) #1

梅田望夫のブログで存在を知り、ここしばらくの仕事に対するモヤモヤした感じをどうにかできるか、と買ってみた。早速、通勤の友として連れ出した(3/12)。

何というか、熱い本だ。この著者の本を買うのも読むのも初めてなのだけど、こんなに熱い人だったんだね。数年前から書店で平積みにされていることが多く、著者の名前だけは覚えていたんだけど。

熱いというか、むしろ煽動的というべきか。書かれている内容すべてを肯定的に受け取ることはできないのだけど、それでも「熱」が伝わってくる。ふと気付く と、自分の中に「使命(ミッション)」を探していたりする。そういう意味では確かに「火をつける」本ではある。タイトルに偽りなし、と言える。

仕事に熱くなれ、というのはたやすい。けれど、みながみな熱くなれる仕事に就いているわけじゃない。そういう反論が出てくる。これが間違っている。熱くなれ ないようなものを仕事にするな、ということなのだ。その状態(仕事に熱くなれない)は自分自身にとっても、周囲にとっても(たとえば雇用者)不幸なことだ から。仕事とは嫌でも好きでも人生のほとんどの部分をつぎ込むことになるもの。それを「好き」になれないとしたら、人生がみじめなものになる。

ほら、やっぱり熱くなってる。

本を読む本 ([著]M.J.アドラー/C.V.ドーレン, [訳]外山滋比古/槇 未知子, [版]講談社学術文庫) #1

前日(3/12)に通勤の友として読み出した「働く気持ちに火をつける」([著]齋藤孝)が、煽動的な内容だったので、今日(3/13)はもう少し落ち付いたものを連れて出ようと、この本をポケットに入れて家を出た。

これでも本好きで、「趣味は?」と聞かれたら本読みですと答えるぐらいなんだけど、何というかこれまで漫然と読んできたのか、とショボンとしてしまう。それ ぐらい「読書」というものを技術として突き詰めている。そんな内容だというのが目次と第一部の途中まで読んだ時点での印象。

読書の技術としての最終形態、「シントピカル読書」にまで到達できるだろうか? そもそも、それってどんなもの? 最後まで読めばわかるかな。

2008-03-11

クリティカルチェーン -- なぜ、プロジェクトは予定どおりに進まないのか? ([著]エリヤフ・ゴールドラット, [訳]三木本亮, [版]ダイヤモンド社) #2

昨夜(2008-03-10)、さっくりと読了。睡眠時間も1時間ばかり削ってしまったけど。

大半は TOC の復習で、それを PM (プロジェクトマネジメント) にどう適用するか、という内容。PM の場合のスループットはプロジェクトを計画どおりに完了させられるかどうか。遅れればスループットが低い。

個々の作業見積りにはマージンとかバッファとか呼ばれるものはふくめず50%の成功確率となる期間を見積る。その代わりプロジェクト全体で、クリティカルパスの後にバッファを用意しておく、などなど。PM版TOCとして実践的な内容になっている。

そのあたりまでは良くわかったんだけど、クリティカルチェーンのことになると、わからなくなった。6章(最後の章だ)あたり。じっくり読めばわかるかもしれない。
しれないけれど、読む気になるかね。

2008-03-10

クリティカルチェーン -- なぜ、プロジェクトは予定どおりに進まないのか? ([著]エリヤフ・ゴールドラット, [訳]三木本亮, [版]ダイヤモンド社) #1

今朝(2008-03-10)から通勤の友。仕事がらみ。クリティカルチェーンって何? 、という疑問の答えを求めて積ん読の山から掘り出してきた。

数年前に、ダイヤモンド社から出ているゴールドラットの一連の著作(「ザ・ゴール」に始まるやつね)を買ってあった。うち始めの2冊は、買った当時に読んだんだが、残りの2冊を放り出してあった。その4冊目に手を出したわけだ。3冊目は・・・気が向いたら読むでしょ。

プロジェクトはどうして遅れるのか? その疑問に答えてくれるんだろうか。
ほんと、どうして遅れるんだろうねえ・・・。

2008-03-08

科学的に説明する技術 -- その仮説は本当に正しいか ([著]福澤一吉, [版]サイエンス・アイ新書) #2

さきほど読了。読後の印象がもやもやしていたので、整理するために軽く見返してみた。 第1章と第2章はそれ以後の内容のための準備。第3章が本論。第4章がその補強。最後の第5章は本論に対する別の見方の紹介。といったところか。章名を上げておくと以下のとおり:
  1. 科学マインドを理解する
  2. 日常議論から科学的な議論へ
  3. 科学的説明の論理
  4. 説明理論構築の実際とその検証
  5. 科学者の誠意とは何か?
章を追うごとに科学哲学(メタ科学)の様相を深める。とくに5章はそのまま科学哲学の話になっている。 肝心の3章の中身について俯瞰してみる。「知りたい」という素朴な気持ちの発露から説き起こして、「実態調査型研究」と「仮説検証型研究」の別を述べ、さら には科学では後者が重視されること、その方法論として「仮説演繹法」があることを述べる。この「仮説演繹法」が本書のテーマである「科学的に説明する技 術」そのものだ。 「仮説演繹法」については、p.139の図がわかりやすいか。こんな感じ(↓):
観察などによるデータ収集 → 仮説の形成(帰納的推論) → 予測を導く(演繹的推論) → 予測の実験的確認 → (A)
(A)で予測が誤りであれば「反証」されたことになり「仮説の再構成」に、正しければ「確証」されたことになり「仮説が真に近づく」と。 5章で「さわりの部分」だけが紹介されている科学の方法(仮説演繹法)に対する批判に関して、もっと知りたくなったかな。

2008-03-04

ウェブ時代 5つの定理 ([著]梅田望夫, [版]文藝春秋)

2/28か29ぐらいの発売。発売と同時に購入。文庫でも新書でもないけどソフトカバーでコートのポケットに収まったので、今朝(3/4)から通勤の友になった。

第1定理のアントレプレナーシップを読み終わり、第2定理チーム力に入ったところ。

内容には目新しさを感じないけれど、構成として英語の「名言」が節の冒頭に掲げられているのがおもしろい。英文そのものもわかりやすい文で、そのまま読んでも理解できる。加えてその翻訳が良い。こういうのを読むと、普段ろくな翻訳を読んでないんだなあ(技術書)と実感する。

2008-03-01

ミーム・マシーンとしての私 (上) ([著]スーザン・ブラックモア, [訳]垂水雄二, [版]草思社) #3

3. 文化の進化

生物学的な進化を離れ、人の文化が進化するという観点に立ち、さまざまな先人たちの研究の結果を持ち出しては、これはミーム理論と似ているけど違う、充分で はない、と切り捨てていく。文化の進化を唱えるほぼすべての研究者たちが、その源泉を生物的な遺伝子に求めているが、それは適切ではない、と。

「人間の行 動を十二分に理解するためには、遺伝子淘汰とミーム淘汰の両方を考慮しなければならない」(p.93)。

まとめとして、ミーム現象を説明するために既成の科学は役に立たない、それはゼロから構築しなければならない、と。

まだ、風呂敷を広げている最中かな。どう折りたたんでいくつもりかしら。

ミーム・マシーンとしての私 (上) ([著]スーザン・ブラックモア, [訳]垂水雄二, [版]草思社) #2

1. 奇妙な生物

人 間は地球上の他のいかなる生物とも似ていない点を持つ。それは「模倣」することである。他の生(動物)は模倣をしない(できない)、またはごくまれにし か行わない。「模倣」によって伝わる何か、それが「ミーム」。遺伝子と同じく「利己的」な自己複製子である。ただし、ミーム理論はまだ認められた学説とは なっていない。

2. ミームとダーウィン主義

自己複製子が変異、淘汰および保持という三つの大きな要件の下に置かれたとき、進化 は不可避である。進化の過程はアルゴリズムであり、基質に対して中立的(基質が何であれそれは機能する)。ただし、進化というアルゴリズムの結果を予測す ることはできない。実際に動かしてみなければ何が得られるかはわからない。自己複製子としてのミームは、上記の三大要件を満たす。単独ではうまく模倣され ないミームも、いくつか複合すると模倣の機会が増大することがある。このため、ミーム複合体が生まれる。デネットによれば人間の心や自己(意識)はミーム の相互作用によってつくりだされる(以下、引用の引用):

あらゆるミームが頼りにできる到達すべき安息の地は人間の心である。しかし、人間の心そのものは、ミームたちが自分により都合の良い生息環境にするために脳を再構築するときにつくりだされる人工物なのである

ざっとまとめるとこんなところ。ここまでを2/25あたりに読んだわけだ。軽く斜め読みしつつ、復習をしてみた。