/ 最近 .rdf 追記 設定 本棚

脳log[2006-10-30~]



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回以上聞いてしまった。ローゼンメイデンのファンというわけでもないのに。


2006年10月21日 (土) 狼と香辛料の絵師が ANGEL BULLETの原画だったとは。


2006年10月20日 (金) ラヴクラフトはハーレクインの作家か詩人だと思っていた。(本当はクトゥルー神話の生みの親)


2006年10月16日 (月)

[ゲーム]聖剣伝説 LEGEND OF MANAは傑作

聖剣シリーズはゲームボーイ版しかまともにやったことがなくて、あとは聖剣2を 30分ほどプレイしたぐらい。 LOMは 1999年(7年前)発売のプレステ用ゲームだけど、イラストで構築された世界は全然陳腐化していない。

  • 絵本の中のような世界を歩き回る楽しさ。
  • ふりふりのキャラクター。(真珠姫サイコー。「おねえさま」サイコー。赤面してるよー)。嫌いなキャラは一人もいない。みんな可愛い奴ら。
  • 珠魅シナリオ良かった〜。
  • テーマ曲「Song of MANA」(ヴォーカル付。非日本語)がエンディングを素晴らしく盛り上げます。

サガフロンティア(1と2)も同じスクウェアのゲームで同様にイラストを使ってたけどあちらは戦争だとかエッグ(という敵)との戦いの歴史がメインストーリー。対して、聖剣伝説LOMのテーマは「愛」。恥ずかしー。この優しい世界を体験して損はない。

  • ランドメイクは取っつきの悪さが目立つ。その割にランドの配置によるマナレベルの変化の影響は確認しづらい。(イベントの発生条件になってるとか、敵の強さだとか、精霊の出現だとか、果物の成長速度だとか)。単純に「アーティファクト(ランドの元)の入手」を「新しいランドの出現」としても良かった。
  • 武器/防具の強化はアルティマニア必須。二周目以降向け。副原料を合成してもその影響が大抵の場合確認できないし、効果が現れても多くは条件付きなので、全く予想と計画が立てられない。因みについさっき一周目をクリアしたときの武器と防具はロリマー聖鉄(持っていた中で一番良い金属)で作成したもの。強化はしていない。
  • ペットの育成とゴーレムの製作もおまけ。だって必要がない。ペット弱すぎ。「熱血」な性格で Lv99なペットを育てられたら戦闘で主人公を操作せずともペットが勝手に終わらせてくれるかもしれないけど、それって二周目以降に趣味人がすることでしょ。

これらの要素は「マニアのやりこみにも耐える」といった感じでなく、最初からマニア向け。ライトなプレーヤーはイベントをこなすことに専念して簡単にエンディングに辿り着けてしまう。両極端なんだよなあ。もうちょっと解り易いやりこみ要素プリーズ。


2006年10月10日 (火)

[MX610] SetPointを 3.01から 3.10にアップデート

 ダメダメリスト

設定が消える
キャンセルボタンでアプリ別に設定した「キーストロークの割当」が消える。2.60から一貫してこの動作。
起動する度にメッセージボックス
起動する度に親切にも「このタスクを完了するには、アドミニストレータ特権が必要です。」(Logicool アップデート)と教えてくれるようになった。誰も自動アップデートを頼んでない(設定項目がありました。しかし OFFにしても起動の度にメッセージが出るのは変わらず)。以前は管理者でログインしたときにだけ、チェックするよって聞いてきてたのに。アホになってる。
キーボードドライバを勝手にインストール
MX610はマウスだしロジ製キーボードを使ってるわけでもない。以前はインストールするドライバをマウスかキーボードか両方か選べたのに。選択肢が無くなってる。

IMEのオン・オフ関係なく入力文字種が半角カナ固定になった。どのキーを押してこうなったかわからない。パスワード入力不可。ログインもできない。

 (追記) 答えを発見

http://support.microsoft.com/default.aspx?scid=kb;ja;415068

「かな入力」で検索してたから IMEで設定を変更する OR Alt+カタカナひらがな っていう回答しか見つからなかった。今回のは「カナキー」で検索するのが正解。Ctrl+英数 で元に戻りました。

このトラブルは三回目。ということはキーボードを叩き割りたくなったのも三回目。

 改善リスト

