2007年6月30日から2007年6月1日までの日記を表示中

2007年 6月30日 (土)

ブロークンサンダー

とらのあなにパッチ中止&返金の案内が出てますな・・・.手元にあったやつはすでに先月末の時点で,FNAG側で返金処理済みなので,自分にはあんまり関係ない話ではありますが・・・.いつか真実を知る機会はあるのかな.

hyousuke氏襲来

今日を逃したら当分できなさそうだったので午前中無理やり洗車.洗車中,引越しの梱包材が到着.悲しいけど,引越し,来週なのよね.でも荷造りとかそういうのはまだ何もしてなかったり(;´д`)

で,そんな中,午後にhyousuke氏がやってきました.特に何しにきたという感じでもなかったのでとりあえず花映塚で対戦.結構勝てたんですが,勝てたことよりも,自身の粘りが増した(ような気がする)ことに驚き.あとはhyousuke氏が斑鳩やってるのを後ろからぼーっと見てたりトライジール開けて遊んでみたり.・・・ってどっかで見たことある接待パターンだなw

その後,色々と面白いニコニコ動画紹介してくれたんですが,ニコニコ動画がアカウント制で,自分がアカウントを持っていないことを,心底良かったと思いました.こんな面白いもん見てたらほんと何もできなくなるわw.そういや,イオシスの東方乙女囃子の2曲目をネタにしたのをいくつか見せてもらったんですが,最近流行ってたりするわけこれ? 発売直後超反応して聴きまくってたよみさんはやっぱ見る目があるんですなぁ.

[コメントを書く]

hyousuke 2007/07/03(火) 23:52:43
いろいろお邪魔しました。また遊びましょう。

2007年 6月29日 (金)

飲み

今日も飲みでした.多いなぁ.

mixiのアレ

昼間どっかでバージョン上がったとかいう記事を見かけたような.ここんとこ,この辺のキーワードでググってくる方がちらほらいるのはそのせいなんすかね.まあ,何か文字化け関連が多いみたいですが.暗号化は相変わらずSHA1+AESなのかなー.あ・・・あれから1年か・・・.

妖々夢

Phantasmをプレー.紫の最初と最後でミスって8億点台でした(´・ω・`).でも生と死の境界を気合で避け続けて取れたのがよかったかも.

2007年 6月28日 (木)

飲み

また平日飲み.

2007年 6月27日 (水)

家電

引越しに備えヨドバシで買った冷蔵庫とか電子レンジが届きました.昼間来ても誰もいないっての(;´д`).

ドラブレ

今日は何だかクリアできそうな気がしたので,帰ってきてからずっとやってたんですが,なぜか全然集中できず雑念に乱されまくりで,どうでもいいところでミスしまくり.結局何度やってもいい結果が出ず.くそー,あきらめて風呂入って寝よ・・・

と思ったんですが,まあ寝る前にあと1回だけやるか,とやったら何かいい感じ.6ボス到達までノーミス,6ボス1ミス,7面道中ノーミスで気がつけば残機2・残ボム2でラスボス到達ですよ.か,かつてないほどの好機.こ,これだけあれば絶対押し切って勝てる・・・ってやべっうわっげげっひぃぃぃ・・・(;´Д`)ハァハァ か,勝ちました・・・.

ソニア エンディング

というわけで,ついにソニアでノーマル一周ですよ. スコアは超しょぼいけど・・・.PS2版始めたのがここなので,クリアまでだいたい3ヶ月半ですかね.時間かかったなぁ.引っ越すまでにクリアできてほんとよかった.

とにかくどらブレさんのプレー動画・解説が無かったらクリアは不可能だったと思われます.あと,The Phoenix GamersさんとPURPLE BLUEさんの攻略ページも相当参考になりました.いやー,ほんとありがとうございました.

彩京のゲームって,今まで本腰入れて遊んだこと無かったんで(ガンバードちょっとやってたくらい),ヘタはヘタなりにずいぶん色々と勉強になった気がします(結局終盤のボスは弾の速さにまったくついていけませんでしたが・・・).よーし,次はアンデフやっちゃうぞ! あ,その前にDC用のジョイスティックごにょごにょしとかんと.

[コメントを書く]

OBONO 2007/06/30(土) 23:44:04
おおお、おめでとさん。
どんどんオヌシが遠くに行ってしまう…
nosuke 2007/07/01(日) 10:23:01
いやー単に時間かけてるだけですから.ニュータイプが羨ましいですよw

2007年 6月26日 (火)

飲み

平日飲み.ビール(゜Д゜)ウマー.

2007年 6月25日 (月)

uim.el

C-return 押したときの挙動が変なことが発覚.あー,「(= 8 C-return)」とかなるのがまずいのか.どうしよう.intergerpしてから比べるようにしときゃいいか.何も割り当ててない人は押すことなんかまずないし,割り当ててる場合は普通に通るはずなんでかなりどうでもいい気もするんですが,まあ一応.

ネット環境

引越先のネット環境について少々調査してみました.電話網使う方のプロバイダは,公式ページのFAQの中身と文のクオリティの両方でクラクラ.利用者の大半が初心者だと思ってナメてんのか先方の偉い人がよくわかってないのか何なのか.しかも開通まで超時間かかるっぽいしプライベートアドレスだし.これでこの値段か・・・.きっとお前らこの値段でネット使えるだけでもありがたく思えよげへへくらいのスタンスなんだろうなぁ.2chの専用スレ見てますます萎え.

一方,CATVの方は,やっぱ高いですがサービス的にはまあぼちぼちな感じ.ベンチマーク見ると速度も悪くなさそう.今んとここっちが有力だなぁ.

2007年 6月24日 (日)

uim.el

ホームディレクトリ整理してたらこれの画像が出てきて問題を思い出しました.せっかくだから原因を調べようと思い,とりあえずEmacsのバージョン依存を確認するためにEmacs21を立ち上げて変換候補を同じように表示してみたところ・・・ずれがないことが確認できました(Emacs21 vs Emacs22)が ,何かいつの間にか色が抜け落ちることが発覚(スクリーンショット撮るの忘れたので頑張ってその様子を想像して下さい).

