タグ

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

  • 最速インターフェース研究会 :: オープンソース版のFastladderが公開されました

    まだまだバグとか色々残ってるかとは思いますが、リリースされました。 http://fastladder.org/ http://blog.livedoor.jp/staff_reader/archives/51181618.html ニュース記事 http://www.itmedia.co.jp/news/articles/0802/07/news032.html http://internet.watch.impress.co.jp/cda/news/2008/02/07/18390.html http://itpro.nikkeibp.co.jp/article/NEWS/20080207/293305/ 元々Railsで動いてたわけではなくて、個人でもインストールしやすいようにコンパクトに書き直したものです。 稼働してるサービスは、他のライブドアのサービスと同様に(良く知られている通

  • 最速インターフェース研究会 :: PerlでIEの履歴にアクセスする方法

    こんなんで出来た。 use strict; use Win32::OLE; use Data::Dumper; my $wshell = Win32::OLE->new('Shell.Application') or die "oops\n"; my $HISTORY_FOLDER = 0x22; my $history_dir = $wshell->Namespace($HISTORY_FOLDER); my $url_list = scan_folder($history_dir, []); print Dumper $url_list; sub scan_folder{ my ($folder, $ref) = @_; my $items = $folder->items; for(my $i = 0;$i < $items->count; $i++){ my $item = $it

    Wacky
    Wacky 2007/04/07
  • 最速インターフェース研究会 :: 「ニコニコ動画はYouTubeにとって脅威になったのでアクセス拒否された」みたいな論調に話を持って行きたがる人たちについて

    割とどうでもいいとは思ってるんだけど書いておくことにする。ここら辺読んで思ったこと。 http://shi3z.cocolog-nifty.com/blog/2007/02/youtubeweb20_0171.html http://blog.livedoor.jp/lalha/archives/50154713.html http://mindclip.blog55.fc2.com/blog-entry-121.html 通常の利用頻度でAPI使ってて他は大丈夫なのに自分だけアクセス拒否された!ってことなら、敵視されてるんじゃないか とかそういう陰謀論が起こるのも理解できるんだけど。 「アクセス拒否=敵視されている」みたいな発想が短絡的だと思う。利用方法に問題があって異常なアクセスがあれば、普通にアクセス拒否すると思うんだけど。敵視してるとかそういうのとは全く関係なしに。 YouTube

    Wacky
    Wacky 2007/03/01
  • 最速インターフェース研究会 :: 遅延評価を使って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={

    Wacky
    Wacky 2007/02/17
  • 最速インターフェース研究会 :: 最近IE6でWikipedia日本語版の表示が異常に遅いのはKeepAliveのせい

    KeepAliveのせいというと誤解があるか。IEのせいなんだけど。 どうもここらへんの問題っぽい。 http://d.hatena.ne.jp/kinneko/20051214/p4 http://otaba.seesaa.net/article/10637205.html 2月初めぐらいからか、キャッシュが空の状態で日語版のWikipediaを表示すると、IE6が1分間ほど固まる、という不具合があるそうだ。 JavaScriptを切ると正常に表示できるようになるけど、JavaScriptが重い、ということはなかった。JavaScriptが重いならCPUの使用率が高くなるはずだし、なんかおかしいフリーズの仕方をする。で、Proxomitronでレスポンスとか調べてみてたりしたのだけれど、プロキシ経由だと問題なく表示される。 結論としては、なんらかの原因でkeepaliveがタイムアウト

    Wacky
    Wacky 2007/02/12
    2月初めぐらいからか、キャッシュが空の状態で日本語版のWikipediaを表示すると、IE6が1分間ほど固まる、という不具合があるそうだ。
  • 最速インターフェース研究会 :: Google Readerの紹介ビデオを作った

    今さっきキャプチャしてみた。YouTube。 http://youtube.com/watch?v=DcO4RG3Lx3k 去年の9月終わりぐらいにGoogle Readerがリニューアルしたとき、例に漏れず当時購読していた約2600件のフィードをインポートしてみた。 一度全部既読にしようと思ったのだけれども、All itemsを表示してからのmark all as readが効かない。延々とエラーが出て何も出来ないので、フィードの管理画面を開いてみると、応答のないスクリプトダイアログが何回も表示されて、やっと表示できたと思ったら、画面下半分が真っ黒になっていて、何か悪いことをしたと思い、Select AllってやってUnsubscribeボタンを押した。 しばらくして、TechCrunchなんかがうにゃうにゃ言ってるので、もう少し頑張って使ってみようかと思い、今度は少し減らして、live

  • フィードリーダーの脆弱性まわりのこと

    最近、FreshReaderに脆弱性があったということで、いくつか調べて直したり、赤松さんと連絡取り合ったり、それからはてな使ってないのにユーザー様とか書かれて不愉快な気分になったりしてたんですが。 この記事はひどすぎると思う。 フレッシュリーダーの脆弱性に関連してSage++のこと そもそもの問題として「ローカルディスク上のHTMLファイルをブラウザで開くと超危険」です。XMLHttpRequestやIFRAMEでローカルファイルの内容を読み取れるからです。Sageに脆弱性があるということは、あらゆる個人情報の漏洩につながります。「開発者の個人情報を晒すリスクが云々」というのは、個人的には分からなくもないですが、ユーザーの個人情報を危険に晒していることを認識すべきです。 開発者人が過去に書いているので、危険性の大きさは十分に認識できているはずです。「脆弱性がある」と公表してしまった時点

    Wacky
    Wacky 2007/01/25
  • 最速インターフェース研究会 :: livedoor Wirelessの話の続き

    昨日の記事の続き。個人として書いていて会社の意見ではありません。 「Web屋のネタ帳」のこと誤読するのも無理ないというか、CNETの記事にはWEPキーが必要と書いてあるんですが、他のニュースサイト見ると書いてなかったり、普通に説明を見た限りだとわかりそうにないので。なので早とちりでああいう記事が書かれるのも無理はないと思うのですが、気になるのは、何もそこまで悪意を持って叩く必要があるのかな、っていう点です。 少し前にも、百式の人をボロクソに書いてたけど、ブラウザの同時コネクション設定ぐらいでサーバー負荷が増大して大変なことになるなんて考えにくいというかフツーあり得ないというか、「Web屋」ならその辺は感覚的に分かるはずだし、RFCもMUSTじゃなくてSHOULDになってるし、そもそもタイトルからして煽りすぎではないか。もちろんブラウザのデフォルトは適切な値であるべきだろうけど、ボットやクロ

    Wacky
    Wacky 2006/12/30
    そもそも、アーキテクチャの選択だけで安全性が保障されるつーことは無いよね。
  • 最速インターフェース研究会 :: AutoHotkeyを使ってFirefoxをリロードするだけのexeファイルを作ってみた

    エディタの保存と同時にブラウザを自動でリロードさせると開発がはかどって素晴らしいよ、みたいな話をしてたら軽く派生したわけなんですが 自動リロードで開発をアジャイルにするたった一つの方法! < 31 < July < 2006 < nulog, NULL::something : out of the headphone http://lowreal.net/logs/2006/07/31/1 hail2u.net - Weblog - CSSファイルを保存すると同時にブラウザをリロード http://hail2u.net/blog/webdesign/save-css-file-and-reload-browser.html WSHやRubyからキー操作を送るって方法だと、操作対象のウィンドウをアクティブにしないとキー操作を受け付けてくれなかったりして(もっといい方法あるのかも知れないけど

    Wacky
    Wacky 2006/08/28
  • 最速インターフェース研究会 :: IEの遠隔操作用ライブラリmechanize.js

    先日のShibuya.js Techtalk#2では開発手法の話とかは(前回話したので)あまりしなかったのですが、そういう話を知りたいという人も多いようなので適当に公開していこうと思います。 http://la.ma.la/misc/js/mechanize/ WWW::Mechanizeと似たインターフェースでIEを遠隔操作するライブラリです。htaから呼び出してテスト用のツールを作ったりします。wshからも使えると思います。 機能的には最低限のものしか実装してません。ファイルのアップロードとかはJS側からいじれなかったと思うので多分無理です。 この手のツールではseleniumというのが有名なのですが、多機能すぎて使い方が良くわからないので自作しました。単純な動作確認や連投に使ったりします。 これを使ってアレをナニしたりしているのですがとてもここには書けません。

    Wacky
    Wacky 2006/07/17
    WWW::Mechanizeと似たインターフェースでIEを遠隔操作するライブラリです。htaから呼び出してテスト用のツールを作ったりします。wshからも使えると思います。
  • 最速インターフェース研究会 :: Shibuya.js #2 でしゃべってきました

    前回に続き、shibuya.jsでしゃべってきました。 プレゼン資料はこちら。諸事情により少しフォントが小さめです。 http://ma.la/files/shibuya.js/techtalk2.html JavaScriptが無効でも閲覧できるように画像に変換しておきました。 いくつか補足 - APIは最初から全部できてるわけじゃなく、必要に応じて拡張していく感じ - 最初はダミーのJSONを読み込ませたりする - プログラマはクライアント側一人、サーバー側一人、の計二人 - UIを作るのは分業できない気がする。 - 「とりあえず動く」状態ものは10日ぐらいで出来た。3月の頭ぐらい。 - プロトタイプを発展させてって、そのまま番用になった。 - APIは今のところPlaggerで使ってる例もあるけど(Plagger以外で使ってる例ないけど)、人間向けのサーバーにアクセスが来るのは良く

    Wacky
    Wacky 2006/07/03
  • 最速インターフェース研究会 :: livedoor ReaderのピンをGoogle Bookmarksに保存するGreasemonkeyスクリプト

    ピンを付けたページ、vまたはctrl+enterで開いたページを全部Google Bookmarksに保存します。 ラベルはLDRとフォルダと2006-05形式の年月を付けるようにしてみた。ここら辺は好みでカスタマイズしてください。 http://la.ma.la/misc/userjs/ldr_gbsaver.user.js Google Bookmarks http://www.google.com/bookmarks/ 注意 - あらかじめGoogleにログインしておく必要があります - Google側の仕様が変われば動かなくなる可能性があります - 削除は外部から叩けないみたいなので、ピンを外しても削除はされません メリット - ブックマークしたページがGoogleにインデックスされている場合は全文検索ができる(多分) - パーソナライズド検索を有効にしたときGoogleの検索結果

    Wacky
    Wacky 2006/05/14
  • 最速インターフェース研究会 :: マウスホイールでlivedoor Readerの前後フィードに移動するGreasemonkeyスクリプト

    とりあえず作ってみた。for nazoking. これ以上スクロールできなかったらホイールで前後のフィードに移動。 次のフィードに移動するまでの閾値を入れられるようにしてある。 http://la.ma.la/misc/userjs/ldr_wheelhack.user.js あるいは、ほんとに読むことに特化するなら、もうこんなのでいいんじゃないかという気もする。 任意箇所左クリックで次、右クリックで前。 http://la.ma.la/misc/userjs/ldr_clickhack.user.js 要望とかは基的にブログに書いてくれたほうがありがたいのですが、調子に乗ってあれこれ書かないでください。 livedoor Readerがさらに軽快になるGreasemonkeyスクリプト ・最速インターフェース研究会 :: マウスホイールでlivedoor Readerの前後フィードに移

  • 最速インターフェース研究会 :: JavaScriptでDebugScreen、その2

    Bookmarkletを作った 最速インターフェース研究会を参考にして、ソースを表示するブックマークレットを作った。Firefox のソースを見る機能は、遅いしCGIとかだとリクエストを再送しちゃうし、けっこうダメダメ。これは Javascriptで動的にコードを生成するような場合でも、その時点でのソースを表示できる。 javascript:(function(){var HTMLtext = document.getElementsByTagName("*").item(0).innerHTML;var HTMLline = HTMLtext.split(/\n/);HTMLline = map(HTMLline,function(line,i){ var ln = i+1; var t = mul(" ", 5 - ("" + ln).length) + ln + ": " + esc

  • 最速インターフェース研究会 :: JavaScriptでDebugScreenを表示する

    デモ、IEかFirefox http://la.ma.la/misc/js/debugscreen/ IEとFirefoxではwindow.onerrorを設定するとJavaScript全体のエラーを補足できます。さらに返値をtrueにすると標準のエラーダイアログを抑制できます。 簡単なサンプルはこんな感じ。 window.onerror = function(mes,file,num){ alert([ "file : " + file, "line : " + num, "message : " + mes ].join("\n")); return true; } あまり細かい情報を取得できるわけではないので、例外処理に使ったりはできないのですが、エラーメッセージを親切にしたりできるかもしれません。 そんなわけで、ファイル名と行番号わかるなら自分自身をXMLHttpRequestで受

    Wacky
    Wacky 2006/01/28
    IEとFirefoxではwindow.onerrorを設定するとJavaScript全体のエラーを補足できます。さらに返値をtrueにすると標準のエラーダイアログを抑制できます。
  • 最速インターフェース研究会 :: Wikipedia日本語版全文検索AutoPagerを作った

    Hyper Estraierを使ったWikipedia語版全文検索が大変素晴らしいのでGoogleAutoPagerの移植。 Firefox1.5とGreasemonkey0.6.4で動作確認してます。 http://la.ma.la/misc/userjs/estseekautopager.user.js ついでに色々と直してます。ローディングのエフェクトを入れたり、全体的に変なテクニックを駆使したり。 - 無名関数を再帰処理させる。 - GreasemonkeyからDOMParserを使う - valueOfメソッドをいじって残りスクロール量を返すオブジェクトを作る あたりは何かの参考になるかもしれません。

  • 最速インターフェース研究会 :: 2005年もパクられてこなかったもの私的まとめベスト3

    良く出来たものはパクられなければなりません。技術者たるもの我が社の利益だとか愛国心だとかのためではなく、人類の幸福のために行動すべきです。たかだか見た目程度でしか物事を判断できない人間がパクりは悪などという風潮を広めてまわるのは残念でなりません。大企業だろうがベンチャーだろうが一個人だろうが関係ありません、良く出来たものはパクるべきです。パクられてこなかった人の気持ちを考えたことがありますか?胸に手を当てて考えてみてください! iRiderサムネイル表示とドラッグによる高速なタブ切り替えを備えたブラウザ。 http://www.irider.com/irider/ デモムービー(Flash)を見ると良い http://www.irider.com/demo/index.htm 百式の紹介。 http://www.100shiki.com/archives/2004/07/_iriderco

    Wacky
    Wacky 2005/12/31
  • 最速インターフェース研究会 :: テンプレートエディタを作ってみた

    こんなのを作ってみました。 http://la.ma.la/misc/tmpledit/ HTMLソースを貼り付けて、ページの構造をダンプすることが出来ます。 とりあえずどんな感じかわかるように、このBlogのアドレスを入れてあるので取得ボタンを押すと出て来る様になってます。XMLHTTPでソース受信してるので外部ドメインのソース取得は無理です。ローカル保存+IEの場合は外部ドメインのソースも解析できます。 こういう感じの作るやつ、と言えばわかりやすいかも。 http://d.hatena.ne.jp/kamioka/20050609/1118324980 まあ、これがやりたかっただけなのですが、ついでにCSSの編集もできるようにしてみました。CSS編集モードに切り替えると、タグ名とクラス名とIDを確認しながらプレビューしつつその場でCSSを編集できます。 CSS適用ルーチンはこれの丸パク

  • 最速インターフェース研究会 :: del.icio.usにはてなブックマーク件数をくっつけるGreasemonkeyスクリプト

    はてなブックマークの件数をまとめて取得するAPIができた、ということで http://d.hatena.ne.jp/naoya/20051212/1134375086 Bloglinesにはてなブックマーク件数をくっつけるGreasemonkeyスクリプトの http://d.hatena.ne.jp/m4i/20051213/1134425307 改造して作ってみました。 http://la.ma.la/misc/userjs/dxh.user.js Firefox1.5とGreasemonkey0.6.4で動作確認してます。E4Xを使っているので1.0系では動きません。 変更点はXPathをちょっといじったぐらいです。かなり簡単に作れます。 なんかループが多かったのでレスポンスを連想配列に入れるようにしました。 後、これ系の作る時にはXPath検索バーが便利です。 http://tok