裏夜食日記

2000年07月

2000年も半分終わりました。

Rubyの月です。

ReadMe!カウンタ


31日(月)

ATMの話はスタッフ日記に書いたので略。 初めてATMが故障中になったのをみましたが、よくあることなんでしょうか? それにしても待ってる人がそれなりにいたのに時間がかかったのがやな感じでした。


30日(日)

あっち(何処)の机のマシンのHDDから変な音がするという電話があったので、rootパスワードのことを電話で話すのは望ましくないと思って、こっち(何処)からsshで入ってsuしてhaltした。

サザエさんとかドラエモンとかミッキーマウス等は、あたしの逆鱗に触れる漫画です。」って意味がわからなかったのですが、 逆鱗の意味は「天子の怒り。目上の人の激しい怒り。」ということなので、「あたし=天子or目上の人」ってことなのでしょうか? とりあえず人にはダウト。 それからドラエモンってドラえもん?


29日(土)

Rubyのuniqは遅いということなので、wakanu.datの書き込み中にrubyをkillしてしまってwakanu.datをちょっと壊してしまったのをきっかけにしてちょっと調べてみたら、uniqの処理で20秒以上違いがでていたのがわかった。 普通はだぶって登録されることはなさそうなので、普段はwakanu.datの保存部分をuniqを何もしないmy_uniqに置き換えておくことにした。

class Array
  if $WAKANU_DAT_UNIQ
    alias my_uniq uniq
  else
    def my_uniq
      return self
    end
  end
end

Perlでstatもtruncateと同じように結構無駄な処理になってる気が。 具体的には-Mとかのファイルテスト演算子で代用出来る場合。 -Mとか使ってても基準は$^Tなのにtimeを使ってるのを見たことがあります。 CGIだと実行時間が短いのでほとんど差がなくて気がつかないのかもしれませんが、現在時刻を使うのは間違いのはず。

@niftyだと謎の現象ってstat(hoge.txt)はstat('hoge.txt')の間違いというのは無関係? これが違ってると964877229とか大きな数になったから関係ない気がしますが。 ちなみにWindowsで試したら1になることもありました。 なんかよくわかりませんが@niftyで試してみたら143とか134とか157になりました。

#!/usr/local/bin/perl
open(FILE,"> hoge.txt");
close(FILE);
$mtime = (stat('hoge.txt'))[9];
$a = time() - $mtime;
print "Content-type: text/html\n\n";
print "$a\n";

ふとファイルサーバとウェブサーバの時計が合ってないんじゃないのか? と思ってあっち(何処)で試してみたらコマンドラインでもマシンによって215とか120とかになりました。 って時計あってないってことじゃん。 夏休みになったらあっち(何処)の時計あわせ(ntpとか)についても考えておかないといけないなぁ。 それにしても時計が合ってないなんてLANにつながってるマシンを使ったことがなかったら全く思いつかないような気が。

飲み慣れた/味の熱い/coffeeって何?と思ったのは秘密。


28日(金)

postfixの設定に挫折してqmailにしようと思ったがとりあえずpostfixを消しただけでまだqmailは入れていない。

inetd関係の変更をした。 wu-ftpdを消して代わりにVineSeedPlusからとってきたproftpdを入れた。 非公開なのでhttpdもほとんどアクセスがないので、inetdからの方が無駄が無くて良さそうなので変更した。

# /etc/inetd.confの変更箇所
http    stream  tcp     nowait  root    /usr/sbin/tcpd  httpd
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd


# /etc/proftpd.confの変更箇所
ServerType      inetd # standaloneから変更

Group                         nobody # nogroupから変更

# anonymous以外を拒否
<Limit LOGIN>
  DenyAll
</Limit>

# 以下<Anonymous ~ftp>の中
# 以下2つをコメントアウト
#  DisplayLogin                       welcome.msg
#  DisplayFirstChdir          .message

# 以下を追加
    RequireValidShell off

  <Limit LOGIN>
    AllowAll
  </Limit>

  <Directory incoming>
    <Limit STOR>
      AllowAll
    </Limit>
  </Directory>

# /etc/proftpd.confの変更箇所はここまで


# /etc/httpd/conf/httpd.confは1行だけ
ServerType inetd # standaloneから変更


# /etc/hosts.allowに追加
in.proftpd: ALL
httpd: ALL

~ftpは/home/ftpだと埋め尽くされたときに被害が大きいので別パーティションのディレクトリに変更している。 設定はProFTPD サイトの日本語訳[ruby-dev:10417] Re: ruby 1.4.6 previewを参考にした。