どれくらいの時間で色が抜けるのか,時計を片手に実験してみたところ,ちょうど3秒で抜け落ちました.なるほど.まあ,色が抜けるんだから,きっと jit-lock-mode あたりが原因なんでしょうなぁ.そんなわけで,いかにも怪しげな jit-lock-stealth-time なる変数を確認してみたところ,3に設定されてました.ふふ,今回は簡単だったな・・・と思ったらハズレ.1にしても何も変わりません(´・ω・`)

run-with-idle-timer あたりで lispの下を探してみるもそれらしきものは見つからず・・・.うーん,今どんな変数があるのかわかればいいんだけどなぁ・・・って describe-variable して補完された中から探せばいいんじゃん.というわけで timer を含む変数を見てみたところ timer-idle-list なる,もの凄く怪しいのを発見.値は「([nil 0 3 0 3 jit-lock-stealth-fontify nil t])」.これじゃ! 間違いない!

早速nilに設定したところ,見事色が抜けなくなりました.∩( ・ω・)∩ワーイ.というわけでその辺の対策を追加してcommit.あー,また一段とややこしく・・・.

ちなみに,その後色々試しているうちにisearchのキー処理がおかしくなる現象が発生.未だ再現の仕方がよくわからんのですが,とりあえずデバッグメッセージを見るに,uim.el で fsetを使って this-command-keys の中身を一時的にすり替えた後,何らかの理由でそれが元の中身に戻されないままとなってしまっているのがまずい模様.やっぱ変なタイミングで C-g が入っちゃったのが原因なのか? こっちはinhibit-quit を復活させて様子見の方向で・・・.

ドラブレ

今日あたりクリアできるかなーと思ったけど甘かったですな.集中力に欠けまくり,ラスボスまで1回しかいけませんでした.結局第2形態で撃沈.6面までノーミス残ボム2くらいで到達して,6面を1ミスで抜けられれば,現状のやり方でも力押しで終われると思うんだけどなぁ・・・(超かっこ悪いけど).

2007年 6月23日 (土)

uim.el と shifted-motion-keys-select-region

XEmacsでuim.elをONにするとシフト矢印で領域選択(Emacs的にはマークの活性化っていうんだっけ?)ができない問題ですが,対処に挑戦してみましたよ.

まず,ヒントを求めて previous-line の説明を見てみたところ,シフトキーを押してるときの挙動について書かれてました.この機能は shifted-motion-keys-select-region というらしいです.previous-line が定義されてる simple.el を見てみると,この中に shifted-motion-keys-select-region に関する記述も含まれてますなぁ.

shifted-motion-keys-select-region は handle-pre-motion-command や handle-post-motion-command という関数の中で使われている模様.この関数は lisp の方からではなく,src/event-stream.c の pre_command_hook や post_command_hook 関数で呼ばれているようです.うーん,この辺が呼ばれないから動かないのか.

というわけで,とりあえず uim.el の中で,uimがスルーしたキーを処理する前後に handle-pre-motion-command と handle-post-motion-command を挟んでやったんですが,状況は変わりませんでした.やっぱ世の中そう甘くはないですね(´・ω・`).

よく見ると,この辺の関数は中で last-input-event を見てシフトキーが押されてるかどうかを判定しているようです.uim.elでは,シフト+何かのキー にキーバインドが割り当てられていなかった場合,シフト無しで何かのキーが押されたことにしてキー処理をやり直すようになってます.というわけで,uim.el 内部でキーバインドを処理する時点で,last-input-event からはシフトが取り除かれてしまっていることになります.だからダメなのか?

ということは,シフトを取り除く前に,last-input-event の値をコピーしておいて, handle-pre-motion-command を呼ぶ際に last-input-event を値を元に戻せばいいはず.というわけで,早速 uim-original-input-event なる適当な変数を作って退避・復元処理を追加・・・してみたんですが,なぜか全然動きませんorz.値を見ると,uim-original-input-event の値がバリバリ変わってます.setq してるところを通らないのに変わるってどういうことなんだ・・・.

last-input-event の説明を見てみたら,なんと以下の記述が.

If you want to keep a pointer to this value, you must use `copy-event'.

うおー,これか!? 試しに (copy-event last-input-event) をsetqするようにしたらバッチリ XEmacsでシフト矢印が効くようになりました.わーい.そしてそのままcommit.まあ,この修正が誰かの役に立つことがあるのかどうかについては謎ですが,とりあえず直せてよかったっす・・・.

そういや,最近,家でLinuxとかUNIX系OS使ってる人と新規に出会うことが結構あるんですが,話の流れで「日本語入力何使ってんの?」と聞くと(この時点で相当キモいわけですがw),Anthy + uimという答えが意外と多くてひゃっほうな感じです.でも,uim.el を使っているかどうかまでは怖くて聞けません(笑)

ドラブレ

今日もドラブレ.5面以降は危なくなる前にボムを打つように心掛けた結果,ついにラスボスまで到達するようになりました.といっても残機0,残ボム1とかそんな状態ばっか.4〜5回到達して1回だけ第2形態までいけましたが,他は瞬殺です(´・ω・`).7面道中よりも,6ボスで削られまくるので,この辺,もっと練習して,計画的にボムで押しきれるようにせねば (弾速すぎて「少しだけ左右にずれて回避します」とかそういうのが全然できないんで,真っ向勝負は諦め orz).

2007年 6月22日 (金)

.htaccess

