2013-03-24

"カッコウはコンピュータに卵を産む(上/下)" Clifford Stoll 著

さらに一冊、本棚の奥から目線を送ってくるヤツがいる。たまには再読月間なるものがあってもええか。十年前であれば、一度読んだ本を読み返すなんて、専門書でもない限り考えもしなかった。ブログってヤツが、気まぐれの範疇を広げるのか?おまけに、推理小説ばりの展開が一気飲みを誘い、今日も朝日が眩しい。

カッコウといえば、種間托卵で知られる。托卵とは、他の鳥の巣に卵を産みつけ、仮親に育てさせる習性のこと。そこで、仮親が自分の卵だと思い込んで温めてくれるか?これが運命の分かれ目となる。ハッカーは、カッコウの生態とよく似たやり方でスーパーユーザになりすまし、コンピュータに卵を産みつける。システム管理者は、それに気づかず卵の実行を放置し続けるのだった。
かつてハッカーという言葉は、技術者魂を感じさせるものであったが、コンピュータ犯罪の代名詞へ変貌していく時代。この物語は、著者クリフォード・ストール自身が、コンピュータ侵入者を追跡した体験談を綴ったものである。彼はこの事件をきっかけにセキュリティの専門家となるが、あくまでも一介の天文学者であることを強調する。当初コンピュータの素人だったそうだが、システムを監視する辛抱強さは研究者の資質がなくては勤まらない。あらゆる現象や行動を日誌に記す執念。「文章のないところに現象はない」というのが、天文学者たる者の鉄則だという。いまやネットワークノードは天文学的な数字で点在する。しかも、宇宙と同じく、均等化よりもクラスタ化を望むかのように。そこに天文学者が関わるところに因縁めいたものがある。
研究能力は天才的な機転や着想にかかっていると思われがちだが、地道な努力と集中力、そして何よりも継続力が問われる。天才的な発想とは、普段から思考を試みている結果なのであろう。そして、ハッカーの側にも同じことが言えそうか。ここで紹介されるシステムへの侵入方法に、天才的な閃きがあるわけではない。むしろ独創性の欠乏を執念で補っていると言うべきか。その意味で、追跡する側と追跡される側の人間性は似ているのかもしれん。

時代は80年代と古く、コンピュータの脆弱性とユーザの認識は、今とは比べ物にならないだろう。だが、システムの安全性に関する問題は、本質的に変わっていない。それは、仮に完璧なセキュリティシステムが存在したとしても、操作するのは生身の人間だということである。パスワードが絶対に盗聴されないとしても、メモを貼ったり、デフォルトのまま放置したユーザも少なくない。完全な暗号鍵をこしらえたとしても、どこかに鍵を渡す伝言経路が存在する。すべてのユーザが危機管理に認識を高めたとしても、睡眠口座、永眠口座、幽霊口座のようなものが生じる。長期間使われない口座は俺のモノ!としてしまえば、ハッカーも銀行屋と同じ人種か。
だからといって怪しい者を片っ端から締め出しては、コンピュータネットワークの利便性を根本的に否定することになる。利便性とリスクのバランス、この問題は人間社会に永遠に付きまとうであろう。建て前では、軍、国防企業、ネットワーク運営機構など、どこのシステムも機密の厳重さを宣伝する。一旦、審査機関がシステムの安全性にお墨付きを与えれば、欠陥に関する情報は抑えこまれる。そして、ある程度の専門知識を持った一般ユーザの方が、その危険性をよく把握していたりするものだ。安全神話には、官僚化しやすいという特性がある。要するに、人間の思い込みってやつほど厄介なものはない。群衆パニックを恐れるあまりに肝心な情報が隠蔽されるという構図は、人間の政治的特質と言うべきであろう。ただの一人が問題を指摘しても、それを不都合に思う多数派によって揉み消させるのがオチよ。そこで今、オープンソースのような経済モデルがどこまで機能するかが問われている。いわば、民主主義の在り方のようなものが...

1. 侵入経路
物語は、ローレンス・バークレー研究所から始まる。BSD系unixを生んだカリフォルニア大学バークレー校のそば。この研究所は、かつてマンハッタン計画の一翼を担っていたという。だが、1950年代、主要研究はローレンス・リヴァモア研究所に移転し、機密の束縛から解放される。コンピュータの性能はやや劣るものの、ネットワークが自由に利用できる空気に研究者が群がる。
まだメインフレームが主力の時代とはいえ、人気機種はVAX。OSはDECのVMSとバークレー流unixが併用される。計算機室では、VMS信奉者とunix権威者が議論の応酬。著者クリフは、天文学研究のかたわらシステム管理者となる。90年代初頭でも、システム管理を専門技術とする意識が薄く、ちょいとマシンに詳しい者が仕事の合間にやったものだ。彼もその類いであろうか。
さて、ハッカーの侵入経路を眺めるだけでも、なにやら懐かしいものがある。その発端は75セント。コンピュータ使用料が75セントだけ合わない。原因究明は新米管理者にうってつけの仕事と思われた。使用料の請求がなければ、誰も侵入者に気づかないというお粗末さ。
侵入者は、バークレー研究所を足場に、Milnet経由で軍事施設や世界中の基地のコンピュータを物色してまわる。Milnetとは、米国防総省の軍事研究用ネットワークで、当初インターネットの前身だったARPANETから独立していたが、インターネットの一部となった。ちなみに、日本の研究機関に、JUNETというのがあった。ニュースの閲覧などで利用したものだが、これが日本におけるインターネットの前身になろうか。
侵入口は、telnetポート番号23と通信レート1200ボーを確認、すなわち、電話回線。バークレー研究所は、世界中のコンピュータを結ぶ通信サービス会社タイムネット(TYMNET)に加入していたという。この頃、既にパケット通信が主流のようだ。パケット経路を測定すると、到達時間が異常に遅い。侵入者は月の住人か?やがて逆探知によって、DATEX-Pネットワークからのアクセスが確認される。DATEX-Pは、タイムネットのドイツ版で、ブンデスポスト(ドイツ連邦郵便局)が運営管理しているという。なるほど、地球の裏側からの侵入であったか。とはいえ、アメリカからDATEX-Pにアクセスして、逆戻りしているかもしれない。逆探知の精度を高めるために偽の機密ファイルをちらつかせたりと罠を仕掛け、ドイツ当局は侵入者の名前と居所を押さえた。だが、FBIの正式な要請がなければ動けないという。しかも、外部に情報を漏らすことができない。クリフはただ指をくわえて、侵入者のコマンド監視を続けるのだった。

2. セキュリティホールと侵入の手口
侵入の手口は、atrun をまがいのファイルにすり替えて、システムが卵を返すというもの。unixシステムには、atrun を5分おきに実行する仕組みがある。その常駐デーモンは、atd。ちなみに、コマンド at はキューにスタックしたジョブを指定の時間に実行させるが、その仕掛けを利用したもの。当然、atrun は一般ユーザには手の届かないシステム領域に格納される。スーパーユーザの情報が漏れているのか?
GNU emacs には一つ、いかんともしがたい脆弱性があったという。誰でも、どこでもファイル転送ができるという開放的な思想なだけに、保護領域にもファイル転送ができてしまうとか。emacs開発者リチャード・ストールマンは、なによりも情報は万人の財産であると強く主張した人物。研究者たちが、GNUに群がったのは言うまでもない。しかも、多くのシステム管理者は、その穴を知らずに放置していたとか。ちなみに、guestユーザの権限や、ftp の anonymous がデフォルトで許可されていないか?などは最初にチェックするものだが、昔は穴を塞ぐよりも、とりあえず高価なマシンをネットワークにつないで、それから考えていたような気がする。
こういう穴だらけのシステムに対して、VMS信奉者はunixを揶揄する。だが、プログラム固有の穴は、ちょっと知識のある人なら誰でも知っていて、対処法の情報交換も盛んに行われていたという。むしろ問題にするならVMSの欠陥の方だという。バージョン4.5 にはトラック1台くぐれる穴があるとか。DECは穴を塞ぐソフトを配布しているが、外部にはひたすら隠していたという。ちょっと待て!VMSは、国家安全保障局が許可し、安全のお墨付きを与えていたではないか。一年間かけた検査では、DECがちょっと手を入れて、くぐり抜けたんだとか。既に5万台の欠陥コンピュータが出回っていたという。
いまやコンピュータシステムの脆弱性を、製造メーカ1社に委ねるのは危険である。この世に完璧な安全システムが存在しないとしたら、安心を買う方法には2つある。危険性を承知した上で自己防衛に励むか、危険性に目を背けて神に祈るか。尚、前者は情報公開という厄介なものが前提され、後者は知らぬが仏の原理が働く。そりゃ、幸せな方を選ぶかぁ...
ハッカーは、ps -eafg と叩いている。プロセス状態を表示するコマンドだ。unix系を使ったことがある人なら、ps aux を一度は叩いたことがあるだろう。fフラグがバークレー版にないことから、旧世代のunix信者だと分析している。
また、ハッカーはパスワードファイルをコピーしてまわっている。パスワードは暗号化されているが、これをどうするのか?どうやらパスワードを解読している模様。
さらに、ネットワークプログラムに目をつけている。telnet と rlogin のソースをコピーしようとする。いずれもユーザコマンドを送信するプログラムで、トロイの木馬を仕込むのにおあつらえ向き。telnet をちょいと手直しするだけで、パスワード盗用プログラムに変貌するのは言うまでもあるまい。今では、telnetを禁止して、sshにしているが、それで大丈夫なのかは分からん。
また、バークレー研究所で最も無防備なElxsiコンピュータが紹介される。建設設計グループが導入して一ヶ月ほど。ハッカーは、UUCPアカウントに入り込む。なんと、パスワードも聞かれない。おまけに、UUCPアカウントに最初から特権を与えている。思いがけずスーパーユーザになって慌てた模様。ハッカーは、Elxsiの性能を測定するプログラムを実行して、警戒心を煽らないように、そっと入り口を塞いで去っていった。

3. パスワード破り
パスワードファイルを取得したところで、文字列は暗号化されていて、解読はほぼ不可能である。当時の標準暗号は DES でアルゴリズムは公開されいてるが、暗号化方向は一方通行。ハッカーは、暗号解読のアルゴリズムを編み出したのか?その可能性を否定はしない。だが、人間が思いつく文字列は、だいたい何らかの意味をなす。しかも、覚えられるようなキーワードにするだろう。ハッカーは、片っ端から辞書にある単語を入力するという原始的な手法を用いているようだ。そして、辞書に載った単語から、暗号プログラムに通したリストを作るのは難しいことではない。生成された暗号文字列を照合させるだけで、パスワードを解読することができる。こういう指摘は古くからある。だから数字や特殊文字を混在させることが奨励される。
また、暗号解読のアルゴリズムを編み出したとしても、100%の精度を求める必要はない。25%でも、4回のトライで当たる計算。ちょっと根気のある人なら、すべてのユーザに対して10回づつぐらい試すだろう。ロールプレイングゲームなど、アイテムを探し出してパワーアップしていくようなストーリー性は、このような根気を要求する。解読できた時の快感を味わう心理原理は、ゲーム性の確率に支配されている。ユーザ名義がばれるだけで、しかも、ユーザの一人が貧弱なパスワードを設定しているだけで、かなり危険な状況にあるというわけだ。人為的なミスや悪行から完璧にシステムを守ることなどできるのだろうか?今の標準暗号は AES に代わったが、量子暗号が標準化されたとしても、鍵を受け渡す伝言経路は完全に保護できるのだろうか?

4. 官僚組織の重い腰
冷戦時代、東西ドイツは諜報活動の最前線。ハッカーはドイツ駐留米軍基地を物色している。ハッカーの侵入した企業は...

・ユニシス: 機密厳重が表看板のコンピュータメーカ。
・TRW: 軍用ならびに宇宙開発用コンピュータメーカ。
・SRI: 軍からコンピュータの機密保護システム設計を請け負っている。
・マイター: 軍用の機密厳重なコンピュータを設計し、NSAのコンピュータ安全監査を担当。
・BBN: Milnetを構築。

いずれも、政府から多額な補助金を受けとる羽振りのよい超大企業。機密保護システムの設計、製造、構築、監査に携わっていながら、自社コンピュータには出入り自由ときた。だが、銀行ネットワークには見向きもしない。機密情報をKGBにでも売るつもりか?
FBIは、たった75セントの被害?と門前払い。CIAとNSA(国家安全保障局)は興味を示すものの、管轄はFBIだと主張。空軍省OSI(特別捜査課)は、Milnetをいかにして防御すべきか苦悩するものの、具体的に動けない。国家コンピュータ安全センターは、コンピュータの保安基準を定めるのが仕事で、運用上の問題には関与しないと言い切る。んー...どこぞの原子力規制委員会みたいなことを。どこの国でも官僚の動きは鈍い。
しかーし、アメリカの高級官僚のレベルでは、ちと違う。CIAは陰ながらすぐに情報収集に動く。コンピュータ安全センターの科学主任ボブ・モリスは、クリフをNSAの副長官ハリー・ダニエルズと面会させる。モリスは、AT&Tベル研究所でUnixのパスワード保護機構を開発した人物だという。彼は、プログラムやシステム固有の問題があるにせよ、それを把握するのはシステム管理者の責任だと指摘している。
さらに、NSAの副長官という雲の上のような存在が、第二次大戦中、日本の暗号機をいじくっていた人物で、ネットワークの専門用語がすらすらと通じる。しかも、この手の事件で記録の大切さを十分理解している。現場をしっかりと把握し、危機意識を持ったお偉いさんが、官僚組織の中に一人いるだけで国家は救われるのだろう。おそらく、組織の優秀さというものは、こういう一人に支えられるものなのだろう。大概の組織では、こういう人物ほど異端児扱いされ、葬られるものだが...