Adobe Security Updateをインストールした。 インストールするときの言語を選ぶところがチェックボックスになっているが、1つしか選べないのならラジオボタンにするべきだと思った。

Muffinって何?と思ったらプレゼンテーションソフトでしたか。 「プレゼン資料はXHTML+CSS2+JavaScriptで構成」ということらしいです。

「a b」というファイル名だと「AB~1」となるのでLFNの方が短い。


27日(木)

nifty:FNIHONGO/MES/19/30からのツリーがRTCで今話題?

truncate(OUT, 0);」って遅くないんでしょうか? って前にも書いたような気が。 多分書き込んだ後でtruncate(OUT, tell(OUT));の方が速いと思うんですが。 誰か少なくとも1MBぐらいあるファイルでベンチマークをとって確かめてみてほしいです。 と思ったけど自分で小さいデータでベンチマークとってみました。
そういえばopenの第2引数で「+」で始まるもののうち、Perl4でも使えるものって「+<」だけだったような気が。

% cat a.pl
#!/usr/bin/perl
use Benchmark;
$/ = undef;
timethese(10000, {
    truncate_0 => q{
        open(OUT, "+<data0");
        flock(OUT, 2);
        $data = <OUT>;
        truncate(OUT, 0);
        seek(OUT, 0, 0);
        print OUT $data, "\n";
        close(OUT);
    },
    truncate_tell => q{
        open(OUT, "+<datatell");
        flock(OUT, 2);
        $data = <OUT>;
        seek(OUT, 0, 0);
        print OUT $data, "\n";
        truncate(OUT, tell(OUT));
        close(OUT);
    }
});
__END__
% ./a.pl
Benchmark: timing 10000 iterations of truncate_0, truncate_tell...
truncate_0: 21 wallclock secs ( 6.09 usr + 12.89 sys = 18.98 CPU)
truncate_tell: 19 wallclock secs ( 6.22 usr + 11.35 sys = 17.57 CPU)
% cat b.pl
#!/usr/bin/perl
use Benchmark;
$/ = undef;
timethese(10000, {
    truncate_0 => q{
        open(OUT, "+<data0");
        flock(OUT, 2);
        chop($data = <OUT>);
        truncate(OUT, 0);
        seek(OUT, 0, 0);
        print OUT $data;
        close(OUT);
    },
    truncate_tell => q{
        open(OUT, "+<datatell");
        flock(OUT, 2);
        chop($data = <OUT>);
        seek(OUT, 0, 0);
        print OUT $data;
        truncate(OUT, tell(OUT));
        close(OUT);
    }
});
__END__
% ./b.pl
Benchmark: timing 10000 iterations of truncate_0, truncate_tell...
truncate_0: 20 wallclock secs ( 5.71 usr + 12.71 sys = 18.42 CPU)
truncate_tell: 20 wallclock secs ( 5.74 usr + 11.64 sys = 17.38 CPU)
% ./a.pl
Benchmark: timing 10000 iterations of truncate_0, truncate_tell...
truncate_0: 21 wallclock secs ( 5.70 usr + 13.42 sys = 19.12 CPU)
truncate_tell: 19 wallclock secs ( 6.04 usr + 11.27 sys = 17.31 CPU)
% ./a.pl
Benchmark: timing 10000 iterations of truncate_0, truncate_tell...
truncate_0: 41 wallclock secs ( 9.75 usr + 27.65 sys = 37.40 CPU)
truncate_tell: 33 wallclock secs ( 9.76 usr + 19.65 sys = 29.41 CPU)
% ./b.pl
Benchmark: timing 10000 iterations of truncate_0, truncate_tell...
truncate_0: 37 wallclock secs ( 8.84 usr + 25.87 sys = 34.71 CPU)
truncate_tell: 33 wallclock secs ( 9.00 usr + 21.10 sys = 30.10 CPU)
% ./b.pl
Benchmark: timing 10000 iterations of truncate_0, truncate_tell...
truncate_0: 22 wallclock secs ( 6.13 usr + 13.92 sys = 20.05 CPU)
truncate_tell: 19 wallclock secs ( 6.35 usr + 10.56 sys = 16.91 CPU)
%

usrとsysの違いがよくわかりませんが、とりあえずtellの方が早いという結果になりました。 思っていたとおりファイルが大きくなるほど差が広がるようです。

ドットコム娘(笑)ってこのサイトはリンクされてるたびに見てますが、全然目立った変化がないような気が。 何をやってる人たちなんでしょうか?

