枕を欹てて聴く

香炉峰の雪は簾を撥げて看る

JavaScript

Yet Another Tombloo on Chromium: Taberarelooを公開しました

Yet Another Tombloo on Chromium, Taberareloo(タベラレルー) を公開します. Constellation/taberareloo · GitHub Taberareloo(タベラレルー)はクロスポストに特化したTombloo互換を目指すChromium Extensionで, 現在, browserActionがscriptableに動作でき…

Diff algorithm

id:smoking186 さんの指摘を受け, First Authorの名前などを付加しました. どうもです. 記事内のcodeは最適化などを施しておらず, 冗長に, 定義どおりに書いています. ifがまとめられたりとかしますが, そのあたりはご容赦を...Rubyでlevenshtein距離を見て…

Deferred.bind

これはすごい. JSDeferred に引数束縛の bind, curry を追加 / Google Chrome の JSDeferred のインテグレーションを書いた - #生存戦略 、それは - subtech ChromiumのAPIは非同期+callback必須ばかりで, 「うわー. JSDeferred / Mochikit Deferredがないと…

API Checkについて

id:you999 さんの疑問に. GM ver 0.8.2からGM_openInTabはデフォルト挙動, つまりconfigのbrowser.tabs.loadInBackgroundの値に沿った開き方をするように変更されました.(手前味噌のものでよければこちら参照Greasemonkey ver 0.82解説 - 枕を欹てて聴く) よ…

Greasemonkey ver 0.82解説

なんか解説を待たれていたらしいので, Twitter上だけでなく, 詳しく. 該当記事はこれ. http://www.greasespot.net/2009/09/greasemonkey-082-released.html * Do not inject scripts into file: and about: URLs by default, for security reasons. (#1000) …

ChromeFullFeed ver 1.0.0

LDRFullFeedのChromium Extension版 ChromeFullFeed ver 1.0.0 http://code.google.com/p/chromefullfeed/contentWindowの穴を埋めるため試行錯誤した結果, ひどい手を使いまくるという結果となりましたが, きちんと動作したので公開します. install Google …

Ruby/jsonschema

今まで, json schemaのvalidation libraryであるjsonschemaはPythonとJavaScriptのものが用意されていました.Chromium Extensionのmanifest.jsonのschemaをid:os0xさんがすでに書いていてhttp://gist.github.com/179669(os0x++)それをcrxmakeで利用したいな…

LDRize Siteinfo parse

多少修正 LDRize作者, snj14さんの許可を受け, Wedata上にLDRizeデータを放り込みました. 以下のRubyのscriptによって作成されたデータを一括登録しています 本家のものにあわせて. はじめに書いたRubyのほう. require 'open-uri' require 'kconv' require '…

unsafeExec on JSDeferred

SmartLDR更新 - 素人がプログラミングを勉強していたブログ のを見て, 関数に押し込むのもいいなあと思った. けど, このままでは返り値が利用できない + Fxのlocation.hrefは非同期らしい JSDeferred を高速化する (試し中) - 冬通りに消え行く制服ガールは✖…

ある要素がAutoPagerizeのどのページから取得されたものかを判断する.

