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


2004年04月02日(Fri)

[mail] VirusBuster for @nifty Mail

40KBもあるwormがメールボックスがあふれるほどくるので、POPでの保存期間を短くするだけではなく、VirusBuster for @nifty Mailを設定してみた。

wormが検出されるとworm本体のpartが駆除したメッセージに置き換わって「VirusBuster for @nifty Mail Virus check report このメールの添付ファイルは、ウイルスに感染している恐れがあります。」というメッセージのパートが頭に追加されたメールがくるようで、受け取る通数自体は変わらなさそう。


2004年04月03日(Sat)

[Linux] grub

grub-install '(hd0)'/dev/sda1 does not have any corresponding BIOS drive.というエラーメッセージが出るので、エラーメッセージでぐぐって調べてみたところ、grub の corresponding エラー/boot/grub/device.mapのエントリが不足しているのが原因と書いてあったので確認してみたところ空だったので、消してgrub-install /dev/sdaを再実行したらdevice.mapも再生成されて解決した。

[Ruby hotlinks] エラーとか

http://ll.jus.or.jp/ のtitleがとれてないっぽいのと、Onigurumaのページで(たぶん</html>の後ろにも要素があるから)エラーになっているのが気になる。
|2004-04-03T06:50:34+09:00 examine ERROR: multiple elements (HTree::Error) http://www.geocities.jp/kosako1/oniguruma/index.html
| ../../samidare/htree/htree/doc.rb:76:in `root'
| ../../samidare/htree/htree/traverse.rb:198:in `author'
(以下略)

2004年04月04日(Sun)

[off] Rubyお花見@関西の方

MLには入っていないので連絡はしていませんでしたが、自分の中ではある程度予想していた通り遅れて到着。家からは1時間半ぐらいかかりました。

京阪の駅から歩いて蓼倉橋(読めない)まで着いたけどまだ見つからなかったので、まだ北かどうかと川の西側か東側かの確認のため電話。

無事到着。遅かったので自己紹介とかはおわってしまっていたらしい。

なぜか椰子の実。あの後どうなったんだろうというかどうしたんだろうというか。

文字列とかバイト列の話で、MIMEでエンコーディング混在とかBOMとかどうするんだろうという疑問を出してみたり。

らぐやねんとお花見をみながら少しだけ思い出してみる。

diffをアニメーションというのは、最初は廃れるリンクのようなものかと思ったら、ホワイトボードに書いていくようにだんだんと書き換えられていくというイメージだったらしい。これだけだとttyrecで出来そうだけど、もっとホワイトボードみたいであるべきというのが前にあるので、文字だけというのは違う気がする。

どうでもいいけど四条は人多すぎ。

[ruby] 3タブ

3タブ同盟用設定。tab-widthは思い出せたけど、タブを使う設定のindent-tabs-modeが思い出せなかったんでした。
# Local Variables:
# mode: ruby
# indent-tabs-mode: t
# tab-width: 3
# ruby-indent-level: 3
# End:
# vi: ts=3 sw=3

[XML][RDF][RSS] RSS Parser

http://slashdot.jp/slashdot.rdf でエラーになったので原因を調べてみると、どうも要素の順番に依存しているらしいと気づいたので、IRCできいてみると順番に依存しているRSS Parserの方が悪いと言うことで報告メールを出しておいた。


2004年04月06日(Tue)

[Linux][debian] kernel 2.6.x

sargeには2.6.3までのkernel-imageがあったので2.6.3を入れてみた。startxで/dev/mouseがないというエラーが出ていたので困っていたが、Debian GNU/Linux スレッドテンプレのTipsにmousedevとpsmouseを/etc/modulesに追加すればいいと書いてあったので解決した。

[Linux][debian] df -P

