<< 12月 2006 | Home | 2月 2007 >>
PR: 転職    転職    合宿免許    漫画    シルバー    ブライダルエステ    墓地・霊園    葬式   

愛の夢

リストの「愛の夢」

Hello World

Hello Worldって、あまり改めて意味を考えたことなかったんだけど、どういう意味合いなんだろう。プログラミング言語の入門に使われるから、漠然とプログラミング言語がプログラマに向かって、例えば「C言語の世界からこんにちは」という感じかなと思っていたけど、プログラム自体はプログラマが書くんだから、プログラマから、言語に向かって「C言語の世界にこんにちは」なんだろうか。それとも、始めて作ったプログラムから、人間界に対して「こんにちは人間界」って感じなのかな(改めて考えてみたら、この線が一番もっともらしく感じられてきた)。いずれにせよ、たまに見る「こんにちは世界」ってやつは、すごく違和感がある。日本語として不自然じゃないか?

java.io.Console

format()とprintf()の存在って何なの? Console自体が6.0からの導入だから、後方互換性のためってわけでもなさそうだし。わけわからん。

追記:
    public Console printf(String format, Object ... args) {
	return format(format, args);
    }

やっぱり、シノニムだな。こりゃ。

オルガン付き

今年もサンサーンスのオルガン付き。今日はN響のデュトワ指揮。

奏者1人1人は、うまいと思うんだけど、なんか全体としてもまとまりが、いまいち。練習不足か? ブラァボとか言ってる観客もいたから、他の観客は満足したようだけど、うちは夫婦揃って低評価だった。オルガンもなんかあっさりしていて、やっぱりオケと一体感が無い。

ただ、一緒のプログラムだった「クレオパトラの死」と「サムソンとデリラ」を歌ったソプラノのデニス グレーヴスが良かったのが救い。

ワルトシュタイン

ワルトシュタイン第一学章。次はちょっと寄り道の予定。

XP Homeサポート延長。

いや良かった良かった。実家のマシンどうしようかと思っていたところだった。これであと7年間は安泰だ。もうサポート期限を気にしてProfessional版を買ったりしなくてもいいんかな。しかしまぁ、これだけ独占していても、こういう判断をできるのがMSの強さなんだろうな。

配列のclone()

public class Test {
    public static void main(String[] args) throws Exception {
        String[] str = {"Hello"};
        String[] str2 = str.clone();
    }
}

5.0からタイプセーフになっていたんだ... 1.4までは、str2 = (String[])str.clone()としなければ、だめだったはず。

NavigableMap、NavigableSet

1.6から増えていた。higherKey(K key)とか、便利。もう二分探索しなくて良いね。

Audigy

Core 2 Duoにしてから、マザーボードに、それなりのサウンド機能が乗っているんで、Sound Blaster Audigyは外していた。

ふとみたら、AudigyってASIO対応なんだ。というわけでもう一度インストール。カードを入れて、付属CDでドライバだけをインストール。なんか途中で画面が真っ暗になって再起動。そういえば前も、こんな感じだったのを思い出す。それでもドライバは入ったようなんで、VSTHostで設定してみる。おぉ、今のプチノイズや音切れが嘘のようだ。でもASIOの設定をしようとすると画面真っ暗になって再起動。

CreativeLabsのサイトから最新のドライバをダウンロードして導入。サウンドデバイスが忽然と消え失せる。プログラムの追加と削除で一旦削除してから、もう一度最新を入れようとすると「カードが挿さってませんよ」とか言われてインストールできない。付属CDのドライバさえもインストールできなくなった。

そうそう、こんな時はシステムの復元だ。昨日の状態に戻してみようとするも、シャットダウンでハング。5分まっても変わらないのでリセット。結局「シャットダウンをちゃんとしていないんから復元できません」とか言われて、復元できず。不安定なドライバを導入した時はダメですか。つ、つかえない...

怪しいのはマザーに付属のRealtek HDオーディオドライバ。こいつをアンインストールしてから。Audigyを導入してみると、あっさり入った。その後からRealtekの方も導入。無事インストール完了。

AudigyのASIOドライバってサンプリング周波数48kHz固定なのか... なんか箱には24bit/96kHzとか書いてあったから期待したんだが... まぁいいや。

ノロか?

