Just another Ruby porter,

〜2004年2月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2004-02-11 (Wed)

[Mail] ruby-talk news gateway

原因がわかり直ったという報告。 50個ほど間違えて流してしまったそうだが、

o 24時間以上古い記事はreject
o Message-IDが重複してたらreject

の2つのフィルタがそいつらをブロックしたから問題なし。 というわけでnews gatewayがまた発狂したとしても大丈夫そうだ。

今度やらかしたらmembers onlyにするぞと脅したが、ま、許してあげよう。


2004-02-12 (Thu)

[Mail] HTMLメール

様子を見てたら、 [ruby-talk:92678]が来て惨敗。fmlはquoted-printableを考慮してくれないのか。 元に戻してmultipartを保存することにしよう。

[Ruby] getopts

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版も考えよう。

[Mail] irony

そしてRobert、君にはtop-postingをやめることを勧める。 あと引用記号もつけるように。あ、Yahooのweb mailerのせい?


2004-02-13 (Fri)

[Ruby] getoptlongを使ってgetoptsを書いてみた

それじゃ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

[Ruby] OptionParserを使ってgetoptsを書いてみた

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

2004-02-14 (Sat)

[Ruby] un.rbをoptparse化

結局昨日作ったgetoptsを使わなかったり。

[Ruby] getopts

引退が決まってしまっているgetoptsではあるが、なぜだっけ?


2004-02-15 (Sun)

[Soft] rzip

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より圧縮率が高い。

[Soft] ncurses 5.4

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

2004-02-16 (Mon)

[Cygwin] autoconfとiconv

% rm -rf autom4te.cache

iconvは再インストールする必要があります。Cygwin MLも参照。


2004-02-17 (Tue)

[Blog][RSS] Bloglines

なるほど。噂通りよくできてる。RSSかー。


2004-02-18 (Wed)

[GNU] GCC 3.3.3

% 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++だけ共有ライブラリ化できる。

[Blog] Bloglines

なんか増えた。

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の設定はない。 まだちょっと使えないな。


2004-02-19 (Thu)

[Linux] Linux 2.4.25

またやばめなので、早速更新。XFSも含まれてるようだ。

[RSS] RSSの配信

Bloglinesで自分の日記を見てみたくなったので、 まずは1.9に入った rssを調べた。RSS Parserだけだった。まじ?

RAAで検索すると、ぱっと見では ruby-rssがcreatingとあるので作れそうだが、RSS 0.91だけかー。んーむ。


2004-02-20 (Fri)

[Cygwin] zshがハングする

そうなんだよね。 なぜか間違えて存在しないコマンドを実行したりすると、 プロンプトが返ってこないことがある。 zsh.exeをタスクマネージャで殺して新たにzshを起動してもだめ。

で、結局snapshotでは直っているのかどうかがよくわからん。

[Worm] Netsky.b(Moondown.b)

結構Netsky.bうっとうしいなあ。 YAVRを更新しよう。これも別名があるわけね。

Bloglines

なんかつながらないなあ。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

と出てた。寝よう。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!