この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
undefined local variable or method `section' for #<TDiary::MarkdownSection:0x406cec48> (NameError) ./tdiary/markdown_style.rb:40:in `do_html4' ./tdiary/markdown_style.rb:34:in `html4' ./tdiary/markdown_style.rb:158:in `to_html4' ./tdiary/markdown_style.rb:157:in `each_section' ./tdiary/markdown_style.rb:132:in `each' ./tdiary/markdown_style.rb:132:in `each_section' ./tdiary/markdown_style.rb:157:in `to_html4' ./tdiary/markdown_style.rb:150:in `to_html' (erb):22:in `eval_rhtml' ./tdiary.rb:345:in `eval_rhtml' (erb):32:in `do_eval_rhtml' (erb):30:in `latest' ./tdiary.rb:1610:in `reverse_each' ./tdiary.rb:1610:in `latest' (erb):30:in `do_eval_rhtml' ./tdiary.rb:909:in `do_eval_rhtml' ./tdiary.rb:865:in `eval_rhtml' index.fcgi:71 index.fcgi:11:in `each_cgi' /usr/local/lib/ruby/site_ruby/1.9/fcgi.rb:473:in `each' /usr/local/lib/ruby/site_ruby/1.9/fcgi.rb:473:in `each_cgi' index.fcgi:11
japan.linux.com | X用コマンドラインインタフェースで紹介されていたratpoisonというwindow managerを使ってみた。GNU screenを使ったことがないとかなり厳しそう。
GNU screenの中のプロセスが画面サイズの変更で落ちたことがあるため、基本的にktermなどの端末を80x50で開いて使っているので、画面のサイズから相対的に端末サイズが決まるというのは厳しいかもしれない。
最近.screenrcを変更してcaption alwaysにしたのでscreenの中からsshしてscreenにattachすると中のscreenの方は$LINESが1つ小さくなってしまっていて、それで問題が出ないことを確認すれば気にしなくていいのかもしれない。
こっちも古い記事ですがjapan.linux.com | Reiser4のファイルセマンティクス:オープンソースには好機をみて、ファイルACLとか拡張属性とかで単純にファイルの内容をそのまま読み出して書き込むだけだと完全にコピーできないのにコピー用のシステムコールがないのは不便な気がした。
queryのvalueって前は複数同じkeyがあるとjoin("\0")されてる文字列になってたけどいつの間にか変わっていたらしい。
PROMPTの中で$[PROMPTCOLOR=31+($PROMPTCOLOR-30)%6]のように計算するようにしていたらzsh 4.2.1では表示の時以外でも評価されているようで色の変わり方が変になっていたのでprecmdの中でMY_PROMPT_COLOR=$[31+($MY_PROMPT_COLOR-30)%6]のように計算するようにして解決した。
http://www.moonwolf.com/~arcml/ はもう動いてないのかな。
#!/usr/bin/ruby
# ssdp.rb
#
# usage: ssdp.rb [myipaddr [all|wan_ppp_connection|wan_ip_connection]]
require 'socket'
class SSDP < UDPSocket
SSDP_HOST = '239.255.255.250'
SSDP_PORT = 1900
def send_discover(st, mx=3)
send(<<HTTP_REQUEST.gsub(/\r?\n/, "\r\n")+"\r\n", 0, SSDP_HOST, SSDP_PORT)
M-SEARCH * HTTP/1.1
HOST: #{SSDP_HOST}:#{SSDP_PORT}
MAN: "ssdp:discover"
MX: #{mx}
ST: #{st}
HTTP_REQUEST
end
def discover_all
send_discover("ssdp:all")
end
def discover_wan_ppp_connection
send_discover("urn:schemas-upnp-org:service:WANPPPConnection:1")
end
def discover_wan_ip_connection
send_discover("urn:schemas-upnp-org:service:WANIPConnection:1")
end
end
if __FILE__ == $0
require 'timeout'
myipaddr = ARGV.shift || Socket.gethostname
discover_type = "discover_#{ARGV.shift || 'all'}"
p ssdp = SSDP.open
unless ssdp.respond_to?(discover_type)
discover_type = "discover_all"
end
myport = 20000
begin
p ssdp.bind(myipaddr, myport)
rescue Errno::EADDRINUSE
if myport < 20100
myport += 1
retry
end
end
p ssdp.addr
p discover_type
p ssdp.__send__(discover_type)
begin
while true
timeout(3) do
response = ssdp.recvfrom(1024)
p response
puts response[0]
end
end
rescue TimeoutError
end
ssdp.close
end
ローカルにhowmでメモをとっていてその形式をRDにしているので、公開するのにtDiaryスタイルに直すのは無駄だということで、またThe RWikiにおいてみた。
Depends(の一部)が「ruby | ruby1.6 | ruby1.8」になっていて、ruby1.8パッケージだけ入っていてrubyパッケージが入っていないと/usr/bin/ruby1.8はあるけど/usr/bin/rubyはなくて、/usr/bin/rgettextの1行目は「#!/usr/bin/ruby」になっているから実行できないという話。で、どうしてもらえばいいのかはわからず。Debian Ruby Policyを読めばわかるのかもしれない。
連絡先メールアドレスも書いていないので管理者もわからないというのはhiki自体のデザインでつかないようになっている問題のような気がする。
というわけで、MUTOPON7 ANNEXにも連絡先メールアドレスは書いていない、と思ってソースを確認してみたらCopyrightの後ろにHTMLエスケープ漏れらしき<>でくくられたメールアドレスが。
1.7からだったような。(追記:1.5からでした。)
ついでに、次の日のも。RubyConf2004 のmp3はBitTorrentで配布にしてみるとか。大勢が参加してくれるようなものじゃないと難しい?
通知領域の自動更新のツールチップ(チップヘルプ?バルーンヘルプ?)が「更新をダウンロード中: 0%」から変化なし。SP2もダウンロード開始の確認で許可したのにいつの間にかダウンロードをやめちゃってたし、自動更新がうまく動いてないような気がする。
「esehttpd のサイトってどこに行ってしまったんでしょうか。」ってもうちょっとsourceforge のページの周りを見てみればみつかったのに。というわけで移転先のページランクを上げるためにもリンクしてみるテスト。
begin
ostream = StringIO.new
gz = Zlib::GzipWriter.new(ostream)
gz.write(outstring)
ostream.string
ensure
gz.close
end
環境変数SERVER_PORTが0になってるってことは他でも悪影響がありそうだからapache側を直すのが正しいような気が。
pdumpfs-clean: pdumpfs のバックアップを掃除するツールだと「デフォルトでは,最近 7 日分,最近 6 週間の各日曜日,最近 6 ヶ月の各 1 日,最近 2 年の各 1 月 1 日のバックアップを残します.たとえば,2003/05/31 だと 2002/01/01,2002/12/01,2003/01/01, 2003/02/01,2003/03/01,2003/04/01,2003/04/20,2003/04/27,2003/05/01 2003/05/04,2003/05/11,2003/05/18,2003/05/25-2003/05/31 の分を残します.
」となっています。期間のはじめの日のものを残していく、という感じでしょうか。
ブックマークに入れてしまっていたのでhttp://sourceforge.jp/projects/esehttpd/のプロジェクト ホームページのリンクがそのページ自身になっていてhttp://esehttpd.sourceforge.jp/doc/ja/へのリンクはなかったのを忘れてしまってました。最初はproject名.sourceforge.jpへのリンクになっているはずなので、意図的に変えていると思うのですが、内容があるのなら元に戻してもらった方が良いような気が。リンクが増えてたどり着けるようになってしまえばどっちでもいいという気がしないでもないけど。
$?は不要。結論としてはls | grep -ve '-\*-'でいいんじゃないかと言うことで。って書こうとしたときに-eを付け忘れてはまったのは内緒。blockquoteとpreで二重の枠になってて変なのも気づいているけど気にしない方向で。
for f in `ls`
do
grep -e '-\*-' $f >/dev/null
if [ $? -ne 0 ]
then
echo $f
fi
done
✑ それは「-*-を含まないファイル名」ということになってしまっていたのでls | xargs grep -Le '-\*-'で。
Debian の場合は xml-core パッケージで基本的な設定が作られるらしいけど、dh_installxmlcatalogsが入ってなくてちゃんと登録されないパッケージがほとんどのような気がする。確認したものとしてはxbelとglade-2.0.dtdだけだけど。glade-2.0.dtdの方はカタログファイルがないのでどうしようもないけど、xbelの方は/usr/share/sgml/misc/xbel/xbel.catがあるからupdate-xmlcatalogで勝手に登録してしまうというのもありかもしれない。
trap "rm -f $TMPFILE" 0としていたがbasenameを使うようにしてしまったので、不要になった時点とexit前に重複して削除処理を入れるようになってしまった。
出来ればhookスクリプトの例として入っているcommit-access-control.plのように、設定ファイルで汎用的にファイルパターンに対応するチェックプログラムを設定できるように作り直したい。
SVNLOOK=/usr/bin/svnlook
RM_F="/bin/rm -f"
CUT_B="/usr/bin/cut -b"
XMLLINT="/usr/bin/xmllint --noout"
CAT_V="/bin/cat -v"
LOG=`$SVNLOOK log -t "$TXN" "$REPOS"`
[ -n "$LOG" ] || {
echo "must not empty log." 1>&2;
exit 1
}
mktemp () {
/bin/mktemp /tmp/"$(basename $1)".XXXXXX
if [ "$?" -ne 0 ]; then
echo "mktemp failed." 1>&2
exit 1
fi
}
saved_IFS="$IFS"
IFS="
"
for line in $($SVNLOOK changed -t "$TXN" "$REPOS"); do
IFS="$saved_IFS"
first_column=$(echo "$line"|$CUT_B 1)
filepath=$(echo "$line"|$CUT_B 5-)
# echo "first_column=[$first_column]" 1>&2
# echo "filepath=[$filepath]" 1>&2
case "$filepath" in
*.glade|*.xml)
if [ "$first_column" != 'D' ]; then
TMPFILE=$(mktemp "$filepath")
$SVNLOOK cat -t "$TXN" "$REPOS" "$filepath" >>"$TMPFILE"
if [ "$?" -ne 0 ]; then
$RM_F "$TMPFILE"
exit 1
fi
TMPFILE2=$(mktemp /tmp/pre-commit.XXXXXX)
$XMLLINT "$TMPFILE" 2>>"$TMPFILE2"
if [ "$?" -ne 0 ]; then
echo "xmllint error in $filepath:" 1>&2
cat -v "$TMPFILE2" 1>&2
$RM_F "$TMPFILE" "$TMPFILE2"
exit 1
fi
$RM_F "$TMPFILE" "$TMPFILE2"
fi
;;
*)
;;
esac
done
IFS="$saved_IFS"
FC3のvalgrind-2.2.0-3.src.rpmをとってきてredhat9で「allocated_variable_append: Assertion `current_variable_set_list->next != 0' failed.
」とでてそのままだとrpmbuildが通らなかったのはvalgrind-2.2.0/FAQ.txtにも書いてあって、SPECS/valgrind.specのmakeの前にunset CFLAGSを入れて解決した。
以前のバージョンと違ってプログラムを指定するだけだとvalgrind: Missing --tool option
と出てきてチェックしてくれないので、valgrind --tool=addrcheck program args...のように起動して使った。
zshでもsetopt interactivecommentsすれば#で出来そう。今までそんなところにコメントがかけて何がうれしいのかわからなかったけど、ヒストリを検索するときに使えば便利ということだったらしい。
✑ ささだ [オリジナルは bittorrentで配布されてますよ。]
✑ なかだ [rescueは1.5から。]