昨日の夕方、なんかダルくて眩暈がするなと思ったら37.8度。今日は、休暇にしてダラダラしていた。熱は下がったんだけど、お腹が痛いのと食欲が無い。さて、明日はどうしたものか。

猫ページ

猫ページ更新完了。

繰り返し記号

|:と:|と、D.C.にFine、あと繰り返しのバリエーションを「1...から「8...あたりまでサポートするとしてダルセーニョ系は無視。これらを小節線のプロパティとして持つとすると、どんな組み合わせがあり得るんだろう。D.C.とFineが同じ小節線に付くことはあり得ないし、Fineの前にD.C.が来ることもあり得ないだろう。というかD.C.は必ず曲の最後だよな... 繰り返し記号ってネスティングするのはありなんだろうか? どっかにBNF落ちて..るわけ無いか。そういえば家には楽典が無いことに気づく。

Enumはローカルにできない。

public class Test {
    public static void main(String[] args) {
        enum Foo {FOO}
    }
}
Test.java:6: 列挙型はローカルではいけません。
        enum Foo {FOO}
        ^
エラー 1 個

そうなんだ。staticコンテキストでもダメなのね。しかし「ローカルではいけません」って言い回しは、なんかひっかかるな。

燃費

日本だとリッタあたりの走行可能距離だから、数値が大きいほど「低燃費」なので、ずっと違和感があったのだけど、欧州だと一定距離を走行するのに必要な燃料量なんだ。これならしっくりくる。

定冠詞

今さらだけど、定冠詞って難しい。codeは数えられるけど、aは付けないらしい。ネイティブでも人によって言う事が違うし... もう何がなんだか ^^;

Kitchen Sink Language

Kitchen Sink Language

イレージャでないジェネリクス実装というのも見てみたい...

Vista対応Note

国内品は、Vista対応になっても最大メモリは2GB止まりのようだ。Lenovoの中途半端な3GB制限は、どうなるんだろ。多分32bit XPの制限から来ているだけで、物理的には4GB搭載可能と見ているんだが...

コンパイルエラードリブン開発

引き続きワルトシュタインを入力しつつ、使いにくいところを改善。レイヤ機能を追加してみたけど、あんまり使わないかも。このあたりまで開発が進んでくると、コンパイルエラードリブン開発に、かなりの部分を依存していることに気付く。新たなメソッドが必要だと思ったら、おもむろにインターフェースに追加。実装クラスがみんなコンパイルエラーになるので、IDEの機能でメソッド自動追加。芋づる式に、あちこちでコンパイルエラーになるのを、IDEの機能で、どんどん修正していく。リフレクションさえ使っていなければ、漏れはない。静的型付け言語万歳だ。

開発の現場

開発の現場Vol 007

artonさんとの共著。CVSとSubversionの話の後編です。

NetBeansでUnsupported form file version: 1.4

どうもGUI Builderのβが入っていないと出る場合があるらしい。会社のPCに入れたNetBeansは入っていた模様。こんなの入れたっけか。もしかしたらUML Modelingを選ぶと勝手に入ってしまうのかも。

東京工業大学のロゴ

新しいロゴだそうな。造った人には申し訳ないが「工大」を文字ったつばめロゴの方が256倍くらい良かったと思われ。

ワルトシュタイン

第一楽章の始めのところを入れてみた。割と機械的のようで意外と表情が必要だということが分かった。もうちょっと詰めてからダンパーペダルを追加の予定。

しかし人間の感覚というのは、いいかげんだ。例えば27小節目のところ。この演奏は、規則正しいテンポのように聴こえるかもしれないが、実はテンポを途中で変更(落と)している。何もテンポを変えないとこのようになる。私には後者は、ちょっとあわてているように聴こえる(私だけか?)。これも「錯覚」と言えるのかな。

Generics版 Commons-collections

なんか、色々あるなぁこれとか、これとか。本家はJDK 1.2以降サポートしなきゃいけないからって逃げてるけど、別に2つのバージョンでメンテしていけばいいだけだと思うんだけど。不要な混乱を防ぐためにも本家でとりまとめてほしいな。思い切ってJaggregateに行くってのも、個人用途ならアリかも。

MX-1000の余生

