Gauche > Archives > 2009/05/11

2009/05/11 00:04:38 UTCshiro
#
持ってないからわからない。何か作れる? > とおる
2009/05/11 00:22:52 UTCとおる@ファイヤーフォックス。
#
iPhone 用の HTML 拡張がいろいろあるみたいなので、しらべてみます。
#
昨日夕方からずっと、人の家でたこ焼きを焼いていたら、腰が痛くなった……。
2009/05/11 01:24:00 UTCshiro
#
@nobsun Haskell部屋作っといたよ http://practical-scheme.net/chaton/haskell-ja/
#
関係各方面への宣伝等おねがいします。
2009/05/11 03:06:04 UTCshiro
#
もし、Chatonの部屋の状況をプログラムでモニタしたい人がいたら、$ROOM/var/status.jsをポーリングしてください。
#
json形式で、部屋の状況を定期的にダンプしてます。
#
今のところ、最後の発言の時刻、部屋につないでいる人数、あと発言のシーケンス番号 (絶対番号に意味はないですが、前回からの差分を見れば未読件数がわかります) です。
#
いずれ部屋につないでる人のnickname一覧とかも出すかも。
#
jsonのパーズが面倒な人は$ROOM/var/status.scm ni
#
同じ情報がS式でダンプされてます。
2009/05/11 03:14:06 UTCshiro
#
ちなみにBadgeも同じ情報を見て生成されています。
#
チャット画面に出る"Connected"の人数、status.jsにダンプされる人数、それぞれディレイがあるので、両者が多少食い違うことがあるのはそのせいです。
2009/05/11 06:04:26 UTCえんどう
#
りょうかいしました
#
オライリーの「初めてのAndroid」を会社で読んだ。AndroidってOpenGL使えるんだ。
2009/05/11 06:13:24 UTCえんどう
#
Lingr Raderって発言の内容まで表示してますね。それは独自のCometクライアントを書く必要がある、ってことかな?
2009/05/11 06:29:44 UTCshiro
#
Radarは直接Comet serverと話してたんだと思います。リアルタイムですよね?
#
発言があったことをすぐに知りたいなら、頻繁にstatusをポールするよりはCometクライアントとしてつないでもらう方がサーバにはやさしいかなあ。
#
発言検出が分単位で遅れていいなら、たとえば数分おきにstatusをポールして、変化があったときにCometサーバにつないでもらうのがいいと思うけど。
#
Comet Serverの方につないでもらうのについては、今はまあ直接httpで叩いてもらっていいんですが、いずれメインのページにつないでトークンの発行を受けて、そのトークンをComet Serverに渡す、というプロトコルになると思います。
#
(今Comet serverにつなぐとcidというのを送り返してきます。これがトークンなんですが、今はComet serverが無条件に発行してるけど、将来はメインページの方で発行するようになるということです)
2009/05/11 06:37:09 UTCえんどう
#
りょうかいしました。Mac OSだとGrawl使うんだろうけどWindowsではどうやるのが簡単なんだろう?>フキダシ
2009/05/11 06:37:33 UTCshiro
#
まあ、なんか実験したかったらここに書いてくれれば、うまくネゴできるんじゃないかと思います。(例えば今はcometクライアントにフォーマット済みのhtmlを送ってるけど、内部ではS式でデータを持ってるんでS式のまま送ることも多分できます)
#
お、既にRadarプロジェクトが走っている?
2009/05/11 06:38:35 UTCえんどう
#
なにかbotっぽいアクセスでも?
2009/05/11 06:38:48 UTCshiro
#
いや、えんどうさんの書き込みから。
2009/05/11 06:39:08 UTCえんどう
#
走ってはいないけど、あると良いなあと思ったので
2009/05/11 06:39:49 UTCshiro
#
変なアクセスと言えば、2つくらいのIPからたまにバースト的にアクセスがあるんだけど (リクエストがこっちの想定する形式じゃないのですぐdisconnectするんだけど、2秒くらいの間に20回くらい叩きにくる) 何だろう。
2009/05/11 06:40:05 UTCえんどう
#
robotでしゅか
#
s/でしゅか/でしょうか/
2009/05/11 06:40:33 UTCshiro
#
あ、 /robot.txt を見てるのかな。それははじいちゃってるな。
#
Cometサーバの方はrobot避けのrobot.txtを帰す方がいいかもな。
#
サーチはアーカイブの方でやってもらうわけだし。
2009/05/11 07:23:46 UTCえんどう
#
footnoteマクロできた。
#
(define-wiki-macro (footnote text)
  `((sup (a (@ (href "#") (class "footnotelink") (title ,text)) ,text))))
#
kahua-webで必要?>footnoteマクロ
#
JavaScript必須になるけど
#
必要なら入れとく。kahua-web.kahuとmacro.kahua
2009/05/11 07:28:58 UTC(び)
#
入れといて
2009/05/11 07:29:31 UTCえんどう
#
りょうかい
2009/05/11 07:52:58 UTC齊藤
#
Windows ではフキダシをどうするかは専用の API があるあるわけじゃないと思います。
#
Rader みたいなものを作るなら、マルチプロトコルメセンジャの類 (たとえば Regnessem) のプラグインにすると楽かも。
2009/05/11 08:02:32 UTCえんどう
#
humu
#
そういえばVC++削除しちゃった
#
footnoteマクロ入れました>kahua-web_trunk
#
標準CSSにあったarticleFooterというを使ったけど右揃えになっちゃった orz
#
あれ、これは違うな
#
もうちょっと見てみる
2009/05/11 08:06:52 UTCとおる@ファイヤーフォックス。
#
Windows の場合はタスクトレイかな。Growl みたいな汎用的なツールはあるのかなぁ。
#
http://torus.jp:81/webchat/
#
Gravatar をだしてみました。
2009/05/11 08:10:13 UTCえんどう
#
div#page-footer {
  padding-top: 1em;
  text-align: right;
  font-size: 80%;
  line-height: 0.9;
  color: #777777;
}
#
犯人はこれか。
2009/05/11 08:15:34 UTCえんどう
#
kahua-web.cssにfootnoteっていうclassを追加しといた
#
本文の脚注を入れたい個所に##(footnote "脚注の本文")を挿入すると本文下に脚注が付きます。
#
Gravatarって初めて知った。
#
Chatonでもこれを出せばいいの?
#
いろんなサービスがあるんだなあ
2009/05/11 08:22:39 UTCとおる@ファイヤーフォックス。
#
Github が Gravatar を採用していて知りました。
#
自前で画像ファイルを持つよりかは、こういうところを使った方が楽かなぁと思って。
2009/05/11 08:52:44 UTCshiro
#
今からCometサーバ再起動しやす。Safari以外の人はそのままでオッケー。Safariの人は後でリロードしてください。
#
Safariで接続切れを検出できない問題に対応しました。
#
といってもwatchdog timerかけてるだけなんですが、Cometサーバ再起動時、Safariな人も最低数分間放置してれば自動的にリフレッシュされます。
2009/05/11 08:55:43 UTC(び)
#
おや
#
自動でリフレッシュされた?
#
すばらしい
2009/05/11 08:57:01 UTCshiro
#
FF, IEは接続が切れたら10秒くらいでリフレッシュするのでほとんど気づかないと思う。
2009/05/11 08:57:30 UTC(び)
#
Safariっす
#
Retrying って出て10秒ほどでConnectedになった
2009/05/11 08:58:05 UTCshiro
#
あれれれれれ。
#
それはFirefoxと同じ動作だ。
#
うちのSafari 4 Public Beta (528.16) on Vistaだとそうならないんですよ。
#
もしかしてこのバージョンのバグだったりするのかな。
2009/05/11 08:59:44 UTC(び)
#
これはSafari3(3.2.1 (5525.27.1))です
#
Safari4はまだ試してない
2009/05/11 09:00:24 UTCshiro
#
あーじゃあバグかなあ。まあいいや。watchdogはセフティネットということで。
#
とにかくこれで安心してComet serverを再起動できるようになった。
2009/05/11 09:05:02 UTC(び)
#
Chaton(BETA)ってtitleに書いておけば何が起きてもOK(Google Style)
#
どうも最近よく聞く「濃厚接触」
#
あらぬ想像に駆り立てられちゃうのはわたしだけですかそうですか(笑)
2009/05/11 09:06:34 UTCshiro
#
何? > 濃厚接触
2009/05/11 09:06:53 UTC(び)
#
2m以内に近づくことを言うらしい
2009/05/11 09:07:06 UTCshiro
#
ああ、新型インフルエンザ絡みで?
2009/05/11 09:07:10 UTC(び)
#
それくらいのことにすごい言葉を当てるもんだと思う
#
そうです
#
接近遭遇くらいにしといて欲しい(宇宙人か?)
2009/05/11 09:08:06 UTCshiro
#
2m以内で濃厚だったら50cmとか0cmとかは何と言うのだろう。
2009/05/11 09:08:28 UTC(び)
#
沈殿...(笑)
2009/05/11 09:16:04 UTCえんどう
#
* karetta/macro.kahua (footnote): add sup
#
まちがえた
#
http://karetta.jp/book-node/programming-gauche/206188
#
脚注マクロつけました。ログインできる人は見てみて。
2009/05/11 09:18:17 UTCshiro
#
おー、脚注になってるなってる。Firefox 3.0.7 on Ubuntu 8.04 x86_64
2009/05/11 09:18:28 UTC(び)
#
かこいい
#
ただ、Webだと、脚注って遠くなっちゃうねー
#
傍注の方がよかったりして
#
リンクで飛んだり戻ったりできるからいいのかな
2009/05/11 09:20:38 UTCえんどう
#
[1]とかいう部分にマウスカーソルを乗せるんだ>び
2009/05/11 09:21:37 UTC(び)
#
おおっ
#
これはいかしてる
2009/05/11 09:21:53 UTCえんどう
#
a要素のtitle属性に本文を入れているだけ
2009/05/11 09:23:12 UTC(び)
#
なるほど
2009/05/11 09:24:13 UTCえんどう
#
efects.jsとかを使うと派手にできると思うけどやってない。
#
あと、脚注本文をWiLiKi形式で書けるようにして、脚注のところでwiliki:format-contentとかをかますとさらに良いかもしれない。
#
あ、そうするとtitle属性には入れられなくなるか>wiliki:format-content
2009/05/11 09:52:12 UTCshiro
#
あれ、Youtubeが見えなくなった?
#
#
あ、いやUbuntu上だけだ。Firefox/windowsだとおっけ。なんだろ。
#
ブラウザ立ち上げ直したら見えた。
2009/05/11 10:13:43 UTCshiro
#
@えんどう: WiLiKi形式の脚注+title属性だけど、wilikiマークアップからHTMLマークアップを伴わない単なるテキストを生成するwiliki-format-plainlyみたいな名前の関数があったはず。title属性に入れる方だけそういう形でフォーマットするという手はあるかも。
#
あちがった。wiliki-remove-markupだ。一旦SXMLにしてからこいつを通すとテキストだけになる。
2009/05/11 10:44:19 UTC(び)
#
Retryingが出たままだな...
2009/05/11 10:44:40 UTCshiro
#
およ? Safari?
2009/05/11 10:44:48 UTC(び)
#
あれ、送られてる
2009/05/11 10:45:12 UTCshiro
#
postとviewは独立してうごいてて、"Connected"はview側の話なのです。
2009/05/11 10:45:22 UTC(び)
#
会社から戻ってきて(つまりアドレスが変わった)、ネットワークにつないだらしばらくRetryingのまま
#
ああなるほど
#
そりゃそうか
#
POSTを受けてるのはCGIですもんね
#
待ち切れずにリロードしました
#
久しぶりにアンプに火を入れた
#
近隣の皆様、ごめん(笑)
2009/05/11 10:47:39 UTCshiro
#
アドレスが変わると…どうなるだろう。スリープした時点のAjaxコネクションはもうつなげないけど、そこで例外が上がらないとwatchdogが吠えるまで黙ったままかも。
2009/05/11 10:48:44 UTC(び)
#
なるほど
2009/05/11 11:08:10 UTCsaki
#
細かい話で申し訳ないです、make-json-packetで作ってるJSONのフォーマットなんですが
2009/05/11 11:08:32 UTCshiro
#
はい。歓迎です>細かい話
2009/05/11 11:08:32 UTCsaki
#
http://www.rfc-editor.org/rfc/rfc4627.txt によると文字列のクオートは'ではなく"が正しいようです。
#
rubyのJSONでparseしようとしたら蹴られてしまいました。
2009/05/11 11:09:18 UTCshiro
#
おお、確かにそうですね。直します。
2009/05/11 11:13:54 UTCshiro
#
直しました。
2009/05/11 11:14:59 UTCsaki
#
有り難うございます
2009/05/11 11:17:56 UTCshiro
#
あ、status.jsのvalue-separatorもおかしいな。
#
直した。
2009/05/11 11:49:54 UTCえんどう
#
りょうかいです>wiliki-remove-markup
#
RubyってJSON読めるんだ。S式もread-eval-printできるようにすればいいのに。
2009/05/11 11:52:24 UTC(び)
#
S式のパーザ書けばいいだけなんじゃないの?
#
JSONって、ブラウザ上でevalして安全なのかなぁ、と思うことがある
#
json名乗ってコード仕込めたりできそうな気がしてならないんだけど
#
あくまで根拠レスですが
2009/05/11 12:03:11 UTCshiro
#
どうなんだろう。最近は真っ当にパーズしてるんじゃない? prototype.js任せだから知らないけど。
#
readとevalは分かれてるべきだよね、やっぱり。
#
と思ってprototype.jsみたらevalしてた。でもその前にいろいろチェックしたりフィルタかけたりしてるので気にはしてるようだ。
2009/05/11 12:22:20 UTC齊藤
#
JavaScript の最近の規格には JSON パーサが入ってたような気も。
2009/05/11 12:31:19 UTC齊藤
#
と思ったのだけれど、そうでもなかった。
2009/05/11 12:32:36 UTCjmuk
#
まえにMochiKitも気になってみてみたけどやっぱりevalだったような。
#
JSONはRFCになってるので多言語でも実装するjustificationを得やすい気がする
2009/05/11 13:14:15 UTCkiyoka
#
いつのまにやら、Lingrの代替サービスができあがってるし。
2009/05/11 14:03:40 UTC齊藤
#
XMLHttpRequest はドメイン制限があるので、 eval して問題があるような JSON を第三者が送ることは出来ないはずです。 そもそも「そのサイト」が信用できないのであれば、わざわざ Ajax 経由で送らなくても最初からそのように JavaScript に書けるので、あとはインジェクション対策とかいった意味での安全性でしょう。 というのが私の理解なんですけど、このあたりは色々一筋縄ではいかないノウハウみたいなものがありそう。
2009/05/11 14:09:30 UTC齊藤
#
以前に GoogleSuggest で XMLHttpRequest を使ってなくて驚いた覚えがあります。 (今は違うかも)
#
createElement で script 要素を作って JSON を返す URL を src にセットしてたと思います。
2009/05/11 14:16:40 UTC齊藤
#
この方法だと XMLHttpRequest よりドメイン制限が緩いっぽい?
2009/05/11 17:44:36 UTCshiro
#
ああ、その手法はどっかで見ました>クロスドメインjs。同期的にフェッチするならそれでいけますよね。cometみたいに待つのもいけるのかな?