csrss
csrssの CPU使用率が異常に高くなる現象は 3.01同様見られない。
Ctrlキー ロック
キーストローク送信対象アプリがなくなるようなキーボードショートカット(Explorerに Ctrl+Wなど)を割り当てるとモディファイアキーが押し下げ状態のままになる現象もいつのまにかなくなってる。Firefoxでだけ起こる。(ひょっとして最初から Firefoxだけの問題だった?)

最終更新: 2009-09-18T20:39+0900

カナキーのオンオフのいやらしさ (ドライバ固有の問題かも)

Ctrl↓、英数↓、英数↑、Ctrl↑

上の手順ではカナキーをオンにすることもオフにすることもできます。

Ctrl↓、英数↓、Ctrl↑、英数↑

この手順ではカナキーをオンにすることしかできません。(すくなくともこの PCでは)

つまり、誤爆しやすく解除しづらい。モディファイアキーの押し方/放し方なんて人によって決まってそうなので、二番目の手順で操作する人に対して Ctrl+英数で解除できると教えたところで、何度やっても解除できない罠。

 追記@2008-03-18: ロジが勝手にインストールしたドライバが使えそう

  • PS/2 Keyboard (106 Keys)
  • PS/2 Keyboard (106 Keys Ctrl+Caps)

この二種類のドライバをインストールしちゃってくれていたのだけど、PS/2 Keyboard (106 Keys)の方は Ctrl+CapsLock(英数)操作を無効にしてくれるとか?

ATOKにも「キー操作でのカナロックON/OFFを無効とする」というオプションがあった。(ハマる人間が多い証拠じゃないの?*)

 追記@2009-05-03: やっぱりロジクールが悪い。

Logicool(Logitech)製キーボードドライバーの一例

PS/2 Keyboard (106 keys) ← [Ctrl]+[Shift]+[カタカナ ひらがな]
PS/2 Keyboard (106 keys Ctrl+Caps) ← [Ctrl]+[英数]

ttp://www.object.co.jp/nnn/kcv/guide.html
の「Windows でのカナ入力について」の記載を適宜読み替えてください。


設定変更された事例
Logicool(Logitech)製マウスおよびそのマウス専用のソフトを導入したところ
キーボードはソフト不要の汎用品であったのにもかかわらず
Windows純正ドライバーで [Ctrl]+[Shift]+[カタカナ ひらがな] だった設定を
Logicool(Logitech)のインストーラがPS/2 Keyboard (106 keys Ctrl+Caps)に置き換えることにより
[Ctrl]+[英数] に変更されてしまい
あとから手動でPS/2 Keyboard (106 keys) に変更して解決
といった実例があります。 

ロジクールのドライバが勝手に Ctrl+Capsにカナロックを割り当てていたんじゃないか。(試してみたら [Ctrl]+[Shift]+[カタひら]でカナロックされた。無効になっていなかった)

スペースバーの長ーいキーボードを使うことでこんな面倒とおさらばしたいけど、記号の位置が変わってしまうのだよね。

* タスクマネージャをダブルクリック、もたいがいハマる落とし穴。


2006年09月14日 (木)

[Amazon] 検索結果の情報の方が商品ページより多いってどうよ?

検索結果にはあるのに

ロリータ ウラジーミル ナボコフ、Vladimir Nabokov、若島 正 (単行本 - 2005/11)

タイトルをクリックして移動した商品ページには表示されない

ロリータ (単行本)
ウラジーミル ナボコフ

原著者と翻訳者はどこいった?


2006年09月12日 (火)

[iPod] 曲ファイルにタグを付けて分類したいな〜

プレイリストをタグと見なすと、「タグを付ける」は「プレイリストに曲を登録する」になる。プレイリスト同士を演算して積集合や和集合を求めれば、今聴きたい曲のリストが求まる、と。

I氏のつぼ で検索条件として「特定のプレイリストに含まれてること」を指定できればすぐにでも実行できるのに。更新止まってるしなぁ。

iPodのデータベースを読んで、最低限

>ipodpl -dI:\ --album-shuffle "genre:JPop & playlist:クリスマス" > %TEMP%\ipod.m3u
>mplayer2 %TEMP%\ipod.m3u

みたいなことができればいいのだけど。libipodは Linux向けみたいだし……*

あるいは、ID3v2タグの一つをスペース区切りタグリストとして使えばいいのか。検索は I氏のつぼがやってくれるし。

