〜2004年2月中旬〜
原因がわかり直ったという報告。 50個ほど間違えて流してしまったそうだが、
o 24時間以上古い記事はreject o Message-IDが重複してたらreject
の2つのフィルタがそいつらをブロックしたから問題なし。 というわけでnews gatewayがまた発狂したとしても大丈夫そうだ。
今度やらかしたらmembers onlyにするぞと脅したが、ま、許してあげよう。
様子を見てたら、 [ruby-talk:92678]が来て惨敗。fmlはquoted-printableを考慮してくれないのか。 元に戻してmultipartを保存することにしよう。
ruby-core MLでそろそろ引退させるライブラリとして
cgi-lib, getopts, importenv, parsearg
が挙がっている。まずは警告を出そうということなんだけど、 getoptsはext/extmk.rb, instruby.rb, lib/un.rbで使ってるから、 そんな簡単にコミットされては困るのである。
で、getoptlongを使ってでっちあげてたら、 optparse推奨と来てしまった。まあ、折角だから晒しとこう。
require 'getoptlong' def getopts(s, *l) opts = [] (s.scan(/.:?/) + l).each do |x| if x[-1] == ?: opts << ['-' + x[0..-2], GetoptLong::REQUIRED_ARGUMENT] else opts << ['-' + x, GetoptLong::NO_ARGUMENT] end end $OPT = {} begin GetoptLong.new(*opts).each do |name, arg| $OPT[name.sub(/^-+/, '')] = arg.empty? ? true : arg end rescue ArgumentError end end
$OPT_*とかなんだかわからない戻り値は無視。
OptionParser版も考えよう。
そしてRobert、君にはtop-postingをやめることを勧める。 あと引用記号もつけるように。あ、Yahooのweb mailerのせい?
それじゃlongのほうは全然対応してない。
require "getoptlong" def getopts(s, *l) $OPT = {} opts = [] pre = "-" (s.scan(/.:?/) + ["--"] + l).each do |x| if x == "--" pre = x else opts << [pre + x.sub(/:(.*)$/, ""), $& ? GetoptLong::REQUIRED_ARGUMENT : GetoptLong::NO_ARGUMENT] $OPT[$`] = $1 if $1 and not $1.empty? end end begin GetoptLong.new(*opts).each do |name, arg| $OPT[name.sub(/^-+/, "")] = arg end rescue ArgumentError end end
require "optparse" def getopts(s, *l) $OPT = {} opts = [] pre = "-" (s.scan(/.:?/) + ["--"] + l).each do |x| if x == "--" pre = x else opts << pre + x.sub(/:(.*)$/, " ") $OPT[$`] = $1 if $1 and not $1.empty? end end OptionParser.new do |o| opts.each do |x| o.on(x) do |val| $OPT[x.gsub(/^-+|\s+$/, "")] = val end end o.parse! end end
結局昨日作ったgetoptsを使わなかったり。
引退が決まってしまっているgetoptsではあるが、なぜだっけ?
Linux 2.4.24のsourceのtarballで試した。 元はどんなオプションで圧縮されたかわかんないので、 伸長して両方とも-9で圧縮しなおし。
% bzip2 -d linux-2.4.24.tar.bz2 % bzip2 -9c linux-2.4.24.tar >linux-2.4.24.bz2 % rzip -9 linux-2.4.24.tar % wc -c linux-2.4.24.tar.{bz2,rz} 29837818 linux-2.4.24.tar.bz2 27533029 linux-2.4.24.tar.rz 57370847 total
たしかにbzip2より圧縮率が高い。
Changes: This release adds wide-character support, screen optimization, mouse drivers, portability to various platforms (including cross-compiling), and many bugfixes.
wide-charcter対応か。でも、まだ試すのはやめとこう。
% CFLAGS=-Os CXXFLAGS=-Os ./configure --disable-dependency-tracking \ --with-shared --without-debug --without-cxx --enable-getcap \ --enable-termcap
なるほど。噂通りよくできてる。RSSかー。
% mkdir linux; cd linux % CFLAGS=-Os CXXFLAGS=-Os CC=/usr/bin/gcc ../configure \ --enable-languages=c++ --with-system-zlib \ --enable-sjlj-exceptions --enable-threads \ --disable-version-specific-runtime-libs --disable-nls \ --without-included-gettext --without-catgets --disable-shared % make CFLAGS=-Os LIBCFLAGS=-Os LIBCXXFLAGS=-Os \ STAGE1_CFLAGS=-Os BOOT_CFLAGS=-Os bootstrap % rm -rf i686* % mkdir i686-pc-linux-gnu % vi Makefile #--disable-sharedを--enable-sharedに % make CFLAGS=-Os LIBCFLAGS=-Os LIBCXXFLAGS=-Os \ STAGE1_CFLAGS=-Os BOOT_CFLAGS=-Os bootstrap
これでlib{sup,std}c++だけ共有ライブラリ化できる。
なんか増えた。
Send Subscriptions We are introducing a new feature today, Send Subscriptions. This feature makes it easy to email your Bloglines subscriptions to others. For people without Bloglines accounts, they can with one click create a new account that's populated with the subscriptions you've sent them. For existing Bloglines users, they can easily add the subscriptions you've sent them to their account.
試してみると、UTF-8のまま送られてくるけど、charsetの設定はない。 まだちょっと使えないな。
またやばめなので、早速更新。XFSも含まれてるようだ。
Bloglinesで自分の日記を見てみたくなったので、 まずは1.9に入った rssを調べた。RSS Parserだけだった。まじ?
RAAで検索すると、ぱっと見では ruby-rssがcreatingとあるので作れそうだが、RSS 0.91だけかー。んーむ。
そうなんだよね。 なぜか間違えて存在しないコマンドを実行したりすると、 プロンプトが返ってこないことがある。 zsh.exeをタスクマネージャで殺して新たにzshを起動してもだめ。
で、結局snapshotでは直っているのかどうかがよくわからん。
なんかつながらないなあ。30分後にもう一度見てみると、 工具を持ったおっさんの写真の横に
Dear Bloglines Users, The Bloglines service is undergoing a fixer-upper. We hope to be back at 11am Pacific Time. Don't worry, everything will be better when I'm done with it. The Bloglines Plumber
と出てた。寝よう。