最近永夜抄のBGMのパッチのページにwww.archive.org経由のアクセスが結構あって不思議に思ってたんですが,今日何気なく見てみたら何とパッチが403で落とせないことが発覚! みんなこれ落とすために来てたのかッ(;´д`)

PukiWikiをアップデートした際に消しちゃったのかと一瞬焦ったんですが,よく考えたら403だし,sshで入って見ると普通にファイルがあります.ということは .htaccessあたりが怪しいですね.下から順番に見ていくと,tsubo/.htaccessに「<FilesMatch "\.(ini\.php|lng\.php|txt|gz|tgz|zip)$">」とか書いてありましたorz.zipのみならずtgzやgzもか・・・.でもbz2が違うのがまた何とも.

いや,まあ,よく確かめずにそのまま使ってた上に,PukiWikiのディレクトリの中にファイル置いたりしてる漏れが悪いんですが・・・うーん.

ドラブレ

ほんと毎日ドラブレしかやってないんじゃないかって感じです.もはや東方級に遊んでる気が.そこまで面白いのかといわれるとよくわからんのですが,何かヘタなりに遊ぶ度に少しずつ進歩があるからつい続けてしまう・・・.

で,今日も何度か最終面まで行けたんですが(しかも1度残機1で到達),はわわーとか思ってるうちにレーザー直撃くらって死亡.未だ蜂までいけたことがありません orz.練習モードだと余裕ですが,それはランクが最低だからなんですよねー.苦手な開始直後のあたりを練習したいのに,練習モードだと超緩くて練習にならん・・・.

2007年 6月21日 (木)

ドラブレ

ひたすらプレー.始めたころはグダグダだったものの,そのうち気合が入ってきたのか6面までノーミスとかで到達してみたり.しかし,どこであっても1度やられるとその後乱れてすぐ2機3機と失ってしまう傾向が・・・(;´д`).結局今日も6ボス止まりでした.

そういや,ドラゴンシュート出すボタン押しっ放しにしてるとドラゴン固定できること,今日初めて知りました・・・.うはー,なんて便利な.

いたスト

いたストDS版かぁ.何でマリオなんだ・・・.

2007年 6月20日 (水)

逆辞書

最近の流行りは「小間生 (おもう)」.もう一息で「ハナ氏 (はなし)」やちょっと前の「朝臣で (あそんで)」級になりそうですw. 「小間生」って何だろうと思って調べてみたら石川県の地名なんですね.Anthy使ってなかったら一生読み方知らないままだったかもなぁ.

2007年 6月19日 (火)

ドラブレ