スイッチ一個のせいで廃棄というのも、もったいないのでスイッチを付け替えられないか挑戦することにした。幸い、このマウスは今もって何個付いているんだか把握できないほどのスイッチが用意されている。あまりに多いため、何げなく触れてしまってブラウザが前画面に戻ってしまったりするので、誤作動を防ぐため、普段は、わざわざドライバで殺してあるくらいだ。そのあたりのスイッチと交換できれば、まだまだ使えそうだ。

滑りを良くするためのシールを剥すと、ネジが現われる。予想通りだ。しかし、この2つを外しても開かない。


残りの2個は、製品説明のシールを剥すと現われた。ちなみに真ん中の穴は関係ない。

電池を繋ぐケーブルを外して、ご開帳。フレキは接触不良の原因になるので、みだりに抜かない方が無難だ。

左ボタンが乗っている基盤は、本体基盤とは別になって二階建構造になっている。左側にソケットらしきものがあるのだが、いくらひっぱっても外れない。良く見ると、半田直付けだった...

仕方無いので、何年ぶりかで半田吸い取り器に登場願う。ま、単純な片面基盤だから電動式にかかれば、簡単に外れる。

スイッチは幸い共通だったので、無事取り替え成功。

フラッグシップ機なんだから、もう少し良いものをおごってやってよ、Logitechさん。

無事MX-1000は、別のPCで余生を送ることとなった。

マウス買い替え。

今まで使っていたLogitech MX-1000の左ボタンがヘタってきて、チャタリングするようになったので買い替え。今までの不満は、しばらく放置してから使い始めた時の、ちょっとしたタイムラグと電池切れの不便さ、あと充電台の接触不良だったので、LogitechのG7にしてみた。電池2個付きで電池だけUSB充電台に入れておけば、いつでも満充電の電池に交換可能なので、いまわしい接触不良も無い。カーソルの動きには、もう完全に「コードレス」「オプティカル」の負い目は感じなくなった。ACアダプタが無いのも良い。

しかしもう少しボタン、もって欲しいものだな。以前使っていた、もっと安いマウスは、こんなにすぐにボタンがダメになるようなことはなかったと思うんだが。といっても3年くらいは使っているのかな?

マイクロスイッチの交換にチャレンジしてみるかな。

XWork 2.0

XWork 2.0が出ている。前にβ3のころにStruts2.0.1と組み合わせたら、コンパイルが通らなかった(クラスだったのがインターフェースに変更されているものがあった)ので、多分これもStruts 2.0.1との組み合わせはダメだろう。そろそろStruts 2.0.3-RC1とか出してくれないもんかな。

大田胃散

Googleで、大田胃散(正しくは「ふとい」の方)で検索しても、ちゃんと太田胃散が出るんだね。賢い。

続いて

プレリュード3番。やっぱり速い曲は楽だ。

猫ページ

猫ページ更新完了。

というわけで、ここで一曲。

5年以上ぶりにピアノ発表会を更新。太田胃散でおなじみのショパンのプレリュードの7番を試しに入力してみた。Javaシーケンサは思ったよりも安定していて、丸1日の作業中落ちたりすることは無かった(裏でコンソールに例外吐いたりはしていたけど(^^;))。GCの影響も今のところ全く感じられない。

さすがに自分専用に設計しただけあって、細かい表情付けが、とても簡単になった。こういうゆっくりした曲はコンピュータで自然に演奏させるのが難しいんだよね。ちなみに何も表情を付けないとこんな感じになる。

中学生の頃の夢は、分子で計算機を作ること、猫を飼うこと、コンピュータを使ってベートーベンのピアノソナタを全曲弾くこと、だった。最初のは技術自体が無くなってしまって残念だけど、猫は飼えたし、最後の1つも着々と実現しつつある。死ぬまでには完成させたいものだ。

JavaでMIDI

JavaからIvory鳴らすのにてこずったので、備忘録替わりにメモ。MIDI Yokeのポートが2セットあることとか、JavaのSequencerは、そのままだとJavaシンセサイザに自動的につながってしまう事とか、結構ハマりどころあり。

Ivory再び。

冬休み後半は、造りかけのJava Midiシーケンサをいじることに決めて、1/4-5で、Midiからの音出しモジュール、グリッド、ズーム、曲のセーブ、ロードあたりを実装。まだ色々と改善が必要だけど、とりあえずWindowsに付属のソフトウェアMIDIシンセ(と思っていたけど、実はSunのPure Javaシンセだった模様)で鳴らす分には問題無くなったので、いよいよIvoryを導入。これが昨日の夕方の話。