5. ウィルス騒動
これはハッカー事件とは関係ないが、ウィルスが増殖する被害が発生し、全米のunix達人たちが立ち上がった様子を紹介してくれる。組織化されていない技術集団が、暗黙の組織となるのは壮観!
ウィルスはメールシステムを攻撃。sendmailの穴から侵入し、finger と telnet で、他のコンピュータに乗り移る。通常、sendmailに電子メールを送りつければ、滞りなく宛先に届いて用は足りる。だが、異常があった場合、発信者は誤りを検出して、デバックモードを要求することができる。これが裏口。デバックモードでは、コマンドを受け付ける。ここに、ウィルスが実行されるように仕組まれたという。中には、sendmailの穴を悪用されないように修正している管理者もいたそうな。
もう一つのルートが、finger デーモン。fingerはユーザ情報を表示するコマンド。これは、512文字の容量がある。ウィルスは、536文字を送りつけた。はみ出した24文字はどうなるか?コマンドとして実行されるだけのことよ。
ただ、いずれも繁殖するだけでデータを破壊しないのだから、ウィルスというよりワームか。ネットワーク負荷を増大させるのだから、有害であることに違いはない。犯人の名は、ロバート・T・モリス。ボブ・モリスの息子だ。あのポール・グレアムは息子モリスにメールで聞いている。輝ける大作戦の成り行きは?と。2000台を麻痺させたが、あまり出来のいいワームではなかったらしい。これで、父モリスのNSAでの立場が悪くなる。ワームにせよ、ウィルスにせよ、性質が分かれば治療できる。この場合、sendmail と finger デーモンの穴を塞いで、パスワードを変更し、システムに増殖したウィルスを除去すればいい。とはいえ、そう簡単でもないだろう。ウィルスは2日ほどで撃退したという。結果的に、NSAの息子のおかげでシステムの脆弱性の認識を高めることになった。
いまや、パスワードの盗用被害はますます勢いを増し、インターネットは国際謀略の手段と化した。ネットワークという巨大な怪物を相手取るのは、あくまでも生身の人間であることに変わりはない。利便性とリスクのトレードオフとは、自由と平等の関係と類似したものに映る。

2013-03-17

"超マシン誕生" Tracy Kidder 著

なにやら忘れかけているものを思い出させてくれる...ようなヤツを、本棚の奥からもう一冊。こいつも純米酒と一緒に読み流すつもりでいたが、またもや朝日が眩しい。
本書には、かなり古いイメージがある。だが、PALを採用する話も飛び出すから、大して世代が変わらないのか?ちょっとショック!ちなみに、GALやらPALの話題で盛り上がっていると、夜の社交場の専門用語ですか?と若年どもが近寄ってきた...

原題 "The Soul of a New Machine" は、1982年ピューリッツアー賞を獲得した書。もう古典の部類に入るのだろうか。この物語は、データゼネラル社製 32bitミニコンピュータ、Eclipse MV/8000 の誕生秘話である。それは、「自己実現、達成感、自己充足」のための冒険であったとさ。
かつて技術大国と言われながら、コンピュータサイエンスがあまり評価されない我が国で、20年前から指摘されてきた空洞化が現実のものとなった。売上至上主義が蔓延し、技術者たちを道具の一部として売り飛ばしてきた。一方、金融主義や商業主義の猛烈なアメリカでさえ、設計開発の醍醐味を評価する風潮はいまだ衰えない。
「ヨーロッパの大伽藍を建てた石工たちは、金のためだけに働いたのではない。彼らは神のために寺院をつくったのだ。それは、人生を意義あるものにする仕事だった。ほかでもない、そういう仕事をウエストとその配下の技術者たちは求めていたのだと私は思う。
事実、彼ら自身、ことあるごとに金のために働いているのではないと言った。イーグル誕生の余波の中で、グループのある者は、働きに見合うだけの金も名誉も得ていないと思っていた。また、そのことでいささかむかっ肚を立てているのだと語った者もいる。だがそういう技術者たちでさえ、プロジェクトそのものについて語る時には、かつてと同様の熱っぽさで語り、その顔を紅潮させたものだった。」

プロジェクトが家畜小屋のような場所から始まる様子には、懐かしいものを感じる。地下倉庫のような所から生まれたベンチャー企業も多いことだろう。膝が触れるような人口密度の高い空間から。自由奔放な酸素とは、そんな薄暗い劣悪な環境から光合成されるものかもしれん。
しかし、事業が軌道に乗り、立派なオフィスを構えた途端に、銀行屋が押し寄せる。今まで見向きもしなかったくせに。融資のために奇妙な監査が出入りするようになると、組織は融通性を失う。外部から資金を入れて、優秀な技術者が出ていくのでは、何をやっているのやら?そりゃ、収入が多いに越したことはない。だが、技術屋が何より欲するものは、自由奔放な空気なのだ。
ボスのトム・ウエストは、メンバーたちを退屈させず、大概の自由裁量を認める。だが現実に、メンバーに自由裁量を与えると、無秩序になると恐れるマネージャが多い。縛り付けて、それでうまくいっているのか?などと自問しないのだろうか?技術屋たちの頑なな気持ちは妥協を許さない。それは、サービス残業などとは次元が違う。気違いじみた仕事のやり方で、数日だって徹夜する。魔物にでも憑かれたような集中力は、ある種の麻薬症状とでも言っておこうか。この快感がお偉方には分からない。事なかれ主義で出世してきた連中に分かるはずもないか。管理職にイエスマンたちが陣取れば、技術者も自らの責任範囲を宣言して自衛に走る。
また、日本には、コミュニケーションを図るために忘年会や親睦会といった行事を重視する組織が多い。欧米でもチームでパーティをやったりするが、ちと違って義務化しようとするのだ。不参加を査定対象にすると脅す組織もあると聞く。群れることをチームワークだと勘違いしているのか?哲学的な共通意識があれば、無理やり仲間意識を煽る必要もあるまいに。とはいえ、どうしても人間性で合わない者同士がいる。組織には、上司と部下が互いに選び合えるぐらいの緊張感があっていい。仲良しグループを募ってもうまくいかないであろうから。
ところで、飲みに行く時は断りやすい空気を漂わせておきたい。断る理由に、今日は気分じゃないぐらいでOK、観たい番組があるからぐらいでOK。自然に集う空間だから居心地がいい。しかーし、そろそろ帰ろうかなぁ...と席を立つと、飲みに行くぞ!と勝手に翻訳する奴らがいる。たまには断れよ!と、鏡の向こうで赤い顔をしたプロジェクトリーダが愚痴を漏らしていた。

1.  Eagle vs. Fountainhead
今は、ミニコンピュータなんて死語であろうか。IBMメインフレームが主流の時代、DECはミニコンピュータ市場を開拓する。DEC社はとっくにお亡くなりになったが、80年代末から90年代にかけて、この会社に憧れる電子工学科の学生で溢れていた。本物語には、あの懐かしいVAXも登場する。
データゼネラル社は、DECの退職組を中心に組織され、世界第2位のミニコンピュータメーカにまで成長する。当初16bit戦争であったが、VAXシリーズの登場が32bit戦争の引き金となる。
プロジェクトリーダのウエストは、せっかちを絵に描いたような人物だという。いちいち説明する暇もなければ、波長が合わないとすぐに失望するのだそうな。そんな彼がターゲットとしたのは、VAX 11/780。
1976年、Fountainhead Project(FHP)を開始。ところが、開発部隊が本拠地マサチューセッツからノースカロライナへ移転することになると、士気は低下する。従業員たちは家族ごと大移動しなければならないことに反発。そして、残ったエンジニアたちがエレガントなマシンを作る決意をする。彼らは新しいマシン名をEGOと名付けた。FHPのアルファベットを一文字ずつ遡ると、EGOとなる。FHPよりも先んずるという意味か。ちなみに、「2001年宇宙の旅」中で猛り狂うコンピュータHALの名は、IBMの文字を同じように遡ったところからきているそうな。狂乱を先んずるという意味かは知らん。
会社の本気度はチーム編成に見て取れる。FHPの50人体制に対して、EGOの5人。だが、得てして少数精鋭という自負が士気を高める。もし成功すれば英雄になれるし。
1978年、FHPが成果を上げられずにいる中、Eagle Projectを開始。Eagleという言葉は、略すとEGOに近い。白紙のようで白紙でないようなプロジェクト。そして、非公式的で迅速に事を成す。会社とは無関係にやっているような奴ら、と漏らす古株もいる。チーム固有の空気を醸し出すのは、縄張り意識の顕れであろう。好転したプロジェクトにありがちな現象で、優秀なチームという誇りが、そうさせる。
しかし、大成功を収めたとはいえ、プロジェクト解散前に醜態を見せる場面もある。特許申請のための会合で、誰が何に寄与したか非難の応酬。やはり人の子か。これらのプロジェクトには、最終的に約300人が携わったという。大所帯ともなると、何かと揉めるものらしい。

2. 設計開発の醍醐味
プロジェクトリーダのウエストはアーキテクチャの専門家を必要としていた。コンピュータ構造を知り尽くしたスチーブ・ワラックに白刃の矢を立てる。だが、ワラックは、会社が Eagle Project に本腰なのか疑っていた。そして、社長エドソン・デ・カストロに直接聞きに行く。社長室のドアは、意見のある技術者に常に開放されていたという。社長の答えはただ一つ、32bit Eclipseの実現!それは、Fountainhead でも、Eagle でもいいはず。ワラックにとって、想像しうる最高の仕事とは、完全無欠の夢のコンピュータを作ることだったという。最低の仕事とはガラクタを作らされること、これが技術者の本音であろう。プロジェクトリーダが最も気を使うところである。
アーキテクチャにとって、とりわけ命令セットの設計が要で、適切な命令セットの選択はコンピュータの性能を決定づける。ワラックは、VAXの命令セットをスーパー命令セットと呼んでいる。これは互換性を犠牲にしていた。だが、データゼネラルは、Eclipse の古い技術との完全互換を目指していた。
マイクロコードの利点は融通性にある。とはいえ、今の融通性とはかなり抽象度が違う。これをソフトウェアというかは微妙か。カットアンドトライ宗教は、ハードウェアとマイクロコードの双方を熟知した技術者へと進化させる。今時、マイクロコードを書くプログラマなんて、とんと見かけない。マイクロコードという用語も通じないか。スクラッチパッドという用語は、逆に携帯端末で耳にするようになった。巨大マシンが小型化しただけといえば、そうなんだけど。物理的な構造が大して変わらなければ、用語も受け継がれるところがある。だが、媒体や手段の違いでニュアンスも変化する。社内であってもグループ間で専門用語の使い方が違ったり、通信制御や画像処理といった分野の違いでも用語のニュアンスが違ったりする。自然言語と同様、専門用語も文化の影響を受けやすい。
さて、最先端のマシン設計では、その時代の最高周波数との戦いを余儀なくされる。それは、時間の征服に他ならず、周波数、スケジュール、リリース...すべてがトラブルの根元にある。時間は人々を殺気立たせ、ナノ秒単位で押し寄せてきやがる。周波数との戦いはノイズとの戦いに転化され、極めてアナログ的なところがある。いや、山勘的か。ハードウェアは、今ほどソフトウェアの言いなりになってはくれない。電圧レベルを全体的に下げると、ノイズレベルが相対的に下がり、スレッシュホールドとの比で、特定の電圧範囲だけ正常動作するとか...プローブを当てると正常動作するが、離すとノイズに埋没するとか...実験室ではうまくいっても、展示会場に持っていくと、たちまち誤動作するとか...その原因は、実験机は古びた年季の入った木製だが、展示会場はスチール製の机で反射でノイズが拡散されるとか...むかーしの思い出が蘇る。汚い配線、汚いコード、汚い設計は、すべて誤動作の要因となる。マシンの性能を損なう手段なんて事欠かん!
設計で最も恐ろしいのは、地雷を踏むこと、いや、知らぬうちに自ら地雷を埋めることか。したがって、熟練者の設計は、恐ろしく几帳面で配線や配置が美しく、匠の域を感じる。また、技術の根幹には、スリリングを楽しむことがある。時間に余裕ができれば、面白半分にトラップを作る衝動に駆られる。これを冒険心というかは知らん。

2013-03-10

"ハッカーズ" Steven Levy 著

言語設計者たちのインタビュー(前記事)を聞いていると、なんとなく本棚の古典に目が留まる。もう20年かぁ...600ページもの分厚さ、風呂上がりのビールでちょっくら読み流すつもりが、いつの間にか朝日が眩しい。こういう本は、何か忘れかけているものを思い出させてくれる...ような気がする。
「汝、それに触れるべからず!と決めつける文化を否定すること、自分の創造力でそいつを否定していくことが必要なんだ!」

今日、ハッカーという言葉に悪い印象を与えることが多い。自称ハッカーってのがのさぼり、ネット社会ではいつの間にか一般市民が犯罪者に仕立てられる時代、いずれも本来の意味から酷く逸脱していくように映る。ハッカー倫理とは、けして他人に迷惑をかけるものでもなれば、自己顕示欲を誇示するものでもなかろう。ましてや、権威主義や商業主義といった脂ぎった発想から生じるものでもなければ、特許紛争に躍起になるものでもなかろう。マシンを知り尽くし、能力を限界まで引き出そうとする人で、子供の純真な好奇心を哲学的に高める実験。そう、知的冒険という意味であった。
本書は、かつて電子工学の創造性を純粋に謳歌した人たちが居たことを物語る。ハッカーとは、技術への狂気を生き甲斐へと昇華させた連中!とでも言っておこうか。コンピュータは命令する者の愚かさを忠実に反映しやがる。そこに快感があるのか。ある種の自虐的楽観主義か。彼らはマシンをハックしながら、日常生活をハックし、その究極に人生をハックしようとする。コンピュータ設計とは、ある種の人生ゲームを作っているということかもしれん。

