Bean Bindingで、JListのelementsにバインド。
List型のプロパティを用意して、BeanInfoでbindして、JListのelementsにバインド。でも、全然反映されない。バグなのかな。まぁ、これだと毎回Listインスタンス作って設定しなきゃならないから効率悪いんで、実際はListModelを実装したクラスを自分で作って、そっちにバインドするのがいいんだろうな。
P.S. どうもこれは書き替えは想定していなくて、選択アイテムを取得することが目的みたいだ。
ブラックホール
ひぇ〜、知らないうちに、ブラックホールを実験で作ろうなんてことが始まろうとしていたのか。
すごい興味はあるけど、消滅しなかったら、どうなるんだろう。回りのものを引きこみながら、地球の中心に向かって落っこちて中心付近で、しばらく振動しながら、地球を全部飲み込むって感じかな。
ルービックキューブは最大25回、回せば解ける。
Rubik's Cube Proof Cut to 25 Moves
he needed a workstation with 8GB of memory and around 1500 hours of time on a Q6600 CPU running at 1.6GHz. Next up, 24 moves.
どうでもいいが、定格2.4GHzのQ6600を、わざわざ1.6GHzで使っているのは、なぜなんだろう。もしかしてファンレスマニア?
さくらインターネットに乗り替え
昨日の夜にDNSを書きかえたんだけど、ようやく今日の夕方に反映された(多分、まだ反映が見えないところもある)。それにしてはリファラのカウントが、普段とそんなに変わらないのは不思議なところだ。
VJ-10
FMって、自分の知らない曲や演奏家を知ることができるので、エアチェック作業自体が、自動化できれば、聴きたいなと思っていたんだけど、う〜ん、自分のターゲットからは微妙に外れてる。馬形式でしか録音できないのと、Windowsのクライアントでしか操作できなそうなところが残念。せめてMP3形式が選べて、USBストーレージクラス対応していて録音された内容は日付+周波数.mp3とかで取り出せるようになっていたら欲しかったんだけど。
初の入門書
|
初めて入門書に挑戦。 バイトコード書き換えについては、どうしようか迷ったけど、最近ほとんどのミドルウェアがasmやcglib使ってるので、一応解説してみた。asmやaspectJのコードサンプルが載っている入門書は、この本くらいだろう... |
ライブカム交換
最近、猫タワー撮影用のカメラの調子が悪くなってしまったので、買い替えた。今度は、coregaのCG-WLNCMNGV2。今まではカメラ側がWebサーバになっていて、取りにいくタイプだったので、バックグラウンドで画像取得プログラムを動かしていたけど、今度のはカメラ側からファイルを送ってきてくれるので、バックグラウンド処理が不要になった。前のよりは画質は良くなったけど、まぁそれなりか。無線LAN入りのネットワークカメラが15k円程度で買えるんだから安くなったもんだ。
湯沸器故障
もう寿命だそうだ。まぁ11年使ったらか仕方がないのか。故障を見にきてくれた業者がカタログから3割引きでとのことだったけど、一旦保留して、近くのホームセンターへ。なんと6割引き。すぐに決めなくて良かったと思いきや、省エネタイプと、そうでないタイプがあり、省エネタイプだと3割引きにしかならない。計算上は10年も使えば十分ガス代で元がとれる感じ。しかも省エネタイプの方が寿命が長いそうだ。で、納期を聞いたらホームセンターの方だと2週間近くかかるらしいが、修理業者なら今週の土曜日に取り替えてくれるそうで、結局そちらに頼むことにした。この家も、もう10年以上経つのか。あちこち壊れそうで怖い。
ノーリツとリンナイのカタログ見たんだけど、機能も値段もほとんど一緒。聞いてみたら、製造元は一緒なんだそうだ。なんかおいしそうな商売だなぁ。
DDSKKインストール状態でインクリメンタルサーチがエラーになる。
DDSKKインストールした状態で、インクリメンタルサーチした後、カーソルを移動すると、
Symbol's function definition is void: skk-set-cursor-properly
というエラーが表示される。
しばらく放っておいたんだけど、マクロ定義中に起きるとキャンセルされてしまうんで、最新版に入れ替え。Daredevil SKKのサイトから、ddskk-20080316.tar.gzをダウンロード。展開して、SKK-CFGを編集。自分のところでは以下を追加するだけでokだった。
(setq APEL_DIR "/usr/local/share/emacs/site-lisp/apel") (setq EMU_DIR "/usr/local/share/emacs/23.0.60/site-lisp/emu")
あと、chmod +w doc/skk/skk.texiを実行しておく。これやらないとインストールで、エラーになる。あとは、
make make install EMACS=/usr/bin/emacs-snapshot
でうまくいった。...けど、症状は改善されなかった。う〜む、古いSKKに戻した方が良さそうだな。
P.S. いや、どうやら自分の設定が悪かったようだ。.emacsに以下のような設定があるのを削除したら正しく動作するようになった。これは、確かインクリメンタルサーチ状態で、SKKによる漢字変換を可能にする設定だった気がする。DDSKKでは、これが無くても問題無くインクリメンタルサーチ中にSKKできる。
(add-hook 'isearch-mode-hook (function (lambda () (and (boundp 'skk-mode) skk-mode (skk-isearch-mode-setup))))) (add-hook 'isearch-mode-end-hook (function (lambda () (and (boundp 'skk-mode) skk-mode (skk-isearch-mode-cleanup)) (and (boundp 'skk-mode-invoked) skk-mode-invoked (skk-set-cursor-properly)))))
jsr295/296が面白いので、
カッとなってチュートリアルを書いてみた。ロクにspecも読まずに書いているので、変なことを書いているかも。気が向いたら、ちゃんとしたJavaBeansを作成してバインドかける例とかも書こうかと思う。
String.format()
public static String format(String format, Object... args)
よりも、
public String format(Object... args)
の方が簡潔で良かったな。
"%02d%n".format(10)
とか。
NetBeans 6.1betaでは型パラメータ付きJavaBeanのBeanInfoが作れない?
jsr295, 296が面白い。で、ハマりだすとJavaBeansを色々作りたくなる。getter/setterだけのヤツじゃなくて、ちゃんとBeanInfoを用意する正式なヤツだ。でもBeanInfoなんて手で作るのはバカらしいので、IDEにやらせたい。NetBeansは、ちゃんと作ることができるんだけど、残念ながら型パラメータを持ったJavaBeansだと、BeanInfo作成がうまくいかない。ん〜、残念だ。いったんObjectにしておいてBeanInfo作ってから、ObjectをTにおきかえればいいんだけど、面倒だよ。ちゃんとJavaBeansを使う側では、プロパティシートに型パラメータを指定できるように作られているんだから、JavaBeans作成機能側も対応しておいて欲しいなぁ。
そういえばEclipseは、どうなのかと思ったら、そもそもJavaBeansの作成機能なんてものが存在しないようだ。
NetBeansのEmacsバインディング
set-markができないのは仕方無いとして、ctrl-kで複数行削除した時に、最後の削除行のみしかクリップボードに入らないのは、かなりストレスだ。もっともIDEのEmacsバインディングの中では、良くできている方だとは思うけど。
どっこい生きてるStruts
オープンソースを利用したプロジェクトで、HibernateとStrutsの組み合わせの普及率は、71%
なんだかんだ言われながら、まだ、これだけ大量に利用されているのか(まぁ保守案件も多いのだろうしね)。しかしHibernateが、ここまで普及しているというのは意外だ。あれを、ちゃんと内部の動作を理解して使いこなすのって、結構ハードルが高い気もするんだけど。
GANTで動的にスクリプトをインポート
「marsのメモ」:GantのincludeTargetsを使えば,Ant.importタスクまがいのことができるよ
ナルホド。こんな感じにしておけば、Path.groovyを必要に応じてPath.groovy.sampleからコピーして動的にimportできるな。
File PATH_SETTING = new File('Path.groovy')
File PATH_SETTING_SAMPLE = new File('Path.groovy.sample')
if (! PATH_SETTING.exists()) {
println(
"""${PATH_SETTING}が存在しないので、${PATH_SETTING_SAMPLE}を${PATH_SETTING}にコピーします。
正しく動作しない時は、${PATH_SETTING}を編集して自分の環境に合わせてください。""");
Ant.copy(file: PATH_SETTING_SAMPLE, tofile: PATH_SETTING)
}
includeTargets << PATH_SETTING
猫を飼うと心臓病のリスクが3割減る
犬には効果が無いそうだ。猫なでると血圧下がるっていうから、直接的な効果もあるんだろうけど、過去に飼っていたというのでも効果があるらしいから、猫好きは、物事にあまりアクセクしないってことなのかもしれないな。
Logitech G7
ずっと快適に使っていたのだが、電池がヘタってきてしまった。替えの電池とか売ってないし。これで書い替えるのも癪だよね。メーカ、明らかに電池寿命で買い替えさせることを狙っているし。というか、この手の充電タイプの家電って、みんなそうだよね。環境に優しくとか言いながら、これはどうなのかと。
というわけで、有線式に改造することにする。
改造するとメーカの保証が受けられなくなります。また設計で意図されていない動作なので、故障する可能性もあります。この内容を追試される方は、ご自身の責任で行ってください。
まずはマウス側を分解。いきなりトルクスですよ。開けるな、新しいの買えってことか? すべりシール(?)を2箇所はがす必要あり。
電池の接続場所は分かり易い位置にある。電圧は3.8Vくらい。電池パックには3.7Vと印字してある。電流は100mAいくかいかないくらい。うん。USBからの給電で大丈夫そうだ。
次に送信ユニット側を調査。これは4箇所のシールを剥すとネジが見える。こちらは普通の+だった。
送信ユニット内部。左側がUSBの電源。右側は電池の充電端子。最初はこの充電端子をそのまま、マウスにつないでやろうかと思ったんだけど、テスタで見ると、パルスが出ているので断念。
仕方無いので、USBの5Vに、ダイオードを2本入れて、3.8Vとすることにする。シリコンダイオードの電圧効果(0.6V)を利用するわけだ。ジャンク箱から、20年前くらいに買った10D1を発掘。
で、直列つなぎ
接続コードは、昔の携帯電話のACアダプタのコードを借用。気持的には芯線を+にしたかったけど、配線の都合上マイナスにした。これは被覆のところから取り出す。
5V側は、USBの電源部から取り出す。
できあがり。
マウス側に接続。

マウス側は、こんな風に引き回すと、うまく蓋がしまった。
電源を入れてみると、電池切れのマークがついて、動作しない。テスタで見ると、3.7V。これじゃ低すぎるようだ。
しかたないので、ダイオードを1つに減らす。ちょっと電圧オーバな気がするけど、今のとこ正常動作している。
NetBeansが変になってしまった。
6.0.1で、JSR296してたら、どうもおかしくなってしまったようで、普通にDesktop Aplicationをウィザードから選んでスケルトンが生成された状態で、コンパイルエラー。appframeworkのjarがライブラリに入っているのに、「Applicationなんて知らん」とコンパイラが怒り出す。う〜む、betaの時も暫く使い込むと、ご機嫌を損ねた記憶が。6.1 Betaが出ているので、これを入れてみるか。なんか起動が高速化されたとか書いてあるし。しかしSpring MVCが入ってくるとは。
P.S. 6.1betaでも状況変わらず。ホームにある.netbeansを消したり、他の場所にプロジェクトを作ったりと、色々試していたら、突如直った。う〜ん、何が原因だったんだろう。
Ivory 1.7
Ivory 1.7が出るよとDMが来た。Italian Grand Expansion Packが期間限定で$139らしいけど、日本だと20k円くらいみたい。このドル安のご時勢、ちと割高だなぁ。エンジンの出来次第ではあるけど、trialとか無いから、買ってみるしかないんだろうな。
エステ荘の噴水
聴いているだけでも、相当難しそうだというのが分かるけど、楽譜を見ると、まぁ二重音のトレモロや、3度の跳躍は当たり前。中間部は2オクターブくらいのアルペジオで、2つの旋律を左手に同時に弾かせたりと、良くまぁ生身の人間で、こんなの弾ける人がいるもんだなと、感心させられる。
ま、コンピュータにとっては技巧的に難しいのは、何の困難も無いわけで、リストざまぁみろという感じだ(意味不明)。しかし、この曲は、なんか終わり方が中途半端だよな。
Ivory 1.64
Ivoryの1.64パッチが出ていたので、入れてみた。今までは5分くらい使っていると音のズレが出ていたのが、改善されて10分くらいはもつようになった感じだ(多分気のせいじゃないと思う)。もうちょっとがんばって30分くらいもつようになれば、大抵の曲はokになるんだけど。








































