December 18, 2008

How to setup your Linux box to access HTC Touch Pro through USB

No particular hacks against that, but just to keep it in mind.

Basically I've followed steps explained at SynCE site. and have tried on Fedora 10. there are some attentions on the installation process:

  1. Inputs will be messed up after installing synce-usb-rndis-lite-dkms package until you reboot your machine.
  2. As mentioned on wiki, you have to add ipaq kernel module to the blacklist.
  3. may be better disabling SELinux until AVC messages goes away with any updates.
Anyway, try to run odccm -f directly before starting odccm service, and make sure if you see debug logs like device_info like described in wiki. then SynCE works for you then.

Enjoy,

December 9, 2008

カレンダー同期アプリ

Google Calendarと同期するアプリを検討するために比較してみた。

  • POsync
    • Google Apps対応
    • 双方向の同期可
    • 複数カレンダー対応
    • スケジューリングによる自動同期不可
    • コンタクトの同期不可
  • OggSync
    • Google Apps対応
    • 双方向同期可
    • 複数カレンダー対応(Pro版のみ)
    • 自動同期可(Pro版のみ)
    • コンタクトの同期可(Pro版のみ)
  • GSync
    • Google Apps対応
    • 双方向の同期可
    • 複数カレンダー対応
    • スケジューリングによる自動同期不可
    • コンタクトの同期可

単純に機能比較だけするとOggSyncがよさそうだけど、ぶっちゃけ$30/yearのサブスクリプションは高い。しかもなぜかfree版で同期しようとするとあるべきものがGoogle Calendarにないから作成するかとききまくりでまともに動かなかった。一度端末側からすべてのイベントを削除すると、この警告は出なくなったけど、sync errorで話にならない。GSyncはコンタクトもImportできるのでよさそうだったけど、肝心のカレンダーの同期で終日イベントが00:00~00:00と登録されちゃってていまいち。結局POsyncが一番よさそう。自動同期はMortScriptとか使えばできるのかな

December 1, 2008

Got HT-01A a.k.a. HTC Touch Pro

渋谷のビックカメラにて。Bizホーダイダブルがお得ですよ、とセールストークを展開されたけど、現状の利用パケット数で計算すると余裕で満額いくので、丁重にお断りをして、Bizホーダイを契約。手続きにえらく時間がかかって引き渡し終了まで一時間強。初Windows Mobile機。比較対象がJornada 710というのもあれだけど、携帯と比べてももっさり感が強い。いずれ何らかのアップデートで改善されるといいんだけど。ざっと触った感じでは、USB/Bluetooth/無線LANがONの状態ではBizホーダイに接続できないので、それぞれを行き来するような場合に手動であれこれやらないといけないので、思った以上にストレスが溜まる。

まだ体験はしてないけど、Bizホーダイの20MB制限とか、接続回数制限なんかも気になるところ。それがなかったら多少(無線LANとかと比べて)遅いのは目を潰れるんだけどねえ…。iモードも使えないのは痛いけど、mopera Uのpushメールも世間で言われているような遅延はないし、乗換案内なんかはNAVITIMEでどうにかなるし、Mobile Google Mapもあるから、今のところ不都合は出ていない。もともとFelicaは使ってないから、あまり気にしていないし。

そーいえば、Operaでズームしたあと、キーボードからの入力が一切受け付けなくなるのはバグなのかなあ。Wiiでも感じたことだけど、組み込み向けのOperaって使いやすいとはお世辞でも言えないような…。

November 25, 2008

カゼイのチカラ ビッグ乳酸菌

ヤクルト470ml版みたいな代物。むっちに教えてもらって、駅前のサンクスで購入。たしかに飲み口はピルクルよりもヤクルト近い。

November 14, 2008

How to enable underscore on VMware Server 2

Underscore with jp106 keyboard worked on VMware Server 1.0.x after adding:

xkeymap.keycode.211 = 0x073

But it doesn't on VMware Server 2. $HOME/.vmware/preferences still seems to be alive to do something - just found a symbol in binaries. I don't know what it's for.
After some investigation, it could be enabled again with $HOME/.vmware/config, by adding same thing.

Enjoy,

November 11, 2008

クリスマスツリー


最近いろいろ忙しくネタを仕込む時間もないので、非技術ネタをひとつ。


一昨日注文してた物が届いて、昨日仕事から帰った後に組み立て、嫁といっしょにセッティング。まだいくつかついていない装飾はあるけど、とりあえず記録。もうそういう季節が迫ってるんだなあ。

September 13, 2008

XIMプロトコルの闇

XIMプロトコルにはトリガーキーをライブラリ側へあらかじめ通知することできる。最近の実装ではこれらのイベントフローを使わずに常にキーイベントをすべてXIMサーバ側にforwardさせ、然るべきキーを受け取ったらpreedit開始/終了などのようにやっているようだけれど。
このトリガーキーを通知するイベント、XIM_REGISTER_TRIGGERKEYSというイベントなのだけど、次のように解説される:

Using the Dynamic Event Flow model, an IM Server sends
XIM_REGISTER_TRIGGERKEYS message to the IM library before
sending XIM_OPEN_REPLY message. Or the IM library may sup-
pose that the IM Server uses the Static Event Flow model.
まあここまではへえそうなんだ、で済むのだけれど、問題はそのフォーマット:

    XIM_REGISTER_TRIGGERKEYS (IM Server -> IM library)
