タグ

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

  • 最速インターフェース研究会 :: そろそろはてな京都移転について一言いっておくか

    はてなには、どんな引力があるんだろう。 2008-02-18 - Web技術系クリップ 上記経由で知ったニュース。 http://d.hatena.ne.jp/mala/about  ↑  この時点ではジョークだと思いました。 最速インターフェース研究会 :: そろそろはてな京都移転について一言いっておくか  ↑  当みたいです。今日付けなんですね

  • 最速インターフェース研究会 :: オープンソース版の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で動いてたわけではなくて、個人でもインストールしやすいようにコンパクトに書き直したものです。 稼働してるサービスは、他のライブドアのサービスと同様に(良く知られている通

  • 最速インターフェース研究会 :: JavaScriptにおけるdeep clone

    http://blog.livedoor.jp/dankogai/archives/50957890.html まず、Object.prototypeにメソッドを生やしてしまうとfor inでキーを列挙するときにいちいちhasOwnPropertyを使わないといけなくなるので普通は使いません。影響が大きすぎるので、よっぽど変態的なライブラリじゃないと使わない。他のライブラリと組み合わせるとほぼ確実に問題が起きる。それから、deep_cloneが欲しい場合はJSONを作ってevalすればよい。パフォーマンスを気にする場合とか、浅いコピーが必要な場合はそれなりに工夫する必要があるけど。 で、JSONにするのにFirefoxだとtoSourceというのが使える。unevalというラッパーがあって、これだとnullでも平気。 http://subtech.g.hatena.ne.jp/cho45/

  • 最速インターフェース研究会 :: 「ニコニコ動画のAmazon売り上げを鵜呑みにするのは危険」について

    ARTIFACT@ハテナ系 - ニコニコ動画のAmazon売り上げを鵜呑みにするのは危険を読んで気になったこと。 予約とかキャンセル分とかも、もちろんあるとは思うけど。 やってる人なら分かると思うけど、Amazonアフィリエイトは紹介した商品以外にも、ついでに売れた商品も売り上げとしてカウントされる。アフィリエイトID付きのリンクを介してAmazonにアクセスして1日以内に注文された商品が紹介料の対象になる。で、ある程度PVが多くなってくると、特定の商品を紹介しなくても単にAmazonアフィリエイトID付けてリンクするだけで関係のない商品も結構な数売れるようになる。を紹介しただけなのにDVDレコーダーが売れたりすることもある。 で、ニコニコ動画の場合だけど、ユーザー数やアクセス頻度が多くなればなるほど、元々購入予定だった商品にニコニコ動画のアフィリエイトIDが付く確率が高くなるわけな

    m4i
    m4i 2007/07/23
  • 最速インターフェース研究会 :: 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はループであることが分か

  • 最速インターフェース研究会 :: OPML生成サービスを作りました

    livedoor Reader、Bloglines、はてなRSSを公開設定で使っているユーザーのOPMLをマージして、これは読んでおいた方がいい、というフィードのリストを作るサービスを作りました。 サンプルで最初からいくつか入れてありますが、プログラマが読んでおいた方がいい、ってのが出るように適当にピックアップしてみました。 レンタルサーバーなので、あんまり沢山いれると処理時間が長くて表示できません。ソース公開してるので適当に改造して使ってください。 http://la.ma.la/opmlburner/

    m4i
    m4i 2007/02/17
  • フィードリーダーの脆弱性まわりのこと

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

  • 最速インターフェース研究会 :: ウェブ型のRSSリーダーのシェアを調べてみた

    このブログの2007年1月15日から2007年1月21日までのログを集計してみた。はじめに断っておくと、あくまで「このブログに対するアクセス」の集計結果であってフィードリーダーのシェア統計としては全く信頼できない。イギリス人に母国語を訊いたりインド人に主を訊いたりするぐらい予想通りの結果だ。 はじめに ウェブ型のRSSリーダーというのは乗り換えるにしろ使うのをやめるにしろ、購読リストをスッカラカンにしてから辞めるという人はあまりいない。あるいは登録しているだけで全然読まれないというケースも良くある。なので、feedburnerのアクセス解析で表示されるような購読者数というのはあまり当てにならなかったりする。(Bloglines一強だったころは当てになった) というわけで、特定のRSSリーダーでのアクティブな購読者数を調べるには、記事文内の画像へのリファラで集計して実際にその記事が読まれ

    m4i
    m4i 2007/01/23
  • 最速インターフェース研究会 :: そろそろライブドア事件について一言いっておくか

    今から1年前2006年1月16日はライブドアに強制捜査が入った日で、その日自分が何をしていたかというと社長面接を受けに行っていた。たかだか面接に大げさなもので、六木ヒルズの周辺には報道陣が詰めかけており、張り詰めた空気の中、何も知らずに六木ヒルズに突入すると、こんな状況ですいませんと茶菓子も出されずに真っ直ぐ家に帰された。全くひどい会社である。俺の面接と強制捜査とどっちが大事なのか、冷静に考えてみれば分かる話である。 (以下ノンフィクションに一部誇張を交えてお送りします) 強制捜査なんてものは言ってしまえば良くある話で、それに対して俺が面接を受けるとなると世紀に一度あるかないか惑星直列ぐらいの確率である。てっきり報道陣もそっちを取材しに来たのかと思ったらスルーである。全力スルーである。この手の事件に関するマスコミのスルー力ときたら大したもので、唯一かまってくれたのはスポニチだけだった。

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

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

  • 最速インターフェース研究会 :: ページレンダリングを妨げないdocument.writeの実装

    とてもシンプルに自分自身が属する script 要素を取得 http://d.hatena.ne.jp/amachang/20061201/1164986067 document.writeをDOM仕様にする http://nyarla.net/blog/javascript-tips1 あたりに着想を受けて、作ってみました。 http://la.ma.la/misc/js/lazy_writer/ 特定のscript src内のdocument.writeをピンポイントに置き換えることができます。 制限事項としては、document.writeを使ってscriptタグを生成するようなコードの場合、IEではinnerHTMLにscriptを書いても実行されないという仕様があるので実行されません。その点を除けば、IFRAMEをdocument.writeで挿入するような、良くある広告系のdo

  • 最速インターフェース研究会 :: Firefox2のポップアップブロックについて調べてみた

    なんかFirefox2ではポップアップブロックの挙動が変わってるというらしく、ポップアップを許可したサイトでもブロックされるというのでコメントをしたんだけど認識が違っていたようなので、気になってソースを読んで調べてみたりしたので、わかったことをメモしておく。 Firefoxのポップアップブロックの挙動 - 許可サイトでなくても、完全に許可されるポップアップがある -- ボタンやイベント設定された要素の左クリック -- Enterキーか、スペースキーでボタンが押された場合(onclickが呼び出される操作) -- ユーザーの設定に関わらず許可される、30個だろうと開く --- これを防ぐのが「browser.tabs.maxOpenBeforeWarn」? - 許可サイトでなくても、個数限定付きで許可されるポップアップがある -- フォームの値変更なんかで開くポップアップ。 -- dom.p

    m4i
    m4i 2006/11/17
  • 最速インターフェース研究会 :: livedoor Readerに何かくっつけるGreasemonkeyの書き方

    何かくっつける系のGreasemonkeyが作りやすくなってます。 エントリごとに表示投稿日時が出てる箇所に追加されます。 window.entry_widgets.add("name", generator , "description"); generatorはfunction(feed,item){ ... }のように無名関数で記述できます。feedはフィードに関する情報、itemはその記事のリンクや記事文が取れます。データ構造はまるごとPerlに書いてあります。 descriptionは省略可能ですが、将来的に何か気の利いたUIでも作ろうかと考えていたりするので入れておくと良いかも知れません。今のところtitle属性に使うようになってます。Greasemonkeyだと日語が通らないのでエスケープする必要があります。 エントリにくっつけるサンプルエントリごとにlivedoorクリ

  • 最速インターフェース研究会 :: Firefoxの拡張MozLabの中に含まれるMozReplがヤバすぎる件について

    MozLabという拡張を昨日知ったのですが http://dev.hyperstruct.net/trac/mozlab この中に含まれているMozReplというのがヤバい。Firefoxにtelnet接続できるようになる。 とりあえずRubyで書いた簡単なサンプル、今見ているページをリロードするだけ。 require 'net/telnet' telnet = Net::Telnet.new({ "Host" => "localhost", "Port" => 4242 }){|c| print c} telnet.puts("content.location.reload(true)") telnet.close ひたすら自分が見ているURLとページタイトルを記録する系とか簡単に作れそう。 今見ているページのURLとタイトルを取得するサンプル。 require 'net/telnet'

  • 最速インターフェース研究会 :: SafariのAjaxの文字化けをクライアント側だけで対応するバッドノウハウ

    SafariでXMLHttpRequestのresponseTextが文字化けするという話。 http://blog.33rpm.jp/garbled-on-safari.html 最近のバージョンだとcontent-typeがちゃんとしてれば化けなかったような記憶があるけど、まあともかくとして、Safariで文字化けするのはJavaScript側だけで対処することができたりする。 http://kawa.at.webry.info/200511/article_9.html これ読んでほんとかよ、って感じだったんだけど案外役に立った。livedoor Readerで使われてたり。 実際に使われてるコードはこんなの。 if(browser.isKHTML){ ajax.filter.add(function(t){ var esc = escape(t); return(esc.index

  • 最速インターフェース研究会 :: history.backが成功したかどうかを判別する

    今も昔も大変よく使われている古典的JavaScriptの一つjavascript:history.back()なんですが、実際に戻る操作が成功したのかどうかを判別することができません。タブブラウザなんかを使っててミドルクリックで新規タブで開いてたりすると、history.backをクリックしても無反応で何も起こらない、なんてことよくありませんか? そんなわけなのでhistory.backを実行後にページ移動が発生しているかどうかを監視して、戻るに失敗したときに特定の処理を発生させることができるような関数を作ってみました。 function try_back(errback){ var bs = false; Event.observe(window,"unload",function(){bs=true}); Event.observe(window,"beforeunload",func

  • 最速インターフェース研究会 :: 萌ディタとSleipnirとWEBrickを使って人のサイトのCSSをリアルタイム編集するデモ

    Shiubya.js #1で話したネタですが、Winkでデモを作ってみました。 http://la.ma.la/misc/demo/realtime_cssedit.htm エディタとブラウザが並んでて窮屈ですが、実際はこれを20インチワイド液晶縦置きデュアルでやります。 仕組みは、WEBrickでローカルプロキシを立てて、同名のファイルがローカルにある場合は内容を置き換えて表示する、というもので、CSSJavaScriptを編集するのに向いています。 プロキシサーバーはPerlで書かれた同等のものがここにあります。 http://www.ornithopter.jp/archives/2006/05/perl_perl.html 自分が使ってるのは必要に応じて行き当たりばったりに拡張していったりするのですが、現時点でのソースを置いておきます。 http://la.ma.la/misc/

  • 最速インターフェース研究会 :: そろそろライブドア事件について一言いっとくか

    ライブドアの件で最速に一言いわせてもらう 最速インターフェース研究会 :: そろそろライブドア事件について一言いっとくか2月1日付けで株式会社ライブドアに就職しました。 最速な人が来た。 - にぽたん研究所 弊社に、最速インターフェース研究会の片栗 X こと mala らんが join しました。 おめでとうございます! 思えば(検閲されました。)で、(特捜部に消されました)とかで(Z部さんからクレームがきました)ホルモンカワユスだったりしたわけですが、実にめでたいです。 そして(id:jnaoyaに怒られました)ですよね? じゃなーい! せっかくライブドア入りたい!をわがまま言って作ってもらったのに、ちっとも活用されていないじゃないですか! はてな入りたい!とかSixApart入りたい! (その後)とか活用されまくっているというのに!!!! ひどいひどいひどい! さっきはてなダイアリー市

  • 最速インターフェース研究会 :: 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で受

  • 最速インターフェース研究会 :: Firefoxでテキストをクリップボードにコピーする方法

    動作デモ http://la.ma.la/misc/js/setclipboard_for_firefox.html Firefox1.5 + FlashPlayer8.5で動作確認してます。Opera8.5では動いたがOpera9では動作せず。Safariは知らない。FlashPlayerのバージョンによっても何か違うのかもしれない。 元ネタ http://a-h.parfe.jp/einfach/archives/2005/0706043145.html IEではデフォルト設定でブラウザからクリップボードの読み書きができる、というのは割と有名な話ですが、Flashを使うとIE以外でもクリップボードにテキストをコピーすることができます。上書きのみで読み込みはできないようなので多少は安心です。(クリップボードが勝手に置き換わってしまう、という悪戯はできる) で、このFlashを使ったクリッ