Emacs23
バグらしきものを発見。
Hello World
と入力し、カーソルを行頭に置き、インクリメンタルサーチでHello Worldを検索する。もちろん見つかる。しかし、Wの位置にカーソルを置くと、C-sでもC-rでも見つからない。
Ubuntu 7.04 upgrade
ThinkPadの方は、アップグレードをしてみた。一見問題無さそうに動いているんだけど、さっきOpenOfficeが起動しなくなっていることに気付いた。OpenOfficeだけインストールし直してもだめなので、クリーンインストールに切り替え。まぁUbuntuに限らず、この手のOSアップグレードは、うまくいった試しが無い。
銭湯
うちの近所に銭湯があって、ここは一応温泉になっている。露天風呂もあるので、たまに行ってのんびりつかりながら青空を流れる雲を見たり、サウナに入ったりして気晴らしをする。今日も行ってみたらゴールデンウィークサービスデーだそうで、なんとビール飲み放題。風呂につかりながら生ビールである。極楽。
Ubuntu 7.04
どうも全般にハードウェアの認識がいまひとつな感じ。CD-R、DVD-Rの書き込みや、サウンドデバイスの認識が不安定。あと、なぜかログイン画面で最初の1文字が捨てられたり。まだあせってアップグレードしない方がいいかも。
VMWare Server
Ubuntu 7.04にVMWare Serverを入れてみた。導入方法はここに書いてあるが、vmmon.tarとvmnet.tarのパッチの当てかたが、このままではダメだった。ガイドでは、VM Serverのインストール先のvmmon.tar/vmnet.tarを置きかえろと書いてあるけど、そうではなくてVM Serverのインストールパッケージを解凍した場所にある、/lib/modules/source/vmmon.tar,vmnet.tarを置きかえないとダメな模様。
Windows2000を入れてみた。再起動後のデバイス検出で一回ハングしたが、VMを再起動してみたら、うまくいった。SmartVisionは再生はさすがに無理だったが、その他は問題無し。Sylkypixも驚くほど速く動く。ネイティブと変わらない感じだ。あとWindowsでしか動かないソフトって何だろう。年賀状印刷あたりか。
Ubuntu 7.04
まずデスクトップ側を移行してみた。システム管理に「制限付きドライバの管理」というのが出来ていてプロプライエタリなドライバの設定が出来る模様。早速nVidiaドライバを設定。なんか描画が速くなっている気がする。WindowsXPと差を感じなくなった。
デュアルディスプレイでセカンダリを左に持ってくるには、/etc/X11/xorg.confのScreenセクションに、
Option "TwinViewOrientation" "LeftOf"
を指定すれば良いようだ。
で、xft版Emacsにもう一度挑戦。ソースからコンパイルしてみたら、なぜか日本語のフォントだけ小さく表示されるものが出来上がってしまったので、ここの情報をもとに、スナップショット版をインストール。フォントの設定は.emacsに、
(set-default-font "Bitstream Vera Sans Mono-15")
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
'("IPA モナー ゴシック" . "unicode-bmp"))
でEmacs23になってしまったんで、physical-line-modeはどうしようかと思ったら、なんか普通に動いてる。Emacs側で何か修正が入ったんだろうか。term/bobcatが効かないので、
(global-set-key "\C-h" 'delete-backward-char)
を指定。クリップボードが使えるように、
(setq x-select-enable-clipboard t)
あとは邪魔なメニューを消しておく。
(tool-bar-mode 0) (menu-bar-mode 0)
時差ボケ直らん。
プールに行ってみたけど、500mで断念。だめだ。いつもアメリカから帰ってきた時は割と早く直るんだが。歳か?
なんかケータイのバイブ音がどこかでするなぁと思ったら、夢久のイビキだった(爆)。
結局ステーキ
結局近所のステーキハウスへ。45分待ちとのことで帰ろうかと思ったんだけど「まぁまぁバーで飲んでればすぐですよ」と言われて、バーへ。サミュエルアダムスがなくてがっかり。ライトならあるというので、それで我慢。やっぱりマズイ。隣りに来た人もサミュエルアダムスを頼んでライトしかないと言われ、文句を言ってた(なんかバーテンダがシュガーがどうのと言っていたんだけど、あれはどういう意味なんだろう。高いビールのことを口語でシュガーと言うんだろうか)。
1時間待っても呼ばれないので、これ以上待つなら帰ろうと思い、文句を言いにいくと「5分でご案内します」と言って、ものの数分で通された。なんだよも〜。もっと早めに聞けば良かった。
ウェイトレスは早口で、半分くらいしか聞きとれなかったんだけど、半分フィレで、半分別の部位(聞きとれなかった)の肉があるというので、興味本位で注文。なんか見た感じはTボーンステーキみたいなんだけど。やわらかくてうまかった。最後にもう一度「あの肉は、なんて名前だっけ?」と聞いてみたら「ポータハウス」というのだそうだ。調べてみたら、やはりTボーンステーキのことのようだ。フィレとニューヨーク(ニューヨークなんて名前の部位があるのは知らなかった)が骨にはさまれている肉のことらしい。今度からフィレじゃなくてポータハウスにしよう。フィレだと固くてパサパサのが多いし。
あとは野菜。蒸しブロッコリを頼んだら、普通にスーパーで売ってるようなブロッコリが2束蒸し上がって出てきた。切らずにそのまま2束、どさって感じ。前菜とかデザートをお勧めされたけど、頼まなくて正解。
酒代を合わせると、チップ合わせて$100弱。ちと高かったな...
Benjamin Zander
会社のセミナーに指揮者のBenjamin Zanderが来て講演してくれた。すげー、ピアノあり、歌ありで、うちのGeneral Manager達、顔負けの熱演。なんでアメリカの有名人って、みんなプレゼンうまいの?
講演後は、自著をタダで配って、サイン会。しっかり貰ってきましたたよ。
フロントで聞いたらVenice Beachまでは車で1時間。タクシーだと$100くらいかかるとのことで断念。さすがに日没見るためだけにタクシー代2万は出せないし。念のためタクシーの運ちゃんにも聞いてみたけど、同じ答だった。あきらめて付近を散歩。

「私を借りて!」こんなので思いっきりアクセル踏み込んだら気持ちいいだろうな。

20分ほど歩くとTARGETを発見。てきとうに土産を見つくろう。

駐車場にて。

帰り道は不思議と近く感じられる。

で、やる暇もないくせに、しっかりと買いました。Burning crusade

明日の飛行機は昼過ぎなので、9:00くらいにゆっくりホテルを出れば良さそうだ。今晩は何を食べようかな。ま、車が無いからホテル内か近所しか選択肢は無いんだけど。
ディズニーランド
いよいよ明日で最終日。今夜はお決まりのディズニーランド貸し切りツアー。
こんな感じで、要所要所に屋台が出ているので、適当に腹ごしらえ。

日本人で集って行くのも、気心が知れていていいけど、やはりせっかくなので、たまたま食事の時に知りあったBryanと、そのままアトラクションを回る。大学の授業料のこととか、物価のこととか他愛も無い事を話しながら、あっという間に閉館の10時。今回もいい思い出になった。最終日の夕方から、どこか見所は無いかと聞いてみたけど、まぁ、こちとら繁華街嫌いだし、映画スターの豪邸拝見も興味無し。しかも車無しということだと、特にお勧めは無いけど、ビーチに出てみるのがいいんじゃないかとのこと。Sunsetが見られるらしい。天気が良ければタクシーで行ってみようかな。
ロス2日目
探してみたけど、ホテルにはカジノとか無い模様。レンタカー禁止だから、あんまり遊べないな〜。
資格試験がタダなので、SunのSCP(Java SE 5.0)を受けてみた。正直、ナメてたかも。というか日本語版があるって話だったのに、英語版しかないし... 結構歯ごたえあり。9割ほどしかとれなかった。プログラムの実行結果を選べというタイプには、ほとんど「コンパイルエラー」とか「実行時エラー」という選択肢があるので、かなり注意して見ないとひっかかる。あと、なんか妙に抽象的な問題「猫は人間に飼われていて、その猫が好きなネズミはチーズが好きを、Javaで表すとどうなるか」みたいなのがあって、なんじゃそれって感じ(でもOO Conceptは満点だったので、合っていた模様)。あとstatic importとか、Scannerとか普段、自分が使わない機能は良く分からなかった。受ける時は最新の言語拡張機能を一通りおさえておいた方が無難かも。でもJava Programming Puzzlerみたいで面白かった。試験だから正解が分からないままなのが残念だけど。

写真でみると暖かそうなんだけど、結構気温は低い。

コンペンションセンター屋上から。結構フェンスが低い。つまらんことで訴訟になる割には、この辺は落っこちても自己責任らしい ^^

性懲りもなくミニチュア。
無事Anaheim到着。
今回は、Economy plusを付けてみた。12.9k円で、エコノミーの一番前の席が選べる。普通に足を組めるし、トイレもすぐだし、なかなか良かった。
なんか事前に調査していたのとは違って、寒い。13℃しかない(最初、機内アナウンスを聞き間違えて30℃!とか思ったのは内緒だ)。着いてすぐの最初のカンファレンスはSecond Life入門(<なんだそりゃ)。もったのは最初の30分くらいで、あとは気絶。「ロンドンダラー」ってなんだろうと思ったらLinden $なのか。ゲーム内の通貨らしい。今迄のMMORPGではリアルマネーとゲームマネーの交換ってタブー視されてきたけど、Second Lifeでは割と普通のようだ。ユーザ数は、まだまだWoWの方が圧倒的(まぁ、ゲーム内容がかなり異なるから単純比較はできないけど)。あとヘビーゲーマは女性の方が多いそうだ。内容的には、特にこれといったものも無かったけど、うちの会社が、なんか真面目に取り組んでいるのがちょっと新鮮だった。いやでもブラウザ主体の世界から、いきなりこういったバーチャルリアリティに移行してしまう可能性もあるから(ゲーム内に広告とか出来てきているしねぇ)、当然なのかもしれない。そのうちGoogleとかも手を出すんじゃないだろうか。意識が朦朧としてきたので、早々に切り上げてコンベンションセンターでミニチュアを撮ってホテルで仮眠。
MIDIの遅れ問題、解決。
今、使っているGIGABYTEのGA-965P-DS4には、PCIeスロットが2つあるので、試しにGeForce 7600GSのカードをもう一枚買って付けてみた。カード自体は認識するのだが、ディスプレイは全く表示されない。無理なんだろうか。
で、せっかくなのでIvoryマシン側に入れることにした。そうしたら、不思議なことにMIDIの遅れの問題が解決。今迄はどうせVNC経由で使うからとMatroxのMilleniumIIをPCIスロットに入れていたのだけど、どうもこいつのCPU負荷が高かった模様。
期せずして、Ivoryマシンの問題が全て解決した。不思議なことにディスプレイカードを入れかえたのに、マシンIDチェックは働かず、Authorizeは必要なかった。
いやしかしまぁ、あるソフトを快適に使用するためにハードウェアを増強するという行為は、本当に久しぶりだった気がする。結局マシン一台を丸々新調、メモリーカード8GB x 3にUSB-MIDI、USB-サウンド(ASIO)、そしてディスプレイカードだもんな。そういえば電源も買った気がする。
で、譜面を見るのに19incじゃ狭くって、デュアルディスプレイだと、間に枠がはさまって見辛いなぁと感じていたところに、デルの30inch旧モデルが最後(?)のバーゲンになっていて、すごく迷っていたり。しかし、このモデルって発売から大してたっていないんだよな。輝度が高すぎて使いにくいって聞くし。それなら輝度が落ちて色再現性も向上した新モデルのバーゲンを待った方がいいのかな。
京急人身事故続発
呪われているのか? 今日も遅れまくり。で、一本待って、駅から車で送ってもらうつもりで西馬込行きに乗る。途中、泉岳寺でずいぶんと待つなと思ったら、なんかホーム反対にとまっている電車に「西馬込行き」とか書いてある。ギリギリで乗り換え。勝手に行き先変えるなよ〜。危うく羽田空港に連れていかれるところだった。車内ではヘッドホンで音楽聴きながら、FindBugsのディテクタコードを読むのに没頭していたので、車内放送は全く聞こえてなかった。危い危い。
enumのequals()
最新のFindBugsは、共変なequals()がenumにあると警告するんだけど、
public enum Channel {
CHANNEL_A(30), CHANNEL_B(40), CHANNEL_C(50);
private int frequency;
private Channel(int frequency) {
this.frequency = frequency;
}
public boolean equals(Channel c) {
if (c == null) return false;
if (c == this) return true;
return (frequency == c.frequency);
}
// ...
}
H C Eq: タイプセーフenum sample29.Channel で、equals(Channel) を定義しています。 Channel.java:[lines 12-14]行目
「なんで共変メソッドだけ警告なのか。そもそもタイプセーフenumは参照で比較できるんだから、equals()のオーバーライド自体がバグでは? もしかして巷では同値の定数を複数定義なんてことが流行っているのか?」とか考えていたんだけど、普通にオーバーライドはエラーになるのね。
public class Test {
enum A {
A0(0), A1(0);
private int i;
private A(int i) {
this.i = i;
}
@Override public boolean equals(Object o) {
if (o == null) return false;
if (o == this) return true;
if (o.getClass() != A.class) return false;
return i == ((A)o).i;
}
@Override public int hashCode() {
return i;
}
}
}
Test.java:10: Test.A の equals(java.lang.Object) は java.lang.Enum の equals(java.lang.Object) をオーバーライドできません。オーバーライドされたメソッドは final です。
@Override public boolean equals(Object o) {
^
Test.java:17: Test.A の hashCode() は java.lang.Enum の hashCode() をオーバーライドできません。オーバーライドされたメソッドは final です。
@Override public int hashCode() {
そうか。final宣言では、共変メソッドまで防ぐことはできないわけだ。
JSTLのfmt
仕様によると、setLocaleしなければAccept-Languageを見てくれそうなものだが、どうもうまくいかない。で、ソースを追っていくと、どうやら"ja-JP"みたいな設定が来ることを想定しているけど、"ja"しかこなくて、失敗している模様。setLocaleで"ja-JP"を明示的に指定すれば、日本表記になった。って、なんか使いものにならない気がするのだけど。これ。
Mobile専科でCF無線LAN捕獲
無事プラネックスのを入手。やはりこれまで使っていたバッファローのは壊れた模様。意外とあっさり壊れるんだな。ま、無線機器だしね。プラネックス製品には、あまりいい思い出ないんだけど、今度は長持ちして欲しいものだ。
NetBeansのNext Matching Word
NetBeansのEmacsバインドは割と良く出来ていて、好感触なのだけど、Next Matching Word(Alt+/)の挙動が読めない。Eclipseよりも高速に動作するので、その点はいいんだけど、
String opus; op
という状態でALT+/を打つと、"open"と補完される。"open"って何? 良く使う単語とかは事前登録されていて、そっちが優先で出てくるんだろうか。これはやめてほしい。カーソル位置からさかのぼって、最初に見つかったやつ、それで見つからなければ、開いているファイルの中、それでもなければ、その事前登録単語を出力みたいな感じがいいんだけど...
P.S. Previous Matching Worldにバインドすると良さそう。
USB-MIDI
ROLANDのUM-2EXを買ってみたけど、やっぱりだめだ、微妙にタイミングが遅れる。ま、WindowsはRTOSじゃないんだし、これ以上を望むのは無理なのかもしれない。考えてみれば、別に楽器を生で演奏するんじゃないから、直接MIDIで制御する必要は無いんだよな。シーケンサからMIDI制御を分離して、別マシンに持っていって、時間情報付きのデータをネットワーク越しにリモートから送りこんでやるようにすれば良さそうだ。最初はjava.sound.midi.SequencerをRMIで包んでリモートファサードパターンにするのが美しいかと思ったんだけど、javax.sound.midi.MidiMessageとか、Serializableじゃないんだよな。おまけにミュータブルだし。この辺の設計、嫌いだよ。
う〜、CF無線LANカードが壊れた。
いや確実に壊れたと判断できないんだけど、とりあえずリナザウで使えない。PCで検証しようにもPCMCIAのアダプタが見つからない。しょうがないので新品を買おうかと思ったら、どうやら絶滅状態らしい。こういう時は秋葉に行ってもダメだろうから近所のPCデポとコジマを探してみる。PCデポにプラネックスのがあったので、喜び勇んでレジに持っていったら「ただいま在庫が無く、他の店にもありません」。残念(陳列されている箱は、空き箱なのだ)。
そりゃそうか。いまやモバイル機器はみんな無線LAN標準装備だもんな。こんな形でリナザウが使いものにならなくなるとは... とりあえずちょっと高いけどヤフオクにbid。W-ZERO3は契約切って無線LANだけで使用したりとか出来るんだろうか。でもEmacs動くのがいいなぁ。無線LAN内蔵のリナザウとか.. 出ないだろうな。


























