birdPostgreSQL チューニング, 今年の年賀状, ニュースステーション

PostgreSQL チューニング

あんまり IO が速くないマシンで、とにかく bulk insert の性能を稼ぐにはどうするか、というチューニング。
bulk insert のみ、という条件だとなんとなく shared_buffers や wal_buffers といったパラメータはあまり関係がないようで、wal_sync_method と checkpoint_segments あたりが肝な模様。いろいろと試行錯誤中です1。あ、もちろんデータファイル領域 ($PGDATA/base) とログ領域 ($PGDATA/pg_xlog) は異なる物理ディスク上に配置してあります。
wal_sync_method ですが、Linux 2.4 で普通の SCSI ディスクだと fsync と fdatasync がほとんど同じ、open_sync はそれの2倍くらい遅い、という感じのよう (open_datasync は使えませんでした)。確か PC Solaris だと open_datasync が一番速かったような気がするんだけど…2。 後者の checkpoint_segments について。Oracle なんかだと checkpoint 間隔があんまり短くなり過ぎないように調整するのがセオリーだけど、PostgreSQL で checkpoint_segments をデカくしてチェックポイント間隔を広げると、いざチェックポイントが発生した時にかなり長い間ロックアップ状態になってしまう。確かに単にスループットで比較すれば間隔を広げた方が良いんだけど、長時間アプリケーションが pause してしまうのは致命的な場合もあるよなぁ。この問題は普通どうやってチューニングするんだろう?
とかなんとかいろいろ調べている間に、PostgreSQL の ML にこんなメールが!つまり、bulk insert 中に他のテーブルをまとめて引き抜く (大量の sequential scan 発生) ような処理は 7.4 ではツライかもしれない、ってことか…。もう少しいろいろテストしてみよう。
そういや pgbench の initialize 時の tuple 生成の速度を調べたら、80000tuples/sec 以上の速度で insert 出来てるじゃん!…と思ってソースを読んでみたところ、単に insert してるわけじゃなくて copy コマンドを使っているのですね。この手をアプリケーションで使う、ってのはアリなのかな…。

今年の年賀状

2004年賀状 は、こんな感じでした。親が写っていない、いわゆる「嫌われる」年賀状ですが、コンセプト3のためにしょうがなかったのだ、ということにしておいてください。親ばかだ〜>俺。

ニュースステーション

今日は久々に真理さんいじめの珍味のコーナー (食の快楽) があった。森永さんと真理さんは何気にいいコンビだ…。

birdKernel 2.6 のメモリの使い方, 口の中の傷

Kernel 2.6 のメモリの使い方

Kernel 2.6、すごく快調です。使用中にメモリメータを見ていて気がついたのですが、2.6 はスワップをほとんど使いませんね。2.4 の頃はしばらく使っていると (それほどメモリに厳しいことをしなくても) 知らぬ間にスワップも使われていたんですが、2.6 では今のところ全くスワップを使いません。挙動も心なしかきびきびしている感じだし、なかなかいいなぁ、2.6。

口の中の傷

数日前の食事中に噛んでしまった唇の切り傷が案の定化膿してしまって、放っておいてもズキズキ痛い。口の中の傷ってどうして必ず痛くなっちゃうんだろう…。

birdPSX キークリック音の謎, フリスク ユーカリミント味, VMware 4.0.5 (Build:6050) の Kernel 2.6 対応

PSX キークリック音の謎

以前、「PSX リモコンのキークリック音が鳴ったり鳴らなかったりする」という話を書きましたが、なんとなく法則性が見えてきました。
PSX の操作画面は、バックにチューナの出力が見えている時と見えていない時があるのですが1、チューナの出力が見えている時 (その時放送されている TV の音声が流れている時) にはクリック音を出さない、ということのようです。
EPG (番組表) 画面のように「画面は見えないけれども音声だけ聞こえる」ような場合も、クリック音はなりません。そういう仕様だったのね…。

フリスク ユーカリミント味

僕は昔からお腹が弱いのかしょっちゅう下痢をするたちだったのですが、なぜかフリスクのユーカリミント味を一日1個〜2個食べていると非常にお腹の調子が良くなることに気がつきました。フリスクって整腸作用があるのかしら…。

VMware 4.0.5 (Build:6050) の Kernel 2.6 対応

こちらのページを参考に無事動かすことが出来ました。簡単に手順をまとめます。

