2004-10-02 (Sat) [長年日記]
_ DebianJava
I got a problem because the scripts aren't currently set to recognize the file name of the java 1.5 binary from sun (this may well be fixed by the time you read this.) To fix it I edited /usr/share/java-package/sun-j2sdk.sh.
[MF Bliki: DebianJavaより引用]
こんな感じの変更で上手く行った。
--- /usr/share/java-package/sun-j2sdk.sh.orig 2004-10-02 11:18:02.000000000 +0900 +++ /usr/share/java-package/sun-j2sdk.sh 2004-10-02 11:18:37.000000000 +0900 @@ -27,6 +27,11 @@ j2se_expected_min_size=122 # 125899 kB found=true ;; + "jdk-1_5_0-linux-i586.bin") + j2se_version=1.5.0 + j2se_expected_min_size=122 # 125899 kB + found=true + ;; esac if [[ -n "$found" ]]; then cat << EOF
j2se_expected_min_sizeは適当。
eclipse 3.0のdebってどっかにないのかな。
_ Markdownスタイル
BlueClothを使ってMarkdownスタイルを書いています。 今日中に出来るかな?
[Devlog(2004-10-01)より引用]
お、期待して待ってます。
RDでちょっと不満なのは以下の点:
- インデントしても、たとえば先頭が「---」だと、verbatimになってくれない。
- インラインの記述が冗長。
- 引用がない。
まつもとさんは、インラインの入力はemacs lispに頼っているらしい。 ちょっと意外。
2004-10-03 (Sun) [長年日記]
_ [ソフトウェア] Markdownスタイル
Markdownスタイルですが、とりあえずdevlogで動いています。 まだプラグインが動きませんが(^^; tDiary-develにmd_style.rbというファイルを送りました。
おお、さっそく使ってみました。 いい感じですね。
セクションのタイトルは
# Markdownスタイル
じゃなくて、
### Markdownスタイル
みたいにしないといけないのですね。
できれば、前者で書きたいなー。
2004-10-04 (Mon) [長年日記]
_ [ソフトウェア] Markdownスタイルの見出し
shugoさんの提案によりセクションは###ではなく#で書けるようになりました。RDスタイルと同じイメージです。 #は<h3>になって##は<h4>になります。
[Devlog(2004-10-04)より引用]
おお、ありがとうございました。
_ [ソフトウェア] Markdownスタイルの修正
気付いた点としてはtitle_listで<h1>が入っちゃうことと、 本文中のプラグイン記法がRDF中にそのまま出ちゃうこと。 tDiaryの構造を理解していなのでまずいところもありそうだが、 とりあえずこんな感じで回避はできるようだ。 MLに投げておくと良いだろか。
[\ay diary(2004-10-04)より引用]
しまった、かぶりまくり。
自分はすでにMLに送ってしまったけど、プラグインの適用とかは やまださんみたいに一カ所にまとめるとかした方がよさそう。
_ [ソフトウェア] Markdownスタイルの携帯対応
携帯から見ると#が<h1>
のままになってしまっている模様。
もはや、パッチだとわけがわからないので
http://shugo.net/tmp/markdown_style.rb
に置いときます。
_ smbd [RSSで見るとプラグインの部分({{bq〜〜}})がescapeHTMLされた物がそのまま出てきてしまっていますね…]
_ shugo [修正してみました。]
_ TrackBack [http://arika.org/diary/20041004#p02 \ay diary [tDiary] Mar..]
_ shugo [イマイチだったので、やまださんのパッチの方に変えてみました。]
_ smbd [irc.tdiary.netの#tdiaryではダメなんでしょうか?]
_ shugo [nadokaさんをもう一つ立ち上げるのが面倒というだけの理由で 安直に作ってしまいました。 別のチャンネルでtDia..]
2004-10-05 (Tue) [長年日記]
_ [mod_ruby] loading from unsafe path
mod_rubyを試してみる。しかし、エラーで動かず。Apacheのログを見ると、
[mod_ruby] ... loading from unsafe file ... (SecurityError)
[hysteric programmer diary - mod_rubyより引用]
なぜか最近その話をよく聞くので、 FAQに追加しときました。
2004-10-06 (Wed) [長年日記]
_ [ソフトウェア][mod_ruby] mod_rubyでcomment spamのフィルタリング
mod_securityでフィルタリングしているつもりだったのだが、URIが 正規化されてしまうことをすっかりわすれていた。
というわけで、mod_rubyでフィルタリング。
require "singleton"
class SpamFilter
include Singleton
def check_access(r)
if %r%/\\./%.match(r.unparsed_uri)
return Apache::FORBIDDEN
end
return Apache::OK
end
end
これをspam-filter.rbという名前で、Rubyのロードパスに置いて、 httpd.confに
<Directory /home/shugo/public_html/jit/>
RubyRequire "spam-filter"
RubyAccessHandler SpamFilter.instance
</Directory>
のように記述すればOK。
_ [Ruby] BlueClothの_
BlueClothで、
mod_ruby, mod_perl
が
<p>mod<em>ruby, mod</em>perl</p>
になっちゃうのはバグ?
仕様だとしたら使いにくいなあ。
追記: よく考えたら、やっぱり仕様か。うーん
_ [mod_ruby] mod_ruby (2)
ところで、この制限はどうしても必要なのでしょうか。errorでなくて、warningにとどめて欲しいと思うのですが(riskを知っててworld writableにしているはずだし)。mod__rubyの制限ではなくて、RubyやApacheの制限なのでしょうか。
[hysteric programmer diaryより引用]
Rubyの仕様ですね。
excelsior:~$ mkdir foo
excelsior:~$ chmod 777 foo
excelsior:~$ cd foo
excelsior:foo$ ruby1.8 -e '$SAFE=1; require "date"' -e 0
-e:1: warning: Insecure world writable dir /home/shugo/foo/., mode 040777
-e:1:in `require': loading from unsafe path /home/shugo/ruby:/usr/local/lib/site_ruby/1.8:/usr/local/lib/site_ruby/1.8/i386-linux:/usr/local/lib/site_ruby:/usr/lib/ruby/1.8:/usr/lib/ruby/1.8/i386-linux:. (SecurityError)
from -e:1
「riskを知っててworld writable」というのは微妙で、過去の問い合わせでは いずれも意識されてなかったりしました:(
どうしても、ということでしたら、httpd.confのトップレベルで、
RubySafeLevel 0
とすると、$SAFE == 0の挙動になります。
_ [ソフトウェア] Visual Studio .NET 2003
VMwareにインストールしようとしたら、内部エラーとか言ってこけてくれた。
%TEMP%にあるVSMsiLog*.txtを見ると、
CADpc: SCC finished with status 1603
CADpc: failed with error 1603
というエラーが、調べるとどうもCD-ROMへのアクセスに関するエラー のようだ。
VMwareの設定を見ると、なぜかCD-ROMドライブの設定のlegacy emulationが オンになっていた(たぶん、一時期、ide-scsiを外してた時があったので、その時にオンにしたのだと思う)ので、これをオフにしたら無事インストールできた。
2004-10-07 (Thu) [長年日記]
_ [ソフトウェア] エミュレータが VMware 上で動作しない
エミュレータが VMware 上で動作しない
Visual Studio .NET 2003 では、VMwareセッションでのエミュレータの実行はサポートしていません。
[スマート デバイス プロジェクトにおけるエミュレータの使用より引用]
がーん、がーん、がーん、がーん...(こだま調で読んでください)。
この間、デュアルブートのWindows XP消したばっかりなのにー。 リカバリCD探すかなあ...。
_ [Ruby] BlueClothの_(2)
_は気をつけないといけないですね。_を書くときは_という風にしています。
[Devlog(2004-10-06)より引用]
うーん、_をエスケープしないといけないのはやっぱり嫌だなあ。
/\w/
にマッチするような文字をエスケープしないといけないなんて。
強調の時には*
も使えるわけだし、_
はそのまま通すように変えちゃおうかなあ。
class SkyBlueCloth < BlueCloth
...
end
とか。
2004-10-09 (Sat) [長年日記]
_ [ソフトウェア] OpenNETCF.org
.NET Compact FrameworkでSystem.Diagnostics.Process.Startを使おうと 思ったら、そもそもSystem.Diagnostics.Processがなかった。 こんなもんもないのかよ。 どうもP/Invoke(Rubyでいうところのdlみたいなもの)を使わないといけないらしい。
調べてみると、OpenNETCF.orgで提供されているライブラリで提供されている OpenNETCF.Diagnostics.Process.Start が使えそうな感じ。 ライセンスはまだちゃんとみてないけど、ソースも付いてるようだ。 OSD準拠だといいな。
でも、サイズが大きいので、結局P/Invokeを使うことになりそうだ。
2004-10-13 (Wed) [長年日記]
_ [ソフトウェア][mod_ruby] Referer spam対策
いい加減、個別の対策が面倒なので、以下のような対策を行った。
- 同一IPから同一Refererで10個を越えるアクセスがあったら Refererをブラックリストに登録。
- ブラックリストに登録したRefererは*.tdrから自動で削除 (高林さんのコードからパクった)。
- ブラックリストに登録されたRefererはHTTPヘッダから削除 (弾かないのはアンテナも引っかかっちゃうため)。
REFERER_DB = "/var/lib/apache2/referer-spam-filter/referer"
BLACKLIST_DB = "/var/lib/apache2/referer-spam-filter/blacklist"
DIARY_DIR = "/home/shugo/diary"
という部分を適当に編集してRubyライブラリの検索パスに置いて、 Apacheの設定に、
RubyRequire "referer-spam-filter"
<Directory /home/shugo/public_html/jit/>
<Files *.rb>
RubyAccessHandler RefererSpamFilter.instance
</Files>
</Directory>
みたいに書いとくと動くかもしれません(無保証)。
mod_rubyで書いたけど、tDiaryのフィルタとかでできるかも。
2004-10-18 (Mon) [長年日記]
_ [仕事] Ruby講習会
とりあえず、終わった。つかれたー。
「ワープロが使える程度」という応募資格(?)で受講者を募集していたようだけど、やっぱり大変ですね。 いろいろ勉強になったけど、こういうのはやっぱり自分には向いてないな。 あとは、かずひこさんやゆうぞうさんにまかせよう。
_ [家族] こんなもの
最近、上の子がやたらと「うわー、こんなもの」と言うようになった。 しかも自分がほしいものを目の前にした時などに言うので、おかしいなあ、と思っていたのだが、今日謎が解けた。
上の子がお菓子ばかり食べていると奥さんが「こんなものばっかり食べてだめでしょ」みたいなことを言うのだが、それで「お菓子=こんなもの=すばらしいもの」という図式が成立してしまったようだ。 なかなか奥が深いですね。
_ [食] ひつまぶし
IRCの某チャンネルの話題より。
『ひつまぶし』は、あつた蓬莱軒の登録商標です。
[ぐるなび - あつた 蓬莱軒 本店 (蓬莱陣屋)より引用]
そうだったのか。ぜんぜん知らなかった。
ちなみに愛知県出身の私ですが、庶民なのでひつまぶしなんて食べたことありません。
2004-10-19 (Tue) [長年日記]
_ [Ruby] 関西オープンソース2004
今回は発表なしで気楽に行く予定だったのだが、後輩が穴を空けたので、代打で発表することになってしまった。 というわけで、CGIでは実現できないようなことを、mod_rubyで行う方法について話します。
それにしても、せっかくの名誉挽回の機会だったのに、もったいないことであるよ。
_ kouji [なぞなぞみたいですね。どんな話しをされるか楽しみです。]
2004-10-22 (Fri) [長年日記]
_ [Ruby] 関西オープンソース2004(一日目)
というわけで、行って来た。
スーパークリエータならぬスーパーデストロイヤーの雄也君の運転で 大阪へ移動。何度か悲鳴をあげたけど何とか無事についた。彼の車の 保険は家族限定なので運転を代われないのだ(大人は「事故ったらすぐに 席を代わればいいですよ」なんて言ってはいけない)。
到着がずいぶん遅くなってしまったので、新部さんのセッションと、宮原 さんのセッションしか見られなかった。新部さんの「コードの批評という分野 を確立したい」というお話には大変感銘を受けたが、文学のように批評する側と される側が不幸な関係にならないといいですね。 まあ、コードの場合は批評するだけで自分では書かないという人はあまり 出て来ないと思うけど。
夜は懇親会も気になったけど、財布と相談して、うささんに鰻をたかる会の方に参加。メニューに白焼があったので今日こそ食べられるかと思ったが、 残念ながら来月からだった。
2004-10-23 (Sat) [長年日記]
_ [Ruby] Ruby Refactoring Browser
幸いRuby Refactoring Browserの発表には間に合った。viにも対応してくださるようだ。すばらしい。
class Foo
def baz; ... end
end
class Bar
def baz; ... end
end
def quux(x)
x.baz
end
みたいな時にFoo#bazを違う名前に変えたらどうなるかが気になったのだが、
- レシーバが省略された場合だけ変更
- bazの呼び出しは全部変更
という選択肢しかないらしい。やっぱそうだろうなあ。一応、
def quux
x = Foo.new
x.baz
end
みたいなのは対応しませんか?、と聞いてみたが答えはきっぱり 「しません」。どうせ中途半端な対応しかできないですからね。 ちなみにパーザにはripperを使っているらしい。
_ [Ruby] 日本Rubyの会の自主企画
けっこうお客さんも入ってたし成功と言っていいのかな。高橋さんのプレゼンで「みんな字が小さい。その時点でもう負け」とばっさり切られた。まだ発表前だったのに負けちゃったよ、わーん。
ささださんはRuby ConferenceのTシャツを聞て大自慢大会。どうせおいらは 海外行ったことないですよ。新婚旅行も城崎温泉ですよ。で、結局、ささださんは尊師なの? 尊師のかばん持ちなの?
かずひこさんの発表では、「前田さんにeval使うなとおこられた」と突然 ふられてあせる。そんなおそれおおいことをやんごとなき方に言えるわけが ないじゃないですか。
自分の発表は、時間がなかったわりにけっこうがんばったんじゃないかなあ。デモの時には拍手喝采だったし(って反則使ったけど)。一応、プレゼン 資料などを置いときます。
最後の二つはSubversionレポジトリで、ViewCVSでも見えます。 あと、rd2sxiはIPAフォント決め打ちなので、ささださんにはうれしくないだろうな。
_ [Debian] Debian BOF
Rubyのセッションと重なってて途中から参加。 一応公式メンテナなのでなぜか自己紹介するはめになったが、大橋さんは うまく逃げられたようだ(その後木下さんにつかまってたけど)。
いろいろな方とGPG鍵指紋の交換ができたけど、野首さんにご挨拶できなかったのが残念。LLの時もタイミング逃しちゃったんだよな。
_ [Ruby] 日本Rubyの会の宴会
梅田でおみやげ買ってたら5分ほど遅れてしまった。ごめんなさい。ごめんなさい。ごめんなさい。
自分のテーブルは
- 福井さん
- 小波さん
- 高橋さん
- 荻野さん
という、えらく濃いメンバだった。 荻野さんて、WebObjectsというかNeXTな方だったのですね。どうりでBrad Coxに食いつてRuby Conference行っちゃったりするわけだよ。
事前に心配していた通り、「PHPいい/悪い」論争が勃発。高橋さんはPHP嫌いじゃないんですよ、実は。自分は中立な立場でしゃべってたつもり(ずるい)。
あと、印象に残ったのはML(関数型言語の方)とねぎについて熱く語ってくださった上野さん。MLの話はさっぱりわからなかったけど適当に相槌を打っていたのは内緒だ。池上君との「遅延評価いい/悪い」論争は実現せず。残念。というか、xmlscanの上野さんだったのか。今気付いたよ。
他にもいろいろお話した方、できなかった方がいましたが、みなさんおつかれさまでした。
2004-10-25 (Mon) [長年日記]
2004-10-26 (Tue) [長年日記]
_ [仕事] Ruby講習会 初級前半二日目
今日の講師はかずひこさん。やっぱり気合いを入れるところは衣装ですか。
初級コースなのにたまにマニアックな質問がある。たとえば、「代入の時の評価順序は?」とか。まつもとさん自身も間違えていて、Rubyのソースを 読んでから「やっぱり違ってました」なんて一幕もあったりして。ゆうぞうさんが中級をやる時は初級とは違う意味で大変かもなあ。
受講者のスキルにばらつきがあるので、演習問題はいろいろな解き方ができるようなものでないと時間の調整が難しい。というか、「たのしいRuby」の問題はマニアックすぎ。たとえば、Numeric使わずに"5"などの任意の数字を"*****"などに変換とか(これは結局やらなかった)。パズルとしては制約があった方が面白いけど、こういう講習には向かないようだ。
帰ってから録音されてたかずひこさんの声を聞くと何とまつもとさんそっくりだった。いつか何かのトリックに使われるに違いない。奥さん、ご注意を。
2004-10-27 (Wed) [長年日記]
_ プログラミングのための線形代数
献本していただいていたのだが、ようやく少し読んだ。
感想。数学が苦手な人でもおもしろく読める。数学科をドロップアウトした私が言うのだから間違いない。原先生*1みたいな人がどう思うかは知らない。
「はじめに」から凝っているし、脚注で遊んでいる(コラムにまで脚注があったりする)のも楽しい。「仕様」や「実装」のようなメタファも面白い。かといって、よくあるインチキ入門書のように内容が薄いわけではなく、しっかりしている。ような気がする。数学科をドロップアウトした私が言うのだからあてにならない。原先生みたいな人がどう思うかは知らない。
そうそう、これだけは言っておかないといけない。Rubyが使われているけど、Rubyの本ではありません。でも間違えて買ったとしても、読んでおいて損はないと思います。
追記:
Web上でのサポートは以下になるようです。
後者ってよく見たらうち(会社)にあるホストじゃん。
*1 数学の先生。そうそう、ご無事だったようで安心しました。
_ RDスタイル
結局tDiaryのスタイルをMarkdownスタイルからRDスタイルに戻してしまった。 理由は二つ。
- Markdownスタイルはマークアップが書きやすいかわりに、テキストを書く時に特殊文字にけっこう気を使う。とくに_をマークアップに使っているのが痛い。
- Markdownスタイルには脚注がない。
2004-10-28 (Thu) [長年日記]
_ referer spamフィルタ
先日作ったスクリプトをtDiaryのフィルタにしてみた。
(日記のディレクトリ)/tdiary/filterに置くだけで動くはず。
ついでに前日までの統計はすてるように修正。
2004-10-29 (Fri) [長年日記]
_ 出産
15時42分に産まれました。女の子。2826g。 母子ともに健康そうです。
[Matzにっき(2004-10-28)より引用]
おめでとうございます:)
講習会はどんちゃんにまかせとけばだいじょうぶですので、ごゆっくり。
_ refererspam.rb
refererspamのせいでシステムにかかる負荷が馬鹿にならないです。...前田さんのところに良さげなのがあったので導入してみました。
[大学生日誌(2004-10-28)より引用]
ごめんなさい、アクセスを拒否するわけではないので負荷は下がらないんじゃないかと...。
Refererを記録しないようにするので、その分の負荷は軽減できる*1かもしれませんが...。
*1 原理的にはキャッシュを返すだけでよい気がするけど、tDiaryのキャッシュの仕組みを知らなかったりして。
_ 無駄
Apache や、Ruby CGI 上でいくら対策しても CPU の無駄遣いのような気がしてならないんですよね。
[yamk日記(2004-10-13)より引用]
今のところ、referer spamでめちゃめちゃ負荷が高いといったこともないので、CPUの無駄遣いよりも、自分の労力の無駄遣いの方が気になっていたりします。 他所はひどいことになってたりするんですかねえ。
あ、うちのアクセスがそもそも少ないということか....。
_ スーパー牛さんパワー
aptitudeのへルプを見ると、以下のような意味不明の文が表示された。
excelsior:~$ aptitude --help|tail -1 aptitudeはスーパー牛さんパワーなど持っていません
原文は
excelsior:~$ LANG=C aptitude --help|tail -1 This aptitude does not have Super Cow Powers.
なのだけど、これってどういう意味なんだろう。
2004-10-31 (Sun) [長年日記]
_ オフハウス(2)
今日はベビーベッドなどを買い取りに来てもらった。ベビーベッドは2000円で売れたが、ふとんはしみがあるとかで引き取ってもらえなかった。「ジャンク」以下ですか。せつない。
あと、車を買った時にもらった温冷庫が1000円で売れたりして、合計4600円くらい。
_ 引っ越しの挨拶
ご近所に引っ越しの挨拶廻り。町内会の同じ班は19世帯もあるので結構大変だ。次はアパートだからこういうのは楽になるなあ。
_ MoonWolf [Markdownスタイルですが、とりあえずdevlogで動いています。 まだプラグインが動きませんが(^^; tDi..]