dfとかdfとかみると「Mounted on」が訳されてしまってるのと「-k」無しの時にも1024-blocksなのはPOSIX的にあんまりよくない気がする。
% df -P | head -1
Filesystem         1024-blocks      Used Available Capacity マウント位置
% df -Pk | head -1
Filesystem         1024-blocks      Used Available Capacity マウント位置
% dlocate $(which df)
coreutils: /bin/df
% dlocate =df
coreutils: /bin/df
% dpkg -l coreutils|grep ^ii
ii  coreutils      5.0.91-2       The GNU core utilities
% 

[FreeBSD] df -P

FreeBSD 5.1-RELEASEだと「1K-blocks」になっていた。ヘッダなんてどうでもいいのかもしれない。
% df -P | head -1
Filesystem  512-blocks      Used    Avail Capacity  Mounted on
% df -Pk | head -1
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
%

2004年04月07日(Wed)

[Linux] man -a man

セクションの意味はman -a manでmanのmanの全セクションをみれば少なくともどこかにのってるはず。


2004年04月08日(Thu)

[cygwin] Updated: xorg-x11-*-6.7.0.0-1

cygwinのXがXFree86(4.3.0)からxorg-x11(6.7.0.0)になったらしい。

[ruby] Re: Ruby リファレンスマニュアルの検索ツール

riとReFeはまったく別々のもののような気が。


2004年04月09日(Fri)

[web] 変なもの

似たようなもので以前にみたことあるものは時間が経つと薄くなっていっていました。

[Linux][ruby][GTK2] fork&exec問題

Gtk2でforkした後に親プロセス側が終了してもwindowが残ってしまう。子プロセス側がexecしていると大丈夫。でもexecしても閉じていないfdがあるので、execした後の処理によっては問題が起こりそう。

GLib の拡張によるとGLib の g_spawn_* 関数たちを使うと解決?

[Linux][ruby][GTK2] locale問題

SystemCallErrorのmessageがlocaleに従ってEUC-JPで入っていて、それをそのままGTK2に渡すとInvalid UTF8 string passed to pango_layout_set_text()というエラーになってしまった。これはGLib.locale_to_utf8で解決した。


2004年04月10日(Sat)

[net] 2038年問題

