サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
edvakf.hatenadiary.org
検索したら既にあるっぽいけど、作ってみたらできたので晒す。 よく見かけるのは Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "") +Space:: Send, +{Space} Space:: RShiftというやつ(やそのバリエーション)とか。これは、Space 押し続けてたらキーリピートしてしまったり、Space 押す→他のキー→Space 離すっていうのを素早くやったらスペースも発射されてしまったりしてちょっと使い心地が悪い。 それから、使ったことないけどかなりちゃんとしてるっぽい、ここの 089.zip というやつもある。 でも 自分で作ることに意味があるんだということでペタリ。 使い勝手は Mac の KeyRemap4MacBook のものと同じにしたつもり。ツッコミ歓迎。 *Spa
cygwin には Windows のクリップボードを操作する putclip/getclip というコマンドがあるが、日本語に難がある。 $ echo -n こんにちは | /bin/putclipとやると、他のアプリケーションに貼り付けたときに文字化けする。 縺薙s縺ォ縺。繧・ ただし、この状態で getclip すると元通り。 $ /bin/getclip こんにちわ理由は知らないが SHIFT_JIS に変換してやれば、他のアプリケーションに貼り付けても文字化けしないみたい。 $ echo -n こんにちわ | nkf -W -s | /bin/putclip $ /bin/getclip | nkf -S -w こんにちわでも他のアプリケーションからコピーした文字列は getclip で文字化けする。 $ /bin/getclip ?????よくわからん。ちなみにうちの環境は英語
basic API が終了して、前に使ってた方法が使えなくなったので作りました。 http://atsushuu.appspot.com/tw/ 使い方は至って簡単。ただし今のところ Opera か Firefox でしか使えないみたいです。 サイトに行って、Twitter 経由でログインする 入力欄が出てくるので、そこで右クリックして、検索に名前を付ける (tw とか) あとは普通の検索エンジンと同じようにアドレスバーから投稿 (tw ほにゃらら、とか) 注意 : ブラウザの Cookie を削除したり、上のサイトからログアウトしたり、Twitter から OAuth アプリを削除したりすると、再度検索の作成を行わなければいけません。そうでない場合はほぼ永続的に使えるはずです。 各ユーザーに固有のキーを発行するので、「こんにちはこんにちは攻撃」はできないと思います。が、もし問題があったら
pixiv をキーボードでサクサク見るための拡張を作ってみました。 Chrome 用 https://chrome.google.com/extensions/detail/jkbcncnebnfeljbeahkcdhbofcigccng Safari 用 http://edv.sakura.ne.jp/product/pixivreader/pixivreader.safariextz Opera 用 https://addons.opera.com/addons/extensions/details/pixivreader/ (Extension) http://edv.sakura.ne.jp/product/pixivreader/src/pixivreader.js (UserJS, Opera 11 以上の人は Extension を使ってください) ソース一式 (パブリックド
body 要素のデフォルトスタイルは position:static なのだが、サイトによっては position:relative とかが付いていたりする。以下では、そういうサイトで起こる問題を説明する。 例えば何か適当な要素をドキュメントの一番左上に置くとき、その要素の position を absolute にして、top と left で座標を指定することがある。特に JavaScript で動的に作る要素はこういうことをする場合が多い。左上に限らず、マウスでクリックした位置に要素を置く場合の常套手段でマウスイベントの pageX と pageY を使ったりもする。 そういうとき、body の position が static なら のようにちゃんとドキュメントの左上基準で要素が置かれるところが、relative や absolute だったら、 のように body の左上基準で
os0x さんと企画した「オレ標準 JavaScript 勉強会」が終わりました。os0x さんには結局ほとんど全部まかせっきりになってしまって、大変おつかれさまでした。参加者の皆様も本当におつかれさまでした。自分にとっては初めての技術系勉強会だったのですが、時間は別としてけっこう上手くいったのではないでしょうか。 早速ですが、自分の発表したスライドはこちらです。 http://edvakf.github.com/orejs/opera.html http://edvakf.github.com/orejs/opera.html#coverflow ↑2つめリンクは Mac Safari でしかちゃんと動かないと思います (が、Windows の Safari 5 でも動くとか Chrome でもコマンドラインオプションで動くようになるという話も)。一応1つめのリンクは Opera/Web
ここに書いてあるスクリプトはもしかしたら意図したものとは違う動きをするかもしれません。続きを書きました↓ JavaScriptなんかでこそこそ広告ブロックしてみたけど - by edvakf in hatena 実験中。拡張子は.user.jsじゃなくて.jsで保存。 (function(){ document._write = document.write; window.opera.addEventListener('BeforeScript',function(){ document.write = Function(); },false); window.opera.addEventListener('AfterScript',function(){ document.write = document._write; },false); })(); とか、 (function(){
Nicole Sullivan さんの素晴らしいプレゼン。 5 Mistakes of Massive CSSView more presentations from Nicole Sullivan. 内容は30分ぐらい。ビデオのほうが分かりやすいのでおすすめ。だいたいスライドの35ページ目まではあんまりおもしろくないので飛ばしてもいいと思う。 スライド中に出てくる衝撃的な統計は、Sullivan さんのブログにもまとめられているのでご一見を。 Top 5 Mistakes of Massive CSS | Stubbornella 要旨 CSS の「ベストプラクティス」は間違っている。 プレゼンでは Facebook の例を挙げているけど、例えばサーバー側のロジックでは、ページヘッダー、右コラム、中央、左コラム、フッター、のようにビューを分けるところだけど、CSS をそのような区分でデザ
最近、久しぶりにしばらく Firefox を使ってた。Firefox すごい。何がすごいって、クラッシュしても OS がカーネルパニック起こしても書きかけのブログが消えてなかったこと。 これは羨ましい。ということで UserJS を書いた。 注意: localStorage を使うので、ページ側から見られてしまったり、ページのスクリプトに思わぬ副作用を与える可能性があることを承知した上で使ってください。それから、もしブラウザがデフォルトでそういう機能を提供することになったら手動でアンインストールしてください。 http://gist.github.com/440103 ↑raw というところをクリックすれば生のスクリプトを表示。Chrome だったらそのときにインストールしますかという表示が出るはず。 Opera と Chrome と Safari (NinjaKit) で動くのを確認した
高木浩光@自宅の日記 - 新はてなブックマークの登録ブックマークレットは使ってはいけない iframe 内のフォームに入力するときはアドレスバーが無くて怖いので、アドレスバーっぽいものを出すような UserJS を書いた。 http://gist.github.com/424103 インストール (Greasemonkey 用) Opera, Firefox (Greasemonkey), Chrome で動くと思う。 こんな感じで、iframe のロード時とフォーカスしたときに数秒間 origin を表示。アドレスバーというか origin バー? でも、 @edvakf 利便性から言えばそれでも良いのだけど、 UserJS だと JavaScript で書き換えられるので、クライアントの UI で用意しないとセキュリティ的にアレと言うか https://twitter.com/usop
再インストールではなくて。以下は主に日本語入力関係のメモ。 自分の9.04環境は、日本語キーボード、インターフェイス言語は英語だったのであまり参考にならないかも。 アップグレードして再起動すると、scim 関係のプロセスがいっぱい走ってて iBus (IBus? どっち?) はまだ動いてない。 IBus を使いたいので、ログイン時に scim が起動しないようにする。~/.xinput.d が怪しそうだったので、 mv ~/.xinput.d ~/.xinput.d_して再起動すると、scim は走ってない。大成功。 次に、ログイン時に iBus が起動するようにする。 how to use ibus? - Ubuntu Forums を参考にして、 System >> Preferences >> Startup Applications から、Add をクリックしてアプリケーションを追
中部経済新聞 全国で唯一のブロック経済紙 愛知 岐阜 三重 静岡 東海地方を中心としたの経済情報など 中部経済新聞社 ↑検索してはいけません。 Firebug に注目。全文データのダウンロードに約30秒待たされ、その後 Firefox が数分固まった。 固まらないという人もいるみたい。もしかしたら Firebug のせいとか…? アドオン無効にしたらすぐ検索できるようになった。回線が速い人はダウンロードもそんなに気にならないかも。 固まるのは自分だけではなかったみたい。調べてくれた人がいました。 検索しちゃだめってのにやったら固まった。でも、これMTのせいじゃないよ。RT @KazumaNishihata: 新聞社のサイトをMTで構築っての無理がある気がするよね。 http://bit.ly/cyRh4j *YF* https://twitter.com/tomix/statuses/15
オープンソースとして公開された VP8 コーデックですが、それについて何か書こうと思っていたら、素敵な記事がもう書かれていました。 BLOG.MINAWA.NET: Xiph + Matroska + Google = WebM 重要なのはここですね。 ちょっとおもしろいのが、今回の件でついでに発表されたパートナー企業の顔触れです。MozillaやOperaといった直接関係のある企業や、 SorensonといったOn2のライバル的企業(VP8がBSDライセンスなので独自で開発するのかな)や、AMDやARM、MIPSやTIといった PCから組み込み系までのハードウェア企業の賛同も取り付けているようです。こうやってみると、見事に家電系のメーカーがいませんね。そりゃそうか。そういった企業は既にH.264側ですからね。 パートナーとして発表されたのは、Google、Mozilla、Adobe、Op
D とか y とかやったあとに、その内容をペーストボードに入れたいことがあるので、そういうコマンドを考えてみた。 :call system("printf %s " . substitute(shellescape(@0), "\\\\\n", "\n", "g") . " \| pbcopy") substitute してるのは、それがないと改行の前の \ が残ってしまうため。 で、vimrc にもこんなふうに書いておいた。 map sc :call system("printf %s " . substitute(shellescape(@0), "\\\\\n", "\n", "g") . " \| pbcopy")<RETURN> 範囲選択して、y とか押して、sc と押すとペーストボードに入る。 また、 map sp :r! pbpaste<RETURN> としてあるので、sp
知ってはいたけど自分では書いたことがなかった CoffeeScript。上のほうにある "TRY COFFEESCRIPT" ってやつを押すと、リアルタイムで CoffeeScript を JavaScript に変換して実行もできる。 Ruby + Python を2で割ったようなシンタックスで、ヒアドキュメントやら Range やらの構文や、最後の値とか if 等で計算した値をよろしく return してくれたり、痒いところに手が届きまくりで JavaScript を書くときのアノ苦痛が激減する。面白いと思ったのは、ループが while しかなくて、while は計算結果の配列を返す式というところ。式なので関数に渡したりできる (まあそれをやると生成した JS が見るに耐えなくなるけど)。 1.0 になるまでは構文に変更があるかもしれないので遊び程度に思っていてねと書いてあるけど、生成
Blogger に個人的なブログを作ったので、慣れ親しんだはてな記法が使えるようにしてみた。 Opera, Chrome, Firefox (Greasemonkey) で使えるはず。 http://gist.github.com/346427 (ソース) http://gist.github.com/346427.txt#blogger-hatena-syntax.user.js (Greasemonkey でインストール) (Chrome は自動インストールにならないみたいなので、blogger-hatena-syntax.user.js という名前で保存して Drag & Drop したらいいかな) text-hatena.js を使わせてもらった。 特徴は、スーパー pre 記法のシンタックスハイライトに対応していること。オリジナルの text-hatena.js はスーパー pr
JavaScript で書かれた CSS Minifier がほしいと思って探してみたんだけど、PHP などは多々あれど JS のは皆無だった。(サーバーサイド JS が流行れば出てくると思うんだけど) 色々探した挙句、こういうのを発見して、 Any recommendations for a CSS minifier? - Stack Overflow そこからのリンクで C# で超高速 CSS Minify アルゴリズムというのがあった。 KO Software - Blog - An Ultra Fast CSS Minify Algorithm やー、Stack Overflow すばらしいですね。 アルゴリズムは正規表現を使うのではなくて、一種のステートマシンを作る方法でやっていて、高速かつ CSS の仕様にもよく適合してるらしい。 というわけで、それを JS で書いてみた。 g
このブログでも前に一回出てきたことがあるんだけど、// から始まる URL のことが紹介されていた。(問題・このブログのどの記事で出てきたでしょうか?) Using Protocol Relative URLs to Switch between HTTP and HTTPS - HttpWatch Blog <img src="//example.com/img/foo.jpg" />とか書いてあると、そのページのプロトコル (http: か https:) をブラウザが勝手に補完してくれるので HTTP と HTTPS を使い分けるのに便利だよっていう話。 ただし、IE7と8では // から始まる URL で指定されたスタイルシートは何故か2回リクエストが出てしまうので気をつけましょう。…らしい。(受け売りです) High Performance Web Sites :: 5a Mis
一応完成したので公開します。 MigemoFindInPage - Google Chrome 拡張機能ギャラリー 前に作った ChromeMigemo Extension に依存します。これがインストールされてないと動きません。 ページ内検索で、いつも「今自分はどこにいるの?」という感覚になるのが嫌いなので、驚きを少くするようにこだわりました。 見つかった語が現在見えてる画面外にあった場合、強制的にスクロールしない。 スクロールする場合はスムーズにスクロールさせる。 あとパフォーマンスはけっこうチューニングしたので、けっこう軽いと思います。標準のページ内検索だと「次の結果」(Mac だと Command+g) をずーっと押してるとものすごく重くなりますが、そういうことはありません。 キーバインドの変更はゆくゆく考えていきます。とりあえず当たり障りのなさそうなところを使うようにしました。
document.elementFromPoint という便利な関数を知ったので、今作っている Chrome 用 Migemo ページ内検索で使ってみた。 これが困ったことに、ブラウザごとにかなり挙動が違うのだけど、本来の動作はこんな感じらしい。 待望の document.elementFromPoint が Firefox 3.0a8pre にて実装された。仕様は nsIDOMNSDocument.idl に詳しく書いてあるが、おおよそ以下の通りである。 HTML, XUL どちらの document に対しても使用可能 document の左上を (0, 0) とし、位置 (x, y) にある実際に見えている要素を取得する 同一の document 内に存在する要素のみ取得可能。例えばインナーフレーム内の document 内に存在する要素は取得できず、代わりに iframe 要素を返
into_viewport という関数を作ってみた。 Chrome 以外ではチェックしてない。(でも IE 含め、他のブラウザで使えない関数などは使ってないはず) IE に getComputedStyle が無いのを忘れてた。var s = getComputedStyle(elem, null); のところを var s = window.getComputedStyle ? getComputedStyle(elem, null) : elem.currentStyle; にしたらいいのかな? (IE 持ってないのでわからない) 微修正。body や html 要素に overflow:auto などが着いてると変なことになる件。あと、Firefox と Opera では互換モードのとき document.body.scrollTop が使えて、標準モードのときは document.
Chrome だって Opera みたいにアニメーション画像を止めたい! ってなことで、XMLHttpRequest でバイナリを読み込む方法で GIF アニメーションの1フレームだけを取り出して、data:URL にする方法でやってみた。 止めた画像の上では、カーソルがこういうアイコンになって、クリックするとまた動きだす。 ↓インストール Pause! Pause! Pause! - Google Chrome 拡張機能ギャラリー ↓ソース edvakf's Pause--Pause--Pause- at master - GitHub ちょっと大きな画像になると replace(/[\u0100-\uffff]/g, function(c){ return String.fromCharCode(c.charCodeAt(0) & 0xff); }) の部分が1秒近くかかってしまうこと
↓この記事に影響されて遊んでみた。 FireFox3.6の加速度センサーで遊ぶ - a2c.get.diary まず、ノートパソコンの画面をキーボードから垂直にします。 次に、ノートパソコンを両手で目の前に持ち上げます。 そして、Firefox 3.6 でこのページを開きます。 もし加速度センサーに対応してれば、パソコンを前後左右にグルグル傾けて遊べます。 (加速度センサー対応パソコン一覧とかあるのかな?) MozOrientation イベントの x, y, z の意味はこのへんに。
↓これを読んで、実用にもならないネタ的な extension を作ってみたくなったので、2つ作ってみた。 実用にもならないネタプログラミングは超面白いので, みんなやるといいよ! Chrome Dirty Hacks 01: fc2 image for LDR - 枕を欹てて聴く まず、言わずと知れた「中止ボタンがしいたけに見えてしまって困る」拡張。 shiitake - Google Chrome extension gallery しいたけを押すと、window.stop() を投げるようになっているのだけど、どうも感度が悪いというかなんというか、効いてない気もする。 拡張の名前を「中止ボタンがしいたけに見えてしまって困る」にしたら、48字以下にしろって怒られたので、仕方なく shiitake とした。 次に、みんな大好き Livedoor Reader の棒人間を表示させる、Mr.
英語のニュースサイトって、文字が小さくてびっしり書いてあって読みにくいんだけど、大抵は専門家のインタビューが引用されてて、そこだけ読めば要点はわかる場合が多い。 というわけで、引用符で囲まれているところを強調するブックマークレットを作った。(非 IE 用) javascript:(function(){var r=document.evaluate('//body//text()[(contains(., \'“\') and contains(., \'”\')) or (contains(., \'"\') and contains(., \'"\')) and not (local-name(./ancestor::*[1])="script" or local-name(./ancestor::*[1])="style" or local-name(./ancestor::*[1]
2010年の書き初めは Canvas でした。 元日に出た Opera 10.50 pre-alpha からは HTML5 の video 要素が有効になり、とりわけ canvas に drawImage で video のフレームが置けるということで、早速 Ubuntu に Opera 10.50 を入れて遊んでました。 後で気付いたのですが、Video on Canvas は Firefox 3.5 でも普通に使えました。 その Video on Canvas がおもしろそうだったので、前からやってみたかった万華鏡を書いてみました。 http://edv.sakura.ne.jp/product/video_canvas/rectangle.html http://edv.sakura.ne.jp/product/video_canvas/triangle.html 下のほうが万華鏡ら
まず、ChromeMigemo をアップデートしました。 と言っても自動アップデートされるはずなので既に Extension Gallery からインストールしてる人は何もしなくてもいいはずです。 前は、例えば「s」で検索すると、さ行の語が全部ヒットするので巨大な正規表現になっていましたが、「三」があるのに「三年」とか「三段構え」とかまでマッチする正規表現を作る必要はないだろうってことで改良を加えたところ、けっこう速くなりました。 SKK 的な書式にも対応。"taBeru" → 「食べる」など。 その他色々バグ修正。 ライセンスについて ChromeMigemo のライセンスは MIT ライセンスなわけです。 でも使ってる辞書はSKK辞書を改変したものなので、GPL なのです。 自分もあんまりよくわかってないのですが、MIT ライセンスのパッケージに GPL の辞書を含めて配布するのはいけ
Chrome で Migemo 検索するための Extension を作りました。 Extension Gallery に登録しました。 Google Chrome Extensions: ChromeMigemo これは何? Chrome 用 Migemo サーバー Extension です。 Migemo って何? Migemo: ローマ字のまま日本語をインクリメンタル検索を読んでください。 どうやって使うの? これだけインストールしても何も使い道はありません。他の拡張と連携して使うものです。 どうやって他の拡張と連携するの? Extension 間通信システムを使います。 他の拡張でこのように書くと、検索語 (ローマ字) から正規表現が作れます。 var regexp; var query = 'kaisetu'; chrome.extension.sendRequest( 'poc
id:secondlife さんの Google Chrome 拡張ことはじめ - 川o・-・)<2nd life に触発されて、全文検索ライブラリを作った。 Safari か Chrome (dev 版) でこのテストページを開くと自動的にテストしてくれる。コンソールを開いておいたほうが動きがあっておもしろいと思う。 やってることは、Wikipedia から適当に抜き出した 900 ページの冒頭の部分をせっせとインデックスして、さらにいくつかの単語で検索をかけている。何故 1000 じゃなくて 900 かというと、データベースがいっぱいになっちゃうから仕方なく減らした。だいたい1分〜100秒ぐらいで終わると思う。 その次にこっちのデモページにアクセスすると、さっき作ったインデックスを使って検索できる。 ソースは MIT ライセンスで GitHub に置いてある。 http://githu
次のページ
このページを最初にブックマークしてみませんか?
『by edvakf in hatena』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く