2007年10月15日月曜日

SQLite JDBC Driver

SQLiteのデータベースをJavaから扱うのは、意外と不便でした。

Pure-Java JDBC driverもあって、それはjarファイルをclasspathに含めるだけで良かったのですが、sqliteのコードを完全にJavaに変換して作成されているので、クエリの種類によっては動作が極端に遅くなることもありました。

sqliteをdllなどにして、C APIをJNDI経由で操作する、native版のライブラリもありますが、dllをインストールしたり、パスの設定しなくてはいけなかったりと、いろいろ面倒でした。

そこで、dllもろともを一つのjarの中に押し込めたまま使えるようにしたSQLiteのJDBCドライバを作成しました。
http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC

dllを自動的にjarの中から取り出してくれて、パスの設定なども行ってくれます。これでJavaから、sqliteを気楽に使えるようになりました。

ぜひ、使ってみてください。

2007年10月8日月曜日

Apple wireless keyboardは、意図的にcaps lockキーに遅延を入れている?

先日のブログに書いた、Apple wireless keyboard。コンパクトでお気に入りなのですが、数日使っていてどうもおかしな現象が見受けられるようになりました。

たぶん、この問題に全く気付かない人もいると思うのですが、emacs使いにとっては致命傷ともなる問題。

capsロックキーを押して、反応する(ランプが点く)まで0.1秒未満の遅延があるのです。

capsロックを、素早くタイプするとランプは点きません。でも、ゆっくりと打鍵すると、capsロックがオンになります。

capsキーをちゃんと押していないのでは?と突っ込まれそうですが、そうではないのです。capsロックのランプが点いた状態だと、素早くキーを押しても、ちゃんとランプがオフになるのです。capsのon/offの状態で、明らかにキー入力の受け付け方が違います。

これって間違ってcapsロックキーを押してしまわないように、というハードウェア側の配慮のような気がします。

けれど、capsロックキーをctrlに切り替える設定をしても(Mac OS側のキーボード設定画面から簡単にできる)、キー入力の反応は遅れたままです。そのせいで、ctrl+A(行頭に移動), ctrl+K(カタカナに変換)などよく使うショートカットキーを入力するつもりが、a, kなどの文字がそのまま入力されています。

これはかなり厳しい。

ためしに、キーボード左下のctrlキーをcapsロックに割り当てて連打してみると、こちらは遅延無しに、capsキーがon/offされます。他のキーの反応はいたって正常なのです。高速打鍵でも、十分に反応してくれます。

apple's antiCAPSLOCK
に行くと、僕が経験している現象とまったく同じ映像があります。

キー操作に慣れていない人向けのやさしい配慮なんだろうけれど、はっきり言ってよけいなおせっかい!泣けてくる。。

追記

同じ問題で困っている人をさらに発見:
http://discussions.apple.com/thread.jspa?messageID=5514594

僕もサポートの人に電話をしてみたのですが、同様の問題の報告はまだ受けていないとのこと。もしこれが本当に意図的な仕様だとしたら、違うものと交換してもまた同じ問題に悩まされるんだろうなぁ。

hardware的にcaps lockにdelayを入れたのは、大失敗だと思うよ。

2007年10月4日木曜日

Apple Wireless Keyboardが届きました

注文してから1ヶ月以上。8月末に注文して、発送予定が10月(6週間待ち)だったので、首を長くして待っていたのですが、ようやく到着しました。


軽い!薄い! 薄すぎて、パームレストが不要になりました。パームレストがあるとかえって、キーの位置まで変に高さがついてしまうくらい。机がそのままノートパソコンになったような気分です。


昔の無線キーボードって、タイプしてからの反応が良くなかったり、ctrl押し続けているはずなのに、途中で入力が切れてしまったり(押しなおさないと反応しない)ということがあったのですが、このApple Wireless Keyboardは、そんな不具合もなくタイピングは良好です。打鍵音も静かなので、自宅で使うのにも最適です。

キーストロークも、薄いからぺちぺちするのかと思ったら、それなりに深さがあって、初めてThinkpadのキーボードを触ったときのような感覚と似たものを感じました。



HHK Professionalと比較しても、小さく感じます。縦幅はHHKより少し大きいけれど横幅はApple Wireless Keyboardがよりコンパクトです。HHKはわりと重量感があるけれど、新しい子は、軽いだけに、ひざに乗せて使おうという気分にさせてくれます。そのほうが、手首やひじが自然な位置にくるので、打ちやすいです。(特にEmacs使いには、ctrl(caps) を押すのに、手の自然な重みが使えて楽です)

キーボードの高さが無い分、机がより広く感じますね。1万円也。ありそうで他にはないキーボードなので、この価格の価値はありました。

