この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
lessプレゼンはああいうのじゃなくてless プレゼンのすすめを想定していたのですが、IRCで言うときにURLを出さなかったのが敗因かも。
最年少rubyist(RRRWiki調べ)と一緒に昼食会に参加。
日本Rubyの会の話いろいろ。
quickml.comに制限がかかってしまったので、日本Rubyの会でquickmlサーバ希望という話を出してみたらfdiary.netのQuickMLサーバを、という話になって、日本Rubyの会のDNS(のMX)をそっちに向ければいいと言う話になっていたようななっていなかったような感じでした。
nkf が半角カナに弱過ぎなんじゃなくてデフォルトのオプションだと半角カナはないものとして処理するのにcgi.rbに埋め込まれていて変更困難なのが問題なのではないかと。半角カナ対応自体は-Xとか-xとかのオプションがあるぐらいなので、それをつければうまくいくはず。
次の投票はタブをスペースいくつ分にしてるかを希望。RNNはLinkavailable: Ruby,diaryに入っていないのであまりみてないので…。
VMware上なのでたまにupdate。
% irb18 --simple-prompt >> x = [1,[2,[3,4]],5] => [1, [2, [3, 4]], 5] >> a,(b,(c,d)),e = x => [1, [2, [3, 4]], 5]
Gmaneの存在はEmacs関係のメーリングリストで知ったと思います。入っていないメーリングリストを読みたいときにも便利そうです。
smbclient -M hostnameでWindowsにメッセージが送れるという話から止めておいた方がいいという話になってMS03-043: 「メッセンジャー」サービスの停止方法に書いてある手順で停止しておいた。
この記事の最後の方をみて日本語ドメイン名プラグインを入れてみた。こういうのが必要になってくるということはそろそろメインのブラウザをIE(コンポーネントを使ったブラウザ)以外にした方がいいのかもしれない。
0.7の英語版を入れていて日本語版を入れてみたけどメニューとかが英語のままだったのでアンインストールして入れ直し。プロファイルとかを消すようにしてしまったらMozilla関係を数件だけ追加していたブックマークをlost。新しく起動してプロファイルを作成すると日本語で出るようになった。
User-Agentは変えてないのですが…、と思ったら「Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; i-NavFourF; .NET CLR 1.0.3705; .NET CLR 1.1.4322)」になってました。日本語ドメイン名プラグインの影響?
% ruby18 -r tk -e 0
/opt/ruby18/lib/ruby/1.8/tk.rb:676:in `initialize': Can't find a usable init.tcl
in the following directories: (RuntimeError)
C:/cygwin/share/tcl8.4 C:/cygwin/opt/ruby18/share/tcl8.4 C:/cygwin/opt/ruby1
8/usr/share/tcl8.4 C:/cygwin/opt/share/tcl8.4 C:/cygwin/opt/ruby18/library C:/cy
gwin/opt/library C:/cygwin/opt/../tcl8.4.1/library C:/cygwin/../tcl8.4.1/library
This probably means that Tcl wasn't installed properly.
from /opt/ruby18/lib/ruby/1.8/tk.rb:676:in `new'
from /opt/ruby18/lib/ruby/1.8/tk.rb:676
%
VMware上のNetBSD 1.6.1でconsoleのプロンプトが出ないのでなぜかと思ったら、真っ黒なだけだった。Ctrl+Alt+Space Ctrl+Alt+F2で切り替えるとちゃんとプロンプトが出るので、違いを調べてみるとconsoleはTERM=vt100でCtrl+Alt+F2以降はTERM=vt220だった。cshに戻してみるとconsoleでもちゃんとプロンプトが出たのでenv TERM=vt220 zshでzshを起動してみるとconsoleでもちゃんと色つきのプロンプトが出てきた。まずいのはTERM環境変数なのかvt100なのに色を付けようとする.zshrcの設定の方なのか…。
#!/usr/bin/env ruby
# http://www.meigaku.ac.jp/~watayan/prog/java/nanisource.html
# の「何もしない Java applet に毛のはえたやつ」をRuby/Tkに移植したもの
require 'tk'
c = TkCanvas.new
c.pack
maxx, maxy = c.width, c.height
num = (ARGV.shift || 100).to_i
interval = (ARGV.shift || 0.5).to_f
num.times do
Thread.start do
x, y = rand(maxx), rand(maxy)
while true
dx = ((rand * 4.0 - 2.0) * 2).to_i
dy = ((rand * 4.0 - 2.0) * 2).to_i
dx = 0 if x + dx < 0 || x + dx > maxx
dy = 0 if y + dy < 0 || y + dy > maxy
TkcLine.new(c, x, y, x+dx, y+dy)
x += dx
y += dy
sleep interval
end
end
end
Tk.mainloop
[tDiary-devel] Re: Reference to RSS version from <link> elementのあたりでoutput_rdf.rbプラグインにはlinkの出力がつくようになったけど、makelirs.rbプラグインの方にはそういう仕組みがない。つけるにしてもContent-Typeがないと困りそう、と思ったけどtype属性は必須じゃないようなのでなくてもいいのかもしれない。
output_rdf.rbプラグインの出力を確認しようとしてたまたま開いていたmput's essayのソースを見てみたらRSSのlink要素として同じものが2つ。
Mozilla 1.xだとlink要素がツールバーに出せたような…と思って探してみるとextensionsにあったので入れてみた。どこに追加されたのかと思ってよく見てみたらステータスバーのところに追加されていた。ツールバーって言う名前なのに…。それに移動できないのが困る。
りゅうさんがS/MIMEに興味があるということだったのでBecky! S/MIME Plug-inを入れてみた。お試しで使ってみるにはCAとしてkasairugに頼んでみるのがいいのかもしれない。
% ruby -0 -p -e ' gsub!(/^\s*rb_define_const\s*\(mGPGME, "([^"]+)",\s*INT2FIX\(\w+\)\);/, "#ifdef \\1\n\\&\n#endif") ' gpgme_n.c.orig > gpgme_n.c % make clean % make gcc -fPIC -g -O2 -fPIC -I. -I/usr/lib/ruby/1.6/i386-linux -I. -I/usr/include -DHAVE_GPGME_H -c -o gpgme_n.o gpgme_n.c gpgme_n.c: In function `rb_s_gpgme_get_sig_string_attr': gpgme_n.c:1026: warning: assignment makes pointer from integer without a cast gcc -shared -L/usr/lib -o gpgme_n.so gpgme_n.o -L. -lruby -lgpgme -lc % ruby -Ilib examples/keylist.rb lib/gpgme.rb:39:in `check_error': uninitialized constant GPGME_EOF at GPGME (NameError)
ke-gtk2.rbに移植されていたのを見て書き忘れていたのを思い出したけど、ke-tk.rbはしばらくたつとなぜか勝手にエラーもなく終了します。TkcLineが多くなりすぎるとまずい?
7.21(ja)からあげてみよう。
The RWikiで編集しようとしたらtextareaのスクロールバーでこの不具合に遭遇。
Content-Type: text/plain /usr/lib/ruby/1.8/timeout.rb:42:in `new': execution expired (Timeout::Error) /var/www/arika.org-diary/tdiary/tdiary.rb:619:in `eval_src' /var/www/arika.org-diary/tdiary/tdiary.rb:65:in `join' /var/www/arika.org-diary/tdiary/tdiary.rb:65:in `safe' /var/www/arika.org-diary/tdiary/tdiary.rb:618:in `eval_src' /var/www/arika.org-diary/tdiary/tdiary.rb:862:in `do_eval_rhtml' /var/www/arika.org-diary/tdiary/tdiary.rb:812:in `eval_rhtml' /var/www/arika.org-diary/tdiary/index.rb:80 /usr/lib/ruby/1.8/apache/ruby-run.rb:53:in `load' /usr/lib/ruby/1.8/apache/ruby-run.rb:53:in `handler'HTTPレスポンスヘッダを確認しようと思ってw3mで見るとTimeout::Errorが(eval):53:in `retrieve_bugs': getting item was failed (RuntimeError)に変わっていた。一度リロードするとTimeout::Errorになっていた。
HTTP/1.1 200 OK Date: Sat, 22 Nov 2003 04:13:47 GMT Server: Apache/2.0.48 (Debian GNU/Linux) mod_ruby/1.1.1 Connection: close Content-Type: text/plain; charset=ISO-8859-1charset=ISO-8859-1になっているということは表示されてしまったContent-Type: text/plainはHTTPヘッダとしては使われていないと。 /usr/lib/ruby/1.8/apache/ruby-run.rbの行からmod_rubyが使われていると推測でき、だとするとtdiary側でmod_rubyの場合のエラー表示処理がまずい(printがそのまま使われているのではないか)という可能性に気づく。というわけで確認してないけどこんな感じの修正で直るのかも。tdiary-develに投げておこう。
Index: index.rb
===================================================================
RCS file: /cvsroot/tdiary/core/index.rb,v
retrieving revision 1.22
diff -u -p -u -r1.22 index.rb
--- index.rb 25 Sep 2003 02:15:50 -0000 1.22
+++ index.rb 22 Nov 2003 04:19:42 -0000
@@ -110,3 +110,3 @@ begin
rescue Exception
- print "Content-Type: text/plain\n\n"
+ print @cgi.header( 'type' => 'text/plain' )
puts "#$! (#{$!.class})"
レシピの区切りにスペースが許されていないのはファイル名にスペースが入っていても大丈夫なように、ということだったような気がする。
require 'gtk'をrequire 'gtk2'に変えただけでGtk.initを忘れるとまともに動かなかった。カレンダーが表示できるのはいいけど、祝日を赤色にしようと思っても出来そうになくて残念な思いをした。
begin
require 'gtk2'
Gtk.init
rescue LoadError
require 'gtk'
end
window = Gtk::Window.new
window.signal_connect("destroy") {
Gtk.main_quit
}
cal = Gtk::Calendar.new
window.add(cal)
window.show_all
Gtk.main
EOTとかの内容に関係ない文字列になっていることも多いけど、HTMLなどのように内容を表す文字列を区切りにしてmmm-modeとかで適切に切り替わると便利なのに、と思う。
REXMLを使っていると言うことはCDATAを入れるとバグが見つかるかもと思って試してみたら「Tempura::Template.new_with_string(%Q[<x _child_xml_="'foo <![CDATA[cdata]]> bar'"></x>]).expand(binding) #=> "<x>foo bar</x>"」となった。
ブレインストールに空目。それでも何となく意味があってそうなのがこわい。
日記用のXML DTDはないのかという話。ちょっと検索してみたところ、SNS(Share Nikki System)の日記(汎用部)DTD(案)と「土佐日記(Topic Oriented Services for Archiving Diaries)」システムの概要のdml.dtdしか見つけられなかった。
% cat iproxy.rb
#!/usr/bin/ruby
require 'webrick/httpproxy'
class InflateProxyServer < WEBrick::HTTPProxyServer
def proxy_service(req, res)
super
decode_deflate(req, res)
end
def decode_deflate(req, res)
ce = res.header['content-encoding']
if ce && /\Adeflate\z/i === ce
require 'zlib'
res.body = body = Zlib::Inflate.inflate(res.body)
res.header.delete('content-encoding')
res.header['content-length'] = body.length
end
end
end
if __FILE__ == $0
config = Hash.new
config[:BindAddress] = '127.0.0.1'
config[:Port] = 8080
config[:Logger] = WEBrick::Log::new($stderr, WEBrick::Log::DEBUG)
config[:AccessLog] = [
[ WEBrick::BasicLog::new($stderr), WEBrick::AccessLog::COMBINED_LOG_FORMAT ],
]
s = InflateProxyServer.new(config)
shutdown_proc = proc do
s.shutdown
exit
end
trap('INT', shutdown_proc)
trap('TERM', shutdown_proc)
s.start
end
Before...
✑ moriq [-x については言及すべきでしたが忘れてました。 -eS で化けるとこも見せてなかったし…。]
✑ moriq [ツッこんだら Script Error て出た。]
✑ moriq [あれ? こんどは出ない…出力保存しとけばよかった。すみません]