路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

2 != 2.0

2006-04-25 07:07:55 | その他
最近、Web 2.0やらMail 2.0やらという、びみょーに違和感のある言葉が大手を振って使われているようです。

この「2.0」の意味をひもとけば、「2」は漠然とした次世代・革新を表し、「小数点ゼロ」という書き方はソフトウェアのバージョンになぞらえたもの、すなわち、ソフトウェアによる~という意味になります。両者をあわせて、「~ 2.0」は「ソフトウェアによって実現される次世代~」を意味するわけです。

これらの、なんたら2.0、という言葉を聞くとどうしても思い出されてしまう言葉があります。それは(ちょうど10年前の)1996に作られた「インターネット2」と言う造語です。インターネット2は、ハードウェア、プロトコル、アプリケーションのすべてを含んだ革新を含んでいます(日本語版wikipediaでも、英語版wikipediaでも)。

もちろん、なんたら2.0とインターネット2は、かなり深い関係を持っています。有り体に言ってしまえば、なんたら2.0は、インターネット2という言葉が予言していた革新のうち、アプリケーションの部分に相当します。

ここで、インターネット2は、ソフトウェアだけではなく、ハードウェアやプロトコルも含む概念であることを考えれば、なんたら2.0に対応する造語がハードウェアやプロトコルの分野にもありそうに見えて、実は見あたらないことに気づきます。プロトコルでは、IPv4 → IPv6という(名称の変更としてみれば)あっさりとした変更しか行われていませんし、ハードウェアに関して言えば、どこまでが今までのインターネットで、どこからがインターネット2なのか答えるのが難しいくらいに、技術がオーバーラップしているのではないでしょうか。

では、なぜソフトウェアの分野において、なんたら2.0などという変な造語が闊歩しているのか?それは、この変化が、造語を作る必要があるほど、ソフトウェア分野における質的に大きな変化であるためです。逆もまたしかり。インターネット2という言葉で予言された革新の質的な部分は、ソフトウェアによって実現されます。

注目すべきは、ハードウェアやプロトコルといった、より基礎的な部分ではなく、ソフトウェア、すなわち応用(アプリケーション)で質的な変化が起こったことです。すなわち、ハードウェアやプロトコルをいくらつっついても、あるいは、ハードウェアに流れるビット列を観察していても、この変化を見ることはできない。

これが何を意味するのか?(開発者としてみれば)アプリケーションと呼ばれていたものが新たな基礎となったことを意味するし、(もう少し引いてみれば)学問領域としての断絶が起きたことを意味しますし、(社会的な見方をすれば)物理的実体から独立した機能としての新種の「都市化」がおきつつあることを意味しています。

2と2.0の間には、値としてみれば差はなくても、質的な転換があります。その違いは、いみじくも、整数と実数の差くらい大きなものかもしれません。

「Winny商法」にご用心

2006-04-19 23:25:13 | その他
記事より。

「ベンダーがユーザーの無知や怠慢に付け込んで,場当たり的な対策ツールを売り込もうとしている」

一瞬、某社(複数)の名前が思い浮かんだのは気のせいでしょうか。

それはさておき、記事のタイトルを見て予想したのは、
「お前ういにー使ったやろ。データを返してほしかったら、金払え」
というハガキが送られてくる話でした。

さすがにいまどきそれはないか。

Lenovo、PCのすべての製品においてWindowsをプリインストール

2006-04-18 19:18:23 | その他
記事より。

これも一見地味だけど画期的。

MSは過去、某国で不正に利用されているWindowsにも(正規版と等しく)セキュリティパッチを提供したことで、表彰されていたりするからなあ。

時代は変わるものだ?と期待してよいのやら。

追記 2006/04/19

あちゃー。20日の米中首脳会談を前に、米国を代表する大企業との“蜜月関係”をアピールの流れだったか。期待薄。

2年触ってないプロダクトのソースコード

2006-04-18 18:40:12 | プログラミング
ずーっと前に開発して、2年以上経って忘れかけていたプロダクトの修正依頼が舞い込みました。

変更自体はそんなに難しいものではないと思うのですが、さて、どーしたものか。
2年前のソースコード、自分のものとはいえ、触れるでしょうか。

すぐに2つの選択肢が浮かびました。

うまくできる自信もないし、2年前のソースコードなんて恥ずかしくて見られない。テキトーに理由を付けて止めとくべき。

