2009年1月5日から2009年1月1日までの日記を表示中

2009年 1月 5日 (月)

ゲームしてないぞ

何か年明けてから全くゲームしてないんですけど (年末もあんまりやってなかったけど).これはまずい.何かやろう.何やろう.・・・ま,また明日でいいか.

タグ付け

リッピングした後のタグ付けを1年半近くサボってたんですが,整理がてらまた付けてみることにしました.アルバム130枚分くらいたまってるんですが,まあ1日4〜5枚つけてきゃそのうち終わるでしょうw

ところでタグつけようとして気になったんですが,IRON ATTACK!さんの新譜のタイトルは「THUNDER CONCERT」と「THUNDER CONCERTO」のどっちが正しいんすかねこりゃw

  • 日本語読みは「サンダー・コンチェルト」らしいのでそこから考えると「THUNDER CONCERTO」が妥当そう
  • 手元のCDのジャケットやレーベル面には「THUNDER CONCERTO」と書かれている
  • Webの方はジャケットのイラストも含めて全部「THUNDER CONCERT」になっている
  • とら,メロン,ホワイトキャンバス,あきばお〜もみんな「THUNDER CONCERT」

結局よくわらんけどCDを尊重して「o」をつけてみることに.もしかして店頭委託品とかだと「o」ついてなかったりするのかな?

2009年 1月 4日 (日)

Pidgin for Windows

AIMで日本語でチャットするとクラッシュするという報告を頂いたので調べてみたのですがLinuxだと全然再現しません.あれーと思ってWindows版で試したらあっさり再現.ソースを追ってみたら,Windows版に限り未初期化のポインタをfreeするようなコードになってました (;´Д`).何か 2.5.1 → 2.5.2 の間でのパッチのマージミスっぽいな・・・.ていうかこちらのテスト不足ですね.すいません・・・.

というわけでこの問題を修正したバイナリを置きましたよ.必要な方はこちらからどうぞ.ちなみに yaz さんによると mtn が悪いらしいです(笑)

uim-el-agentがメモリリークしているらしい問題

例のこれですが,お返事を頂けたので調査開始してみました.

とりあえず再現環境を作るべく dbskkd-cdb をインストール.嫌々 daemontools を入れたんですが,そこから先,何をどうすればよいのかわからず困ってググってみたら実は daemontools とか全然要らないことが判明 orz .あーでも T60 には inetd も xinetd も入れてないんだよなぁ.そこは tcpserver 使うか・・・.最終的に freecdb + tinycdb + dbskkd-cdb + ucspi-tcp でどうにか落ち着きました.xinetd にすれば djb free になるのかw? ちなみに Twitter で make が pmake 依存だとか daemontools のドキュメント熟読するとかありえんとかぶつくさ言ってたら作者に捕捉されてしまいましたよ (;´Д`)'`ァ'`ァ .どうやって知ったんだろうw

で,肝心のリークですが,確かに何かあるっぽいです.そして,驚くべきことに,別にSKKでなくても余裕で発生することが明らかになりました _|‾|○.単純にuim-el-agentの中でコンテキストを作って解放することを繰り返すだけでも発生します・・・.こんなのでもOK.top して見てるとじわじわとメモリの消費量が増えていく様子が確認できますw

% while : ; do
   echo 1 1 NEW EUC-JP
   echo 2 1 RELEASE
done | uim-el-agent > /dev/null

うぬぬ,valgrind 走らせてみるか・・・.

==12632== 2,208 bytes in 2 blocks are definitely lost in loss record 5 of 5
==12632==    at 0x40224C0: malloc (vg_replace_malloc.c:149)
==12632==    by 0x41A586F: strdup (strdup.c:43)
==12632==    by 0x804E8BE: update_prop_list (prop.c:65)
==12632==    by 0x804D8D7: prop_list_update_cb (callback.c:142)
==12632==    by 0x4049B01: im_update_prop_list (uim-func.c:252)
==12632==    by 0x40357A4: call (eval.c:417)
==12632==    by 0x403242C: scm_eval (eval.c:499)
==12632==    by 0x4032C03: scm_s_begin (syntax.c:830)
==12632==    by 0x40331EB: scm_s_body (syntax.c:799)
==12632==    by 0x40348AB: call_closure (eval.c:221)
==12632==    by 0x4035663: call (eval.c:283)
==12632==    by 0x403242C: scm_eval (eval.c:499)
==12632==

キタ━━━━(゜∀゜)━━━━ッ!! どう見ても uim-el-agent で漏れまくってます.・・・あー,prop.c のこれ↓か (;´Д`)

  if (prop->list != NULL) free(prop->list);
  prop->list = strdup(str);

