〜2004年10月下旬〜
Changes:
Better mirror -R completion has been added. An upload retry corruption bug and a rare core dump in parallel mirror have been fixed. This release will not retry the wrong password in the fish and SFTP protocols.
なにげなくinfo gawkを読んでたらこんなものを発見。
Beginning with `gawk' 3.1, it is possible to add new built-in functions to `gawk' using dynamically loaded libraries. This facility is available on systems (such as GNU/Linux) that support the `dlopen' and `dlsym' functions. This minor node describes how to write and use dynamically loaded extensions for `gawk'. Experience with programming in C or C++ is necessary when reading this minor node.
dlloadという名前の関数を作っておいてmake_builtinで登録という感じらしい。
NODE * dlload(tree, dl) NODE *tree; void *dl; { make_builtin("chdir", do_chdir, 1); make_builtin("stat", do_stat, 2); return tmp_number((AWKNUM) 0); }
使うときは
extension("./filefuncs.so", "dlload")
のようにロードすればchdir, statが普通の関数と同じように使える。 なかなか面白い。
Rubyの拡張ライブラリのエントリ関数名はファイル名から決められるが、Init_fooである必要はあまりない気がしてきた。 決め打ちでInitだけで十分というか、もうちょっと長くしてInit_ruby固定にしちゃうとか。 ユニークな名前にしなくても呼べるよね、たぶん。 こうすればcase insensitiveなファイルシステムでも気にしなくてすむ。
なんてことをgawkのinfoを読んでて突如思いついた。
Changes:
This release has some minor new features; RFC 3397 support, better CNAME caching, and a few more flexible options. It fixes an interaction with Linux kernels after 2.4.19 or so, where receiving a UDP packet with a bad checksum can cause dnsmasq to hang. It also fixes a bad interaction with the Polipo Web cache. Compilation under OpenBSD works again, and the NetBSD configuration has been updated.
ERBで<%...%>を%<...%>と書いてしまい勝ちなのはなぜだろう? そんなことをするやつはおいらだけか。
Changes:
This release fixes a number of bugs, and improves performance when listing files in a repository.
こんなに続く余震は初めてだ。原先生のとこは大丈夫だろうか? bladeがつながらないだけに心配。
rpa-baseのスクリーンショットが面白いとなひさんが言ってたので見に行ってみると確かに面白い。 これってどうやって作ってるのかと今月分のruby-talkを探してみると [ruby-talk:115567]が見つかった。 なるほど。ImageMagickのimportでMIFFファイルを作って、 convertでアニメーションGIFに変換するわけか。
これを手でやるのは大変だよねえ。 x11rec のようにするしかないのかなあ。
と思ったら Xvidcapを使えばいいらしい。
% xvidcap --compress 5 --file 'out-%02d.png' 赤いRECボタンを押して保存 % convert --delay 20 *.png foo.gif # アニメーションGIF % convert --delay 20 *.png foo.mng # MNG
という感じかな。 Making Screen-Capture Movies に書かれている方法やx11recのようにxwdファイルだと、 80x24のktermでも1MBを越えるからディスクの残り容量がちょっと心配になる。 PNGなら20KBほどだから問題なし。
でもMNGに比較するとアニメーションGIFは大きいな。 top d 0.2を3秒間録画したものだと
% ls -l top.* -rw-r--r-- 1 watanabe ruby 4492947 Oct 24 23:47 top.gif -rw-r--r-- 1 watanabe ruby 381062 Oct 24 23:48 top.mng
こんなに違う。しかし3秒(30フレーム)でこのサイズというのもちょっとなあ。
ttyrecで録画したものをJavaScriptで再生というのはどうだろう? いやできるかどうかは知らないんだけど。
なぜ毎回毎回こんなに長引くんだ?うっとうしいことこの上ない。
50位に入ったのはトップページだけど、 参加表明タグは10/19にしかないので実際の順位は実はもっと低いという罠。 トップページにも入れたほうがよさげです。
おお、素晴らしい。
ruby-talk MLを見てるとたまに#{{{, #}}}でmarkingされたスクリプトに出逢う。 これはvimで意味があるようで、 [ruby-talk:114884]によると
set foldmethod=marker set commentstring=#%s
とすることで使えるらしい。たとえば
class Foo def foo end end
の4行をshift-vで選んでz-fすると
class Foo#{{{ def foo end end#}}}
となり、z-cすれば
+-- 4 lines: class Foo-----------
とfoldされる。z-oで開く。z-dで#{{{, #}}}のmarkingの削除。
コードを読んでてコメントがうっとうしいと感じるときは
set foldmethod=expr set foldexpr=getline(v:lnum)=~'^\\s*#'
あたりがよさそう。ってこれは1年前のircのログなんだけど。
やはりクリスマスらしい。
やっとメールサーバ増強かー。これでメールの遅延も解消されるといいんだが。
最近よく見るけどなんだかわからん単語。
Completely Automated Public Turing Test To Tell Computers and Humans Apart
ってTが多過ぎる気がしないでもない。 RubyGardenのWikiでもspamがかなり問題になってるらしい。 なにしろruby-talkで巨大なスレッドになるくらいだから、相当なもんなんだろう。 で、その中の話題に画像じゃなくてAscii ArtでCAPTCHAなんてのがあって、 そういえばbannerなんてプログラムがあったよなと思い出にふける。
あ、/usr/games/bannerを発見。ちゃんとあるじゃん。
## ## # ## ### ############################################## ################################################ ################################################## ################################################### ###################################################### ## ## ##
そうか。90度寝てしまうんだった。なつかしい。
ま、まじでCSS?
ネットワークトラブルかなにかよくわからないけど、pingするとwrong data byteとか言われてたりで、かなり調子悪い。 load averageはほとんど0なので、なにかが暴走してるわけでもないようだ。
日記を更新するのも一苦労。
NEWSを見ると変更は以下の通り。
Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e:
- Fix race condition in CRL checking code.
- Fixes to PKCS#7 (S/MIME) code.
RubyForgeでBTSが再開。 プロジェクト名はそのまま Rubyってことで。 これってmailでのインタフェースはないのかな? だとすればRSS Feedが欲しいところだ。
RubyGardenで再開。 最新版は http://www.rubygarden.org/ruby?RubyNews/2004-10-18 らしいけど、 http://www.rubygarden.org/ruby?RubyNews からどうやったらそこにたどりつく?
あれ?そういえば先週のRuby Quizはどうしたんだろう?
一応設定したので、ruby-coreへそのうち流れるでしょう。
気づくと最近メールが全然出ていってない。 mailqしてみると25日からたまってる。 postfixの設定を変えた覚えはないしなにが悪いんだろう? 試しにnullmailerを使ってみるとちゃんと出て行く。 うーむ。まあ、postfixはfmlを試すのにちょっと入れただけなので、nullmailerに戻すか。 ちょっといいつつももう 1年経つわけだが。
これで、utf-8の扱いが楽になる。
元々のSubjectは
Re: Rounding error, (100.0 * 9.95).to_i == 994
なんだけど、一体全体なにが起こると、*が展開されてこんなSubjectになるんだろう? ファイル名がばればれになるというのも、 ちょっと恥ずかしかったりするもんだろうかと思ってみたり。
いえいえ、openにも"wb"はあります。
これらのいずれに対しても "b" フラグを("r+b"のように)つけることができます(整 数なら File::BINARY)。この場合、バイナリモードでオープンします(ただし、シス テムがテキスト/バイナリでファイルを区別する場合に限ります)
そんなにtrue?が好きならなぜt.true?の結果もtrue?で見ないのか? t.true?.true?.true?...のように延々続く。 昔から言われてるありふれた話ではあるが。
Changes:
A bug that let bogofilter crash inside its RFC-2047 (MIME header) decoder has been fixed. A subtle buffer handling bug that could lose output data on some operating systems has been fixed. The exit code on write errors in passthrough mode has been corrected to match the documentation. OS/2 compatibility fixes were made. An abort in bogotune -D has been fixed. Several documentation and option handling improvements have been made.
今回はふと思いついてC-r =qdbmしてヒストリを呼び出したので--with-database=qdbmを忘れなかった。
最近のBashだとコマンドラインで使っていても、デフォルトで#がコメントを意味するので結構はまる人がいるらしい。 コマンドラインでコメントをつけて何がうれしいんだと思っていたが、 ヒストリにコメントがつけられると考えればいいわけか。 上記のようにconfigureとかやたらと多くの引数を与えるやつにコメントを残しておくと、 あとで探しやすくなる。 つまり、
% CFLAGS=-Os CXXFLAGS=-Os ./configure --disable-nls \ --disable-dependency-tracking --with-database=qdbm ;: bogofilter
てな感じにしておけば、C-r : bogoぐらいで呼び出せるようになる。 zshの場合は#が別の意味(glob)を持っているので、;:で代用してみた。 しばらく続けてみよう。
交互に背景色を変えてみた。
Gmailの日本語の扱いはほとんど使いものにならないくらいひどい。 SubjectもUTF-8のQ-encodingだし。 で、先日Rubyにインポートされたnkf2はこれがサポートされてなかったので、勝手に追加してみた。 これで、 tdiary-devel ML のたださんのメールのSubjectも読めるようになった。
locate tetrisしたら、zshのfunctionsにtetrisを発見。
% autoload -U tetris; zle -N tetris % M-x tetris | | Score: 0 | ** | | ** | Game parameters: 11x20, 2.5Hz | **** | | | Keys: left: a j | | rotate: s k | | right: d l | | drop: space | ()() | quit: q | () | | ()()() () | | () () () ()| | ()()()()()()()()| | ()()()() ()()| | ()()()()() ()| |()()()()()()() () ()| |()()()()()()()()() ()| |()()()()() () ()| | ()()()()()()()()()()| |()()()()()() () ()()| +----------------------+
まさか本当に動くとは。