2007年9月25日火曜日

[Movie] ヱヴァンゲリヲン新劇場版:序

エヴァンゲリオンの映画を見に行ってきました。
公開から1ヶ月経っているのに、劇場前には行列…えぇぇ。とりあえず、無事劇場に入れましたが。

感想は、、、何これ?凄すぎ。
アニメというより、実写の大作映画作品を見たような気分です。
スタッフロールにでてくる名前の数も膨大で、人手がかかっているのもわかります。

テレビシリーズが放映されていたのは12年前だそうです。高校生のとき、毎週楽しみに見ていたのを思い出します。アニメにありがちな子供だましのお話ではなく、謎が謎を呼ぶ展開、使徒との戦闘シーンの凄さに、ビデオに録画したものを何回も見たものです。2回くらい見ないと話についていけないというか。。。

正直、映画には全然期待してませんでした。昔公開された劇場版では、さらに謎が出てきて置いてけぼりにされてしまったし、結局話が中途半端だったり、、と。

でも、今回、話というより、まず映像に魅せられました。話の筋はテレビシリーズの前半とほぼ同じなのですが、風景描写、要塞都市の動き、メカのそれっぽさが、格段にアップグレードされていて、リメイクというより作り直しですね。話も過不足なく詰め込んでいるし、一度見た人でも、新鮮な感覚で見られます。

音楽ライブに行くときでも、定番の曲を期待しますよね。今回の劇場版は、昔と同じものを提供しつつ、さらに新しいものを織り交ぜてくれるので、わくわくしっぱなしです。

ストーリーの方も、後半では、さらにびっくりするような謎を加えて、続編が気になるようにしてくれます。この次を待つ間が楽しいんですよね。あれこれ憶測したりして。

エヴァのほかには、Death Noteの漫画とかがそういう作品の例だと思います。僕も、別に世間の評判にのせられて見ていたわけでないのに、その面白さを共有している人がたくさんいるのって、やっぱりすごい作品なんだなと思います。

2007年9月20日木曜日

Emacsキーバインドの天国と地獄

Emacsキーバインドを覚えて以来、あらゆるエディタでCtrl+N, P, A, Eなどのキーでカーソル移動をしています。Ctrl+X, Ctrl+Sで、ファイル保存とか、Ctrl+\で、日本語入力切り替え。Ctrl+I, O, J, K, Lのあたりも漢字変換のときに便利です。

キーボードによっては、Aの横のキーがCaps Lockなのですが、Emacsキーバインドのために、AltIMEなどのソフトで、Ctrlキーに変更しています。

この操作を覚えると、通常のプログラミング速度が倍以上になりますし(ホームポジションがから手が離れないので、テキストの編集が速くなります)、シェルなどでも同様のキー操作が使えるので、作業効率も上がります。こう書くと、いいこと尽くめなのですが、悪い点が一つ。

Ctrlキーを押す左手小指にダメージがあるのです。Ctrlキー押すと痛くなってしまいました。大した痛みではないのですが、普段よく使うキーなだけに、キーを押すときに少しでも違和感があると、他の作業にすべて影響します。

普通にプログラミングをしている限りは、痛くなるようなことはほとんどないのですが。。。。先週から今週にかけては、朝から晩まで毎日のようにコードを書いていたために、小指に相当な負担がかかっていたようです。

小指の代わりにCtrlキーを押せるものはないかと、手のひらを使ってみたりしましたが、どうにも打ちにくい。

ネットを検索してみると同じような悩みをもつ人はわりといるんですよね。そこで見かけた面白いアイデアはフットスイッチを使う!というもの。確かに、パソコンに向かっているとき、足は空いています。ピアノにもペダルはありますし、エレクトーンのように足が絶え間なく動く操作には慣れっこなので、Ctrlを足で押して、Emacsキーバインドを使うくらいどうってことはなさそうです。

問題なのは、そんなフットスイッチは売っていない、ということ。レーシングゲーム用とおぼしきデバイスはあるのですが、価格が高い上、踏み込むタイプらしく頻繁に押したり離したりという操作には向いてなさそう。


あれこれ考えてみたものの、そういうときは、プログラミング以外のことをすればいい、というのが結論。経験上、小指の痛みも時間が経てば治りますし。

でも、フットスイッチを巧みに駆使しながらキーボード操作ができるとすると、すごいことができそうな気がするんだけど。。。フットスイッチを押しながらだと、アプリケーションをすべてキーボードから操作できてしまうとか。楽器だって楽しく弾けるようになるまでは時間がかかるんだから、キー操作も、それくらいの壁があってもいいんだけどなぁ。

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.