/ 最近 .rdf 追記 設定 本棚

脳log[2006-12-17~]



2006年12月17日 (日)

[Amazon]Amazonショッピングカードを買った。額面通りの金額だった。残念。裏面に……

裏面に注意を要する文言。

本カードは、Amazon.co.jpのアカウントへチャージされない場合、ご購入から6ヶ月後に無効となります。

すぐに買うものがない場合でも、アマゾンにアクセスして「アカウントサービス」->「Amazonギフト券・Amazonショッピングカードの残高を確認する・残高に追加する」と移動してコードを入力しておくのが吉。


2006年12月13日 (水)

[FF12] 4時間ほどやって

 ムービーすごい。まるで映画。

PS2での FFをプレイするのは 12が初めてだと気付いたのはムービーの質がまるっきり映画のものだったから。ここまでとは。スキップもせず見入ってしまった。PS3ではどこまでいってしまうだろう。確かめるには PS3に加えて HDMI、HDCP対応の液晶モニタを買う必要があるが。

 ソロ戦闘は微妙

まだガンビットが試せてないのだけど、一人で砂漠で戦闘をした感想は、微妙。

戦闘中に移動できることのメリットが全くわからない。歩けない方がいいというわけではないけど、歩かなくてもいいな、と思ってしまった。下手にうろついて新手の敵を呼び寄せるのはまずいし、ウルフは全く振り切れないし、敵の攻撃を回避できるわけでもないし。動いてようがじっとしてようが敵を倒すまでにくらうダメージは同じ。

敵に背中を向けてると盾が発動しないということがあるかもしれないと思ってできるだけ敵と向き合うようにしてみたが意味があるのかわからない。敵の攻撃に合わせて□ボタンを押すと盾で防御できたり、サイドステップで回避できたりすると面白いのに。

攻撃についても、ゲージが貯まった状態で敵を射程内に捉えると自動で攻撃する、っていうシステムはどうかと思う。それだとプレイヤーの行動は「攻撃」ではなく(ゲージが貯まった状態で敵に)「近づく」という、間接的で、敵に斬りつける爽快感に欠けるものでしかない。

結局、言ってることを実現すると「それ何てスターオーシャン?」になるんだけど……。いやいや、スターオーシャンにも防御ボタンは無かった、多分。(その代わり敵の攻撃モーション中に移動して攻撃を回避することはできる)


2006年12月12日 (火)

[Ruby][SWIG][iPod] Rubyから iPodのデータベースを読む

  1. libipod-0.1を bcc32でコンパイル
  2. ipod/ipod.hをベースに swigで Ruby用のラッパー作成
  3. 手持ちの iPod(第3世代*/ソフトウェアバージョン2.3)のデータベースは読めた

* 再生時間 8時間は短いけど、タッチボタンによる軽快な操作は捨てがたい。


2006年12月10日 (日) bcc32で libipod-0.1をコンパイル。examplesフォルダ内のプログラムは動いた。


2006年12月03日 (日) 訪れたページで new SWFObject() なんて javascriptが使われてて、そんなビルトインオブジェクトがいつの間に追加されてたのかと検索したら swfobject.jsというファイルが予め読み込まれていたというオチ


2006年11月29日 (水) Mac OSXもいいなと思ったけどハードと抱き合わせなので断念。


2006年11月25日 (土) じゃじゃ丸っ、ピッコロっ、ポ〜ロリ〜


2006年11月22日 (水)

Essoのセルフガソリンスタンドで

バイクを停めて、手順を示した表示を探す。見つからない。

料金先払いだろうか?後払いだろうか? 先払いが多数派な気がするし、前回この系列で給油した時は先払いだった。

先払いだとふんで、とりあえず千円札を突っ込んでみる。食わない。

出鼻をくじかれてあっさりギブアップ。インターホンで質問しようとしたら、話を聞く前に駆け足でスタッフがやって来る。

俺 「(バイク越しに少し体を乗り出して) あの、最初に何をすれば…」
機械 「いらっしゃいませ。(この後案内が続く)」
俺 「……。あ、正面に立てば良かったんですね。もうわかります。どうもすみません」

ちゃんちゃん。


2006年11月18日 (土) PCSX2 0.9.2 リリース。すぐに 0.9.2の第二版がでた。


2006年11月17日 (金) グラコロの日


2006年11月10日 (金) /.Jの記事で明日が PS3の発売日だと知る。PS3のオフィシャルサイトのトップに発売日の記載なし。

最終更新: 2012-12-19T01:19+0900

[MX610]左シングルクリックがダブルクリックに

昨日から突然に。50%ぐらいの発生率。右クリックでは起こらない。

ファイルやフォルダを選択しようとすると開いてしまうし、ドラッグすると途中で落としてしまう。

去年の12月に買ったものだから11ヶ月しかもたなかったわけだ。そういえば以前使ってた1000円未満の光学式マウスも使い始めて半年か一年後ぐらいからダブルクリックの誤認識が起こるようになった。埃が原因かと思って開けてみたが左ボタンの下にはOMRON製のちっこい箱が見えるだけで何とも。素人目にわかる原因があれば話は早かったのに。

せっかく開けたので、ホイールのクリック感は金属がペコペコ凹む感触なのだな、とか、ホイールのコロコロ感を生み出す溝はホイールの回転を検出するのにも使われてるのかぁ、とか観察してから閉める。

他にも誤認識にみまわれてる人がいた。よくあることらしい。更に初期と現在とではクリック感が違うらしいことも判明。手元の MX610はボタンとスイッチの間に隙間がある古いタイプ。閑話休題。ロジクールのサポートにドライバのアンインストールを勧められたが改善しないので送り返したらしい。この人に倣ってまずはドライバを Windowsのものに戻してみる。