確かにここは uim-el-agent のコンテキスト解放時に捨ててねーや _|‾|○ .というわけで,ひとまず以下のように修正.

--- context.c   (リビジョン 5684)
+++ context.c   (作業コピー)
@@ -306,6 +306,7 @@
          /* free others */
          free(ua->encoding);
          free(ua->im);
+         free(ua->prop->list);
          free(ua->prop);
          free(ua->comstr);

これでひたすらコンテキスト作って解放してを繰り返してもメモリが増えることは無くなったっぽい.はぁ,情けない・・・.でも,これで60MBもリークするのは相当至難の技な気も (かなりの回数バッファを作ったり消したりしないとだめだと思われる).まだ他にもあるのかなぁ・・・.

[コメントを書く]

ekato 2009/01/06(火) 14:50:50
久しぶりにみてみたら、実際 uim-skk が盛大にリークしてました。
なぜこれを見逃したかはさっぱり理解できませんが…
ekato 2009/01/06(火) 15:21:17
コミットしておきました。それにしても次のリリースどうしましょうかね…
nosuke 2009/01/06(火) 22:01:37
おお,uim-skkにもありましたか!
素直に喜べないところですがw,とりあえずリークが塞がって
よかったよかった.
バグフィックス版なら早めに出してもいいんじゃないかと.
また見つかったらその時はその時で・・・
ekato 2009/01/07(水) 13:17:58
uim-0.0.5 という、いにしえの物からずっと同じ場所でリークしてたみたいですよ! 1.5.5 来週あたりにでもリリースします。
nosuke 2009/01/07(水) 21:30:56
0.0.5って2003年頃ですか.すげえ・・・

2009年 1月 3日 (土)

帰宅

夜になるのを待って帰ってきました.今日は信号運が良くなかったなぁ (´・ω・`).途中,拝島かどっかのあたりでこなたか何かの絵がでっかくプリントされた痛車 (赤い軽でした) を見かけました.ちょっと憧れちゃいますw

ダメな家計簿

家計簿をアップデートしたので,割とダメな趣味の分野 (ゲーム・漫画・同人関連など) で去年1年間にどんだけ使ったかをまとめてみました.ここに載せることに何の意味があるのかわかりませんが,まあのすけはこんな属性の奴だというのを判断する尺度とかにはなるかと・・・.

内容金額
ビデオゲーム関連 217,354
同人CD・同人誌 107,559
音楽CD (商業) 9,510
漫画 (商業) 8,075
PC関連 136,754
パーツ類 (電子部品とか) 28,585
工具類 22,963
その他 990
合計 531,790

うー,こんなにゲームに使っていたのか.同人関連は去年より若干減ってます (某Y氏のコミケ1回分にも劣りますねw).PC関連はとりあえずゲームとかのことを考えて導入したものに限りカウントしてます.なので金額の内訳は液晶と液晶スタンドで殆ど.パーツ類とか工具とかが地味に多いですね.お金のかからない趣味かと思ったけど塵も積もればか・・・.

バランス的には標準的 (?) なオタク像と比べると相当偏ってるんじゃないかと思います.DVD とかゼロだし,声優さんのライブとかそういうのにも全く行ってないし.

で,聞かれてもいないですがゲームの内訳はこんな感じでした.ハードは本体と周辺機器の合計です.AC基板は一応ソフト扱い (MVS本体のみハード扱い).内容の「その他」はスキャンコンバータとかその辺.ソフト数順でソートしてあります.

内容 金額
ハード ソフト (数) その他 小計
ファミコン 2,495 11,091 (67) 0 13,586
スーファミ 0 3,270 (14) 0 3,270
業務用基板 6,000 44,250 (9) 0 50,250
マークIII 4,775 945 (7) 0 5,720
PS 1,075 8,555 (6) 0 9,630
PCエンジン 2,079 3,765 (5) 0 5,844
メガドライブ 665 705 (5) 0 1,370
XBOX360 54,019 18,622 (3) 4,252 76,893
PS2 1,500 6,416 (3) 0 7,916
DS 0 12,297 (3) 0 12,297
N64 0 1,180 (2) 0 1,180
サターン 315 2,460 (2) 0 2,775
DC 0 5,101 (2) 0 5,101
MSX 0 1,500 (1) 0 1,500
NEOGEO 0 100 (1) 0 100
PS3 3,200 0 (0) 0 3,200
その他 16,722 0 (0) 0 16,722

ファミコンソフトを67本も買ってたという事実に驚きましたが,その内1割はバルトロンだったりしますw.PS3はソフトが相変わらずゼロ (リトルビッグプラネットは頂き物なので・・・) ですが,ハードの方も後に XBOX360 用に改造されてしまう VSHG のみなので実質ゼロかもw.

金額で見るとやはり本体揃えたりしたXBOX360がダントツですかね.基板関係も個々が高いのでなかなか.まあきっと今年は新機種買う予定もないし (買っても Wii とか PSP くらい?),多分こんなにはいかないでしょう・・・.うっかり基板をどーんと買ったりしなければ・・・.

2009年 1月 2日 (金)

uim.elでvi協調モードを切る

実は年末,この問題を再発見してしまい,あわやuim.el のバグだと思って追いかけそうになりましたw..uim.d を消すとこの問題が出なくなることに気づいて,uim-pref-gtk を開いてようやく vi 協調モードのことを思い出しましたよ orz

で,前は uim.el 側にパッチを当てるという案を書いたわけですが,今回はユーザ設定で uim.el でのみ vi 協調モードを切るようにする方法を考えてみました.とりあえず .emacs に ↓ とか書いておくとよさそうです.

(defadvice uim-change-im (around uim-custom-change-im activate)
  (progn
    ad-do-it
    (uim-do-send-recv-cmd
     (format "%d HELPER prop_update_custom anthy-use-with-vi? #f"
        uim-context-id))))

なんで add-hook じゃなくて defadvice なのかというと,uim-change-im にフックが用意されていないからでして・・・.ていうか,uim-do-send-recv-cmd 関数呼んで無理矢理 HELPER コマンドを uim-el-agent に送りつけて設定変える関数くらい最初から用意しとけって感じですね (´・ω・`).今度つけるか.

