Home日記コラム書評HintsLinks自己紹介
 

フィンローダのあっぱれご意見番 第129回「隣人は東大教授」

← 前のをみる | 「フィンローダのあっぱれご意見番」一覧 | 次のをみる →

以前紹介したことがあるが、 自宅で Solaris/x86 上に構築したサーバーをインターネット経由で外から見えるようにしてあった。 流石に今時 Pentium 200MHz のマシンだとアレなので、 パソコンを購入することにして、 ついでに OS も LINUX に移行することに決めた。 という訳で、システムとかツールを LINUX に移植中である。 それをまたデタラメな手順でやるものだから、 面白がっている場合ではないのだが、 トラブル続きで結構スリリングである。

LINUX に移行した理由は、 単に LINUX インストール済の pc を買っただけの話。 もし Solaris がプリインストールされた pc が安く get できていれば、 そちらを買っていたかもしれない。 実際問題として、 Solaris がプリインストールされた新品の pc を数万円で get するのは困難だ。 LINUX をインストールした pc なら、 大手の pc メーカーのサイトからインターネット直販で簡単に購入できる。

§

自宅のpcでサーバーを立ててインターネットで外部からアクセス、 というソリューションも、最近では普通みたいだが(そうか?)、 これが意外とお友達とか家族間で情報を共有するのに便利だ。 自宅でも、最近は自分だけではなく、 数名程度で使うというスタイルになっている。

無料ホームページサービスも意外と健在だが、 セキュリティとか、やや不安がある。 もっとも、自宅サーバーが無料ホームページよりもセキュアかというと、 まあ普通はそうでもない。 ただ、外部のコンピュータにデーターを置くということは、 少なくともそのコンピュータの管理者はデータを見ることができるわけで、 そのあたりがちょっと気になるのだ。 とはいっても、データを暗号化する程の重要な情報がある訳でもないのだが、 とりあえず自宅のサーバーなら、管理者も自分自身だし、 外部から不正侵入されない限り、 自分以外の誰かが勝手にデータを見るというリスクはない。 もちろん、その「侵入されない限り」というのがポイントではあるが。

最近、自宅サイトで結構重宝しているのが、 画像データを置いといて、見てちょうだい、という使い方である。 無料ホームページの場合、割り当てられているディスクサイズが10MBとか、 多い場合は50MBとか、その程度のものだ。 使い方によってはこれは十分なサイズなのだが、 最近のデジカメだと1枚が1MBなんてのも全然珍しくないわけで、 それを10枚も置いたらパンクしてしまうのである。 自宅のpcなら、 配置できるデータのサイズは数十GBということで、事実上無制限である。 一杯になったらハードディスクを増設すればいい。 問題は通信速度なのだが、 頑張ってBフレッツで接続したのがここで効果を発揮して、 大雑把だが上り下りとも実測値で15Mbps程度は出ているから、 相手さえ速ければ、 1MBや2MB程度のデータを置いても別に困らないのである。

§

家庭やそれに準じるような小さなコミュニティも面白いが、 インターネットの醍醐味は、やはり超大規模なコミュニティの可能性だと思う。 誰でも見える場所にある掲示板だから、数億人が見ているのでは、 と考えるのは当然、杞憂である。 むしろ、誰も見ていない、という場合の方が圧倒的に多いかもしれない。 誰でも見ることができるというのと、誰かが見ているというのは、 全く異なった状況なのだ。

メガコミュニティの特徴は、距離感の喪失と、 それによって専門家を含んだ実世界とは異質な集団が形成されることにある。 これは多くの場合はメリットなのだが、 扱い方を間違えると大失敗するリスクもありそうだ。 確率的にはいまいち正確ではないが、 超大雑把な計算をしてみよう。 日本の人口が約1億人として、 1000人ずつのグループに分ければ、10万個の集団が形成される。 もし、何か特技を持っている人がこの中にまんべんなく分布すると仮定すれば、 この千人のコミュニティの中には、 日本に10万人程度存在するような特技を持っている人が1人いてもおかしくない、 という計算になる。

これがどの程度の数なのかというと、 平成14年の情報処理技術者試験の合格者が約10万人だから、 1000人のコミュニティの中には、 情報処理技術者の資格を何か持っている人が1人いる、ということになる。 当たり前だが、 プログラマーが集まるコミュニティだと、 そのような資格を持っている人の比率も断然アップする可能性が高い。

もしコミュニティの規模が10万人になると、 日本に1000人存在するような特技を持っている人が一人いてもおかしくない。 これはどのような数なのだろう。 東京大学のサイトで調べたら、 平成14年度の東京大学の教授が1389人だそうである。 ということは、10万人のコミュニティがあれば、 その中に1人位は東大教授がいるかもしれない。

大抵の人には、自分なりの得意分野というのがあって、 ある程度は他人よりも高いスキルがあると自負しているだろう。 小規模なコミュニティの中では実際そうである。 例えば、家族や親戚の中でパソコンに詳しいのは誰だ、 というような位置付けが出来ていると思う。 その判断は実際に正しい。 少し大きなコミュニティでも状況は対して変わらない。 近所で一番だとか、学校や会社で一番だとか、そういった状況は日常的にあるだろう。

