zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|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|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2008年04月01日(Tue)

[ruby] オプションいろいろ

現状の1.9でenableやdisableに指定できるのはall,gems,rubyoptの3種類。 gemsがどっちだったかはGem::Enableで確認可能。

 % ruby-trunk -ve 'p Gem::Enable'
 ruby 1.9.0 (2008-04-01 revision 15877) [i686-linux]
 true
 % ruby-trunk --disable-gems -e 'p Gem::Enable'
 false
 % ruby-trunk --disable=gems -e 'p Gem::Enable'
 false
 % ruby-trunk --disable gems -e 'p Gem::Enable'
 false

RUBYOPTに--verboseとかを入れようとしたらうまくいかなかった。 そして、1.9と1.8で挙動が違う。

 % env RUBYOPT=-verbose ruby-trunk -e 'p $VERBOSE'
 ruby 1.9.0 (2008-04-01 revision 15877) [i686-linux]
 true
 -e:2:in `<main>': undefined local variable or method `rbose' for main:Object (NameError)
 % env RUBYOPT=--verbose ruby18 -e 'p $VERBOSE'
 ruby18: illegal switch in RUBYOPT: -- (RuntimeError)
 % env RUBYOPT=-verbose ruby18 -e 'p $VERBOSE'
 false
 % env RUBYOPT=verbose ruby18 -e 'p $VERBOSE'
 false
 %

2008年04月02日(Wed)

[ruby] SymbolとSecurityError

[ruby-dev:34219]をみて、[ruby-dev:30575]の後半の話を思い出した。


2008年04月12日(Sat)

[vmware] Host Power Management Causes Problems with Guest Timekeeping (Windows Hosts)

VM起動時に毎回出ていたのを無視していたけど気が向いたので「C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstation\config.ini」に以下の設定を追加した。host.cpukHzはCPUが「Genuine Intel(R) CPU T2300 @ 1.66GHz」なので"1660000"にしてみた。

 host.cpukHz = "1660000"
 host.noTSC = "TRUE"
 ptsc.noTSC = "TRUE"

2008年04月13日(Sun)

[debian][linux] miredo

Teredo 実装のmiredoを入れてみたら、簡単にwww.kame.netの踊る亀が見えるようになった。

iptablesで制限しているとつながらなかったが、/etc/miredo.confのBindPortを有効にして(デフォルトの設定のままだとポートが固定されていないので)そのポートのUDPを許可すればつながった。

 つながらなかったときのログ:
 miredo[28738]: Starting...
 kernel: ADDRCONF(NETDEV_CHANGE): teredo: link becomes ready
 miredo[28739]: No reply from Teredo server
 つながったときのログ:
 miredo[28543]: Starting...
 kernel: ADDRCONF(NETDEV_CHANGE): teredo: link becomes ready
 miredo[28544]: Qualified (NAT type: restricted)
 miredo[28544]: New Teredo address/MTU
 miredo[28544]: Teredo pseudo-tunnel started
 miredo[28544]:  (address: 2001:0:53aa:64c:0:xxxx:xxxx:xxxx,MTU: 1280)
 kernel: teredo: Disabled Privacy Extensions
 kernel: teredo: no IPv6 routers present

2008年04月15日(Tue)

[ruby] [ruby-dev:34417] Ruby 1.8.7-preview1 has been released

要望をたくさん追加したので、backport出来そうだったものはbackportを手伝ってみました。 Proc#curryは入るとうれしい人もいるかなと思ったんですが、後でまだ変更が入っていたのをみると、やっぱりいらない気がしました。

それから「Symbol#to_proc」のbackportが不十分でrailsコマンドが動かないのは既知のバグです。


2008年04月21日(Mon)

[ruby] Re: rubyneko - Ruby 1.9.0のinstance_evalの予想外の挙動

それtapで(ry。

1.8だとinstance_evalでtapみたいなことができるというのは知らなかった。

[ruby] Re: rubyのuniqがun*xのそれと動きが違う件 - 計算機と戯れる日々

Array#uniqとUnix系OSのuniqの挙動が違う件 - ’(rubikitch wanna be (a . lisper))経由。

uniqコマンドに相当するのはsqueezeではないかと思ったけど、StringにはあってもArrayにはなかった。


2008年04月27日(Sun)

[ruby] 1.8.7とrails

なんとなくruby_1_8を最新にしてしまったら、rails 2.0.2が動かなくなってしまった。

ある程度調べたら原因が絞り込めたので、[ruby-dev:34532]で報告しておいた。


2008年04月28日(Mon)

[ruby] Re: 日付のRangeを週に切り出すスクリプト - はこべにっき#

1.8.7以降なら(group_byのところが1.8.7以降)こんな感じ?

 def gen_week(range)
   h = range.group_by{|x|(x+1).cweek}
   h.keys.sort.map{|k|h[k].first..h[k].last}
 end

(x+1)のところをxにすればテストが通るようになるけど、上のこうしたいと書いてあるところをみると日曜は後ろの方に入ってほしいように見えるのでx+1のままにしてみた。


2008年04月29日(Tue)

[ruby] Re: ERB では '<%% %%>' が '<% %>' になる

Rubyist Magazine - 標準添付ライブラリ紹介 【第 10 回】 ERBで書いたようにeRubyの仕様だから、erubyでも使えるはず。

CDATAに「]]>」が含められない(一度CDATAを抜けるのはDOMが変わるので含められるとは言わない)ような、そもそもちゃんとエスケープが用意されてないようなだめな仕様ではない。(CDATAは本来用途が違うのでCDATAがだめ仕様というわけではないはず。)


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73