この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
衣替えとか新新幹線とか大阪マルビルのアレが終わるとか、ICOCAは来月からだからまだだとか、いろいろ変わり目の月替わりです。トリックも気になるところです。地震は今のところ他人事です。
後でまとまること期待。
2分断策探索の方法は最初はもっとバグってたので、もっとテストを追加してチェックしてみないとあやしいです。quick sortのように適当なしきい値で切り替えるようにすれば良さそうな気がしますが、しきい値の決め方が難しい。
マルチバイトがちょん切れる問題は正規表現を使ってると起こりにくい(はず)。
同じパスでWebDAVとsambaが動いていて、Windows XP Home SP1からつなぎに行くと表示の上では区別がつかない。Unicodeなファイル名のファイルをおいておくとWebDAVから見えてsambaからみえなくなるのでsambaに切り替わっていたらファイル一覧で気づく。一度sambaの方につながるようになると/etc/init.d/samba stopなどでも変化無し。仕方がないのでネットワーク接続のプロパティで「Microsoft ネットワーク用クライアント」をオフにして再起動するとWebDAVが見えるようになった。
最小の再現手順と復元手順が絞りきれない。そもそもどっちで見に行くのかユーザの指定を無視しちゃダメ>Webフォルダ
sudo sh -c 'for exe in /proc/[0-9]*/exe; do [ -x $exe ] && ldd $exe | grep ssl && echo $(readlink $exe) ; done'でopensslをチェック。/usr/sbin/sshdが出てこなかったのでdpkg -L libssl0.9.6でlibssl0.9.6に含まれるライブラリは/usr/lib/libssl.so.0.9.6の他に/usr/lib/libcrypto.so.0.9.6があることも確認してgrep libcryptoでもチェックしておいた。
PowerPoint Viewer 97を消してバージョンアップ。安定しているPowerPoint Viewerよりも開いてちょっとみて閉じただけでも落ちるWordViewerをどうにかしてほしいのですが。
「系の chkconfig とか、service にあたるものってないんだろうか。」をみてすぐには思い出せなかったけど、さっき思い出した。使ったことないけど、Linkavailable: Ruby,diaryからリンクされているところのどこかで話題になってたことがあったような気が。
Ruby 1.8.0 変更点はThe RWiki - changes.1.8.0.jaにあるものの方が新しいです。
require 'webrick'
class RedirectServlet < WEBrick::HTTPServlet::AbstractServlet
def do_GET(req, res)
location = 'http://example.net' + req.path.to_s
if req.query_string && req.query_string.size > 0
location << "?" << req.query_string
end
res.set_redirect(WEBrick::HTTPStatus::MovedPermanently, location)
end
end
s = WEBrick::HTTPServer.new(:Port => 8808)
s.mount('/', RedirectServlet)
trap(:INT){ s.shutdown }
s.start
- エクスプローラで CD-ROM ドライブを右クリックして [プロパティ] をクリックします。
- [自動再生] タブをクリックし、ドロップダウンリストで「音楽 CD」を選択します。
- 「実行する動作を選択」にチェックし、「何もしない」を選択して「OK」をクリックします。
VMware上のDebian woodyがpoweroffしても終了しないのでなぜかと思っていたらkernel moduleのapmを組み込んでいないからだった。結局modconfで設定して解決。apmdは最初に入れていたのでそのまま。
require 'pathname'
require 'open-uri'
def m(x)
x.open('r') {|f| f.each_line {|line| puts line } }
end
m Pathname.new("/home/...")
m URI.parse("http://...")
patchutilsのfilterdiffの一番下の例にある「Filterdiff can also be used to convert between unified and context format diffs:
」で変換できそう。filterdiff -v --format=unified context.diff
% ruby18 -rpp -ve '
class Test
def initialize(m)
instance_eval(m)
end
end
Test.new(%Q[pp methods.sort])'
ruby 1.8.0 (2003-10-12) [i386-cygwin]
["==",
"===",
"=~",
"__id__",
"__send__",
"class",
"clone",
"display",
"dup",
"eql?",
"equal?",
"extend",
"freeze",
"frozen?",
"hash",
"id",
"inspect",
"instance_eval",
"instance_of?",
"instance_variable_get",
"instance_variable_set",
"instance_variables",
"is_a?",
"kind_of?",
"method",
"methods",
"nil?",
"object_id",
"pretty_print",
"pretty_print_cycle",
"pretty_print_inspect",
"pretty_print_instance_variables",
"private_methods",
"protected_methods",
"public_methods",
"respond_to?",
"send",
"singleton_methods",
"taint",
"tainted?",
"to_a",
"to_s",
"type",
"untaint"]
% ruby18 -rpp -ve '
class Test
def initialize(m)
instance_eval(m)
end
end
Test.new(%Q[pp self.class.methods.grep(/private/)])'
ruby 1.8.0 (2003-10-12) [i386-cygwin]
["private_methods",
"private_class_method",
"private_instance_methods",
"private_method_defined?"]
% ruby18 -rpp -ve '
class Test
def initialize(m)
instance_eval(m)
end
end
Test.new(%Q[pp self.class.private_methods.grep(/private/)])'
ruby 1.8.0 (2003-10-12) [i386-cygwin]
["private"]
% ruby18 -rpp -ve '
class Test
def initialize(m)
instance_eval(m)
end
end
Test.new(%Q[pp private_methods.grep(/pr/)])'
ruby 1.8.0 (2003-10-12) [i386-cygwin]
["printf", "print", "proc", "sprintf"]
% ruby18 -ve 'class C; p method(:private); end'
ruby 1.8.0 (2003-10-12) [i386-cygwin]
#<Method: Class(Module)#private>
%
% sudo /etc/init.d/apache2 start Starting web server: Apache2Syntax error on line 1 of /etc/apache2/mods-enabled/dav.conf: Invalid command 'DAVLockDB', perhaps mis-spelled or defined by a module not included in the server configurationとなるため、a2enmodでdav_fsを有効にして、正常にsudo /etc/init.d/apache2 start出来ることを確認。 dav_svn.confを編集して
DAV svnとSVNParentPath /var/lib/svnを有効にしてsudo /etc/init.d/apache2 restart。
% sudo mkdir /var/lib/svn % sudo mkdir /var/lib/svn/hoge % sudo svnadmin create /var/lib/svn/hoge % sudo chown -R www-data.www-data /var/lib/svn/hoge % sudo apt-get install cadaver # 確認用 % cadaver http://localhost/svn/hoge/ 最初なのでlsしても何もない % sudo mkdir /var/lib/svn/foobar % sudo svnadmin create /var/lib/svn/foobar % sudo chown -R www-data.www-data /var/lib/svn/foobar % w3m http://localhost/svn/foobar/ % cadaver http://localhost/svn/foobar/
% svn mkdir -m 'setup trunk' http://localhost/svn/hoge/trunk Committed revision 1. % svn mkdir -m 'setup branches' http://localhost/svn/hoge/branches Committed revision 2. % svn mkdir -m 'setup tags' http://localhost/svn/hoge/tags Committed revision 3. % svn ls http://localhost/svn/hoge/ branches/ tags/ trunk/ %
参考にしたところのリンク元はMirage Tower(2003-10-13)。
サーバ側で % sudo /sbin/ifconfig eth1 up % cat /etc/ppp/pppoe-server-options require-pap % sudo cat -t /etc/ppp/pap-secrets "user@vmware.test"^I"*"^I"testpassword"^I"*" % sudo /usr/sbin/pppoe-server -F -I eth1 -L 192.168.45.20 -R 192.168.45.21
クライアント側で $ sudo /usr/sbin/adsl-setup $ sudo /usr/sbin/adsl-start $ /sbin/ifconfig $ ping 192.168.45.20 $ sudo /usr/sbin/adsl-stop
% cat /etc/ppp/pppoe-server-options require-pap ms-dns 192.168.45.2 ms-dns 0.0.0.0 lcp-echo-interval 10 lcp-echo-failure 2 %
VMware4上のwoodyのHDDイメージを別途作った仮想マシンのHDDイメージに上書きコピーして/etc/hostnameと/etc/network/interfacesを変更して別マシンとして同時起動。そしてpap-secretsを違うものにしたpppoe-serverを起動してみた。内蔵のNICはインターネット側につながっているため、PCカードのNICにクロスケーブルで別のWindows XPをつなげて、そこから接続テスト。Windows XPからはそれぞれのpppoe-serverにはつながるものの、同時に2つつなごうとすると「エラー 633: モデム(またはほかの接続デバイス)は既に使用中か、正しく構成されていません。」というエラーでつながらない。フレッツ・スクウェアとのマルチセッションが出来るはずなんだから出来るはずと思ったけど無理そうだったので、フレッツの方を調べてみるとフレッツ接続ツールというものが何かやってそうと思ってダウンロードしようとするとNTT西日本の方は認証があってダウンロードできず。NTT東日本の方はフレッツ・スクウェアにつながないとダウンロードできそうにない。というわけでWindows XPからはあきらめ。
ではLinuxマシンからはどうかということで試してみる。つながったりつながらなかったり。どうもPADIに対するPADOが2つ起動しているpppoe-serverのうち、早い者勝ちになってしまうらしい。目的のpppoe-serverではない方のPADOを受けてしまうとその後の認証で失敗してしまい最終的にPADTで切れてしまう。ちゃんとPPPoEマルチセッション対応のサーバにするにはBAS(Broadband Access Server)のように1つで受けて振り分けないとダメそう。そんなものは用意できないのでとりあえずつながるまで接続(pon)を繰り返してがんばってみる。いろいろ試しているうちにクライアント側に「maxfail 0」の設定があればつながるまで繰り返してくれるので数回のPADIでつながる方のpppoe-serverからPADOを受け取れてつながると言うことがわかった。
zshを起動したままsetup.exeでバージョンをあげたらzsh.exeは4.0.7のままになってしまって、autoloadするライブラリがみつからずにcompinitがエラーになってしまっていた。zshを終了した状態でsetup.exeでzshをReinstallして解決。
vmware-toolsがCPUを食いつぶしてしまうので、起動後に/etc/init.d/vmware-tools restartをしないといけない仮想マシンがある。しなくてもいい仮想マシンもあるけど違いがよくわからない。
さてどうしよう。
本当はちゃんと区別して使わないとまずい?
ztさんとかかれてしまったのをみて、meta name="Author"だけじゃダメだと思って、圏外からのひとことの書いている人のようなものを「ヘッダ」部分に入れてみた。
Win32APIが呼べないのなら(Windows版の)dl.soって何のためにあるの?という疑問が出てきてしまいます。使い分ける必要があるのならどちらの呼び出し規約なのか自動的に判別する仕組みのようなものがほしいという話もあります。とりあえずdl.soのsampleがまずいという話はMLに持って行った方がいいのかもしれない。
Mirage Towerと同じく今日のなんでやねんより。
_の入ったダメドメインで問題がある場合はhttp://members.at.infoseek.co.jp/genpatsu_shinsai/hirai/index.htmlでも見えるようです。
「調べてみると、電子メール関係の日本ユーザ会は数えるほどしかありません。そこで、本ユーザ会では Courier に限らず、電子メールについての様々な話ができるように方向付けていきたいと思っています。
」ということでCourier限定でなくてもいいらしい。
これが一般のページも保存するようになればインターネット公知に使えるのかもしれません。
最近のPerlだと文の末尾に必須じゃなくて文と文の間には必須だと思っていたのですが。}の直前の;とかが省略できるはずなので。
ちょっと試してみたらperl -le 'print 1; {print 2} print 3'という感じで}の後も;無しに出来るようなので{}を使いまくれば;無しで書くことも可能?(無駄)
% cat memorize.rb
#!/usr/bin/ruby
$KCODE = 'e'
require 'sixamo'
sixamo = Sixamo.new(ARGV.shift)
ARGF.each do |str|
sixamo.memorize(str)
end
% ruby18 memorize.rb datadir sixamo.rb
./sixamo.rb:491:in `learn': undefined method `empty?' for nil:NilClass (NoMethodError)
from ./sixamo.rb:490:in `each'
from ./sixamo.rb:490:in `learn'
from ./sixamo.rb:486:in `each_with_index'
from ./sixamo.rb:486:in `each'
from ./sixamo.rb:486:in `each_with_index'
from ./sixamo.rb:486:in `learn'
from ./sixamo.rb:447:in `learn_from_text'
from ./sixamo.rb:266:in `memorize'
from memorize.rb:7
from memorize.rb:5:in `each'
from memorize.rb:5
%
% ruby -r gtk2 -e 0 /usr/local/lib/ruby/site_ruby/1.8/i386-cygwin/glib2.so: [BUG] Segmentation fault ruby 1.8.0 (2003-08-04) [i386-cygwin] %
centrinoだと821442 - Q815485 適用後 WEP キーを使用してアクセスポイントに接続できなくなるの問題にひっかかるようなので躊躇していたが、Windows Updateで入って一度消していたQ815485を再び入れてみた。そしてWPA-PSKでの接続テスト。……。つながらなかった。Windows XP側が悪いのかアクセスポイント側が悪いのかわからない。こんな調子だとWPAはまだまだ厳しい。
% which cygruby18.dll cygwin-ruby18.dll /usr/bin/cygruby18.dll /usr/local/bin/cygwin-ruby18.dll %
「作業中のファイルは Subvertionレポジトリにあります。」というtypoが。似たようなものとして、pdumpfsの中のVFileモジュールというのがあったのを思い出しました。
VFSがこういうものの下位層として使えるようになるといいのかもしれません。
oocpとの組み合わせが出来れば簡単にバックアップスクリプトが出来そうと言う気もします。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>502 Proxy Error</TITLE> </HEAD><BODY> <H1>Proxy Error</H1> The proxy server received an invalid response from an upstream server.<P> The proxy server could not handle the request <EM><A HREF="/simm/d/">GET /simm/d/</A></EM>.<P> Reason: <STRONG>Could not connect to remote machine: Connection refused</STRONG><P> </BODY></HTML>
今日のなんでやねんより。表示だけならlessよりもlv -cの方が色も付けられていいのではないかと思いました。
% which cygruby18.dll cygwin-ruby18.dll
cygruby18.dll not found
/usr/local/bin/cygwin-ruby18.dll
% ruby -r gtk2 -e 0
/usr/local/lib/ruby/site_ruby/1.8/i386-cygwin/glib2.so: dlopen: Win32 error 126
- /usr/local/lib/ruby/site_ruby/1.8/i386-cygwin/glib2.so (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/glib2.rb:18
from /usr/local/lib/ruby/site_ruby/1.8/gtk2.rb:1:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/gtk2.rb:1
%
「--raw-control-chars --RAW-CONTROL-CHARS Output "raw" control characters.」というのがあるとは知りませんでした。幅計算がずれないのかどうかが気になるところです。
2003年08月の雑感のFOX GUI Toolkitとその下のRuby:FXRubyを参考にしてfox-1.0.46.tar.gzとFXRuby-1.0.26.tar.gzを入れてみた。test/runner.rb --runner=foxを実行すると処理中に表示が更新されなくて悲しい感じ。日本語はShift_JISで書いたらそのまま表示されてしまった。これでいいんでしょうか?
fox-unicodeというのを使うとUTF-8でかけるようですが、最近は更新されていないようです。
Ruby/Tkの勉強をかねて作ってみた。プログレスバーが偽物とかTkTextが折り返し表示をしてるから横スクロールバーが意味ないとかの問題が残ってますが、実用にはなりそうな感じにできあがりました。
RDocのAuthorやCopyrightって追加したい場合はどうすればいいのかよくわからなかったので、とりあえずCopyrightの行だけ増やすことにしてみた。
test/runner.rbで使ってみるとtest_signal.rbでSIGINTがUIの方のスレッド(メインスレッド)に送られてきてテストのスレッドに行かなかったためテストが途中で止まってしまった。この問題を回避しようとしてrun_suiteをスレッドに入れずに実行するとfox/testrunner.rbのようにテスト中は表示が更新されないし…。
expr "`cat version.h`" : '.*\([0-9]\.[0-9]\.[0-9]\)' expr "`head -n 1 version.h`" : '.*\([0-9]\.[0-9]\.[0-9]\)' expr "`grep 'RUBY_VERSION ' version.h`" : '.*\([0-9]\.[0-9]\.[0-9]\)'
待ち合わせ場所も同じ場所かと思っていたら微妙に違っていて集合時刻にちょっと間に合わず。迷っていたもりきゅうさんと合流した後、PCを開いて地図を確認したら階段の反対側だと気づいて移動して集合場所に到着。
鍋が温まるのを待つ間に自己紹介。そして食事。若いグループ(謎)が一番早く食べ終わっていた。みんな食べ終わった後ぐらいからデバッグが始まる。日経BYTE(のまつもとさんの記事)を読んだ。終わった後にサイン会。Ruby本1冊、ノートPC2台だったかな。
✑ どこぞの446 [俺がリンク張ったやつですね(w ちなみにIE5.0でも斜体に見えてました]
✑ ただただし [うちの日記? >rcconf]