Home

日記
人狼BBS (16:39)Edit

なんか時々投稿しても反映されないときがあるな。エラーは出ていないんだけど。エラーメッセージが出る前にリダイレクトしちゃってるのかな? 連続投稿中に一個抜けちゃうと話の流れがおかしくなって危険危険。

15秒の保留期間

中に連続投稿しちゃうとまずいのかな? あるいは投稿と同時に15秒内キャンセルも勢いでクリックしちゃってたりするのかな?

あと、他の人と同時に投稿した場合、投稿直後に表示された内容と、その後リロードしてから表示される内容で、発言順が異なって表示されたりすることがあるようだ。ってのを見間違えたのかもしれない。

Published At2004-09-16 00:00Updated At2004-09-16 00:00

日記
preのスタイル (20:32)Edit

どうせpreはソースコードがコマンドサンプルを載せることがほとんどで、横幅がはみ出しちゃうことが多いんで、preのスタイル設定を、

div.section pre {
font-size: 80%;
width: 80%;
height: 5em;
overflow: auto;
}

にしてみた。本当ならばソースコード記述用プラグインとかを作りたいところなんだけど、Wikiスタイルでは複数行のテキストを扱うプラグインって作りにくいよね。やるとしたら、

def src_start(height = 5)
<textarea class="source" style="height: #{height.to_s}em;">
end
def src_end
</textarea>
end

とか作って囲む感じかなー。でも間に挟まる部分がWikiスタイルとしてレンダリングされちゃうのはまずいしなー。Wikiスタイルのレンダラー自体をいじって何とかするしかないのか? それも大仰だし、アップデートの際に面倒くさそうだしなー。うーん。

Published At2004-09-16 00:00Updated At2004-09-16 00:00

日記
ザウバー、ビルニューブ加入を発表! (21:12)Edit

おお、ヴィルヌーヴ復帰ですか。ルノーでテストしながらザウバー加入発表ってのはちょっとなぞだ。さらに、「トヨタ、トゥルーリ加入を発表」なんてニュースも。

Published At2004-09-16 00:00Updated At2004-09-16 00:00

日記
はてなアンテナの操作性 (13:34)Edit

過去の戯れ言 I know」 via void GraphicWizardsLair( void ); //より、

「はてなアンテナ」の操作性の悪さは(個人的な感想では)壊滅的にダメ。

私もそう思ってましたけど、あれってわざとやっている(というか、改善しないでいる)んだとも思ってました。ってのは、はてなアンテナの設定は、

  • 外部Webサイトへのアクセス設定なので、設定内容によっては外部に迷惑をかけうる
  • ユーザーの共通設定なんで、設定内容によっては他ユーザーに迷惑をかけうる

ってのが特徴で、もしも簡単に設定内容を変更できるようにすると、上記リスクが高まってしまう。はてなアンテナってよく「設定内容を勝手にいじられた!」とかもめているし、設定をいじりやすくするとそれがさらに増えちゃいそうだ。

元々はてなアンテナの設定って、一度設定したら後はあまりいじらなくていい代物だから、利用頻度を考えると操作性の悪さはそれほど大きな問題にならないし。

まあ当初からそれを狙っていたってわけじゃなく、単に元々は操作性が悪かったんだけど、単に使いやすくしただけだと別のトラブルが起こりかねないんで、いい対処方法を思いつくまで優先順位低めで放置中って感じなんじゃないかなー。

Published At2004-09-17 00:00Updated At2004-09-17 00:00

日記
もしもオリジナルで作るとしたら (18:26)Edit

人狼BBSはとても面白いんだけど、ちゃんとやろうとすると社会生活に支障を来すんで、これ以上やるのはつらいなー。先週初プレイを始めて昨日死んだんで、ようやくのんびり過ごすことができるようになったけど、それまでは生活の半分くらい人狼BBSに費やしてしまった。本当はもう一個やってみたいところだけど、ああいう自分のペースで参加しにくい(してもいいけど、不利になる)ものは、やばすぎる。

