«前月 最新 翌月» 追記
2002|09|
2003|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|10|11|
2008|01|

ひ日誌


2003-12-01  ( ja -> en )

_ [RubyCocoa] パンサー関連開発用CVSブランチ

CVSリポジトリにパンサー関連開発用ブランチ Branch-devel-panther を作っ た。きむらさんが開発者として参加。

本日のツッコミ(全1件) [ツッコミを入れる]

_ kimuraw [コミットできるとこまで確認しました。いきなりまちがったコードいれてしまったりしていますが...]


2003-12-02  ( ja -> en )

_ 言葉の壁?質問力?

rubycocoaの英語ML で質問されたのだが、「何か問題を抱えてるらしい」という以上のことがどう もわからない。で、問い直すと英文で事細かに何かを説明したメールが返って きた。貧弱な英文読解力でざっと斜め読みしたが、長い割にどうでもいいよう なことばかり書いてあるような気がして、ますますわからなくなった。

僕はたしかに英語が苦手だ。しかし、上手に書かれているマニュアルとかの類 を読む場合、たいていは多少時間はかかってもなんとか理解することはできる。 その一方、いろんなMLなどを見ていると、日本語で書かれた質問メールなどで、 表現がまずいとか問題分析力がなさすぎるなどで、理解不可能なことも多い。

対象が英文の場合、自分の英文読解力がネックなのか、もとのメールを書いた 人の表現力・分析力がネックなのか、判別しにくいから困る。

今回の場合、 このメール とその続き(まだWEBでは見られない模様)のメールの表現力と分析力もかなり のネックになってるような気がしないでもないのだがどうだろう。

逆に、これと直接関係はないが、僕が書いたRubyCocoaの英文ドキュメントも、 いろいろと混乱を誘発しているのはまちがいない。かなり前のことになるが Slashdotでこんなこと もあった。こんときは「grammar naziとかそんなこと言われても苦手なもんは 苦手なんだからしょーがねーよ」と思ったもんだ。

いずれにせよ。質問するときは、自然言語を問わず、問題のコードを散りばめ るとか手順を箇条書にするとか、回答者のためにできる範囲の配慮はした方が お互いのためになるだろう。

本日のツッコミ(全2件) [ツッコミを入れる]

_ kimuraw [僕もあのメールさっぱりわかりませんでした。現象だけから予想すると、アプリケーションへのパスが空白を含むときにrb_m..]

_ hisa [ありゃりゃ、rb_main.rbにそんな問題があるとは知りませんでした。ちゃんと動くrb_main.rb をまるごと..]


2003-12-05  ( ja -> en )

_ [tempura] 「tempura へ template から Tempura::default_action メソッドへ値を渡すが方法が分からない」

五月雨の拡張より

リンク時にリダイレクトを行うためのCGIのURIを定義します。現段階では 
tempura へ template から Tempura::default_action メソッドへ値を渡す
方法が分からないため、generate_output(data) メソッドを直接編集してい
ます。

こちらの日記も参照。

うちの アンテナ を少し前の最新版の五月雨に更新。tempura を使うように
なっているので、html template は全く変わっている。後で wiki も更新し
ておこう。しかし default_action の渡し方は結局分からず、source を微
妙にいじってしまった。tempura 的にも出来ないとおかしい気がするのだが。

まちがいなく作った本人よりも使い込んでいる。善処しなきゃ。「テンプレー トの_event_属性の引数あたりでactionを指定したい」という解釈であってる のかな?


2003-12-06  ( ja -> en )

_ [RubyCocoa] sourceforge.jpにRubyCocoaプロジェクト

RubyCocoaのページを sourceforge.net でHiki化しようなどと考え..試してみたら、cgiでrubyが使えねーようになっ てる模様。サポートと英語でメールのやりとりとするのも面倒だしなぁ。

それじゃこっちらならどうだろうかってことで、今さらながら sourceforge.jp にユーザ登録。hisaアカウントとれず。さっさと登録しておくべきだった。 で、RubyCocoaプロジェクトを登録。cgiでrubyが使えるかどうかはまだ未確認。