2 CARD16 input-method-ID
2 unused
4 n byte length of on-keys
n LISTofXIMTRIGGERKEY on-keys list
4 m byte length of off-keys
m LISTofXIMTRIGGERKEY off-keys list

input-method IDってXIM_OPEN_REPLYで初めて通知される。つまり先にこっちを送ると宛先が不明になる。実際このような挙動をする実装のパケットを除いてみるとinput-method IDは0となっている。まあ0以外送りようがないわな。
ちなみに、リファレンス実装に近いkinput2のソースコードには興味深いコメントがある:

/*
* Notify conversion trigger keys.
*
* Note:
* The spec says that XIM_REGISTER_TRIGGERKEYS message should
* be sent to the client bofore XIM_OPEN_REPLY message, in
* order to use dynamic event flow model. However, this
* does not work with current Xlib implementation. So we
* send XIM_REGISTER_TRIGGERKEYS just after XIM_OPEN_REPLY,
* which works fine.
*/
どの実装ならあの仕様は動くんだろう?

[Update: 2008-11-05] しばらく更新してないのでお茶濁しに。XIM_SET_EVENT_MASKの説明にこんな記述がある。


If input-context-ID
is set to zero, the default value of the input-method-ID
will be changed to the event masks specified in the request.

まあXIM_REGISTER_TRIGGERKEYSも同様に、ってことなんだろう。にしても0しか送りようがないんだからだったら初めからいらんだろう、ってのが正直な感想だけど。

August 23, 2008

libgxim

GObjectベースのXIMプロトコルライブラリです。

http://code.google.com/p/libgxim/

コアな部分はだいたいできていますが、これ使ってサーバないし、アプリケーション側で何かをするにはまだ実装が足りてません。当面の目的はimsettingsのXIM部分の切り替えに使うために書いてます。ただの垂れ流しだと切り替えた瞬間にアプリがフリーズとかあったんで。
Google Groupsにグループを作成したので、宣伝も兼ねてblogに書いてみました。

XIMプロトコルのproxy?部分のコードに興味のある人はこちらからどうぞ。

August 12, 2008

Re:「コミッタは安易に任命できない」が積極的に名乗り出るのは歓迎

亀田さんのblogところより。

記事読んでみたけど、ケースバイケースかなあ。まあ誰かに意見主張を押し付けるものでもないけれど、気になったのは、「なんでそんなにコミッタになりたいの?」ってことかな。コミッタにしかできないことなんて、直接コードをVCSにブチ込めるってだけのことで、他は誰にだってできること。他に違いなんてないよね、だってそれがOSSなんだから。
パッチ入れてもらうのにやりとりが面倒?パッチがrejectされた?開発者側になんら欠陥や落ち度がないとは言い切れないけれども、そういうのに煩わしさを感じるからコミッタになりたいって人は遅かれ早かれそのプロジェクトから去らざるを得なくなるんではないのかなあ。パッチが放置?…まあ時々あるよね。ともあれ、「コミッタになりたい理由」ってすごく興味深い。

どのタイミングでコミッタとしての権利を誰かに付与するのかは人それぞれだろうけど、先に与えようが、ちょっとした成果で与えようが、みっちりこき使ってから与えようが、結局はその人をどこで信頼するか、ってことなんじゃないのかねえ。プロジェクトが小さいうちは、「そこそこできる人なら誰でもいい、とりあえず軌道に載せるためには人手が必要」とか、大きくなってきたら、場合によっては技術力を優先するかもしれないし、協調性も兼ね備えてもらいたいと思うかもしれない。みたいな+αはあるだろうけど。あからさまにできない人をコミッタにするとか、破戒の限りを尽くすような人にはコミッタにしたりしないよね。

まあ、チラ裏だけど。

July 18, 2008

Google bookmark feature on Google Toolbar doesn't work

I'm facing this issue since Firefox 3 and Google Toolbar for that has been released. when logging in with my Google account or clicking a star on the toolbar, I see an error message on the error console. that says,

Cc['@google.com/toolbar/bookmark-wrapper;1'] is undefined
I don't know what happened, What I can tell is this feature worked on Firefox 2. so trying to google it and amazingly there are so many people who is facing the same problem and there are a lot of false alarm about its solution, at least with Firefox 3 or on Fedora 9.

  • installing libstdc++.so.5 would helps.
Apparently it's not. the latest Google Toolbar doesn't even require libstdc++.so.5. but surely libstdc++.so.6.

% readelf -d extensions/\{3112ca9c-de6d-4884-a869-9855de68056c\}/components/libgoogletoolbar.so | grep libstdc
0x00000001 (NEEDED) Shared library: [libstdc++.so.6]
So this wouldn't help at all.
  • that works fine after creating new profile.
That didn't even help me, unfortunately.

So I have given up to investigate this issue and just installed GBookmarks add-on. I'm happy with it now.