qmail rpm vine」で検索した結果の中に http://www.its-a.guruguru.to/gandgand/index.html が入っていた。 そこまでして見に来てもらったとしても関係ないものを探してたのなら無視されるだけのような気が。


26日(水)

nifty:FPROGORG/MES/20/101のあたりの話から気になって検索してみたらすぐに見つかりました

さいとすねおが久しぶりに更新されていた。


25日(火)

伝言ミス。 2つ目の方がコピー失敗していたらしい。 原因は左CtrlとCaps Lockを入れ替えているので、Ctrlを押したつもりでも押せていないことがあるためだと思われる。

(2,RTC担当紅玉杖)りゅうさんに伝言「MAQUEEって?」>伝言係
(2,伝言係)りゅうさんへの伝言を承りました。>RTC担当紅玉杖さん
(2,RTC担当紅玉杖)りゅうさんに伝言「MAQUEEって?」>伝言係
(2,伝言係)既に同じ内容の伝言を承っています。>RTC担当紅玉杖さん
(2,RTC担当紅玉杖)りゅうさんに伝言「MARQUEEのtypo?」>伝言係
(2,伝言係)りゅうさんへの伝言を承りました。>RTC担当紅玉杖さん

my network。 かなり面倒そう。 それに経由してるのが多いと遅そう。 そういえば間にrshが入るとX forwardingができないのが不便。

HKEY_CLASSES_ROOT\mailto\shell\open\commandが「rundll32.exe url.dll,MailToProtocolHandler %l」だったのを「(略)\edmax.exe /A="%1"」に変更。

Wyvernっていう名前のソフトが2つ。 Windows用のMP3プレーヤーUNIX 系 OS 用のミニウェブサーバ。 対応しているOSが違うから気づかないのかも。


24日(月)

Cマガを買った。

ディレクトリ・カットっていいますか?

デスクトップにあったインターネットショートカットをどんどんメモリンクに追加して消していった。

過ぎ行く今は星の瞬きがまたちゃんとチェックできてなかったことに気づく。 7/8か7/9のあたりまでは読んでいたような気がする。 AirWebではやく自動化したい…。


23日(日)

最近のfmlだとコマンドメールの返信にちゃんとReferencesをつけてくれるのでいい感じ。 [fml 3.0.1 STABLE (20000510)]ではIn-Reply-Toはついてないけどどっちかついてればokでしょう。

postfixを入れてみようと思ったので試してみる。 VinePlusからとってきたrpmを入れようとしたらsendmailとぶつかると言うことで、rpm -e CF、rpm -e sendmailで削除してからもう一度入れてみたら入った。 ここでローカルメールが送れなくなっていることを確認するためにmailコマンドでローカルユーザにメールを送ってみると 「send-mail: fatal: No maildrop directory maildrop: ?????????????? ??????????????????????????????」 とでて送れなかった。 やはりローカルメールにもsendmailが使われていたらしい。


22日(土)

IEのみですが、marqueeの中にiframeを入れてみたら、ちゃんとインラインフレームが流れていて驚いた。 ちゃんとしたページで使ったらめちゃくちゃ使いにくくて不評な気がした。

GNU Prologをftp://ftp.ring.gr.jp/pub/GNU/からとってきて入れてみた。 最初使い方がわからなかったが、ドキュメントを読んだらわかった。

ムツゴロウ様がライオンに指食われたシーンが放送されたそうです。」ってすっかり忘れててみてないですが。 っていうか見る予定もなかったし。

Delphiの文法が使えるGPL準拠のPascalコンパイラが公開」と言っても英語だけのようです。

FCのrtcountをPerlとRubyで書き直してみた。 Perlの方はutf8で文字数をカウントしているのでPerl 5.6.0用でJcode.pm必須、Rubyの方はwarningがでる、という状態。 printfのところはほぼそのままなのでPerlやRuby的には変かも。

#!perl -w

use strict;
use Jcode;

my (%lines, %chars);
my ($AllPersons, $AllLines, $AllChars);

while (<>) {
    chomp;
    next unless /^\(\d,(?:[A-Z]{3}\d{5},)?([^)]+)\)/;
    my $name = $1;
    my $buf = Jcode->new($', 'sjis')->utf8;
    my $len;
    {
        use utf8;
        my @tmp = split //, $buf;
        $len = scalar @tmp;
    }
    $lines{$name}++;
    $chars{$name} += $len;
    $AllLines++;
    $AllChars += $len;
}

printf("%-20.20s %-12.12s  %-12.12s  %-7.7s\n", 
    "ハンドル","発言数(%)","文字数(%)","文字/行");
printf("----------------------------------------------------------\n");