今日は何度やっても6面止まり.6ボスまでは1度しか行けませんでした(´・ω・`).とはいえ何か4面くらいまではかなり安定しているかも.

2007年 6月18日 (月)

Pidginのja.po

Wikiでja.poの修正に関して対応をお願いされまくってしまったんですが(笑),ja.poは別に嘘がなければ英語混じりでもいいやー (むしろ間違っていたり意味の通らない日本語が書かれているくらいなら,生の英語のままの方がいい) な人なので,申し訳ないですがこれについては全然やる気がありませぬ・・・. 自分で追加した設定項目について ja.po に訳書いてないあたりからも,その辺のやる気のなさがうかがえるかと(^^;

何でPidginのビルドなんかやってんのか,ちょっと整理してみました.

元々は,以下がきっかけです.

  • たまにThinkPadでWindowsを使うことがあり,自分で使いたいがためにyazさんパッチを当ててビルドしてみた
  • その後,その日記を読んだどなたかに「下さい」と言われて,手順とバイナリを公開した

その後しばらくバージョン上がっても追いかけることをしていなかった気がするんですが,何らかのきっかけでまた追いかけるようになった気がします.この辺はよく覚えてません.で,なんでこれが未だに続いていているのかを改めて考えてみたのですが,おそらく以下の2点が主な理由でしょう.

  • たまに公式の手順じゃビルドできないこととかあって,ビルドすること自体が興味の対象の自分からすると妙にチャレンジングな感じがしてついついやってしまう (2.0.2みたいなことがあると,ちょっと勉強にもなるし)
  • 定期的に更新するコンテンツが無いと寂しいw

それなら,別にできたバイナリを配る理由なんか無いよねという感じですが,今でも配布を続けているのは↓な理由が主なところです.

  • 不具合や気に入らないところをちょちょいとクイックハックで直してしまうハッカーの格好良さに憧れていて,その辺の真似事 (実際は自分の場合スローハック) ができるような利用者のフィードバックが時々欲しくなる

うーん,なかなか痛い人ですねw.まあ,そんな感じな故,超言い訳がましいですが,文字化けとか変なバグがあると直したがるくせに,誰かのためにpoファイルを修正することには消極的なわけです.まあ,「ご,誤解しないでよ.別にあんた(ユーザ)ためにやってるんじゃないんだから!」かどうかの判断はお任せします(笑)

2007年 6月17日 (日)

Pidginのpo/ja.po

~/.gaim が無くなってから音が鳴らなくなっていたことを思い出し,サウンドファイルのパスを再設定.で,ついでに設定ダイアログをあれこれ眺めてみたら・・・

Pidginの設定ダイアログ

何じゃこりゃ(;´д`).2番目と3番目の違いがわからん上,いつでも鳴らすオプション無いんですか?意味わからん・・・と思いきや3番目は元々「Always」じゃないですか.po/ja.poを見たら↓のようにありました.・・・なぜ(;´д`)?

msgid "Always"
msgstr "離席中の時"

眺めてたら他にも色々変なのがあったので,まとめて修正して相花さんにメールしてみました.そして早速返事が.早っ.

ドラブレ

つ,ついに通しで7面に到達.即やられて蜂どころかレーザーにさえ到達できませんでしたがorz

Pidgin-2.0.2 for Windows

で,Windows版ビルドしてみたんですけど,今回からBonjourとかいうプロトコルが有効になっててはまりました.Bonjour SDKとやらをインストールして,libとincludeをBonjour_SDKの下にコピーしたわけですが,ヘッダは見てくれるのにリンクがちっともうまくいかず.なぜだー.

調べてみたら,.lib ってのはMinGWだとリンクできない形式だとか.へー.MinGWのreimpなるツール(これまたどっから落とせばいいのか探すのが大変でした・・・)で変換して .a に変換してやったところ,無事リンクに成功するようになり,ビルドが通りましたとさ.ていうか,ここのBonjour SDKまわりの説明適当過ぎだろ(笑)

Download the Bonjour SDK for Windows from the Apple developer website and install it to win32-dev/Bonjour_SDK.

2007年 6月16日 (土)

Pidgin-2.0.2

ChangeLogみたら「Improve ICQ encoding support for some non-latin languages」とか書いてあるし.余計なことしやがって,oscarに2.0.1のパッチがそのまま当たらなかったではないかッ(笑)

suspend2失敗

超久しぶりに失敗しました.相変わらず実行するのは出かけるときなので,原因をじっくり調べる時間が無いのが何とも.とりあえずdmesgの出力だけ残しといて後で見てみたんですが,要するに空き不足?出がけにもそう思ってfreeしてみたんですが,そんときの表示はそんなでもなかったような・・・.よくわからんなー.

Suspend2: Initiating a software suspend cycle.
suspend_userui: program not configured. suspend_userui disabled.
Disabling non-boot CPUs ...
CPU 1 is now offline
SMP alternatives: switching to UP code
CPU1 is down
Freezing processes & syncing filesystems.
Stopping tasks ... done.
Preparing Image. Try 1.
Seeking to free 10MB of memory.
Stopping tasks ... done.
Stopping tasks ... done.
Preparing Image. Try 2.
Seeking to free 11MB of memory.
Stopping tasks ... done.
Stopping tasks ... done.
Free:208093(1308). Sets:107454(106336),194195(107490). Header:18/18. Nosave:1424
2-14240=2. Storage:321644/527104(321649=>301649). Needed:2878,0,0(100,2357,20000
,0)
Unable to successfully prepare the image.

飲み

飲んできました.前にお会いしたときから薄々感じてはいたんですが,ヒタヒタさんと同じ属性の人がいます.話せば話すほど同じ.声が似てて,喋り方が似てて,喋ることが似てて,毒具合が似ている.漏れとしてはとても仲良くなれそうで大変よいのですが,ヒタヒタさんは会ったら死ぬかもしれないので帰国後は注意が必要ですw

ドラブレ

6面を練習.一度だけノーミスで抜けるという奇跡が.そしてついに7面も練習開始.うーん,道中は6面よりマシかもしれん.ラスボスがボムで押しきれるのがせめてもの救いか・・・.その後の通しはボロボロ.なんだこりゃ.酒入ってるとダメか?

2007年 6月15日 (金)

kuma

ワロタ.が,手元の環境(去年の11月頃のCVS版のmlterm)だとオプション無しで動かしたとき,右の方まで行かないと目などが表示されぬ・・・.-Aとかつけると平気なのに.謎.

今週は

何か前半ハードだった関係で,ほんと何もしてない感じですなぁ.というわけで,ちょこっとドラブレやってみました.先週練習しまくった成果が出たのか,6面もそれなりにボスまで行けて,大体どこは避けてよくてどこは無理だからボム使うとかわかってきました.まだノーミスで越せたこと無いですがorz.一応通しでやっても6面まで到達できたし.

OOo

2.2.1なんか出てるのかー(いくやさんのところで見て知った).虫眼鏡の拡大の方が使えるようになっているかどうかだけが気になります.ま,そのうちビルドしてみるか.

2007年 6月14日 (木)

pidgin-2.0.1_jp2.diff

というわけで,数日空きましたがyazさんの最新パッチを当ててビルドしてみました.おお,WindowsでもISO-2022-JP-2にしておけば半角カタカナも「〜」も化けぬ!ありがt・・・な・・・べ,別に,WindowsでPidgin使ってるわけでもないし,IRCだって使ってないし,勘c(ry

b-mobileとか

b-mobileって,ライセンス切れて185日以内なら新たにライセンスを購入して更新できるとかアピールしまくってますが,その逆に関する説明が全然無いのが気になります(探し方が悪いだけなのかもしれませんが).185日過ぎたらカードつきのやつを買い直しなんですかね?そしたら今手元にあるカードは去年の9月に切れたから中身何も違わないのにもはや再利用できないゴミなわけ? まさかねぇ・・・いや,でも・・・

が,そもそも2週間くらいだったらWILLCOMのレンタルで全然良さそうな感じなんで,U50のカードの出番はどのみち無いか.

[コメントを書く]

_ 2007/06/16(土) 13:49:30
つ http://www.bmobile.ne.jp/support/qa/EXTENDQA.htm#q1
> 185日以降はお客様のアカウントが無効になり更新手続きができませんのでご注意ください。詳しくは「更新ライセンス概要」をご覧ください。
nosuke 2007/06/17(日) 01:03:53
うーん,実はそこも見てたんですが,やっぱ
更新手続きができません => 更新ライセンスは当然使えません => 新規にカードつきのやつ買ってください
ってことなんですかね.そうなると,方式とか変わってないのに手元のPHSカードはほんとタダの使えない板切れかぁ.

2007年 6月13日 (水)

飲み

予定外の飲みががが.明日から超朝早いのにうっかり参加してうっかり最後までいてしまった・・・(;´д`)

2007年 6月12日 (火)

Cellのアレ

Anthyの中の人が優勝したCellのアレのソースが公開されてました.うちのはまあ適当に探してください.パターン作って一部でハイスコア叩き出したけど最後で予定外の発狂に対応しきれず1周できなかったみたいな感じな名前と結果ですw

2007年 6月11日 (月)

Pidgin

yazさんから新しいパッチを頂きました.何か色々マージして頂けました.どうもです.

2007年 6月10日 (日)

VMware

メモリも増えたことですし,久々に起動してみることにしました.カーネルモジュールを作り直していざ起動してみると,バージョンが上がっているとのメッセージが.早速新しい方(5.5.4-44386)を落として入れてみようとしたわけですが,例によってカーネルモジュールのビルドで失敗するんでany-any-updateの力を借りることに.

ftp://ftp.cvut.cz/vmware/から最新と思しきvmware-any-any-update109を落としてビルド.・・・が,VMwareを上げると,バージョンが合わないと言って動いてくれません(´・ω・`).何か109で入るバージョンは古い模様ですなぁ.確かにファイルの日付見るとちょっと古そう.あれー.