[Update: 2008-07-22] Google toolbar 3.1.20080605L works fine on Debian sid, but Iceweasel 3.0.1. I'm missing something or something went wrong. I'd believe Firefox and Iceweasel doesn't make so much difference. anyway Google toolbar doesn't work yet on Fedora 9.
[Update: 2009-09-24] I have to update to not let people get confused... Once updating to Google toolbar 5.0.20090823L (I'm not sure which version exactly fix this since but anyway), this feature works fine again on even Firefox 3.5.

July 2, 2008

Flash 9で日本語が表示されない件

しばし表示されなくて困ってた。今まではxfsの設定ファイルが必要でそこからフォントパスをたどってもげもげとかだったのが、fontconfigに移行した、ところまでは情報として入手できてたけど、Pangoもリンクしててなおさら不自然極まりない挙動に頭を抱えてたが、Pangoはあまり直接関係はないみたいだ。fontconfig単体だけ使った場合には非常にありがちな問題なのだけど、sans-serifから見つけたフォントをそのまま使いつづけるため、最初に掴んだフォントが欧文フォントだと日本語とかがでなくなってしまうということらしい。.fonts.confをいじって日本語フォントを最初につかませるように変えたら問題なくなった。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
...
<alias>
<family>sans-serif</family>
<prefer>
<family>VL Gothic</family>
</prefer>
</alias>
...
</fontconfig>

ちょっとした失敗

なんか--hogeみたいなファイルができててコマンドを*で実行したら--hogeなんてオプション知らねえとか言われて、何を言ってるのか最初さっぱり分からんかった。状況的にはこんな感じ。

% touch -r -f
% mkdir foo
% rm *
% ls
-f -r
ワイルドカードの前に--を入れとくのが安全だよね。

June 14, 2008

息子の誕生日

補完。義父、義母、義姉夫婦とともに。アンパンマンのデコレーションケーキとかプレゼントとかいろいろ喜んでくれたようだ。

June 9, 2008

EmulateWheelが動かない

Xの設定で

Section "InputDevice"
Driver "mouse"
Option "EmulateWheel" "true"
...
EndSection

という設定がある。ThinkPadとかでトラックポイントを使ってスクロールさせるための設定なんだけど、Fedora 9で動かなくなった。というのもFedora 9で本来予定されていたxorg.confに何もかかなくても動くように自動でデバイスを認識して〜という機能の副作用みたいなもので、evdevが有効にされてしまうため。他にもキーボードのレイアウトがとか問題も多く、Fedora 10まで延期にされたfeature。

ともあれ、この問題を解決するために以下の行を追加すると動くようになる(参考)。

Section "ServerFlags"
Option "AutoAddDevices" "false"
EndSection

June 6, 2008

Arguments on gconf-cleaner

just realized that linuxinsight.com posted an article about gconf-cleaner. that's good to see. thanks for picking that up.

Aside from that, actually I have sometimes seen someone was picking up and eventually ending up to have similar comments every times. like wonder if it affects the performance. this is an XML file though. and complaint of GConf, typically that may comes on the flamewar like GNOME v.s. KDE then. please not heat up so much about the kind of the joke software, even though you have complaint on GConf and GNOME. that may improves the performance after cleaning up. dunno. but I just wanted to get rid of the unnecessary keys and values there as we sometimes do clean up the unnecessary dot files from $HOME. that's all. at least I have never expected anything else :)

May 23, 2008

北京出張五日目

最終日。いつものようにホテルで朝飯食べてチェックアウト。タクシーでオフィスまで移動。
午前中はざざっと仕事。

昼にランチボックス片手にミーティング。ランチボックスっても出てきたのは吉野家だった。

その後、タクシーで空港へ移動。相変わらず英語は通じないので、向こうの人に行き先を伝えてもらう。

空港について出国手続。行きはひとつまでは大丈夫って言われたライターが全くだめってことで没収。そーいや金属探知機にひっかからなかったベルトもひっかかったな。というかまあこんなのは序の口。

しばらく時間があるからおみやげを物色。店員に絡まれた。しかも英語が通じない。で、しばし筆談。その後なぜか片言の日本語を話店員が出てくる。おすすめって何って聞いたら自分のほしいものを買えっていやな顔をされた。そういうもんか?

あと30分ぐらいで搭乗ってぐらいだったんで、ゲートまで移動。やたら広い。ちょっとだけ道に迷う。で、よく見てみるとremote gateと書いてある。ゲートに到着してみたらバスが止まってて、意味を理解。しかしその直後搭乗時間がずれ込んでることに気づく。この時点で1時間半ほどの遅れ。

待ちに待たされてバスで飛行機まで移動。エアバスぽい。行きはボーイング777だった。着席するも動き出す気配なし。更に遅れる旨が機内放送でアナウンスされる。ここでまたしばらく待ってやっと離陸。

途中揺れまくって気持ち悪くなる。成田に2時間遅れで到着。23時。

京成はもう終わってた。リムジンバスもその時間で終わりだったらしい。で、振替輸送のバスが津田沼経由東京駅行きがあって、それに乗り込む。東京駅到着が0時半ぐらい。ギリギリ渋谷までは出れそうだったので、中央線、山手線と乗り継いで渋谷へ。ここで1時ちょいすぎ。

溝の口までいく深夜バスがまだ残ってたので、それに乗り込み、溝の口について2時すぎ。飲み物買ってここでやっと一息。その後タクシー拾って家まで。3時。

まったくひどい目にあった。

May 22, 2008

北京出張四日目

そろそろネタが尽きてきた。朝は(ry

午前中はバグの対応に追われた。

昼は会社のビルの近くにある中華。テーブルの真ん中に回転する台が置いてあった。

午後はミーティング。今後のことなどいろいろ。

晩ご飯はビルの一階にある上海料理屋。たぶんこれまで行ったところで一番高級感溢れる場所。店内のオブジェが独創的。ちなみに全体的に量は一番少なめ。メニューに日本語も書いてあった。とはいえ中国語で話しかけられるわけだが…。

May 21, 2008

clock appletでタイムゾーンの変更ができない

GNOME 2.22に入っているclock appletはタイムゾーンの変更をサポートしてる。海外出張とかで、ノートごともっていったりなんかした時に、appletから手軽に変更できるのでたいへん便利。ちょうど今回その恩恵に与ったわけなんだけど、実際に表示される時間が変更されない。不思議に思ってたんだけど、原因は実は.zshenvとかにTZ環境変数を設定してたのがまずかったようだ。

北京出張三日目

朝飯は昨日と同じホテルで。ちなみにメニューもいっしょだった。ひとつだけ発見があって奥の厨房付近でワッフルみたいなのを焼いてた。まあどうでもいいんだけど。

今日はほぼ一日ミーティング。

昼はこれまた昨日と同じ場所へ。こちらはメニューに変化があった。基本的に中華であることには変わらんけど。

午後も(ry

誕生日会とかいうのがあるらしく、ケーキを頂く。まあなんつーか取り分け方が如何にもという感じで、いやまあなんつーか、気にするな、か。というか中国語で話してたから何を言ってるのか分からんかったけど、最初に会の趣旨らしきものと該当者の紹介して、ケーキ切って配って終わり。歌とか歌わない。まあそんなもんか。

夕食はホテルの近くにあるお店で、北京ダック。結構高い店らしく、メニューみてもものによってはギョッとする値段が…。料理はかなりおいしかった。飯食いながら同僚と雑談。日本の話とか中国の話とか、オリンピックの話とか、ゲームの話とか、アニメの話とか。
忍者の話も出たけど、だいぶ偏見があって面白かった。忍者って人殺すのが仕事なんでしょ?みたいな。あと中国では、らんま1/2とかドラゴンボールとかドクタースランプとか、ドラえもんなんかが人気だとか言ってたな。
北京ダックにシリアルナンバーみたいなのがついてるらしく、何匹目をさばきましたみたいなカードをもらった。
帰りに入り口で記念撮影。

ホテルの部屋についてみたら、11時から11時20分まで停電がありますと書かれた紙が降ってきた置いてあった。というか入ってすぐに内容が読めて、おかしいなと思ったらカードキーを差し込んでおく場所になんかへんなカードが…。よくみると携帯のプリペイドカードぽい。しかも使用済。ここからは単なる勘違いだったんだけど、カードキーを抜くとすぐに電気が消えるもんだと思ってて、抜いても差してもかわらんのでぶっ壊れたのかと思って、そのプリペイドカードらしきものもついでに聞いてみたら、清掃担当の忘れ物だと。で、カード抜いて話してる間に電気が消えたのでdelayがあることが判明して一件落着。

しかしなんつーか、部屋の備品の場所が微妙に変わってたりして、ちょっと適当だなあとか思った。

May 20, 2008

北京出張二日目

朝、ホテルで朝食。ビュッフェ形式の朝飯。中身はまあよくあるホテルの朝飯という感じ。外はまあやはり気のせいではなくて、もやがかかった感じだった。

ホテルからオフィスまでは徒歩で移動。もらった地図はあまり役に立たず、大通りをぐるっとまわる感じでオフィス付近まで行った。社内にあったオフィス周辺の地図が微妙にずれててあるはずの建物が見つからない。しばらくウロウロしてやっと発見。テナント一覧に名前を見つけてエレベータで移動。

オフィスの中を案内されて軽く紹介されて仕事開始。R&Dのみのオフィスなため、日本のオフィスよりも静かで仕事はしやすかった。机も広いし、パーティションもあった。日本のオフィスレイアウトはglobal standardだと聞いたんだけどな。なんという対偶の悪さ…。所詮営業拠点でしかないからか。

お昼はビルの地下にある、これまたビュッフェ形式の中華。まあ悪くなかった。

午後になって外のもやがかかった感じがさらにひどくなってる。ふらっと外にでてみたら綿みたいなものがふわりふわり…。なにこれ?

夕食はとなりのビルの一階にあった、いやまあなんつーか中華です。辛いのから辛いのまで、一通り堪能。
で、ホテルに戻った。

Unable to connect to the MKS: Pipe: Write failed

vmware-serverで動作しているVMのタブを開こうとするとエラーが出て困った話。
とりあえず適当にぐぐってみたらこんなのを発見した。

http://communities.vmware.com/message/364243;jsessionid=70D3926DA3644A6E9ACDFEAAE15F9178


実際にはちょっと違うエラーだけど、注目したのはここ。

what 'ldd /usr/lib/vmware/bin/vmware-remotemks' says ?
見てみると…

% ldd /usr/lib/vmware-server-console/bin/vmware-remotemks
linux-gate.so.1 => (0x00110000)
libm.so.6 => /lib/libm.so.6 (0x00692000)
libdl.so.2 => /lib/libdl.so.2 (0x0068b000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00858000)
libXtst.so.6 => not found
libXext.so.6 => /usr/lib/libXext.so.6 (0x00c36000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x00d34000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00d18000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00da0000)
libz.so.1 => /lib/libz.so.1 (0x00979000)
libpthread.so.0 => /lib/libpthread.so.0 (0x006bd000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00994000)
libc.so.6 => /lib/libc.so.6 (0x0051d000)
/lib/ld-linux.so.2 (0x004fd000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0x00ad7000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x0095b000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x0098f000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00a15000)
このマシン、x86_64マシンで、vmware-server-consoleはi386なので、libXtst.i386のパッケージをインストールして解決した。

May 19, 2008

北京出張一日目

今週一週間北京へ出張することになった。

だいたい3時間半ぐらいのフライト。北京首都国際空港は結構でかかった。天気はよく分からん。やや曇ってるような得体の知れないものが大気中をうようよしてるからなのかややもやがかかった感じ。

事前の忠告通りタクシー広場でタクシーを拾う。これも事前情報通り英語が全く通じない。現地の人にあらかじめ地図に案内とホテルの住所を中国語で書いてもらった紙を見せて通じたようだ。
どうでもいいが、タクシーの運ちゃんがジャンボ尾崎にそっくり。
タクシー代は85元+高速代10元。ホテルの人に聞いたらそれは安いと言われた。

高速から市街地に入ると、人も車も半端ない。時間が時間だったからか若干渋滞ぎみだった。ドライバ全体のマナーというか、都内走るよりもちょっと怖かった。割り込みはまあ当たり前なんだけど、都内でもその割り込みはないだろうっていう感じで、まあ動じてるのは俺一人ぽいが。
あと、どういうわけか交差点を曲がる時には、車の通る道筋が人で作られてて、車も歩行者もみんな忙しない感じがした。そのぐらいハングリーじゃないと横断歩道も渡れないのかとちょっとびびった。

ホテルはまあほどほどに高いところ?ぽいけど、まあその分ちゃんと英語は通じたのでおk。部屋が、まあそのなんだ。ラブホみたいに風呂がガラス張りで丸見えなんですが、これは一体…。

とりあえず明日の心配と飯の心配がまだ残ってるがどうしたものか…。

May 13, 2008

ついでにrealplayerも更新しといた

realplayer 11が出てることに気づいてなかったので、rpmを落としてきてalienしといた。rpmのscriptletを見る限り特に問題になりそうな感じはなかったので、

$ fakeroot alien --scripts RealPlayer11GOLD.rpm
$ sudo dpkg -i realplayer_11.0.0.4028-20080226_i386.deb

でそのままdebにしてインスコ。

Firefox/Iceweasel taking a lot of CPU power (cont.)

とりあえず結論から。あまりに在り来りでアレなんだけど、CPUを食い散らかしてたのはflash pluginでした。9.0.115.0が入ってたんだけど、あたらしいのが出てたから9.0.124.0にしてみるもダメっぽい。一度該当ページを閉じると大人しくなるので、しばらくは運用でカバーしよう。詳しく調べる時間もないし。

May 10, 2008

IMSettings is a standalone package now

IMSettings has been separated from im-chooser and the source code is being managed under the own repository now.

May 9, 2008

Retiring from Debian

This is quite old topic and posted from me internally about 9 months ago! this retirement FINALLY has been accepted and removed my GPG key from the debian keyring now. Thank you for all your kindly helps on my Debian Developer life.

May 8, 2008

Firefox/Iceweasel taking a lot of CPU power

一度2.0.0.14に戻したのだけど、再び3.0b5を入れてみた。前回はフリーズしまくりで話にならなかったんだけど、今回はDisk I/OでCPUに負荷がかかりまくりな状態になった。swapは問題ないからとりあえずProfileの下を除いてみたら、更新されまくって肥大化してるurlclassifier3.sqliteというファイルが…。正直sqliteのパフォーマンスは当てにできないというかDBが小さいうちは手軽でいいんだけど、大きくなってくると使い物にならないぐらいひどい状態になるのを昔経験してるので、あまりいい印象はないんだけど、よりによってなんでsqliteを…。

とりあえず上記のファイル名でぐぐってみると、先頭にこの問題そのものがでてきた。すばらしい。

Committing to urlclassifier3.sqlite causes excessive CPU usage and disk I/O

ここにworkaroundが記されていて、Preferences->SecurityからTell me if the site I'm visiting is a suspected atack siteTell me if the site I'm visiting is a suspected forgeryのふたつのチェックボックスからチェックを外して、Firefox/Iceweaselを終了後にurlclassifier?.sqliteのファイルを削除して起動させる、というもの。たしかにDisk I/Oも頻々に発生しないし、CPUも食いまくりという状況は脱した気がする。気のせいだった。まだ何かがCPUを食い散らかしている。

May 2, 2008

ホイールのエミュレート

Section "InputDevice"
...
Driver "mouse"
...
Option "EmulateWheel" "true"
Option "EmulateWheelTimeOut" "200"
Option "EmulateWheelButton" "2"
...
EndSection

middle buttonとトラックポイントの上下でスクロールができるようになった。たいへん便利。
注意点としては、ZAxisMappingオプションに関する記述があると有効にならない。

Ctrl-Alt-Function keys not working

Xからvtへ切り替えができなくて困ってたんだけど、ずばりの解決方法が書いてあった。解決方法は分かったけど、なんでそうなるのかは謎。

Debian Wiki - Xorg69To7 - Ctrl-Alt-Function keys not working


XkbVariantのデフォルト値ってなんだっけ?

chkconfig <service> resetpriorities

まあ見ての通り。以下使用前、使用後。

# ls /etc/rc0.d
K00httpd K10wine K73ypbind K88nasd
K00sendmail K15gpm K74acpid K88pcscd
K00smartd K20nfs K74kerneloops K88rsyslog
K00snmpd K24irda K74lm_sensors K89dund
K00snmptrapd K25sshd K74nscd K89netplugd
K00xendomains K50bluetooth K75fuse K89pand
K01blktapctrl K50netconsole K75netfs K89rdisc
K01dnsmasq K60crond K75ntpdate K90network
K01NetworkManager K65kadmin K75udev-post K91capi
K01smolt K65kprop K84btseed K91isdn
K01xenconsoled K65krb524 K84bttrack K92ip6tables
K01xend K69krb5kdc K84wpa_supplicant K92iptables
K01xenstored K72rpcsvcgssd K85mdmonitor K95firstboot
K02avahi-daemon K72autofs K85rpcgssd K98qemu
K02haldaemon K72iscsi K85rpcidmapd K99cpuspeed
K03libvirtd K72iscsid K86nfslock K99microcode_ctl
K05anacron K72ldap K87irqbalance S00killall
K05atd K72ntpd K87multipathd S01halt
K05saslauthd K73setroubleshoot K87restorecond
K10cups K73messagebus K87rpcbind
K10psacct K73winbind K88auditd


# ls /etc/rc0.d
K00xendomains K24irda K73ypbind K88auditd
K01blktapctrl K25sshd K74acpid K88nasd
K01dnsmasq K30sendmail K74kerneloops K88pcscd
K01smartd K50bluetooth K74lm_sensors K88rsyslog
K01smolt K50netconsole K74nscd K89dund
K01xenconsoled K50snmpd K75fuse K89netplugd
K01xend K50snmptrapd K75netfs K89pand
K01xenstored K60crond K75ntpdate K89rdisc
K02avahi-daemon K65kadmin K75udev-post K90network
K02haldaemon K65kprop K84btseed K91capi
K03libvirtd K65krb524 K84bttrack K91isdn
K05anacron K65krb5kdc K84wpa_supplicant K92ip6tables
K05atd K69rpcsvcgssd K85mdmonitor K92iptables
K05saslauthd K72autofs K85messagebus K95firstboot
K10cups K72iscsi K85rpcgssd K98qemu
K10psacct K72iscsid K85rpcidmapd K99cpuspeed
K10wine K72ldap K86nfslock K99microcode_ctl
K13hsqldb K72ntpd K87irqbalance S00killall
K15gpm K72setroubleshoot K87multipathd S01halt
K15httpd K73NetworkManager K87restorecond
K20nfs K73winbind K87rpcbind


scriptletではやってくれないらしくて定期的に実行した方がよさそう。

April 30, 2008

How to create fontset on Emacs

野首さんのこれに触発されて書いてみた。

Emacs上でfontsetを指定する場合二通りの方法がある。ひとつは.Xresourcesを使う方法。もうひとつはEmacs Lispで指定する方法。今回は後者を取り上げかつaliasも作ってみることにする。

Emacsにはfaceという概念があって、その中でボールドやイタリックなどの属性が管理されている。またそれぞれの場所で異なるfaceを使っているため、ツールバーのフォントを小さくしたいとか、modelineをboldにといった細かい指定などもこのfaceをいじることで可能である。これらのfaceの変更をするにはset-face-fontset-face-background, set-face-foreground, set-face-underlineなどの特定の属性に特化した関数を呼ぶか、set-face-attributeで任意の属性を指定する。

set-default-fontでdefaultフォントを変更するのとset-face-fontでdefault faceのフォントを変更することの違いは、前者は現在選択されたframeにのみ反映されるということ。もちろんset-face-fontで特定のframeにのみ作用させることも可能だけど、通常はすべてのframeに適用される。frameを多用しない環境であれば、どちらでも問題ないけど、常に一定のフォントを使いたい場合はset-face-fontで変更した方が何かと不都合がなくていいと思う。

で、肝心なfontsetの作り方。これも何通りかの方法があってEmacs Lispっぽいやり方をするならnew-fontset、もうちょっと細かくXLFDを指定したいとかなら、create-fontset-from-fontset-specを使う。他にもcreate-fontset-from-ascii-fontとかcreate-fontset-from-x-resourceとかあるけど、こちらは使ったことないので分からん。

まあ詳細はHelpを見ていただくとして、各charsetごとに異なるフォント、異なるサイズを指定できるので、環境にあった見やすいフォントを選択することも可能。どんなcharsetが指定できるかについては、mule-diagを実行してSection 5およびSection 6を見れば分かるはず。

ということで以下サンプル。

(create-fontset-from-fontset-spec
"-default-gothic-medium-r-*--10-*-*-*-*-*-fontset-10,
ascii:-*-liberation mono-medium-r-*--10-*-*-*-*-*-iso8859-1,
katakana-jisx0201:-*-vl gothic-medium-r-*--10-*-*-*-*-*-jisx0201.1976-*,
japanese-jisx0208:-*-vl gothic-medium-r-*--10-*-*-*-*-*-jisx0208.1990-*,
...")

みたいな感じにして、ボールドとイタリックのfontsetも作っておく。あとは

(set-face-font 'default "-default-gothic-medium-r-*--10-*-*-*-*-*-fontset-10")
(set-face-font 'italic "-default-gothic-medium-i-*--10-*-*-*-*-*-fontset-10")
(set-face-font 'bold "-default-gothic-bold-r-*--10-*-*-*-*-*-fontset-10")
(set-face-font 'bold-italic "-default-gothic-bold-i-*--10-*-*-*-*-*-fontset-10")

としとけばいい。

April 21, 2008

日本語フォルダ

日本語名のフォルダってterminalから使うとうざったいよね、という話から出てきた一行

alias gcd='eval "cd $(zenity --file-selection --directory)"'

April 16, 2008

回線速度

兼ねてよりの懸念事項だった新居の回線速度をしらべて見た。


SPEED 2.5 (speed.rbbtoday.com)
計測日時 : 2008年4月16日水曜日 22時54分07秒
下り(ISP→PC): 50.43Mbps
上り(PC→ISP): 46.74Mbps

ブロードバンドスピードテスト 通信速度測定結果
http://www.bspeedtest.jp/ v3.0.0
測定時刻 2008/04/16 23:06:30
回線種類/線路長/OS:CATV/-/Windows XP/神奈川県
サービス/ISP:-/-
サーバ1[N] 49.0Mbps
サーバ2[S] 44.3Mbps
下り受信速度: 49Mbps(49.0Mbps,6.13MByte/s)
上り送信速度: 48Mbps(48.2Mbps,6.0MByte/s)

悪くなさげ?

Trac for im-chooser

http://fedorahosted.org/im-chooser/ より。

April 12, 2008

24.7kmを…

7時間半かけて歩いた。

April 5, 2008

車購入

備忘録。午前中に納車。買ったのはHONDAのAIRWAVE。マンション敷地内の立体駐車場に入るサイズを探すのに苦労した挙句これに決定。中はかなり広々してていい。スキーの板とかも楽々積める。

March 28, 2008

How to use nfs home on SELinux

以前書いたような気がしなくもないけど、見当たらないので改めて。

SELinuxが有効なマシンでnfs homeを使うと、期待通りに動かないどころか、現象から原因が特定しにくい。そんな時に頭の片隅にでも入れておくと何かと幸せかも。

# setsebool -P use_nfs_home_dirs 1

後は困った時にはman 8 selinuxしてそこからSEE ALSOに書かれている*_selinux(8)を参照。

Adobe Photoshop Express Betaを使ってみた

おもしろい。よく出来てる。強いて難を上げるとすれば、Picasaから画像を持ってくる時にアルバム名が日本語まじってると、ちゃんと表示してくれないというところか。Flashそのものは日本語出るから実装上の問題だと思ってるんだけど、なんか回避方法あるのかな。
あと、赤目補正があるならノイズ除去とかもほしかったなあ。

March 26, 2008

wildcardとsort order

shellでecho *みたいなことをした結果があるマシンではfoo 00-barで、あるマシンでは00-bar fooと結果が異なる問題の原因を追求していた。結論から言うと、出力結果のソートにstrcoll(3)あるいはそれに類する関数を使っていて、こいつがcurrent localeによって結果が違う、ということだった。

ざっとkernelからglibc、bash(ついでにsortも)と追いかけて、途中薄々気づきはしたものの、結果にたどり着くまでえらく時間を使ってしまった。コードの追いかけに付き合ってくれたjetに感謝。

gnome-power-managerがワイヤレスマウスのバッテリ残量が少ないと報告してきた

便利になったなあと思う半面、どうなってんだろうと。からくりはこんならしい

% hal-device
...
9: udi = '/org/freedesktop/Hal/devices/usb_device_46d_c501_noserial'
info.capabilities = { 'battery' } (string list)
battery.command_interface = 'csr' (string)
linux.subsystem = 'usb' (string)
info.product = 'Mouse Receiver' (string)
usb_device.device_revision_bcd = 2320 (0x910) (int)
battery.csr.has_sms = false (bool)
info.category = 'battery' (string)
usb_device.product = 'Cordless Mouse Receiver' (string)
battery.csr.is_dual = false (bool)
usb_device.product_id = 50433 (0xc501) (int)
usb_device.speed = 1.5 (double)
usb_device.vendor = 'Logitech, Inc.' (string)
usb_device.can_wake_up = true (bool)
usb_device.configuration_value = 1 (0x1) (int)
usb_device.linux.device_number = 21 (0x15) (int)
battery.charge_level.design = 7 (0x7) (int)
battery.charge_level.current = 1 (0x1) (int)
info.linux.driver = 'usb' (string)
battery.is_rechargeable = true (bool)
usb_device.device_class = 0 (0x0) (int)
info.addons = { 'hald-addon-usb-csr' } (string list)
info.parent = '/org/freedesktop/Hal/devices/usb_device_424_2602_noserial' (st
ring)
usb_device.bus_number = 1 (0x1) (int)
battery.csr.has_res = false (bool)
usb_device.device_protocol = 0 (0x0) (int)
usb_device.is_self_powered = false (bool)
info.subsystem = 'usb_device' (string)
info.vendor = 'Logitech, Inc.' (string)
usb_device.version = 1.1 (double)
usb_device.num_interfaces = 1 (0x1) (int)
usb_device.vendor_id = 1133 (0x46d) (int)
usb_device.speed_bcd = 336 (0x150) (int)
usb_device.version_bcd = 272 (0x110) (int)
battery.present = true (bool)
info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_c501_noserial' (strin
g)
usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1
-5.1/1-5.1.2' (string)
usb_device.num_configurations = 1 (0x1) (int)
info.bus = 'usb_device' (string)
battery.type = 'mouse' (string)
linux.device_file = '/dev/bus/usb/001/021' (string)
battery.charge_level.last_full = 7 (0x7) (int)
battery.charge_level.percentage = 14 (0xe) (int)
usb_device.num_ports = 0 (0x0) (int)
usb_device.max_power = 50 (0x32) (int)
linux.hotplug_type = 2 (0x2) (int)
usb_device.device_subclass = 0 (0x0) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.1/1-5.1.
2' (string)

ということで、現在14%。このマウスのバッテリは乾電池なんだけど、rechargeable = trueってのがいまいち納得いかないけど。

March 4, 2008

乗り換え

最寄り駅変更に伴って定期の買い替えをするために、今日はそのまままっすぐ渋谷まで行ってみた。定期更新後JRで恵比寿まで移動。渋谷駅の乗り換えもそうだけど恵比寿もJR駅構内の混み様はやばいな。まさに人がゴミの様だ。

March 2, 2008

引越し

現住所から徒歩30分程度のところへ引越した。独り身の引越しと違って準備するにもギリギリまで片付けられない都合があって荷物の搬出中もバタバタしまくって大変だった。現地の掃除やらなんやらで、ここ2,3日新居の間を3,4往復してたが、やっと解放されそう。まあこの後しばらくは荷物の片付けやらでまだまだバタバタしそうだけど…。

コンピュータ触る以外で肩凝ったのも久々だが、そもそも肩こりそのものが久々だなあ。

February 29, 2008

まんそん

夕方、鍵の受け渡し後に大掃除。床磨きに3時間かかった。フローリングにワックス塗ったのはいいが順番間違えて閉じ込められた(わら
そして現在帰宅中(23:26)

February 23, 2008

引越しの荷造り

片付けてたら、比較的絶滅種な、PS/2な109メカクリキーボードを昔予備で買っといたやつが発掘された。あとふつーのキーボードも。なんだかんだ言ってIBMのメカクリキーボードは買ってから13年ぐらいたつけど、未だ壊れる気配もないし、4つもいらんわな。しかも全部PS/2。

この予備のメカクリキーボード2つ、IBMのと比べてちょっと感触が下品なんだよね。最近デスクトップ機使わないし、会社持っていっても、騒音の種になりそうだから処分するかなあ。

February 22, 2008

歯医者

もうかれこれ三年ほど前にひどくなる前に親不知を抜いた方がいいと言われそのまま放置してたんだけど、ここ数日痛んだり治まったりを繰り返してたのが、今朝になって絶好調に暴れまくってくれた。耐えがたいものがあったので、歯医者へ直行。抜歯するまでの間のつなぎとして薬を詰め込んで、レントゲンとって今日のところは終了。しばらく痛みつづけてたけど、1時間ぐらいで治まった。
3/7に抜歯予定。

February 12, 2008

Tracking: Happy Birthday from...

  1. my parent via Email
  2. my boss under the indirect control via IRC
  3. JMB via Email
  4. prevous my boss under the direct control via Email
  5. colleagues via IRC
  6. ANA via Email
  7. my wife

うーむ…。

腰痛に悩まされる日々

どうも一昨日IKEAで家具の積み下ろし、平均40kg、合計120kgほどをあれこれしたのが原因でひどく腰が痛い。

Happy Birthday to me

別になんかかわるわけでもなく。

February 7, 2008

Ctrl+Shift+U

GTK+アプリ上で使えるショートカット。これに続けて16進のUnicodeを入れてEnterを押すとそれに対応した文字が出力される。
例えばCtrl+Shift-Uで30A2だと「ア」が出る。

January 29, 2008

くじら屋

ちょっと高めだけど、給食に出てきてたくじらは偽物なんじゃないかってくらいうまかった。なんつっても肉が予想をはるかに上回るくらい柔らかい。極上の刺身はトロみたいだったけど、後味がやや生臭さが残った。揚げ物全般がかなりよかったかな。量は少なめで物足りなさはあったものの、〆のお茶漬けで調度よかった感じ。

January 28, 2008

imsettings

まあとりあえずデモをどうぞ。

imsettingsとは、D-Bus経由でInput Methodの起動/停止および変更をするためのフレームワークです。煩わしいデスクトップの再起動なしで実現することを目標としています。日頃そんな頻繁に変えたりすることはないと思いますが、アプリケーションによって致命的なキーコンフリクトが発生するケースに於いても、一時的に停止させることで対処可能です。場合によってはIMを使いたいけど、でも…なんてときには役に立つはずです。

January 8, 2008

mew-ical on Google Code

Google Codeに置いてみた。http://code.google.com/p/mew-ical/からどうぞ。

January 7, 2008

mew-ldap経由で名前の補完ができなくなった

mew-ldapを有効にしといて、draft modeでTABでアドレス補完の後、M-TABFULL-NAME みたいな形式へ補完することができるが、最近動かなくなってたのを放置してたのをちょっと見てみた。
原因はM-TABがflyspellに食われてた、ことによるもので、flyspell側にすでに対策があった。

(setq flyspell-use-meta-tab nil)

で回避可能なようだ。