しかし、この導入にはまる。IvoryはCD 10枚組(じゃなくてDVD(!))なのだが、1枚目を入れてインストーラを起動。導入ドライブを指定して、VSTプラグインの場所を指定までは、すいすいと行く。しかしその後、Ivory Library Toolsなる画面が表示される。

これって、どうやら導入モジュールの検査とか削除をするツールっぽいんだけど、このあと全然先に進まない。ためしにCheck Libraryを選んでみるも、ファイルが無いよというエラーが出る。そりゃそうでしょ。まだDVD1枚目なんですけど。インストーラのバグかなぁ。前にThinkPadに入れた時はすんなり入った気がするんだけど。何が悪いんだろう。今からメーカに質問メール入れたって、返事は来週。せっかくの休みがもったいない。というわけで悪戦苦闘。

インストーラの終了後、導入ドライブを見てみると、Ivory Itemsというディレクトリが出来ている。で、全部のDVD側にもIvory Itemsというディレクトリがある(1枚目だけ、ちょっと深いところにある。他はルートにある)。そこにはピアノ名(Bosendorfer 1とか)の2GBの巨大ファイルがわんさか。もしかして単に、コピーしてやればいいんじゃないかということで、10枚分コピー。

もう一度、Ivory Library ToolsでCheck Libraryするも、やっぱりファイルが無いと言われる。多分場所の設定が記録されていないんだろうな。そういえば、バージョン1.6のパッチがあったなぁと思い、ダウンロード、インストール。変わらず。

1.6からはスタンドアロンモードというのができて、VSTプラグインが使える環境が無くても、使用できるようになったようだ。試しにこれを起動すると、ファイルが無いので、正しい場所を指定してねというメッセージが出る。しめたと思い、導入先のIvory Itemsディレクトリを指定。おぉ、Ivoryのプラグイン画面が表示された。

簡単なソフトウェアMIDIキーボードと、MIDI Yokeを使って接続。しかし、やっぱり音が出ない。

そろそろ手詰りかなと思いつつももう一度Library Toolsを起動。さっきとちょっと違うメッセージ。何やらファイルがMacフォーマットですとかエラーが出ている。そうかDVD上のはMacフォーマットで、Windowsで使用する時には変換が必要なのかな? というわけでLibrary Toolsの中のConvert Librariesを選択。何やら作業をしている。40分くらいかかったよ。Dual CoreだけあってCPUは遊んでるんだけど、HDDがフル回転なんで他の作業ができない。これからはRAID10とか使わないと、CPUが遊んでしまうね。

コンバージョンが終わってから、再度やってみたら、やっと動いた。疲れた。

Struts2コンバータ

なんでコンバータのエラーメッセージではOGNLが使えないんだ? 不便だな。

--- XWorkConverter.java ---

String defaultMessage = LocalizedTextUtil.findDefaultText(XWorkMessages.DEFAULT_INVALID_FIELDVALUE,
        ActionContext.getContext().getLocale(),
        new Object[]{
                propertyName
        });

なんで、findText()じゃなくて、findDefaultText()使うんだよ...
コンバータはあきらめて、全部バリデータでやる方が簡単かもしれないな。

mlterm

幅問題は、mltermで解決。sudo apt-get install mltermで導入。

~/.mlterm/main

fg_color=#ffffff
bg_color=#000000
mod_meta_mode=esc
use_scrollbar=false
col_size_of_width_a=2
fontsize=19
geometry=120x44
use_anti_alias=false
~/.mlterm/color

hl_blue=#9999ff
~/.mlterm/aafont

ISO10646_UCS4_1 = IPAMonaGothic-iso10646-1:100;
ISO10646_UCS4_1_BIWIDTH = IPAMonaGothic-iso10646-1:100;

起動は、mlterm --type=xft -e emacs -nw

EmacsのターミナルモードでのSKK

微妙に表示が乱れる。これは▽が幅1だと思われているためらしい。で、xtermには-cjk_widthというオプションがあるらしいが、gnome_terminalには無い。SCIM-SKKだと大丈夫なんで、こっちでいくかな。

あけましておめでとうございます。

本年も5猫ともども、よろしくお願いします。

このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8