2004-01-01 (Thu) [長年日記]
_ ndiswrapper
Centrinoの無線LANを使うために DriverLoaderを 使っていたのだが、試用ライセンスが切れたので、代りに ndiswrapperを使うことに。
以下は作業手順のメモ。
- まず、Windows用のドライバを <URL:http://vcl.vaio.sony.co.jp/download/PK-000237-02.html>から取得。 *1 /usr/local/share/ndiswrapperにPK-000237-02.exeの中身を展開。
ndiswrapperをCVSで取得。
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ndiswrapper \ login $ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ndiswrapper \ checkout ndiswrapper
install.shでインストール。
# cd ndiswrapper/ # ./install.sh
.sysと.infの場所を聞かれるので、/usr/local/share/ndiswrapper 以下のファイル名を指定する。
loadndiswrapperのインストール先は、/usr/local/sbinにした。
/etc/modules.confに
post-install ndiswrapper /usr/local/sbin/loadndisdriver 8086 1043 /lib/windrivers/w70n51.sys /lib/windrivers/w70n51.inf
のような内容を追加。(実際は一行)
自分はdebianなので、/etc/modutils/ndiswrapperというファイルに 上記の内容を記述し、update-modulesを実行した。
# update-modules
ndiswrapperモジュールをロード
# modprobe ndiswrapper
iwconfigの実行。なぜかsecurity modeがopenでないと上手く動かなかった。
# iwconfig eth1 essid <essid> key <wep_key> open
*1 自分はPCG-Z1R/Pなので。
_ アクセスポイント毎の無線LANの設定
Linuxでアクセスポイント毎に無線LANの設定の切り替えを行う方法を 解説しているサイトってなぜか見つからなかったので、自分なりに色々 試してたどりついた方法をメモ。
Linuxでは、
$ iwlist eth1 scanning
のように、iwlistでESSIDを取得することができる。 *1 これを使ってアクセスポイントのESSIDを取得して、ESSIDによって設定 を切り替えることにした。
自分はdebianなので、
#!/usr/bin/ruby iface = ARGV.shift result = `iwlist #{iface} scanning` while line = gets essid, name = line.split if /ESSID:"#{Regexp.quote(essid)}"/ =~ result puts(name) exit end end
のようなファイルを/usr/local/sbin/map-wlanに置いて、 /etc/network/interfacesに、
mapping eth1 script /usr/local/sbin/map-wlan map <自宅のESSID> eth1-home map <会社のESSID> eth1-work iface eth1-home inet dhcp wireless_essid <自宅のESSID> wireless_key <自宅のWEPキー> open iface eth1-work inet dhcp wireless_essid <会社のESSID> wireless_key <会社のWEPキー> open
のように記述した。 これで、
# ifup eth1
とした時に、アクセスポイントに応じた設定を自動的に選択することが できている。 *2
_ 餅菜
今年は子供がまだ小さいので実家(愛知県常滑市)に帰らず島根で正月を 過ごしている。
私の実家では雑煮の具には餅菜しか入れないのだが、奧さんに餅菜 というものはこのへんでは売ってないと言われた。たぶん、実家の方で はそう呼んでるけど、一般的な名称ではないんだろうな。
と思って、Googleで「もち菜」を検索してみると、
小松菜がなぜか正月頃になるともち菜と名前だけがかわるらしいが実際は不明
[お雑煮の話より引用]
という記述が。 でも、実家で食べてるのは小松菜の味じゃなかった気がする。 もっとくせがないような感じ。
同じサイトには、
もともと”もち菜”というのはおもちと小松菜だけを入れただけのお雑煮のことなんです。
もち菜=持ち名=名を持ち上げる
という縁起かつぎからその名がつきました。名古屋とその周りの地域に多いお雑煮です。
小松菜が白菜になったりほうれん草になったりしますが、それらももち菜の亜種かもしれませんね。
[お雑煮の話より引用]
という記述もあった。
つぎに「餅菜」で検索してみると、
小松菜に近い在来の菜類であるが、現在の小松菜品種に比べ、葉の色は淡い。食感は柔らかい
[餅菜より引用]
という記述が。 また、最近のスーパーでは小松菜を餅菜と称して売っていたりするらしい。
奥さんはうちの実家で食べてたのは白菜っぽいような気がすると言って いるが、ほんとのところはどうなんだろう。(明日電話してみよう。)
ちなみに、実家の雑煮は餅と餅菜しか入ってないのでとてもシンプルだと 思っていたのだが、島根では餅以外何も入ってないらしい。会社の後輩 が「島根の雑煮に何も入ってなくて衝撃を受けた」と言っていたのはそ ういうことだったのか。いくらなんでも菜っ葉くらい入っているんだろ うと思ったので、「(海老みたいな)具なんてないのが普通だよ」と返し ていたんだけど、会社に行ったら謝らなきゃ。
2004-01-02 (Fri) [長年日記]
_ redhead
昨日(あるいは大晦日だったのかも)届いていたbleuのredheadを聴いてみ る。jellyfishほど甘くはなくて、音的にはもっとシンプルな感じ。 でも、2曲目でいきなり7拍子だったり、シンプルだけどただ素直なだけ ではない。
曲が盛り上がるところでは、ときどきjellyfishを思い出してハッとする んだけど、抑えて歌う時はぜんぜん違う声質。 まだあんまり聴いてないけど、けっこう好きだな。
しかし、ショップでこのジャケットを見ていたら買わなかったかも。何 だ、このモミアゲは。
_ spam
正月休みで油断していたら、spamフォルダの未読が1600通を超えていた。
spamassassinとbsfilterを併用するようになってからspamの遮断率が上 がったけど、spamじゃないやつまでspamフォルダ行きになってそうで不安。 ほんとはspamフォルダも一応全部チェックした方がいいんだろうけど、 とても読めないや。
_ paramaterized-typeブランチ
paramaterized-typeブランチで 作業するも一向に進まず。 とりあえず、System.Typeを直接使っている部分を書き変えてるのだが、 いかんせん量が多い。いつのまにか一万行超えてたんだな。 System.Typeなんか直接使ったら後で大変そうだとは思ったんだけど、つ い手抜きしてしまったのがまずかった。
_ ndiswrapper
なぜかifupを二回実行しないとdhcpでアドレスを拾えないようだ。
2004-01-03 (Sat) [長年日記]
_ SoF'BoY
義兄が読んでた雑誌で知ったけど、何かに似てる気がする。何だろう。 車にはねられたり、犬にションベンかけられたり、かわいそうなキャラ のようだ。
しかし、オルタナティヴコミックなんてジャンル(?)があるのですね。 そういえば、前に、会社の後輩(22)がオルタナティヴロックという言葉 を知らなくて、軽くショックを受けたな。
_ 正月番組
今年の正月は喪中なのでどこにも出かけなかった。そんなわけで、ずっ とテレビを見ていたのだけど、正月番組ってこんなにしおしおだったっ け。奥さんは今年はゆっくりテレビが見られると楽しみにしていたけど、 かなりがっかりしたようだ。
2004-01-04 (Sun) [長年日記]
_ 福袋
松江のレーベルという店でベビー用品の福袋を購入。 (ほんとは内祝を買うはずだったんだけど。)
家に帰って開けてみると、タオルとかスタイとかベビーカー用のカバー とかばっかりで、奥さんが期待していたような肌着や帽子は入ってなかった。
まあ、3000円だったからいいか。
2004-01-06 (Tue) [長年日記]
_ YARV: Yet another RubyVM
[ruby-dev:22494]を見てびっくり。 まだぜんぜん中身は見てないけど、拡張ライブラリのようだ。
_ Linux 2.4.24
とりあえず、ruby-lang.orgのマシンをLinux 2.4.24にupgrade。
他にもいくつかのdebパッケージのsecurity upgradeが出てたので、
apt-get dist-upgrade
した。
_ mod_rubyとmod_autoindex
mod_rubyとmod_autoindexの組み合わせが上手く動かないケースがあるよ うで、modruby MLでパッチをもらったのでcvsにcommit。 どうもmod_autoindexのデザインに問題があるようだけど、よくわかんな いな。
_ mod_rubyとapache2.deb
Debianのapache2環境で、Makefileを修正しないとmod_rubyがビルドでき なかったので、configure.rbに--with-apr-includesを追加。
$ ./configure.rb --with-apxs=/usr/bin/apxs2 \ --with-apr-includes=/usr/include/apr-0
みたいな感じでビルドできる(と思う)。
mod_ruby-1.2をリリースしたら、libapache2-mod-rubyを用意しよう。 (mod_ruby-1.0.x系はprefork MPMじゃないと動かないので。)
_ tdiarygrepとRDスタイル
tdiarygrepを入れてみたんだけど、RDスタイルだと検索結果にinline要 素がそのまま出ちゃうみたい。hackする時間がない…。
2004-01-07 (Wed) [長年日記]
_ matz's tdiarygrep
本家にマージされないかなあ、と思ったのだけど、
プラグイン対応したい人は Matz バージョンを使ってね、ということで以上。
[あおきにっき つっこみつきより引用]
ということのようだ。残念。
関係ないけど、あおきさんの日記のタイトルって、 ずっと「あおきにっき つっこみにっき」だと思っていた。
あ、よく読んだら、
ReFe の RD タグ除去メソッドをひっつけてごまかすか。
[あおきにっき つっこみつきより引用]
という対応をしてくださっていたようだ。ありがとうございました。
うーん、どちらの版を使おうか。
_ net/imap.rb
are you still the maintainer of the ruby imap module?
[ruby imap?より引用]
というだけのメールが届いた。とりあえず、
Yes. Do you have any problem?
とだけ答えといたけど、どんな用件なんだろう…どきどき。
2004-01-08 (Thu) [長年日記]
_ ITmedia
ZDNet JAPANが変わったようだ。
_ Cとテスト
本来ならXP中なのでテストファーストを実践するべきなのだが、Cのフレー ムワークの方(もともと他の人が書いたもの)に手を入れる時はぜんぜん 実践してない。
だって面倒なんだもん。 checkとかautounitとか色々ツールはあるようだけど…。
2004-01-09 (Fri) [長年日記]
_ tdiarygrep
tdiarygrepに、 まつもとさんの拡張がマージしていただけたようだ。 いやあ、言ってみるものですね:)
と思ったけど、RDスタイルだと動かなかった。
eval("TDiary::#{style.capitalize}Section")
だとTDiary::RdSectionになってしまうので、とりあえず、
+++ grep.rb 2004-01-09 13:23:20.000000000 +0900 @@@ -644,7 +645,7 @@ def TDiaryFront.section_class(style) require "tdiary/#{style.downcase}_style.rb" - eval("TDiary::#{style.capitalize}Section") + eval("TDiary::#{style}Section") end private_class_method :section_class eval("TDiary::#{style}Section")
にしてみたけど、まだだめ。
あと、SEARCH_REULTの、
<p><%= topic.short_html %></p>
という部分でこけるようだ。
+++ grep.rb 2004-01-09 13:23:20.000000000 +0900 @@ -605,7 +606,7 @@ def short_html section = TDiaryFront.new_section(format(), @source) sprintf('%s<br>%s', - remove_tags(apply_plugins(section.subtitle)), + remove_tags(apply_plugins(section.subtitle.to_s)), remove_tags(apply_plugins(section.body).slice(/\A.{0,120}/me))) end
としたらとりあえず動いたけど、何かおかしい。
「sather」で検索したら表示はされるけどinline要素の処理がおかしい し、「tdiarygrep」で検索するとエラーになるようだ。
と、書いたそばから「sather」で検索してもエラーになるようになった。 わかった、今日の日記が検索にヒットするとエラーになるんだな。
2004-01-10 (Sat) [長年日記]
_ emacs21-gtk2
emacs21のcvsにgtk2サポートが追加されたので、とりあえずビルドして動かしてみた。
メニューしかアンチエイリアス処理されないのかな。
あと、やっぱりdebが欲しい。
2004-01-11 (Sun) [長年日記]
_ mono-debugger-0.5
コンパイラだとデバッガ使った方がラクだよな、というわけで mono-debugger-0.5 を入れてみた。
ところが起動しただけでエラー。
$ mdb bsc.exe ** ERROR **: pending init Babel.Sather.Compiler.CompositeNode aborting... ** (/usr/local/bin/Interpreter.exe:5483): WARNING **: i386-linux-ptrace.c:75: Ca n't read target memory at address 401ab5d4: そのようなプロセスはありません EXCEPTION: Mono.Debugger.InternalError: Got unknown error condition from inferio r: Unknown in <0x0015c> Mono.Debugger.Backends.PTraceInferior:handle_error (Mono.Debugger.B ackends.CommandError) in <0x00017> Mono.Debugger.Backends.PTraceInferior:check_error (Mono.Debugger.Ba ckends.CommandError) in <0x000d4> Mono.Debugger.Backends.PTraceInferior:GetBacktrace (int,Mono.Debugg er.TargetAddress) in <0x00124> Mono.Debugger.Backends.SingleSteppingEngine:frame_changed (Mono.Deb ugger.TargetAddress,int,Mono.Debugger.Backends.SingleSteppingEngine/StepOperatio n) in <0x002f0> Mono.Debugger.Backends.SingleSteppingEngine:process_child_event (Mo no.Debugger.Backends.ChildEvent,bool) in <0x00045> Mono.Debugger.Backends.SingleSteppingEngine:do_continue () in <0x0011a> Mono.Debugger.Backends.SingleSteppingEngine:process_command (Mono.D ebugger.Backends.SingleSteppingEngine/Command) in <0x00029> Mono.Debugger.Backends.SingleSteppingEngine:engine_thread_main (Mon o.Debugger.Backends.SingleSteppingEngine/Command)
やっぱprintfデバッグ(というかSystem.Console.WriteLineデバッグ)するしかないのか。
_ emacs 21.3.50
どうもしばらく使っているとキーリピートにカーソルが追随してくれな くなる。キーを離すとカーソルが一気に移動するので表示だけの問題ら しいけど、不便すぎるのでやっぱりdebに戻そうと思う。
2004-01-12 (Mon) [長年日記]
_ mono-0.29のAssembly.DefineDynamicModule()
mono-0.29のAssembly.DefineDynamicModule()で、今まで assembly.DefineDynamicModule("foo")でモジュールを生成できていた *1 のが、assembly.DefineDynamicModule("foo", "foo")のように第二引数を 指定しないと生成できなくなった。 今まで出来てたのがバグなのかも。
*1 mono-0.26のdebパッケージを使っていた。
_ System.Typeの置き換え
System.Typeの置き換え がやっと終わって、テストが通るようになった。 次は、System.Reflection.MethodInfoとかParameterInfoとか…まだまだ あるな。
_ binfmt-detector-cli
mono-0.29を手動でインストールすると、カーネルのmiscバイナリサポー ト(BINFMT_MISC)が使えなくなってしまった。
deb http://www.debianplanet.org/mono sid main
から、binfmt-detector-cliだけインストールして使えばいいらしい。
_ 買い物
SATYで買い物。結局買ったのは子供服と食料品だけ。
子供服は全部oshkoshで4着合わせて7000円以下なり。 うちって他所へのプレゼント以外はほとんどoshkoshだな。安いから。
ちなみに松江では買い物といえばSATYだったりする。 (一応、一畑百貨店というデパートもあるけど。)
2004-01-13 (Tue) [長年日記]
2004-01-15 (Thu) [長年日記]
_ 腸感冒
上の子が腸感冒になったので会社を早退して病院へ。 すごい下痢だったらしけど、とりあえず落ち着いたみたい。
_ Upgrade Virutal Hardware
VMware4にupgradeしたけど、"Upgrade Virutal Hardware"するのを忘れ ていた(というか知らなかった)。 これをしないとスナップショット機能が使えないらしい。
また、音がブチブチ切れるのが改善されるという話だったけど、あんま り変わらないな。
2004-01-18 (Sun) [長年日記]
_ 餅蒔き
会社の先輩の新居の棟上げで餅蒔きをするというので、家族で拾いに…。 8合の餅にはお金が入っていたそうだが、全部知らないおじさんが持って 行ったらしい。しかも子供が拾いかけたのを横取りして行ったようだ。 大人げないなあ。
ちなみにうちの子供はあまりの迫力に震えていた。
2004-01-21 (Wed) [長年日記]
_ Net::IMAPでclosed streamエラー
mobileimapで以下のようなエラーが出るというレポートをいただいた。
closed stream /usr/local/lib/ruby/1.8/net/imap.rb:1013:in `write' /usr/local/lib/ruby/1.8/net/imap.rb:1013:in `print' /usr/local/lib/ruby/1.8/net/imap.rb:1013:in `put_line' /usr/local/lib/ruby/1.8/net/imap.rb:986:in `send_command' /usr/local/lib/ruby/1.8/net/imap.rb:980:in `synchronize' /usr/local/lib/ruby/1.8/net/imap.rb:998:in `send_command' /usr/local/lib/ruby/1.8/net/imap.rb:311:in `logout' ...
Net::IMAPのせいではないか、ということだけど、そうに違いない。 ごめんなさい。
でも、上記のバックトレースだけでは状況がよくわからない。
Net::IMAPはスレッドを使ってるのだが、Rubyだとメイン以外のスレッド
が例外で落ちた時にデフォルトでは何もおこならい(Javaとかはどうなんだっけ)
ので、バックトレースの情報があんまり有用でないことがある(本当の問
題はバックトレースが出てくるより前の、別スレッドの挙動にあるため)。
こういう時は、Thread.abort_on_exception = true
とすると原因
がわかることが多い。
*1
*2
あと、Rubyのスレッドではまりやすいのは、Cで実装したメソッドの中で ブロックしてしまうと(関係ないスレッドもふくめて)全部の処理が止まっ てしまうことだ。 たとえば、データベースのトランザクションなんかでデッドロックに陥 ると、どうしようもなくなる。 *3
_ Changes
rubyの変更点を日本語で読みたい時は <URL:http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs> を見ればいいらしい。 *1
*1 というか、書かなきゃ。
2004-01-22 (Thu) [長年日記]
_ Net::IMAPのバグじゃないよ
Novell GroupWise Internet Agentというグループウェアでquoted stringにiso-8859-1をそのまま入れてくるらしいので対応。
<URL:http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs-2004-01-22#a230115>
ちなみに、このグループウェアはスケジュールなんかもIMAPに突っ込んで管理 しているらしい。
_ 大雪
というか、雪はたいしたことないんだけど、とにかく寒い。 最高気温-1℃って…。
2004-01-23 (Fri) [長年日記]
_ CentrinoのLinux対応
スウォープ氏によると、Intelはまず、プロプライエタリなドライバをリリースする可能性が高い。同社はその後、オープンソース版のドライバを提供する考えだという。
[Intel、「CentrinoのLinux対応」計画の大筋を示すより引用]
だそうだけど、何でプロプライエタリなんだろう。 「オープンソース版やっぱやめた」とか言わないだろうな。
_ ScalaとSoopy
どっちも{ ... }
なのですね。end
じゃなくて。
Groovyもだっけか。
やっぱりそっちの方が受け入れられやすいのかなあ。
とりあえずScalaをインストール。
インストーラがかっこいいな。
_ kawaji [いつも楽しみにしています。 オフトピな話で申し訳ないのですが、 http://shugo.net/jit/inde..]
_ shugo [すみません、output_rdf.rbを使っているんですが、設定がまずいようですね。 tdiary.confの@in..]
_ shugo [だめだったので、'http://shugo.net/jit/'にしてみました。]
_ shugo [他のところで動作がおかしくなってました。 @base_url = 'http://shugo.net/jit/'で..]
_ kawaji [ありがとうございます。 とりあえず私の使っている SharpReader では、 正しくリンクを辿れています。 お手..]
2004-01-25 (Sun) [長年日記]
_ 除雪車
朝起きたら、今度こそ本当に大雪だった。
がんばって駐車場の前の雪かきをして、いざ車を出そうと思ったら、除雪車にかきよけられた雪が車の前に…。 このへんでも除雪車が出動するような大雪はめったにない。
2004-01-28 (Wed) [長年日記]
_ 座ってオシッコする男たち(2)
リンク元を見ると各方面で反響が。
私の実家には、いわゆる小と大の2つあるので、帰省したときなど「あぁ、男だなぁ」と、妙にリラックスしてしまうのであった。住宅事情が男の。。。
[座ってオシッコする男たちより引用]
おお、私の実家もです!
だから、洋式だとなれてなくて余計に危険だったりとか…。 (あれ、実家出てから十年近く経つのにおかしいな。)
なので,家の便所にもう一つ男子用便器がほしいのだ。ぜ〜ったい付けてやる!
[座ってオシッコする私より引用]
それはそれで嫌がられそうかも…。 うちの奥さんは、新築の話とかで、トイレが1Fと2Fに一つずつあるとか 聞くと、「トイレを二回も掃除するなんて!」と癒そうな顔をしてたりし ます。
_ SL-A300のユーザとザウルスショット
SL-A300にユーザアカウントを作るとザウルスショットが動かなくなって 困っていたのだが、どうもWindowsのアカウント同名のアカウントを作る とまずいらしい。
smb.confを眺めてみたら,ザウルスドライブはゲストアカウントで繋がっているようでした。そこで,root以外のアカウントを設定するとザウルスドライブで不都合が起きる件は,windows側のログインアカウントと,SL-A300側に作成したアカウント名を別にすることでとりあえず解決しました。
[Zaurus SL-A300についてより引用]
2004-01-30 (Fri) [長年日記]
_ end を使わずにプログラミングする法
そんなに嫌わなくても…。 何でみんなendを嫌うんだろう。
- Algol(あるいはその系統の他の言語)を思い出すから。(忘れてください。)
- viで編集しにくいから。 (そんなにvi使いがいるとも思えない。 vimだったらokかも。*1)
- endという変数名が使えないから。 (最初は時々使いたいと思ったけど、今は候補に上がることすらなく なったな。)
- いろいろなものの締め切りを思い出すから。(大丈夫、きっと間に合います。)
- 死んだおじいちゃんの遺言。(それなら仕方ない。)
*1 nvi派だけど。
2004-01-31 (Sat) [長年日記]
_ ldconfig
SL-A300にzaurus-jaのrubyをインストールしたものの動かず。 どうもlibruby.so.1.8が見つからないようだ。
そこで、ldconfigを実行しようとしたら、何と入ってなかった。
<URL:http://club.h14m.org/kenji/zaurus/sla300/ldconfig_2.2.2-1_arm.ipk>
から取得して解決。
_ まつもと [tdiarygrep、わたしがハックしたものが http://www.rubyist.net/~matz/a/gre..]
_ shugo [おお、ありがとうございます。]