本書は、ハッカーの起源を50年代末から60年代のMIT(マサチューセッツ工科大学)のAIラボに遡る。そこには、テック鉄道模型クラブ(TMRC)という冒険家の集まりがあったとさ。彼らは、スリリングな喜びを感じる作品や計画を「ハック」と呼ぶ。ハッカー主義を奨励した二人の教授も見逃せない。マービン・ミンスキーと Lisp のジョン・マッカーシー。それは、メガマシン IBM704 を取り巻く官僚主義との戦いから始まった。
こういう物語は、昔のTSS(タイムシェアリングシステム)を思い出させる。最悪なのはユーザ使用量に対する課金システム。同じ会社の汎用機でありながら、各部署に使用料を請求しやがる。まさに縦割り官僚組織。ちょっとしたシミュレーションを試すにも、予算にCPU時間、メモリ使用量、ディスクスペースを申請しなければならなかった。コンピュータが計算していなくても、どうせアイドリング状態にあるのに。1人にパソコン1台なんて夢のような時代であった。
ここで紹介される伝説的なソフトウェアハッカーは、リチャード・グリーンブラットとビル・ゴスパー。この頃のハッカーたちは、BASICを能力の発揮できないファシスト言語と見なしている。とはいえ、コンピュータを凡人に近づけてくれたのも事実。やがてゲームなどの多彩な機能が要求されると、抽象化言語の重要性を認めていくことになる。
アナログ錬金術師スチュアート・ネルソンは、PDP-1 を接続して電話システムをハックしたという。70年代になると、Intel 8080チップが登場。Altair 8800(1974年、MITS社)は、これを搭載したコンピュータキット。メモリはわずか 256byte で入出力装置がなく、フロントスィッチでパチパチさせながら直接メモリにデータを入力する仕組み。見えず、聞こえず、口のきけない三重苦の状態にあったという。当初から本体よりも拡張基板に注目され、ハードウェアハッカーを覚醒させる。合言葉は、自家製コンピュータを楽しもうぜ!「ブートストラップ」は、ハードウェアハッカーたちが作った用語の一例。リー・フェルゼンスタインのジャンク屋流と、スティーブ・ドンピアの音楽演奏は技術魂をくすぐる。
しかし、80年代になると、ゲーム業界が急激に成長し、商業主義の波が押し寄せる。この頃、ベンチャーの介入がはじまる。ハッカーたちは著作権や印税の誘惑を知り、ハッカー倫理は終焉を迎えたとされる。しかし、ゲームがコンピュータの大衆化を加速させたのは間違いない。そんな潮流にあっても、ジョン・ハリスは生まれながらのゲームハッカーだったという。彼には異性人が異星人に見えるのかは知らんが、女性にはただ憧れるだけ。ハッカーたちは共通してあまり女っ気がない。それどころか、この物語に女性ハッカーが見当たらないのはなぜ?ハッカーたちには、どこか社会嫌いや人間嫌いなところがある。修行に女は必要ない!ってか?いや、必要だ!せめて体の触れ合いぐらいは仮想化を避けたい。んー...色と欲の酔っ払いには、ハッカー倫理は縁遠きものらしい。
ちなみに、電子工学科のおいらのクラスには、約100人の中に女子生徒が2人いて、アイドルでもないが中心的に振舞っていた。一方、薬学科の友人のクラスに遊びに行くと、約100人の中に男子生徒が20人ぐらい、ひそひそ話をしながら行儀よく座っていた。同じ少数派でありながら堂々とした態度を見せつけられると、社交性では女性の方がはるかにたくましく映ったものである。

そして25年後、MITで最後の真性ハッカーと称すリチャード・ストールマンは、古き善きハッカー文化が死につつあると嘆く。ストールマンといえば、emacs の開発者として知られる。あらゆる文化で最も活気に溢れる時代は、その黎明期にあろうか。奇妙な常識化が進むよりは、馬鹿にされるぐらいでちょうどいい。歴史を振り返れば、あらゆる革命的な市民運動が、その純粋な姿を保ち切れなかった。革命児によってもたらされた組織でさえ、やがて官僚化する運命にある。業界が成熟するということは、マーケットが出来上がるということ。コモディティ化を促進しながら携わる人々が凡庸化する。そして、枯渇し、飽きられ、自滅していくのか?消費主義は、消耗主義へ変貌し、消滅主義へ導かれるのかは知らん。ハッカー倫理も例外ではない。伝道師たちによって庶民に広まると暴走を始める。無法者の割合が変わらなくても絶対数が増えると、そこに奇妙な群衆の波が生じる。やはり、シャングリ・ラのような世間の目に晒してはならない領域があるのだろうか?

1. ハッカーとノンハッカー
ハッカーとノンハッカーを分けるものは、アップル社を創設した二人のスティーブに見てとれる。スティーブ・ジョブズは、いまや伝説的な実業家とされる。だが、スティーブ・ウォズニャックの天才的な設計がなければ、Apple II が歴史的なコンピュータとなることはなかっただろう。技術者には、ウォズの名の方が馴染みがあるかもしれない。会社を作るということは、金儲けに関わるということ。それは、ハッカーとして一線を越える行為でもある。ウォズはアップル社を去った。
なにも商業主義が悪と言うつもりはない。技術を徹底的に探求するには金がかかるし、何事も成長には投資が必要である。書籍も買えない貧乏では学ぶことすら難しい。ただ、成功の証がフェラーリやポルシェを何台も所有するのでは、ちと違う。一流の技術を持ち、優れたビジネスパートナーに恵まれ、巨額を手にすることが可能となれば、人はどうなるのだろうか?どれだけ純真さを守る力があるというのか?歳を重ね、経験を重ねると、理性的になるかと言えば、それも怪しい。商売戦略では、巧みな駆け引きを覚え、出し抜くことに注力する。そして、自虐的楽観主義は、自愛的悲観主義に変貌する。ただし、ここで言う自愛とは、他人のせいにすること。人間ってやつは、肉体も精神も腐っていくのだろうか?どうりで、大人になると、足が臭くなり、口が臭くなり、酒席で醜態を演じるわけよ。
近年、商業的成功者が、ますますもてはやされる傾向にある。その境界は、ビル・ゲイツあたりになろうか。MS-DOS が IBM PC の事実上の標準となれば、Windows が Mac の特長であったGUIの美味しいところを持っていく。今では、アップルの方が革新的イメージを強く与えるが、これらを革新的精神と言うのかは知らん。マスメディアを味方につけると何かと都合がいいのは、いつの時代も同じ。あらゆる業界で、二番煎じ、三番煎じがうまいことやる。コンピュータフェアの発起人やブームに乗るなど、政治的振る舞いや宣伝能力に長けた人が大儲けをする。Lispマシンを福音するにも、ある程度の商業化は必要であろう。だが、ハッカー倫理に照らし合わせれば妥協を許さない。商業的に成功したものが、技術的に優れているとは言えない。そこそこ使えるぐらいでも、何か新しい風をもたらしそうだという空気を与えるだけで、人々は群がる。社会は感情で動くもの。それが現実だ。
しかし、本当の意味で社会を支えているのは、草分け的な活動を地道にしている人たちであろう。人間社会には、一番やっている奴が、あまりお金を貰わないという法則でもあるのだろうか?あるいは、権威や大金は人を惑わせるが、そんな脂ぎった精神と付き合わずに済むということであろうか?

2. 自由奔放と民主主義
ハッカー精神が受け継がれるコミュニティと言えば、オープンソースのような経済モデルは、民主的な草分け運動によって成功した例と言えそうか。しかし、普通の民主主義と、ちと違う。誰でも参加できるとはいえ、議論のレベルが高ければ気後れし、最低限度の知識や規定が暗黙に引かれている。だから、罵ったりするような悪態はあまり見かけず、ほとんどが建設的な発言となるのだろう。ちなみに、気後れせず図々しく自己顕示欲を剥き出しにする人を政治屋と言う。
民主主義にとって、誰でも発言できるというよりも、誰でも傍観できるということの方がはるかに重要なのかもしれない。ここに情報透明性の原理がある。政治では機能しない民主主義が、専門のコミュニティで機能するのは、共通目的による集合体であるということであろうか。特定のエンジニアに後援会もなければ、個人的な支援運動があるわけでもない。無秩序でありながら奇妙な秩序がある。まるで生物組織が形成されるかのように、役割分担が自然に形成される。技術を探求するには、当然ながら自由奔放な雰囲気が欠かせない。
しかしながら、どんな集団であれ能力差が生じるし、相対的に劣等者を生み出す。自己の居場所を自然に確保できれば、自由はすこぶる心地良いが、必死に居場所を探す必要に迫られれば、自由は窮屈になる。実際、優秀なエンジニアと仕事をするとかなり辛い。こっちは、いつも全力疾走しなければならないのだから。ちょっと休んでくれ!とお願いすると、実は互いに見栄っ張りで、余裕を演じていただけというオチも、たまにはあるけど。まったく余裕がなく、個人のペースが極度に乱される場合は、却って思考を硬直させるので注意したい。

3. 「2001年宇宙の旅」の HAL 9000
スティーブ・ドンピアは、自分の Altair を組み立てた。8080チップは、72の機能からなる命令セットを持っている。ドンピアが低周波ラジオで天気予報を聞きながら機械語でプログラミングしていると、ラジオと干渉してけたたましいノイズを発したという。Altair の内部でビット位置を変えていく度に、別のノイズ音が鳴る。そして、Altair の最初の I/O装置を発見したという。メモリアドレス 075 で発するノイズは、ギターのFシャープに相当...てな具合に、音色とメモリアドレスを対応させ、音階のチャートを作り、作曲用のプログラムを完成させた。
ある集会でビートルズの「フール・オン・ザ・ヒル」が流れるように、マシンをセット。普段なら最新チップ情報で賑やかなハッカーたちが、畏敬の念に打たれて静まり返ったという。ハッカーたちが自分を取り戻す前に、すかさず「デイジー」の演奏。尚、1957年にベル研究所でコンピューターで演奏された初めての曲が「デイジー」だったそうな。キューブリックの「2001年宇宙の旅」では、分解され機能を喪失しつつあるコンピュータ HAL 9000 が、デイジー・ベルの一部を歌う場面がある。なるほど、初代コンピュータへの退行という意味であったか。

2013-03-03

"言語設計者たちが考えること" Federico Biancuzzi, Shane Warden 編

おいらは、プログラマでもなければ数学者でもない。なのに、プログラミング言語も数学もちょっとかじる。どちらも便利な道具だから。プログラム用法には、文章用法が少なからず影響を受けているのだろう。どうりで千鳥足の彷徨者は、テーマから酷く逸脱した、冗長したスパゲッティ文章を量産するわけよ。
「設計や実装のシンプルさという価値を過小評価してはいけない。複雑さはいつでも追加することができる。達人はそういったものを取り除くのだ。」
巷では、プログラマに数学の知識は必要か?という議論がある。コンピュータが数学的に設計されている以上、黎明期は数学者やコンピュータ科学者の影響力が強かった。ここに登場する言語設計者たちも、数理論理学、情報工学、計算機科学などを専攻する人が多数派で、数学は必要だとする意見が多い。確かにクラス型は、群、体、環、あるいは線形空間といった代数的構造に対応する。
しかし一方で、プログラムを意味的に捉えれば、極めて言語学に近い。自然言語もプログラミング言語も、人間の思考や行動の表記法として君臨するのだから。少数派ではあるが、文学修士号を取得する者、芸術団体の理事や音楽家の経歴を持つ者、あるいは趣味を開花した者まで登場する。そして、数学が苦手だと公言する人がいれば励まされる。彼らの表記法へのこだわりが、プログラミング言語を人間味ある表現に近づけ、より庶民的にしてきたのは確かだ。現実に、数学と縁遠いとされる社会学や経済学にも便利な道具として重宝され、文系出身のプログラマもわんさといる。高度な数学の知識を隠蔽するという意味では、言語文化にオブジェクト指向が根付いていると言えよう。とはいえ、数学の知識があるに越したことはない。それが学問の幅というものであろうから。
...数学落伍者の嘆きより。

本書は、C++, Python, APL, Forth, BASIC, AWK, Lua, Haskell, ML, SQL, Objective-C, Java, C#, UML, Perl, PostScript, Eiffel, Ruby に携わった27人の言語設計者たちのインタビュー集である。彼らに共通していることは、既存の言語に囚われない柔軟な発想の持つ主であること、そして、なによりも情熱の塊のような連中だということである。
「情熱を持って好奇心を追求する。素晴らしい創造や発見の多くは、適切な答えを導き出す準備が整った状況で、適切な時に、適切な場所に誰かが居合わせた場合にのみ生み出される。」
プログラミング言語は、どれをとっても長所と短所があり、万能なものなど存在しない。そして、極めて文化的で宗教的なところがある。数学者や科学者でさえ愛用言語への思いは強く、互いの短所を罵り合う様相はケインズが揶揄した美人投票にも似たり。プログラミング言語の優位性は、企業の圧力や宣伝力に左右されることが多く、科学的に評価されることは少ないようだ。
人間の思考は、人体という構造体によって支えらえる。その構造体は、細胞、特定の機能を持つ器官、更にある目的を果たすために互いの器官が連携し合う組織系によって構成される。その上に、精神なる得体の知れないものがあるとされるが、どこまでを実体と言うかは知らん。個体が形成されるまでに様々な構成段階があるのは、まさにオブジェクトクラス。プラトン式イデアという純粋なデータ構造に、ダーウィニズムというある種の時間の概念が加わると、エントロピーの原理がごとく複雑系へと進化する。過去の抽象化の流れは、未来の抽象化の姿を見せ続けるであろう。