_ [雑記] tDiaryの検索の設定とか

試しがてらこの日誌のtDiaryの検索の設定。namazuはおおげさな気もするが、 他の方法がわからなかったので。HikiもCVSプランチから取って来たやつでRD スタイルが使えるようになった。

_ [雑記] インターネットラジオ - 気になった曲など

よく聞いてる昔の洋楽が流れてるインターネットラジオ。Aretha Franklin の Thinkがかかったので思わずメモ。Blues Brothers*1以 外のバージョンを初めて聞いた。50-60年代音楽はパソコンに付けてる安っぽ いスピーカーとよくマッチしてるような気がする。

それから気になったのが、「Fire」って歌い出しで始まるチープなオルガンが メインでギターなしブラスありの曲。ときどき流れてる。 Nice時代のエマーソン*2 テイストが漂ってるような。つーかナイスか、これ?

それはそうと、どこかで曲名とかがわかるはずなんだが失念。プレーヤー (xmmsというやつ)で曲名だしてくれればいいのになあ。できそうなもんなのに どうやればいいのかわからん。

*1  お気に入りの映画

*2  日誌に書くのはちょっと恥ずかしいが元プログレオタ

本日のツッコミ(全2件) [ツッコミを入れる]

_ kimuraw [sf.jpのほうはruby使えると思います。半年くらい前のUNIX USER誌でAsWikiを導入するって記事があり..]

_ hisa [おっ、それはよかった。sf.netはshellでは使えるんだけど、cgiだとだめなんですよね。perlやpython..]


2003-12-08  ( ja -> en )

_ [tips] sourceforge.jpがssh接続を拒否→解決

slogin しようとしても

Permission denied (publickey,keyboard-interactive).

となり拒否されてしまう。いろいろ調べて、あれこれためしたが繋げない。と 思ったらここで 解決方法を発見。

slogin hoge@shell.sourceforge.jp
slogin -l hoge shell.sourceforge.jp

なんだ、アカウント名が違ってただけじゃん、トホホ。だけど、このエラーメッ セージじゃこんな原因とは気づかないよ。hisaアカウントを取り逃したのが敗因。

_ [雑記][tips] sourceforge.jp 好印象

sourceforge.net はとてもわかりにくくて使いにくいという印象ができあがっ ていたが、sourceforge.jp は今のところ思っていたよりも相対的に使いやす い感じで好印象。どちらもドキュメントが探しにくいような気がするが、それ でも日本語で読める分だけ探しやすい。

sf.netは.htaccessでOptionsが書き換え可能だったので、やってみたらsf.jp ではダメ。ドキュメントを読んでみたら.htaccess は使えるがOptionsは使え ない仕様らしい。cgi-binに置いたcgiは動く。rubyによるcgiの動作も確認。

_ [tempura] 名前がかぶってる

sourceforge.jpをうろついてたら、てんぷら を見つけてしまった。名前がかぶってる。ジャンルも近そうだし。こりゃ別名 を考えなきゃいかんか?気に入りつつあったのになぁ。他の名前なんか思いつかね。


2003-12-09  ( ja -> en )

_ [rubycocoa][osx] 「いじっているうちにruby自体を修正する事態になっちゃいました。」

いじっているうちにruby自体を修正する事態になっちゃいました。

 * SDL拡張を使いたい

  o ->そのためには Cocoaアプリとして動かす必要がありそうだ

   + ->じゃあ Cocoaアプリとして動作する rubyが欲しい

...

MacPythonを真似して cocoa初期化後にrubyインタプリタを起動する 「rubyw」というコマンドを作ることで実現しました。この方法が正しいともエレガントだとも言うことは出来ませんが、Ruby/SDLがMac OS Xで動作することを実証できた点では価値があると思います。

もう一方の方法である RubyCocoaを使ったアプローチはまだ成功していません。

[Ruby/SDL on Mac OS Xより引用]