2038年問題が身近なところでも少しずつ起き始めているらしい。メールの(間違った)Dateが2038年を超えている場合、RSSのdc:dateが2038年を超えている場合(例:http://d.hatena.ne.jp/ryouen/rss)など。

元のデータの時点で正しいデータがついていないもの(http://d.hatena.ne.jp/ryouen/rssの空のdc:dateやメールのDate: %CURRENT_DATE_TIMEなど)は通常のエラー処理で対応できるとしても、ちゃんとした未来の日付がついているものを扱えないというのは困る。

[ruby] 2038年問題対策

rubyの場合はTimeの代わりにdate2.rb(1.8ではdate.rb)のDateTimeを使えばよさそう。

[web] textareaで好きなエディタを使う方法

mozillaやIEは外部エディタを使うように出来るらしいのでそういうあたりをまとめてみました。Operaとかはわかりません。
firefoxなど(mozilla 1.6でもOKでした)
firefox からエディタを利用する方法などを参考にしてmozexという拡張を使う。mozex自体はmailerなどの設定も出来る拡張。
Internet Explorer(もしくはIEコンポーネントを使ったブラウザ)
ishinao.net/mylog - extedit - Webブラウザの入力フォームで好きなエディタを使う
w3m
configure時の--with-editorで設定するか、oで出てくるオプション設定の外部プログラムのところで設定する。
emacs-w3m
何もしなくてもemacsで編集できます :-)

[web] mozex

ブラウザ側でちょっと入力してから開く場合はエディタ側が自動認識でutf-8にしてくれて問題なかったけど、空の状態から開くとUTF-8にならなかったので、textareaをクリックしたときにエラーになっていた。エディタで開いてるのを忘れていてtextarea側を直接編集してしまうとクリックし直した時にエディタ側の内容で上書きされてしまうなど意外と使いにくいかもしれない。


2004年04月13日(Tue)

[ruby] rbbr

自分でmake installしているruby 1.8の環境に最新版を入れてみたらNo ri documentation foundとか言われたのでmake install-docすると起動できるようになった。クラス階層とかの表示だけならri無しでも起動できた方が良さそうな気がするけど、ドキュメントの入れ忘れを防止するためには今のままの方がよさそう。

ruby-gnome2関連のドキュメントも表示できるようにするにはどうすればいいんだろう?

[ruby] GConf2

内部のgconf_*の呼び出しにGErrorを使っていないのはerror_default_error_handler経由でGConf::Errorにするためらしい。

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

むとぽん [withapiパッケージでインストールすればそのまま表示できると思います。 error_default_error..]


2004年04月14日(Wed)

[mail] ヘッダのみのメールを受信した時のエラー

@niftyのメールサーバでtelnetでRETRしても受信できないメールがあるのはこれが原因かもしれない。telnetの行末のネゴシエーションも影響するとはかなり予想外。

[ruby] rbbrでruby-gnome2のドキュメントも表示

withapiパッケージでインストールすればいいということだったので、自分でmake installしているときにはどうすればいいか調べてみると、http://ruby-gnome2.sourceforge.jp/data/ruby-gnome2-api.tar.gzにwithapiと同じものがあるということだったので、とってきて展開してみるとruby-gnome2-apiというディレクトリの中に拡張子無しのHikiのRD+形式のファイルが出てきた。それをインストール先のshare/rbbr/rdの直下にruby-gnome2-apiというディレクトリは無しでおいてみるとちゃんとrbbrで表示されるようになった。英語だけど。


2004年04月17日(Sat)

[Ruby hotlinks] 五月雨 update

五月雨も Tempura を捨てて HTree のに移行したということでテンプレートの変更をした。影響があったところをまとめるとこういう感じでした。
Tempura (0.1.0)HTreeのtemplate engine
_self_
例:<span _self_="Time.now">Last-Modified</span>
_text
例:<span _text="Time.now">Last-Modified</span>
spanで属性なしの場合は単純に置き換えるだけ。
_child_
例:<h2 _child_="category">category</h2>
_text
例:<h2 _text="category">category</h2>
span以外または属性ありのspanの場合は置き換えるだけ。
_block_="…//each//vars"
例:"[ ... ]//each//category,entries"
_iter="….each//vars"
例:"[ ... ].each//category,entries"
/で終わる正規表現で//になることがあるとTempuraではエラーになっていた(%rで回避可能)が、HTreeでは大丈夫のよう。
_if_ _if 単純に置き換えるだけ。

[samidare] rb-link

samidareの実行ファイルを作るrb-linkがruby 1.9.0 (2004-04-14) [i686-linux]だとうまくいかなくてrequireの内容が展開されずにAutoFileを参照しているところでエラーになっていたが、ruby 1.8を使って解決した。


2004年04月19日(Mon)

[ruby] LC_TIME

env LC_TIME=ja_JP.eucJP ruby18 -r glib2 -e 'puts Time.now.to_s'で日本語になってしまうという問題にはまった。原因はInit_glib2の中でsetlocale(LC_ALL, "");でlocaleの設定をしていて、Time#to_sで使っているstrftimeが影響を受けるから。

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

むとぽん [むむむ。 ひょっとしてsetlocaleはLC_CTYPEオンリーの方が良いのですかね...。]


2004年04月20日(Tue)

[ruby][nadoka] message.nb

nadoka用プラグインとして伝言係を作ってみた。plumとかのように問い合わせないと答えてくれないのは不便なので、発言したら勝手に伝えてくれる方式。nick詐称で伝言を取り出せてしまうのが難点。

nadoka側からホスト名部分とかも取り出せるようになったとして、伝言相手かどうかの確認はどうすれば? 伝言を入れるときにホスト名の部分まで含めて指示してもらうというのは現実的じゃないし。


2004年04月21日(Wed)

[ruby] Dir.glob

Dir.globでMaildirのnewの中のファイルとcurの中の「,」で終わるファイル(未読でフラグなども付いていないファイル)を一度に取得しようとDir.glob(File.expand_path("~/Maildir/{cur/*\\,new/*}"))のようにしてみたが、うまくいかなかった。仕方がないのでcurとnewを別々に処理することにした。

zshの場合はecho ~/Maildir/{cur/*\,,new/*}で期待通りのglobが出来る。

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

なかだ [,が一つしかないような。]


2004年04月24日(Sat)

[zsh] zshのホスト名補完強化

入れてみた。グローバルIPアドレスはIPv6しかなくてIPv4は別途定める名前で別ポートに接続しないといけないマシンの対応のため、~/.ssh/configで以下のような感じの設定をしていて、それも補完候補に出てきてしまうのがちょっと不便かもしれない。補完にじゃまにならないようなHost指定に変えてしまうのがいいのかもしれない。
Host hoge.example.net
        Hostname hoge.dynamic-dns.example.jp
        Port 13022

[Ruby hotlinks] 空白

テンプレート中の空白なテキストノードは基本的に全部削除の影響で必要な空白まで削除されてしまってくっついてほしくない要素までくっついてしまう。&nbsp;を入れてしまうと空白なテキストノードではなくなって飽きすぎてしまうし、<![CDATA[ ]]>を入れても空白なテキストノードと見なされて消されてしまう。回避策が思いつかなかったので、更新時刻のJSTとtitleがくっついたままになっている。


2004年04月25日(Sun)

[ruby] refe-0.8.0

ruby18 setup.rb -q config; ruby18 setup.rb -q setup; ruby18 setup.rb -q installでインストールしているとmkrefe_rubysrcとmkrefe_mfrelationが#!/usr/bin/env rubyとなっているため失敗してしまう。

[Ruby hotlinks] 空白の入れ方

&#32;<span _text="' '"/>を使えばいいという話だったので入れてみた。

[Ruby hotlinks] オリジナルのtemplate変更点のマージ

空白の追加のついでにinfo([NoIMS]とか[NoLM]とか出ているところ)の位置がリンクの前から後ろになっていたのも取り込んでみた。

[ruby] Dir.glob

,の数\の数は変えても結果に,で終わるcurの中のファイルが入らないという点は変わらなかったです。Dir.glob(File.expand_path("~/Maildir/{cur/*\\,,new/*}"))だと"/home/kazu/Maildir/"が入るようになるので、,,のところで3つに分割されてしまうようです。

結局globだけで解決しようとするとDir.glob(File.expand_path("~/Maildir/cur/*,\0~/Maildir/new/*"))として2つのパターンにするしかなさそうです。


2004年04月27日(Tue)

[ruby] ファイルから 1行ランダムに選択する

赤ラクダ本に載っていたファイルからランダムに1行選択するアルゴリズムを探していたら、Perlメモのファイルから 1行ランダムに選択するにのっていた。

これをrubyで書き直すのに引数ありのrandの返値がPerlだと実数でrubyだと整数なので困ってしまった。

重み付けありにしたかったので、整数のままではまずく、第一段階としてrand*filenolineno<1というのを考えていたら、重み付けありの方をselected = nil; total = 0; enum.each {|e| w = weight(e); selected = e if rand * (total += w) < w}のようにすればいいと教えてもらえたので、このアルゴリズムをそのまま使わせて頂くことにした。

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

nagata [大凶大凶また大凶]


2004年04月29日(Thu)

[Linux] 実行属性の付いたMakefile

debianパッケージを作成するときに実行するdebian/rulesファイルは1行目が#! /usr/bin/make -fになっていて実行属性が付いている。これ以外で実行属性をつけているMakefileをみたことがないような気がする。


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