さて、言語にまつわる泥酔者軍団の仕事環境を、ざっと紹介してみよう。...
だいたい5,6人のチームで、おいらはプロジェクトリーダをすることが多い。歳のせいかは知らん。分野で言えばデジタル回路設計となるのだが、ここ十年は検証環境ばかり面倒を見ている。デバッグ作業は大嫌いだが、検証環境を構築するのは嫌いではない。それに、実装の制約に囚われず、自由におまけ機能が搭載できるし、使用言語もそこそこ自由。回路設計といってもソフトウェアとの境界はますます曖昧になり、回路部をHDL(ハードウェア記述言語)で書き、その周辺を様々な言語で書いて協調させる。回路に実装する機能はプロセッサや信号処理アルゴリズムなどで、その検証用の等価モデルをプログラミングする。モデリングでは、C か C++ で要求されることが多い。数学的な要素が強い部分では、Octave(数値演算言語)を組み合わせることもしばしば。
実験的に使い捨てコードを書くことが多いので動的言語を使いたいが、渋い顔をされる。パフォーマンスを理由にされても、大差ないのだけど。統合的な実行環境では、shellやTcl/Tkなどを用い、awk, sort, sed, grep, diff といったunix系コマンド群をいまだに重宝している。方針としては、なるべくスクリプト言語を使い、assertion機能を駆使するといった感じであろうか。
ちなみに、Anders Hejlsberg は、中心的なデバッグツールは、Console.Writelineメソッドだと言っている。要するに、ちょっとしたステートメントを埋め込むだけで、かなりの問題を探り当てることができるというわけだ。多くのプログラマにとって、それが実態であろう。達人がこういう発言をしてくれるのは救われる。複雑なケースにおいては、スタックトレースや局所変数などの監視が必要になるのだけど。だからというわけでもないが、Ruby がお気に入り。なかなか認めてくれないから、趣味で導入しているけど。
操作性を、GUI環境にしろ!という話もあるが、却下!却下!お偉いさんは見た目がお好きなようで、担当者の誰もそんなことは言わない。画像処理系では絵を直接見たいという要求があり、Gnuplot, LibTIFF, ImageMagick と協調させると喜ばれる。これも趣味だけど。統計情報やログ管理では、Perl で要求されることが多い。趣味で Ruby を使うけど。確かに、Perl は文字列操作が強力だ。そして、正規表現を埋め込むとますます暗号文っぽくなりやがる。ちなみに、Perlファンは、"Pathologically Eclectic Rubbish Lister"(病的折衷主義のガラクタ出力機)と呼ぶそうな。自虐楽観主義とでも言っておこうか。こんな楽しみ方があってもいい。
...てなわけで、おいらのプログラミング言語への思いは趣味ぐらいなものである。ソフトウェア工学なんて学んだこともない。最近、教育の依頼を受けることがあるが、教えられるものなど何もない。使えないと思ったら見捨ててもらって結構だ。技術を学びたければ、気に入った師匠を見つけて弟子入りすればいい。師匠が書籍であってもいいではないか。有名な講義がネット経由で受講できる時代、わざわざこちらから教育方針を打ち出す必要もない思うが、組織となるとそうもいかないらしい。とりあえず、コードレビューが重要だということは言っておこうか。哲学的な意識合わせが目的で、書き方を規定するものではない。メンバーが固定化するとやらなくなるけど。
言語がいくら汎用的に設計されても、すべての機能を喧嘩させずに共存させることは難しい。したがって、特定用途向けの言語を組み合わせることは合理性に適っている。動的言語が流行るおかげで、他言語へのハードルを低くしてくれるのもありがたい。そして、各々の言語システムを組み合わせながら、ユーザ独自の統合環境を構築することになろう。問題を一番理解しているのは、その問題に直面している連中であろうから、そこに独自の表記法が生まれても不思議はない。クラス群の名詞とメソッド群の動詞を特化した言葉で抽象化するだけでも、立派な言語システムに見えるだろう。アプリケーションを作るとは、ある種の言語を作ると言うことができるかもしれない。
あらゆる学問で、専門用語や独自の表記法が編み出される。自然言語においても、日本語や英語などの大きな枠組みがあるにせよ、独自の解釈とニュアンスの下で単語が用いられ、誰一人として同じ言葉を喋っちゃいない。言語が精神と結びつくならば、本質的に多様性を内包することになるだろう。

1. 言語選択
当初目をつけていたのは、Python と Objective-C であるが、本書のおかげで APL や Haskell にも興味がわく。
APL は行列代数をうまく扱うという。まさに画像処理の次元空間を扱うのに良さそう。実は、ハードウェア記述と配列記述は相性がいいのではないかと思っている。ただし、表記法は従来の代数表記とは景色が違う。演算の優先順位が右から左、ただそれだけ。なるほど、小学校から馴染んできた四則演算で、加減算より乗除算が優先されるなんて不自然かもしれない。単純に並べ順を変えれば余計な規定は不要というわけか。宇宙人が地球人に接触しようとしないのは、そこに住む知的生命体が奇妙な優先順位に囚われているからであろうか?真理を無視してまで。
Haskell では副作用の制御が強調される。これが関数型言語の長所で、並列化を容易にするという。回路設計と並列化の概念は直結するだろう。
むかーし、言語を選択する基準の一つにデータ型の明確さがあった。BASICのように自動で型変換されることに違和感があった。性格から来るのかは知らんが、コードの間違えはキャストミスから起こることが多い。ただ、厳格過ぎるのも鬱陶しい。近年の動的言語は数値リテラルが厳格など、その按配が肌に合う。Haskell や ML は型推論の機能を備えているそうな。だが、静的な型付けが悪で、動的な型付けが善とも言い切れない。自動化の弊害は、本質的な思考を疎かにさせるところがある。
尚、Dennis M. Ritchie は「C言語は強い型付けと、弱い型チャックを特徴とした言語である。」と述べたという。Tom Love は、Objective-C よりも C++ が使われる理由は「AT&Tの威光があったから」と言い切る。
また、ポインタから逃れるために Delphi や Java を検討した時代もある。結局、C言語を基準とする見方は変わっていない。なんだかんだ言っても、C世代か。ちなみに、学生時代、ある女生徒が「はじめてのC」がいいよ!という発言に、男性諸君は皆振り返ったものだ。
C が常に選択肢として残るのは、やはり安定性であろう。せっかく使う言語がいつのまにか消滅するのではリスクが大きい。ただ、レガシーコードが亡霊のように付きまとい、仕方がない面もある。
近年、オブジェクト指向言語を選択するという流れがある。この用語が過度な熱狂から生じたという見方があるものの、コードと向かい合う考え方が整理できるのは大きな意味がある。ガベージコレクションが搭載されるかどうかも大きな選択肢となろう。実行速度を犠牲にすることも否めないが、動的なメモリ管理を酔っ払いはできるだけ避けたい。この機能をオブジェクト指向の概念に含むかどうかは、意見の分かれそうなところか。
ところで、入門言語は何がいいか?とお聞かれると、Rubyがいい!と即答していた時期があった。だが、微妙かもしれない。便利なものに慣らされて、面倒な知識を後付けする方がずっと辛いから。この考えはプログラマとはだいぶ違うかもしれない。今日の回路設計者はトランジスタが何であるかなど漠然としか知らなくて済む。だが、CPUの構造ぐらいは知っておくべきだろう。ポインタは嫌われ者だが、実装上のメリットも大きい。アセンブラから学べとまでは言わないにしても、アキュムレータ周りの振る舞いぐらい知っておいて損はない。
ちなみに、真の数学を記述するならアラビア語を学べ!という意見も耳にするが、真理の探求が人間の発明した言語に依存するとも思えない。なんにせよ、あまり手段にこだわることもあるまい。どんな言語を使うにしても、物理的な構造をどこかで意識している方がいい。社会が仮想化へと邁進するからこそ、実体という視点を見失しなわないようにしたい。

2. オブジェクト指向とパラダイム設計
初めてオブジェクト指向に触れたのは20年以上前か。当時、講座や書籍を漁ったが、真新しいものに映らなかった。カプセル化の概念は古くからあるし、現場ではクラスもどきの抽象的方策を用いていた。Thomas E. Kurtz に至っては「コンピュータ業界における最大の詐欺!」とまで言っている。とはいえ、再利用や拡張性は誰もが抱える問題で、オブジェクト指向もこれを念頭に置いている。ただ、再利用性と言っても、立場によって微妙にニュアンスが違うようだ。その違いは、データ構造、ライブラリ、コンポーネントに現われる。配列や連結リスト、スタックやキューなどの構成において。
カプセル化については全般的に異論はないようだ。やはりこの概念は本質であろうか。ただ、C++ では、必ずしもメソッドを経由する必要はなく、データ型に直接アクセスできる柔軟性がオーバーヘッドを抑制するとしている。そして、ジェネリック性を重視する立場から Java を攻撃している。
最も毛嫌いしている概念は、継承だ!多重継承ともなると泥酔者の頭は Kernel Panic!
Objective-C が多重継承を禁止しているのは、Smalltalk の直系の子孫だからだという。再考するのであれば、単一継承すら取り除くかもしれない、とまで言っている。そうだろう!そうだろう!
しかーし、Eiffel では多重継承を主軸に位置づけている。継承にアレルギーがあるのは、すっきりした事例を見たことがないだけのことかもしれない。尚、Eiffel の契約の概念は良く、再利用には欠かせない発想だ。
今、政治的に再利用するように仕向けられたモジュールがある。ドキュメントもない。黒幕の住処?その名はブラックボックスと呼ばれる。お偉いさんが口にする「実績がある!」ってどういう意味だ?再利用性のあるコードを書くにしても熟練が必要で、安易な考えで取り組むと、却って冗長となりバグ要因を増やす。お偉いさんには、再利用の裏に潜む「日程短縮」という言葉がよほど心地よく響くらしい。だが、この手の癒し系の言葉は、ヘタするとたちまち悪魔へ変貌する。おいらは小悪魔にしか興味がないので付き合いは勘弁願いたい。
さて、オブジェクト指向は薬なのか?毒なのか?という議論は絶えない。これはソフトウェア固有の概念とは思わない。ハードにせよソフトにせよ、モジュール設計には哲学や思想が重要である。モジュールの再利用では、全体的な設計方針やシステム思想に沿っているかが鍵となる。したがって、ドキュメントには、コードの説明よりも意図する事やテスト思想の方が重要となるはず。プリミティブな領域を超えて、万能なモジュールを設計するなど不可能であろうから。システム設計とは、パラダイム設計であると言うことができるだろう。

3. OSとCPU、そして言語マシン
近年、OSは必要か?という議論をよく見かける。OSってやつはユーザを圧倒するほど複雑だ。組み込み系ではユーザに意識させないように慎ましく存在するが、パソコンではアプリケーションを脇に追いやってまで主役であろうとする。こいつがいったい何をやってくれるというのか?起動で思いっきり待たせるだけか?まるで政治家のような存在よ。
Forthマシンを設計した Charles H. Moore はこう述べている。
「Bill Gates 氏が、OSという考え方を世界に浸透させたのは素晴らしいことです。しかし、これはおそらく史上初の、そして世界最大の詐欺だと言えるでしょう。」
Javaマシンが公開されたのは、いつ頃だったか。当時、仮想マシンという見方よりは、なぜ、CPUの命令セットが言語のシンタックスを直接搭載しないのか?などと、ぼんやりと考えたものである。言語の柔軟性をハードウェアで束縛するのはアホのすること、と笑われたものだけど。
Forth にはシンタックスがほとんどないという。シンタックスよりもセマンティクスを重視すると。Lisp もそうだが、関数型言語の特徴がそういうものなのかもしれない。
それはさておき、互いに異なる言語を搭載したCPUが、マルチコアと結びつけばどうだろうか?ML のような関数型言語を搭載した自動定理証明マシンなんてものがあってもよさそう。今までハードウェアがソフトウェア化する傾向にあったが、今後は逆の流れがあっても良さそうな気がする。FPGAの大規模化にともない、CPUの物理構造を動的にすることもそう難しくはない。ユーザがOSに囚われる必要がないように、言語システムがCPUの命令セットに囚われる必要もないだろう。

4. プログラミング病理学とコンピュータ科学
Brad Cox が、virtualschool.edu に投稿した一節を紹介してくれる。
「ゆえにコンピュータ科学は死んでいない。そもそも一度も存在したことがないのだから。私が現在執筆中の書籍で扱おうとしている新たなパラダイムの中核は、我々がソフトウェア危機と呼ぶ症状を引き起こしている疾病原因となるウィルスが、原子ではなくビットで構成された物質を取り扱うことにより、自然に発生するのではなく、人間が生み出しているというところにある。
しかし、この物質は質量保存の法則に従わないため、鉛筆や手荷物コンベヤを製造する人々に対する報酬という動機付けを生み出すような商業メカニズムが完全に崩壊するのだ。商業がなければ、高度な社会秩序へと進化することができず、すべてのものを一から作り出す愚かな人たちしかいない原始的な状態の泥沼から抜け出せなくなってしまうのだ。
こうなると、あらゆるものは他の類を見ない固有のものとなり、実証的な研究を保証するための整合性あるものは何一つなくなってしまう。これが、コンピュータ科学というものが存在しない理由である。」