なんだろう? RBRuntime.m の RBApplicationMain:

int
RBApplicationMain(const char* rb_main_name, int argc, const char* argv[])
{
  int ruby_argc;
  const char** ruby_argv;

  ruby_argc = prepare_argv(argc, argv, rb_main_name, &ruby_argv);

  ruby_init();
  ruby_options(ruby_argc, (char**) ruby_argv);
  RBRubyCocoaInit();
  load_path_unshift(resource_path()); // add a ruby part of oneself to $LOAD_PATH
  ruby_run();
  return 0;
}

あたりとは違うのかな?あるいは「イベントループ回るあいだスレッド切り替 わらない」問題のことかもしれない。SDL拡張の「拡張」って何だろう、単な るライブラリじゃないSDLのMac OS Sフレームワークがあるのかな?

とまあ、気になるので時間ができたらチェック。


2003-12-10  ( ja -> en )

_ [rubycocoa] The Cookietizer: My First Cocoa App - Ed Heilさんのblogより

RubyCocoaでSafariのCookieを扱うアプリケーションを書いた感想が 書いてあった。意訳*1してみた。

初めてCocoaアプリを作った。RubyCocoaを使っている。RubyCocoaフレームワークをアプリ自身に含めているので、標準的にインストールされたOSXで動かすことができるはずだ(おそらくJaguar以降のOSXが必要)。

なぜ?って。Cocoa(訳注:Objective-Cのことか?)のかわりにRubyで書いたら、簡単に書けるだろうと考えたんだ。自分が欲しかった重要な機能 - ホスト名を前後反転(例えばcom.apple.www,com.apple.www2)してからソートすること - をRuby で書くのは簡単だった(one-linerを書くのとたいして変わらない)。

しかしマイナス面も。FoundationフレームワークのPlist読み書きクラスを、Rubyで使うことがどうしてもできなかった。そして、独自のPlist読み書きコードをRubyでハックすることに多くの時間を費すことになった(もちろんここでの「多くの」は相対的に見てのことだ。RubyでPlist読み書きクラスを書くのはかなり簡単で、Rubyの柔軟性を実感した)。ネイティブのものを動作させる手段もあったのかもしれないが、難しそうだったのでそれはあきらめた。おそらく私の実装したものは、ネイティブクラスを使った場合と比べて、100%UTF8-cleanではないだろう。しかし私にとっては問題なく動く。

ネイティブクラスを使えるメリットもあるし、結果としてObjective-C を学びたくなった。やはりメモリ管理の問題は心配だが、少なくともObjective-Cのオブジェクトを使っている限り、Cの場合とは違う。

[The Cookietizer: My First Cocoa App - Ed Heilさんのblogよりより引用]

*1  間違ってたらごめん


2003-12-18  ( ja -> en )

_ [linux] i2c-2.7.0 と lm_sensors-2.7.0 の無理矢理インストール

作業マシンの ASUS Terminator TU (SIS630) と、ひそかに5000円で購入し環 境整備中の Terminator P4 (SIS650/961) で、温度をモニターするために lm_sensorsを導入しようかと思った。両方ともVineLinux 2.6r3。

ドキュメントによるとlm_sensors-2.8.2 は、i2cの構造が変わったとかでbttv といっしょに使うのが大変そう。そこで lm_sensors-2.7.0 を使うためにその 場しのぎの小細工をあれこれやった、その記録。 「稼動状況をモニタする MB温度からCPU使用率まで」 を参考にした。

i2c-2.7.0 の仮インストール

$ cd i2c-2.7.0/
$ make
$ make -n install   # どうインストールされるのかチェック
$ sudo make install

これで ドライバは /lib/modules/misc/ 以下に、ヘッダーは /usr/local/include/linux以下にインストールされた。さらに小細工。

$ cd /lib/modules/misc
$ sudo mkdir -p kernel/drivers/i2c
$ sudo mv *.o kernel/drivers/i2c/

lm_sensors-2.7.0 の仮インストール