ところが、超大規模なコミュニティの場合、 とんでもないスキルを持つ人がいる確率がどんどん高くなってくる。 東大教授が最も高いスキルを持っていると断定する訳ではないが、 10万人の規模のコミュニティで何か発言しようとする場合は、 たまたま東大教授が隣に座って話を聞いているかもしれない、 という程度のことは想定した方が現実的なのである。 知ったかぶりで投稿したりすると、えらい反撃が来るかもしれない。

§

LINUX の話に戻るが、 わざわざプリインストール済みの pc を選択した理由は、 インストールが面倒だという訳ではない。 むしろ、そのハードウェアが使えるかどうかを調べるのが面倒だったからだ。 今はどうなのか知らないのだが、 数年前だったら、最新の周辺機器は LINUX では動作しないので少し古いものを使う、 というような常識があった。 最新のハードウェアは、Windows で動かすためのドライバだけが用意されることが多い。 LINUX で使うためには、誰かがドライバを書くのを待たなければならなかったのである。 LINUX が最初からインストールされている pc ならば、 付属のハードウェアが全部 LINUX 対応だろう、 という安易さを買ったのである。

  

Solaris も LINUX も、基本的に UNIX 系のOSだから、 大抵のソフトウェアは同等のものが動作するか、 あるいは再コンパイル程度で移植できる。 問題は、ソフトウェアがバージョンアップしていた場合だ。 実際に移行してみると、 Perl が 5.8 になっていたり、Apache が 2.0 になったりということで、 今まで動いていたものが微妙に動かなかったりした。 かといって、わざわざ古いバージョンを使うのも何だから、 ネタにもなりそうだし、 あえて新しいもので動くようにチャレンジしている。 一般論というか、プログラマー的な発想として、 これはかなり特殊な判断かもしれない。 「動いているプログラムを触るな」という格言もある位で、 わざわざ動いている perl スクリプトを修正して 5.8 で動くようにするリスクは高いのである。 List 1 のように書いてしまったら、5.6 には簡単に戻れなくなってしまう。 だから、今でも jcode.pl は現役だし、jperl だって出番は残っているはずだ。

 

※ 2006年、pcを新しく購入して、移行した。 このとき、ついに jcode.pl と perl 4.x をインストールしなくなった。

---- List 1 (Perl 5.8 で UTF-8 の文字列をシフトJISに) ----

  use Encode;

  # 途中略

  $str = <IN>; # IN に対するファイルが open されているとする
  utf8::decode($str); # その文字列が UTF-8 であるとする
  $sj_str = encode("shiftjis", $str); # $sj_str はシフトJIS

.fi
---- List 1 end ----

§

既に LINUX のユーザーは今となっては非常に多いらしい。 電車に乗って隣の人の読んでいる本を見たら LINUX の本だったり、 あるいはコーヒーショップで隣のテーブルの人の話を聞いたりしたら、 LINUX のユーザー管理の話をしていた、なんてことが結構あるのだ。 具体的に LINUX ユーザーが何人いるのか知らないが、 仮にそれが 10 万人だとしても、 1000人のコミュニティがあれば十分に先人が隣人である可能性はあるのだ。 実際、Web でうまく検索すれば、 先人が悪戦苦闘した記録を読むことができる。

もっとも、LINUX で使えるソフトのドキュメントの品質は、非常に高い。 大抵のことは、読めば分かるという仕組みになっている。 しかし、それがかえって仇となって、 ドキュメントを読破するというのが結構大変な作業になってしまうことがある。 もちろん、 単にインストールして動かすだけなら、 quick install の類のドキュメントを見れば ok、 ということになっているが、 それがなかなかどうして、ということもある。 そういう時に威力を発揮するのが、 実際にやってみた人の体験談、特に失敗談で、 それにはインターネットという媒体が非常に役に立つのだ。

§

ちなみに、私の個人ページでも LINUXの話が増えてきた。 私の特技は、経験というより勘によるインストールである。 適当にやってみたら 「何だか分からないが動いた」という結果になるのだ。 現場では「よく分かっているつもりなのに動かない」ということも多い筈だから、 自分ではこれは特技というより魔術に近いものだと思っている。 科学的に解釈するのなら、 自分の意識していない所で経験によって反射的に行っている行動のようなものがあって、 それが結果的にうまい方向に進めるようなロジックを実装したモノとして、 頭の中で何かが形成されているのではないか。 人はそれを小人と呼んでみたりするのだろう。 もっとも、メガコミュニティの中では、もっと凄い人がいるかもしれないので、 あまり大きな声では自慢しないことにしているのだが。

  

(C MAGAZINE 2003年3月号掲載)
内容は雑誌に掲載されたものと異なることがあります。

修正情報:
2006-03-02 裏ページに転載。

(C) Phinloda 2003-2006, All rights reserved.