javascript

canvas いじってみた

陰陽玉描いてみた。こりゃわかりやすい。 http://www012.upp.so-net.ne.jp/legio/canvas/index.xhtml 画像いじれるみたいだし次はそっちかなぁ。

hatena fotolife thumbnail tags

これも昔書いたけど今になって晒すもの。あ、 http://d.hatena.ne.jp/janus_wel/20100728/1280304412 と関連する、なぁ… ( 今気付いた ) 。 http://coderepos.org/share/browser/lang/javascript/userscripts/hatena_fotolife_thumbnail_tags.user.js? これ…

debugging faviconize and hatebuize

http://d.hatena.ne.jp/janus_wel/20100727/1280208592 で改めて faviconize と hatebuize を見返してみてたんだけどそういやなんかたまにふたつ favicon や被はてブ数が表示される時期があるなぁとか思って source 見てみたら思いっきり bug だったので直し…

Firefox 3.1 beta 2

Tracemonkey で JIT の速さを体感したい場合に懸案だった Greasemonkey が 3.1 対応の前段階として 3.1b2 にも対応したみたいなので ( http://www.greasespot.net/2009/01/greasemonkey-release-08200901231.html ) 常用 profile のみ Fx3.1b2 に乗り換えて…

@require, @resource of Greasemonkey

そういや Greasemonkey 0.8 だと @require の他にもう一つ何か使えたよなと思って試してみた。とりあえず http://labs.gmo.jp/blog/ku/2007/11/firefox3greasemonkeyimport_require.html の hit 数自体が少ないのであまり使われてないのかもしれない ) 。 ht…

JavaScript で HTML::Template

Perl module の HTML::Template みたいなことをする JavaScript library を書いてみた。とはいっても E4X を使ってるので Firefox 限定なんだけど。普通に E4X 便利なので他の browser も実装するようになるとよいね。 summary http://github.com/januswel/j…

unsafeWindow 内から GM_* や window.eval を使う

http://d.hatena.ne.jp/janus_wel/20090105/1231172789 でどうにかならないかと言ってた unsafeWindow 内から GM_xmlhttpRequest を使う方法なんだけど、 http://wiki.greasespot.net/0.7.20080121.0_compatibility の最後の方に対処法が載ってた。要は wind…

LDR Full Feed

feed の少ないこの時期に feed reader まわりをいじろうと思ってまずは前々から気になっていた LDR Full Feed を試してみた。 http://d.hatena.ne.jp/Constellation/20080212/1202824589 http://userscripts.org/scripts/show/22702 全文配信していない feed…

license

pluginManager.js の絡みで license についてふと考えてしまったんだけど今までと同じで New BSD License を使う方向に落ち着いた ( 実は今頒布しているものに関してちゃんと license の規定に則れていないのでこれからぼちぼち直していく予定 ) 。あとでい…

抽象化厨

鈍男具合が遺憾なく発揮されたので改訂。読みにくい ? 仕方ないね。stella ( http://d.hatena.ne.jp/nokturnalmortum/20081213/1229168832 ) がかなりいい感じ。前々から id:nokturnalmortum が頻繁に update してたんだけど player の抽象化とかけっこうい…

the black mages

private な property というか closure によって scope chain をたどることができない property を書き換えるってことを以下でしてるんだけどこれマジで危険だから常用しないほうがいい。 id:nokturnalmortum みたいなまじんクラスのひとじゃないとこの黒魔…

__defineSetter__, __defineGetter__

__defineSetter__ と __defineGetter__ ( https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Objects/Object/defineGetter , https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Objects/Object/defineSetter ) …

ex-command

http://d.hatena.ne.jp/janus_wel/20081206/1228593023#c で教えてもらった commandBookmarklet.js いじってたらいつの間にか別物になっていた ( refactoring 的な意味で。http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/com…

color maker

http://d.hatena.ne.jp/janus_wel/20081210/1228860080 をちょと bugfix して color presets を付け加えた。せっかく HSV いじれるんだから既存色からいじれたほうがいいと思って。色分類とかてけとー。そのうち jQuery 使って動かせる範囲増やす予定。予定…

DOM Storage

以下のページに触発されたので使ってみた。以前作った色をアレコレするページ ( http://d.hatena.ne.jp/janus_wel/20081116/1227043902 ) に追加する感じで。 localStorage を使っているので browser 閉じても消えない。 cache クリアしても消えない。使える…

XML template with E4X

nnp_cooperation.js を HEAD の仕様に対応するために書き換えるついでに refactoring してたんだけど :nnpgetlist で table を構築する処理を E4X に切り替えた。http://coderepos.org/share/changeset/25713というのも http://d.hatena.ne.jp/teramako/2008…

DOMParser ?

multi_requester.js に foks.info ( http://foks.info/about/ ) を追加するときに気付いたんだけど parse 処理なんかおかしい。ので応急処置はした ( http://coderepos.org/share/changeset/25338 ) んだけど原因サッパリわかってない。いや commit した時点…

delicious bundle tag

tag の数が多いと delicious の bundle tag 操作ページがやっぱり使いづらかったので ( http://d.hatena.ne.jp/janus_wel/20080826/1219850336 ) すでに bundle 済みの tag を隠す Greasemonkey script を書いた。というか既に誰か書いてると思ったんだけど…

appendAnchor.js refactoring

前々からニコ動で blog 晒してるひととか mp3 配布してくれてるひとの URL を選択するのにマウス使っててどうにかならないかと思ってたんだけど今更ながら appendAnchor.js に気付いたので使ってみたら便利すぎて鼻血でそうになったというハナシ。ではなくソ…

status bar 最適化計画そのいち ( migratestatusbar.js )

ちょっと status bar ごちゃごちゃしてきたので整理すんべと思っていろいろやってみた結果そのいち。前書いた http://d.hatena.ne.jp/janus_wel/20081028/1225230512 がちょっとアレだったのと http://vimperator.org/trac/ticket/17 のコードが今更理解でき…

はてなブックマークの使い勝手が悪い件

はてなブックマークの新 version が公開されたので使ってみたので感想書く。一言でいうとしょんぼりした。というのもことごとく keyboardist にツラい仕様になっている ( LDRize と親和性のない自前 AutoPagerize や onmouseover event で出現させている ite…

絶対座標

ある要素の絶対座標を求めるには offsetParent の offsetTop / offsetLeft を足しあわせていかなきゃならないらしく ( http://d.hatena.ne.jp/susie-t/20061004#20061004f6 ) 以下のような関数を通したら blinkelement.js も mouseinspect.js も大体いい位置…

i_love_element

マウスを使うのは邪道と知りつつも firebug の inspect ぽいことができないかとおもってやってみた。結論はできたんだけど視覚的にここを指してますよってうまく出せないので保留。 highlight をうまく消せない。てか css の操作は難があるぽいので他の方法…

かわいいあのこがギンギラギンな vimperator plugin

JavaScript の getElementById や getElementsByTagName なんかから絞り込んだ要素を blink させる plugin 。 jscompletion.js の存在が前提というかなくても使えるけどつかえねーというか。いや jscompletion.js で出てきた補完先の要素がどこかを見るため…

にくいあんちくしょうを隠せる vimperator plugin

はいはいはりきって駄 plugin をうpしまくりますよ。というわけで extended-hint mode に任意のアレがアレできるようになったそうでついアレをアレするアレを作ってしまった。ああ extended-hint mode からの指定で header, footer, sidebar を隠せる plugi…

multi_requester.js

echopy.js とか i_love_echo.js をろくにいじれてない状況なんだけど multi_requester.js を見た瞬間いろいろ吹っ切れてしまった。 suVene さんちょうナイス。 http://zeromemory.sblo.jp/article/23101073.html http://coderepos.org/share/browser/lang/ja…

color

http://d.hatena.ne.jp/janus_wel/20081115/1226842865 でダメだった RGB HSV 変換がうまくいくようになったので再うp -> http://www012.upp.so-net.ne.jp/legio/colortest/ 。こういうライブラリ系は github にアカウントとってカホカホ書いていく方向がい…

RGB

ビット演算を使ったコードサンプルなはずなのに arguments は透過的でなくて使いにくいとか zero padding は標準で提供すべきとか思ってしまった。あと RGB HSV 変換式のわかりづらさは異常。コーディングしたもののうごかねー。で、これがあると何がうれし…

第 5 版 JavaScript[2]

http://d.hatena.ne.jp/janus_wel/20081112/1226763769 の続き。 5 章 式と演算子まで。 division by zero Infinity / -Infinity が返る。 C/C++, Perl に慣れていると例外が飛ばないので戸惑うかも。てか例外とんだ方がキレイに書けると思うんだけどなぁ。 …

内部表現

ビット演算の結果がよくわからなくて内部表現がどうなっているのかを文字列で返してくれる関数を書いたんだけど 32bit で表せる範囲に収まっているときにしか使えないし負数の場合の処理がアレなのであんまりうまくない…。ここらへんあんまりつっこまない方…