5. ビジュアルモデリングとドキュメント
UML は本書の中でもちょいと異質か。おいらの視点もかなり異質だけど。ソフトウェア工学というより、システム工学に分類すべきだと思っている。アーキテクチャの可視化という意味では、プログラムと密接に関わるのだけど。
ドキュメント管理という観点からすると、これに近い考え方をやっている。ただし、言語ではなく図形ツールを使っているところに問題がある。非常にメンテナンス性が悪い。仕様は日々生き物のようにうごめく。プロジェクトも、モジュールも、日程も、何もかも...ドキュメントは、常に最新版に保たれるからこそ威力を発揮する。メンバーの誰もがより最適な方向へ進もうとし、その歩みを止めるわけにはいかない。そして、プロマネはドキュメントの修正に睡眠時間を削られるのよ。
そして、ドキュメントを一人で管理すべきか?という問題がある。うちのような小規模なプロジェクトでは一人でやるべきであるが、大規模なプロジェクトではそうもいかないだろう。そこで、図面を言語で作成するという発想は素晴らしい。言語記述による統合化と分散化という観点から注目したのだった。
だが、、むかーしちょっとかじって、リファレンスも埃をかぶったまま。UML は難しすぎると、設計者が言ってくれるのは救われる。20%未満の機能で十分であると。特に、UML2.0 はあまりにも多くの方法論を取り込んだために、セマンティクスが明確に定義できなくなったという。もっとも敷居を高くしてしまったのは、UML から実装コードまで生成するというアイデアである。もはやプログラミング言語を求めているのか?James Rumbaugh は醜い!と吐き捨てる。UML にそんな魔法の力はないと。そして、OMGの標準化プロセスを非難している。おかげで、頭をリセットして読み直す気になれる。
ちなみに、 Ivar Jacobson は、ソフトウェア業界の人々は本やマニュアルを読まないと指摘している。忙しいこともあろうが、にわかに信じ難い。周りのソフト屋さんはいつも専門書と睨めっこしていて、刺激を受ける。凝り固まった本ばかり読むという意味もあるかもしれない。

2013-02-24

"思考のレッスン" 丸谷才一 著

思考を試みるには、なんらかの題材がいる。それをどこに求めようか?丸谷氏は「考えるためには本を読め」と勧める。
そもそも思考の前提には、生きるということがあろう。本を読むということは、生き方を学ぶ、すなわち哲学をするということになろうか。しかしながら、面白くなければ読む気も起こらないし、せっかくの知識も身にならない。やはり、本を読む最大のコツは、その本を面白がるということになりそうか。
読書の面白いところは、なんと言っても... 自分の知らない世界を味わうこと。すなわち好奇心。他人の考え方や物事の道理を知ること。これも好奇心。洒落たフレーズに出会えれば、格言集が蓄積できる。同じ題材でも、著者が違うだけで違った光景を魅せてくれる。... 好奇心旺盛な人にとって、読書は幸せな空間となろう。
とはいっても、嫌いな本もあれば、理解できない本も多い。どんなに良書であっても、どんなに評判が良くても、理解できなければ時間の無駄となる。本を選ぶには、知識の前提や受け入れる度量が必要である。自分のモノの見方や考え方を把握していなければ、本を選ぶことすらできない。なんらかの興味があるから、その本を選ぶことができる。本選びとは、似た者同士の集いとすることができそうか。
一方で、「必読書百選」といった類いの宣伝文句を見かける。なんとなく読まないと具合が悪そうな気にさせやがる。本選びのアウトソーシングか?本を選ぶのも大変な労力であり、ありがたい存在ではある。だが、面白くないと思ったら断固として止める!そういう度胸を決めることが大切だと助言してくれる。そもそも読書スタイルは百人百様、あえて世間とは逆を行く。これぞ逆バリ人生、いや、天邪鬼人生!
思考の検証では、一旦、受け入れた思考を否定してみることも肝要であろう。ならば、ついでに自己存在までも否定してみはどうか?但し、危険なので心してやるように。
「大事なのは本を読むことではなく、考えること。まず考えれば、何を読めばいいかだってわかるんです。」

誰の文句かは知らんが「書を捨てよ、町へ出よう」というのがある。これは読書論として有益だそうな。暇な時に考え、考えた挙句、これを読まなければと思えば、面白さが見えてくるという。
「まとまった時間があったら本を読むなということです。本は原則として忙しいときに読むべきものです。まとまった時間があったらものを考えよう。」
考える上で、まず大事なのは問いかけだという。対話式の自問自答は有効な方法であろう。
「良い問いは良い答にまさる」
ところで、思考の制御ほど手強いものはないように思える。なにしろ、集中力ってやつは気まぐれだ。机に向かえば、それなりに思考する方向へ誘導することはできる。だが、仕事上で難題が発生し思考力のフル稼働を必要とするような場面で、どうしても集中できないこともあれば、気分が乗らないこともある。思考の段階で最も理想的な精神状態と言えば、フロー状態であろうか。雑念が完全に消え、時間の意識すらなくなるような。無我の境地ともなれば、時空を超えた快楽へ導かれる。
また奇妙なことに、着想が湧いて出る瞬間ってやつは、思考から解放された場面でよく出会う。トイレで思考する人もいるようだが、おいらの場合は風呂場か寝所が多い。徹夜した挙句、気分転換に近くのサウナでマッサージしてもらっていると、突然解決策が浮かびメモに走ることもしばしば。そういえば、アルキメデスは浴場でユーリカ!と叫んで素っ裸で飛び出したという武勇伝がある。開放感において、フル思考とフルチンは相性が良さそうだ。

1. アマチュアリズム礼讃
イギリスにはアマチュアリズムの伝統があるという。アマチュアといっても単なる素人とは意味が違い、職業的文学者の心掛けとしてアマチュアリズムを大切にするということ。凝り固まった視点を遠ざけるという意味もあろう。知識や定石が思考を硬直させることはよくある。吉田健一は、こう書いたという。
「イギリスの学者は日本の学者と違って、たとえば折口信夫のように、学問ができて、しかも文学がわかるという人がいっぱいいるのである。」
これが本当の学者というものだという。そして、ほとんどの日本人はもっぱら内容だけで本を読もうとすると指摘している。文体を味わうようになれば、文明の程度もぐっと上がるであろうと。ん~...高度過ぎる。何度読み返しても、酔っ払いには文体なんて見えてこんよ。

2. 思考力と文章力
読書には三つの効用があるという。情報が得られること、考え方が学べること、書き方が学べること。前者二つは分かるとしても、「思考のレッスン」で書き方とはこれいかに?人は物事を考える時、意識的にせよ、無意識的にせよ、文章の形で考えるという。
しかし、この見解には、ちと抵抗がある。思考の始まりは、思いつきや気まぐれなところがあり、絵画のスケッチのようなものを思い浮かべたりする。論理的というより幾何学的と言おうか、形や形状や模様のようなもので考えるところがある。とはいえ、それを具体化しようとすると、記述に頼ることになるのだけど。記述は独自の絵図や図式であってもいいが、論理性においては、やはり言語形式と相性がいい。そしていつも、ボキャ貧小僧は思考と合致した言葉を見つけられず、もがき苦しむのよ。文章力がないから、思考を保存する時、精密さを欠き、大雑把になり、論理が乱暴になり、感情論に走る。なるほど、文章力と思考力は両輪というわけか。実に頭の痛いご指摘である。
言語の主な機能は情報伝達、すなわちコミュニケーションにある。ならば、コミュニケーションを放棄すれば、文章に幽閉されることなく、精神を完全に解放することができるだろうか?真の意味で自由を謳歌することができるだろうか?俗世間との交信を断たない限り、真の思考は悟れないのかもしれない。
また、丸谷氏の著書「文章読本」にも感服させられたが、実はそこには書かなかった心得がたくさんあるという。自分が必ずしも守っていない心得まで、書くわけはいかないでしょうと。文章の書き方は人それぞれ、ある程度の筆者ならば、心得なんか守らなくてもどんどん書けるという。思考した瞬間をそのまま表現できる能力があれば、精神が文章形式なんぞに幽閉されることもないのだろう。
さらに、「文章の最低の資格は、最後まで読ませることである」「言うべきことを持って書こう」などと助言してくれる。ん~... 俗世間の酔っ払いは書く場を失うではないか。

3. 文字文化と口承文化
プラトンは、著書「国家」の中で「理想国家からは詩人は追放されなければならない」と主張しているという。詩人といってもホメロス型の吟遊詩人のことで、今日の詩人とはニュアンスが違うようだ。つまり、文字文化ではなく、口承文化を否定しているらしい。きちんと記述を残せ!ということか。ソクラテスが記述を残さなかったのは、言葉の持つ暴走性に気づいて、ひたすら解決策を対話に求めたという説がある。情報化社会における言葉の暴力を目の当たりにすれば、文字文化に絶望しても仕方があるまい。プラトンが多くの対話篇を書に残したのは、あえて師匠に挑戦した結果であろうか?

4. 日本語の特性
記述する言語の特性をよく把握した上で、文章を書こうとするのは当たり前であろう。だが、これが至難の業。
日本語では長いセンテンスが向かないという。一つの理由は、否定詞が最後にくること。最後まで読まないと明確にならないから、長文だと不安になりがち。言語は文化や慣習から派生した形式であり、先送りの原理はこのあたりに現れているのだろうか?その点、西洋語は否定詞が前にくるので、長いセンテンスが楽に書けるという。重要な結論が前にあるから整理しやすいと。そこで、日本語では、「そして」、「それなのに」、「運悪く」といった接続詞が巧みな役割をし、最後まで結論が見えない点を補っているという。例えば...「せっかくのお招きではございますが、当日は...」と言えば、最初から断る雰囲気が漂う。結論めいた方向性を文章全体で匂わせるわけか。空気を読むといった感覚は、こうした言語特性からきているのかもしれない。
もう一つの理由は、英語の関係代名詞、関係副詞といった関係詞を持たない点だという。人称代名詞もあまり使わないし、時制も曖昧で、全般的に曖昧な特性を持っている。論理的否定ではなく、雰囲気的否定とでも言おうか。この曖昧さこそが、芸術心や遊び心をもたらす。
また、日本語は敬語表現がやたらと多く、しばしば不愉快にさせるという。西洋語にだって敬語はあるが、その違いは昔の政治家の態度によく表れているらしい。日本人は挨拶が長くて内容がなく、アメリカ人は挨拶なしでストレートに用件に入るという。今はどうか知らんが。西洋的な感覚では、時間を無駄に使わせることの方が失礼だとされる。合理性の視点をちょいと変えるだけで、言語の合理性も随分と変わるものである。

2013-02-17

"戦略「脳」を鍛える" 御立尚資 著

軍事戦略では、まず孫子やクラウゼヴィッツを学ぶことになろう。しかし、相互に高度な戦略論を身につけていたとしたら、どうやって相手を出し抜けばいいだろうか?ここに矛盾の原理がある。教科書を学ぶだけでは、けして必勝の法則を見出すことはできないということだ。定石とは後解釈によって定式化されたものであり、戦略論のほとんどは過去の成功や反省に基づいている。だからといって、戦略論自体の意義を否定するわけにはいかない。実際、マイケル・ポーターに代表されるようなアカデミックな戦略論は、ミクロ経済学の視点で定量的に分析し、何らかの枠組みを提示してくれるという。
では、どこに差別化を求めるのか?本書は、「インサイト(insight)」という言葉を持ち出す。直訳すれば、直観力や洞察力といったところか。BCG(ボストン・コンサルティング・グループ)流に訳すと、こんな感じになるそうな。
「勝てる戦略の構築に必要な "頭の使い方"、ならびにその結果として得られる "ユニークな視座"」
定石そのものの知識よりも定石に至るまでの考え方を重視し、それを知った上でプラスαの思考や能力を身につけるということである。
「定石を超えた戦い方のイノベーションこそが、戦略の本質である。」

歴史を振り返れば、異端児たちがイノベーションの原動力となってきた。だが、日本の組織文化には異端児を嫌う風潮がある。企業の人事屋は、建て前では独創的で自立した人材を求めながら、実はそこを見ている。服従者となりうるかを。自立性は極めて自由と相性がよく、組織依存度を極力小さくしようとする意思の表れである。こうした性質は、同質人で構成される組織では、しばしば迷惑な存在とされる。組織の欠点をよく観察し、ズバリ言い当てるような人は、本音では和を乱す害虫のように見られる。そして、村社会では、自立性は孤立性へと追いやられる。
本書は、日本企業に往々にして見られるのが、エリートコースという名の「同質人材育成装置」だと指摘している。同じような大学出身で、似たようなタイプの人材を大量採用する傾向は、いまだ色濃くある。同様な経歴で同様な思考の持ち主の集団からは、偏重した相乗効果が働き、あまりイノベーションは期待できないだろう。今日、社会全体に閉塞感を漂わせているのは、こうした組織文化が根幹にあるからではないだろうか。
実は、社会がそうした閉塞感に見まわれるという予測は、10年以上前から指摘されてきた。本書も、その系統に位置づけていいだろう。些細な改革気運を徹底的に潰してきた組織ほど、今、大胆な改革が求められる。なんと皮肉であろう。イノベーションを機能させるには、日々の革新的思考の積み重ねにかかっている...はずなのに。

経営構造がまったく同じ組織というものは、ありえない。よって、経営コンサルタントの意見は、助言にしかならないだろう。確かに、彼らは専門家であり、様々な分析法を心得ている。だが、経営陣がそれを命令と受け取り、そのまま実行するのであれば、思考までもアウトソーシングしていることになる。すると、経営陣の仕事は何か?コンサルの接待係か?こうした危険を犯している組織は意外と多いようだ。部下に解決策を求め、まともなアイデアが打ち出せないと、社員に個性がないと嘆くオヤジたちがいる。自ら思考を放棄した者ほど、ないものねだりをするものであろうか?なんと驚くことに、採用試験の面接官を外部に依頼するところもある。こうなると、組織の存在意義を疑わなければなるまい。
問題の本質を一番理解しているのは誰か?それは、問題に直面した現場である。なのに、コンサルの打ち出す結論を鵜呑みにし、うまくいかなければ、戦略論そのものに懐疑心をもつ。そこに政治的な思惑が入り込むと最悪だ。重要なのは結論ではなく、結論に到達した思考法にあるはず。そして、コンサルタントたちの思考法を応用すれば、かなりの部分で解決策を具体化できるだろうに。実のところ、最適な解決法なんてものは、人の数だけ、場面の数だけ存在しうるものなのかもしれない。
どこの組織でも、斬新的なアイデアには予算がつきにくい。だが、挑戦しなければジリ貧に陥る。目先の売上に固執して将来の展望がなければ、どちらがリスクが大きいのやら?ちなみに、コンサルとは、混乱させる猿!と誰が言ったかは知らん。いや、(自ら)混乱する猿!だったか?

