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をどうぞ。


2003年09月01日(Mon)

diff

8月16日からmandiff@ruby.quickml.comに流れるdiffをunified diffからcontext diffにしている。プログラムの場合はunified diffの方が読みやすいことが多いけど、文書の場合はcontext diffの方が読みやすい気がする。

本日のツッコミ(全1件) [ツッコミを入れる]

kawaji [そうですかね? 慣れてるからかもしれませんが、 私はunified diffの方がいいです。]


2003年09月03日(Wed)

[ruby] 文字コード変換

TrackBackでUTF-8とEUC-JPとの変換の話をみて、UTF-8との変換は表が必要だし、EUC-JPとShift_JISの間の変換と違って変換できない文字の問題もあるのでそんなに簡単にいくわけないと思ったけど、UTF-8からの変換ならすべて数値文字参照にしてしまうという手もある。

[ruby] Re: %y

どうせならdef percent_yではなくてdef %yでいいような気が。

[ruby] [ruby-dev:21276] cvs server: disk full?

って無視されてますか?

どういう状況だったのかの報告ぐらいはつくかと思っていたらいつの間にか何もつかないまま過ぎ去ってしまったようで。IRCでの情報によると/varがあふれていたから/var/tmpを掃除して回復したということだったと思います。


2003年09月07日(Sun)

[ruby] Re: ruby-1.8.0 on cygwin

md5.soの読み込みがエラーになるというのはLinux上で自分でmakeしたopensslをリンクしようとしていたときにおこったことがあります。

本日のツッコミ(全1件) [ツッコミを入れる]

nabeken [なにが原因なんでしょうか?]


2003年09月09日(Tue)

[ruby] md5.soでエラーの原因

ebanさんの指摘解決しているのをみて思い出しました。あのときはconfigureで~/opt/openssl-0.9.7b/libに入れたopensslをみるように指示していたのに実行時に/usr/libのopenssl 0.9.6cをみていたということだったと思います。そのときはLD_RUN_PATH=$HOME/opt/openssl-0.9.7b/lib makeで解決しました。

[ruby] 正規表現で暴走

onigurumaのtest.rbは-Keの代わりに-Kuで実行すると暴走しているように見える。暴走する前に停止できるように制限をつけられる正規表現エンジンはあるんだろうか?

[web] Squark

Squeak?

どうでもいいけどq要素とそのcite属性って使っててもIEだとさっぱりわからないような。

[C言語] VOID?

gcc -Wだとwarningが出ました。gcc -Wallだと出ませんでした。warningの内容を書くとネタばれになるので書きませんが。

[ruby] Re: クラス変数のスコープは子クラスにも及ぶ

ただし順番が影響する。以前ruby-devで質問して確認したことがあるのでこういう仕様と言うことで間違いないはず。
% ruby18 -ve 'class A
  def A.a
    @@a
  end
end
class B < A
  @@a = "B"
  def B.a
    @@a
  end
end
p B.a
begin
  A.a
rescue NameError
  p $!
end
class A
  @@a = "A"
end
p A.a
p B.a
'
ruby 1.8.0 (2003-09-09) [i686-linux]
"B"
#<NameError: uninitialized class variable @@a in A>
"A"
-e:9: warning: class variable @@a of A is overridden by B
"B"

2003年09月12日(Fri)

[Linux] dnrd

指定できるserverは合計5つまで。ドメイン付きは複数指定できるけど、ドメイン付きを指定したらドメイン無しは最後に1つだけしか指定できない。つまりプロバイダから指定されている2つを同時に指定することは出来ない。例:sudo /usr/sbin/dnrd --server=$MOEDNS1:moe --server=$MOEDNS2:moe --server=$FLETSDNS:flets --server=$FLETSDNS:10.in-addr.arpa --server=$PROVIDERDNS。止めるのはsudo /usr/sbin/dnrd -k

FLETSDNSはNTT西日本のフレッツ・スクウェア向け。moeについてはmoeTLDを参照。

dnrdは使いにくいのでbindかdnscacheの方がいいのかもしれない。

Windowsだけで振り分けは出来ないのかな。


2003年09月13日(Sat)

[debian] Debian Ruby Policy

version 0.0.1.2の状態で$Config:CONFIG['archdir']とか書いてるのは$が不要だと思いました。ConfigとCONFIGの間が:2つではなく1つになってるのはDebian Ruby Policy全体?

[ruby] Re: Class Variable と継承

検索してみたところ「今のところ仕様と言わざるを得ません。親から先に初期化してね。」ということだったので単に「使うな」って事になると思います。

本日のツッコミ(全1件) [ツッコミを入れる]

やまだあきら [ruby-policyのCVSで修正を入れておきました。ありがとうございます。]