Kernel 2.6 で起動した後、VMware をインストール (既にインストール済みの人は vmware-config.pl を実行) しようとすると、途中でエラーが発生し停止してしまいます。しかしとりあえずエラーが出るところまでインストール (または vmware-config.pl の実行) を行ってください。

:  
Do you accept? (yes/no) yes  
  
Thank you.  
  
grep: /proc/ksyms: No such file or directory  
grep: /proc/ksyms: No such file or directory  
grep: /proc/ksyms: No such file or directory  
Trying to find a suitable vmmon module for your running kernel.  
  
None of VMware Workstation's pre-built vmmon modules is suitable for your  
running kernel.  Do you want this program to try to build the vmmon module for  
your system (you need to have a C compiler installed on your system)? [yes]  
  
Using compiler "/usr/bin/gcc". Use environment variable CC to override.  
  
What is the location of the directory of C header files that match your running  
kernel? [/lib/modules/2.6.0/build/include]  
  
Extracting the sources of the vmmon module.  
  
Building the vmmon module.  
  
make: Entering directory `/tmp/vmware-config0/vmmon-only'  
make[1]: Entering directory `/tmp/vmware-config0/vmmon-only'  
make[2]: Entering directory `/tmp/vmware-config0/vmmon-only/driver-2.6.0'  
make[2]: Leaving directory `/tmp/vmware-config0/vmmon-only/driver-2.6.0'  
make[2]: Entering directory `/tmp/vmware-config0/vmmon-only/driver-2.6.0'  
..././linux/driver.c: In function `init_module':  
..././linux/driver.c:246: structure has no member named `prev'  
..././linux/driver.c:247: structure has no member named `next'  
make[2]: *** [driver.o] Error 1  
make[2]: Leaving directory `/tmp/vmware-config0/vmmon-only/driver-2.6.0'  
make[1]: *** [driver] Error 2  
make[1]: Leaving directory `/tmp/vmware-config0/vmmon-only'  
make: *** [auto-build] Error 2  
make: Leaving directory `/tmp/vmware-config0/vmmon-only'  
Unable to build the vmmon module.  
  
For more information on how to troubleshoot module-related problems, please  
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and  
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".  
  
Execution aborted.  

その後、上記ページで紹介されているパッチ (vmware-any-any-update48.tar.gz) を入手し展開、出来たディレクトリ中の runme.pl を実行します。

tpx20:~/var/vmware-any-any-update48# ./runme.pl  
Updating /usr/local/bin/vmware ... Unknown version  
Sorry, there is no binary patch available for your version of vmware.  
VMware modules in "/usr/local/lib/vmware/modules/source" has been updated.  
  
Before running VMware for the first time after update, you need to configure it  
for your running kernel by invoking the following command:  
"/usr/local/bin/vmware-config.pl". Do you want this script to invoke the command  
for you now? [yes]  
  
Making sure VMware Workstation's services are stopped.  
  
Stopping VMware services:  
   Virtual machine monitor                                             done  
   Bridged networking on /dev/vmnet0                                   done  
   DHCP server on /dev/vmnet8                                          done  
   NAT networking on /dev/vmnet8                                       done  
   Host-only networking on /dev/vmnet8                                 done  
   Virtual ethernet                                                    done  
  
grep: /proc/ksyms: No such file or directory  
grep: /proc/ksyms: No such file or directory  
grep: /proc/ksyms: No such file or directory  
Trying to find a suitable vmmon module for your running kernel.  
  
None of VMware Workstation's pre-built vmmon modules is suitable for your  
running kernel.  Do you want this program to try to build the vmmon module for  
your system (you need to have a C compiler installed on your system)? [yes]  
  
Using compiler "/usr/bin/gcc". Use environment variable CC to override.  
  
What is the location of the directory of C header files that match your running  
kernel? [/lib/modules/2.6.0/build/include]  
  
Extracting the sources of the vmmon module.  
  
Building the vmmon module.  
  
Building for VMware Workstation 4.0.x.  
Using 2.6.x kernel build system.  
make: Entering directory `/tmp/vmware-config1/vmmon-only'  
make -C /lib/modules/2.6.0/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules  
make[1]: Entering directory `/usr/src/kernel-source-2.6.0'  
  CHK     include/linux/version.h  
  HOSTCC  scripts/fixdep  
  HOSTCC  scripts/split-include  
  HOSTCC  scripts/conmakehash  
  HOSTCC  scripts/docproc  
  :  

すると何やら怒られはしますが、とりあえずさっきエラーが出たところは無事通過し、最後まで辿り着きます。これで、とりあえず VMware を再び使える状態になります。VMware 起動時に「カーネルが新しすぎるぞ」と怒られますが気にしない、気にしない。

たぶん次期バージョン (4.1?) では正式に Kernel 2.6 に対応してくれるでしょう。

birdネットワークメディアプレイヤー, Kernel 2.6 化

ネットワークメディアプレイヤー

PC Watch の記事によると、先日の「Xbox を AV クライアントに」という話以外にも、各社からネットワークメディアプレイヤーと呼ばれるカテゴリの製品が出てきたようですね。

Microsoft の動きを見ていて思うのは、コンピュータの基礎の部分は既に「ある」ものとして、その上のサービスを至極まっとうに発想できている、ということです。対して日本の家電メーカを見れば、なんというかまだまだベース部分の構築に汲々としていて、なかなかさらに上位の概念の提案までたどりつけていないように見えます。

僕なんかはまぁその、MS がよりどころとしている基礎部分に文句付けたりしてるわけなんですが、なんにせよちゃんと上を見ている視線がある、というのは価値あることです。

ところで上記記事には、

今回東芝が公開したデジタルホームのデモは、デジタルホームのあるべき姿を示していると言える。日本の家電ベンダのデジタルホーム構想では、PCが無視されていたり、PCがつながらないという未来像を示しているものが多い。しかし、家庭におけるPCの普及率が70%を超える今、PCを無視したデジタルホーム構想は歪んでいる。PCとデジタル家電が相互に接続でき、コンテンツ保護も実現された形でメディアデータのやりとりができるという今回の東芝のデモは、誰にとっても受け入れやすいものではないだろうか。

という文章がありますが、PC の家庭における普及率が 70% という数字だけを受けて、上記の結論を導き出すのはかなり強引な気がします。その 70% のうち、どれほどの PC がホームサーバとして稼働可能な状態にあるのでしょうか?実はホームサーバとして稼働可能な PC の割合は意外に低いんじゃないか、というのが僕の感覚的な印象です。

それに、PC が家電メーカーのホームネットワーク構想から無視されるのは、その普及率であるとか技術上の問題ではなく政治的な問題でしょう。それが「歪んでいる」という見方ももちろん可能だとは思いますが、僕からみれば、現在の MS に支配された PC そのものの方がよっぽど政治的に歪んでるように思えます。家電的世界まで全て MS ワールドになっちゃって、なんだかよく分からないアプリケーションを使わせられる未来なんて気持ち悪くないすか?

Linux のようなオープンな基盤の上に、そこそこイケてるフレームワークが乗っかって、各社がその上のアプリケーションの機能や方向性でもって (フェアに) 競争する、みたいな未来の方がいいなぁ。基盤技術がオープンでないところの弊害はこの、フェアな競争が出来ないところにあるんだよな…。

Kernel 2.6 化

自宅でメインに使っている Debian woody マシン (この Web サーバが動いているマシン) の kernel を 2.4.22-ck2 から 2.6.0 に変更してみました。もう 2.6.1 も出てますけどね…。

簡単に手順をまとめます。なお今回、kernel 2.6 に必要なその他もろもろのツール類をいちいち自分で調べて入れるのが面倒だったため、Debian backports を利用してインストールしてみました。

まず、次の行を /etc/apt/sources.lst に追加します。

#  
# woody backports  
#  
deb http://www.backports.org/debian stable kernel-2.6 kernel-source-2.6.0  

その後、とりあえず普通に「apt-get update」「apt-get upgrade」した後、「apt-get install kernel-source-2.6.0」を実行し、カーネルソースをインストールします (もちろん dselect 等を使って同等のことをしてもよし)。

さて次に、通常のカーネル再構築/インストール手順に従い、下記の通り実行します。

# cd /usr/src  
# tar jxvf kernel-source-2.6.0.tar.bz2  
# ln -s kernel-source-2.6.0 linux  
# cd linux  
# make menuconfig  
# make-kpkg --revision tpx20.01 kernel_image  
# cd ..  
# dpkg -i kernel-image-2.6.0_tpx20.01_i386.deb  

以上でカーネル入れ換えは完了です。このままリブートすることで新しい kernel 2.6 が利用できます。僕の環境ではごく普通に立ち上がり、今までと変わらず使うことが出来ました。1点、サウンドドライバを OSS から ALSA へ切り替えた関係で、/etc/modules の記述を変更する必要がありました。

[変更前]

# /etc/modules: kernel modules to load at boot time.  
#  
# This file should contain the names of kernel modules that are  
# to be loaded at boot time, one per line.  Comments begin with  
# a `#', and everything on the line after them are ignored.  
cs4281  
ipchains  

