ssh-host-configを実行すると/etc/ssh_host_*key*や/etc/ssh{,d}_configなどが生成されて、/etc/inetd.confに追加された「ssh stream tcp nowait root /usr/sbin/sshd -i」がコメントアウトされていたので頭の「#」を消して有効にして、「inetd -d」を実行。
別途起動したttsshからつないでみたらつながった。「~/.ssh/authorized_keys」のパーミッションを600に出来ないのは気にしなくても大丈夫だったみたい。
hotmailな方からメーられる。「REM > HOGE」でも出来るので、コメントにうっかり「>」を使うと…というようなことが書いてあった。「UNIXでは : > hoge」とかも見ておくといいのかも。
remを避けたかったのはMS-DOS 3.3の頃になかったからだけど、古いもの(DOS 3.3)の互換性を考えると新しいもの(cmd.exe)との互換性も強くなることがあるという例になってるかも。
それってどれ?って感じですが、jaだけというのは変更するときにちょっと考えてみただけで、どこかで出ていた話というわけではないです。
lqqqqqqqqqqqqqqqqqqqqqqu Configuring Kinput2-common tqqqqqqqqqqqqqqqqqqqqqqk
x Debian パッケージ版の Kinput2 では、システムデフォルトとして使用される x
x キーバインディングを "Kinput2" と "Egg" の 2 種類から選択することができ x
x ます。前者が Kinput2 オリジナルのキーバインディングですが、Emacs 上で x
x Egg を使用しているユーザには、後者の方が使いやすいでしょう。 x
x x
x Kinput2 のシステムデフォルトキーバインディング x
x x
x Egg x
x Kinput2 x
x x
x x
x <Ok> x
x x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
lqqqqqqqqqqqqqqqu Configuring Ttf-xtt-wadalab-gothic tqqqqqqqqqqqqqqqqk
x x
x TTCap 記法を利用した fonts.dir を用いるか、通常のものを利用するか x
x 選択できます。 x
x x
x TTCap 記法を利用したものとそうでないものには、以下にあげるいくつか x
x の違いがあります。説明を読んで、どちらの fonts.dir を利用するか x
x 決めて下さい。 x
x x
x 1. TTCap fonts.dir は 通常 fonts.dir と非互換です。 x
x x
x 2. TTCap 記法を利用すると TrueType フォント固有の属性をユーザが x
x 自由にコントロールすることによって、グリフの自動変形といった x
x 機能を実現できます。これにより、様々なフォントを仮想的に作り x
x だすことができます。 x
x x
x x
x 3. TTCap の利用は xtt バックエンドモジュール もしくは xfs-xtt を x
x 要求します。XFree86 4.0.x に含まれる freetype フォントレンダ x
x リングエンジンや通常の xfs (xfs には freetype エンジンと同等 x
x のものが含まれています) は TTCap をハンドリングすることがで x
x きないため、xtt モジュール もしくは xfs-xtt を利用しなければ x
x なりません。 x
x x
x x
x TTCap 拡張を用いた fonts.dir を利用しますか? x
x x
x TTCap 拡張を用いた fonts.dir を利用しますか? x
x x
x <Yes> <No> x
x x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
<URL:http://www.nifty.ne.jp/forum/fprog/>みたいな<URL:...>っていう書き方を時々見かけるけど、元は何だろう?
()でくくるのと違って「>」はそのままではURLに含まれない文字なので、URLの終端誤認識の問題が無いのは()よりよさそう。
こんな感じのaliasを設定したらcd以外でも使えるようになってちょっと便利になった。command.comと違ってパスの途中に使えないのは不便だけど。
alias -g ...=../..
alias -g ....=../../..
alias -g .....=../../../..
alias -g ......=../../../../..
alias -g .......=../../../../../..
alias -g ........=../../../../../../..
Apollo MLで「apolloを使う人がRuby/tkを使うとは思えないので、./configure を走らせる時にtkのバインドを無効にしたかったのですが、やり方が分かりませんでした。」という話があったので、--disable-tkとかやってみたがダメだった。
extの下をみても自動で生成されるようなのでファイルを消すぐらいしか無効にする方法がなさそうな気がした。
こんな感じで/etc/rc.d/init.d/xntpdを変更してみた。
--- xntpd~ Sun Jun 3 17:15:42 2001
+++ xntpd Sun Jun 3 17:16:36 2001
@@ -26,6 +26,9 @@
if [ -f /etc/ntp/step-tickers ]; then
echo -n "Syncing time for xntpd. "
/usr/sbin/ntpdate -s -b -p 8 -u `cat /etc/ntp/step-tickers`
+ else
+ echo -n "Syncing time by ntpdate. "
+ /usr/sbin/ntpdate -b -s ntp3.jst.mfeed.ad.jp
fi
# Start daemons.
echo -n "Starting xntpd: "
「RFCで推奨されているものらしいです」というので、どのRFCか気になったのですが、そういえばオライリーの「電子メールプロトコル」の「2.3.1.2 ヘッダの順序」の「Return-Path, Received, Date, From, Subject, Sender, To, CC, その他」の順序が推奨っていうのもどのRFCに書いてあるのかわからなかったのを思い出しました。
「RFC1738 `Uniform Resource Locators (URL)' だ.`For this purpose, is recommended that angle brackets ("<" and ">"), along with the prefix "URL:", be used to delimit the boundaries of the URL.' っていう下り.」ということらしい。
autoload -U compinit; compinitをしてしまうとcdでの補完の候補にcdpathの下も入ってしまうのが嫌なのでcvsなどの自分で定義するのが難しいものだけとりこみたいけど、どうすればいいのかわからない。
shsってスクラップでしたか。ワードパッドでもできるので、素のWindows 95からかも(未確認)。
Sushi Diary (2001-05-01)って1ヶ月分なのに日がついてる…。
そういうことなら複数のRPMに分けるようにするのがいいのかも。Vineのrubyは一つのSRPMから複数のRPMが出来るようになっているはずなので、specを参考にすれば簡単に出来ると思います。
こんな感じで .html.gz なファイルも作ってみた。とりあえずn日記のみ。リンクもいじらなきゃダメかも。
.gz対応のUAの場合はとりあえずindex.html.gzを見るようにすれば軽くなるかも。
HTML_FILES=$(wildcard ../*.html)
GZIPED_FILES=$(addsuffix .gz,$(HTML_FILES))
pack-diary: $(GZIPED_FILES)
%.html.gz: %.html
gzip -c9 $< > $@
過去の雑記帳がiso-2022-jpなのにcharset=euc-jpと指定されてて文字化け。
書き忘れてたけど、ref=hereのhereを置き換えた後のリンクを使われた場合、hereの置き換え後が相対リンクだと破綻してしまっていた。やはり元に書いてあるとおり絶対リンクじゃないとダメだったみたい。絶対リンクでもref=hereじゃなくなっているという問題は残るけど。
withの話の時にあった . で始めると省略とみなすっていうのは、withがないときは self の省略だとみなすようになると、GUIライブラリとかでちょっと楽になるのかも。
ファイル置き場のディレクトリに独自のindexをおかないでFancyIndexingを使う利点は、ソートが出来る、よく見るので利用者が使い慣れてそう、ファイルが増減したときにいちいち書き換える必要がない。
http://deb.ruby-lang.org/debian から http://deb.ruby-lang.org/debian/ にredirectしてくれればいいのに、と見るたびに思う。
本日のRefererの数字って何だろう?と思ったけど、どうもアクセス数っぽい気がした。
どうせならtitleも付けてくれると便利かも。取得するのが大変そうだけど。大変な割には便利じゃないかも。
登録できないメールアドレスの「DDI POCKET系 ***@pdx.ne.jp」って「@di.pdx.ne.jp」と差別してる?
携帯電話とかのアドレスについては、まぐまぐの小型携帯端末のアドレスが一番詳しいと思う。
Received: from mails1.mmz.kantei.go.jp (202.212.115.161)
by mbf.nifty.com
with SMTP;
Thu, 14 Jun 2001 07:36:56 +0900
「sshがちゃんと終わらない」(近況 01/06/12)、っていうのはWindows 9xだからかも。
scpが終わらないので、別途killしたことも。
面倒だからsambaで転送した後scpっていう方が多い。
Rubyのレポジトリを公開するのに使われているknu-cvswebの1.106.1.74をインストールして、RWikiのデータ専用と言うことでとりあえず表示はurldecodeするように改造してみた。
colored diffとannotateのように個別に対応しないといけないものは見落としがあるかも。
--- install-cvsweb.cgi 2001/06/14 20:57:37 1.1
+++ install-cvsweb.cgi 2001/06/14 21:49:23 1.3
@@ -129,2 +129,3 @@
sub urlencode($);
+sub urldecode($);
sub htmlquote($);
@@ -1231,3 +1232,3 @@
- sprintf '<A HREF="%s">%s</A>', hrefquote($url), $name;
+ sprintf '<A HREF="%s">%s</A>', hrefquote($url), urldecode(urldecode $name);
}
@@ -1472,3 +1473,4 @@
navigateHeader($scriptwhere,$pathname,$filename,$rev, "annotate");
- print "<h3 align=center>Annotation of $pathname$filename, Revision $rev</h3>\n";
+ print "<h3 align=center>Annotation of $pathname",
+ urldecode($filename), ", Revision $rev</h3>\n";
@@ -2460,3 +2462,3 @@
- html_header("CVS log for $where");
+ html_header("CVS log for " . urldecode(urldecode $where));
($upwhere = $where) =~ s|(Attic/)?[^/]+$||;
@@ -2634,3 +2636,4 @@
- print "<h3 align=center>Diff for /$where_nd between version $rev1 and $rev2</h3>\n",
+ print "<h3 align=center>Diff for /", urldecode($where_nd),
+ " between version $rev1 and $rev2</h3>\n",
"<table border=0 cellspacing=0 cellpadding=0 width=\"100%\">\n",
@@ -3074,2 +3077,11 @@
s/[\000-+{-\377]/sprintf("%%%02x", ord($&))/ge;
+
+ $_;
+}
+
+sub urldecode($) {
+ local($_) = @_;
+
+ tr/+/ /;
+ s/%([0-9A-Fa-f]{2})/chr(hex($1))/ge;
「#!/usr/bin/ruby --」と間違えて「#!/usr/bin/ruby -」としてしまって、しばらく悩んだ。
原因は、直接実行すると「/usr/bin/ruby - client.rb」なので標準入力を実行してしまうから。
「-」以外のオプションが「#!」の行かコマンドラインに少しでもつくと入れ替わりは起こらない。
% cat arg.rb
#!/usr/bin/ruby -
p ARGV
% ruby -v arg.rb foo
ruby 1.6.4 (2001-06-04) [i386-linux]
["foo"]
% echo 'p [ARGV]' | ./arg.rb foo
[["./arg.rb", "foo"]]
% cat arg2.rb
#!/usr/bin/ruby -w -
p ARGV
% echo 'p [ARGV]' | ruby -w - ./arg2.rb
[["./arg2.rb"]]
% ./arg2.rb
[]
%
here documentの中で\
を付ける必要があるのは\
自身と$
と`
だけで"
には付ける必要が無かった。
here documentでプログラムを入力したい場合は、here documentが標準入力になるので-
を指定しないとダメ。
$ ruby - <<EOF args
p [\$0, __FILE__] #=> ["-", "-"]
p ['\\\\', '\"'] #=> ["\\", "\\\""]
p ARGV #=> ["args"]
EOF
sshdをバックグラウンドで実行は無理っぽいので最小化で我慢する。ウインドウタイトルで何を実行中かわかるっていうのはちょっと便利なのかもしれない。
slを実行したらTera Termの方には何も出なくてsshdを動かしている方にslが走っていたので驚いた。
定数と区別の付かないメソッドの呼び出しは()が必要。引数があったり「.」の右側では()無しでも呼び出せる。
関数形式のメソッドはprivateなのでdef hackerだとダメ。
%w(Just another Ruby).each do |x|
self.instance_eval "def #{x}; print '#{x} '; self; end"
end
def self.hacker; print 'hacker,'; end
Just().another.Ruby.hacker
富豪的プログラミングっていうかあれは元々何文字で差が出るのかを検証するためのものだったので、その数値を調べ終わったら固定にすれば良いっていうのはわかってました。
わかったポイントはこんな感じだったと思う。
ちなみに最初は切り替わりの数ではなく文字数の累乗のオーダーでハッシュが大きくなってすぐに破綻してました(^^;。
改良。FastJisCompactFilter.rb。手順は結局こうなった。
つっこみのところのaltは"%"なんてだされても情報がないので数字の方がいいかも。
古いのは画像じゃなくて#みたいだけど。
1.6対応のものはri.rbしか無いような気がしますが、知らないだけかも。
RWikiのnDiaryのページにCustom filter/pluginの一覧っぽいのがあったので追加してみた。
色々足りない気がする。RTフィルタとか。
sshd -dで起動しているとlogoutしたときにsshdも終了してしまう。
ssh-agentが起動してなかったらssh-agent経由にexecするのをbashrcに入れた。zshenvにも同じ様なのを入れてみた。
ssh -Aで引き継げるときだけちゃんとSSH_AUTH_SOCKが設定されているのを確認した。
ssh-addは別途実行しないといけないのが問題だけどexecする前には意味無いしexecした後はssh-agent実行後の最初だけssh-add実行するのをどうすればいいのかわからない。
ssh-addが既に追加されてるものだったらきかないでくれたら楽なんだけど。
if [ "$PS1" ]; then
if [ -x /usr/bin/ssh-agent -a -z "$SSH_AUTH_SOCK" ]; then
exec /usr/bin/ssh-agent bash
fi
fi
自分でも作っちゃったのリンクがMoonWolf版JISCompactと同じになってる…。証拠隠滅?
C言語で実装されてるNKFとRubyの部分もバイナリ処理になってるから速いのか。
行末の[。]は半角に変換した方が小さくなるけどそこまで気にしなくてもいいかな。つまり「。」だけの内容なら7倍の違いが。(データが作為的すぎ。)
/usr/lib/ruby/1.4を消すために使ってないのに何となく入れていただけのlibxml-parser-rubyとlibkakasi-rubyをpurge。
kakasiはどこかで使っていたけどkakasi.soは自分でmakeした~/lib/ruby/kakasi.soがあるので問題なし。
ruby-mathへのメールのエラーメールが届いた。[ruby-math:00457]が5月30日で[ruby-math:00460]が6月2日。
メールで設定失敗のメールっぽい気がする。
READNULLCMD='less -E'にしていると「zsh: command not found: less -E」になる。
-Eを付けたいのはREADNULLCMDの時だけなので$LESSに設定するのではダメ。
手抜き出来るところ(DateとかMessage-IDとか)はqmail-injectまかせ。
subjectのencodeはまともにやろうとするとかなり難しい。長かったときに壊れてしまってたので、とりあえずdelete("\r\n")を付けてみたが、長い行をそのまま送るのはSMTPで問題あり。
CGIから自分宛に送るようなたまに変なことがあってもいいから速く送りたい時用かな。
require 'nkf'
open("|/usr/sbin/qmail-inject #{toaddr}", 'w') do |q|
q.puts <<-END #>
From: #{fromaddr}
Subject: #{'
(_'-j', title].pack('m').delete("\r\n")+'?='}
To: #{toaddr}
MIME-Version: 1.0
Content-type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
genaptdata.shをRTCとか某MLとかでの協力により熟成中。
次に挑戦するのはtaskとか思ってみたり。名前を仮にtask-redcross.noarch.rpmとすると以下のようなシナリオを想定。
Vineのapt for rpmは同じものをUAなしとありの2度GETしてくるっぽい。
それからpkglistやsrclistのところを%20%ffffffa5%ffffffea%ffffffa5%ffffffea%ffffffa1%ffffffbc%ffffffa5%ffffffb9%ffffffbe%fffffff0%ffffffca%fffffff3にしたものもGETしてくるけど何これ?
確かに読みにくかったので、1バイトの違い(普通は前にあるのもいわゆる全角文字がほとんどのはず)なら読みやすさを優先した方がよさそう。
で、Mobiler 1.1.0へのバージョンアップは結局どうすればいいのかわからず放置していたけど、入れ替えてみた。
JisCompactFilterっていう名前はそのまま使ってもらえたので設定変更の必要は全くなかった。良かった。
cssの問題はhttpsのサーバにおいたから気づくことが出来たけど、これって知らないうちに読み込まれてRefererで設置している場所がばれるということとか考えると…。
1.0.0 | /~sho/mobiler.css | 普通は404 Not Found |
1.1.0 | http://www.spc.gr.jp/mobiler/mobiler.css | セキュリティ上問題あり? |
シェルスクリプトはカレントディレクトリをちゃんと意識してないとはまる。
gensrclistはカレントディレクトリに生成するのにとgenpkglistは引数で生成場所が決まるって言う違いがあったりするとかなり混乱。
mobilerのバージョンアップでmv mobiler mobiler-1.0.0; ln -s mobiler-1.1.0 mobilerとしたら、/usr/bin/rsync -auv --delete --exclude '*~' /home/kazu /.../target
って感じでバックアップしているのが、rmdir(kazu/mobiler) : Directory not empty
とlink kazu/mobiler -> mobiler-1.1.0 : File exists
というエラーを出していた。その結果、target側のmobilerは空っぽのディレクトリになっていた。
rsyncって1回だと完全にsync出来るわけではないと思った方がいい?
HNSに続いてTDSもRTを使えるように。
空行の代わりに空白文字のみをおいて使えるようにしたnDiaryよりもRTと/RTでくくればいいだけのHNSやTDSの方が相性はよさそう。
色がローテーションしてターミナルのタイトルがRPROMPTと同じものになる設定。色付けの元ネタはIntroduction of the ZSH。
色は白と黒はのぞいてローテーションしているので背景が黒い端末でも白い端末でも全く見えなくなることはない。
ESCやBELLはバイナリが入るとcatとかでわかりにくいのでprint -Pnで作って一時的に変数に入れている。
プロンプトの表示はzshだけでやる。子プロセスは生成せずに色の計算もzshのみ。
setopt PROMPT_SUBST
PROMPTCOLOR=31
ESC=$(print -Pn '\e')
BELL=$(print -Pn '\a')
case $TERM in
vt100|[Exk]term*|rxvt)
XTITLE=$ESC']0;<%n@%m:%~>'$BELL
;;
screen)
XTITLE=$ESC'k<%n@%m:%~>\'
;;
esac
PROMPT='%{'$XTITLE$ESC'[$[PROMPTCOLOR=31+($PROMPTCOLOR-30)%6]m%}%#%{'$ESC'[m%} '
RPROMPT='%{'$ESC'[${PROMPTCOLOR}m%}<%U%n@%m:%~%u%{'$ESC'[${PROMPTCOLOR}m%}>%{'$ESC'[m%}'
#RPROMPT='<%U%n@%m:%~%u>'
unset XTITLE
unset ESC
unset BELL
Rubyを256倍使うための本 網道編が発売らしいのでリンク。
公式サイトのトップ、IRC(IRCnetの#Ruby:*.jp)のトピック、man-1.6のFAQ::book(既にリンクされていた)。
RWiki版での変更を反映しようと思ったけど、単純に連結するだけじゃダメだったのでちょっと悩む。
。$stderr.reopen($stdout)
RTフィルタでやってたのは$stderr = $stdout
って代入してただけ。
reopenだと元の$stderrを閉じてくれるっていう利点があるのかも。
$"
にあるファイルはrequireしてもfalse
がかえってきて再読込はしないはず。それとif not
よりもunless
…。