for (sort {$lines{$b} <=> $lines{$a} || $chars{$b} <=> $chars{$a} } keys %lines) {
    $AllPersons++;
    printf("%-20s %4ld(%5.1f%%)  %4ld(%5.1f%%)  %6.1f\n",
        $_,
        $lines{$_}, $lines{$_} * 100.0 / $AllLines,
        $chars{$_}, $chars{$_} * 100.0 / $AllChars,
        $chars{$_} * 1.0 / ($lines{$_} ? $lines{$_} : 1));
}

printf("---------------------------------------------------------\n");
printf("参加者:%4ld人%7s 合計:%-6ld   合計:%-6ld  平均:%-4.1f\n",
    $AllPersons,"",
    $AllLines, $AllChars, $AllChars * 1.0 / ($AllLines ? $AllLines : 1));
#!ruby -w

lines = Hash.new 0
chars = Hash.new 0
allPersons = allLines = allChars = 0

while line = gets
  next unless /^\(\d,(?:[A-Z]{3}\d{5},)?([^)]+)\)/ === line.chomp
  name = $1
  len = $'.split(//).length
  lines[name] += 1
  chars[name] += len
  allLines += 1
  allChars += len
end

printf("%-20.20s %-12.12s  %-12.12s  %-7.7s\n", 
  "ハンドル","発言数(%)","文字数(%)","文字/行");
printf("----------------------------------------------------------\n");

lines.keys.sort{|a,b|
  (lines[b] <=> lines[a]).nonzero? || chars[b] <=> chars[a]
}.each do |i|
  allPersons += 1
  printf("%-20s %4d(%5.1f%%)  %4d(%5.1f%%)  %6.1f\n",
    i,
    lines[i], lines[i] * 100.0 / allLines,
    chars[i], chars[i] * 100.0 / allChars,
    chars[i] * 1.0 / (lines[i] ? lines[i] : 1));
end

printf("---------------------------------------------------------\n");
printf("参加者:%4d人%7s 合計:%-6d   合計:%-6d  平均:%-4.1f\n",
  allPersons,"",
  allLines, allChars, allChars * 1.0 / (allLines ? allLines : 1));

21日(金)

部屋の掃除をしたらケーブルが抜けててネットワークにつながらなくなっててちょっと悩んだ。


20日(木)

perl -MCPAN -e shellでinstall LWPをした。 1回ではインストールできなかったので、何度かやっていたらインストールできた。 なんだかよくわからないがインストールできたのだからよしとする。

Kondara MNU/Linux 1.2を入れてみた。 Mozilla M15が入っていたので起動してみたが、Netscapeより重いと思った。


19日(水)

nifty:FC/MES/11/4に書いてあった 「多次元配列 int[,,] a3; // 3-dimensional array of int」 と 「配列の配列 int[][][] j3; // array of (array of (array of int))」 の違いって何?

[ruby-list:23903] Re: backslash notation in regexp ??より引用。
「バグです(\xXXを解釈しない)。今週中に1.4.6を出すのでそれまでは8進でしのいでください。」
という感じで1.4.5は1.4.4よりバグが多いような気がする。 気がするだけですが。 理由は開発に関わってる人たちが1.6に向けて1.5系ばっかり使ってる気がするから。

天秤です。 (台風アジア名参照)

NiftyTelnetって@niftyとは無関係ですか?

「X for Mac OS X」 (エックス・フォー・マックオーエス・テンと発音する)

Turbo Debuggerって既に公開されてたような気がしてたのですが、前のは英語版で今回のは日本語版という違いがあるような気が。

hoopsにダウンロードしてもらうファイルを置くのがはやりなんでしょうか。 mamimiのベータ版とかRuby binariesとか。

MHCを入れてみた。 予定の情報の形式としては必要なものはほぼそろっているように見える。 しかし、掃除当番のような何週間か毎の予定は無理そう。


18日(火)

www.bekkoame.ne.jpがWWWCでチェックできなくなっていたので調べてみたところ、「~」を「%7E」にしてrequestするとGETやHEADの行を受け取っただけで問答無用で接続を切られることがわかった。

