GMTとあるchmファイルをWindowsで見ていて気がついたのだが、一つのキーワードに複数のドキュメントが割り当てられている場合がある。同じファイルを、Macで見ると、最初のコンテンツしか表示されない。そもそも、chmのインデックスは下記のような形式のドキュメントになっていて、chmの中の、chm.rbでこれをパースしているのだが、キーワードが複数のドキュメントに対応する場合が想定されていないようだ。value="cat_doc"></object>...普通の感覚ではこれを見ても一番上のキーワードが下の方まで有効だと思えないのだが...あと、目次(Topic)を読むところが、case-sensitiveになっていたので、目次が取れていなかった。GMT久々にgolf。数字を出力するコード。25Bここからは手強いので寝かせて。20B文字列のRangeを使う方法もやってみたけど、挙動に問題があるのでやめ。風の噂では、20Bまでいける、と聞いたんだけど...がんばります。圧縮に対応することによって無事50MBにまでスリム化することに成功する。使うリファレンス群はそもそもサイズが5MB程度なので、たいして役に立たないことに気がつき衝撃を受ける。化するが、今度はインデックスが大きすぎるためか検索がもたつくことに気付く。改造を施し、高速化することを決意したのだった。一回のインクリメンタル検索処理あたり、0.3~1秒程度かかっていたのが100倍くらい速くなった。体感では100倍とはわからないが、もたつきが感じられないレベルになった。インデックスの最初の二文字を抜き出してHashで持ち、検索文字列の最初の二文字でO(1)でしぼりこむ仕組み。高速化の恩恵は最初の数文字の偏りに大きく依存すると思うけど、そもそもそんな状況では、インクリメンタル検索が快適ではないので気にしないこと。宣言があると外部CSSが効かない(詳細不明)問題とか、ruby-cocoaでsize/countが無限再帰になる問題とか、Chmerとtypoする問題などにも嵌って大変だった。その後、バージョン違いがたくさん(railsだけで5個くらい)あったgemを削除しまくったので、普通に速くなってあんまり意味がない。300種類くらい入れて複数のバージョンを保持しているような人しか恩恵が得られないかも。ちなみに、もたつきが気になるというのは、僕のタイプ速度より速く、キーリピートより遅いくらい。GMT僕はあんまり携帯HTMLをいじらないけど、タイトルのような問題があるという話はよく聞く。CSSにはスコープの概念がないので、TinyMCEなどのWYSIWYGエディタを使っていると、Wordなどから<style>タグを含む断片が貼付けられて、ページ全体のスタイルに影響を与えてしまう、などといったことが起こる。いった問題への対応策として、CSSのインライン化が有効に働きそうなので、調べてみた。いったライブラリが存在しているらしい。我らが(?)Rubyはというと、(最近遊びでCSSParserを書いたので、なければ作ろうと思ってたけど)やっぱり存在していて、これが結構便利そう。CSSしかし、こんな名前で公開されても...。tamtamコードがドキュメント、とばかりに、主要な部分を読んでみた。red;"></div>"素晴らしい。:documentを使うことによって、HTML内の<style>タグの内容をそのまま使うこともできる。red;"></div>"スタイルを適用した後の余計なclass属性は、元から存在するclass名と衝突するかもしれない。バグなのか何なのか、スタイルを適用する前にclassを全部取りさってしまうので(僕の)望む動きとは違うようだ。適用されてない!携帯電話...携帯電話用に使う場合、<link>タグを認識する部分を自分で書かないといけない。...'よりも、bgcolor='...'が好まれるそうだ。CSSだけでは属性を指定するという使い方は出来ないので、その場合も独自に拡張する必要がありそうではある。APIなるものがあって、WiiリモコンとCanvasを使って色々できる。ふりをするコードを書いてみた。keyを押したままサーバを起動する。bookmaklet必要に応じてページの初期化処理を呼び出す。localhostに立てたRubyサーバに繋いで、JSON形式で受け取った情報を、javascriptの世界に渡しているだけです。テストSafariでしかテストしてない;;画質のテストのため、同じムービーをYoutubeにもアップロードしてみた。