この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
1.9での仕様変更の話。
Symbol#sub!とかStringIO.new(:dummy, "w")とかでちょっと試してみた感じだとfreezeしたStringと同じ様な挙動になっているみたい。
どういうときにうれしくなるのかとか、この変更の影響でどういうときに困るのかがさっぱりわからない。
$_exitcodeというものがあることを知った。
コメントに書いたら改行が消えちゃったけど、以下のように./.gdbinitに書いておいたら「もし終了コードが 0 だったら終了、そうじゃなかったら、そこで停止
」ということが出来た。
「実行中に SEGV 発生だったりすると、$_exitcode は void
」の時もうまくいったけど、voidはどういう扱いなんだろう?
run
p $_exitcode
if !$_exitcode
quit
end
sylpheed.sraoss.jpが引けない環境があったので、なぜかと思って調べてみたら、sraoss.jpのwhoisに登録されているName Serverの情報が古いままで、片方は変な古いNSレコードになっているのが原因だった。
UTF-8環境でwhoisを見ると文字化けしてしまった。今まではeuc-jpな環境やcygwinとckで自動認識などで全然気にしていなかったけど、こんなところにもレガシーエンコーディング。
「普通は エスケープした HTML にするか、CDATA にいれるか、well-formed な XHTML 断片にするか、かと。
」
tdiaryはどうしているかというと、わざわざ「]]>」を「]]>」に壊して、CDATAに入れています。壊してしまうぐらいなら、素直にCGI.escapeHTMLしてしまえばいいと思うのですが、なぜかtdiaryのmakerss.rbプラグインはわざわざ壊すようにしているようです。
該当部分のソースは以下のようなになっています。
unless text.empty?
text.gsub!( /\]\]>/, ']]>' )
rdf << %Q|<content:encoded><![CDATA[#{text}|
unless @conf['makerss.comment_link']
ymd = date.strftime( "%Y%m%d" )
uri = @conf.index.dup
uri[0, 0] = @conf.base_url unless %r|^https?://|i =~ uri
uri.gsub!( %r|/\./|, '/' )
rdf << %Q|\n<p><a href="#{uri + anchor( "#{ymd}c" )}">#{ comment_new }</a></p>|
end
rdf << %Q|]]></content:encoded>\n|
end
「<![CDATA[hoge]]]]><![CDATA[>fuga]]>
」のように分割するようなことを考えるくらいなら最初からCGI.escapeHTMLだけを使う方が楽です。
ファイルサイズを気にするのなら、最初からcontent:encodedを入れなければいいような気がします。
CDATAといえば、REXMLでこういう罠にはまったことが。2007-02-20追記:つっこみがあってどうしたのかを書き忘れていたのに気づいたのですが、textではなくtexts.join("")を使えばいいという話でした。
require 'rexml/document'
doc = REXML::Document.new('<x><![CDATA[hoge]]><![CDATA[fuga]]></x>')
p doc.elements['/x'].text #=> "hoge"
TRAMPでscpだと化けないのにsshだと化けるからどうしようかと思っていたけど、「文字化けは tramp-remote-path に mimencode への path を追加して、 uuencode を使わないようにしたら直ったようだ。
」というのを見つけて、sshで入っている先のマシン(sarge)にmimencodeが含まれているmetamailパッケージをインストールしたら文字化けしなくなった。
Hashのキーは出来るだけ文字列を使った方がわかりやすいんじゃないかと思っていたけど、perldoc CGIの-で始まるキーをみると、引用符でくくる代わりに頭に1文字つけるだけというのは結構ありなんじゃないかという気がした。
Jewel-mmo 開発日記とカテゴリを合わせてみるテスト。この前コメントしようとしたらなぜか書き込めなかったので、こっちに要望とかをメモ。
/user/welcomeから/homeへmeta refreshとかでしばらくしたら自動で移動してほしい。毎回ログイン後にクリックして移動するのがちょっと面倒。
「次の試合まであと: AM4:00 に試合が行われます」という表示は変な気がする。
過去の対戦結果は見えるように出来ない? 直前のしか見えないとなんか寂しい。
「last update 0000-00-00 00:00 / revision 000.」というのは?
div class="menu"のリンクのところで今表示しているところだけ先頭が小文字なのは仕様?
テスト結果に応じてグリーンバーかレッドバーということでつけてみたけど、見にくくなったかもしれない。
_attr_styleで追加したけど、nilの時はstyle属性がつかないのかと思ったら残ってしまって、空のstyle属性がついてしまってちょっと無駄。
# まつもと 『Rubyはメンテナが数十人を越えますし、正直どうやってスケジュール立てても絶対に狂いますね。全員が「この日にリリースすべし」っていうモチベーションを持つことさえ難しい。中には結局連絡付かない人もいるし。
全部私が面倒見れるなら、話はずっとずっと簡単なんですけどねえ。』 (2006/09/09 01:20)# まつもと 『あ、そうそう。それに、リリースしようとして「もうすぐリリースなんだけど」って宣言すると、思い出したように「そういえばこういうバグがあったんだよ」って人が結構いるんですよ。
もっと早く言ってくれよーって感じ。
まあ、愚痴ばかりなんでもう止めますね。』 (2006/09/09 01:22)
✑ 「もうすぐリリースなんだけど」っていうのがダメな気がする。たとえば29日にリリースと決めたら、もうすぐというタイミングでわざわざ言う必要はないはず。
というのはメンテナが多いと無理という話のようだけど、もしかして肉の日リリースを継続できているプロジェクトはメンテナが少数のものしかない?
メールの簡易パーサでヘッダ部分をハッシュに保存するときに、キーと値を文字列にして、本文部分を(Symbolなら絶対重複しないので):bodyをキーにして保存というのをやったことがあるので、StringとSymbolが同じキーになると困るかも。
./miniruby (略)/ext/extmk.rb --dest-dir="" --make="make" --mflags="" --make-flags="" --extout=".ext" --extension --extstatic -- install cp -r ./.ext/. (略)/lib/ruby/1.8 (略)/lib/ruby/1.8/rational.rb:494: [BUG] Segmentation fault ruby 1.8.5 (2006-09-09) [i686-linux]
図1 「OK」よりも「削除する」のように具体的な表現の方が分かりやすい
とか「いいえ」と「キャンセル」の違い
とか、こういうWindowsの明らかに悪い点までWindows以外が同じ様になっていることがあるのはどうにかならないのかなあ。
ポインティングデバイスとしては、マウスと違ってひねる回転が出来るというのが大きな違いになりそう。前後移動で拡大縮小はホイールに対応すると考えるとして。
OperaでAjaxやFlashに対応と言うことは、Wii用のゲームを勝手に作るとしたらJavaScriptやFlashになる?
Wii伝言板はPCのメールともやりとりが出来ると言うことは、spamとかセキュリティ対策とかが問題になる?
リスト(やタプル)がアンパック出来るのはrubyでも同じだからいいとして、文字列もアンパックできるというのはMLやHaskellに似ている気がした。
「(特にWindowsでは)ホイールは現在マウスカーソルが入っているウィンドウをスクロールしてくれることが多い
」
最近はそうでもないようなので、Wheel Redirectorを使っている。キーボード操作を受け付けるwindowが前にあって、後ろに資料用のwindowをおいといて、フォーカスを切り替えずに資料をスクロールできるのが便利。
.fonts.confの例で「<!DOCTYPE fontconfig SYSTEM "fonts.dtd">」というのをよく見かけるけど、この回の冒頭に示した例というのと同じようにちゃんとfonts.dtdも同じフォルダにコピーするように書いているのは見たことがない。
そもそもMac OS Xのplist 0.9の"file://localhost/System/Library/DTDs/PropertyList.dtd"のように/etc/fonts/fonts.confでフルパスで/etc/fonts/fonts.dtdを指すようにするなり、glade-2.0の"http://glade.gnome.org/glade-2.0.dtd"やplist 1.0の"http://www.apple.com/DTDs/PropertyList-1.0.dtd"のようにhttpで参照出来るところにDTDをおいてそれを参照するようにすればいいのに。
0.10がリリースされたらしい。使っているのをあげるかどうかを考えるのはとりあえずtrac-jaが0.10になってからかな。
このリリースノートのSupport for spam protection
をみてAkismetというspam対策があるのを知った。
✑ 成瀬 [hoge]]>fuga は <![CDATA[hoge]]]]><![CDATA[>fuga]]> にするのが正しい..]
✑ MoonWolf [CDATA区間はネストできないので、]]>を含んでいたらescapeHTML、含んでいなければCDATAというのがい..]