Groovyの名前付き引数
あちこちのWebサイトを流し読みする感じでは、名前付き引数が使えるようなんだけど、
def func(arg1 = 0, arg2 = 1) {
println "arg1 = ${arg1}";
println "arg2 = ${arg2}";
}
func(arg2:10);
arg1 = ["arg2":10] arg2 = 1
う〜ん、エラーになるわけでもないし。バグなんだろうか。というかGroovyの言語仕様って、どこにあるんだろう。門外不出なの?
ListResourceBundleの例
API仕様書を見ると、例が載っているんだけど、
public class MyResources extends ListResourceBundle {
protected Object[][] getContents() {
return new Object[][] = {
最後の文の"="は余計だよな。なんで、こんなくだらないバグが、いつまでも残っているんだろう。
Mobility RADEON 9600のLinuxドライバ
新しいのが出ていたので入れてみた。前が7.11で、今回が8.443.1だから、バージョン的には随分と上がったことになる。
Compiz使っていると、スタンバイからの復帰時に画面が微妙に崩れるのは、前よりは大分マシにはなっているものの、変わらず。パフォーマンスは、体感できるほど速くなっているように感じる。Windows XPと遜色ない感じ。
酸性化か?
とはいえ、根本的な原因は同じ、大気中の二酸化炭素濃度の上昇だ。その影響は温暖化だけにとどまらない。より多くの二酸化炭素が海水に溶けこむことで、海水を酸性化させているのだ。 炭酸カルシウムでできた殻をもつ動物プランクトンなどにとって、これは生命にかかわる一大事だ。海の酸性化が進めば、こうした生物の殻は溶けやすくなり、生きていけなくなってしまう。
炭酸カルシウムが、炭酸水素カルシウムになって、水に溶ける、鍾乳洞と同じ原理だと思うけど、こういうのを「酸性化」と言うのは、ちょっと違うと思うが...
lftpでsftp
lftp sftp://user@hostと打つと、パスワードを聞かれる。うちはパスワード認証を切ってあるんだけどな、と思ったら、ここはパスフレーズを入れればいいようだ。
Ubuntuのファイルブラウザもsftp://user@hostでパスワードを聞かれるけど、これもパスフレーズでいいようだ。
UbuntuのスクリーンキャプチャとJavaアプリ
Ubuntuのスクリーンキャプチャで、以下のようなJavaアプリのスクリーンキャプチャをAlt+PrintScreenでとると、

こんな風になる。

なんかタイトルバーのところが取得されないね。外のアプリケーションでも、ウィンドウの装飾のところが取得されないみたいだ。こいつは困ったなと思ったら、どうやらGimpで取れば大丈夫みたいだ。ちょっとコツ(って程でも無い)があって、File => Acquire => Screenshot...で、"Include window decoration"をチェックして、Delayを3秒くらいにして、Snapボタンを押した後、キャプチャしたいアプリのタイトルバーをクリック。カーソルが+に変わったところで、もう一度タイトルバーをクリック、とするとうまくとれる。
ebviewで検索結果が表示されない
64bit版だと検索結果が表示されない模様。でもGoogleで調べても、全然ヒットしないから、うちの環境の問題なのかもしれない。
0.3.6-3のrpmをalienで入れてみたけど、変わらず。
ddWinをwineで実行。検索結果が文字化け。
ebviewのWindows版をwineで実行。エラー。
鍋田辞書。メニューが文字化け。
とりあえずeblookでしのぐ。なんかeb4jなんていうのもあるんだな。
P.S. polluxさんからの情報で、Fedora版は直っているとのこと。ここからrpmを入手して、alienでdebパッケージに変換してインストールしたところ、うまくいった。polluxさんありがとうございました。
Eclipse-3.3が立ち上がらずにハマる。
Synapticsから取れる最新版は3.2なので、自分でダウンロードしにいったのだけど、そこで32bit版を落としてしまい、起動できずにハマる。
なんかarch=x86になってるんで、多分、どっかの設定ファイルが間違って、x86_64にすべきところがx86になっているんだろうと思い、探し回るものの、結局見つからず。なんのことはない、ワナにはまって32bit版を落としていただけだった。
しかし、分かりにくいな。これは。
EclipseのウィザードでGuiceのAbstractModuleを継承。
なぜか、finalメソッドであるconfigure(Binder)の方をオーバーライドしますな。バグか?
public class MyModule extends AbstractModule {
public void configure(Binder arg0) {
// TODO Auto-generated method stub
}
}
あ、手許のは、Eclipse 3.2だ。3.3でも試してみよう。
P.S. Eclipse-3.3.1.1では直っていた。
Groovlets文字化け
日本語が出ないなと思ったけど、良く考えてみれば、これって要はサーブレットなんだから、頭に、
response.setCharacterEncoding("UTF-8")
とか書いてやればいいわけか。
gant楽だなぁ
最近Groovyの評判がいいので、色々試してみる。rakeもいいけど、やっぱりantタスクがそのまま使えるっていうのは魅力だ。Javaプロジェクトではgantの方が楽だな。
Groovlets + GroovyMarkupもいい感じだ。
これじゃない
昔聴いたミケランジェリのベートーベン ピアノソナタ 32番が忘れられず、ずっと探しているのだが、今日、山野楽器で見つけて購入。色々入って10枚組が2400円で、えらく安いなと思ったのも束の間、これじゃないよ。なんか録音がいいから、歳とってからの演奏なんだろう。ヨレヨレで時々流れが止まる。ライブなんだけど、最後の拍手もまばらで、悲しくなる。
でもいっしょに入ってたショパンは、感動だ。まだまだ8枚ある。楽しみだ。しかし、あの32番は、どこにあるんだ。
CD-R
最近、使うことはメッキリ減ったけど、CD-Rが残り2枚になったので、コジマに買いに行った。That'sの700MB 48倍速対応版。10枚で480円だった。となりに50枚入りがあったんだけど、2880円という値札がついていて、釈然としなかったんで、今回は10枚だけに。
本当は20枚くらい欲しかったんだけど、まぁ近所だし、無くなったら、また買いにくればokだしね。でもとりあえず店員に聞いてみるべきだったかな。本当は1880円の間違いだったかもしれないし。
範囲の展開
良くダウンローダなんかで、file[001-029].jpgみたいな指定ができるけど、こういうのってshell上で使えないもんだろうか。多分どっかにありそうな気もするんだけど、とりあえずbashのmanだけみて、あきらめて作ることにする。なんで、こんなのが欲しいかというと、リッピングしたファイルを扱う時に、この手の連番ファイル操作に、うんざりするからだ。特に1CDに複数の曲が入っていると、連番の振り直しとかが必要で、面倒なこと、この上ない。で、最初はJavaで書いていたんだけど、やっぱり、こういうのはスクリプト言語ですな。
#!/usr/bin/ruby
print eval("(#{$*})").to_a.join(' ')
なんか一行で書けてしまうし... これをrangeという名前で格納。
$ range 1..5 1 2 3 4 5
よしよし。カレントのtrack01.flacからtrack05.flacを、/musicにコピーするには、これを利用してこうする。
$ for i in `range 1..5`; do cp track`printf %02d $(($i))`.flac /music/; done
応用編。カレントのtrack06.flacからtrack10.flacまでを、/musicにtrack01.flacからtrack05.flacという名前に変えてコピーするにはこうする。
$ for i in `range 6..10`; do cp track`printf %02d $(($i))`.flac /music/track`printf %02d $(($i-5))`.flac; done
UbuntuでCDリッピング
Exact Audio Copyのためだけに、Windows立ち上げるのも面倒になってきた。最初はVMWareでWindowsをゲストOSにして、なんとかならないかと考えた。ASUS P5KのIDEコネクタの位置の問題で、YAMAHAのCRW-F1を外してしまったんで、今は、これDO台でUSB接続。これが、なぜかVMWareからだと見えないので、Linux用のリッピングソフトウェアを探してみる。
どうやらcdparanoiaが、いいらしい。名前もステキだ。Synapticで見てみると、既にインストール済みのようだ。FAQ読むと、USBドライブはSCSIエミュレーションで認識するということなんで、デバイスマネージャを見てみる。
/dev/scd1として認識されているようなので、以下を実行。
$ cdparanoia -v -d /dev/scd1 -B
複数のトラックをまとめて、1つのwavにしたりとかもできるんで、便利だ。GUI好きの人はgripとか使えば良いらしい。
出力ファイル名が、tracknn.cdda.wavと、長くなってしまうんで、まとめてリネーム。
$ for i in *; do mv $i `basename $i cdda.wav`wav; done
あとはflac -8 *でエンコードしておしまい。
uim skk
ちょっとイヤなのは、デフォルトでctrl-jが、変換モード開始に割りあてられていて、それは設定で削除できるから、いいんだけど、今度は半角入力モードからctrl-jで戻れなくなる。どうも変換モード開始と、半角やカタカナ入力モードからの復帰が、同じキーに割り当てられているみたいだ。
Daredevil SKK
特に不都合なかったんで、ずっと古いSKK使っていたんだけど、OS入れ直しの機会に、最新版に乗り換えてみた。Emacsのxft版使っているせいか、なぜかライブラリが見えなくて、すんなり入らなかった。
APELを入手。make
sudo make install
SKKの最新版を入手。
展開してから、SKK-CFGを編集して、apelの場所を指定。自分の場合は、以下の場所だった。
(setq APEL_DIR "/usr/local/share/emacs/site-lisp/apel")
辞書をここから入手して展開、skk展開先のdicの下にコピーしておく。
あと、なぜかemuが見つからないんで、Makefileを修正。
FLAGS = -L /usr/local/share/emacs/23.0.60/site-lisp/emu -batch -q -no-site-file -l SKK-MK
で、make。
make install EMACS=/usr/bin/emacs-snapshot
あとは.emacsを修正。
(setq skk-large-jisyo "/usr/share/skk/SKK-JISYO.L") (setq load-path (cons "/usr/local/share/emacs/site-lisp/apel" load-path)) (setq load-path (cons "/usr/local/share/emacs/23.0.60/site-lisp/emu" load-path)) (setq load-path (cons "/usr/local/share/emacs/23.0.60/site-lisp/skk" load-path)) (load "skk")
本当は、パスの設定はいらないはずなんだけど、emacs-snapshotは、うまくload-pathを見つけてくれないようだ。
ASUS P5Kに替えてみた。
チップセットが変わったけど、なんかUbuntu入れ直さなくても、普通に動いているんで、このまま様子見。OCは3GHzにしてみたけど、特に問題無く動いている。ま、今晩のmemtst86の結果次第だけど。USBが12個も付いているのはいいんだけど、IDEコネクタの位置は、設計ミスだな、これ。タワータイプの上段は、絶対届かないよ、これ。
というわけで6GBですよ。
トランセンドの2GB x 2パックを買ってきた。これで10k円しないんだもんな。ここ最近は、あまりメモリの価格に変化なかったけど、やはりVistaで見こしていた分が、売れなくて値崩れしたせいなのかな。Vista様々だ。20k円もあれば8GBのメモリが搭載できるんだから、時代は変わった。ここまであるとQuad core使ってVMWare4つくらい上げても余裕なんじゃないだろうか。
6GBにしたら、またOCできなくなった。OCというか例のクロック制御をManualにすると、定格でも起動しなくなるパターン。だめだなGIGABYTEのDS4。次は、またMSIかASUSにしよう。
64bit OS
メモリがずいぶん安くなってきたので、64bit Ubuntuを入れてみた。MIDI ok、nVidia ok、VMWare ServerでWindows2000 ok。とりあえず大丈夫そうだな。乗りかえてみて分かったけど、SunのJ2SDK 1.4には、LInux AMD64版が無いのだな。