1. BCG流戦略論の公式
戦略とは、競争相手に対して優位性を築くことにほかならない。そのカギはユニークさにあるという。

  ユニークな戦略 = 定石(戦略のエッセンス) + インサイト
  インサイト = スピード + レンズ

スピードとは、定石を加工し、応用し、素早く仮説を立て、思考の進化をどんどん加速させること。そして、仮説そのものの有効性を厳しく検証する。これを競争相手よりも素早く実行できれば、勝てるという寸法よ。
レンズとは、ユニークな仮説を作り出すためのモノの見方。定石を加工し応用する上で、どこかで自分の思考を非連続的に飛躍させることができれば、その思考は際立つ。思考プロセスをワープさせるような、ある種の突然変異とも言うべき思考は、日々の思考の積み重ねから生じるものであろう。一度立ち止まって、自分の頭の使い方や癖を分析してみるのもいい。思考が混乱状態にあっても、我武者羅にやっているうちに余計な雑念が消え、突然開けた光景に出会うこともあろう。これを開眼と言うかは知らん。
インサイトは、体得するものだという。常に試行錯誤する癖とひたすら実践してみること、これしかないようだ。

2. 思考をスピードアップさせる三つの要素

  スピード = (パターン認識 + グラフ発想) x シャドウボクシング

優秀なコンサルタントは、いくつかのパターンを組み合わせ、状況を端的に把握することができ、素早く適した戦略の仮説を立てることができるという。そのために、物事を局面ごとに、パターン化する癖をつけ、それを記憶する訓練が有効だという。論理をゼロから積み上げるには、あまりにも効率が悪い。そこで、過去のデータや定石をパターン化して記憶しておくことがカギとなる。ユークリッド原論のように、公準や公理がパターン認識されていると、思考効率を高めるだろう。独創性とは、パターン認識を進化させた思いつきや気まぐれから生じるものであろうか。
グラフ発想では、事象を視覚的に捉える。だが、図で考えるだけでは不十分だという。シミュレーションできるほどの具体性、すなわち数学的に記述できるレベルまで掘り下げる。変数やパラメータが定義できれば、様々な仮説を想定することができる。粗くても、数値のイメージが持てることが大切だという。ただし、グラフ化には落とし穴がある。統計データにも同じことが言えるが、平均値を崇める傾向がある。イノベーションってやつは、平均値から乖離したところにヒントがある場合が多い。
シャドウボクシングでは、仮想敵を想定しながら、パンチを避け、パンチを繰り出す訓練をする。その基本的な思考は、批判的な視点で仮説をあらゆる方向から攻撃してみることだという。自分の思考を疑ってみることは、あらゆる知的作業において基本であろう。考えだした手法を、論理的にチェックし、仮説と検証を繰り返す。ここでは、幽体離脱するような感覚を持つことを奨励している。言うなれば、自己の中に第三者の目を養う訓練である。

3. 発想力のための三種類のレンズ

  レンズ = 拡散レンズ + フォーカスレンズ + ヒネリレンズ

拡散レンズでは、視野を拡げることを心掛け、ホワイトスペースを活用したり、市場だと思っていないところまでも観察する。あるいは、バリューチェーンを拡げてみるのもいいだろう。自動車会社が、支払いローンのためにフィナンス会社を作るとか。進化論的に観察することも重要だという。マーケティングは、進化論のS字カーブと同じような傾向を示すという。急増期から、やがて停滞期へと。
フォーカスレンズでは、狭く深く見ることを心掛け、購買行動の全体像と詳細の双方を把握する。詳細に把握するには、やはりユーザになりきることか。アンケートやインタービューで統計情報を集めるだけでは不十分。その視点では、消費者の妥協点を探ることが重要だという。不満なんだけど、当たり前と諦めているサービスは実に多い。また、有名人のカリスマ的行動による波及効果や相乗効果にも注目している。
消費者のタイプには大きく分けて、自己判断派となんでも相談派がある。ただ、いくら自己判断に自信を持っていても完璧な裏付けによるものではないし、誰でもちょっと不安に駆られれば判断が鈍る。したがって、誘導されやすいタイプをターゲットにする方がマーケティング戦略は練りやすいだろう。そして、サービスが相談役になると有効な場合があるという。
ヒネリレンズでは、逆バリをするという。株式市場では、相場の逆バリが有効な手段となる。デフレで積極的にM&Aを行うのも、逆バリの例。全体的に景気が悪い時に、弱っている競争相手を積極的に買収してしまう。すると、景気が回復した時に圧倒的に優位に立てる。
また、ネット社会では、集団の意識や行動が一斉に流されやすい。そこで、新しい商品やビジネスモデルのヒントを得るのに有効なのが、特異点を探ることだという。通常のデータからかけ離れたものをあえて探してみる。商品開発の場合、普通ではない特異な使い方をする特異なユーザを探す。地域別の営業戦略の立案ならば、全く売れない地域や、反対によく売れる地域を観察してみる。そんな特異点にこそ、イノベーションのヒントが隠されているとわけか。天邪鬼精神にこそイノベーションが潜んでいるかもしれない。
また、アナロジーを考えるという。そのために、表面だけでなく、構造的メカニズムや本質を捉えることがカギとなる。

4. コンセプトワード
人間がすべての事象を詳しく記憶することは不可能であろう。そこで、戦略のエッセンスをコンセプトワードとして覚えると、何かと幸せになれそうだ。人の言葉を名言集として蓄えることは意味があると思っている。事象に対して本質的で哲学的な分析をする癖をつける上でも。ここでは、コンセプトワードを、コスト系、顧客系、構造系、競争パターン系、組織能力系の観点から紹介してくれる。

コスト系
  • スケールカーブ... 生産規模や市場規模との関係から考察、あるいは合併統合の有効性など。
  • エクスペリエンスカーブ(経験曲線)... 同種の生産を繰り返せばコストは低下する。特に、歩留まりが重要な場合はそれが顕著だという。
  • コストビヘイビア... 規模によるスケールメリットをどこに見出すか。事業や商品を複数もつことで、スコープメリットをどこに見出すか。コスト構造をダイナミックに見ることが大切だという。

顧客系
  • セグメンテーション... どのセグメントをターゲットにするかの選択は、最も重要な意思決定になるという。顧客だけでなく、自社の営業改革、製品に至るまで、セグメント化して拡大するか撤退するかを分析する。
  • スイッチングコスト、ロイヤリティ、ブランド... 顧客が、他社の商品やサービスに切り替える、つまりスイッチングによるコストを高めることで、顧客のロイヤリティが高まる。ブランド構築はロイヤリティを高める典型的な手法。ロイヤリティの高い長期的な顧客の獲得。金銭的なスイッチングコストではなく、心理的なスイッチングコストを高めることは、新規ユーザを獲得するよりも効率的かもしれない。

構造系
  • V字カーブ... この収益性の法則には誰もがあやかりたいであろう。
  • アドバンテージマトリクス... 競争パターンの分析ツールで、縦軸に競争上の戦略変数を、横軸に優位性構築の可能性をとって視覚化する。すると、事業ごとに、規模型事業、特化型事業、分散型事業、手詰まり型事業とに分類できる。大会社がグループ会社のマネジメントで陥りやすい間違いが、子会社の属する事業の特性をきちんと把握しないことだという。
  • デコンストラクション... 既存構造を別の視点から捉える。新たな視点から事業構造を見直し、新たな事業展開とする。

競争パターン系
  • ファースト・ムーバー・アドバンテージ(先行利得)... 競争相手よりも先に行動して優位に立つ。
  • プリエンプティブ・アタック(先制攻撃)... 競争相手が予想していないタイミングで攻撃をしかけ、反撃の暇を与えない。大々的なキャンペーンなどがこれに属す。だが、いつも出血サービスに半額セールでは懐疑心を持つだけ。

組織能力系
  • タイムベース競争... 付加価値を産まない時間を取り除く。リードタイムを短縮。効率性と柔軟性。
  • 組織学習、ナレッジ・マネジメント... 結果を出す人材の秘訣を、誰もが理解できる形に言語化し、組織全体の能力とする。組織学習の根幹を、システマチックに実行できるように仕立てあげることが、ナレッジ・マネジメントだという。

2013-02-10

ISP 40M から 160M...ウルトラ工事屋さん!

J:COMさんから「お得プラン」ならぬ、九州限定「もっとお得プラン」なるものの案内がきた。「ウルトラ160M」とやらで、WiFi付。しかも、40Mコースより安い。「戸建限定3年割」とあるので、3年後の料金は元に戻るのかと思いきや、3年ごとに自動更新されるそうな。サイトには 40M は集合住宅限定となっているから、一戸建ては 160M に集約させたいのかもしれない。
参考までに、セット料金は...

  前回: CATV + 固定電話 + 40M(上り2M) = ¥8,800(税込)
  今回: CATV + 固定電話 + 160M(上り10M) + WiFi = ¥8,450(税込)

サイトには、TV75ch以上と表記されるが、そんなにあるか?確かに、どうでもええのが腐るほどある。不景気のせいもあろうが、大袈裟な宣伝文句が世間を賑わすと、却ってうんざりさせられる。そして、ウルトラ???
それはさておき、この解約条件のややこしさは、なんだ?

  1年以内に解約すると、¥35,000 の契約解除料金が発生。
  2年以内に解約すると、¥25,000 の契約解除料金が発生。
  3年以内に解約すると、¥15,000 の契約解除料金が発生。
  3年後の契約変更した月とその前月は、解約料金が発生しない。
  ...これが自動更新される。

要するに解約するなら、3年おきがお得ということらしい。仕事用のアドレスを変えたくないので、当分解約する予定はないけど...

1. マニュアルトークの工事屋さん
どんなモデムがくるのかと思ったら、NETGEAR(CG3000D)のルータがきた。うちのルータの設定で大丈夫か?ちと不安になったので、作業中にあれこれと聞いてみると、なんとなく強烈!

おいら: IPv4だと思いますが、NAPT経由でプライベート空間のアドレスをもらっても、うちのルータはフィルタかけてます。念の為に dhcp の取得情報を見せてもらえますか?
工事屋: すいません!専門的な事は分かりません。
おいら: 取得情報は Windows だと ipconfig で見れますよ。コマンドプロンプトを開いてくれますか?
工事屋: コマンドプロンプトってなんですか?
おいら: えーっと、アクセサリから...
工事屋: アクセサリってなんですか?
おいら: えっ?どうやって接続を確認するんですか?
工事屋: (持参した)ノートパソコンでサイトが見れれば ok! です。

とても丁寧な言葉使いで申し訳なさそうにするので、気の毒でこれ以上は聞けなかった。事前説明がしっかりしていて...周りに貴重品はありませんね!...工事中は立ち会って下さい!...と奇妙なチェックリストを読み上げる。そういう確認も必要だろうけど。
工事屋さんに会う機会なんて滅多にないから、技術動向や営業展開などいろいろと聞きたいことがある。前回、工事屋さんと技術話で盛り上がった。ルータの相性やら、お好みの機器など。技術的な会話がプロバイダへの信頼となり、今後のサービスに安心感を与える。アナログ契約からデジタル契約に切り替えた時は、屋根裏まで上がって信号レベルまで計測していった。だから脚立まで用意していたのに...
今回、マクドナルド級のマニュアルトークを見せつけ、逃げるように帰っていった。ウルトラ!なんて謳うなら証拠ぐらい見せつけれて行けばいいものを...J:COMさん大丈夫?いや、うまい営業術かもしれない。

2. NETGEAR CG3000D ワイヤレスケーブルモデム
NETGEARのルータが、なぜ我が家のルータとすんなり繋がったかと言うと、ブリッジモードで動いている。やはりそうか...
とりあえず、何かの拍子で工場出荷時の状態になったら、自力で戻せるようにしておきたい。基本はルータモードのようだが、マニュアルには出荷仕様によってはブリッジモードになっている場合もあると記載される。J:COMさんが用意してくれた簡易ガイドには、モデムを設定するには 192.168.0.1 にアクセスすると書いてあるが、マニュアルには、「192.168.0.1(ルータモード)。出荷仕様によりブリッジモードとなっている場合は、192.168.100.1 となっております。」とある。実際にアクセスできるのは、192.168.100.1 の方であった。
そういえば、申し込む時、接続するパソコンは何か?と聞かれたのでルータと答えた。それで、ブリッジモードに設定して持ってきたのか?まさかなぁ!
わざわざ出荷状態を試す元気はないが、難しそうな設定がないので安心。
尚、WiFiのアクセスポイントは、有効/無効が選択可。無線の出力レベルは、12.5% から 100% まで調整可。セキュリティオプションは...無効, WEP/WPA2-PSK[AES], WPA-PSK/WPA2-PSK Mixed, WPA/WPA2 Enterprise...てな具合に揃っている。
さて、WiFiを我が家のルータにどう通すか?研究課題か!当分眠れそうにない。