みんなはどうしているんだろうとググってみたら憩いの場にて情報発見.ぬ,5.5.4-44386でもany-anyで普通にできるのか・・・.ってことはany-any自体が古い? vmware-any-any-update でググってみたら,さっき見たのとは別のhttp://platan.vc.cvut.cz/ftp/pub/vmware/なんてサーバが出てきて,こっちには vmware-any-any-update110 という新しめのが・・・.なんて罠だ.こっちでバッチリでした.

VMwareで東方

そういえば最近のLinux版のVMwareではExperimentalながらDirect3Dが使えたりするらしいですが,前試したときはビデオチップがMobility Radeon 7500でATIのドライバが使えずちゃんと動かなかった・・・ような気がします.が,今のT60はX1300を積んでいて,ATIのドライバも入っているわけで,実はDirect3Dいけちゃうんじゃないの?

というわけで,再び挑戦してみました.vmxファイルに以下の3行を追加して,いざVMware起動.

mks.enable3d = "TRUE"
svga.vramSize = "67108864"
vmmouse.present = "FALSE"

dxdiagを実行してみたところ,立方体がグルグル回転しました.この環境でもDirect3Dはいけるみたいですな.

で,試しに何かゲームも動かしてみようと思い,東方風神録を起動してみました.結果は・・・読み込み画面からタイトル画面までは正常です.が,ゲームが始まると大変なことに(;´д`).ちなみに,何度か試しましたが,何度もOSごと固まってくれたりしてかなり危険ということがわかりました(笑)

VMwareで風神録

PidginでIRC文字化け問題

結局のところ,Windows側のlibiconvがISO-2022-JP-MSに対応してないのが悪いわけで,パッチを当てて対応させたiconv.dllをPidginと一緒に配布すればいいだけの話なんではないかということに気づきました.

というわけで,libiconv-1.9.1にパッチを適用してMinGWで普通にconfigureしてmake・・・が,makeでこけます.ググったら1.9.2だとうまくいくという情報が出てきたので,1.9.2と何が違うのかと思って見てみたら,1.9.1の方には↓が無かったり.この辺足したら通りました.

#if defined _WIN32 || defined __WIN32__
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif

が,make installしてもiconv.dllはできず.これってもしかして手で作らねばならんのか? 調べてみたら,ここに説明がありました.MinGWのツールで普通に手で作れるのか.で,これをやるためにはdefファイルというのが要るみたいなんですが,これをどうやって作ればよいのだろうか・・・と彷徨ってたらこちらでナイスなツールが紹介されていました.

./tiny_impdef.exe 'c:\cygwin\home\nosuke\compile\pidgin\gtk_installer\gtk_install_files\bin\iconv.dll'

のように既存のiconv.dllを食わせてやったら iconv.def とか適当なファイル名でdefファイルを書き出してくれました.素晴らしい.これを使って↓のような感じで手リンク.

dllwrap -k -def iconv.def --driver-name gcc -o iconv.dll \
 ./lib/.libs/iconv.o ./lib/.libs/localcharset.o \
 ./lib/.libs/relocatable.o

iconv.dll ができました.よし早速置き換え.・・・あれ,ISO-2022-JP-MSが出てこねーぞ?EUC-JP-MSはあるみたいだけど・・・.ぐはっ,ISO-2022-JP-MSが出てきたのは1.10からか・・・.

そんなわけで,今度はlibiconv-1.10にパッチを当てて作り直し.手順はまったく同じで,普通にiconv.dllができました.Pidginと一緒に入るGTKのを置き換えてやったら,ばっちりISO-2022-JP-MSが指定できるようになり,IRCで半角カタカナとか「〜」とかが化けなくなりました.次からはこれをWindows版のPidginに同梱するのが良さそうですね・・・.

2007年 6月 9日 (土)

PidginでIRC文字化け問題

チャットルームの一覧も文字化けするんだそうで.なるほど,確かに文字化けしている・・・.パケットキャプチャして確認してみたところ,「0x1B 0x28 0x42」の後に,0xCFとか0xBBとか,ASCIIじゃないコードが混じってるところが化けてますな.ひでえなこのESC(B.

とりあえず,ASCIIであると主張しているところを次のエスケープ文字までを抜き出して,そこをSJISとしてISO-2022-JP-2に変換してつないでいく手抜き対処をしてみたところ,一応この部分の文字化けは解消しました.が,結局ISO-2022-JP-2じゃ対応できない部分が他にもあったりして,やっぱ他の手を考えた方が良さそうな感じ.どうしたもんか.

焼肉

おぼの君他いつものメンバー(±1)で集まってうちで焼肉しました.微妙に風邪気味でピンチ.なぜかおぼの君がグラVとかドラブレとかやってました.ほんと弾避けの能力がすごい.

2007年 6月 8日 (金)

秋葉原行ってきた

時間ができたので久々に秋葉原へ行ってきましたよ.行く途中,朝ご飯がよくなかったのか山手線で超気持ち悪くなって危機的状況に(;´д`)

T60用のメモリ,RAP2の交換用レバー,工具,部材などを購入.うろうろしてるうちにだいぶ体調も回復してきたので,いつものように中古ゲームもチェック.トレーダー覗いたら何かサターン用のジョイスティックのジャンクが300円で売られてたので,部品取りにでも使えればと購入してしまいました(笑)

で,最後にHeyに立ち寄ってむちむちポークやって帰ってきました.むちポって,難易度超低めなんですかね,初見で4面まで行けてしまうなんてとても珍しい・・・.雷電IVは超難しそうだったのでパス・・・.

うーん,短時間で離脱するつもりが,なんだかんだで長居してしまった・・・.

T60 メモリ増設

早速買ってきたメモリに換装してみました.2Gになって(゜Д゜)ウマー.特にディスクキャッシュがかなり効いてくれるのがありがたい.あとこれでVMwareを割と気兼ねなく上げられます.

RAP2レバー交換

元々ついてたサンワのJLF-TP-8Yを外して,代わりにセイミツのLS-32-01をつけてみました.余ったサンワのレバーもどっかで使えればと,秋葉原でサンワ用の8角ガイドとハーネスを買ってみたんですが,ハーネスはまったく同じ物がLS-32-01にも付属していてややショック.

