タグ

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

  • 最速インターフェース研究会 :: SiteConfigWikiの情報を使ってはてなスターをくっつけるブックマークレット書いた

    頑張って作ろうかと思ったら既にConfigLoaderというのが定義されてたからそれ使うだけで良かった。 Add HatenaStar JSONをevalしないでクライアントサイドでパースしたほうが安全じゃない?というような話。 http://d.hatena.ne.jp/ku0522/20070927/1190868347 Greasemonkeyみたいに外部ドメインのデータ引っ張ってこれるとは限らないので、JSONPがあること自体は良いことだと思う。JSONPがあるのは設定不要で簡単に貼り付けられるようにするためだと思うけど、動的に取得するようになってるとWikiで挙動を変えられてしまうので危険だと思う。例えばJSONを出力する処理にバグがあった場合とか、凄く処理が重くなるセレクタとかを指定されるとか。あくまでコード生成の補助に使うぐらいがいいんじゃないかなあ、という気がする。 整形済

    se-mi
    se-mi 2007/09/28
    ちょwはてな使ってる!
  • 最速インターフェース研究会 :: bluewindからtwitterを更新できるようにRubyでシンプルなクライアントを書いた

    bluewindのコマンドに登録しておいて詳細→パラメータでidとpassword入れた状態にしてbluewindで[twitter ほげほげ]とか入れると更新されるようにしてみた。exerbでexe化しようとしたらrb_io_set_nonblockが見つからないとかエラーが出たけどexerbのバージョンを4.10にしたら上手くいった。 で、Windowsで使うならJavaScriptの方が楽だった。 http://muumoo.jp/news/2007/04/10/0twitterclient.html require 'net/http' require 'kconv' user = ARGV.shift pass = ARGV.shift status = ARGV.join(" ") || "" status_utf8 = status.kconv(Kconv::UTF8, Kc

    se-mi
    se-mi 2007/04/11
    「芸がないのでなでしこで書いた」
  • 最速インターフェース研究会 :: livedoor Readerで今読んでいるフィードをTwitterに送るGreasemonkeyスクリプト

    10分の1ぐらいの確率で送ります。非公開設定の場合は送りません。 http://la.ma.la/misc/userjs/ldr_auto_twitter.user.js これ参考にしました。 http://subtech.g.hatena.ne.jp/antipop/20070330/1175232802 ---- 変更履歴 - 連続で送ると陶しそうなので、1回送ったら10分は送らないように。確率を1/5に変更。 2007-04-15 - 同じフィードを2秒以上見てた場合のみ送るように。 - encodeURIしてなかったのを修正。

    se-mi
    se-mi 2007/04/08
    入れてみた
  • 最速インターフェース研究会 :: ライブドアのテクノロジーセミナーでしゃべってきました

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

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

    se-mi
    se-mi 2006/09/28
    やばげ
  • 最速インターフェース研究会 :: 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で受

    se-mi
    se-mi 2006/01/15
    うは。便利
  • 最速インターフェース研究会 :: 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

  • 最速インターフェース研究会 :: [速報] GoogleのRSSリーダー(β版)、早速真似して作ってみた

    GoogleからRSSリーダーがリリースされましたね。 http://www.google.com/reader/ ソース読むのとか面倒なんで真似して作ってみました。だいたい6時間ぐらいで出来た。 http://la.ma.la/roll.html このBlogで使ってるjsファイルをちょっといじって使ったので、キャッシュ利いてて動かない場合はリロードしてみてください。 Firefoxだとアニメーションがやや重い。アニメーションを無くせばもっとサクサク動くんだけどGoogleReaderよりは軽いんじゃないかと思う。 Operaはなんかスクロールしていくと強制終了します。アニメーションさせつつ、上下の要素を継ぎ足すようにしてやれば多分大丈夫だとは思うけど面倒なので現時点ではそこまでやってない。 あとはIEとFirefoxではホイールを使ってページ切り替えられるようになっています。 Goog

    se-mi
    se-mi 2005/10/10
    鬼ですね。。。
  • 最速インターフェース研究会 :: 実践JavaScriptリファクタリング、その2

    連載すんの? リファクタリングとか嘘で実は実践ビルトインオブジェクトハックなんだけど。 例題 配列 a = [3,5,4,2,1] から一番小さな値と、一番大きな値を取り出すにはどうすればいいか。 多分昔はこんな風に書いてたと思うんですよ。 a = [3,5,4,2,1]; for(i=0;i<a.length;i++){ if(i == 0){ min = a[0]; max = a[0]; } if(min > a[i]){min = a[i]} if(max < a[i]){max = a[i]} } 模範解答として、後先考えないやり方を提示しておく。 a = [3,5,4,2,1]; min = a.sort().shift();// 1 max = a.sort().pop(); // 5 短い。ただし、これをやるとaの内容は並べ替えられて最初と最後の要素が取り除かれる。 a /

    se-mi
    se-mi 2005/10/07
    その2
  • 最速インターフェース研究会 :: 実践JavaScriptリファクタリング

    同じ事をやるにも、いろんな書き方があるわけでいかにして短くてわかりやすいコードを書くかというノウハウを紹介します。 例として"abcde"を80回繰り返した文字列を作るとして実際に自分のコーディングスタイルがどんな風に変化していったのか、という。 短くなるのは確かなんだけどわかりやすいかというと、人によるかもしれない。 グローバル関数を定義2年前なら、多分こういう具合だった。 //ふつうに関数として定義する function x(str,num){ var tmp = ""; for(var i=0;i<num;i++){ tmp += str; } return tmp; } x("abcde",80) Stringのメソッドとして定義1年前だとこんな感じ。 //Stringのメソッドとして定義する String.prototype.x = function(num){ var tmp

    se-mi
    se-mi 2005/10/06
    リファクタリングでコンパクトに。
  • 最速インターフェース研究会 :: GoogleInstantSearchを作ってみた

    Yahoo! Instant Searchにインスパイヤされて作ってみた。だいたい1時間ぐらい。 Greasemonkeyスクリプト http://la.ma.la/misc/userjs/GoogleInstantSearch.user.js 動作対象をgoogleドメインの/で終わるページに設定しているので、動かない場合はincluded pagesをホームページに合わせて設定しなおしてください。 こんな感じに動く。 http://la.ma.la/misc/img/gis.png 最初にFeeling luckyで検索をかけて、locationヘッダで返ってくるURLで再度検索をかけて詳細情報を出しています。検索のタイミングはキーアップから500ミリ秒後。Ctrl+Enterでヒットしたサイトに移動。 あとなんか、Greasemonkeyがバージョンアップして日語が通るようになって

    se-mi
    se-mi 2005/09/17
    すばらしい~
  • 最速インターフェース研究会 :: Firefox1.5でサポートされる新しいArrayのメソッド

    について。 http://nanto.asablo.jp/blog/2005/09/04/62939 http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array#Methods ループ処理を便利にするメソッド Array#forEach Array#map Array#filter Array#every Array#some 引数として、callback,thisObjを受け取る。配列の各要素に対してcallback関数を実行する。 callback関数はelement, index, arrayを受け取る。value,key,self。値、添え字、配列自身。 Array#forEach 配列の各要素に対してcallback関数を実行する Array#map callbac

    se-mi
    se-mi 2005/09/13
    JavaScriptも変わる
  • 最速インターフェース研究会 :: JavaScriptのデザインパターン - Singleton

    JavaScriptじゃねえと書けねえよ、ってやり方でデザインパターンを実装してみるコーナー。とはいってもデザインパターンとか良くわからないので適当に覚えながら作る。 間違ってる箇所あったらつっこんでくれるとありがたいです。 わかりやすい文章を書く能力が欠如してるのでデザインパターンって何だとかそういうのはこっち参照。 http://d.hatena.ne.jp/naoya/20050813/1123924312 JavaScriptのコンストラクタはPerl同様自在に定義できます。returnでobjectを返してやれば、newの結果としてそいつを使います。 普通にシングルトンなクラスを実装するにはこんな感じだと思います。 function Singleton(){ var self = arguments.callee; if(self.instance == null){ this.

  • 『Amazon最速検索β』

    アップしました。まだベータです。 http://la.ma.la/misc/aws/beta.html 早いうちにECS4に対応しようかと思ってたのですが、先にユーザーインターフェースのほうに色々手を加えました。ファイルサイズがやや大きくなってますが、ローカルにダウンロードしても動かしやすいように1ファイルにしました。 主な変更点 -作者、出版社で検索結果を辿れるようになった -商品をドラッグで選択、まとめてカートに入れる機能 -カスタム表示機能 -検索結果を絞り込み -Firefoxのクイックサーチに対応 -その他いろいろ。 Firefoxの「この検索にキーワードを設定」で登録できます。 こんな感じで。 http://la.ma.la/misc/demo/quicksearch.htm なにげにこの機能、すごく便利だと思う。検索プラグインよりもこっちの方がいい気がする。というわけで、一応

    se-mi
    se-mi 2005/08/01
    すごい。。。
  • 最速インターフェース研究会 :: GoogleAutoPagerというのを作りました

    息抜きにGreasemonkeyスクリプトを作ってみました。逐次ロードを使った、もっと読むインターフェースの試作です。Trixieでも動きます。 リンクを右クリックしてInstall User Script http://la.ma.la/misc/userjs/GoogleAutoPager.user.js 動いてる様子(Flash) http://la.ma.la/misc/demo/googleautopager.htm 動かせない人も多いと思うので、どんな感じなのかわかるようにスクリーンキャプチャも作りました。あんまり作りこんでないですがとりあえず公開。GPLライセンスにします。 任意の位置をダブルクリックで有効/無効が切り替わります。スクロール位置を定期的に検知し、下のほうまでスクロールしたら次のページを自動でロード、現在表示中の検索結果に継ぎ足していきます。 電子辞書でよく見か

    se-mi
    se-mi 2005/06/24
    すげー便利
  • 最速インターフェース研究会 :: テンプレートエディタを作ってみた

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

    se-mi
    se-mi 2005/06/15
    ページ構造ダンプ
  • http://la.ma.la/misc/userjs/KuruKuruMixi.user.js

    se-mi
    se-mi 2005/06/07
    まわるまわるよ
  • 最速インターフェース研究会 :: ソーシャルブックマークの未来予想

    自分に出来ることは数限られてるけど、 これからどんな技術が、どう組み合わさって、どう発展していくのかは 大体予想がつく。 これからブラウザの拡張機能として サイドバーにソーシャルブックマークが組み込まれるだろう。 それは自分が今見ているページから ドメイン内の人気のあるページをリストアップしてくれたり どんなタグがついているのか、誰がブックマークしているのか、 関連しているページは何か、関連しているは何か、関連する商品は何か、 ページ内の単語のwikipediaへのリンク、逆リンク、前回の更新箇所(diff)、 同じページを見た人のオンライン状況、ページの評価、などなどを取得してくれる。 ブラウザ体画面のほうはともかく、サイドバーの方はtorなどのP2P匿名プロキシを経由して、さらにはcoralのような分散キャッシュサーバーを利用して、プライバシーの漏洩を心配することなく、転送量もサー

    se-mi
    se-mi 2005/05/26
    どうなって行くのかー
  • 人生の経験値作成ツール

    質問をコピペなどで入れる 人の回答からコピペして問題を作る場合は回答除去を試してください 回答除去 問題作成 全部○ 全部× 入院 骨折 献血 失神 結婚 離婚 フーゾク しゃぶしゃぶ エスカルゴ 万引き 補導 女を殴る 男を殴る 就職 退職 転職 アルバイト 海外旅行 ギター ピアノ バイオリン メガネ コンタクト オペラ鑑賞 テレビ出演 パチンコ 競馬 ラグビー ライヴ出演 合コン 北海道 沖縄 四国 大阪 名古屋 仙台 漫画喫茶 ネットカフェ 油絵 エスカレーターを逆走 フルマラソン 自動車の運転 バイク運転 10kg以上減量 エステ 交通事故 電車とホームの隙間に落ちる お年玉をあげる ドストエフスキー 大江健三郎 ゲーテ 一万円以上拾う 一万円以上落とす 徹夜で並ぶ 金髪 ピアス 50万円以上の買い物 ローン 両国国技館 日武道館 日清パワーステーション 横浜アリーナ ラヴレタ

    se-mi
    se-mi 2005/05/12
    mixi内ではブーム。
  • 1