3. 速度計測
体感スピードは若干上がったようで、数値は 80M 程度。尚、40Mコースでは 30M 程度だった。ネットサーフィンぐらいしかやらないライトユーザなので、これで十分なのだが、ウルトラ160M!に期待するやんけ。計測サーバとの相性が悪いのか?いや、陰謀か?いや、推理小説の読み過ぎよ!
さて、我が家のルータは、Yamaha RT107e、カタログ値ではスループット 200Mbps となっている。ケーブルを接続すると NETGEAR のリンクランプは、パソコンでは青(1000BASE-T)、RT107eでは緑(100BASE-T)が点灯する。この時点で、ルータ越えで 100M 以上は期待できそうにない。ここまでは想定内。尚、LANケーブルは、CAT5e を使用。
ところが、ルータなしでもほぼ同じ。これじゃ、ルータに投資する気になれない。

それはさておき、Win7(64bit) でスピードが出ない。我が家で一番性能のいいマシンが一番遅いとはどういうわけか?RWin をレジストリレベルで設定しても反映されないようだ。噂通り自動か。
SNP(Scalable Networking Pack)を無効にしてみても、あまり改善されない。

  $ netsh int tcp set global rss=disabled
  $ netsh int tcp set global chimney=disabled
  $ netsh int tcp set global netdma=disabled

更に、Window自動チューニングレベルと Compound TCP を設定してみると、50M まで上がったものの。

  $ netsh interface tcp set global autotuninglevel=highlyrestricted
  $ netsh interface tcp set global congestionprovider=ctcp

ん~...このあたりが比較的ましのようだ。

  $ netsh interface tcp show global

  TCP グローバル パラメーター
  ----------------------------------------------
  Receive-Side Scaling 状態              : enabled
  Chimney オフロード状態                 : automatic
  NetDMA 状態                            : enabled
  Direct Cache Acess (DCA)               : disabled
  受信ウィンドウ自動チューニング レベル  : highlyrestricted
  アドオン輻輳制御プロバイダー           : ctcp
  ECN 機能                               : disabled
  RFC 1323 タイムスタンプ                : enabled

急遽、古い部品をかき集めて Win2Kマシンを組み立てて試すと、それでも 80M 程度(RWIN = 524280)は出る。やはり細かく設定できる方が良さそうか。Fedoraは、default のままでも速度が出るけど。サーバや測定器といった用途では、パラメータをふったり、わざと性能を落とすような実験もするだろうに、Win7 はそんな用途に向かないということか?痒いところに手を届かせるには...分っかりまへん???

以下、参考まで...
測定経路: ルータなしでもルータ越えでも同等レベル、80M 前後。
使用ブラウザ: Firefox 18.0.1, Chrome 24.0.1312.57 m
計測サイト:
  ブロードバンドスピードテスト: http://www.bspeedtest.jp/
  Radish Network Speed Testing: http://netspeed.studio-radish.com/
  BNRスピードテスト: http://www.musen-lan.com/speed/
  # どの計測サイトでも似たような値を示す。

  ==== Fedora17(ルータなし) ====
# MTU/MSS = 1500/1460, RWIN = 131071

ブロードバンドスピードテスト 通信速度測定結果
http://www.bspeedtest.jp/ v3.0.3
測定時刻 2013/02/04 04:02:13
回線種類/線路長/OS:CATV/-/Linux/福岡県
サービス/ISP:-/J-COM 160Mコース
サーバ1[NTTPC(WebArena)] 69.0Mbps
サーバ2[ さくらインターネット] 79.2Mbps
下り受信速度: 79Mbps(79.2Mbps,9.90MByte/s)
上り送信速度: 6.9Mbps(6.98Mbps,873kByte/s)
診断コメント: J-COM 160Mコースの下り平均速度は47Mbpsなので、あなたの速度はかなり速い方です!(下位から90%tile)

  ==== Windows7(ルータなし) =====
ブロードバンドスピードテスト 通信速度測定結果
http://www.bspeedtest.jp/ v3.0.3
測定時刻 2013/02/04 04:04:51
回線種類/線路長/OS:CATV/-/Windows 7/福岡県
サービス/ISP:-/J-COM 160Mコース
サーバ1[NTTPC(WebArena)] 51.7Mbps
サーバ2[ さくらインターネット] 48.6Mbps
下り受信速度: 51Mbps(51.7Mbps,6.46MByte/s)
上り送信速度: 7.1Mbps(7.12Mbps,890kByte/s)
診断コメント: J-COM 160Mコースの下り平均速度は47Mbpsなので、あなたの速度は標準的な速度です。(下位から60%tile)

2013-02-03

フェドーラ(Fedora18)の三悪人に呪われる!

フェドーラ... カタカナで書くと、なにやら怪物の名に見えてくる。ハーデースの門番でもしていそうな。その位置づけからして、多少の不具合は仕方があるまい。勉強にもなる。とはいえ、こりゃ心臓に悪い!リリースが再延期されたぐらい、アップデートは時期尚早であったか?嫌な予感ってやつは確実に当たりやがる。おまけに、grub2, kernel3.7.x, gnome3 が揃って夢に出てきやがる。記事でも書いて厄祓いをせねば...

1. Fedora17 から 18 へ... 画面表示がぐちゃぐちゃ!
yum 経由のアップデートは無事終了!だが、パッケージ群を最新版にアップした途端に画面表示がぐちゃぐちゃ!ディスプレイが周波数エラーを吐く。fedup でも同じ現象。
更に、クリーンインストールを試すと、最初からぐちゃぐちゃ!おっと!いきなり ssh ができる。しかも、root から!おかげで、いろいろと実験ができるのだけど...
さて、まともじゃないのは、GUI環境だけのようだ。xrandr で無理やり解像度を落としてみると、ログイン画面はそれらしい雰囲気がある。だが、入力する箇所がなんとなく分かるレベルで、とても使い物にはならん。ほとんどリモートで使っているから、ええと言えばええのだが、気持ちが悪すぎる!

問題は、nVidiaのドライバが対応していないようだ。
ちなみに、ビデオカードは GeForce4 Ti4600...ちょうど十年ぐらい前のヤツ、ついに見捨てれられたのか?少々古いハードウェアでも動くのが、Linux のメリットでもあるが、そんな感覚は時代遅れなのかもしれん。

このサイトによると...

http://us.download.nvidia.com/XFree86/Linux-x86/190.42/README/appendix-a.html

該当するドライバは下記の群にある。

"The 96.43.xx driver supports the following set of GPUs:"

んー... 173xx はあるが、96xx が見当たらない。遅れているだけ?と祈ろう。いや、呪おう。

以下、参考まで...
### これを試してみると、nvidiaドライバのloadで停止。尚、ssh はできる。
$ rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
$ rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
$ yum install akmod-nvidia
$ yum install kmod-nvidia

[  28.658] (EE) NVIDIA: Failed to load the NVIDIA kernel module. Please check your
[  28.658] (EE) NVIDIA:   system's kernel log for additional error messages.
[  28.658] (II) UnloadModule: "nvidia"
[  28.658] (II) Unloading nvidia
[  28.659] (EE) Failed to load module "nvidia" (module-specific error, 0)
[  28.659] (EE) No drivers available.

### ちなみに、エントリされたパッケージ群は...
$ yum list | grep -i nvidia
akmod-nvidia.i686                    1:304.64-2.fc18    rpmfusion-nonfree
akmod-nvidia-173xx.i686              173.14.36-2.fc18   rpmfusion-nonfree
kmod-nvidia.i686                     1:304.64-2.fc18.4  rpmfusion-nonfree-updates
kmod-nvidia-173xx.i686               173.14.36-2.fc18.4 rpmfusion-nonfree-updates
...
kmod-nvidia-173xx-3.7.4-204.fc18.i686.i686
kmod-nvidia-173xx-3.7.4-204.fc18.i686.PAE.i686
kmod-nvidia-173xx-PAE.i686           173.14.36-2.fc18.4 rpmfusion-nonfree-updates
...
kmod-nvidia-3.7.4-204.fc18.i686.i686 1:304.64-2.fc18.4  rpmfusion-nonfree-updates
kmod-nvidia-3.7.4-204.fc18.i686.PAE.i686
kmod-nvidia-PAE.i686                 1:304.64-2.fc18.4  rpmfusion-nonfree-updates
...
xorg-x11-drv-nvidia.i686             1:304.64-5.fc18    rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-173xx.i686       173.14.36-1.fc18   rpmfusion-nonfree
xorg-x11-drv-nvidia-173xx-devel.i686 173.14.36-1.fc18   rpmfusion-nonfree
xorg-x11-drv-nvidia-173xx-libs.i686  173.14.36-1.fc18   rpmfusion-nonfree
xorg-x11-drv-nvidia-devel.i686       1:304.64-5.fc18    rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.i686        1:304.64-5.fc18    rpmfusion-nonfree-updates

2. Fedora17 の kernel 3.7.x でも同じ症状が!
kernel を 3.6.11-5.fc17 から 3.7.3-101.fc17 にアップした途端に画面表示がぐちゃぐちゃ!xrandr で無理やり解像度を落としてみると、こちらはログイン画面が見える。パッケージ群にも、96xx がある。そして、"akmod-nvidia-96xx" を試すと、画面表示は正常になった。しかし、異常に不安定で、以下のメッセージを吐く。

「問題が発生して、システムの復帰ができません。念のため、すべての拡張を無効にしました。」

拡張機能と相性が悪そうだが、それだけか?無効にしても不安定!てなわけで、古い Kernel を使っている。拡張機能も捨てがたいし。

以下、参考まで...
### これを試してみると、同じ現象。
$ yum install akmod-nvidia
$ yum install kmod-nvidia

### 次に、96xx を試してみると、まともに起動するが異常に不安定!
### 尚、インストール時に xorg-x11-drv-nvidia がぶつかるので削除。
$ yum remove xorg-x11-drv-nvidia
$ yum install akmod-nvidia-96xx  ### こちらだけでも同じかもしれない。
$ yum install kmod-nvidia-96xx   ### こちらは低水準らしい。

### 結局、元に戻して、古い kernel を使う。
$ yum remove akmod-nvidia-96xx
$ yum remove kmod-nvidia-96xx
$ yum remove xorg-x11-drv-nvidia-96xx  ### これが残るから忘れないように。

### ちなみに、エントリされたパッケージ群は...
$ yum list | grep -i nvidia
akmod-nvidia.i686            1:304.64-1.fc17    rpmfusion-nonfree-updates
akmod-nvidia-173xx.i686      173.14.35-2.fc17   rpmfusion-nonfree-updates
akmod-nvidia-96xx.i686       96.43.23-2.fc17.1  rpmfusion-nonfree-updates
kmod-nvidia.i686             1:304.64-2.fc17.1  rpmfusion-nonfree-updates
kmod-nvidia-173xx.i686       173.14.36-1.fc17.1 rpmfusion-nonfree-updates
...
kmod-nvidia-173xx-3.7.3-101.fc17.i686.i686 173.14.36-1.fc17.1 rpmfusion-nonfree-updates
kmod-nvidia-173xx-3.7.3-101.fc17.i686.PAE.i686
kmod-nvidia-173xx-PAE.i686   173.14.36-1.fc17.1 rpmfusion-nonfree-updates
...
kmod-nvidia-96xx.i686        96.43.23-2.fc17.1  rpmfusion-nonfree-updates
...
kmod-nvidia-96xx-3.7.3-101.fc17.i686.i686 96.43.23-2.fc17.1 rpmfusion-nonfree-updates
kmod-nvidia-96xx-3.7.3-101.fc17.i686.PAE.i686
kmod-nvidia-96xx-PAE.i686    96.43.23-2.fc17.1  rpmfusion-nonfree-updates
kmod-nvidia-PAE.i686         1:304.64-2.fc17.1  rpmfusion-nonfree-updates
...
xorg-x11-drv-nvidia.i686             1:304.64-3.fc17  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-173xx.i686       173.14.35-2.fc17 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-173xx-devel.i686 173.14.35-2.fc17 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-173xx-libs.i686  173.14.35-2.fc17 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-96xx.i686        96.43.23-1.fc17  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-96xx-devel.i686  96.43.23-1.fc17  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-96xx-libs.i686   96.43.23-1.fc17  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-devel.i686       1:304.64-3.fc17  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.i686        1:304.64-3.fc17  rpmfusion-nonfree-updates

3. Fedora17 にも不安定な部分が、ちらほら見え始める! 
Fedora17 でも GUI環境が不安定に感じ始めたのは、kernel 3.6.11... あたりからであろうか?3.7.x からか? ちょうど、Fedora18 の Kernelバージョンと重なりそうなあたりか? なんとなく、18 の病気が 17 にも伝染しているように映るのは気のせいか?

拡張機能をインストールし、[高度な設定]で右クリックメニューを表示しているが、 gnome-terminal 内の右クリックメニューとぶつかるようで、システムがダウンしやがる。
よって、拡張機能側の右クリックメニューを停止。 
ついでに、右クリックメニューに[端末を開く]が追加されるパッケージを削除(関係ないと思うが)。
  yum remove nautilus-open-terminal
これで安定した模様。

2013-01-27

コモディティ化の奴隷

あらゆる業界において、企業がユーザの囲い込みに躍起になり、誇大広告が氾濫するのも、ますますサバイバルの様相を強めている証しであろう。囲い込み経済は、ロビンソン物語から受け継がれる資本主義の象徴的手法というわけか。しかし、利便性の誘惑に惹かれ、均一化、あるいは均質化された環境に依存することが、合理的と言えるのだろうか?おまけに、一つの統合環境に依存すれば、リスクを拡大させる。いつサイトやサービスが閉鎖され、一瞬のうちに大企業が消えても不思議ではない時代、それどころか産業ごと頓死することもありうる。利便性はそのままリスクとなることを覚悟しておくべきであろう。ネット障害や機械の故障などのリスクはどこにでも転がっており、安全性なんてものは確率論で語られているに過ぎない。
人間には、実体のないものを恐れる習性がある。だが、利便性を追求した挙句、無理やりにでも仮想化を煽らないと経済循環が成り立たないところまできている。その象徴といえば、貨幣であろう。人々は、いつ紙くずになるか分からないものを、底なしに集めようとする。電子化してまで。そして、情報が溢れれば、多数派を拠り所にする傾向をますます強める。だが、それで安住できるかなど誰にも分からない。実体が見えないだけに不安でしょうがない。やがて真の価値が明るみになった時、初めてリスクの大きさに気づき、危機が現実なものとなる。群衆エネルギーは、そのままリスクエネルギーとして増幅されるわけだ。ちなみに、クラウド化とは、データが雲のように一瞬のうちに消えてしまう状況を言うらしい。たとえそうだとしても、依存できるものがあるということが、どれだけ幸せでいられよう...