うたたね - Tombloo+ AutoPagerise のお作法(修正版) これ関連. こんなのでどうかな? AutoPagerizeのAPIとして追加する. window.AutoPagerize.nodeOriginUrl = function(node){ if (ap == null || typeof(node) == "undefined") return location.href; var…

GM_listValues, GM_deleteValue, @unwrap

Greasemonkey 0.8.20090123.l # Added translations: ar-SA, bn-IN, hu-HU, id-ID, ro-RO, sr-RS, vi-VN. # Fix for ticket #111 (anomalous separators in the monkey menu). # Add GM_deleteValue() and GM_listValues() APIs (#38). # Restore the anonym…

Client Side Databaseについて

あんまり解説なかったのでメモ. iReader作ったときに利用した. 正直今のところSafariしか対応してないから, iPhone/iPod touch専用ページくらいしか使いどころないのですが.HTML5なのでいつかはcross-platformで役に立つことを願いつつ. 仕様 HTML Standard …

Fx Socket

socket面白いなあ. ということでSMTPじゃないんだから別にnsIFTPChannelとかあるのにFirefoxのsocketでFTP 通信してみた. var Cc = Components.classes; var Ci = Components.interfaces; var WindowMediator = Cc['@mozilla.org/appshell/window-mediator;1…

相対パス解決

なんか適当に書いた. 全くbrowserに頼らず, すべて展開する. きっとbugがある. そうに違いない.. pathToURLは, A要素を使ったもの(browserに頼ってるもの). 比較用. (from AutoPagerize) function pathToURL(path) { var link = document.createElement('a')…

AppJet で適当Cross-Site

気分でこんなの書いてみた. セキュリティー的にひどいとかそんなの気にしてないぜ! ってな感じの実験的なもの. http://access.appjet.net/ Error 404 (Not Found)!!1 /* appjet:version 0.1 */ var default_params = [ 'url', 'method', 'callback' ] functi…

FirefoxからSMTPでメールを送る

Simple Mail を参考に. responseのチェックもしてないし, error処理も書いてないけど要はこの流れでできるということで. 使うときには, error処理とかも書かないと. 命令先は, Gmailのsmtpサーバーで. socketつないで, inputStreamを読みながら, outputstrea…

某侵略者のゲーム

JavaScript でテトリスみたいなゲームを作ろう! - セキュリティ&プログラミングキャンプ JavaScript 入門講座資料 に感化されて作ってみた.ゲーム作るのは難しいです... utatane: Test/InvaderIEでも動くけど, ネイティブじゃないからか使い物にならない遅…

FirefoxのJSでdialogを拡張する

NortificationBoxみたいに最初からwindowから要素自体を取得することができないので、openDialogで作るしかない。 ただ、openDialogの第一引数はURIであり(本来ならここに、自分の作ったxulファイルへのURIを入れるが、今回はJSだけで何とかできないか模索)…

JSDeferred

JSDeferred - 素人がプログラミングを勉強していたブログ これみてJSDeferredを勉強しようとなんかやってみたけど、 // ==UserScript== // @name Deferred Test // @namespace http://d.hatena.ne.jp/Constellation/ // @include http* // @require http://s…

Irvine

downloaderのIrvineってものがあります。 DMonkeyというスクリプトエンジン(言語実装はほとんどJS)を内蔵しているため、JavaScript的な書き方で細かいScriptを書くことができ、便利です。 最近開発が再開してうれしかったのですが、FirefoxからIrvineに送る…

Firebugの話で

追記 もうちょっと条件絞ってもいけた。(console.info()を呼び出すだけでOK)firebug限定。だと思う。 たまたまこのbugっぽいもののせいでwindow.addEventListenerで実行する関数内でRegExp.$1とか使えなくて困ったんだけど、 // ==UserScript== // @name tes…

XPathで配列にしてしまったあとから特定要素を削除する。

LDR は、アイテムを繰るのの基準としてH2要素を使っている。本来RSSしか読まないんだからそれで大丈夫なんだけど、LDR Full Feedとかで要素を付け足すと、H2があると、意味もないところでとまってしまう。 そこで今までは、HTMLDocumentにする前に、正規表現…

Greasemonkey Script の Config Manager削除に関して

詳細 Scriptはここに参考として残しておきます。危ないので決して入れないでください。また、現在入れている人はすぐに削除してください。 Config ManagerScript: Config Managerには脆弱性がありました。 具体的には、以下のようなものが実行可能でした。 v…

wedata

priorityを逆にしていたので訂正 試験公開LDR Full Feed0.0.13 LDR Full Feedでもwedataを使うことにしました。 Item - データベース: LDRFullFeed - wedata wedataはresponseが早く、evalであっという間にできるので非常に便利です。あと、wedata使用に関し…

XPath

調べてみるとちょっと衝撃を受けたので書いておく。以下XPathによるFirebug上からの抽出速度。抽出対象はLDR Full Feedで本文として指定しているもの。 速度計測法はid:os0xさんのjottit.comのLDRize用XPath - FFFF - 0xで使っているFirebug組み込み関数であ…

正規表現で

追記: とりあえず対策版だけおいておきます。Gアイコンは表示されません。また、WIDGET = true;にしたときのために一応patternは作っています。これだったらたぶん落ちないんじゃないかな。LDR Full Feed 0.0.13 beta 追記終わり 追記その2: いまさっきsvnで…

Minibuffer からはじめるGreasemonkey Script

20080406 21:50 キーコードについての説明を追記しました。 Greasemonkeyを使ってる人ならたいていの人が知ってるMinibufferとLDRize(偏見?) ただ、なんというかMinibufferについての説明がMinibuffer 2007.11.15 の変更点 | 3.14とsilog - script/LDRize…

XPathなんだけど

ふと思ったんだけど、たとえばこんなかんじのHTMLがあって <html> <head> </head> <body> <div id="header"> <div> </div> </div> <div id="content"> <div class="title"> </div> <div class="entry"> </div> </div> <div id="footer"> <div class="ad"> </div> </div> </body> </html> この場合のentryを指すXPathの //div[@class="entry"] と id("content")/…

こんな時間ですが

やっとできた〜〜〜!! 調子がよくってすいすいやってたら気がつけば6時前。 今日7時には出ないといけないのにorz家に帰ってきて、もう一度見直したらmicroformats対応のLDR Full Feedを公開します。 これでmicroformatsに対応していたらすごくあっさりとFull…

つぶやき

XPathでifとかforとかが使いたいとか思う今日この頃。