* ファイルを読み書きするライブラリに OSはあんまり関係ないよね。ipod_discover()が '/mnt' を決め打ちで読もうとすることと、sys/statfs.hがウチの環境に存在しなくて(それを利用する) ipod_disk_usage()が使えなくなったこと以外は無問題でした。(2006-12-27 追記)


2006年09月03日 (日)

[]3点

  • [文庫] E.ブロンテ【嵐が丘 上 (1) (新潮文庫 フ 5-1)】 新潮社
  • [文庫] グレッグ イーガン【祈りの海 (ハヤカワ文庫SF)】 早川書房
  • [単行本] 藤広 哲也【CPUは何をしているのか―シリコンチップに秘められた驚異の世界】 すばる舎

『64ビットがわかる』の延長にあるような本。フリップフロップ回路とか回路図で説明されてもさっぱりピーマンわけわかめですがね。『64ビット—』を読んで既に見覚えのある単語・トピックがいくつかあったので何とかなるんじゃないかと。


2006年08月30日 (水)

[]3点

  • [文庫] 野村 美月【”文学少女”と飢え渇く幽霊 (ファミ通文庫)】 エンターブレイン
  • [コミック] 宮野 ともちか【ゆびさきミルクティー 7 (7) (ジェッツコミックス)】 白泉社
  • [コミック] 佐々木少年【真月譚月姫 4 (4) (電撃コミックス)】 メディアワークス

レンタルサーバーでの現在のフォルダ構成

vvvvvv/
  www/
    cgi_file/
    ……
  cgi_data/

このような感じ。

  • vvvvvvがホームディレクトリ。
  • wwwは Web公開ディレクトリ。適当にディレクトリを掘って CGIスクリプトや HTMLファイルを置く。
  • www/cgi_fileには CGIスクリプトが作成した、公開ファイルを保存する。(画像とか)
  • cgi_dataには CGIスクリプトが作成した、非公開ファイルを保存する。(日記/blogのデータとか)

分類の肝は公開/非公開とアップ/ダウンロードの方向。

  • www - 公開・アップ
  • cgi_file - 公開・ダウン
  • cgi_data - 非公開・ダウン
  • (非公開・アップ なファイルはアップロードしないのでディレクトリを用意しません)

サーバーとローカルの PCを同期するときに静的なファイルはローカルの方が新しく、CGIが作成するファイルはサーバーの方が新しいので、これらのファイルが混在すると面倒くさい。フォルダで分ける。*

* ssh/scp/sftpなんかを使うとアップロードしたファイルの更新時刻を転送元と同じにできる?からフォルダを分けずともタイムスタンプを比較してアップ/ダウンを決められるんじゃなかろうか。

 サーバーに svnコマンドが置いてあれば svn commit/svn updateでローカルPCのリポジトリにアクセスして、差分だけを転送して同期できるんじゃなかろうか。


2006年08月25日 (金)

[]2点

  • [コミック] 木尾 士目【げんしけん―THE SOCIETY FOR THE STUDY OF MODERN VISUAL CULTURE (8) (アフタヌーンKC (1179))】 講談社
  • [コミック] 長沢 智, 今野 緒雪【マリア様がみてる 6 (6) (マーガレットコミックス)】 集英社

2006年08月22日 (火)

[Ruby] 1.8系でもはまる、String#split

irb(main):001:0> RUBY_VERSION
=> "1.8.4"
irb(main):002:0> '//a//b//'.split('/')
=> [, , "a", "", "b"]
irb(main):003:0> '//a//b//'.split('/', 99)
=> [, , "a", , "b", , ""]

末尾のスラッシュが無かったことに……。< Perl由来のようです

因みに 1.6系のはまりどころは splitの第一引数に 2文字以上の文字列を与えた場合、勝手に正規表現にコンパイルされてしまうところ。


2006年08月17日 (木)

今日の映画は「青い珊瑚礁」

主演はブルック・シールズ。細いまゆがもてはやされる風潮を嘆いていた人(久○田氏など)は必見ですよ。

[]3点

  • [単行本] 大原 雄介【図解 64ビットがわかる (図解 知りたい!テクノロジー)】 技術評論社
  • [コミック] 赤松 健【魔法先生ネギま! (15)】 講談社
  • コミックRIN vol.21