そこで代替手段として、もしも自分で人狼BBS系のゲームを作るとしたらどうしたら面白いだろう、という設計を始めた。実際に作るかどうかはともかく、あのゲームの面白さの元を分析し、あの面白さを維持したまま、異なる面白さも追加したゲームを設計するというのは、なかなかやりがいがありそうだ。もしもわざわざ別に作っても意味があるくらい、ちゃんとしたデザインができたら、きっと試しに実装しちゃうんだろうなー。

Published At2004-09-19 00:00Updated At2004-09-19 00:00

日記
ブクログ -WEB本棚サービス- (15:55)Edit

blogmapに載っていたんで見に行ったところ、また新しい本棚ツールが出てきたらしい。でも、今のところ(今後追加される予定の機能まで考えても)、本棚の表示方法以外には、あんまり参考にするところはなさそうだなー。試しにMMに登録している本を600冊くらい登録してみたんだけど、本棚に表示できるのは100冊までっぽいんで、あんまり意味がなかったかも。

今後追加されるらしい、JavaScript Includeで書影付き表示を可能にする機能ってのは、ユーザーフレンドリーな感じで一般受けしそうだ。MMの場合は、RSSを配信するから、その手の加工は利用者サイドで勝手にやってくれというスタンスだから、あんまりユーザーフレンドリーな機能を提供する気はないんだよなー。配信データフォーマットはRSS一種類に統一しておきたい。

imageで、一番のポイントであろう、本棚の表示方法はなかなかうまいこと考えたなー。あれだけ変形させても、結構雰囲気は保てるのね。書影画像の加工って規約的にはまずそう(ブクログは画像加工しているんではなく、ブラウザ上の表示サイズを変えているだけなんで大丈夫だと思う)だけど、書影を立体感のある形に変形させて(→のような感じね)、重ね合わせて表示させる表示形式にして、JavaScriptで本棚から引っ張り出しているような動きにすると結構いいかもなー。MM上ではやらないだろうけど、RSSを食わせるとそういう出力をするスクリプトとかは作ってみてもいいかな。

Published At2004-09-20 00:00Updated At2004-09-20 00:00

日記
期間指定を追加 (20:21)Edit

UIは作っていないけれども、引数にfrom=YYYYMM(DD)、to=YYYYMM(DD)と指定すると、その期間の日付のメモのみを抽出する機能を追加。これを使うことで、たとえば、

<%=rss_recent url="http://mm.ishinao.net/index.rdf/1?from=200409&to=200410&sort=date&order=asc&kind=thought&trackback=1&size=100", 100, 36000 %>

なんて感じのRSSを指定すると、以下のようにユーザーID:1(私)が2004年9月に登録した感想URL一覧が表示されるようになります。まあふつうは自分のユーザーIDを指定して、自分の感想一覧を作ったりするのに使う感じかな。

rss_recentプラグインは、出力をカスタマイズできないんだっけ? こういう用途では、各項目にdc:dateの日付情報を出力してくれた方がうれしいんだけど。

2004年9月の読書感想一覧

Published At2004-09-20 00:00Updated At2004-09-20 00:00

日記
欲しけりゃ作ろう (20:38)Edit

rss_recentプラグインで、各項目に日付を出力するパッチ。rss_recentに第4引数を追加し、そこで出力したい日付フォーマットを指定する。上記では'%Y-%m-%d'を指定している。