2003年09月14日(Sun)

[RWiki][mimetex] ext_inline_verb_mimetex.rb

Wikiで数式を参考にしてRWiki用でも使えるようにしてみた。

[RWiki] quote

The RWiki - ruby-ext:01381やRAAX問題の対応としてquoteを使えるようにしてみた。

[PukiWiki][mimetex] PukiWiki/keyの拡張/mimetex

4$A=\(\array{3,c.ccc$&1&2&3\\\hdash 1&a_{11}&a_{12}&a_{13}\\2&a_{21}&a_{22}&a_{23}\\3&a_{31}&a_{32}&a_{33}}\)の例をみていて気づいたけどjoin('~', $args)join(',', $args)じゃないとまずそう。その影響でRWiki側だと縦の点線があるのにPukiWikiだとなくなってました。


2003年09月17日(Wed)

[net] IP over IEEE1394

Windows XP同士など対応しているPC間なら普通のIEEE1394用6ピンケーブルで接続するだけでつながるらしい。一度試してみたいので今度ケーブルを買ってこよう。ノートパソコンだと4ピンが普通みたいなので間違えないようにしないと。

[security] OpenSSH

3.7、3.7.1と連続であがったようです。cygwin-announceによるとOpenSSH 3.7 fixed one of these bugs. OpenSSH 3.7.1 fixes more similar bugs.ということらしいです。

[word] 阪神優勝

®だと思ってたけど™をつけてるところも多い。どっち?


2003年09月19日(Fri)

[Linux] update announce

OpenSSH-3.7p1が出たときにRed Hat Linux 7.1のerrataでopenssh-3.1p1-9にあげていて、その後OpenSSH-3.7.1p1が出ていたはずなのでもう一度errataを確認してみるとRHSA-2003:279-17でopenssh-3.1p1-13になっていた。RHL7.1を使っているのはVMware上のマシンなのであまり影響はないはずだけど、使っているOSのErrataの出方を知っておかないと見落としが発生しそう。


2003年09月22日(Mon)

[web] referer問題

queryに付加する方法」は「かつて「新リンク方式」と呼ばれたもの」のところで説明されている方法(一次情報はHNSのどこ?)を一度使ってみて、hereのところを自分の日記のURLに書き換えたのと同じURLをそのまま他の日記で使われてしまって、すぐに破綻すると気づいたということがありました。そういう方法を考える場合は欠点も知っておいてください、ということで。

[web] noreferer

w3m(w3m/0.4.1)はRefererを送る設定だとかなりがんばってrefererを出力するようで、norefererのサンプルページのnoreferによるリンクでもhttp://r.moonwolf.com/というHTTP_REFERERになっていた。w3mはhttpsからhttpへのリンクでもrefererを送るのが困りものだと思っているのですが、理由を説明できないのでw3m-devで要望を出すことも出来ず。


2003年09月25日(Thu)

[VMware] gpmとvmware-guestd

Red Hat Linux 7.1 on VMware 4 on Windowsでchkconfigで不要そうなデーモンをoffにしまくったところ、vmware-guestdがCPUを食いつぶすようになってしまったので調べてみたらgpmを止めたのが原因だった。gpmをonに戻して解決。


2003年09月27日(Sat)

[ruby] Test::Unit::UI::VRuby::TestRunner

GTKのtestrunner.rbを参考にして作ろうとしてみたけどvrubyrunner0.pngという程度しか出来なかった。コードはvruby-testrunner.rbで実行したのはt.rb

ダメな点は各コントロールのサイズ、プログレスバーが緑や赤にならない、内側のPanelのインスタンス変数へのアクセスの定義が面倒など。忘れていた点はsuite nameがちゃんと設定できていない、Runsなどの数をread onlyにしていない。

[ruby] Re: 2つの文字列の先頭から等しい文字列を抜き出す

正規表現でやるならこうかな。比較する文字列が長いと重そう。
def match_first(a, b)
  s = Regexp.quote(a)
  Regexp.compile("\A" + "(?:"*s.size + s.gsub(/(?!^)/, ')?')) === b
end
match_first("abcd", "abce")のような例がないと不十分な実装にしてしまいそうです。 30日追記: こんな感じということで書いただけなのでバグっていました。The RWiki - 2つの文字列の先頭から等しい文字列を抜き出すに修正版があります。

[web][google] Google birthdayはいつ?

Celebrating Google's 4th Birthday - September 27, 2002だったのでreminderを入れておいたのに今年はCelebrating Google's 5th birthday - September 7, 2003だった。どっち?


2003年09月28日(Sun)

[VMware][OpenBSD] OpenBSD 3.3のインストールとruby18 runner.rb