うろうろ

実家から横浜に移動して川崎に移動したりしました.途中ブックオフでファミコンの沙羅曼蛇とか魔界村とか売ってたので買ってみたり.実家にデジカメ忘れてきたのでしばらくここは写真なしかも orz.あと実家探したけど昔持ってたシュウォッチは見つかりませんでした (スーファミ版のシュウォッチはあった).残念 (´・ω・`)

2009年 1月1日 (木)

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

せっかくなので一日のうちに一旦更新.今年もよろしくお願いします.

帰省してみた

昼前に出て帰ってきました.道が空いてて2時間かからずに到着.

今年の何とやら

去年,こんなことがあったわけですが,これは結局落ちちゃってお流れでした.まあでもこんなことを妄想したりしているうちに,「やっぱなんかやってみてーなー」という思いが募り,「間に合ったら親方のところにでも置かせてもらおう」くらいのノリで Cell のプログラミングの本を11月の頭くらいからちょこちょこ書き始めていたのでした.実は.

で,12月に入ってからはかなり本腰を入れて書き進めたんですが,でっかくやろうとし過ぎたばかりにどう考えてもこのペースでは間に合うわけがない流れ.でも,ここで諦めたら後で後悔するかもしれないからとりあえずやれるところまでやってみようということで「23日まで頑張ってダメだったら今回は諦める」と決めて,敗色超濃厚な中でも睡眠時間を削って頑張ってみたのでした.まあ,結局23日が終わってもやっぱりまだまだの状態だったので冬は諦めたわけなんですが (そんなこともあったせいであれやこれやが押しまくって年末がカツカツになったw)

いやー,やっぱ中途半端に何となく始めるのとか超よくないですねー.というわけで本題.今年はちゃんと自分でサークル参加して本を出すことを目標に頑張りたいと思います.いや,マジで.おい,そこ嗤うんじゃないw

内容的には今回断念した Cell プログラミング本をもう少し狭く深くして Cell (およびSDK がちゃんと出れば SPURS Engine) に搭載されている SPE の本気を引き出すためのあれやこれやを書けたらいいなぁと.題して「SPEを256倍使うための本」(ysfk氏考案) みたいな.もうこうなったら旬とか気にしない方向でw.まあ,そもそも内容とか旬とかそんなの以前に当選するかどうかが大きな問題なわけですが,こればっかりはねぇ・・・.いや,まずはきちんと申し込んでからだな.

ちなみに冬コミで Cellプログラミング本を落とされたサークルさんがいらしたのですが (Open MPの本頒布してた),他の方が話し込まれていて (何かPhotoshopのプラグインの並列化がどうこうとか話してた・・・) どんな本を計画しているか聞きそびれました (´・ω・`)

Copyright

