タグ

ブックマーク / la.ma.la (8)

  • 最速インターフェース研究会 :: RSSリーダーの性能、優劣とは、なにか

    ブログの記事を読んで、その記事を書いた人のことを、面白く思ったり、好きになったり、もっと知りたくなったりしたときに、気兼ねなく追加できるかどうかだ。これが一番重要な性能だと思っている。 2005年、ギークたちはBloglinesを愛していた。技術系の集まりにちょくちょく顔を出すようになって分かった事は、みなBloglinesを使っていたということだ。自分のブログを読んでくれる人が多い事に驚いた。これはBloglinesでなければ、あり得なかったことだ。 なんだよ情報収集って。スパイや探偵じゃあるまいに。俺がフィードを7000件以上購読してるのは、知識を得るとか、仕事に役に立つとか、そんな理由じゃないよ。 とりあえず、これだけは先に書いとく。

  • 最速インターフェース研究会 :: HTMLドキュメントを解析して特徴的なループを見つけるBookmarklet

    - 全てのDOMノードを列挙する - ノードは次のように文字列化される。 0: /html[0]/body[0]/div 1: /html[0]/body[0]/div[0]/div 2: /html[0]/body[0]/div[0]/div[0]/ul[0]/li 3: /html[0]/body[0]/div[0]/div[0]/ul[0]/li 4: /html[0]/body[0]/div[0]/div[0]/ul[0]/li 5: /html[0]/body[0]/div[0]/div[0]/ul[0]/li 直前の階層までは添え字つき、最後のノードはタグ名のみにする。 class名、id名は排除する。各々のサイトのルールで記述されたruleよりも タグのネスト構造の方が変化に強いし機械的に抽出しやすいのではないか? 出現回数でソートする。li要素2-5はループであることが分か

  • 最速インターフェース研究会 :: 遅延評価を使ってSjaxをAjaxに変換する方法

    継続を使ってSjaxをAjaxに簡単に変換する方法 http://d.hatena.ne.jp/llamerada/20070220/1171984586 を見て。こんなのはどうだろう。 ユーザーからの入力や、非同期のHTTPリクエストなんかを、具体化されてないオブジェクトとして捉えて、それらを受け取った関数側が遅延オブジェクトを具体化するためのリクエストを投げて再試行する。ネストが深くならないですむ、同期処理で書く場合との変更点が少ない、あるいは完全に差異を無くすことができる。 alert(args)のコメントを外せば、引数が具体化されていく様子が分かるはず。 Function.prototype.receive_lazy = function(){ var orig = this; return function(){ var thisObj = this; var me = argu

  • 最速インターフェース研究会 :: JavaScriptの関数の結果を期限付きでキャッシュする

    処理に時間がかかるけれども、一定時間は結果が変わらないような関数の結果をキャッシュしたい。 例えばgetElementsByTagName("*")なんかを頻繁に呼び出すようなコードがあったとして、結果をキャッシュしたいけれど画面描画が発生すると使えなくなってしまう。setTimeoutで0ミリ秒後にキャッシュを消す処理を入れておいて、画面描画と関係のある処理はタイマーで実行するような制約を付けてコードを書けばDOMが絡む処理の結果もキャッシュすることができる。というようなケースに使えるような気がする。 Function.prototype.timed_memoise = function(ms){ var self = this; ms = ms || 0; var memo = {}; var clear_q = false; function clear_cache(){memo={

  • 最速インターフェース研究会 :: ライブドアのテクノロジーセミナーでしゃべってきました

    昨晩はライブドアで開催されたテクノロジーセミナーで「Technologies for UI」という題でプレゼンをやりました。 発表資料はpdfhtmlで公開する予定ですが、とりあえずテキストだけ先にアップしておきます。 http://ma.la/files/livedoor/seminar2006/seminar.txt プレゼンツールがFirefox専用だったりするので、これも少し手直しして公開予定です。 こういう機会があるたびにプレゼンツールを作ってるような気がします。 ---- 追記:12/15 ライブドアのtechblogの方に発表資料をアップしました。 http://blog.livedoor.jp/techblog/paper/ldtech2006/ 上下カーソルキーでページをめくれます。

  • 最速インターフェース研究会: Synergyの裏設定「switchDoubleTap」を知らない人が多すぎる

    LANで繋がっているマシンのマウスとキーボードを共有してWindowsMacをつなげたりといったことが出来るSynergyというツールがあるのですが、Synergyの設定ファイルに section: options switchDoubleTap = 250 end などとやると、デスクトップの端っこをコンコンと二回タップしたときだけ画面が切り替わるようになります。切り替える際に一手間増えることになりますが、そんなに頻繁に画面を切り替えるわけでもないのでさほど気になりません。WindowsのサーバーだとOptionsの中に項目があります。トラックボールを使うようになってから暇なときはボールを勢いよく転がして遊んでいるのですが、デスクトップが頻繁に切り替わってしまって陶しいことになります。また、最近ではホイールを使うのでスクロールバーを使わないという人も多いかとは思いますが、スクロールバ

  • 最速インターフェース研究会 :: Tropyクローンを作った

    なんかJavaScriptで作れ、みたいな圧力がかかったので作ってみた。 http://la.ma.la/misc/tropix/ (追記:ソース) http://la.ma.la/misc/tropix/tropix.zip 元ネタこれね http://www.hyuki.com/d/200511.html#i20051105203040 最速版Tropyということで、サーバー負荷と表示速度の改善を主に。 JavaScript無効だと表示すらできないのであんまりよろしくないんだけど。 ---- 技術的なこと - サーバーサイドはRubyで書いた。90行ぐらい。普通のCGI。 - ランダムなページのアドレスをCGIに問い合わせて、テキストはAjaxで直読みする。 - 履歴を10件分保持するので、行き過ぎても戻れる。 - サーバーにとてもやさしい。 - ページリストを取る際に履歴をPOSTで

  • 最速インターフェース研究会 :: JavaScriptでペイント、開発版

    少し留守になるかもしれないのでとりあえずアップ。保存ルーチンをまだつけていない。 http://la.ma.la/misc/plot/draw2.html -zで一手戻す、+/- or q/a でブラシサイズを変更。 というキーバインドをとりあえず実装。作りこめば色変更とか、直線描画とかも色々できるだろうな。 ただ、この手書き機能を組み込んだチャットと、そのチャットを組み込んだWikiを作るというのが目的なので単体であまり作りこむつもりはない。 IEの場合、VMLを使った描画にしてみた。MSNメッセンジャーの手書きモードと、書き心地はそう変わらないが、やっぱり線が増えてくると重くなるのでそれほど書き込むことはできない。 DIV要素を足していく方式の描画エンジンをまず作ってIEの場合のみVMLを使った関数で上書き、という方向性で。 VMLはもう終わっている技術なので。SVGが使えれば一番いい

  • 1