なぜか#rrr:*.jpのみなさんに教えてもらいながら、VMware4上にOpenBSD3.3をインストールすることになりました。FAQを参照しながらインストール。
  1. ゲストOSの種類としてはOtherを選択。
  2. CDやUSBは不要なので削除してダウンロードしてきたfloppy33.fsにつないだFDDを作成して起動。
  3. disklabelの設定にはまる。fdiskできるパーティションの中の話なので別途設定が必要という罠。(インストールだけはしたことがある)FreeBSDの場合は自動設定があったけど、OpenBSDの場合はそういうものはないらしい。
  4. デフォルトの4GのHDDのうち、最初はa aで/に全部割り当てるとswap領域がないということで進めなかったので、d aで消して、a aで3.8Gを割り当て直してa bで残りをswapに割り当てた。
  5. ネットワーク設定はVMware側はNATにしておいた。そしてOpenBSD側はDHCPに設定。ホスト名も適当に設定。ドメインもRFC2606で予約されているTLDを設定。
  6. 「Edit hosts with ed? [n]」にedかよ!とつっこみつつ、間違えてyにすると終了に悩みそうと思いつつそのままEnterで無難に進む。
  7. 当然ネットワークインストール。floppy33.fsをダウンロードするときにhttpはjpにミラーが見つからなかったのでftpを選んだ。ftpサーバ一覧は最初に表示された中にjpがなくてあれ?と思ったけど、pager(less?)が起動されていたらしくスクロールしたらjpのミラーも出てきたのでそれを選んだ。
  8. Filesetsは、新しくさわるものは出来るだけデフォルトでということでそのまま。とりあえずXも入れないので、後の「Do you expect to run the X Window System? [y]」もn。
  9. タイムゾーンはAsia/Tokyoでも良さそうだったけど最初から見えていたJapanを選択。
  10. 再起動、ではなく電源オフにして不要になったFDDを削除。
  11. 起動してrootでlogin。「Don't login as root, use su」って言われても今まででユーザ追加するところなかったのにっ、と思いつつ次へ。
  12. dateで時刻を確認するとホストOSの7時間前。他のゲストOSでも同じ現象になったことがあって時刻あわせをしたら後は大丈夫だったので時刻あわせ。dateコマンドの引数に悩んでman dateをみつつ設定し、時刻が直る。(このあたりからGNUとの違いが...。)
  13. cshが使いにくい。Tabで補完が出来ない。set filecをしておくとEscでファイル名の補完が出来るけど、/root/.cshrcですでに設定済みだった。
  14. zshを入れればいいと言う話が出たので、portsを使ってみようとする。
  15. FAQ(8.4 - ports ツリーとは何でしょうか ?)にあるようにports.tar.gzをとってきて/usrで展開。非常に時間がかかった。
  16. make search key="zsh"でshells/zsh/stableにあるとわかったので、/usr/ports/shells/zsh/stableでmake installするとzsh-4.0.6.tar.bz2がダウンロードできなくて失敗した。4.0.7がリリースされているので消えてしまっているのかもしれない。MakefileのVERSIONを4.0.7にしてダウンロードできてもchecksumの確認でこけた。
  17. portsは無理そうだったので結局pkg_add ftp://ftp.jp.openbsd.org/pub/OpenBSD/3.3/packages/i386/zsh-4.0.6.tgzのようにpackagesで入れてしまった。
  18. portsのダウンロードしたファイルの格納場所は/usr/ports/distfilesにおけば良かったらしい。
  19. zshのインストールと前後してuseradd -m kazuでユーザの追加をした。「-m」が重要らしい。昔はvipwで追加するしかなかったらしい。英語のFAQ(10.9 - What is the best way to add and delete users?)によるとadduserの方が良かったのかもしれない。
  20. グループへの追加は/etc/groupを直接編集。vigrコマンドはない。vigrってDebianにはあるけどある環境の方が少数派?
  21. visudoで%wheelにsudoを許可。rootをlogoutして一般ユーザでloginし直し。
  22. chshで/usr/local/bin/zshに変更しようとすると/etc/shellsにないので確認があった。とりあえず元の/bin/cshのままにしておいて/etc/shellsに/usr/local/bin/zshを追加して再度chshした。chshでパスワードの入力が不要なのとshell以外の情報も編集できる(エディタが起動する)のがLinuxと違っていて驚いた。
  23. CVS管理している設定ファイルをとってくるために.sshをscp -r。cvsやsshやviが標準で入っているのは便利。
  24. 設定ファイルのディレクトリにおいてあるMakefileがGNU makeに依存しまくりで困ったのでgmakeをインストール。
  25. .zshrcの中で実行していたeval `dircolors -b`command not found: dircolorsになっていたので[ -x /usr/bin/dircolors ] && eval `dircolors -b`に。
  26. lsも--color=auto付きにaliasしていたので--color=autoよりも後に引数をつけたときにエラーが出ていた。
  27. LANG=ja_JP.eucJPだとperl -vで文句を言われたのでexport PERL_BADLANG=0という話もあったけど、あまり使いたくなかったし、そもそも日本語が表示できないコンソールだったのでLANG=Cにすることに。
  28. sudoを実行しようとしたらenv -u SSH_AUTH_SOCK -u SSH_AGENT_PID ... sudo -Hのように引き継いでほしくない環境変数をunsetするようにaliasしていたのがenvに-uオプションがなくてこけたので一時的にunaliasしてfileutilsやsh-utilsをインストール。
  29. dircolorsは/usr/local/bin/gdircolorsもチェックするように修正。こんなのにまでgがついてるのは--program-prefix=gだかららしい。
  30. grep -rってGNU依存だと思っていたのにOpenBSDでも使えて驚いていたら、OpenBSD 3.3のgrepがGNU grepという落ちだった。currentではGNU grepじゃなくなってるらしい。
  31. gdircolorsがLS_COLORS=''になるので役立たずと思ったらTERM=vt220だからで、TERM=xtermとかにするといろいろ出てきた。出力を比べてみるとDebian(woody)のものが良さそうだったので、[ -z "$LS_COLORS" ]の場合はそれを使うことにした。将来色が付かない端末ではまりそうだけどとりあえず気にしないことに。
  32. ここでrubyをcheckout。autoconfがなかったのでautoconf 2.52をインストール。
  33. gperfがないとlex.cを作るために一度makeがこける。もう一度makeを実行すると問題なく進む。Makefileのlex.c: keywordsの必要性がわからない。$(srcdir)/lex.cに直してもらうのがいいのかな?
  34. gperfをインストールしてみたけどなくても大丈夫と聞いたので消してさらにやり直し。何度もmakeし直しているのでせっかくなのでccacheをインストール。
  35. ruby 1.8.0 (2003-09-27) [i386-openbsd3.3]完成。
  36. --build=i386-openbsdにしないと、OSをupgradeするたびにディレクトリが増えていくと教えてもらったのでconfigureからやり直し。configureの最初の方の出力がi386-unknown-openbsd3.3からi386-pc-openbsdに変化していた。
  37. チェックアウトしたruby/testディレクトリでruby18 runner.rbを実行。
  38. test_calc(SOAP::Calc::TestCalcCGI)でError!!!になるのはtest/soap/calc/server.cgiの#!/usr/bin/env rubyがこけているからということが判明。rubyコマンドがない環境ではtest_system(TestSystem) [./ruby/test_system.rb:17]もFailure!!!になる。
  39. 試しにPATHの前の方にruby18へのシンボリックリンクをrubyという名前で作成してrunner.rbを実行するとError!!!が出なくなった。
