Firefox2でGoogle Reader をRSS reader として追加する方法 参考: 最速インターフェース研究会 :: Firefox2.0に任意のRSSリーダーを追加する方法 Adding feed readers to Firefox - MDC bookmarkletから追加するという手もあるのだけれど、それだと複数のfeedを提供しているペ
Firefox2でGoogle Reader をRSS reader として追加する方法 参考: 最速インターフェース研究会 :: Firefox2.0に任意のRSSリーダーを追加する方法 Adding feed readers to Firefox - MDC bookmarkletから追加するという手もあるのだけれど、それだと複数のfeedを提供しているペ
の、雛形。 http://la.ma.la/misc/userjs/ldr_with_hatenaster.user.js (function(){ var w = typeof unsafeWindow != "undefined" ? unsafeWindow : window; var initialized = false; var s = document.createElement('script'); s.src = 'http://s.hatena.ne.jp/js/HatenaStar.js'; s.charset = 'utf-8'; document.body.appendChild(s); var t = setInterval(function(){ if(w.Hatena){ init(); initialized = true; clearInterval(t
プログラミングできるひとは「ゲーム作れよ」と言われることが多いような気がする。 ぶっちゃけゲームとか作れないし、たぶんウェブプログラマの多くはそうだ。 PerlやRubyやJavaScriptとかで何万ポリゴン動かしたりできない。 XMLをパースしたり、正規表現で置換したり、そういうのなら得意だ。 ゲームの人らは秒間3億ポリゴンとかやってるのに、何でこんなちまちましたことやってるんだろうと思ったりもする。 なんでこんな事やってるのかというと、面白いからやってるのだけれど、 プログラム書かない人らから見ると何やってるのか全然面白さが分からない、 3Dポリゴンが動いたり(乳が揺れたり)する方が面白いに決まってると思ってる。 彼らは失礼極まりなくて、リーナストーバルズに対しても 「お前の作ってるものは良く分からないから、ゲーム作れよ」って言うだろうね。 そういう連中を皆殺しにしないことには俺の人
Preferences → Appearance で日本語のフォントを指定。 Documents and Settings\username\Application Data\Apple Computer\Safari\WebKitPreferences.plist が、こんな風になる。 <key>WebKitFixedFont</key> <string>MS ゴシック</string> <key>WebKitStandardFont</key> <string>MS Pゴシック</string> で、フォント名から、実際のフォントファイルを参照する部分がおかしいみたいなので、 Documents and Settings\username\Local Settings\Application Data\Apple Computer\Safari\Fonts.plist を弄る。 <ke
割とどうでもいいとは思ってるんだけど書いておくことにする。ここら辺読んで思ったこと。 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
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がタイムアウト
最近、FreshReaderに脆弱性があったということで、いくつか調べて直したり、赤松さんと連絡取り合ったり、それからはてな使ってないのにユーザー様とか書かれて不愉快な気分になったりしてたんですが。 この記事はひどすぎると思う。 フレッシュリーダーの脆弱性に関連してSage++のこと そもそもの問題として「ローカルディスク上のHTMLファイルをブラウザで開くと超危険」です。XMLHttpRequestやIFRAMEでローカルファイルの内容を読み取れるからです。Sageに脆弱性があるということは、あらゆる個人情報の漏洩につながります。「開発者の個人情報を晒すリスクが云々」というのは、個人的には分からなくもないですが、ユーザーの個人情報を危険に晒していることを認識すべきです。 開発者本人が過去に書いているので、危険性の大きさは十分に認識できているはずです。「脆弱性がある」と公表してしまった時点
思うところあって作ってみた。カーソルキーだけで読めます。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
LANで繋がっているマシンのマウスとキーボードを共有してWindowsとMacをつなげたりといったことが出来るSynergyというツールがあるのですが、Synergyの設定ファイルに section: options switchDoubleTap = 250 end などとやると、デスクトップの端っこをコンコンと二回タップしたときだけ画面が切り替わるようになります。切り替える際に一手間増えることになりますが、そんなに頻繁に画面を切り替えるわけでもないのでさほど気になりません。WindowsのサーバーだとOptionsの中に項目があります。トラックボールを使うようになってから暇なときはボールを勢いよく転がして遊んでいるのですが、デスクトップが頻繁に切り替わってしまって鬱陶しいことになります。また、最近ではホイールを使うのでスクロールバーを使わないという人も多いかとは思いますが、スクロールバ
Firefoxでのスクリプト読み込みの同時実行について http://d.hatena.ne.jp/shinichitomita/20061013/1160707042 を読んで。 Opera以外は読み込み順に実行されるよね、と思ってたんだけど、どうも違うみたいなので、わかりやすいようにサンプルを作ってみた。 http://la.ma.la/misc/sleep/ ウェイト入れてレスポンスを返すCGIを書いてロード。0,1,2,3って順番で表示されるはずだ、と思って実験してみたらSafariでしかうまくいかなかった。 色々試してみたけど、 - Safari: 並列リクエストされてロードされた順に実行。 - Firefox: 並列リクエストされるけど実行順は固定。 - IE: 並列リクエストされて実行順はほぼ固定?応答が遅いと後回しにされてるような気がする。 - Opera: 並列リクエスト
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://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 ごく普通に実装
先日のShibuya.js Techtalk#2では開発手法の話とかは(前回話したので)あまりしなかったのですが、そういう話を知りたいという人も多いようなので適当に公開していこうと思います。 http://la.ma.la/misc/js/mechanize/ WWW::Mechanizeと似たインターフェースでIEを遠隔操作するライブラリです。htaから呼び出してテスト用のツールを作ったりします。wshからも使えると思います。 機能的には最低限のものしか実装してません。ファイルのアップロードとかはJS側からいじれなかったと思うので多分無理です。 この手のツールではseleniumというのが有名なのですが、多機能すぎて使い方が良くわからないので自作しました。単純な動作確認や連投に使ったりします。 これを使ってアレをナニしたりしているのですがとてもここには書けません。
ピンを付けたページ、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の検索結果
そのうち設定インターフェースができるんじゃないかと思いますが、待ちきれない方は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 はてなブックマークのページにジャンプ。ht
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
デバッグに役立つかもしれないライブラリ 公開 : 2006-01-15 更新 : 2006-01-16 License : Same as Perl See also : http://www.bigbold.com/snippets/user/ma.la サンプル ダイアログはダブルクリックで消えます。 Firefoxだとeval系の行番号が正確に出ません 伝家の宝刀 Null またはオブジェクトではありません IEだと外部jsファイルのエラーを補足できません 使い方 debug.js debug.css ie_xmlhttp.js ファイルを保存してheadタグの中にこんな感じで貼り付ける。 <link rel="stylesheet" href="debug.css"> <script type="text/javascript" src="ie_xmlhttp.js"></scri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く