% telnet www.bekkoame.ne.jp 80
Trying 210.158.204.111...
Connected to www.bekkoame.ne.jp.
Escape character is '^]'.
HEAD /~yoshidam/Ruby_ja.html HTTP/1.0
Host: www.bekkoame.ne.jp:80
Accept: text/*

HTTP/1.0 200 OK
Server: Netscape-Enterprise/2.01
Date: Tue, 18 Jul 2000 09:21:33 GMT
Accept-ranges: bytes
Last-modified: Sun, 16 Jul 2000 13:44:35 GMT
Content-length: 21200
Content-type: text/html

Connection closed by foreign host.
% telnet www.bekkoame.ne.jp 80
Trying 210.158.204.111...
Connected to www.bekkoame.ne.jp.
Escape character is '^]'.
HEAD /%7Eyoshidam/Ruby_ja.html HTTP/1.0

Connection closed by foreign host.
%

バージョンに"-"が含まれるのですが、これがモロにRPMの逆鱗に触れ、tarballの展開すら行ってくださらない」。 これって引用が中途半端かも。
ってそれはおいといて、これってある決まった形式のファイル名のtarballしか扱えないrpmのだめさの一端を表してる気がする。 つまり気に入らないファイル名だったりlzhやzipだったらtarballのようにお手軽に扱えないという点がだめ。
依存関係もいるかいらないかしか出来ないっていうのもだめっぽい。 具体的な例でいうと、opensslがあればhttpsが扱えるけど無かったらhttpやftpのみ、というソフトがあったときにopensslに依存させるとhttpsが必要なくてもopensslが必要になるし、依存させていなかったらopensslが使われていることに気がつかずにopensslを削除して何故httpsが使えなくなったのか悩む、ということになる。
specファイルがちゃんとしてれば、インストールやアンインストールが楽っていうのはいいんだけどなぁ。 Debian系のdebはどんな感じなんだろう?

[ruby-dev:10340]にモジュールはインスタンスの構造を仮定してたらバグと書いてあったので、nif_rtcは設計がバグっていることが判明 :-)

「ATOK X for Linux(エイトック エックス フォー リナ(ヌ)ックス)」


17日(月)

オンラインソフトの決定版がサイト移転するらしい。 Windows Info. - M's Selection -は一時閉鎖らしい。


16日(日)

ActivePerlが616になってます。 615になったのに気づくのが遅かったので、早いと思ってしまいましたが、そうでもないかも。

nifty:FCにC#の会議室が出来ている。 で、そこに書いてあった「Microsoftの新言語「C#」,Javaの置き換えを狙う」ですが、「#」はシャープじゃない、と思ってしまいました。

「/sbin/modprobe ip_masq_ftp」を「/etc/rc.d/rc.local」の「echo 1 > /proc/sys/net/ipv4/ip_forward」の次の行に追加した。 今まで追加しなかったのは何処に追加すればいいのかよくわからなかったから。


15日(土)

html?nnのようにcnetとかがhtmlの後に?nnみたいなのつけてどこからきたのか調べようとしているようですが、見たかどうかがわかりにくくなるので利用者には不便になるような気が。 いつも同じところから飛んでれば関係ないかな。 Refererを使わないのは多分メールマガジンとかからのも調べたいからなんじゃないかな。 しかし、個人のニュースサイトからのリンクもあったりして結構面倒なことになってるような気もする。 そういえばvectorもどのサーチエンジンで検索したのかわかるように?gとかつくようになってたはず。

IEでページ切り替え時のエフェクトを消す方法。「ツール」>「インターネットオプション」>「詳細」>「ページの切り替えを行う」のチェックをはずす。

窓の杜 - 【PickUP】マウスだけでさまざまな音を演奏する楽器ソフト「まうちゅ」を見て、DOSの時代にあった「なきマウス」というのを思い出した。 アレは確かソースを公開したくても酔っぱらってるときに消してしまったので公開できないという話だったのがインパクトがありました。


14日(金)

スタッフ日記に書いた@nifty保険ですが、スタッフのアレがあるので入ってもいいかな、と思ったのですが、こういうのは一応親にも話しておかないといけないのが面倒なので保留。
キャンペーンで200ポイントもらって、すぐにアット・ニフティ使用権1000円分に交換すれば1ヶ月はほぼ無料かも、と思ったら消費税で18円ぐらい不足かも。
ちなみにメールに書いてあったURLはこれ>http://www.nifty.com/insurance/specialplan2/


13日(木)

NIFTY シェアウェア送金代行システムの終焉という話。 シェアウェアってNIFTY以外で送金したこと無かったのですが、これからはiREGiでvectorの方を使えと言うことなのでしょうか。


12日(水)

「自転車は歩行者と自動車、どちらの信号に従うか」って元々歩行者用の信号に従えばいいのならわざわざ歩行者自転車兼用(だったっけ?)っていうのが存在するわけがない、と考えればすぐにわかるようなきもするが、場所によっては変な信号もあったりするわけで…

図書館にて。 ちょっと長いな、じゃなくてまあアレですな。 どこなのかっていうのはえふしそ【何処】を全読すれば自明かと思ったのですが、最近巡回さえしてないので現状は知りません。 そういえば警察官も制服着てるとか無線ではなしてるからとかだけで警察官だと信じ込んでしまいますが、念のため警察手帳見せてもらった方がよさげでしょうか?>誰となく

slのrpm発見。 Kondara Zoo 1.2の方はpatchが当たってパワーアップしてる。

2000年7月16日〜17日にかけての皆既月食ですか。

substでドライブに割り当てているとローカルドライブと認識されるので、デフラグやWindows標準の検索でちょっと困る。 そこで共有の設定をして、ログオン時に再接続するようにしたらどうかと思ったので、これから試してみよう。


11日(火)

日記ブラウザの順番が入れ替わっている。 最近更新してない佐々木さん。 生きてますか? あんまり更新してなかったところが更新されなくなっても気にならない(気がつかないとも言う)けど、毎日更新してて突然数日間更新が止まると気になります。 そういう点(生存証明という点)では、せめて「忙」とか「眠」とかだけでも更新した方が良さげなのかもしれません。

そごうに税金使うぐらいならハムのアレに使った方が良いような気が。

EdMax FreeがWeb掲示板アクセス機能付きWindows用フリーソフト3つ目かな。 1つ目mamimi、2つ目INCMで。 後は知ってるのはシェアウェアだけ。 とりあえずダウンロードしたので、安定版を求めているソフトで大きなバージョンアップの時はいつもやってるように致命的なバグがないか数日待ってから使う予定。

自動車ドミノって本物の自動車を使っていたのでしょうか?

ファイルハンドルの話ですが、詳しいことは忘れましたがcallerを使うと吉。

CygwinでPATHを圧縮するワンライナーが「空白を含むパスがあるとそこできれてしまって残念な思いをするようです。」(2000年7月9日(日)04時06分)ということですが、長さに制限のあるDOS(Windows?)のPATHには「Program Files」なんて長いのは使わずに8.3形式の方を使うので、ふつーは空白を含むパスはないのでだいたいあんしんなのです。 長さに制限があるのでどんどん前に追加していってもPATHがどんどん長くなっていかないのを利用して、JDKのパスを追加するバッチファイルで1.1と1.2を切り替えて使えたりして結構便利とか思ってます。 全く同じパスの削除機能ぐらいシェルが標準で持ってくれててもよさそうな気がするのですが、もしかして探せばある?

CHOCOAを少し前に入れて使ってみたけど、つながるかどうか試しに入れてみたサーバの設定の消し方がよくわからなかった。 結局つながってもチャンネル一覧を表示しようとしたら切られて使えなかったし。

Vine Linux 2.0のインストールを何度かやってみた。 パッケージの選択で全部チェックをはずしてみたら、ほんとに何にも入ってなくて、設定ファイルをftpでとってくるとかも出来なかったので、すぐにインストールし直した。 とりあえずパッケージグループはX Window SystemとEmacsとNetworked Workstation(for LAN)の3つを選んで、個々のパッケージの選択で必要なさそうなのをどんどん消してインストールしてみたが、インストール後まだ必要なさそうなものがあったので、またインストールし直す必要があると思ったが、とりあえずインストール後の設定も試そうと思って設定し始めた。 そういえばLILOの設定でスキップを選ぶとLILOを入れないでインストールできました。


10日(月)

Rubyでifやwhileは(ブロックじゃないので)ローカル変数のスコープに影響しないというのを気がついていなかった。 具体的に書くと、以下のような場合にendの後ではaは使えないんじゃないかと勘違いしてました。 で、今まで書いてたスクリプトについては、endの後も使いたいローカル変数についてはifの前にa=nilとかがあるだけで影響無しのはず、ifの中だけ用のローカル変数についてはtmpとかiのようなあちこちで使われるような名前になってるはずなので大丈夫のはず、と思っているのですが。

if 0 == ARGV.length
  a = true
else
  a = false
end

p a

http://www.hf.rim.or.jp/~chapuni/diary/200007.htmlの7/9(日)の話をみて、print "Location: $url#hoge\n\n"っていうような#をつけた自分自身にリダイレクトするcgiを作ってみたらおもしろいかも、と思ったけどブラウザもはまりそうなのでやめた。

アユミ!さんとこのカウンターがおかしくなってる気がする。

先日日本語版等が非公式にアップされた Internet Explorer 5.5 ですが、7月12日(現地)に正式にリリースされるようです。」 だそうな。


09日(日)

日付から曜日を知る方法ってZellarの公式がいいのではないでしょうか。 特定の日付の曜日を計算するとか。


08日(土)

CygwinでPATHを圧縮するワンライナーを作った。 「PATH=`perl -e 'map{($a=lc $_)=~s(^/cygdrive/c/cygwin)();$h{$a}||=[$n++,$_]}split/:/,shift;print join q(:),map{$h{$_}[1]}sort{$h{$a}[0]<=>$h{$b}[0]}keys %h;' $PATH`」となりました。 方針としては順番保存、複数でてきたときは前のものを残す、削れる空白文字はできるだけ削って1行で使う、としました。 苦労したのはPerlスクリプト部分の作成よりも「"」や「'」を使っていると.bashrcに埋め込んだ時にエラーになるということがなかなか気がつかなかったと言うことです。 「''」でくくっているのに「""」がでてくるとエラーになったというのがよくわかりませんが、とりあえず「q()」とかで回避しました。 bashって[vine-users:023905]からのスレッドにあるようなバグが結構ありそうなので、とりあえず「'"!」あたりの文字はシェルスクリプト埋め込みのスクリプトでは使わない方がよさそう。

わかぬをちょっと改造した。 初めての人に自己紹介するようにした。 それと辞書のメンテナンスをした。 突然詞をばっさり消してプチチャット時代に学習したローカルネタが少なくなるようにしてみた。


07日(金)

先月末にdhcpdのことを書き忘れていた。 IPマスカレードの後、dhcpdの設定をしたが/etc/dhcpd.confだけの設定ではeth0とeth1の両方でlistenしてしまって、すでにdhcpクライアントとしてIPアドレスの取得などをしているeth1でエラーになってdhcpdが起動できていなかった。 調べてみたところ、dhcpdの起動時の引数に書けばいいとわかったので、/etc/rc.d/init.d/dhcpdの「start)」の中の「daemon /usr/sbin/dhcpd」の行を「daemon /usr/sbin/dhcpd eth0」に変更したらちゃんとdhcpdが起動できた。 /etc/rc.d/init.d/の下のファイルを書き換えるのはパッケージ管理に影響がありそうなので、できればdhcpd.confで設定できるようにしておいてほしかった。

メニュー項目からキーバインドを 外したい場合は、Backspaceを押します。 」というのは知らなかった。 ちなみにSylpheedは終了後に記憶してくれませんが、記憶してくれるのって何処に記憶してるんでしょうか?

算数の問題:基礎編と応用編。応用編の方をみてねずみ講という言葉が脳裏をよぎりました。

Some Gripes on User-Agentを久しぶりにみてみた。

HEY!HEY!HEY! MUSIC CHAMP倉木麻衣宇多田ヒカルのパクリ発言でいろいろ話題になってますが、アレってリアルタイムでみてましたがそう思ってる人が多かったことをいっちゃっただけなのでこんなに話題になるとは思いませんでした。 話題になりそうだと思ってたら、もっと早くから日記に書いてたのになぁ。

nif_rtcをVine Linuxのcvsで管理するようにした。 Windowsのcvsとcvsrootを共通にしていたら、 「' is missing '='ax error in /(略)/CVSROOT/config: line '」 というエラーがでていたので、CVSROOTのディレクトリに入って、 「chmod +w config; perl -i -pe 's/\r//'; chmod -w config」 で無理矢理改行を変換してみたら、エラーがでなくなったのでこれ以上気にしないことにする。


06日(木)

.htaccessに「<Limit GET POST>…</Limit>」を使わずに直接以下のように書くとすべてのmethodに対してアクセス制限ができるらしい。

order deny,allow
deny from all
allow from 192.168.1

05日(水)

「PEACEはなんと発音しますか?」「ひみつです。」ということは「PEACE」と書いて「ひみつ」と読む、ということですか。 かなり無理があるように思います。

某所のCGIで使ってる設定読み込みサブルーチンを公開。 CgiDieはcgi-lib.plを使ってる場合のものなのでその辺は適宜修正して使うと吉かもしれません。

sub ConfigRead ($\%) {
    my ($filename,$ini) = @_;
    return unless $filename;
    open(INI, $filename) or &CgiDie("Can't open config file : $!");
    eval { flock(INI,1); };

    while (<INI>) {
        if (/^(\w+)$/) {
            my $key = $1;
            $ini->{$key} = '';
            while (<INI>) {
                last if (/^\.$/);
                s/^\.\./\./;
                $ini->{$key} .= $_;
            }
            chomp($ini->{$key});
        } elsif (/^(\w+)\t(.+)$/) {
            $ini->{$1} = $2;
        }
    }

    close(INI);
}

PostPetの設定をなおしていなかったので、ペットが行方不明になってしまった。 受信はできていたので気がついてなかった。

くろはたさんの日記、WWWCでチェックしているのがNyyyymm.htmの方だったので、6月の月代わりの時に対応できてなくて、6月中はさっぱり巡回できていなかった。


04日(火)

頭が痛いので休みました。

cgi.pmってCGI.pmのこと?

Location(HTTP応答ヘッダ)でリダイレクトした時にIEだと「#」以降までGETリクエストに含めてるみたいなんですがいいんでしょうか?


03日(月)

ruby-1.4.5をmakeしてみようとする。

wget -N ftp://ftp.netlab.co.jp/pub/lang/ruby/ruby-1.4.5.tar.gz
tar zxvf ruby-1.4.5.tar.gz
cd ruby-1.4.5
sh configure --enable-shared --with-default-kcode=sjis
make

しかしこんなエラーがでてmake失敗。

$ make
dllwrap --export-all -s  -o rubycw.dll --output-lib=libruby.a --dllname=rubycw.d
ll -Wl,-e,__cygwin_noncygwin_dll_entry@12 --add-stdcall-alias array.o bignum.o c
lass.o compar.o dir.o dln.o enum.o error.o eval.o file.o gc.o hash.o inits.o io.
o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o r
ange.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util
.o variable.o version.o flock.o strftime.o  dmyext.o
dllwrap: no export definition file provided
dllwrap: creating one, but that may not be what you want

Cannot reallocate 1694498816 bytes after allocating 68577308 bytes
make: *** [rubycw.dll] Error 1

あきらめてrbcw144.zipを入れた。

もののけ日記ブラウザでの順番が1つ下がっていた。


02日(日)

WindowsInfo.のM'sさんが窓の杜でソフトレビュー反響無さすぎで拍子抜け(2000/07/01)ってみんな気がついてないとか。 CADって使う人と使わない人がはっきり別れる分野だし。

ActivePerl5.6を入れてみる。 その前にInstMsi.exeのインストール…っていろいろ閉じろっていわれたので、閉じてからインストールして再起動。 それから、PPM Hotfixというのがでてるようなので、とりあえず入れてみる。

DOSKEY.EXEでCtrl+Dにexitを割り当てたらDOS窓の終了がしやすくなった。

改行をvalueに入れてたら改行できてしまうとは知りませんでした。 IE5.0でしか確認してないけど他のブラウザだとどうなのかな?

Rubyを使いたいこともあってCygwin 1.1をネットワークインストールした。 それからインストール後にしたことをメモメモ。

C:\cygwin\bin\cygwin.batの
bash
を
SET CYGWIN="notty binmode ntea nontsec"
cd %HOME%
bash --login
に変更。

mount -b 'c:\home' /homeの実行。
~/.bash_profileと~/.bashrcの作成。

/etc/passwdと/etc/groupの作成。Vineのを参考にした。
/etc/passwdが
hoge:x:500:500::/home/hoge:/bin/bash
のような1行、/etc/groupが
hoge:x:500:
のような1行。

mkpasswdとmkgroupは「欠落エクスポートNETAPI32.DLL:NetApiBufferFreeにリンクされています。」ということで実行できなかった。

Index of perl/packages/5.6に書いてある通り、「ppm install --location=http://www.shonanblue.ne.jp/~kipp/perl/packages/5.6 Jcode 」でJcodeを入れた。

01日(土)

「算数チャレンジャー」に挑戦!#1の第5問今RTCで話題の問題に似ている気がした。

FTP.EXEでパッシブモードにするにはliteral pasvらしい。 って前にもどっかの日記でみたかも(^^;。 literalとかquoteって引数をそのままFTPサーバに送るだけのコマンドだと思っていたら全く思いつかない方法なのですが>FTP.EXE

CVSの新しいのをダウンロードしようとしてdownload.cyclic.comにアクセスしようとしたが、HTTPではつながらず、FTPでならつながった。 買収されてからは日本語の解説ページへのたくさんあったリンクがなくなっていたり、ダウンロードがどうやったらできるのかわかりにくくなっていたり、cyclicはだめだめになってしまった気がする。 で、結局Windows用は新しいものはでていなかった。


過去の日記 1999年11月 1999年12月 2000年01月 2000年02月 2000年03月 2000年04月 2000年05月 2000年06月



RTC担当紅玉杖

© 2000 RTC担当紅玉杖