1. コモディティ化
現代社会では、豊富過ぎるほどの情報があり、生活様式が多様化していく。にもかかわらず、あらゆる製品やサービスが、コモディティ化していくのはどういうわけか?機能や品質の差が不明瞭となり、ますます差別化が難しくなる。情報共有の場が多数派を煽り、要求を集中させるのか?ソフトウェア業界は、相変わらず強烈な不具合の発生を当たり前としているようだし、オンライン化、電子書籍、ITインフラにしても、差別化で喘いでいるように映る。となると、どこで競争するのか?
サービスの移転にはリスクをともなうが、単なる代替ならば、それほどリスクを負うこともない。コモディティ化とは、リスク分散という人間の防衛本能から生じる現象なのだろうか?あるいは、マンマシンインターフェースとして成熟しつつあるということであろうか?選択肢を失うことが、人間の思考を麻痺させるという見方もできそうだが。いずれにせよ、ユーザがサービスの奴隷であることに変わりはない。
ただ、これだけコモディティ化が進むと、公共料金の原理が働きそうだ。様々なブラウザが乱立する中、使い勝手の面から目くじらを立てるほとの違いを感じない。OSにしても、LinuxとWindowsは限りなく近づいているように映る。品質の面でも近づいているような...
相変わらず、技術の模倣合戦や特許紛争が盛んだが、いまや真の開発元がどこにあるのかも分からない。設計者自身が模倣しているかどうかすら気づいていない。そして、権利の主張だけが発達していく。これが民主主義の成熟した姿というわけか...

2. 文明と依存性
昔々、狩猟物の恵みや農作物の実り具合で、裕福さを測る時代があった。生活はひたすら獲物や天候との出会いに依存し、まさに自然は神の存在であった。だが、人類は安定性に焦がれるが故に、思うようにならない自然の仕打ちに苛立ってきた。文明社会とは、肝心な時にいつもお留守をなさる神への依存性を弱めようと努力してきた結果である。
やがて所有の概念が生まれると、地主と小作人で種別された。地主は小作人の労働力に依存し、小作人は土地に依存する。そこで、農作物や土地にも依存しないものを求めるうちに、交換の原理が生じた。そして今、あらゆる価値が貨幣換算される。土地や労働力ばかりでなく、人の命まで。貨幣の力はますます増大し、人は皆キャッシュに依存しなければ生きられなくなった。いまや経済活動はキャッシュフロー抜きには語れない。そして、金融屋があらゆる取引に介入し、経済循環の根本を牛耳る。心臓の弁をちょいと支配するだけで、人体のすべてを征服できるという寸法よ。むかーしから、毟り取る仕組みをこしらえるのが得意な連中がいる。だが、いくらキャッシュが主役になろうとも、それ自体から何も生産することはできない。
さて、依存性の観点からすると、現代人と古代人では、どちらが自立しているのだろうか?人口が自然抑制された時代では、子供がそのまま労働力とされ、学校なんか行かずに働け!と説教された。高い税率を抜きにすれば、自分で作った農作物で家族を養うことができた。政治がお邪魔虫という議論は、ここではやめておくとして。だが、自立するためには知識が必要であり、洗脳性の強い社会でもあった。
一方、現代社会では、ほとんどの人が企業や役所からもらう給与で生活する。経営陣ですらサラリーマン社長で溢れている。そして、企業が潰れたら家族は路頭に迷うことになる。依存性を高めれば、自立性を失うことにもなろう。文明社会は、自立性を失わせようとしているのか?仮想化とは、自立性を欺瞞するための道具なのか?仮想化が利便性を煽り、利便性が犯罪を巧妙化させる。人類は、人工物への依存性を高めることによって自滅するのか?自然に依存するのと人工物に依存するのとでは、どちらがまともなのか?俗世間の酔っ払いには、とんと分からん。
アリストテレスは「生まれつき奴隷」とやらを提唱した。自分で思考するのが面倒であれば、主人に従う方が楽であろう。自立性を放棄することが幸せと信じることもできそうか。なるほど、幸せが幻想というのは、本当なのかもしれん...

2013-01-20

グローバル人という不思議な人種

グローバリズムが広まると、ナショナリズムが盛り上がるという奇妙な現象がある。それは、グローバリズムの流れに乗り遅れた人々の妬みからくるのだろうか?あるいは、帰属意識や自己存在の確認、アイデンティティの再確認といった意識からくるのだろうか?結局、人は皆、国家に縋って生きるしかないということであろうか?
人間社会には、生まれたら強制的にどこかの国に所属させられるという奇跡的なシステムがある。人は、生まれる地や生まれる国を自由に選べない。生まれる場所すら与えられない人もいる。つまり、人はまず不自由を体験することになる。だから自由への憧れが強いのか?だから枠組みへの反発を強めるのか?世界には様々な枠組みが溢れている。国の枠組み、民族の枠組み、文化の枠組み、言語の枠組み、組織の枠組み...
だが、そんな枠組みを物ともしない人々がいる。グローバル人とは、自然に自由を謳歌できるような人を言うのであろうか。

一方で、愛国心が足らないと憤慨する人々がいる。そして、海外で活躍するスポーツ選手、芸術家、科学者たちが、理不尽な批判に曝される。だが、彼らが純粋に能力を発揮するだけで、どれだけ民衆を励ましていることか。中には、政治の思惑に乗せられて招待される人もいるようだけど。
環境が違うだけで思うように能力を発揮することが難しいというのに、彼らはどこででも仕事ができる。度胸が座っているのは、才能の裏付けがあるからか?しかも、外国語が流暢でない人も珍しくない。言語は便利なツールだが、コミュニケーションの本質ではないということであろうか。彼らには、人物や文化をステレオタイプに嵌めるような感覚はないようだ。分野に関係なく何かを極めようとすれば、国や言葉の隔たりなんて関係ないのかもしれない。その意味で、彼らを真理を探求する人とでもしておこうか。
枠組みにこだわらないことが、視野を広げ、様々な思考を試す機会を得ることになる。こだわりがあるとすれば、生き方というやつであろうか。依存性を低くし自立性を高めるという意味では、リスクを分散させるという見方もできるかもしれない。経済力や政治力の勢いばかりに目を奪われ、特定の国に依存しようとする動きこそ、リスクを高めることになろう。国境なき記者団、国境なき医師団、非政府組織といったものが、どれだけ社会のリスクを分散していることか。そうした広範な活動をしている人々にだって愛国心はあるだろう。誰にでも、地元愛、郷土愛、家族愛なんてものが自然に発するものであろう。出身地や出身校が同じというだけで共感したりする。大震災時の結束力を見れば、愛国心のない国民とは言えないはずだ。なのに、愛国心を煽る連中ときたら、奇妙な信仰に憑かれているかのように、団結心を煽って暴徒化し、寄ってたかって他国の国旗を焼くことを象徴とし、自ら国家の危機を脅かす。わざわざ愛国心教育なんてやれば、団結するために無理やり敵国をでっちあげるのがオチよ。愛ほど暴走しやすい。盲目と言われる所以だ。
グローバリズムと愛国心は対立的な立場として捉えがちだが、どちらも生きるのに必死であることに変わりはない。どちらも自分の居場所を求めるための精神活動であり、防衛本能が働いているだけのことであろう。その違いといえば、多様化を認めるか認めないか、ぐらいなものであろうか。ちっぽけな違いで結果が随分と違うことはよくある。したがって、グローバル人とは、真理とリスクの観点から、あらゆる枠組みを物ともしない人ということにしておこうか。さて、どれだけ文化や発言の違いに寛容でいられるだろうか?いくら想像してみたところで、俗世間の酔っ払いには生涯到達し得ない領域であることは間違いない。

1. Broken English のすゝめ
世界人口における公用語の分布を眺めれば、英語という一つの言語にこだわる時点で、グローバル人とは縁が遠いのかもしれない。だが、企業では英語を公用語にする動きが見られる。その結果、英語力を優先した雇用に走り、技術力が疎かになったエンジニア会社も珍しくない。そして、英語屋は伝言係となる。言語的な翻訳よりも、文化的な翻訳の方がはるかに貴重であるはず。それは経験に裏付けられるものである。科学力や技術力を差し置いてまで英語に走ることもあるまい。ついでに、数学も言語の一種であることを付け加えておこう。
技術屋さんの議論では、日常英語があまり通用しない。重要なやりとりは文書ベースになりがちで手間がかかる。だから、俗世間の酔っ払いは、流暢に喋りたいと思う。それでも、軌道に乗り始めると、相手も片言日本語を喋り、互いの片言言語の応酬は、なかなか楽しい。向上心とは、恥をかくことと見つけたり!
実際、ポンコツ英語を自負する企業家たちがいる。長く付き合うなら、Broken English がお勧めだとか。流暢でも中身がないよりは、はるかに歓迎されると。最初は誤解を招くことも多いが、誤解が解けると逆に信頼が厚くなると。恋愛でもギャップに惚れるというケースがあるが、まさにそれか。しかし、こうした助言は、慰めにしか聞こえんよ...
コミュニケーションの方法を誤れば、流暢な分、却って反感が増幅される。英会話がどんなに上手くても、議論ができなければ意味がない。日本語ですら内容のないことしか話せない人が、英語でいったい何を話すというのか?ネイティブとは、どういうことか?英語圏の方言も多様で、日本人は英語という枠組みで一括りに捉え過ぎる傾向があるようだ。方言や訛りがあるということは、地方文化を知り尽くしているとも言えそうか。日本人は、首都圏に行くと方言を封印しがちである。田舎者と馬鹿にされるのを嫌うからだ。アメリカでも同じ傾向はあるらしいが、あれだけ多種多様な人々が集まると、そんな感覚は簡単に吹っ飛んでしまうらしい。そもそも、アメリカは土地が広く、方言が酷く、ポンコツ英語を喋る人も多いと聞く。
ある外国人から、日本人は言葉を完璧に喋ろうと意識し過ぎると指摘されたことがある。完璧な人間なんていないんだから、間違ったことを喋ってもいいのではないかと。とりあえず、口にすることが大切だと。しかし、欧米人の誰もが主張したがるわけでもあるまい。ダーティハリーがお喋りではしまらない。日本には、空気を読む...無言で通じ合う...といった文化がある。それはそれで感心される。極意を教えろ!と聞かれても知らんがねぇ... とりあえず、やかましい!

2. 文化の壁と自立性
言葉の壁よりも、はるかに手強いものがある。国内企業への転職でさえ、組織文化に馴染めず辞める人はわんさといる。実際、日本企業の人事屋は、優秀な人材がほしいと言いながら、そこを見ている。つまり、服従者になりうるかを。建て前では、外国語能力や異文化を受け入れる感覚、そして自立性といったものが要求される。確かに、自立性を強調するお偉いさんをよく見かける。そういう人は決まって社員の自立性のなさを嘆く。自立性とは、組織への依存度を極力小さくしようとする意思の表れであろう。優秀な人材にはどこか異端的なところがある。革新的なパワーはそういうところに秘めらることが多い。しかし、組織の欠点をよく観察し、ズバリ言い当てるような人材を煙たがり、本音では和を乱す害虫のように見ている。村社会では、自立性は孤立性へと追いやられるわけよ。異文化を受け入れる度量のない組織ほど、自立性などと掲げているように見えるのは気のせいか?そして、自立性のない面接合格者に、君には自立性があるよ!と洗脳しているのかは知らん。
自分の価値観から大きくはみ出した人を避けたいと考えるのも自然であろう。自己存在の防衛本能でもあるから。自立性に富んだ集団は、個性も自然に溢れているから鬱陶しいところがある。だが、こういう連中を相手にすると楽しい。相互に論理的に議論できるならば、想像もつかない世界に生きている連中は、それほど邪魔な存在にならない。周りからは、まったく協調性がない集団のように映るらしいが、実はそうでもない。チームに技術的な問題が発生すると、自主的に結束し、猛然と徹夜を始めたりする。普段は勝手気ままな奴らだけど。論理的に説明すれば、だいたい納得してくれるし、説得できない時は、だいたいこちらの論理性に隙があるから分かりやすい。
一方で、管理職の側が論理性の未熟さを棚に上げて、協調性がないというレッテルを貼るケースが実に多い。したがって、チームに哲学的な共通意識さえ根付いていれば、自立性などというものはあまり心配には及ばないと思っている。やはり仕事は楽しくなくちゃ!共通の価値観とは、これだけよ!

3. 人材流出
日本社会は、技術者に冷たいところがある。リストラで居場所を奪っておきながら、海を渡った人材を一括りに売国奴であるかのように攻撃されることもある。中には、そういう人もいるだろうけど。希望退職を募れば、そりゃ優秀な人から辞めていくさ。ならば逆に、もっと優秀な人材を海外から受け入れればいいのだが、そんな度量もない。人の価値とは、去った時にはじめて気づくものである。そもそも、企業体質がグローバリズムとは程遠いのに、求める人材がグローバルな人とは、これいかに?グローバリズムを手段としてしか見ていない証拠である。ちなみに、おいらも海を渡りたいといつも思っているが、秀でたものが何もない。向こうから渡ってくる人もいるから、それでよしとするか...