直らないが頻度は減ったかも。デスクトップのアイコンを順番にクリックしていくと10%未満の頻度でダブルクリックになる。……。テストしてるうちに 20%以上の頻度で起こるようになって、今は 0%。あ、やっぱり 20%以上。ドライバは全く関係ないようだ。

チャタリングという現象らしい。スイッチのON/OFFが切り替わるときに 1-10μs以下の間に何度かON-OFFをいったりきたりするのだと。それが無視できない程度になって不具合して現れてきていると? っていうか接触不良だよね。

MX610には 5年間の保証がついていたようだ。でもメーカーに送り返したら負けだと思っている。

スイッチを分解した。奇妙な形の金属が入っている。力を加えても最初は金属がたわむだけで接点は動かない。ある点を越えるとカチッと素早くスイッチが入る。へぇぇぇぇ。金属の弾性と形状が全てなのか。

 [追記:2006-12-14]

正常に動いております。汚い手でべたべた触ったのが新たな不良の原因となるのはいつだ。

 [追記:2008-09-22]

読み返してみて、あれ? 俺はスイッチを分解して何をしたの(笑。接点付近を布(というかティッシュ)でこすったんだっけ?

MX610はチャタリングから逃れられない欠陥マウスみたいで、ネット上には本体の剛性を増したり、コンデンサを増設したりする対策を紹介したブログが見つかる。そんな大層なことをせずに 3年近く使えてるのはわりと幸運なのかも。


2006年10月30日 (月)

[Ruby][SQLite] sqlite3-ruby-1.1.0の DLドライバを Ruby-1.9.0(20061029版)添付の dl2に*不完全*対応。

29日に Ruby1.9をダウンロードした。添付ライブラリのRipperが、m4sugar.m4が見つからない、というエラーでコンパイルできない以外は問題なくインストール完了。RUBY_PLATFORMは i386-bccwin32。

Ruby1.8.5で動いている http://vvvvvv.sakura.ne.jp/ds14050/buch/ が Ruby1.9でも動くのか試してみると、sqlite3-rubyの Nativeドライバ、DLドライバが両方とも動かない。Nativeは当然として、DLが動かないのは Ruby1.9では ruby-dl2が dlとして添付されているから。

出てくるエラーを順番に潰す過程でやったことは定数名の置き換えが殆ど。そんなことしかできません。コールバック関数を SQLiteに渡す authorizerや create_function関連は自分で使っていないので何もしていない。DL.callbackが存在しない為にエラーが出るのは間違いない。dl2では bindを使うのだろうか?

以下は変更点のリスト

* sqlite3/driver/dl/api.rb:38
   -extend ::DL::Importable
   +extend ::DL::Importer

単なる名称変更。

* sqlite3/driver/dl/api.rb:92
   -extern "ibool sqlite3_complete(const char*)"
   +extern "int sqlite3_complete(const char*)"
* sqlite3/driver/dl/api.rb:93
   -extern "ibool sqlite3_complete16(const void*)"
   +extern "int sqlite3_complete16(const void*)"
* sqlite3/driver/dl/driver.rb:96
   -API.send( utf16 ? :sqlite3_complete16 : :sqlite3_complete, sql+"\0" )
   +API.send( utf16 ? :sqlite3_complete16 : :sqlite3_complete, sql+"\0" ) != 0

iboolという返り値(戻り値?)の型が dl2では定義されていない(定義しようがない?)ので、intを bool値として受け取るのは諦めて、返り値を利用するドライバの方で非0かどうか調べる。

* sqlite3/driver/dl/driver.rb:40
   -DL.sizeof("L")
   +DL::SIZEOF_LONG

sizeofというメソッドは dl2の DL::Importerモジュールにもあるが使い方がわからないし、定数の方が良い。

* sqlite3/driver/dl/driver.rb:*
   -DL::PtrData
   +DL::CPtr
* sqlite3/driver/dl/driver.rb:242,247,252
   -result ? result.to_s : nil
   +result.null? ? nil : result.to_s

DL::CPtrが DL::PtrDataと完全に互換な置き換えなのかわからないが当面のエラーは消えた。

DLL関数の返値がポインタの場合は常に CPtrが返ってくるらしく、CPtrの指すアドレスが NULLの場合でも Ruby的には nilではないので「result ? result.to_s : nil」が常に result.to_sになり、ぬるぽエラーになることがある。PtrDataとは振る舞いが違う?

* lib/ruby/1.9/dl/value.rb:72
   -return [arg].pack("p").unpack("l!")[0]
   +return [arg.dup].pack("p").unpack("l!")[0]
* lib/ruby/1.9/dl/value.rb:74
   -return [arg].pack("p").unpack("q")[0]
   +return [arg.dup].pack("p").unpack("q")[0]

frozenオブジェクトを変更しようとした、ってエラーがでるので間に合わせで Rubyの添付ライブラリの方を修整。どこから frozenオブジェクトが渡されたのやら。

 追記(2006-11-01):Nativeドライバ

swigが sqlite3_api.iを基に出力する sqlite3_api_wrap.cを以下のように置換したら自分が使用している範囲では動いている。

-RSTRING()->ptr
+RSTRING_PTR()
-RSTRING()->len
+RSTRING_LEN()

2006年10月26日 (木) 翠星石のドラマCDを10回以上聞いてしまった。ローゼンメイデンのファンというわけでもないのに。