*** rss-recent.rb.org   2004-09-20 20:29:01.000000000 +0900
--- rss-recent.rb     2004-09-20 20:36:04.000000000 +0900
***************
*** 21,27 ****
"Using RSS parser version is #{::RSS::VERSION}.",
}
! def rss_recent(url, max=5, cache_time=3600)
url.untaint
cache_file = "#{@cache_path}/rss-recent.#{CGI.escape(url)}"
--- 21,27 ----
"Using RSS parser version is #{::RSS::VERSION}.",
}
! def rss_recent(url, max=5, cache_time=3600, dateformat = '')
url.untaint
cache_file = "#{@cache_path}/rss-recent.#{CGI.escape(url)}"
***************
*** 39,44 ****
--- 39,47 ----
rv << '<li>'
rv << %Q[<span class="#{rss_recent_modified_class(time)}">]
unless url.nil?
+       if dateformat != ''
+         rv << %Q[#{CGI.escapeHTML(time.strftime(dateformat))} ]
+       end
rv << %Q[<a href="#{CGI.escapeHTML(url)}" title="#{CGI.escapeHTML(title)}]
rv << %Q[ (#{CGI.escapeHTML(time.localtime.to_s)})] unless time.nil?
rv << %Q[">]

Published At2004-09-20 00:00Updated At2004-09-20 00:00

日記
どかんと買ってみた (02:38)Edit

MMにためてあった購入予定本・CDをどかんと買ってみた。せっかく携帯対応しているんだから、携帯片手にでかい本屋に行ってのんびり探そうと思っていたら、いつの間にやら大量にたまっていたんで、まとめてAmazonで。本当は今後できるだけbk1を使おうと思っていたんだけど、一個でもCDが入っているとやっぱりAmazonかなーとか思ってしまう。

というわけで、今日買ったもの一覧。プラグイン表記は、

{{rss_recent "http://mm.ishinao.net/index.rdf/1?kind=bought&sort=title&order=asc&from=20040921&to=20040922", 100, 9999999}}

な感じね。

RSSのキャッシュ有効期間をやたらと長くしているのは

現在MMのメモはステータス管理にも使っていて、そのうち状態が「買」以外に移動してしまうから。行動記録的に使うならば、同じ本に対しても「買」「了」「想」は別々のメモにしておくと、それぞれのタイミングのメモが残るんだけど、メモ数が増えると管理も面倒くさそうなんで、現在は一つのメモを使い回す方針。両用で使う使い方には対応していないんで、使う人がどちらの使い方を主にするか選択する必要がある。

Published At2004-09-21 00:00Updated At2004-09-21 00:00

日記
trackbackの__mode=rssを使えばいいのか (13:44)Edit

特定の記事のRSSを取得する方法」というネタを前に書いたけれども、そういえばちょうどいいものがあることを思い出した。現在のところほとんど役に立っていない、trackbackの__mode=rssによるRSS出力を流用したらいいんじゃなかろうか?

trackbackの仕様書によれば、__mode=rssで返すXMLは、

<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
<rss version="0.91"><channel>
<title>TrackBack Test</title>
<link>http://this.is/the/trackback/item/link/</link>
<description>Description of the TrackBack item</description>
<language>en-us</language>
<item>
<title>TrackBack Demo</title>
<link>http://this.is/the/permalink/</link>
<description>Excerpt</description>
</item>
</channel>
</rss>
</response>

なんて感じになっているけど、どうせならば、

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>0</error>
<rss version="0.91"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<channel>
<title>TrackBack Test</title>
<link>http://this.is/the/trackback/item/link/</link>
<description>Description of the TrackBack item</description>
<dc:date>date</dc:date>
<dc:creator>author</dc:creator>
<content:encoded><![CDATA[encoded body]]></content:encoded>
<trackback:ping>http://this.is/the/trackback/ping/url/</trackback:ping>
<language>ja_Jp</language>
<item>
<title>TrackBack Demo</title>
<link>http://this.is/the/permalink/</link>
<description>Excerpt</description>
<content:encoded><![CDATA[encoded body]]></content:encoded>
</item>
<item>
<title>Comment Demo</title>
<dc:creator>commentor</dc:creator>
<description>Excerpt</description>
<content:encoded><![CDATA[encoded body]]></content:encoded>
</item>
</channel>
</rss>
</response>

みたいな感じに拡張して、記事情報にcontent:encodedやdc:creatorなどの情報も含めつつ、従来返していたtrackback一覧に加えて、コメント一覧も返してしまう。すると、HTML中に埋め込まれた記事のRDFから、trackback ping urlを抽出すると、それを使ってその記事に関するすべての情報をXML形式で取得することができるようになる。

RSSには通常descriptionしか含めないようにしつつ、それより詳しい情報が欲しい場合は、trackback ping urlに__mode=rssをつけてGETし、そこにcontent:encodedが含まれていたらそれを表示。なかったらしょうがないからpermanent linkをブラウザで開く、といったイメージ。

Published At2004-09-21 00:00Updated At2004-09-21 00:00