本日のツッコミ(全6件) [ツッコミを入れる]

Before...

miss [internet advertising]

madam [business cards http:]

cukimbo [aldara http://aldara]


2003年09月29日(Mon)

[web] IT Pro ニュース : 東風フォント問題が解決<BR>無償利用も可能に

タイトルに「<BR>」が入っている謎な状態なのはどうでもいいとして、解決だそうです。


2003年09月30日(Tue)

[ruby] 2つの文字列の先頭から等しい文字列を抜き出す

27日のコードはバグっていたのでThe RWiki - 2つの文字列の先頭から等しい文字列を抜き出すに修正したものとベンチマーク用のスクリプトをおきました。

[ruby] optparse

使ってみようかと思ったけど使い方がわからなかった。サンプルがほしい。

[ruby] 2つの文字列の先頭から等しい文字列を抜き出すのsed版の移植

遅かった。
      # uはaでもbでも使っていない文字
      def match_first(a, b, u="\0")
        "#{a}#{u}#{b}".sub(/\A([^#{u}]*)[^#{u}]*#{u}\1[^#{u}]*/, "\\1")
      end

[web] noreferer

リファラ実験のw3mでは、METAタグのRefreshでRefererが空となっていましたが、w3mmeeはかなりしつこくRefererを残します。 」と書いてますが、こちらで実験したw3m/0.4.2(cygwin)ではhttp://r.moonwolf.com/というHTTP_REFERERが出ていました。オプション設定にかなり影響を受けそうです。meta_refreshオプションが関係しているのかと思ってw3m -o meta_refresh=1 http://www.moonwolf.com/~moonwolf/noreferer/でみても同じでした。

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

miss [internet advertising]

madam [business cards http:]

cukimbo [aldara http://aldara]


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