思うところあって作ってみた。カーソルキーだけで読めます。IME有効無効に関わらず使えます。 http://la.ma.la/misc/userjs/ldrkeybindforldr.user.js フィード一覧フォーカス時 ↑ : 前のフィードを選択 ↓ : 次のフィードを選択 → : 開く 記事画面フォーカス時 ↑ : 前の記事に移動 / 前のフィードに移動 ↓ : 次の記事に移動 / 次のフィードに移動 → : ピンを付ける / 外す ← : フィード一覧にフォーカスを移す
思うところあって作ってみた。カーソルキーだけで読めます。IME有効無効に関わらず使えます。 http://la.ma.la/misc/userjs/ldrkeybindforldr.user.js フィード一覧フォーカス時 ↑ : 前のフィードを選択 ↓ : 次のフィードを選択 → : 開く 記事画面フォーカス時 ↑ : 前の記事に移動 / 前のフィードに移動 ↓ : 次の記事に移動 / 次のフィードに移動 → : ピンを付ける / 外す ← : フィード一覧にフォーカスを移す
こんなんで出来た。 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
今から1年前2006年1月16日はライブドアに強制捜査が入った日で、その日自分が何をしていたかというと社長面接を受けに行っていた。たかだか面接に大げさなもので、六本木ヒルズの周辺には報道陣が詰めかけており、張り詰めた空気の中、何も知らずに六本木ヒルズに突入すると、こんな状況ですいませんと茶菓子も出されずに真っ直ぐ家に帰された。全くひどい会社である。俺の面接と強制捜査とどっちが大事なのか、冷静に考えてみれば分かる話である。 (以下ノンフィクションに一部誇張を交えてお送りします) 強制捜査なんてものは言ってしまえば良くある話で、それに対して俺が面接を受けるとなると世紀に一度あるかないか惑星直列ぐらいの確率である。てっきり報道陣もそっちを取材しに来たのかと思ったらスルーである。全力スルーである。この手の事件に関するマスコミのスルー力ときたら大したもので、唯一かまってくれたのはスポニチだけだった。
[Memo]ブラウザの「お気に入り」はテレビのリモコンなんじゃないか 第三十三回 最近,普通の人はWebブラウジングのとき常に「お気に入り」をサイドバーに表示してるらしいという話題がある. ■一般的なネットユーザーは常にお気に入りを(ブラウザ左側に)表示している これ。これどうなの?みんなそういう風にしてネットを見てるの?常に左側 [WWW][computer]ブラウザの思い出話 一般人は常に「お気に入り」を表示している!http://plaza.rakuten.co.jp/catfrog/diary/200701140026/http://b.hatena.ne.jp/entry/http://plaza.rakuten.co.jp/catfrog/diary/200701140026/らしいんですが、自分はもっぱらURL直打ちですね。どのブラウザでも使えるし。 「お気に入りをサイドバー
昨日の記事の続き。個人として書いていて会社の意見ではありません。 「Web屋のネタ帳」のこと誤読するのも無理ないというか、CNETの記事にはWEPキーが必要と書いてあるんですが、他のニュースサイト見ると書いてなかったり、普通に説明を見た限りだとわかりそうにないので。なので早とちりでああいう記事が書かれるのも無理はないと思うのですが、気になるのは、何もそこまで悪意を持って叩く必要があるのかな、っていう点です。 少し前にも、百式の人をボロクソに書いてたけど、ブラウザの同時コネクション設定ぐらいでサーバー負荷が増大して大変なことになるなんて考えにくいというかフツーあり得ないというか、「Web屋」ならその辺は感覚的に分かるはずだし、RFCもMUSTじゃなくてSHOULDになってるし、そもそもタイトルからして煽りすぎではないか。もちろんブラウザのデフォルトは適切な値であるべきだろうけど、ボットやクロ
livedoor wireless、MACアドレスによる認証を開始--ニンテンドーDSにも対応 http://japan.cnet.com/news/com/story/0,2000056021,20339983,00.htm に関して、Web屋のネタ帳の人が 「セキュリティのセの字も考えてないライブドアの公衆無線LANサービス」という記事を書いているのですが、 http://neta.ywcafe.net/000698.html 何か色々間違ってると思うので、書いておきます。これはライブドアの中の人じゃなくて、1ユーザーとしての立場で書いてるのと、あとネットワーク管理者でもなんでもないんで、そこら辺信頼できるかどうかは各自ご判断ください。 まず、実際自分で試してみたのですが、これは接続したい機器のMACアドレスを事前に登録しておくとWEB認証をスキップできるというもので、そもそもWEPキ
id:naoyaに先に書かれてしまったのですが、昨日はWiiリモコンとDarwiinRemote(日本語FAQ)を使ってプレゼンしました。 MacBookだと最初からBluetoothを認識できるので、DarwiinRemoteを起動すれば特に何もしなくて使えます。 Windowsでプレゼンに使うための方法はITMediaの記事に詳しく載ってます。 http://www.itmedia.co.jp/bizid/articles/0612/08/news120.html 信頼のおけるブロガーの人が、例のWiiリモコンを持って来ると事前に聞いていたので、ジャックされるんじゃないかと心配の種でした。
Index of /misc/userjs Parent Directory AmazonCartHelper.user.js AutoReload.user.js DelayMaryo.user.js GoogleAutoPager.user.js GoogleInstantSearch.user.js HatenaRssRolling.user.js KuruKuruMixi.user.js acmemarc.user.js akeome.user.js amazon_gift.user.js ameblo_sucks.user.js dxh.user.js dxh_img.user.js estseekautopager.user.js frepa_killpopup.user.js gmail_unread_toggle.user.js google_reader_beta.use
昨晩はライブドアで開催されたテクノロジーセミナーで「Technologies for UI」という題でプレゼンをやりました。 発表資料はpdfかhtmlで公開する予定ですが、とりあえずテキストだけ先にアップしておきます。 http://ma.la/files/livedoor/seminar2006/seminar.txt プレゼンツールがFirefox専用だったりするので、これも少し手直しして公開予定です。 こういう機会があるたびにプレゼンツールを作ってるような気がします。 ---- 追記:12/15 ライブドアのtechblogの方に発表資料をアップしました。 http://blog.livedoor.jp/techblog/paper/ldtech2006/ 上下カーソルキーでページをめくれます。
先日書いたdocument.lazy_writerをバージョンアップしました。 http://la.ma.la/misc/js/lazy_writer/ ロードするスクリプトのURLが動的になっているケースも多いので、 - URL指定の文字列を部分一致に。(完全一致するパターンがある場合はそちらを優先) - 正規表現でパターンを指定できるように - 関数でパターンを指定できるように しました。 以下サンプル。 // 適用するURLを正規表現か部分文字列で指定できます。 document.lazy_writer(/google/, function(str){ /* your custom document.write */ }); document.lazy_writer("google", function(str){ /* your custom 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ではポップアップブロックの挙動が変わってるというらしく、ポップアップを許可したサイトでもブロックされるというのでコメントをしたんだけど認識が違っていたようなので、気になってソースを読んで調べてみたりしたので、わかったことをメモしておく。 Firefoxのポップアップブロックの挙動 - 許可サイトでなくても、完全に許可されるポップアップがある -- ボタンやイベント設定された要素の左クリック -- Enterキーか、スペースキーでボタンが押された場合(onclickが呼び出される操作) -- ユーザーの設定に関わらず許可される、30個だろうと開く --- これを防ぐのが「browser.tabs.maxOpenBeforeWarn」? - 許可サイトでなくても、個数限定付きで許可されるポップアップがある -- フォームの値変更なんかで開くポップアップ。 -- dom.p
LANで繋がっているマシンのマウスとキーボードを共有してWindowsとMacをつなげたりといったことが出来るSynergyというツールがあるのですが、Synergyの設定ファイルに section: options switchDoubleTap = 250 end などとやると、デスクトップの端っこをコンコンと二回タップしたときだけ画面が切り替わるようになります。切り替える際に一手間増えることになりますが、そんなに頻繁に画面を切り替えるわけでもないのでさほど気になりません。WindowsのサーバーだとOptionsの中に項目があります。トラックボールを使うようになってから暇なときはボールを勢いよく転がして遊んでいるのですが、デスクトップが頻繁に切り替わってしまって鬱陶しいことになります。また、最近ではホイールを使うのでスクロールバーを使わないという人も多いかとは思いますが、スクロールバ
何かくっつける系のGreasemonkeyが作りやすくなってます。 エントリごとに表示投稿日時が出てる箇所に追加されます。 window.entry_widgets.add("name", generator , "description"); generatorはfunction(feed,item){ ... }のように無名関数で記述できます。feedはフィードに関する情報、itemはその記事のリンクや記事本文が取れます。データ構造はまるごとPerlに書いてあります。 descriptionは省略可能ですが、将来的に何か気の利いたUIでも作ろうかと考えていたりするので入れておくと良いかも知れません。今のところtitle属性に使うようになってます。Greasemonkeyだと日本語が通らないのでエスケープする必要があります。 エントリにくっつけるサンプルエントリごとにlivedoorクリ
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'
について。 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
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
http://la.ma.la/misc/js/set/ Pythonのset型をjsに移植してみた。setってのは要素が重複しないリスト。 http://www.python.jp/doc/release/lib/types-set.html 配列として扱いたいケースが多いように思うのでArrayを拡張してSetのメソッドを加える感じで作った。制約付きの配列、みたいな感覚で扱えるように。addやupdateを使わずにpushを使って要素を追加すると重複してしまう(pushも上書きすればいいけど、直接値を代入されたらどうせ防げない)。なので厳格ではない。格納できるのはstringとnumberとboolean型のみ。でもエラーが出るわけでもない。そこら辺いい加減なので作り直すかも。 用途としてはAさんとBさんとCさんがブックマークしてるURLとか、にも関わらずあなたがブックマークしてないU
JSONP が Opera だと非同期処理できない http://d.hatena.ne.jp/secondlife/20060906/1157515075 に書かれているとおりOperaだとscript要素を足した瞬間にJavaScriptの実行が止まって、ロード完了まで後続のスクリプトが実行されなくなります。 サンプル http://la.ma.la/misc/js/opera_jsonp_test.html そこで、リクエストの度にダミーのIFRAMEを作って、そのIFRAME内のcontentWindowで実行するという方法を試してみました。 IFRAME内でJSONをロードするサンプル http://la.ma.la/misc/js/iframe_jsonp_request.html なんかIEで動かないっぽいけど気にしない。相変わらずタイマーは停止しますが、appendChil
JavaScriptで配列をシャッフルする話を見て、そういえばArray#shuffleは以前書いた記憶があるなーと思って調べてみたらコピペだった。 http://www.fumiononaka.com/TechNotes/Flash/FN0212002.html Fisher-Yatesというアルゴリズムだそうです。 Array.prototype.shuffle = function() { var i = this.length; while(i){ var j = Math.floor(Math.random()*i); var t = this[--i]; this[i] = this[j]; this[j] = t; } return this; } a = [1,2,3,4,5]; a.shuffle() // 3,1,5,2,4 a // 3,1,5,2,4 ごく普通に実装
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く