$ cd lm_sensors-2.7.0/
$ make
$ make -n install   # どうインストールされるのかチェック

このままインストールすると、i2cとsensorsに入れるものがmiscで混ざってし まうので、 make -n install の出力を手動で分割実行。

$ # i2c追加ドライバをmiscにインストール
$ cd /lib/modules/misc
$ sudo mv *.o kernel/drivers/i2c/

さらに

$ # sensorsドライバをmiscにインストール
$ cd /lib/modules/misc
$ sudo mkdir -p kernel/drivers/sensors
$ sudo mv *.o kernel/drivers/sensors/

としてのこりは手を抜いて sudo make install でインストール。 lm_sensorsのコマンド、ライブラリ、設定ファイルなどが

  • /etc/sensors.conf
  • /usr/local/lib/libsensors.a
  • /usr/local/lib/libsensors.so
  • /usr/local/lib/libsensors.so.1
  • /usr/local/lib/libsensors.so.1.3.0
  • /usr/local/bin/sensors
  • /usr/local/sbin/dmidecode
  • /usr/local/sbin/i2cdetect
  • /usr/local/sbin/i2cdump
  • /usr/local/sbin/i2cset
  • /usr/local/sbin/isadump
  • /usr/local/sbin/sensors-detect
  • /usr/local/include/linux/*
  • /usr/local/man/*

にインストールされた。

kernelパッケージ付属のものと置き換え

kernel-2.4.22-0vl2.8 パッケージ付属のi2cとlm_sensorsを、2.7.0のものと 置きかえた。

$ cd /lib/modules/2.4.22-0vl2.8/kernel/drivers/
$ sudo mv i2c i2c-2.4.22-0vl2.8
$ sudo mv sensors sensors-2.4.22-0vl2.8
$ sudo ln -s /lib/modules/misc/kernel/drivers/i2c
$ sudo ln -s /lib/modules/misc/kernel/drivers/sensors

こんなんで大丈夫なのか? depmod -a してみる。案の定

depmod: symlink to directory is not allowed, i2c ignored
depmod: symlink to directory is not allowed, sensors ignored

とか

depmod: /lib/modules/2.4.22-0vl2.8/kernel/drivers/i2c-2.4.22-0vl2.8.tgz is not an ELF file
depmod: /lib/modules/2.4.22-0vl2.8/kernel/drivers/sensors-2.4.22-0vl2.8.tgz is not an ELF file

などと怒られた。どうやら手を抜きすぎたらしい。素直に修正。

$ cd /lib/modules/2.4.22-0vl2.8/kernel/drivers
$ sudo tar zcf HOGEHOGE/i2c-2.4.22-0vl2.8.tgz i2c-2.4.22-0vl2.8/         # もともとのi2cをバックアップ
$ sudo tar zcf HOGEHOGE/sensors-2.4.22-0vl2.8.tgz sensors-2.4.22-0vl2.8/ # もともとのsensorsをバックアップ
$ sudo rm -f i2c sensors  # symlink削除
$ sudo mv /lib/modules/misc/kernel/drivers/i2c i2c-2.7.0
$ sudo mv /lib/modules/misc/kernel/drivers/sensors sensors-2.7.0
$ cd /lib/modules
$ sudo rm -rf misc

これでもう大丈夫じゃなかろうか。再度 depmod -a 。今度はうまくいっ た模様。

sensors-detectを実行

/etc/sysconfig/lm_sensors ができる。

システム起動時に初期化したかったら prog/init/lm_sensors.init を /etc/init.d/lm_sensors として置くといいよとお奨めされた。

あとは、 「稼動状況をモニタする MB温度からCPU使用率まで」 をそのまま模倣。参考ベージのとおりsis5595が誤認識されているので /etc/sysconfig/lm_sensors から削除し、module.conf にオプションを指定。 seonsors.confを修正して動作確認。ちゃんと動いた。マザーボードの温度高い(苦笑)。

eeprom-i2c-0-50
Adapter: bt848 #0
  (中略)
it87-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore 1:   +0.83 V  (min =  +1.53 V, max =  +1.87 V)   ALARM
VCore 2:   +1.12 V  (min =  +2.25 V, max =  +2.75 V)   ALARM
+3.3V:     +3.06 V  (min =  +2.96 V, max =  +3.60 V)   
+5V:       +1.71 V  (min =  +4.50 V, max =  +5.48 V)   ALARM
+12V:      +2.40 V  (min = +11.36 V, max = +13.80 V)   ALARM
3.3 Stdby:-18.69 V  (min = -15.86 V, max = -13.40 V)   ALARM
-12V:      -8.95 V  (min = -12.80 V, max = -11.98 V)   ALARM
Stdby:     +1.95 V  (min =  +4.50 V, max =  +5.48 V)   ALARM
VBat:      +1.37 V
fan1:        0 RPM  (min = 3000 RPM, div = 2)          
MB Temp:     +60庵  (min =  +20庵, max =  +60庵) 
CPU Temp:    +41庵  (min =  +20庵, max =  +60庵) 

MBの温度高すぎないか?しかも庵って何だよ、てのはともかく。ファンが1つ しか表示されてない。0 RPM なので ファンレスのCPUファンのセンサーか?修 正してみた。しかしなぜか全部 0 RPM。 さてBIOSでの温度表示をみると

  • CPU : 52度
  • 電源 : 41度

ASUSProbeでも同じ。lm_sensorだけ違う。入れ替わってる?と思いつつそろそ ろ疲れたので保留。

本日のツッコミ(全2件) [ツッコミを入れる]

_ tadachi [リンクありがとうございます. 「稼動状況をモニタする MB温度からCPU使用率まで」ですが,内容に誤りがありまして,..]

_ hisa [連絡どうもです。確認してみます。]


2003-12-27  ( ja -> en )

_ [linux][ruby][v4l] ruby で video4linux (v4l) を叩いてみたが・・

VIDEO_DEV = "/dev/video"
VIDIOCGCAP = 0x803c7601
cap = [  "", 1, 2, 3, 4, 5, 6, 7 ].pack("a32i7")
p cap.size
File.open(VIDEO_DEV, File::RDONLY) do |fd|
  fd.ioctl(VIDIOCGCAP, cap)
end
p cap.size
cap = cap.unpack("A32i7")
p cap

結果:

60
257
["BT878(GV-BCTV5/PCI)\000s\000\000\000`6\v\327`B\213\326", 235, 3, 1, 768, 480, 48, 32]

なんでサイズが変わるんだろう?


2003-12-30  ( ja -> en )

_ [linux] ELECOM のゲームパッドを導入

突然昔のゲーム - トルネコ、風来のシレンといったrogueライクもの - がや りたくなり、snes9x というスーファミ (SFC)のエミュレータをインストール。ゲームをやり始めると、キーボードが 壊れそうで心配になってきた。そこでゲームパッドを導入してみることにした。

近所のPC量販店で物色。デカすぎるモデルが多い中、コンパクトで値段も安かっ たELECOMのJC-U812WHというパッドを購入。

USBポートに突っ込んだだけでは使えなかった。そこでちょこちょこ調べる。 dmesgあるいはusbmgrのdump_usbdevコマンドを使うとVENDOR IDなどがわかる。 それをもとにmurasakiの設定ファイル murasaki.usbmap に以下を追加:

# JC-U812 [Elecom]
joydev 0x0003 0x995 0x14 0x0 0x0 0x0 0x0 0x0 0x00 0x00 0x00 0x00000000

murasakiを再起動して /dev/input/js0 が使えるようになった。vineの joystickというrpmパッケージを入れるとjstestというコマンドを使ってどれ がどのボタンだか確認できる。

usbmgrでも設定してみたがそちらでは動かなかった。つーかmurasakiとusbmgr の両方が動いているのがまちがってるのか?このふたつの関係は謎のまま。


«前月 最新 翌月» 追記