[変更後]

# /etc/modules: kernel modules to load at boot time.  
#  
# This file should contain the names of kernel modules that are  
# to be loaded at boot time, one per line.  Comments begin with  
# a `#', and everything on the line after them are ignored.  
snd-cs4281  
snd-pcm-oss  
snd-mixer-oss  
ipchains  

他にも、通常の kernel 2.4 からアップグレードした方は、X Server の nice 値を -10 から 0 へ変更した方が良いかもしれません (「dpkg-reconfigure xserver-common」で変更出来ます)。僕は以前、ck カーネルに切り替えた時に変更済みでした。

現在のところ分かっている不具合としては、VMware が起動出来ない点くらいです。vmware-config.pl をやり直してもカーネルモジュールの作成に失敗してしまうのですが、Google 先生に聞いてみたところ動かすための手はあるらしい。引き続き調査中。

さて、しばらく使ってみよう…。

birdま、またしても…

ま、またしても…

サーバが止まってました。いかんいかん。ログを見ると今朝の 8:00 過ぎから今 (16:30 頃) まで止まっていたみたい。
しかし、なぜいきなり apache が消えるかなぁ…1。とりあえず cron で5分毎にチェックすることで対処。バータリーだ…。

birdランク王国, 薄いDVD, favicon.ico