いやいや、普段、人様のソースコードの保守性について、さんざん文句を言っている手前、ぜひやってみるべき。

どっちも本心。さあどうしよう。

ASIO4ALL

2006-04-16 20:03:44 | 音楽
久しぶりにFrieve Audioのサイトに行って、Frieve Audioの新しいバージョンをダウンロード、インストールしました。
そのとき、ふと目にとまったASIO4ALLの文字。

ASIO4ALLとは何ぞや。

調べてみると、Windowsの「高機能な」オーディオシステムをバイパスして、かなりハードウェアに近いところで動作するドライバだそうです。

PC内臓のオーディオでもジッタが改善されるそうなので(普段はUSBオーディオを使っているのですが、出張のときなどに備えて)早速導入してみました。

結果は・・・予想外に、CPUの占有率が10数%ほど下がって(そのせいだと思うのですが)雑音が減りました。ASIO4ALL、ずっと使っていこうと思います。

それにしても、Windowsのオーディオシステムってなにやってるんでしょうか。ねえ。

memo: レイヤリング

2006-04-10 20:57:16 | プログラミング
記事より。

「ブラウザのユーザーインターフェース(中略)などは、18カ月よりも短い間隔でアップデートする(中略)一方、ファイルシステム(中略)などは、少なくとも3年は変更されません。(中略)10年前に書かれたドライバの大半は、動かせるようにしなければなりません。ここで重要になるのがレイヤリングです。」

なるほどー。ゲイツさん本人が思い付いたのかどうかは知らないけど、重要な概念ですね。メモメモ。

Ubuntuつれずれ:Synergyすごい

2006-04-10 16:41:45 | ubuntu linux
現在、会社では机の回りにたくさんPCとディスプレイがあります。

図解すると、
シネマディスプレイ → Mac G5、OSX
20インチ、DVI → ショップブランド、WinXP
20インチ、アナログ ↑
20インチ、アナログ → ショップブランド、Ubuntu

当然、キーボードとマウスも3組あるのですが、これを整理したい。
探してみると、Synergyなるものが、この目的に使えそうです。

Synergyは、ネットワークでつながっているPC間で、OSの違いを越えて、キーボードとマウスを共有するためのソフトです。

今はとりあえず、Macのキーボードは配列が違いすぎるので、WinXPのマシンとUbuntuのマシンのキーボードとマウスを共有することを考えます。

WinXPのマシンでSynergyサーバーを起動して、ごにょごにょ設定。
その後、Ubuntuのマシンでクライアントを起動。
これで、WinXPのマシンのキーボードとマウスが、UbuntuのPCでも使えるようになりました。

切替えは、まるで仮想画面ソフトのように、自然なものです。マウスをずーっと持っていくと、ディスプレイの境界を越えられます。その後、ウィンドウをクリックすると、そのウィンドウがフォーカスを持ちます。

さらに驚くべきことに、クリップボードも共有できます。たとえば、UbuntuのFireFoxでブラウジングしていて、テキストを一部コピーして、それをWinXPのテキストエディタで張り付け、とかできます。

なんて便利なんだ。あー早まって切替器とか買わなくてよかった。

以下メモ

Synergyの設定で、
仮想画面の配置がちょっとトリッキー。マウスが画面の端にきたときにどうするか、というアクションの設定なので、画面Aと画面Bを並べるには、画面Aの右端が画面Bに接続する、という設定と、画面Bの左端が画面Aに接続する、という設定の両方が必要。

クライアントであるUbuntuのPCで、
なぜか「半角/全角」キーでのIMEの切替えができなくなるようなので、CTRL+スペースで代用。

以下おことわり

今までタイトルに使ってきたUbuntu日記ですが、先達があることに気づき、今回からタイトルを変更いたしました。なにぶん、弱小ブログなので迷惑はお掛けしていないとは存じますが、もし掛けていたら申しわけありません。かしこ。

指摘された大量のバグを速やかに修復…ってなんか違うぞ

2006-04-05 16:14:35 | プログラミング
記事より。

オープンソースソフトに大量に発見されたバグは速やかに修復されました、めでたし、めでたし(意訳)。

個人的にはこの記事の論調には違和感がある。早く修正されることをほめたたえるより、このようなバグを発見する方法がコミュニティに無かったことを嘆くべきだ、と思う。