去年1年間,ここの一番下に書いてあるCopyrightの記述を更新するのを忘れていた件 orz.存在すら忘れていた.

G-HAL氏パッチ

12月30日版のパッチ13が出ていましたよ! そして例の干し芋問題に言及が・・・.

心当たりとしては、多分PCの時計がずれたのではないかと思う (単なるカン。根拠無し)。

うーん,時計関係あるのかなぁ.12月30日版でも.anthy空にした状態から余裕で再現するので,別の理由な気がしますが・・・.以下再現手順.

  • ~/.anthyの中を空にする
  • sample/conf を ~/.anthyにコピーする
  • 新しくEmacsなどを起動するなどする
  • 新しく起動したEmacsなどで「ほしいものが」を変換して「干し芋のが」で1文節にして確定する
  • 「ほしいものが」を変換して「干し芋のが」になったら「欲しい + ものが」に直して確定する

この状態で,「ほしいものが」で変換すると「干し芋のが」が最初に出てきちゃいます.何度「欲しい + ものが」で切って確定しても変わらず(´・ω・`).最初にいきなり「欲しい + ものが」にすると次回は「欲しい + ものが」で切れてくれるんですが,その後一度でも「干し芋のが」にしてしまうと芋しか出なくなってしまいます.

上記再現手順実施後の last-record2_default.utf8 の中身はこんな感じでした.

ADD "CAND_HISTORY" S"ほしいものが" O1230807894 N0 S"干し芋のが" T1230807894 F1
ADD "CAND_HISTORY" S"ほしいものが" O1230807894 N1 S"干し芋のが" T1230807894 F1
ADD "OCHAIRE" S"ほしいものが" N2 N3 S"欲しい" N3 S"ものが" T1230807906 F1
ADD "CAND_HISTORY" S"ほしい" O1230807906 N0 S"欲しい" T1230807906 F1
ADD "CAND_HISTORY" S"ものが" O1230807906 N0 S"ものが" T1230807906 F1
ADD "CAND_HISTORY" S"ほしい" O1230807906 N1 S"欲しい" T1230807906 F1
ADD "CAND_HISTORY" S"ものが" O1230807906 N1 S"ものが" T1230807906 F1

こいつの読み方が分かればもうちっと先に進めそうなんだがなぁ・・・.

[コメントを書く]

vagus 2009/01/02(金) 17:17:50
一旦「|干し芋のが|」以外の候補(たとえば「ホシイモノガ」)で確定してみるとどうなりますか?

nosuke 2009/01/03(土) 19:18:31
やってみました.
次から「ホシイモノガ」が最初に出るようにはなるのですが,
その後「欲しい+ものが」で切って確定してもやはり切れ目を覚えてくれず
「ホシイモノガ」が常に出つづけちゃいます.
vagus 2009/01/03(土) 23:11:57
ああ、そうか、えーと、その状態で DONOT_LEARN_KATAKANA を「HI」にしてみるとどうでしょう?

手元では「欲しい|ものが」になって、それ以後 DONOT_LEARN_KATAKANA を「_」に戻して「干し芋のが」や「ホシイモノガ」で何度確定しても「欲しい|ものが」が出続けるようになったんですが。

ただ、自分の環境はかなりいじってるのでならないかも分かりませんが…。
nosuke 2009/01/05(月) 23:34:32
遅くなりましたが試してみました.
結果,特にこちらの環境では変わりなく,「ホシイモノガ」or
「干し芋のが」の最後に確定した方が常に出てきます(´・ω・`)

というか,いつの間にか
http://garakuta.homelinux.org/~nosuke/diary/diary.html?y=2008&m=12&d=22&n=1#22-2
のときと同じように「そのでばいすに」をわざと「園で + 倍すに」しようと
してもうまく行かなくなってしまいました.文節をいじって確定しても
常に「その + デバイスに」となってくれます.あれれ・・・?
G-HAL 2009/01/06(火) 23:05:03
たびたびどうもすみません。
ビタビだと、うしろから文節を区切っていく場合がある(むしろその方が多い?)事を忘れて、
後方一致する学習結果の優先度計算をしていなかったバグです。治しました。

学習データの読み方は、パッチ中の
doc/fileformat_of_learningrecord.txt
に書き殴ってみました。
nosuke 2009/01/07(水) 02:12:18
いつもありがとうございます.今のところとてもいい具合です.
学習データの読み方,後で参考にさせていただきます.
#昼間配布ページが打ち消し線だらけになっていてビビりましたw

2009年1月5日から2009年1月1日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2009年1月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