ランク王国

を見ていたら、なんとあの新しいキャラメルコーンのかわいいパッケージは中田英寿がデザインしたとの情報が!
有名な話なのでしょーか?結構びっくりした…。
ググッてみたところ、1) かなり有名な話らしい、2) 直接デザインしたわけではなくて、デザインチームにいくつかアイディアを出した、という話らしい。
ふむー。知らなかった…。

薄いDVD

kakaku.com の掲示板を見ていて知ったのですが、巷には普通より薄い DVD もどきというようなものが存在するようで (例えばコレ?)、おまけ DVD などの分野に利用されているらしい。やっかいなことに、こういった薄いディスクを PSX に入れると出てこなくなることがあるらしい。
知らなかった…。気をつけねば。

favicon.ico

アイコンファイルを用意してみました。ico ファイルって、はるか昔の記憶 (Windows 3.1 時代?・笑) では実体は BMP ファイルだったと思ってたんですが、favicon.ico ファイルに関しては GIF ファイルなどでも良いのですね。知らなかった…。
今日は初めて知ったことばっかりだ。

birdITmedia の岡田有花記者, CES, Final Fantasy, Media Center PC, LocationFree, ストレージ仮想化, Hi-MD, リムーバブル・メディア

ITmedia の岡田有花記者

僕は昨日 (Ruby 作者の) Matz さん日記で初めて知ったのですが、ITmedia の新人記者、岡田有花さんをご存じですか?(特徴的な記事、その1その2)。サイコーです。これからも頑張って欲しいなぁ。

CES

今開催中の CES に関する報道がたくさん。いろいろと思うところはありますが、まとめて書くだけの時間がないので思い出したらポツポツ書きます。それにしてもいまさら Hi-MD はないよなぁ…。

Final Fantasy