で,交換してみた感じですが,何か気持ちレバーが短くなったような気が.いや,気のせいか?ドラブレやってみたらまた6面まで行けました.ここ数日で一体何が・・・.

PidginでIRC文字化け問題

何かWikiの方にIRCで半角カタカナが文字化けするという情報が・・・.うーん,IRCねぇ・・・.普段使ってないだけに,モチベーションが全然上がらないわけですが.自分がPidginの中の人だったら放ってはおけないけど,超外の人だしなぁ・・・といつもなら「そのうち」とかいって放置するところなんですが,うっかり戯れに追ってしまいました.

以前テストでIRCサーバをインストールしていたことを思い出し,ポートを開けて起動.で,早速LinuxとWindowsでPidgin上げて,Pidgin間で通信してみたんですが,全然化ける気配なし.あー,デフォルトだとエンコードがUTF-8なんだっけ.というわけで,ISO-2022-JPにしてみましたが,やっぱり化けないぞ.何だこれは?

再現条件が全然書かれて無かったんですが,まあきっとISO-2022-JPで発言したときに,Winodwsの他のクライアントだと文字化けしてしまうんだろうとにらんで,一番使われてそうなLimeを入れて実験.・・・おお,化けた.半角カタカナがことごとく化けますな・・・.

wiresharkでパケットをキャプチャしてみたら,半角カタカナが混じるとISO-2022-JPっぽくないバイト列が送られている模様.デバッグウィンドウを開いたら,「文字コードの変換に失敗した」みたいなメッセージが出ますわ(;´д`).で,ソースを見てみると,g_convertでUTF-8から指定したコード(この場合ISO-2022-JP)への変換に失敗したら,そのままUTF-8で送るみたいな感じになってました.スゴス.だからPidgin同士だと化けなかったのかぁ.

では何でg_converが半角カタカナを処理してくれないのかという話ですが,Wikipediaに色々書いてありますな.なるほど,そもそも ISO-2022-JPについて書いてあるRFC 1468に,JIS X 0201のカナを含まないぜと記されてるのね.その辺をlibiconvとかglibcがきちんと守っているからダメなわけか・・・.というわけで,結論としては「ISO-2022-JPを指定した以上,半角カタカナを使うんじゃない」となるわけですが,そんなコチコチ頭的考えは嫌なのでもうちっと追ってみました.

とりあえず手元のLinuxではglibはlibiconvを見ていて,libiconvにはCP932絡みのパッチが当ててあります.「iconv -l」とやったら「ISO-2022-JP-MS」なんてのがありました.これをPidginで指定してみたところ,変換失敗のデバッグメッセージが出なくなり,何とLimeでも化けずに表示されるようになりました.ということは,LimeはISO-2022-JPと見せかけて「ESC ( I」に対応しているのか? まあいいや,これにて一件落着・・・.

というわけにはいかなくて,肝心のWindows版の方では,libiconvにパッチ何か当たってないので「ISO-2022-JP-MS」を指定しても変換できんわけです (´・ω・`).じゃあ,何を指定すれば・・・? 試しにISO-2022-JP-2を設定してみたらいきなり成功.Windows版Pidgin → Lime で半角カタカナが通りました.でも,これをやると,今度は「〜」が化けます.もしかしてと「¬」を試してみたら,こっちも化けました.さらに外から「〜」を打った場合,WindowsのPidginだけフォントが汚くなります.あれか,WindowsのUnicodeのアレ.

というわけで,Pidginのlibpurpleのircのところにでyazさんの関数呼ぶようにして,送信時と受信時にUTF-8をいじるようにして解決させてみました.多分こんな感じ.ちなみに,現在のyazさんパッチでは,ircのソースに関して一切変更を加えてないようです.

しかし,ISO-2022-JP-2で半角カタカナがエンコードできるようになるのがよくわからんなぁ.ISO-2022-JP-2にはJIS X 0201のカナの方は含まれてないように見えるが・・・.そもそも無理やり変換することを考えるより,Limeと同じように,ISO-2022-JPのときはPidgin内部で半角カナ→全角カナの変換をやっちゃった方がいいのかも?

[コメントを書く]

