2006-04-26

livedoor ReaderのショートカットキーをカスタマイズするGreasemonkeyスクリプト

そのうち設定インターフェースができるんじゃないかと思いますが、待ちきれない方はGreasemonkeyスクリプトでカスタマイズできます。

Google readerみたいにj/kだけで全部読みたい

Control.go_nextに次のエントリまたは次のフィード、という機能を当ててます。
http://la.ma.la/misc/userjs/ldr_keyhack_jk.user.js

ブックマークレットでもできます。これをアドレスバーにコピペ。
javascript:Keybind.add("j",Control.go_next);void(0)

全てのキーバインドを無効化

Keybind.clear()で全てのキーバインドを無効にできます。
http://la.ma.la/misc/userjs/ldr_keyhack_clear.user.js

はてなブックマークのページにジャンプ。

http://la.ma.la/misc/userjs/ldr_keyhack_h.user.js

----
はてブページにジャンプとか公式にやるのはアレなので、アンオフィシャルな機能はGreasemonkeyでやってください、という感じになるんじゃないかと思います。
本体のスクリプトの更新で、いきなり動かなくなったりする可能性がありますが、よろしければどうぞ。

2006-04-15

Shibuya.jsでしゃべってきました

Shibuya.jsでJavaScriptの開発環境の話なんかをしゃべってきました。

プレゼン資料はこちら。少し内容削ってます。
http://ma.la/files/shibuya.js/techtalk1.html

- ページめくり s/a or space
- 行移動 j/k or enter

Webrickのソースは結構適当でadhocにルールを追加したりしてる。なんかsecondlifeがYAMLで設定かけるようなのを作ったとか何か言ってた。
プレゼン資料だけだとわかりづらい部分があるのであとで個別にエントリを書きます。

2006-04-12

del.icio.usに特定のタグを付けて一発ブックマークするブックマークレットを作る奴

http://la.ma.la/misc/js/delicious_bookmarklet.html

作った。

肝心のブックマークレットが無いような気がしたので。
http://subtech.g.hatena.ne.jp/miyagawa/20060412/1144846549

これ参考にした。
http://ejohn.org/blog/super-fast-delicious-bookmarklet/

オリジナルは自動で閉じるポップアップウィンドウを使ってるんだけど、なんかimgタグでもできた。まあいいや。こんにちは。

2006-04-11

例えばもしも明日ボクシングのやりすぎで網膜剥離で失明した時にはてなダイアリのデフォルトが要約配信だったら残りの人生をどう過ごせばいいのだ

いや別に知ったこっちゃないけど、素人1000人の意見をうかがって何の意味があるんだ、これ。
http://q.hatena.ne.jp/1144667461

フィードを全文配信するってのは「もっと読む」ボタンがどうしたのこうしたの話じゃないだろう。質問文が悪すぎる。どうせ反対してるユーザーはカウンタが増えないとかデザインも見て欲しいとかそういうくだらないいつものアレだろう。

なんというか、俺は障害者のためにこそRSSを全文配信すべきだと思うのだけれど、こういうこと言うのは俺じゃなくて結城浩とかそこらへんの役目じゃないのかと思うのだけど。

例えばもしも明日ボクシングのやりすぎで網膜剥離で失明したとしたら、俺はメイドを雇う金なんてないからPlagger使ってMSAgentにRSSを読み上げさせるだろう。でもその前に目が見えないでどうやってPlaggerをインストールできようか。いやできまい。

だからつまり今はまだアレだけど、そういう来るべき未来のためにRSSは全文配信にしようぜっていう業界ムードなのにはてなだけユーザーアンケートの結果要約配信し続けて時代に取り残されたら面白いね。

2006-04-07

CPAN最速検索

作りました。
http://cpan.ma.la/

Firefox用パネル。ブックマークしてプロパティ→サイドバーに読み込む。
http://cpan.ma.la/panel.html

全モジュールのリストを改行で区切ったテキストファイルを受信してクライアントサイドで検索させています。クライアントサイドで検索させているのでサーバー負荷は全くかかりません。

仕組み

省メモリ、高速に動作するように工夫してあります。
- 配列に変換せずに一つの巨大な文字列から検索 → 切り出し。
- クロージャで次の検索結果を取得する関数を保持しておいて、描画が必要になった時点で検索を実行。
-- その代わりにトータルのヒット件数がわかりません。

今の所の機能

- 上下で選択、エンターでperldoc表示、マウスクリックでもperldoc表示。
- 正規表現がおかしくなければ、そのまま使えます。
-- 例えば \d\d\dで数字が入っているモジュールが検索されます。
- 最初の文字を大文字にすると先頭一致になります。
- 全部タイプしなくてもOK。
-- 例えば C::dbiでClass::DBIを引けます。
-- C::d::p → Class::DBI::Plugin

コードの行数は大したことないですが、ちっこいノートPCで作ったので大変だった。モジュールのリストをcronで自動更新させたいんだけど、レンタルサーバーなのでちょっと工夫しないとダメかも。

例によって放置してしまうかもしれないので、引き継ぎたい方や改造したい方がいればどうぞご自由に。

更新履歴

2006-04-02
- :: の代わりにハイフンとスペースも区切りとして使えるようにした。
- Firefox用パネルを作った。

2006-04-03
- MultiViewsでgzip圧縮が無効の場合でも使えるようにした。プロキシ経由で動かないケースが直るはず(転送量増えるけど)。

2006-04-07
- cron仕込んであります。一日二回更新。今のとこ上手く動いてる様子。

2006-04-01

エイプリルフール

今年のエイプリルフールは自粛だそうです。

Date.prototype.isAprilFool = function(){
    return (this.getMonth() == 3 && this.getDate() == 1)
}