深夜で放送していた映画版をいまさら見ました。なるほど、これは売れそうもない(笑。脚本がシケシケ、役者が大根。同じアニメーションでも他のモノではそれほど「演技ヘタ〜」って感じはしないのに、あの映画であれほどヘッタくそだなぁと感じてしまうのは何でだろう。なまじリアルなだけに細かなディテールがより気になってしまうから?レンダリングが大変で細かいタイミングの調整などが難しかった?
壮大な星の描写とか出て来る乗り物なんかは結構面白かったのに、残念。

Media Center PC

今回の CES で Microsoft がより洗練させてきた Media Center PC。でも、僕は「どうして PC なの?」って思う。今の PC は無駄が多すぎるし、効率も悪すぎる。より特殊化されたモデルが必要なんだと思うけど、Microsoft の立場ではコントロールが難しそう。どれだけうまくやるのか注目したいです。
そういや、Xbox が Sony の RoomLink や Vertex Link の MediaWiz、IO データの LinkPlayer のようなものになるというのは面白い。Xbox にとってはかなりの新しい付加価値なのではないかと思います。

LocationFree

対する Sony は LocationFree というコンセプトを打ち出してきました。これまでも VAIO Media という形では実現されていたわけですけれども、対象を VAIO だけでなく専用デバイスにまで広げよう、という動きがようやく始まった、ということでしょうか。Sony は社内の部署間の連携がとんでもなく悪いからな〜。

ストレージ仮想化

Microsoft の Media Center PC、Sony の LocationFree、どちらについても肝となるのは「ストレージ仮想化」なのではないかと考えています。
Media Center PC について言えば、「PC」という名前はついていますが、Personal Tool としての一般的な PC とはまったく異質の存在であり、どちらかというと家庭におけるコントロールとストレージの中心になろうとしてしているもの、LocationFree も何らかのストレージ (現在のところ VAIO) が家庭に存在することを前提としたものです。どちらも「ストレージ」が中心に存在します。
その「ストレージ」が、いつまでも「単なる HDD のデカい PC」とか「ホームサーバ」というような、「単一の機器」だと考えられているのはおかしいと思うのです。家庭内のデータが集約されればされるほど、その機器の堅牢性、信頼性への要求は高まり、比較的すぐ、単一の機器ではその要求される信頼性をまかなえなくなってしまうでしょう1。ストレージが偏在している環境、それらを統一的に扱うことが出来、データそのものはその環境で可能な限り力強く生き続けられるような仕組みが必要だと思うのです2
そういう意味で、Apple の、iPod を単なる音楽貯蔵庫としてではなく、個人的なデータは全てそこに格納していく「パーソナルストレージ」とでも言えるような存在としていこうという流れにはとても賢明なものを感じます。Macintosh、iPod と偏在するストレージをスマートな形で (そのストレージの性格に逆らわずに) 自然に統合していこうという流れのように見えるからです。

Hi-MD

携帯プレーヤでは「HDD なし、光ディスクあり」にこだわり、据え置きプレーヤでは「HDD あり、光ディスクなし」にこだわった Sony。後者は去年反省してスゴ録、PSX という製品を作ったわけですが、前者はまだ失敗だと思っていないのでしょうか。きっと iPod を使っている社員だってすごくたくさんいるだろうに、どうしてビジネス上のどうでもいい要請からではない、自分達の体験、身体感覚に基づいた企画が出来ないのだろう…。

リムーバブル・メディア

本質的に、携帯型機器ではリムーバブル・メディアは使いづらいのです (どうしても散らかるので)。「ストレージ」というものがなくデータを細切れに管理するしか無かった時代は、携帯型機器でもリムーバブル・メディアを使うしかなかったわけですけれども、iPod のようなものや、PC、PSX のようなものがごく普通に存在するようになった現在、携帯型機器でリムーバブル・メディアを日常的に使わなければいけない理由はほとんどなくなっているのではないかと僕は思います3

birdサーバ停止, Macworld(3), カメラ入力 UI

サーバ停止

今朝方 6:30 頃から 7:30 頃までこのサーバ停止してました。ちょっと前にデスクトップ向けにチューニングされていると言われている ck カーネルに入れ替えてから、ふとしたタイミングで固まっていることがときどきあります。やっぱり少し不安定なのかな。
そういえば僕は XFS を利用しているんですが、例の「異常終了した時にファイルが0で埋めつくされる」というバグがこの間久しぶりに発生、よりにもよって VMware の仮想ディスクを一つ壊してくれました…(;_;。

Macworld(3)

いろんな報道を見ていたら、どうもこの Macworld は「Macintosh 20周年の始まり」ということなんですね。ジョブズ曰く「いろいろ計画している」ということで、今後の展開に期待しましょう。

カメラ入力 UI

僕のカメラ入力 UI 熱が高まっているのは、間違いなく EyeToy の影響です。EyeToy のカメラってごく普通の USB カメラに見えますが、かつての安藤さんの日記こちらにも書かれているように、取り込まれた各画素について、色情報だけでなく奥行き情報、つまりカメラ面からの距離情報も取得できるようになっているのだそうです。そのせいか、TOKYO GAME SHOW の会場のように光ノイズの多い場所でも何の問題もなくプレイすることが出来ました。
画素あたりの Z 座標が取れるとすると、例えば動く人間の手を認識することなども比較的容易に出来ます1。だとすれば後は、既に実現されているマウスジェスチャー程度のロジックでジェスチャー認識させることも可能なのではないでしょうか。
これであの腹立たしい家電のリモコン達2が駆逐されたりしてくれると嬉しいなぁ。

birdsubversion(2), 「光速より速い光」読了, Macworld(2)

subversion(2)

そうなのでした…。1結論から言うと、こと読み取りに関するアクセス制御はたとえ apache を経由していたとしてもあまり自由度が高くないのでした。

当初僕は、次のようなことをすれば単一のリポジトリ内でもディレクトリ別にアクセス制御をかけることが可能なのではないかと考えていました。2

# リポジトリのトップ  
<Location /svn/repos>  
    DAV svn  
    SVNPath /opt/repos  
    AuthType Basic  
    AuthName "Subversion Repository"  
    AuthUserFile conf/svnpasswd  
    Require user admin  
    # 少数の管理者のみ含む  
</Location>  
<Location /svn/repos/project1>  
    Require user admin project1-user ...  
</Location>  

実際に上のような設定をしてみるとすぐにわかりますが、これではうまく動きませんでした。subversion ではリポジトリ内ディレクトリに対応した path の他に、リポジトリトップ直下の SVNSpecialURL ディレクティブで指定されたディレクトリ (デフォルトでは「!svn」) にも頻繁にアクセスするからです。

そこで、設定を次のように変更してみました。

# リポジトリのトップ  
<Location /svn/repos>  
    DAV svn  
    SVNPath /opt/repos  
    AuthType Basic  
    AuthName "Subversion Repository"  
    AuthUserFile conf/svnpasswd  
    Require user admin  
    # 少数の管理者のみ含む  
</Location>  
<Location /svn/repos/project1>  
    Require user admin project1-user ...  
</Location>  
# SVNSpecialURL は全員がアクセス可能にする。  
<Location /svn/repos/!svn>  
    Require valid-user  
</Location>  

上記のように設定することで、svn コマンドや Windows 上の TortoiseSVN などのクライアントプログラムを用いる限り、ユーザ毎に特定のディレクトリ以下しか閲覧すらできないようにすることが出来るように見えます (一番最初に必ず発行される PROPFIND が失敗するため)。

しかし、subversion クライアントが apache サーバにアクセスするパターンを access_log などでよーく観察すると、特に一番最初に working tree を checkout する際、実際にデータを引き出しているのは SVNSpecialURL 以下へのアクセスであることがわかります。

そこで、正規のクライアントではなく直接 HTTP により checkout 処理に相当するコマンドを apache に与えてみると、本来あるユーザには許可されていないディレクトリ以下のデータも全て取得可能であることがわかりました。

結局、読み取りに関してはリポジトリ単位にしかアクセス制御出来ないのでした。残念!なお、commit 可否については (Limit ディレクティブや hook-script を用いることで) もう少し柔軟に制御出来るようです。為念。

それにしてもこうのさん、働き過ぎですよ!お身体には気をつけて〜。

光速より速い光」読了

光速より速い光 面白かった!VSL (光速度変動) 理論が納得出来る、という種類の本ではありませんが、アインシュタインを否定するようなとんでもないアイディアを思いついてしまった若い科学者が、いろいろなことに巻き込まれながらも1つのムーブメントを作り出すさまがとても生き生きと書かれています。若さゆえかあまりにもズケズケといろんなことが書いてあるので、そういうのが気になってしまう人はちと読みにくいかも。僕はとても楽しく読めました。

作者のジョアオ・マゲイジョさんはなんと僕と4歳しか違わないんですよねぇ…。僕ももっと脳味噌を回転させねば、と思った次第。

Macworld(2)

結局、20周年らしいところと言えばあの「1984」をリメイクしたことくらいでしたねぇ (しかもほとんどリメイクの意味がないような…)。iPod mini も噂通りだったし (予想よりも高価だったみたいですが)、あまり目新しいもののない Macworld なようです。10年に一度くらいはみんながびっくりするようなとんでもないマシンを作ってくれてもいいのにね。
しかしよく考えてみると、今「みんながびっくりするようなとんでもないマシン」ってどんなものでしょ?こないだの激薄 VAIO、505EXTREME はそこそこびっくりしましたが、10年に一度のイベントならばあんなレベルで満足してちゃダメだよな。
MYCOM PC WEB のインタビューによると、今年は「ウェアラブル PC を普及させる年」らしいので、そちら系だとどうだろう。これまでにない高精細 HMD と革新的な入力デバイス3、どこでもコネクティビティを備えたウェアラブル Mac を作って出したら結構面白い?
既存の発想から抜け切れてないって?ごもっとも…。

birdYARV, New Year's Resolution, Macworld

YARV

今日、たまたま首藤さんのアンテナから初めて笹田さんの日記を見にいったんですが、家に帰ってから見た前田さんの日記でも取り上げられているじゃないですか。しかもそこから飛んだ ruby-dev ML へのメールを見て笹田さんが農工大の並木研の人だと知りさらにびっくり。YARV、Yet Another RubyVM だそうですが、なるほど美太郎先生の研究室でやってそうなテーマです。
実は僕も農工大出身なんです。94年学部卒だからもう10年も前の話になります。僕自身は中森研1でしたが、この年末にも大学時代の同期 (高橋研の K 氏と中川研の A 氏) と例年の通り一緒に飲んだところでした。
美太郎先生と言えば僕が一番印象深いのが、学部3年のソフトウェア実習の時のことです。直前に PL/0 コンパイラについて学び、コンパイラのことなど何もわかっていないにもかかわらず「僕にも出来るじゃん」と「tiny C コンパイラ作成」をテーマに選んだ僕に対し、一通り実装を終えた後の発表の時に美太郎先生がされた質問が、「これってトップダウンパーザなの?」。当時の僕はその言葉の意味すら理解出来ずに頭の上にハテナをいっぱい浮かべながら「え、えっとー PL/0 と同じです!」と答えた記憶が。恥ずかしい〜。
もう一つ思い出した。当時なぜか研究室の生活環境が一番充実してたのが中森研で、研究の夜の友、カップヌードルなども常に段ボールで在庫が確保されていたため、他の研究室の人達も購入にやってきていたりしました。そんなある日、美太郎先生が夜遅くやってきて一言、「ペヤングある?」。一つ出して渡すと「これって絶対中毒性があるよな〜」とおっしゃりつつ去っていかれました…。
変なことしか覚えてないな、俺。

New Year’s Resolution

いまさらですが新年の抱負を。

  • 今年こそは家族で八丈島に行きたい。2
  • 1つくらいは公開できるプログラムを作りたい。
  • 子供とちゃんと一緒に遊ぶ。

一つくらいはクリアしたいなぁ…。

Macworld

明日の Macworld でまた何か発表がある模様。ニューアイテムとしては廉価版 iPod くらいしか噂を聞かなかったのであまり注目してなかったんですが、聞くところによれば今年は Mac 生誕20周年だそうじゃないですか (かの有名な「1984」を思い出せば良かったのだ)。絶対何かありそうだ、といきなり期待が高まっております。なんだかんだいって、自分じゃ買ったことないくせに結構 Mac が好きなんだな、俺。
Mac にまつわる切ない思い出を一つ。
大学の頃、あまりコンピュータに詳しくない友人がワープロ用途で使う PC を探していたのですが、近所の電気屋で Color Classic II が激安 (確か 45,000 円くらいだった) で売られているのを発見、強力にプッシュして結局それを買わせてしまったことがありました。
それから数年経ったある日、僕は突然 Color Classic が欲しくてたまらなくなる、という発作に襲われました (どんな発作だ)。かつて友人との間にあったことなどすっかり忘れ、Web でその時点の中古相場を調べてみると、なんとめちゃくちゃ価格が高騰しているじゃないですか!中古でも10万は下らない価格が付けられている!びっくり!
その時、「はっ!」とその友人のことを思い出しました。「そうだ、彼ならその後 Windows マシンを買ったと言ってたし3、買った時の価格も5万くらい、きっと安く譲ってくれるに違いない!」。慌てて彼に電話し、カラクラ譲ってほしいと伝えたところ、彼はあっさり言ったのでした。「あ、あれ粗大ゴミに出しちゃった」。
ガビーン。

First | Prev | 441 | 442 | 443 | 444 | 445 | Next | Last