2004-08-01 [長年日記]
_ W21S買った (20:03)
W21SAを買うつもりで発売を待っていたんだけど、W21SAの最大文字表示数が228文字だと知り(W21Sは400文字)、一気に買う気が半減。どうせFMラジオとかはほとんど使わないだろうし、カメラの画素数も200万画素どうしても欲しいわけではない。
となると、ポイントとなるのは
- 外部メディアがminiSDカードとメモリスティックDuoの違い
- バッテリの持ち(通話時間)がW21SAの方が長い(待ち受け時間はW21Sの方が長い)
- ジョグが通常操作では便利そうだけど、ゲームとかでは不便そう
ってあたりなんだけど、結局ほとんどテキスト(Web)閲覧用に使うことは目に見えているんで、最大表示文字数の大きい方が俺にとっては使えるだろうなー。
ということでW21Sを衝動買い。1ヶ月遅れの誕生日プレゼントってことでオクサンに買ってもらった。メモリスティックDuo 128M+アダプタも購入。でも外部メモリはあんまり使わないかもね。
ちょろっと使った感触は、さすがに2年前のA5301Tとはじぇんじぇん違うねー。ネットが使い放題&高速なのはとても気持ちいい。ひとまずmobileimapとp2環境はすでにあるんだけど、それ以外の環境も整備していこう。
_ サイト再構成計画 (20:03)
サイト構成を全面的に変更する計画発動中。
blogmapの更新プロセスを動かしていると、マシンリソースを使い切ってしまって自分の好きなことができないんで、結局もう1台サーバーを借りて、一般向けサービスは別マシンに追い出すことにした。こっちのサーバーでは自分の好きなことができるようにする予定。
あと、日記的なものはtDiaryに書く方向で試している。Wikiスタイルにしておけば、WikiLikeのドキュメントをインポートしても、かなり再現性が高いみたいだし。
日記的なもの以外を、どうやって管理するかは試行錯誤中。movabletype 3に試しにインポートしてみたんだけど、なんかしっくりこないなー。やっぱり日記系以外のもの向けCMSは自作するか。
_ まんどくさ (20:03)
まとめてインポートしたデータから、日記以外の項目を削除したり、従来の記事ベースの構成を、日付ベースの構成になおしたりするのは面倒くさいな。新しい構成で平常運用できるようになるまでしばらくかかりそうだ。
2004-08-02 [長年日記]
_ バッテリーの減りはえー (20:03)
移動中に1時間ほど使っていたら、あっという間にあと1目盛りになったよ。予備の充電器を買おう。たぶん取り寄せだろうけど、どのくらいで届くかなー。
_ EZナビウォーク使ってみた (20:03)
昨日車で使ったときには全然使えなかったけど、徒歩だと結構いい感じかも。でも日向だとまぶしくて画面がよく見えないけど。あと、EZナビウォークは機能が多すぎるのか、メニューが整理されていないのか、なんかすごく取っつきが悪い。
_ EZWeb速くなったなー (20:03)
前がA5301Tだったし、それ以外のモバイルはAirH"(32/128k)+SL-C760だったんだけど、次元が違う速さだなー。あまりにも速すぎて、画面の切り替えを見逃して、とっくに新しいページがロードされているのに気づかず、ぼーっと待っていたりするよ。ただ、電波状態とかサーバーの負荷状況が違うんで、いつでも爆速ってわけじゃないけど。
_ Apache 2.0.50+PHP 4.3.8が動かなかった (20:03)
mod_dav+mod_svnを使いたかったんで、このサーバーのApacheを1.3系から2系に移行しようかと思って、昨日の夜チャレンジしたんだけど、なぜかPHPが動かなかった。ほかのサーバーにゼロからインストールしたApache 2.0.x+PHP 4.3.xは何の問題もなく動いたんだけどなー。
SSLとかまったく関係ないはずなのに(SSL無効&設定からも削除しても)、「Session Cache is not configured」とかいうエラーが出やがる。PHP 4さえLoadModuleしなければちゃんと動くのに、PHP 4をLoadModuleするとそうなるんだよなー。わけわからん。
ちなみに試しにPHP 5.0.0にしてみたらちゃんと動いた。けど、まだPHP 5.0.0で動くPHP用アクセラレータ(APCとかMMCacheとかphpaとか)ってないんだよなー。アクセラレータがなかったら移行できないじゃん。というわけで、PHP 5.0.0用に書き直していた自作フレームワークも、結局PHP 4.3.xに戻してしまった。
それにしても、PHP 5だったらきれいに書けていたインターフェース(主にプロパティ周り)がPHP 4用にすると汚くなるなー。あとやたらと&つけなきゃならない(参照渡し)のもうざい。PHP 5で動くアクセラレータがあったらPHP 5に移行するんだけどなー。
_ バッテリー切れた (20:03)
予備充電器が手にはいるまでは、付属充電器を持ち歩くか。
_ なんかすごいことになってんな (20:03)
2004-08-03 [長年日記]
_ 横腹いてー (01:30)
帰りの電車の中で、今までの結石の痛みとは違った感じに、横っ腹が痛くなった。激痛とかじゃないんだけど、なんか妙に堪えにくい種類の痛みで、家に帰り着いてからもごろごろともだえ苦しみ、そのうち比較的痛みが少ない体勢を見つけて横になっていたら、いつの間にか寝ていた。で、起きたら痛みが引いていたんだけど、なんかこれは新展開なのか。腎臓系が妙なことになっていないかちょっと不安になってきた。今行っているところとは別の病院にも行ってこようかなー。
_ 交通事故を聞いた (12:10)
そういや昨日錦糸町の道を歩いていて、交通事故を聞いた。どごっと音がした方を見たら、路駐しようとバックしていたっぽい小型車の後ろで、男の人が右腕を押さえながら車をにらみつけていた。道路を渡ろうとしていた男の人に、路駐しようとバックした車がぶつかったっぽい。あのシチュエーションから想像すると、ちゃんと後方確認をせずに勢いで路駐しようとした車が悪そう。ぶつかられた男の人は最初あまり痛そうじゃなかったのに、ちょっと経ったら突然顔をゆがめて腕を抑え始めた。そうそう、ああいうのって最初の衝撃が去った後に痛くなるんだよね。
_ セクションごとの投稿時間保存 (12:47)
セクションごとの投稿時間を自動挿入させたいなー。そういうプラグインはないのかな? (探してみる) 見あたらない。tdiaryのプラグイン開発向け資料とかないのかな? その前にrubyのリファレンスを探すのが先か。
ひとまずquick hackとしてwiki_style.rbを
when /^\![^!]/
@sections << WikiSection::new( section, author ) if section
- section = l
+ if !l[/\([0-9]{2}:[0-9]{2}\)/]
+ section = l.chomp() + ' (' + Time.now.strftime('%H:%M') + ')' + "\n"
+ else
+ section = l
+ end
else
section = '' unless section
section << l
としてごまかしておこう。
ちょと修正
正規表現中の小括弧をエスケープするのを忘れてた。
不具合
これだと過去のセクションに、最初にレンダリングされた時刻が挿入されてしまうな。まあ自分用時刻メモとしては、それでもいいんだけど。
_ どうやら風邪か (13:03)
昨日の夜からの不調の原因は、どうも風邪を併発したってことみたいだ。あるいは風邪じゃなくて冷房病かな? 体温調節がおかしくてエアコンを入れていて肌寒いくらいでも、いやな汗をたくさんかくんで、ひとまずエアコンをつけないようにしてだらだら汗をかきながら寝ていたら、だいぶ調子がよくなってきた。けど、まだ喉が痛い。というか、喉の奥に何かできているっぽい感触があるな。時々喉の奥に膿がたまって腫れたりするんだけど、あれがまたできているのかな? 脇腹の調子も怪しいんで今日は会社は休み。というか自宅作業。
_ Estraier検索追加 (14:21)
estsearch.cgiのreplaceって多段で使えるんだね。あとはあそこで外部コマンドを使えると、blogmapでも変なproxy(というかフィルター)をかまさなくてもよくなるんだけど。
_ リンク元をトップページに載せない (21:17)
REFERER SPAMの被害を最小にするために、トップページではリンク元を表示しないようにしたい。
リンク元を「表示」、表示数を「0」にすればいけるかと思ったら、表示数を「0」にすると、自動的にデフォルトの「10」に戻されちゃうのね。
しょうがないんで、latest.rhtmlを直接書き換え。
- 'show_referer' => @conf.show_referer, + 'show_referer' => false, #@conf.show_referer,
リンク元設定は「表示」にしておきつつ、トップページ(=最新)では上記設定で強制非表示。日付ごとページでは設定に関わらずすべて表示になる。
_ 一応設定を書いておくか (21:36)
squeezeプラグインを有効にして、日ごとのHTMLファイルを生成するようにしておく。
tdiary.confに
@options['squeeze.suffix'] = '.html'
を設定。estraierのオプションで対応(HTMLファイルとして認識させる)してもいいけど、この方が扱いが楽だし。
過去ログはsqueezeをコマンドラインで実行してHTML化。httpdユーザーが書き込める権限にしておく。
#!/bin/sh cd /path/to/tdiary_html && /path/to/estindex register tmp /path/to/tdiary_data/cache/html/ && /path/to/estindex relate tmp && cp -rf tmp/* casket/
なんてシェルスクリプトで検索インデックス生成。cronで定期的に回すなり、更新タイミングで自動起動するようにするなり(どこにかませばいいのか知らないけど)、適当に。更新タイミングで自動起動させる場合は、多重起動しないように工夫する必要があるな。
estsearch.cgi、estsearch.conf、estsearch.top、stsearch.tmplを/path/to/tdiary_htmlにコピー。estsearch.confを編集、
-prefix: ./ +prefix:
-replace: +replace: /path/to/tdiary_data/cache/html DATADIR +replace: / +replace: .html +replace: DATADIR http://your.site/tdiary_dir/?date=
replaceが美しくないけど、まあいいか。
@options['squeeze.compat_path'] = true
しておけばもうちょっとましになっただろうけど、falseでHTML生成しちゃったのをやり直すのがだるい。mod_rewriteするともうちょっと楽になるだろう。
インデックス更新スクリプト修正
cp -rf tmp casket/
じゃだめじゃん。
cp -rf tmp/* casket/
にしないと。
_ 痛み出した (23:12)
石が落ちてきているのかな。痛みが膀胱のほうに来ている。これはこれできついなー。いやな汗をかいてきたよ。
2004-08-04 [長年日記]
_ けつにょー! (00:05)
便器に赤い筋が流れているよ。
_ 喉が痛い (04:03)
声が出なくなった。風邪と結石の合体技はきついなー。でも今あんまり休んじゃうと夏休みがとれなくなってしまうんだけど。
_ Open Source WEB (08:54)
スラドで紹介されていたんで見に行ったら、ちょうど何かのコネクションエラーで落ちていて、スタックトレースを吐いていたんだけど、その内容を見たところ、ここのシステムはgaucheで作られているらしい。lisp(というかscheme)で組まれたWebアプリって初めて見たかも。もともとgauche本家で作られているWiLiKiとかRSSMixとかは除いての話ね。
Kahua-webってシステムを使っているのね
なんかよく落ちてるな
日本のスラドじゃslashdottedってほどのアクセスはこないはずだけど、このシステム、あんまり高負荷でのテストはされていなかったのかな? いっつも同じようなコネクションエラーになっているんで、そこがボトルネックっぽいけど、何のコネクションだろう。
構成図(http://www.kahua.org/cgi-bin/kahua.cgi/kahua-web/show/doc/Concepts/Servers)とかを見ると、裏のアプリケーションサーバーに接続するところでこけている可能性が高そう。せっかく可用性が高そうなシステム構成なのに、それ以前の段階(アプリケーションサーバーへの分散接続部分)でこけちゃっているんだったらもったいないな。
まだ分散されていなかったか
ああ、現行バージョンでは複数のアプリケーションサーバーっていっても、複数マシンに振っているんじゃなくて、同一マシン上で別プロセスを立ち上げているってだけなのね。でも、はじめからロードバランサー相当の機能を内包しているってのは面白い構成だな。
_ ADSL 47M対応ファーム (10:25)
So-net ACCA ADSL対応モデムを47M対応ファーム(http://www.aterm.jp/acca/634ga/down/hist.html)にアップデートしてみたけど、元々Annex Iで接続しているうちでは全く速度は上がらなかった。上り3M対応は8月中旬以降らしいけど、そっちもAnnex Iな人には関係ないのかな?
_ 今度は腹に来た (10:27)
うがー、本格的に風邪の症状も出てきたなー。つらい。文字にすれば同じ腹痛でも、結石とは別(結石は結石で腹の違う場所が違った風に痛い)っつーのがまた。
_ mp3を3gpに変換 (11:21)
適当にmp3で持っている曲をQuickTime Pro(勢いで買っちゃったよ)を使って3gppに変換して(オーディオのみ)、メモリスティック経由で本体にコピーしたら、ふつうに再生できた。32kbpsとかで試しちゃったけど、どの程度高い品質までいけるのかな? それにしてもメモリスティック上では再生できないっつーのは面倒だな。
あとこのデータは着信音として登録できないのか。ちらっと調べてみたら、バイナリエディタでヘッダを書き換えればなんとかなるっぽいけど。それでいけるならば、わざわざ着うたをダウンロード購入する必要なくなるな。
_ PukiWikiアップデート&移動 (19:18)
PukiWikiを1.4系にアップデートして、http://pukiwiki.ishinao.net/にURLを移動した。データに微妙に互換性がなくなっていたんだね。コンバータとか用意されているんで、移行はそんなに面倒じゃないけど。旧URLから転送をかけておいたんで、リンクが外れたりはしないと思う。
_ QRコード (23:44)
そういやW21SってQRコードが読めるんだったっけと、QRコード生成ライブラリを落としてきて作成ツールを作ってみたはいいけど、あんまり使い道が思いつかないなー。ブラウザ上で選択したテキストをQRコードに変換するbookmarkletとか作ろうかと思ったりもしたけど、そんなことするくらいだったら、選択したテキストを携帯にメールで送る方がよほど話が早い気がするし。QRコードは印刷してなんぼって感じで、ネット上で完結した有効な使い方はあんまりなさそうだ。
2004-08-05 [長年日記]
_ 久々にCDを買った (00:05)
1年くらい前から、欲しい音楽が軒並みCCCDになっているんで、もう新しいCDを買うのはやめて、古いCDを中古屋とかで発掘しながら生きていこうと思っていたんだけど、たまたま見かけたスガシカオのアルバムがどっちもCD(+おまけDVD)だったんで買ってしまった。でもこれはたまたま。基本的にもう新しい音楽は買わないという方針は変えない。聴きたい音楽がCDなのかCCCDなのか気にして生きるのはうんざりだ。
_ HNSのデータのインポート (00:13)
hns2td(http://sugi.nemui.org/wiki/?c=v;p=Hns2TDiary)を使って古いHNSのデータをtDiaryにインポートしてみたんだけど、やめておけばよかったな。忠告として書かれていたとおり、インポート結果は微妙に中途半端(特にWikiスタイルを使っていると)だし、俺の場合はシステムに関する話題が結構多いから、データを載せているシステムが移行すると、エクスキューズなしではその辺の話題がなんか変な気がする。あと、中途半端にこうやってデータをまとめてしまうと、さらに古い未整形の日記データもインポートしたくなってしまう。さすがにそこまで手をかけていられないよなー。
_ 久しぶりに会社に来た (14:54)
どうも会社の椅子に座っていると調子が悪くなる気がするな。気のせいか?
_ EZチャンネルつまらんなー (15:09)
無料の間だけでもいくつか試してみようかと思ったんだけど、ダウンロード通知が、ムービーを見るまでしつこく表示されるのがうざいんで、やっぱり全部やめ。
1Mバイト超のムービーは、思ったよりもクオリティが高くて表現力があるし、それがパケット料金固定でダウンロードできるってのは、インフラとしては悪くないけれども、そこに載せるコンテンツは、日本の著作権でぎちぎちに縛られた業界では使いこなせないんじゃないか。
たぶんこのインフラを、2chのアップロード職人たちに解放したら、ものすごく楽しいコンテンツができると思う。っつーか今俺がW21Sで見て一番楽しかったのは、どこぞのアップローダーで拾った、久しぶりに見たおっぱい占いのムービーだよ。「そんなのびみょうすぎ〜♪ ちゃらららちゃらららら〜」。
ガラスの仮面ペリー来航Flash
3gpp化しようと思ったけど、QuickTime Proだと音声が入らないなー。それに限らず、QuickTime Proっていろいろ使えなさすぎだよ。スペックを見てできそうだと思ったことの半分くらいはできない。まあ半分できるだけでもそれなりに有用なんだけどさ。
_ 似た話題の日プラグイン (15:52)
Estraierの類似文書検索機能を使って、似た話題の日を表示するプラグインを作ってみた。でもRubyをよくわかっていないんで、日付を引数に呼ぶと結果HTMLを返すスクリプトをPHPで書いて、
add_body_enter_proc do |date|
$cmd = "/path/to/php/script/"
`#{$cmd} #{date.strftime('%Y-%m-%d')}`
end
というグレイトな内容なんでまだ公開しない。Rubyの勉強してRubyにポーティングできたら公開しますよ。でもtDiary+Estraierなんか使っている人ってほとんどいないだろうけど。
_ キーワードプラグインの設定 (16:16)
キーワードプラグインの検索先として、デフォルトでEstraier検索を呼び出すように変更。これで従来通りEstraierとかBracketName化するだけで、関連ドキュメント一覧をたどることができるようになるな。ただWikiLikeの場合は、検索される側でも同じキーワードをBracketName化しておかなければならなかったんだけど、こっちではEstraierの形態素解析依存になる。
ちなみにWikiLikeのときに、検索されるドキュメントの側でも意識してキーワード化しないと検索されないようにしていたのは、誤爆検索を回避する(たまたま同じ文字列を使っていても、そのドキュメントにおいてそのキーワードに特に意味がない場合は、キーワード化しないことによって検索されないようにする)ためだった。
けど、しばらく使ってみた感想として、
- ドキュメント作成時に、そのドキュメントのキーワードを指定するのは(いくらBracketName化するだけとはいえ)面倒くさい
- また、そのドキュメントにおいて意味があるキーワードかどうかを判断することも難しい
- はっきりいって、誤爆だろうがなんだろうがひとまず結果一覧に一通り表示して、人間がそれぞれに意味があるかどうかを判断した方が実用上は便利だ
なんて感じだったんで、結局ごくふつうの形態素解析による全文検索インデックスを使った検索機能でOKという結論になってしまった。
ただWikiLikeの機能を活かして、
- 明示的にBracketName化することによって、キーワードの重要度を上げることができる
- 明示的に検索インデックスから特定のキーワードを排除する書式を用意する
- 本文中に含まれないキーワードを検索インデックスに追加することができる(これはメタキーワードとかを使えば実現できそうだな)
あたりはサポートしたいな。
_ セクションごとの投稿時間 (2) (16:39)
(インポートしたりとかキャッシュを破棄したりとかした)古いデータがレンダリングされるときにも、見出しにレンダリング時点での時刻情報が付加されてしまうことを回避したバージョン。
when /^\![^!]/
@sections << WikiSection::new( section, author ) if section
- section = l
+ if (@date.strftime('%Y-%m-%d') == Time.now.strftime('%Y-%m-%d') &&
+ !l[/\([0-9]{2}:[0-9]{2}\)/]
+ section = l.chomp() + ' (' + Time.now.strftime('%H:%M') + ')' + "\n"
+ else
+ section = l
+ end
else
section = '' unless section
section << l
要は、当日の日記分以外の場合は、時刻を付与しないようにした。
_ 更新時にEstraierのインデックスを更新 (16:50)
インデックス更新スクリプトを用意しておいて、
add_update_proc do
if /^(append|replace)$/ =~ @mode then
$cmd = "/path/to/update/script >/dev/null &"
system($cmd)
end
end
とかやればいいのかな? @modeの判別の意味がよくわからないんで、サンプルそのまま。ソース読まずに勘で言うと、たぶん上記判別でプレビュー時には駆動しないようにしているに80ガバス。
_ 申し込みでこけてた (18:14)
先々週に申し込んだ追加サーバー。いつまで経ってもその後の連絡がこないんで問い合わせてみたら、最初は「ちゃんと申し込まれていて、現在入金待ちステータスです」と言っていたんだけど、「カード決済で入金待ちなんてあるのか」とつっこんだら、「調べてみたら決済でこけていたんで、もう一度申し込みし直してください」ということになった。前回はWebではOK画面が出たんだけどその後のメールとかはこなかったのが、今回はちゃんとOKメールも来たんで今度はちゃんと申し込めたっぽい。インフラ周りは悪くないと思うけど、それ以外のところももうちょいがんばれ、さくらインターネット。
_ デスクトップ検索ツール (20:03)
- デスクトップ検索ツールにYahoo!も参戦(http://www.itmedia.co.jp/news/articles/0408/05/news051.html)
- マイクロソフト、多数の文書フォーマットに対応する検索ツールを初披露(http://www.itmedia.co.jp/news/articles/0407/30/news033.html)
あれ、この市場ってそんなに熱かったのか。先を越されてモチベーションが下がる前に、作りかけで放置していたEstraierのWindowsクライアントをとっとと完成させておくべきかな。動作テスト用のプロトタイプはずいぶん前に完成したんだけど、Windows環境でOffice文書がうまく登録できなかったんで、そのまま放置しちゃったんだよな。
自分で作らなくても誰かが作ってくれればそれでいいんで、外部仕様だけ書いておくと、
- 基本はWindows用常駐ツール
- エクスプローラから、フォルダ・ファイル(パターンもあり)をEstraierの検索対象として登録することができる
- ツールは、Estraierの検索対象となったフォルダ・ファイルの更新状況を監視している
- フォルダ・ファイルに変更があった場合は、それらを次回インデックス更新対象として登録する
- System Idleとか指定時間起動とかで、適切にEstraierのインデックスに更新をかける
- インデックスは複数用意でき、どのフォルダがどのインデックスに対応するか等指定できる
- あとはポップアップ等で起動する、Estraierの検索クライアント機能。検索窓にキーワードを入力すると、指定されたインデックス(複数可能)に対して検索をかけ、その結果を表示する。関連文書検索等もそのまま使える。
といった感じ。VB.NET+SQLite(UTF-8コンパイル版)で作っているけれども、estxviewの吐くXMLをパースできて、WindowsのUIが作れるならば、作るのはそんなに難しくないと思う。
あとは、
- メールをプレーンテキストのままにファイルシステム上に保存するメールクライアント(fetchmailみたいなののWin32版ってあるのかな)
- ブラウザの履歴を録画(保存)することができるツール(録画ボタンを押すと、それ以降閲覧したページがすべてローカルに保存され、検索対象となる。録画停止で止まる)
あたりを用意すると、Web+メールに対してローカルで気軽に高度な全文検索ができるシステムが完成する。という予定。
ブラウザ履歴に関しては、IEのキャッシュから該当URLのファイルを取り出すサンプルは作ってみたんで、あとはどうやって録画状態中のURL履歴を保持するかだな。専用ブラウザを作れば簡単なんだけど、それはさすがに面倒だしな。80ポート宛のリクエストを監視するとか? さすがにそれもなー。
SQLiteの用途
これだけだとSQLiteを何に使っているかわからないんで補足。SQLiteは、全文検索ではない検索インデックスとして使う。要は、
- ファイル名
- 拡張子(ファイル種別)
- ファイル作成日時
- ファイル更新日時
- 該当ファイルごとのプロパティ
- たとえばHTMLファイルならば、URL、タイトルとか
- メールだったら、Subject、From、To、Dateとか
なんてあたり。Estraierを使って全文検索・類似文書検索などの曖昧度の高い検索を行い、SQLiteで基本的な検索やソートを行う感じ。
本当は検索ツールを別アプリにするのではなく、Explorerに埋め込んで表示できたりするとよりスマートなんだろうけど、どうもWindowsのShell周りって面倒くさそうなんで、あんまり手を出したくないんだよなー。
これだとWebとメール専用みたいだ
もちろんそんなことはなく、仕事用のフォルダとか資料用のフォルダとかを検索対象に入れておけば、そこもこのシステムから検索できるし、フォルダにファイルを追加したり更新したりすると、自動的にそのファイルも検索対象になる。どうせならば高林さん(http://namazu.org/~satoru/diary/)が作るらしい、ソースコード用検索システム(http://www.ipa.go.jp/jinzai/esp/2004mito1/gaiyou/2-23.html)の機能も取り込んで、ソース資産に対する検索も透過的にできるといいだろうなー。
_ trackback受信できてなかった (22:26)
単にインストールして関連プラグインを有効にしただけじゃだめなのね。tb.rbをWeb公開ディレクトリにコピーして、実行権限をつけてやる必要があるのか。
_ サイドバー (23:37)
自分でヘッダ・フッタに<div class="main"></div>とか<div class="sidebar"></div>とか書いて使うものなのね。てっきり、どれかのテーマを選ぶと自動的に有効になるんだと思っていたよ。
2004-08-06 [長年日記]
_ RSS (00:10)
makerssで作成されるRSSって日付逆順じゃなくて、更新されたもの順なんだね。インポートしたデータを修正したりすると、そいつらがあがって来ちゃってじゃまくさいなー。
_ トヨタに衝撃! ゾンタがレギュラー昇格へ (01:18)
あらびつくり。まあトヨタなんてどうでもいいんだけどさ。
_ URL書き換え (02:27)
htmlでアクセスしたい(http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?html%A4%C7%A5%A2%A5%AF%A5%BB%A5%B9%A4%B7%A4%BF%A4%A4)あたりを参考に、?date=yyyymmddじゃなくてyyyymmdd.htmlでアクセスできるように変更。mod_rewiteのインストールからやらなきゃならなかったんでちょっと面倒だったけど。
PATH_INFO対応に改造した方が楽なような気がする。相対パス周りを気にしなきゃいけなくなるけど。
_ title_tag有効化 (02:35)
これでSEO的にもずいぶんましになるだろう。けど、もしかしたらyyyymmddpp.htmlとかにrewriteした方がいいんじゃなかろうか。改造が大規模になりすぎるんで手を出す気はないけど。
_ メール転送設定 (02:48)
EZメールの転送設定って、機種変更すると消されちゃうんだね。なんかおかしーなーと思いつつも今まで気づいていなかったよ。
_ Williams signs Button for 2005 (13:41)
げげげげーん。でもまあこれで琢磨が残留できる可能性が増えたかな。もう一人のドライバーはデビッドソンの昇格じゃなくて、ここは一発ヴィルヌーヴの復帰なんてどうでしょう。まあ喧嘩別れだったからまずないと思うけど。
もめそうな悪寒
_ Google AdSense (15:04)
まだほとんどクロールされていないせいで、広告が内容にマッチしないのはわかるんだけど、なぜバッテリー系の広告がメインで表示されるんだろう。こっちに移動して最初の数日の内容のどのあたりがバッテリーっぽかったんだ?
ああそうか
W21Sのバッテリーが持たないという話題を最初に書いたのがいまだに効いているのか。ってあたりから見ると、Google AdSenseのロジックでは最初に有効なキーワードが含まれていたHタグの効果がものすごく強いってことなのかな?
_ ダウンロードやめてね (16:18)
意識的なのか誤爆なのかわからないけど、たまにblogmapをダウンロードしようとしている人がいるみたいだけど、たぶん無理だからやめてね。
blogmapを構成するページ数は論理的には数億ページ分になるんで、ダウンロードすることは時間および回線速度的に不可能に近いし、ほぼノーウェイトでそんなの回されちゃうと、(キャッシュの効いていないレアなページへのアクセス集中で負荷が高まって)サーバーが落ちちゃうから、どっちにしろ不可能だ。
_ HP Notebook nx9110 (16:28)
B0002KV5UC 全然いらないんだけど、すごく物欲を刺激するマシンだ。10万円くらいでWSXGA+(1680x1050)のディスプレイってだけで欲しくなる。でもどう考えてもまだまだLaVie RXが元気な俺には、使うあてがないんだよなー。でもいらなくても買っておきたくなる値段だなー。
と書いているうちにいつの間にかAmazonで在庫切れになっていた。この間チェックしたときにはまだあったのに! でもまあないならないであきらめやすくていいか。
_ amazon.rbとblogmap.rb (16:40)
使い方がよくわからん。俺が使わなくてどうするんだってプラグインなのに。amazon.rbはプラグインの説明に、isbn_image関連は書いてあるけど、なんで書名とかをテキストとして表示する書式がないんだろう? それともなにか根本的に勘違いしているのかな。
ははは、何を隠そう、テキストだけ引っ張ってくる書式は存在していません(笑)
むむ、なかったのか。ってことは、見出しに使うAmazonリンクって、みんな手で入力しているのかな? ひとまずamazon.rbに、
def isbn_text( asin ) item = get_amazon( asin ) amazon_no_image( item[0], item[1] ) end
とか追加してごまかしておくか。
<%=isbn_text asin="ISBNナンバー"%>
なんて感じで使う。
ああでもこれだと、Amazonにだせータイトル表記が登録されている場合は、いやな感じの表示になるな。その辺の問題があるんで、用意されてなかったのかな。
ああ、なるほど
blogmap.rbのソースみてなかったよ。isbn_imageのときだけblogmapリンクが有効なのね。isbn_image_rightばっかり使っていたから気づかなかった。
_ Trackback の脆弱性についての勧告 (17:30)
多くの Trackback サーバの実装に関して、容易に Trackback SPAM のターゲットにできる脆弱性が存在しますので、内容と回避法についてアナウンスします。
これってTrackbackに限った問題なんだろうか? HTTP POSTで攻撃可能なすべてのWebアプリケーションに有効だったりしそうな気が。
抜本的に対策するのならば、
5. Trackback プロトコルのバージョンを上げて、こうした悪意のあるアタックを回避できるようにする。
になるんだろうけど、どうやっても(TypeKeyみたいに)利便性とのトレードオフになりそうだ。
一般的な掲示板と同様に、
- 基本は世間の善意を信じて解放しておく
- どうしても厳密に対応したい場合のみ、受付は無制限だけど、表示には管理人チェックが必要(デフォルト非表示)にしておく
というやりかたしかないんじゃなかろうか。
早速miyagawaさんからツッコミが
1. 通常の掲示板のようなものならば、Referer が自分のドメインかどうかをチェックすればDDoSの対策にはなる(プロキシ経由スクリプトなどの攻撃には無効)。Trackback はそもそも正規のものがブラウザからのものではないのでRefererチェックはできない。
2. Trackback のパラメータは規格化されて決まっているので、任意のアプリケーションより攻撃が楽(汎用的な攻撃スクリプトが書ける)。
確かに、
- 規格化されているので狙いやすい
- 基本が他サーバーとの通信なので、環境変数等で弾きにくい
って理由で、trackbackが同種の攻撃に対して(一般的な掲示板などよりも)弱いってところはあるだろうなー。
目先の被害が大きそうなtrackbackに関して、対応策を練る必要はあるだろうけど、個人的にはこの手の問題は、trackbackの問題に限定せず、
- 従来型の(世の中を基本的に信頼した)Webアプリケーションの作り方自体がそろそろ限界に達しているのではないか
という視点で捉えた方がいい気がする。んでもって、一般論としての対策を練って欲しい(←他人事かよ!)。日記やらblogやらwikiやらCMSやらの連携について議論するMLあたりでなんとかしてくれんかのう。どの辺を落としどころにしておくのが無難なのかのう。
ってことで、おまけにふと思いついた対策(ネタ)。
- trackbackのインターフェースが簡単なのが悪い。もっと面倒くさいインターフェース、たとえばSOAPベースにしちゃえば、厨房spammerはあきらめるだろう
- accept-language: ja、accept-charset: shift_jis, euc-jpじゃないとtrackback(あるいはHTTP POST)は受け付けないようにしよう。鎖国政策だ!
_ 死んでないけど痛かった 6撃目 (20:17)
読んでいるとむずむずしてくるので、みんな電車の中とかで読むといい。
ちなみに俺は小学生の頃、分厚い紙を切っていたらカッターが壊れて刃が逆向きになり、その勢いで左手の人差し指を縦に1/4くらいの幅で割ったことがある。病院に行ったら、指からぶら下がった1/4側の方の肉の先っぽの方(たぶんもう細胞が死んでいた)をはさみでちょん切られて、根本の方は縫われた。血はだらだら出たし、病院での治療はそれなりに痛かったけど、それでも見た目の割にはあんまり痛くなかった。
あと同じく小学生の頃、自転車を全力で立ちこぎしていたら、ハンドルにぶら下げていたカバンが前輪に挟まり、前輪がロックした勢いで自転車ごと前転したことがある。幸い頭を打ったりせず、自転車を抱え込んだまま背中から着地した。ほとんど怪我もなかったけど、カバンの中のノートとか鉛筆とかがぼろぼろのずたずたになっていた。
中学生の頃、体育館と校舎のあたりを走り回っていて、勢い余って2階くらいの高さがある階段を一気に飛び降りたことがある。無事着地できたんだけど、足が衝撃でしびれて走れなくなった。そして衝撃が治まった後も足の裏がずっと痛んだ。数日経っても痛みが治まらないので病院に行ったら、足の裏にある衝撃を吸収する役割の脂肪が壊れたんで痛いんだろう、というよくわからない診断を受けた。ずいぶん長いこと痛かったけど、そのうち痛くなくなった。
同じく中学生の頃、道路でバスに乗り遅れそうになって全力疾走をしていたら、自分の靴のひもを踏んで転んだ。というか、飛んだ。派手に右手をついて着地をして、すぐに起きあがってなんとかバスに間に合った。が、その後ずっと右手が痛んで力が入らなかった。2ヶ月くらい経ってから病院に行ったら、骨折の後があるけどもうくっついているから放っておけば治ると言われた。
俺のネタは、最初のやつ以外はあんまり痛くないな。っつーか何よりも、現在進行形の尿管結石の方がいてーよ。
2004-08-07 [長年日記]
_ 夏休み (00:37)
明日から一応夏休みってことになるのかな。いろいろ火を噴いている物件があるっぽいけど、見なかったことにしよう。若者のフォローとかも本当はやった方がいいんだろうけど、ひとまず千尋の谷に突き落としてみる方向で。休み中に原稿を一周回したい所存。たぶん子供に邪魔されて無理だけど。
_ 本屋もつぶれるわけだよなー (01:10)
Amazon等ネットショップを使うことに抵抗がなくなってからも、基本的に普段読む本は週に数回本屋に寄って買っていたんだけど、最近blogmapとか誰かの日記とかで新刊情報を見かけてから、実際に最寄りの本屋(そんなに小さくない数店舗)で実物を見かけるまでのタイムラグが長くなっている。
特に、そんなにレアではないんだけど、でもメジャー(なマンガとかランキング常連の作家とか)ではないあたりの本。買い物メモなんてそんな長い間覚えていられないから、買おうと思ってから2、3日以内に見つからないと買い損ねてしまう。
こういう売れ筋をちょっと外したあたりのサポートって、書棚面積に限界があるリアル本屋は弱いんだろうな。でもこういうことが続くと、わざわざ本屋に買いに(入荷を確認しに)行くのが面倒くさくなって、結局全部ネット書店で買っちゃうようになってしまいそうだ。
あと、本屋に足を運ぶ理由の(買うこと以外の)半分は、店頭で普段読まないタイプの本をぱらぱら立ち読みして、見知らぬ面白い本を見つける(読む本の間口を広げる)というものだったんだけど、最近その手の間口を広げる方法としても、ネットからの情報が十分使えるようになってきたしな。
_ キーワードの見え方 (02:11)
キーワードプラグインでestraier検索にリンクを張っている部分、他のリンクと同一表現だと紛らわしいんで、ひとまずkw.rbに無理矢理埋め込みで
style="color: black"
にしてみた。本当は、
class="kw"
とかにして、
a.kw {
color: black;
}
にした方がいいんだろうけど、スタイルと協調させるのが面倒だ。でも本文色がcolor: blackとは限らないのかな?
_ モカフラペチーノ (20:34)
携帯から送るとどう表示されるのかな。

ああしまった
Wikiスタイル用にどこか調整しなきゃいけないのか。
っつーか
Wikiスタイルの場合は、画像は単にURLを書くだけで余計な修飾はいらないのか。
なるほど
絵日記プラグインを使っている場合は、postdiary.rbのオプションに、
-f '{{image "$0"}}'
を追加すればいいのか。ただこれだと画像サイズが元データそのままになるのがいやだな。サムネイルをつくって、日記上の表示にはそっちを使って欲しいところなんだけど。
拡張絵日記プラグイン
拡張絵日記プラグインにするとサムネイル作成機能とかも使えるみたいだけど、うまく動かないなー。ブラウザからのアップロードでもサムネイル作成が効かないんで、どこか設定が間違っているっぽい。
_ width="177177" (23:05)
ここに貼ってある画像なんですが、width="177177" となってて、表示が大変なことになってますが、なんでしょう?(うちの環境のせいかな)
どういう経緯だったか忘れたんですが、
{{image 0, '画像の説明', nil, [177,177] }}
という表記になっていて、それを拡張絵日記プラグインに渡すと、
<img .... width="177177">
とレンダリングされていたみたいです。というわけで修正しておきました。というわけで、
ってのは気のせいじゃなくて本当でした。こちらこそご迷惑をおかけしました>DOSEIさん&その他ごらんになった皆さん。
2004-08-08 [長年日記]
_ ウルトラマンフェスティバル (14:30)
待ち時間だるい。

ぶへぇ
ようやく家に帰り着いた。えらい疲れた。眠い。
ショーはなかなか
ライブショーは結構ちゃんと作ってあったけど、Webとかで探してもスケジュールが載ってないのはいけてない。というかもしかして、わざと公演スケジュールを書かないでおいて、待ち時間に買い物させようという策略か?
便所がねーよ
デフォルト再入場不可のくせに、会場内に便所がないってのはどういうことか。一応トイレ退場の場合は半券見せると再入場できることになってるけど、面倒くせーよ。あと、会場の外の便所ってのもやたらと遠いところにあるし。
ライブショーは
入場待ち行列が1時間くらい前からすげー並んでいるけど、単に待ち行列のところのインパクトが大きいだけで、実際には会場は結構広いから、入場が始まって一通りの人が入った後にのんびり入っていっても、たぶん席は残っているんじゃなかろうか。
2004-08-09 [長年日記]
_ 新サーバーが来た (00:38)
がセットアップしている余力がねぇ。けど、やらなきゃもったいないしなー。
なかなか難しい
blogmapとtextmaniaだけだいたい移動したけど、いろいろ問題がありそうだな。隙間隙間でちょっとずついじっていたんじゃ、らちがあかない。でもまとまった時間なんてとれそうもないしなー。
_ EZナビゲーション結構使える (01:47)
(ウルトラマンフェスティバル@サンシャイン60に行くのに)池袋ってほとんど知らないんで、試しにEZナビゲーション使ってみたんだけど、結構使える。本当に道案内してくれるってほどではないんだけど、目的地のだいたいの方向がいつでもわかるってのは、裏通りとか斜めの通りとかを適当に歩いているときにはとても助かる。あと電話帳に載っているようなところに行く場合は、電話番号さえわかれば目的地設定ができるってのもなかなか便利。
ただ、GPSで測位するんで、出だしが地下道だったりすると使えないのが不便。GPS測位に失敗したら、基地局からだいたいの位置を割り出してくれたりしたらいいのに。特に地下道だったらかなりの確度で場所がわかるんじゃないか?
_ ばさらか (18:58)
あぶりトントロうまい。

かなり好きなほうかも
ラーメンアカデミーに入れ替えで新しく入った2店はどっちも好きだな。地元にこのくらいのラーメン屋がたくさんあると、空いている時間に気軽に食いに行けてうれしい。
_ ATF交換 (23:31)
明日から遠出するんでATF交換。燃費がちょっとはよくなってくれるかな。長距離旅行時に燃費が向上してうれしいのは、ガソリン代が節約できるということよりも、1回の航続距離が伸びてくれることのほう。給油タイミングに気を遣うことが嫌いなんで。
2004-08-10 [長年日記]
_ DNSが書き換わってないな (03:05)
expire 3600なのに、まだbm.ishinao.netが新しい方に振り替わっていないDNSが多いみたいだな。また寝ぼけてserialの桁を間違ったりしたんじゃなかろうな。……そんなこともなさそうだが。
ようやく
So-netのDNSも新しい方に変わったな。セカンダリーはまだ古い方を見ているけど。朝までの間に一通り新しい方に振り替わってくれればいいんだけどなー。じゃないとこれからネット環境が悪い場所に行っちゃうんで、対応が難しくなってしまう。
うーん
まだだめなところが残っているみたいだなー。しょうがないからIPアドレスでもアクセスできるようにして、旧サーバーから転送をかけておくか。
_ blogmapのtrackback受信 (08:21)
そういやblogmapのtrackback受信って、index.htmlを静的生成に変えちゃって以降、できなくなっていたんだね。全然気づいていなかったよ。
ひとまず
http://bm.ishinao.net/tb.php/[URL_ID/ASIN]
で受信できるようにした。
mod_rewriteで、旧形式の
http://bm.ishinao.net/?q=[URL_ID/ASIN]
でも受信できるようにしようとしたんだけど、うまく動かないな。
RewriteRule q=([0-9A-Z]+)$ tb.php/$1
じゃだめだっけ?
_ 東北道空いてる (11:54)
出発直前に結石の痛みが出るという最悪のスタート。ひとまず今は小康状態だけど、運転中に痛んだら嫌だな。

_ 鶴巣で2回目の給油 (15:35)
さっきトイレで放尿時に激痛が走ったんだけど、石がでたのかなー。音はしなかったけど。

_ 入道雲 (15:49)
東北道は晴れところにより豪雨(山間部)。もうすぐ岩手に入る。

2004-08-11 [長年日記]
_ トンボ (10:18)
昨日は17:50に着いた後、飯を食って風呂に入ってすぐに沈没。それにしても雫石は涼しいなー。と思ったら今日突然涼しくなったんだとか。
ひとまず朝起きて散歩しつつトンボを取ってみたんだけど、ムスコはびびってさわれなかった。

_ 羊 (16:27)
あそんでくれない。

2004-08-12 [長年日記]
_ おなっぺ (14:09)
字が分からん海水浴場。海にしては涼し過ぎるんですけど。

しばらく水に浸かっていたら
結構ぬるく感じてきた。空いているし、ジュースとかも定価で売っているし、関東近郊の商業的で小汚い(というか臭い)海水浴場と比べると天国だな。
女遊部だった
なんか読み方が北海道の地名(アイヌ語系)みたいだな。まあこの辺ならアイヌ語系の地名が残っていてもおかしくはないだろうけど。それにしてもATOKでも変換できない地名とは。
うが、間違い
女遊戸が正解。
_ 浄土ヶ浜 (15:45)
ウミネコパン全部空振り。夕方の便の頃はもう腹いっぱいらしい。

_ 船の上 (15:50)
携帯のアンテナが全部立ってるな。メールも普通に出せる。

_ 飯 (16:56)
宮古の魚市場のそば。

刺身はさすがにうまい
刺身と海鮮丼は豪華でうまかった。けど魚介系ラーメンは、具はとても豪華だけど、潮臭くてうまくない塩ラーメンだった。まあこんなところで、ラーメンとしてうまいラーメンを求めちゃだめか。
2004-08-13 [長年日記]
_ てづくりむら (11:41)
花時計。雨が降ったり止んだり。

_ 牛タン (16:53)
ぎゅうたんぎゅうたんぎゅうたんたん

_ ようやく帰り着いた (23:36)
やっぱり出かけている間は何もできなかったなー。ネット環境が腐っていたというのもあるし。せっかく実家がADSLなのに、PCから直接PPPoEとなるとつなぎ変えるのも面倒くさいしなー。この土日に何とかしないと。
_ なんかサーバーが腐っている気配 (23:38)
VirtualHost設定が腐っているのかと思ったら、PHPが腐っているらしい。この間Apache2に入れ替えようとして失敗してあきらめた名残なのか。どうせなら完全にセットアップし直したいところなんだけど、それよりも原稿を先に書かないと。
2004-08-14 [長年日記]
_ mailコマンド (13:26)
PHPのmailコマンドは、コンパイル時にsendmailが見つからない場合は有効にならないんだっけ。そういやsendmailのアンインストール、PHPのインストール、qmailのインストールという順番でやっちゃったかも。mailは無効なのに、mb_send_mailは無効じゃない(関数が見つからないエラーは出ない)というのがまた気づきにくい。
_ ラーメン撮影 (15:43)
食べる前に撮ろうと思っても気がつくと食べ終わっている。

_ refererとsidebar (20:01)
<div class="referer">と<div class="sidebar">は解析対象文字列として無視するように変更。commentとかrefererlistとか、もうそのあたりは一通り無視するようにした方がいいのかなー。MTのdiv classの構造ってどうなってるんだっけ?
2004-08-15 [長年日記]
_ ハンガリーGP予選 (02:52)
久しぶりに琢磨が調子良さそうだな。というか、バトンがごたごたしている今のうちに活躍しておけば、来シーズン別のファーストドライバーを入れるのではなく、琢磨がファーストドライバーに昇格するという方向に話を持って行けるかも。
_ ハンガリーGP決勝 (21:15)
うげー、スタートでこんなにポジションを落としちゃったか。まあBARはどうせ最初のピットでどかんとポジションを落とすから、このくらい誤差の範囲といえなくもないけど。
うーん
微妙につまらない展開だ。今までずっとこういうレースをやっていたら、BARは余裕でコンストラクターズで2位になれていたんじゃないか。という意味で、車のスペックからしてこの程度の結果を出して当たり前だよなー。
_ 収集先大幅増量 (23:43)
新サーバーにしてスペックに余裕が出たんでデータ収集先大幅増量。当社比400%アップ。さらにリミッター解除して、無限に収集先が増え続けるようにした。こんなことをやったらまたマシンパワーがいっぱいいっぱいになっちゃうかな。
2004-08-16 [長年日記]
_ はてなコミュニティのもめ事を見ていると (13:42)
かつての日記猿人(現日記才人)コミュニティのもめ事のおもひでが想起されるのことよ。
- 「荒らし、煽りは放置が基本」
- 「休み(春夏冬)厨はある程度湧いて出るものと達観(あき)らめよう(休み明けまで静観しよう)」
は2chに限らずネットコミュニティ一般で通じる標語だとおもふ。
なんとなく、有料ユーザーと無料ユーザーにコミュニティ(技術的には、キーワードリンクやrefer自動送信などの及ぶ範囲)を分割しつつ、どちらに所属するかをユーザーが決められるようにする(有料ユーザーはどちらにも同時に所属することが可能)と、ちょっとはすっきりするのかもしれない。
あるいは、デフォルトではてなグループしかないようにすればいいのかな。現在のグループ単位で日記(管理単位)を作るのではなく、一つの日記(管理単位)で、記事単位にどのグループに所属するかをカテゴリー表現を使って決められるようにしたりとか。カテゴリー未指定の場合はデフォルトグループ(設定により変更可)にのみ所属する感じ。
要は、
* 適当な記事
は、デフォルト指定されたグループ(有料+無料とか)に所属する
* [グループ名] もっと適当な記事
は「グループ名」で指定されたグループに所属する。もちろん該当IDユーザーが「グループ名」グループに参加済みである必要がある。って感じ。
_ いまさらだけど。めたるまんの「ブッシュblogネタは釣りだと分かってました」という後だしジャンケンはカッコ悪い from void GraphicWizardsLair( void ); // (13:48)
うへー、あの手のネタをあのくらい(本当か嘘か)わかりにくく表現すると、後出しじゃんけんあつかいされちゃうんですか(ところでどこで後出しじゃんけんしているんだろう? 見つからない)。それはキビシイなー。ああいうよくできた嘘ネタを紹介するに際して、「もちろんこれは嘘ネタだよ」的なことを書くなんてもったいないから、俺もああいった紹介方法を選びそうだ。
_ 使い果たした (17:07)
データ収集規模をでかくしたとたんに、サーバー移行して余力ができた分を一気に使いつぶしてしまった。これはやはり、早いところ根本的な対策を施しつつ、もうちょっと使いやすいインターフェースを採用した新バージョンを早々に投入するべきだろうなー。でも作っている暇がない。
_ 最近のコメント→trackback (17:24)
最近いくつかのコメント欄が、小中学生たちによる自作自演の横行するチャット状態になっていて、「最近のコメント」表示の意味がほとんどなくなっているんで、トップページには「最近のtrackback」のみ表示するようにした。リニューアル時にはtrackbackメイン(あるいは“のみ”)に変更しよう。
_ 常設リンクから見えるコミュニティの特徴 (18:13)
blogmapに新規データ収集サイトを追加すると、対象サイトの常設リンクが一時的にランキング上位に出てくる。それらはblogmapの趣旨(主に「現時点での」注目URLランキングを表示したい)とはあわないんで、基本的には手動で消す(というかランキングには出ないようにする)んだけど、それらの情報を見ていると、いろいろなコミュニティの特徴的な部分がなんとなく見えてくる。
たとえば、素材系ページへのリンクの偏りからは、「自分で画像等の作成はしない」タイプのユーザーの集まりや、そこにおける「デザインの好み」などが見えてくる。また、コミュニケーション系ページ(チャットや掲示板あるいはコミュニケーションポータル)へのリンクの偏りから、彼らが(自Webサイト以外に)所属するコミュニティが見えてくる。また、ニュース系サイトの場合は、他の個人ニュースサイトや一次ニュースサイトへのリンクから、個人ニュースサイト同士のコミュニティや情報への嗜好が見えてくる。また、自分が知らない世界にはさまざまな個人サイトを中心としたコミュニティ(○○同盟のたぐいやWebリングなど)があることが発見できる。
なんてことをぼーっと考えながら、常設リンクたちを手動でしこしこランキングから消しつつ、常設リンクを自動的に消すいい方法はないものかなどと考えてみるのでした。大手blogサイト/ツール一通りに関して、サイドバーのclass表現がどうなっているか調べる必要があるな。一昔前のほとんどが手作りHTMLだった頃には不可能だったけれども、今ならdiv classやidを使って大部分が自動削除可能だろう。
2004-08-17 [長年日記]
_ 今にも雨が降りそうな天気 (11:36)

IE系だと
写真付きの段落は表示がおかしくなるなー。レイアウトは崩れないけど、文字部分がレンダリングされない。というか、されているんだけどレンダリング終了後に、いったんその部分だけ再描画(InvalidateRect)させないと、読めない状態になってしまう。Mozilla系だと大丈夫なんだけど。
と思ったら
このくらい文章量があるとちゃんと表示されるな。文章量との兼ね合いなのか。
文字欠け対策
MLの「[tDiary-theme] 文字が欠けるテーマ(http://www.tdiary.org/archive/theme/threads.html#00506)」から始まるスレッドに関連した情報があった(サンクスzoeさん)。ひとまず、default.cssのdiv.sectionの項目に、width: 100%;を追加して様子を見る方向で(一応手元の環境では文字欠けが出なくなったっぽい)。
これって結構古い話題みたいだけど、tDiary 2.0の標準テーマでも対策されていないってことは、何かほかの問題があるからなのかな?
_ blogツール/サービスサイドバーの判別 (13:00)
適当に見て回った範囲で書いたので、いろいろ間違いというか、デフォルトではないものを参考にしていたりする場合があるかも。それにしてもまだまだえぐいtableデザインのところが多いなー。tableデザインでもいいから、論理要素をDOMで判別できるようにしてくれると、ありがたいんだけど。
今回はサイドバー周りしか見なかったけど、一通りのデザイン要素をチェックしてみるのも面白そうだな。ある程度共通のアプローチってのもあるみたいだし。一応サイドバーはdiv class="sidebar"ってのが多数&主流派かな? ただ、tDiaryではclass="sidebar"で表示位置まで決まっちゃうけど、blogツール系ではさらに外側にdivをかぶせて表示位置を指定することで、3ペインとかを表現している模様。
個人的には一番ロジカルなtDiaryのデザインをベースに、もうちょっと日記(日付ベース)以外でも使いやすい標準デザインを作って、各blogツール/サービスもできる限りそれに準拠するようにするといいんではないか、とか思ったりした。
訂正・追加等のツッコミ歓迎。
blogツール系
| tDiary | div class="sidebar" | ※その他tDiary互換テーマを利用しているツール/サイトも同様。 |
| IBLOG | div class="side" | |
| movable type | div id="links" | ※これが2.661以前の標準だったらしい |
| movable type | div id="frame-left" | ※本家 |
| movable type | div class="side" | ※というパターンもある模様 |
| Nucleus | div id="stuffbar" | ※本家 |
| WordPress | div id="sidebar" | ※本家 |
| lily | div class="menu" | ※本家 |
| P_BLOG | div id="menu-box" | ※本家 |
| blosxom | div id="links" | ※かなー? |
| HNS | ※tableだよね | |
| その他 | ※サイドバー要素を判別できるツールはあるかな |
blogサービス系
| はてなダイアリー | div class="sidebar" | ※tDiary互換 |
| JUGEM | div class="links" | ※サイドバーじゃないけど、サイドバーのリンク一覧文字要素はこれにしている模様 |
| livedoor Blog | div id="links" | |
| Excite Blog | ※DIV ID=LEFT/RIGHTは、その中身がメニューだろうが本文だろうがかまわず、純粋に表示位置だけのために指定されるらしい | |
| goo Blog | div class="leftblock" | ※こっちが標準か? |
| Yaplog | ※tableオンリー | |
| Doblog | div class="menu" | ※だと思う |
| WebryBlog | ※サイドバー的な表示はないのかな? | |
| Seesaa blog | div id="links" | |
| My Profile | * class="side_text" | ※えぐいtableデザインだけどサイドバー相当に表示する文字はspanやtdのclass="side_text"に統一されているっぽい |
| Blogzine | div class="sidebar" | |
| AOL Diary | div class="sidebar" | |
| melma! blog | div class="sidebar" | |
| チャンネル北国 | div id="links" | |
| MyPress | div class="menubody[\d]?.*?" | ※とかになるのかなー |
| BLOCKBLOG | div id="menu" | ※のような気がする |
| 2log | ※table | |
| ココログ | div class="sidebar" | ※movable type |
| TypePad | div class="sidebar" | ※movable type |
| LOVELOG | div id="links" | ※なんだろうな |
| DI:DO | div class="freespace" | |
| News-Handler | div class="sidebar" | |
| Diary Note | div class="menu" |
_ データ収集対象からサイドバーを除去 (16:27)
↑を参考にサイドバーおよびコメントやtrackback一覧表示部をデータ収集対象外に変更。あとその他大手サービスに関しても、正規表現で対応できそうなものはそれなりに対応した。これでずいぶんREFERER SPAM、trackback SPAMに対する耐性が強くなった&常設リンクの影響を受けにくくなったんじゃないかな。あとは目立つものについてぼちぼち対応していこう。
_ コメントちょっとだけ表示 (17:59)
トップにまったく最近のコメントが表示されないのも寂しいんで、最新10件だけtrackbackの下に表示するようにした。
_ 充電一直線 for CDMA (18:41)
相変わらずバッテリーが持たない(ふつうに通勤の往復で使うと途中で切れる)こと以外は文句がないW21Sだけど、純正充電器&バッテリーを買おうかと思ってauショップに行ったら、取り寄せになると冷たく言われて面倒くさくなってしまい、手近なところで「KBC-CDMA/U 充電一直線 for CDMA」を買って妥協してしまった。会社にいるときはこれを使う方針。純正以外の充電器を使うとよくないと聞くけれども、ひとまずどのくらいよくないのか実地で確認してみることにしよう。
2004-08-18 [長年日記]
_ postdiary.rbで回り込みを使いたい (06:02)
postdiary.rbでの写真投稿はimage_rightで受けるようにしているんだけど、よく考えたら、
本文+\n+imgタグ
という形式で投稿されちゃうんで、せっかくimage_rightしていても本文が回り込んでくれない。かといって、
imgタグ+\n+本文
にしちゃうと、俺の場合は本文にセクションタイトル要素を書いているんで、それが写真の後ろに来てしまう。というのがいやだったんで、postdiary.rbを、
- @body = "#{@body.sub( /\n+\z/, '' )}\n#{img_src}"
+ @body = @body.split(/\n/).insert(1, img_src).join("\n")
+ @body = "#{@body.sub( /\n+\z/, '' )}\n"
に変えてみた。要は、本文の1行目をセクションタイトルと見なし、2行目にimgタグを挿入し、その後ろの残りの本文をくっつける。という改造をしてからふと思いついたけど、本当はSubjectを使って、
'!"+subject+"\n"+imgタグ+\n+本文
を投稿するようにした方がいいような気がしてきた(Wikiスタイルの場合)。メール投稿のsubjectは、日付のタイトル扱いではなくセクションタイトル扱いの方が似つかわしい気がする。
subjectを使うようにしてみた
最初にsubjectを見て、subjectがあったら@bodyの頭に(Wikiスタイルの)セクションタイトルの形式で追加。んでもって、imageがあったら、それは@bodyの2行目に挿入。(日付の)タイトルは送らない。というアプローチ。下はpostdiary.rb(Revision: 1.1)との差分。Wikiスタイル+カテゴリ使用の人じゃないとそのままじゃ使えないと思う。
153a154,160
> title = ''
> if /^Subject:(.*)$/ =~ head then
> title = $1.strip
> title = NKF::nkf('-eXd', title)
> @body = "! [moblog]#{title}\n#{@body}"
> end
>
160c167,168
< @body = "#{@body.sub( /\n+\z/, '' )}\n#{img_src}"
---
> @body = @body.split(/\n/).insert(1, img_src).join("\n")
> @body = "#{@body.sub(/\n+\z/, '')}"
183,187d190
< title = ''
< if /^Subject:(.*)$/ =~ head then
< title = $1.strip
< end
<
190c193
< data = "title=#{CGI::escape NKF::nkf( '-eXd', title )}"
---
> data = "title="
_ うがー今日はいい天気だ (11:43)
帽子かぶってくれば良かった。
ちょっと暗いな
W21Sのカメラ、AUTOモードで撮るとちょっと暗いな。昨日の暗い空を見て、てっきり状況にあわせた方向に強調して写すタイプなのかと思っていたら、単に暗いだけか。AUTOじゃなくてマニュアルでシーン設定をした方がいいのかな。
_ 元チェッカーズの徳永善也さん、舌がんで死去 (13:34)
ちゃかしたらいかんネタだということは重々承知しているのですが、思わず「徳永善也さん、舌かんで死去」と読み間違えてしまったのです。「へー、自殺か」とか思っちゃったのです。ごめんなさい。もうしません。
_ tDiaryのテーマとサイトのアイデンティティ (14:41)
tDiaryのテーマという仕組みはとてもよくできた仕組みだと思うけれども、自サイトのテーマを既成のテーマの中から選んで頻繁に入れ替えたりすると、そのサイトのアイデンティティというものが失われていってしまう気がする。それは、特にキャラクターなどの特徴が強いテーマを使った場合に顕著。
人はまず見た目で識別してかかるので、同じ特徴的なテーマを使っているサイトは一見同じもののように認識してしまう。それでも、そのサイトがそのテーマを使っていることに慣れてくると、見た目の類似ではなく文章の内容の方に集中できるようになってくるのだが、そこでまたがらりと別の特徴のあるテーマに変えられてしまうと、再び外見のイメージの方により強く引きずられてしまい、文章の内容に集中できなくなってしまう。
と一般論のように語ってみたわけだが、結局言いたいことは、「あんまり頻繁にテーマを変えられるとどのサイトを読んでいるのか私がわからなくなって混乱するので、あんまり頻繁にテーマを変えたりしないで欲しいなー」という愚痴なわけです。
_ 旧サーバーをApache 2.0.50+PHP 4.3.8に (17:11)
この間からなぜかPHPをアップデートしようとするとこける状態になっていた旧サーバー(このサーバーね)。Apache 1.3系列+PHP 4.3系列と、Apache 2系列+PHP 5系列を平行して動かつつアップデートを重ねてきたんで、どこがこけているのかさっぱりわからない。
やけくそなんで、旧ApacheとPHP関連はすべて抹消した上で、新規にApache 2.0.50+PHP 4.3.8をインストールしたら、ようやく動くようになった。やっとApache 2をメインにできたんで、これで(主にmod_svn周りの)ややこしい運用をせずにすむようになるな。
でもまだ設定を完全に復活させていないんで、いろいろ誤動作があることでしょう。
_ gz_handler→mod_deflate (19:35)
せっかくApache 2にしたんで、今までPHP上でob_start('gz_handler')してgz圧縮していたのを、mod_deflateに切り替えてみた。これならPHP以外のコンテンツも圧縮されるし。
なんとなく、圧縮処理自体の効率はmod_deflateの方が良さそうな気がするけど、どこかにベンチマークでもないかなー。他の要因の影響が出ないような環境を作るのが面倒くさそうだ。
そういやmod_gzipには、圧縮したデータをキャッシングして再利用する機能があったと思うんだけど、mod_deflateには見あたらないな。純粋に圧縮フィルタとしての機能しかなくなっちゃったのかな。
_ GDのjpegサポート (21:50)
PHPでimagecreatefromjpegを使おうとしたら、そんな関数ないと言われた。
んが、GDオプション付け忘れたっけ? とか思って見てみたら、GDは入っているけれども、jpegサポートが入っていない。前からそうだったかなー。GD関数ってPHPの(関数ライブラリの)いやな部分(主に命名規則)と直面しなきゃいけないから、あんまり触った覚えがないんだよな。
で結局、configureに--with-jpeg-dir=/usr/libとかつけないと、ちゃんとJPEGサポートされない模様。/usr/libくらい自動で検索してくれればいいのに。
2004-08-19 [長年日記]
_ DropCash (10:57)
ウェブロについて考える。6 295(←infoseek CGIはリファラーチェックで外部からのリンクを弾くので、URLをアドレス欄に貼り付けて飛ぶべし)で紹介されていたTypeKey+PayPalな投げ銭システムに試しに登録してみた。
TypeKeyのアカウントは試しに取ってあったんで、それを使ってDropCashにログイン。登録にPayPalのアカウントも必要なんで、それを取ってきたら登録完了。個人情報はTypeKeyとPayPalに登録し、DropCashはその必要最低限だけを利用する形。
アカウントを取ると、「Create a new campaign」から「どういう意味で」「いくらを目標に」お金を集めるかの登録を行う。ってあたりからは、何となく「金くれ」というよりは、「○○するために○○ドル集めています」という目的ありの募金を行ったりすることを中心に考えているのかな?
でも別に俺には目的はないんで、何となくなcampaignを試しに作ってみた。
ASCII以外は全部実体参照化して登録されるんで、一応日本語も何となくは通るっぽい(けど、ブラウザ依存かも)。あと、登録したら速攻でcontactのところに書かれているgmailアカウントから「タイトルとURLの表現にバグがあったから直しておいたね」というメールが来たんだけど、これって開発者からかなー? さすがベータ版&リアルタイムで見ているのかな?
募金はPayPalのアカウントさえあればできるっぽい。ただ、コメントを残すためにはDropCash(というかTypeKeyのメール通知付き)のアカウントが必要な模様。
海外のblogger(って単語初めて書いたよ)は、元々PayPalは使っているだろうし、TypeKeyの導入さえ進めば結構流行るかもね。OpenSourceプロジェクトの寄付募集なんかも、何となくなPayPalアカウントを使うのではなくて、DropCashを使って目的別に目標金額を決めてやるのもいいかもしれない。あと、何かイベントを開催するにあたっての費用徴収にこれを使って「いくら集まったらやりますよ」と非均等前払い制にするのもいいかもね。
開発者のblogがあった
もう1個作ってみた
って、こんなふざけたのばっか作ってていいのか。まあ現時点では、どんな利用法でも(違法でない限りは)いろいろ試してみた方がいいよねってことで。
_ メールニュース死んでた (12:08)
PHP再インストールの影響で、blogmapメールニュースが死んでいた&復活させるときに間違って2通同じものを送っちゃったかも。ごめんなさい。
_ いやー、今日もいい天気だねー (12:20)
今度は風景モードで撮ってみた。ちゃんと明るく撮れたかな?
全然だめじゃん
と思ったら、ホワイトバランスの方の設定で変えるのかな? 今度はホワイトバランスを晴天にして撮ってみよう。
_ trackbackによる関係図(13:26)
ついでに、ウェブロについて考える。6 290(infoseek CGIにつきURLをアドレス欄にコピペの上移動。っつーか、ime.nu経由とかで書いた方がいいのかな?)の、
ishinaoさんが実験的に見せで作ってたTrackbackをツリー表示にして追えるってツールだけどあのへんって進化止まったままだなあ。残念だ
に関連したネタ。
結局あの当時はまだtrackbackがさほど使われていなかったってこともあって、ある特定の記事に対するtrackbackを追ってみたところで全然面白い情報が得られなかったから(ふつうにWebブラウザでtrackbackを追っていくのと大して変わらん)、やる気がなくなったけれども、ずいぶんtrackbackも普及してきた今ならば、結構遊べるかもしれない。
ただ、現在はtrackback数自体はずいぶん増えたけれども、trackbackの情報の質は低下している(お返しtrackbackとか、うなづきtrackbackとか)ように思うんで、ある特定の記事に対するtrackbackを追うことの面白みのなさは、大して変わっていないんじゃないかと思う。だけど、一つ一つのtrackbackを追跡すること自体は面白くなくても、trackbackによってつながるサイト(記事)間の連携状態を観察するのはそれなりに面白そう。
だから、もし今からその手のものを作るとしたら、いくつかのサイトをseedにして、そのサイトへ送られるtrackbackを監視しつつ連鎖的にたどっていくクローラーを作って、はてな地図みたいな関係図として表示するツールとかかな。ある程度の期間、データを集めて、trackback数を重みとして評価すると、単なるツリー表示とは違った関係図が描けそう。
まあblogmapで収集しているリンク・被リンク情報を解析しても似たようなものは作れるだろうけど、blogmapのデータ収集対象は単なる個人Webサイトってだけなんで、そこから得られるメタデータ量が少なくて解析しにくいんだよな。trackbackベースで監視すると、そのターゲットは狭義のblog系サイトのみに絞られるだろうから、メタデータを使った解析がやりやすそうだ。
自分で作る気はあまりないんで、誰かが作ってくれるとうれしい。
_ キーワードリンクの検索対象 (14:06)
キーワードリンクの検索対象を、tdiary.ishinao.net内Estraier検索から、ishinao.net内にあるさまざまなEstraier検索をestmerge.cgiを使って串刺し検索するように変更した。blogmapのblog検索とnews検索が含まれるんで、かなり使える検索結果が出ると思う。
Estraierを使うと、こうやって異なるシステムに対して作成した複数のインデックスを、まるで一つの検索インデックスに対して検索するかのように使うことが標準でできるんですよ。この機能ってかなり使えると思って前から話題にしているんだけど、あんまり使っている例が見あたらないのがもったいない。
ひとまず試しに、このセクションではやたらとキーワードリンクを張りまくってみたんで、試しにクリックしてみてください。リンク文字色とかデコレーションをオフにしてあるんで、通常のブラウザではどこがキーワードリンクかわかりにくいでしょうけど、適当にマウスカーソルを移動してみて、クリックできそうなところを押してみるといいです。
あとついでに、結構な負荷をかけて生成しているにも関わらず、大して利用者のいないblogmapのblog検索とnews検索の宣伝も兼ねておこう。
_ これか? (15:02)
最近全然テレビ見ないんで、「(検閲:創造力のない奴→発想が豊かな人)ほど、(検閲:他人の創造力にケチをつける→他人に対する要求が高い)」を読んでも何がなんだかさっぱりわからなかったんだけど、たぶん「仲間由紀恵は悪くないともっぱらの“月9”ドラマのデタラメ」のことを言っていたんだね。
_ uconvインストール (16:16)
tDiaryのGoogle検索キーワード表示が文字化けしているんで、uconvをインストールしてみたら、ちゃんと表示されるようになった。なんとなくruby 1.8系は標準でUTF-8対応しているもんだと思いこんでいたよ。
ところで、rubyの文字コード変換処理って、この関数を使っちゃうのが標準なんですか? estrelate.rb(ここで使っているEstraierを使った「似た話題の日」プラグイン)をrubyで書き直そうと思ったんだけど、rubyのリファレンスマニュアルをみてもよくわからなかった。
↑わからなかったのは
uconvライブラリの使い方じゃなくて、uconvライブラリを使って文字コード変換処理を書くことが、一般的(可搬性がある書き方)なのかってことね。
ruby 1.8はiconvか
ruby 1.8が、標準でUTF-8対応したってうろ覚えの記憶は間違っていなかったけれども、ライブラリが違ったのか。従来は独自ライブラリのuconvだったけど、ruby 1.8からはiconvのラッパーライブラリを標準搭載したってことかな。ってことは現状は、
- uconvとiconvの間で互換性はない(uconv用に書いたコードが、自動的にiconvでも動いたりはしない)
- ruby 1.8より前に書かれたコードでは(UTF-8対応は)uconvが標準的に使われていた
- ruby 1.8以降はUTF-8対応はiconvが標準的に使われるであろう(※それとも過去互換性のためにuconvを使う方が主流だったり、あるいはどちらでも使えるようなラッパをかますのが主流だったりするのかな?)
って感じなんでしょうか? ruby uconv iconvでググってみてもいまいちその辺に関する情報が見つからない。
2004-08-20 [長年日記]
_ 今日も暑い (08:49)
というわけで、ホワイトバランスを晴天、シーンをビーチにしてみた。今度こそそれっぽい色で撮れたかな。
おお
ずいぶんいい感じになってきたじゃないか。どうもW21SのカメラのAUTOはあんまり使えないっぽいな。室内で撮るときもやけに暗く写るし。
ちゃんと撮りたければ、シーンもホワイトバランスも適切な設定にしてから撮れってことか。今度主な状況ごとに、どのシーン設定とどのホワイトバランス設定を使えばいいか、組み合わせを考えておこう。
っつーか、そういう状況ごとの適切な設定のことを、シーン設定と呼ぶのかと思っていたよ。シーンってのはホワイトバランスを除いた設定のことなのか。
_ ツイてる族 (13:09)
私の中での初出は「アマゾンアソシエイトを語るスレ」 (現在は12品目)なんですが、ほかでも流行っているのかな? ついてる! ついてる!
これですか?
kdmsnrさんに教えてもらったサイトで見つけたのですが、この本「ツイてる!(斎藤 一人)」が元ネタですか? blogmap見る限りでは、そんなに話題になっているってほどでもなさそうだけど。


Before...
_ ishinao [尿管結石は現在絶賛発病中なんですけど、昨日はいつもの結石の痛みとはちょっと違う痛みだった、という話なんですよ。それに..]
_ smbd [プラグインの仕様書はtdiaryのディレクトリの下の doc/HOWTO-make-plugin.htmlですね も..]
_ ishinao [ありがとうございます。ちゃんとHTML化されて配布物に入っていたんですね。無駄に関連Wikiの中を漁って「見つからな..]