yaz 2007/06/11(月) 01:40:20
この辺は昔頑張ってパッチ書いたんですが、なんか今のパッチセットに入ってないっすね(汗 ちと捜し出して追加しときます。

2007年 6月 7日 (木)

ドラゴブレイズ

昨日練習した成果があったのか,一発目でいきなりノーミス5面到達.そして6面の骨の先まで行けました.こ,これは・・・.いやいや,過信は禁物.もう一度・・・.今度は6面まで1ミスで到達! そしてボス キタ━━━━(゜∀゜)━━━━ッ!! 練習でも全然勝てんわけで,案の定第2形態のレーザーに焼き殺されましたが・・・.不安になって難易度を確認してみましたが,ちゃんとNormalでしたw

uim.el

そういやターミナルでEmacs起動してバリバリ使ってたら,インクリメンタルサーチでkeyvecなんとかとかエラーが出てサーチできなくなる現象が何度か・・・((((;゜Д゜))) ガクガクブルブル

2007年 6月 6日 (水)

GMail

またも迷惑メール誤判定が.今度は内海さんが書かれたAnthy MLとSCIM ML宛のメール.どういう加減で発生すんだろねこれ.

ドラゴンブレイズ

今日も奇跡的に6面まで行けました.でもその後は何度やってもダメ_|‾|○.5面と6面を練習してみたり.あと,もっとソニアに詳しくならないとダメなんじゃないかということで,適当にプレーをキャプチャしてみて,あたり判定とか確認してみました.なるほどねー.

2007年 6月 5日 (火)

本名

本当の名前でググっても出てこないのに,漢字間違いの本名でググるとここが一番上に出てくるのはどういうことだッ.ていうか誰,ググって来た人(;´д`)

Emacs multi-tty

emacsclient -t で日本語入ったファイル開くと日本語がすべて「?」に.「(set-terminal-coding-system 'euc-japan-unix)」とかこの辺を評価すると直るわけですが,デフォで直す方法は無いものか・・・.う,2年前からある現象なのか・・・.

2007年 6月 4日 (月)

Emacs-22.1とか

ファイルの日付見ると一昨日くらいに出てたみたいですな.もちろん早速落として入れました.特に新しい機能に感動するとか無いですが,いつまでも開発版だとElisp書くとき何を信じて書けば,という感じになるんで・・・.そういやEmacs-22のcvs版のバグっぽいのを避けるためにでっちあげたworkaroundがいくつか残ってたような・・・.vertical-motionとかどうなんだろね.

そいや数日前にw3m-0.5.2も出てたみたいですな.0.5.1出たのは3年前か・・・.肉の日リリース定着どころじゃなかったね(笑)

swsusp2

とりあえず今朝は成功.復帰後もアクセラレーション効いてるようです.やっぱいちいちssh-addとかやんなくていいのは楽だなぁ.

音楽データ整理

気に入ったCDはリッピングして何度も聴いたりするのは多分そう珍しいことじゃないかと思います.で,漏れの場合,リッピングしたデータは,~/music/の下にアーティストとかサークルとかのディレクトリを切って,その中にアルバム単位で置いてたんですが,いつの間にか移動させるのが面倒になって,一昨年の冬コミくらいからは ~/music/00c70とか ~/music/00reitai3,~/music/00misc みたいに入手時期によってディレクトリ切って,そこにどかんと置いてました.その結果,しばらく聴いてないと,そのディレクトリの中にあるCDの半分くらいがタイトルを見てもどこのサークルのどんなCDなのかまったくわからん状態に・・・(特に東方のCD).

別にそのままでもよかったんですが,ここ最近はH320の方が容量が不足気味で(~/musicの下をまるごとrsyncしている),整理が必要そうな状況だったりします.何だかわからないなら消しちゃえばいいじゃんという感じなんですが,そうでもないのも混じってたりする(多分)ので,やっぱちゃんと残しておきたいものと,とりあえずどうでもいいものとで分けたい.

というわえで,入手時期で分けてたのをアーティストとかサークルで分け直してみて,中身が思い出せないやつは軽く聴いて「何でこれリッピングしたんだろう」みたいなのを消すことで軽量化をはかろうと思ったんですが・・・やっぱ当時また聴こうと思ってリッピングしただけのことはあって,どれもなかなか.つい聴き入ってしまい,全然整理できません(笑).中には「何でここの新作スルーしたんだろう」ってのもあったりして・・・

2007年 6月 3日 (日)

XEmacs

先日の問題をどうにかしようとXEmacsのソースを眺めてみました.途中

  /* #### fuck me!  who wrote this crap?  think "abstraction", baby. */

とか書いてあってイカス.でもやっぱどうしようも無い雰囲気(´・ω・`)

T60

Firefoxで画像がいっぱい貼ってあるページの表示が突如激重になり,swsusp2の悪影響か!?とか焦ったんですが,よく考えたらカーネル上げた後,ATIのドライバ入れ直すの忘れてただけでした.見たら8.37.6なんてのが出てたのでいつも通りバラして導入.・・・って,これ入れたらまた正常にハイバネーションしなくなるんじゃ・・・(;´Д`)ハァハァ

uim.el

やっぱ今まで通り,全部uim.elが吸い込んで自前で処理する方向でいきますわ.「何かおかしいぞ」という部分は,指摘があったらその都度対処することにしよう.誰も使ってないところを一生懸命作り込んでもしょうがないしね・・・あ,だったらXEmacsのサポ(ry

で,help-char判定をuim.el側でやってみたんですが,簡単と見せかけて実は相当面倒くさいこと判明.とりあえず prefix-help-command にデフォルトで設定されている describe-prefix-bindings 関数は,中で this-command-keys を呼んでるんですが,この関数,Cで書いてあって,関数が返してくる値をlisp側から書き換える方法が無いっぽい・・・(;´д`).だもんで,ここは fset と symbol-function を使って関数そのものを一時的に差し替えるとかそんなのをやることにしました.↓こんな雰囲気.keyvecはuim.elが横取りしたキーベクトル.

(let (this-command-keys-original 
      (mode uim-mode))
  (fset 'this-command-keys-original
	(symbol-function 'this-command-keys))
  (unwind-protect
      (progn
	(fset 'this-command-keys 
	      '(lambda ()
		 keyvec))
	(setq uim-mode nil)
	(funcall prefix-help-command))
    (progn
      (fset 'this-command-keys 
	    (symbol-function 'this-command-keys-original))
      (setq uim-mode mode))))

ちなみに,↑の外側でやってる help-charかどうかの判定は↓な感じ.「keyvecの最後はhelp-charですか?」ということを調べたいだけなのに,XEmacs側はなぜこんなことになってしまうのかと・・・_|‾|○

(or (and uim-emacs
	 (= help-char (aref (uim-last-onestroke-key keyvec) 0)))
    (and uim-xemacs
	 (equal (uim-xemacs-make-event 
		 (uim-convert-char-to-symbolvector (key-description help-char)))
		(aref (uim-last-onestroke-key keyvec) 0))))

上記を追加したことで,C-x C-h とかを横取りした際にちゃんとC-xのヘルプが表示されるようになりました.ふぅ・・・.

が,テストしてるうちに,上記対策をとると FSF Emacsの方で f1 C-h した際に,uim.elがONだと「You have typed <f1>」の「<f1>」の部分が表示されないことが判明.help-macro.elを読むに,この部分は this-command-keys から生成しているんで,上記変更で問題ないはずなのになぜ?と思って追ってみたら,f1 C-h には help-for-help なるコマンドがバインドされてました・・・.何この統一性の無さは.というわけで,this-command-keys を差し替える処理を他数ヶ所にも埋め込み,こちらも一応解決.特に問題なさそうだったんでcommit.

ちなみに,XEmacsでシフト矢印が効かない問題は未解決だったり.これまたソース追わないとわからなそうで・・・.トホホ.

Emacs

なんかEmacsネタばっかだなぁ.multi-ttyのブランチの方は大変いい感じで,uim.elの方のバージョンチェックを23に対応させればちゃんと動いてくれました.というわけでこっちもcommit.

それはそうと,uim.elのテスト用にEmacs-21系入れ直そうと思ったらビルド通りませんorz.leimのバイトコンパイルでこけている模様・・・.

Byte-compile the created files by:
  % emacs -batch -f batch-byte-compile XXX.el
if [ -f quail/CCDOSPY.elc ]; then true; else \
         EMACSLOADPATH=/home/compile/emacs-21.4/leim/../lisp ../src/emacs -batch --no-init-file --no-site-file --multibyte  -l /home/compile/emacs-21.4/leim/../lisp/international/quail \
          -f batch-byte-compile quail/CCDOSPY.el quail/Punct.el quail/QJ.el quail/SW.el quail/TONEPY.el quail/4Corner.el quail/ARRAY30.el quail/ECDICT.el quail/ETZY.el quail/Punct-b5.el quail/PY-b5.el quail/QJ-b5.el quail/ZOZY.el; fi
Fatal error (11)./bin/sh: line 2: 30177 セグメンテーション違反です  EMACSLOADPATH=/home/compile/emacs-21.4/leim/../lisp ../src/emacs -batch --no-init-file --no-site-file --multibyte -l /home/compile/emacs-21.4/leim/../lisp/international/quail -f batch-byte-compile quail/CCDOSPY.el quail/Punct.el quail/QJ.el quail/SW.el quail/TONEPY.el quail/4Corner.el quail/ARRAY30.el quail/ECDICT.el quail/ETZY.el quail/Punct-b5.el quail/PY-b5.el quail/QJ-b5.el quail/ZOZY.el
make[1]: *** [quail/CCDOSPY.elc] エラー 139
make[1]: ディレクトリ `/home/compile/emacs-21.4/leim' から出ます
make: *** [leim] エラー 2

試しにCFLAGSに設定してる最適化オプションを切ってみたら通った・・・.ぬぬぬ,「-O3 -march=i686 -mtune=nocona」がダメだというのか? 一つずつ切ってみた結果,「-O3」がよろしくないことがわかりました.「-O2」なら平気らしい.ふーん.

2007年 6月 2日 (土)

Anthy-9002

「格さん」問題,直ってました.(゜Д゜)ウマー

Emacs multi-tty

CVSの方にブランチがあんのね.えーと,23系ベースなのかな?うーん,まあ試しに入れてみるか・・・.

Pidgin-2.0.1

2.0.0のパッチ当てて,挙動がちょっと変だった縦タブ切り詰めの設定まわりを修正して入れてみました.まあ,一応大丈夫かな?そのままWindows版バイナリも作っていつもの所に.

ドラゴンブレイズ

ソニアで6面まで行けました.ギリギで到達して,即終わった感じですが.進歩してんだかしてないんだかさっぱりです.

今のところよく死ぬポイント_|‾|○

砂漠ステージのボスの第2形態
中央の最初に撃ってくるところを速攻で撃破した後,右側の手前の砲台を壊すまではいいんですが,左に移動する途中とか,移動した後砲台を破壊するところで撃墜されること多し.
霧ステージのボスの超高速弾
攻略サイトの説明を見ると,当たるのは少ないから見て避けようと書いてありますが,見えないので無理orz
海ステージのボスのV字弾
見切ったつもりが当たるorz

2007年 6月1日 (金)

6月か

何か5月は超長かったなぁ.連休中熱出して寝込んでほとんど何もできなかったこと,Broken Thunderを買ってしまったこと,毎朝5時に起きなきゃいけなくなってこりゃ引越し確定じゃんとなったことなどなど,色々あったわけですが・・・.まだあれからひと月もたってないのかぁ.いいことなのか悪いことなのか.

Emacs

multi-ttyがあると便利なんじゃないかと思い久々に本家見たら,数ヶ月ぶりとなるパッチがリリースされてました.が,リリースされたのは今年の2月.22.0.97にはものすごい勢いで当たらずFAILEDの嵐(´・ω・`)

で,ググってるうちに22.0.99なんてバージョン名がちらほら見えたんですが,ringとかのGNUの下には無いですねぇ.どこにあるんだろう・・・と思ったらalpha.gnu.orgにあった.・・・うお,22.0.990なんてのがあったのか!というか月曜に出すぞ多分とか言ってるってことは,来週あたりに22.1が出るんすか?

たまご

「たくさん またせて ごめんなさい」だか「ごめんね」だか,そんなのを略して「たまご」なんでしたっけ? 漏れが初めてmule使ったとき,日本語入力には「たかな」とかいうのが使われてたわけですが,こっちは「たまごよ かしこく なーれ」の略だったかと.UNIX文化に慣れたつもりの今でもやっぱこのネーミングセンスはどうかと思ってしまう・・・.

[コメントを書く]

osana 2007/06/04(月) 12:37:53
WNN = わたしのなまえはのすけです
だったんだよ!
nosuke 2007/06/04(月) 22:06:11
(;゜Д゜) (゜A ゜;(゜д゜;) ナ、ナンダッテー!

その発想は無かった(笑)
まっさらな状態のAnthy-9002で変換したらこんな感じでした↓
「私の名前葉の助です」

『のすけ』を辞書に登録している状態だと↓
「私の生枝は渡辺(のすけ)です」

・・・(;´-`).。oO(『生枝』は無理しすぎじゃないかこれ・・・)

ドラゴンブレイズ

今までクセが強そうであんま使ったことなかったロブですが,ちゃんと使ってみたら実は結構使いやすいことが発覚.とにかくドランシュートと分離溜め撃ちが強力でいいですなぁ.でも動きが超遅い・・・.あと,こいつも敵本体に当たるとソニアの声がしますな(笑)

2007年6月30日から2007年6月1日までの日記を表示中

中の人情報

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

カレンダー

2007年6月
          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

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