この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
ついにというかやっとというか。
特に気になっているパッケージとしては、wanderlust(wl,wl-beta)が古いまま、cvsupが(libpm3の道連れで)消えた、というあたり。
1行が989バイトより長い行があるとpostfixが勝手に改行を入れてしまうらしい。RFC2822を考慮すると、そんな長い行を送ってしまうMUAの方が悪いとも言えるけど。
その影響で日本語文字列の途中で切られてしまうと文字化けしてしまったり、PGP署名などがあると検証に失敗してしまったりする。
公開されたらしい。
imap = Net::IMAP.new('imaps.example.jp', 993, true,
File.expand_path("~/oreore.certs"), true)
imap.authenticate('LOGIN', ENV['USER'],
File.read(File.expand_path('~/.imapbiff')).chomp)
imap.examine('INBOX')
seen = {}
loop do
new_seen = {}
imap.noop
imap.search(["UNSEEN"]).each do |message_seq|
attrname = "BODY[HEADER.FIELDS (list-id)]"
next if /\.ruby-lang\.org/ !~ @imap.fetch(message_seq, attrname)[0]['attr'][attrname]
envelope = @imap.fetch(message_seq, "ENVELOPE")[0].attr["ENVELOPE"]
from, = envelope.from
subject = NKF.nkf('-j', envelope.subject).gsub(/\s+/, ' ')
str = "imapbiff: #{subject} - <#{from.mailbox}@#{from.host.split(/\./)[0]}...".freeze
new_seen[str] = true
next if seen.key?(str)
puts str
end
seen = new_seen
sleep 10
end
% sudo aptitude install skktools (略) % skkdic-count .skk-jisyo .skk-uim-jisyo .skkinput-jisyo .skk-jisyo: 907 candidates .skk-uim-jisyo: 1207 candidates .skkinput-jisyo: 664 candidates % skkdic-expr2 .skk-jisyo + .skk-uim-jisyo + .skkinput-jisyo > skk-jisyo % skkdic-count .skk-jisyo .skk-uim-jisyo .skkinput-jisyo skk-jisyo .skk-jisyo: 907 candidates .skk-uim-jisyo: 1207 candidates .skkinput-jisyo: 664 candidates skk-jisyo: 1632 candidates % cp skk-jisyo .skk-jisyo % cp skk-jisyo .skk-uim-jisyo % cp skk-jisyo .skkinput-jisyo % rm skk-jisyo % skkdic-count .skk-jisyo .skk-uim-jisyo .skkinput-jisyo .skk-jisyo: 1632 candidates .skk-uim-jisyo: 1632 candidates .skkinput-jisyo: 1632 candidates %
% cat r-setup.sh
#!/bin/sh
set -ex
prefix=$HOME/r
PATH="$prefix"/bin:"$PATH"
# initial dirs
r_init () {
mkdir "$prefix"
}
# checkout
r_checkout () {
mkdir "$prefix"/wc
cd "$prefix"/wc
cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src co -d ruby_1_8 -r ruby_1_8 ruby
cd ruby_1_8
autoconf
}
# build
r_build () {
mkdir "$prefix"/build
cd "$prefix"/build
mkdir ruby_1_8
cd ruby_1_8
"$prefix"/wc/ruby_1_8/configure --prefix="$prefix"
make
make test
make install
ruby "$prefix"/wc/ruby_1_8/test/runner.rb || :
}
# install rubygems
r_rubygems () {
wget -N http://rubyforge.org/frs/download.php/3700/rubygems-0.8.10.tgz
tar zxvf rubygems-0.8.10.tgz
cd rubygems-0.8.10
ruby setup.rb
}
# install rails
r_rails () {
gem install --include-dependencies rails
}
r_init
r_checkout
r_build
r_rubygems
r_rails
%
こっちで確認したのと同じような現象でうまく動かないという話をみかけたので、ツッコミしておいた。
パッチについてはAntiRefererSpam Pluginの作者にメールでも送っておいたので、そのうち直るかも。
#!/usr/bin/ruby -vd
require 'socket'
server = UNIXServer.open('sock')
Thread.start do
server.accept.close
server.close
end
sock = UNIXSocket.open('sock')
sock.puts
% cat g.rb
require 'soap/wsdlDriver'
google_wsdl = 'http://api.google.com/GoogleSearch.wsdl'
@google = SOAP::WSDLDriverFactory.new(google_wsdl).create_driver
@google_key = File.read(File.expand_path('~/.google_key'))
result = @google.doGoogleSearch(@google_key,'nadoka',0,1,false,"",false,'lang_ja','utf-8','utf-8')
e =result.resultElements[0]
p e['URL']
p e.methods.grep(/URL/i)
p e.URL
% ruby -v g.rb
ruby 1.8.2 (2005-04-11) [i386-linux]
/usr/lib/ruby/1.8/soap/streamHandler.rb:82: warning: instance variable @nil not initialized
"http://www.atdot.net/nadoka/nadoka.ja.html"
["URL=", "URL"]
"http://www.atdot.net/nadoka/nadoka.ja.html"
% ruby18 -v g.rb
ruby 1.8.3 (2005-05-24) [i686-linux]
/home/kazu/opt/ruby18/lib/ruby/1.8/net/https.rb:121: warning: method redefined; discarding old edit_path
/home/kazu/opt/ruby18/lib/ruby/1.8/net/https.rb:130: warning: redefine socket_type
/home/kazu/opt/ruby18/lib/ruby/1.8/net/https.rb:157: warning: method redefined; discarding old on_connect
/home/kazu/opt/ruby18/lib/ruby/1.8/soap/wsdlDriver.rb:160: warning: method redefined; discarding old __attr_proxy
WSDLDriverFactory#create_driver is depricated. Use create_rpc_driver instead.
/home/kazu/opt/ruby18/lib/ruby/1.8/soap/wsdlDriver.rb:48: warning: instance variable @logdev not initialized
"http://www.atdot.net/nadoka/nadoka.ja.html"
["uRL", "uRL="]
g.rb:9: undefined method `URL' for #<SOAP::Mapping::Object:0xb7ce17a8> (NoMethodError)
%
ローソンの店舗に行って直接Loppi端末を利用して購入してみた。昼の部と夜の部を同時に指定する方法がわからなくて結局別々に指定したら、個人情報を別々に入力しないといけなくなって非常に面倒だった。Loppi端末が複数指定対応するか、セットのチケットが用意されていれば楽だったのに、と思った。セットのチケットだと後で面倒そうだから、複数指定対応する方が良さそう。
いつものようにRD形式で書いてしまったので、The RWikiに置いてみた。
svk coまでしてしまえば後はcvs up -dPやsvn upのようにsvk pullするだけ。
;;; init-atdot.el --- init file for atdot.
;; http://cvs.sourceforge.net/viewcvs.py/tdiary/contrib/util/tdiary-mode/
;; にある http.el の http-fetch の "</body>" の部分を
;; http-fetch-terminator に置き換えて
;; (defvar http-fetch-terminator "</body>"
;; "content body end mark.")
;; を追加したものを使用。
(autoload 'http-fetch "http")
(defvar atdot-simple-paste-auto-commit-terminator
"http://www.atdot.net/sp/view/"
"sp/commit/autoが必ず返す文字列の一部")
(defvar atdot-simple-paste-auto-commit-url
"http://www.atdot.net/sp/commit/auto"
"sp/commit/autoのURL")
(defvar atdot-simple-paste-auto-commit-result-regexp
"http://www\\.atdot\\.net/sp/view/[a-z0-9]+"
"sp/commit/autoでpasteした結果を表示するためのURLを取り出す正規表現")
(defun atdot-simple-paste-post (beg end)
(interactive "r")
(let ((http-fetch-terminator atdot-simple-paste-auto-commit-terminator)
result-buffer)
(insert
"<"
(save-excursion
(setq result-buffer
(http-fetch
atdot-simple-paste-auto-commit-url 'post nil nil
`(("paste_body" . ,(http-url-hexify-string
(buffer-substring beg end) 'utf-8))))
)
(set-buffer result-buffer)
(goto-char (point-min))
(if (re-search-forward atdot-simple-paste-auto-commit-result-regexp
nil t)
(match-string 0)
(error "paste failed.")))
">"
)))
(provide 'init-atdot)
✑ babie [おぉー、rubyからゴッソリ作るんだ。レンタルサーバ向けですね。]