for(;;) window.status = ""; がブラクラ。Firefox 1.0.7 と IE6 にて。Firefox はステータスバーを書き換えを許さないようにしたら死なない (スクリプトが遅い警告が出る) けど、他にもあるんじゃねぇの的な。

あと for(;;) alert(""); もある意味ブラクラ。止める方法が存在しない (するのかもしれないけど見つけられない)

Javascript 実行中ブラウザが止まるのはアレだなぁ? Gecko だと仕方ないのかなぁ? まぁ IE もだけどさ。

どうでもいいし関係ないけど俺は Bugzilla-jp が苦手だ。なんか雰囲気がおかしく感じる。何を基準に「おかしい」なのかはさておき、バグ報告したくない。報告しただけで怒られそう。ってか前報告したときなんか怒られたし。INVALID とか言われたとき「ハァ?」とか思ったと同時に諦めた。まぁそのときは他の人がフォローしてくれたけどさ。なんであんな「お前の報告が間違ってる」っていう感じをヒシヒシと出してくるんだろ。まぁどうせ100%俺の考えすぎなんだろう。被害妄想で申し訳ありません。

あーちなみに while (true) じゃないのは for (;;) のほうが可愛いから!

  1. トップ
  2. soft
  3. Fx x CPU 100%

ECMAScript でイテレータ なんてのを書いたことがあったけど、これ、each の中で break ができないのでちょっと気持ち悪い。ちまたで時々聞く ruby.js はどうやって解決しているんだろう?って思ってみてみたけど、特に何もしてなかった。つーか ruby.js 見つけるのが割りとめんどかったよ。

いろいろ考えたけどとりあえず動いたのをメモっとく。

function Array_each(func) {
try {
var context = {
escape : function () {
throw "break";
}
}
for (var i = 0, len = this.length; i < len; i++) {
func.apply(context, [this[i]]);
}
} catch (e) {
if (e != "break") throw e;
}
return this;
}
Array.prototype.each = Array_each;
[1, 2, 3].each(function (i) {
if (i > 1) this.escape();
Debug.dump(this);
});

Function.prototype.apply() の第一引数は関数の中での this なのでそれにメソッド設定してみる。ループから抜けるのに try - catch。投げるオブジェクトは "break" という文字列。"break" 以外の場合は例外を投げなおす。

ほんとはコンテキストの変数オブジェクトに直接関数を突っ込めるのがいいんだけど、ECMAScript では変数オブジェクトにアクセス方法はない (Activation オブジェクトは変数の実体化を目的とした変数オブジェクトとして使用される。Activation オブジェクトは純粋に仕様のメカニズムである。 Activation オブジェクトへのアクセスは ECMAScript プログラムには不可能である。 メンバ (変数) にはもちろんアクセスできるから eval つかえばいいけどスマートとは思えない。) のでこんな感じ。Global (window) は使いたくないし……

あとは eval(func.toString().replace(/\{/, "\{ var escape = function () { .. };")) とか?

  1. トップ
  2. prog
  3. Ruby's eash on ECMAScript
  1. トップ
  2. script
  3. Ruby's eash on ECMAScript

昨日なんとなくメレンゲのサイト見たら、なんか違和感を感じる文字列あって、注目したらSINGLE「すみか」のリリースが決定しました。来年1月下旬公の映画「最終兵器彼女」の主題歌です。とかなんとか書いてありふきだす。ちょ、おま的な何か。

ていうか実写なのね。最終兵器彼女殆ど読んだことないけどさ、実写って可能なんだ。グロそうなんだけど

  1. トップ
  2. music
  3. メレンゲ x 最終兵器彼女

はじまった。ラジオで ART-SCHOOL ははじめて。今回はメディア露出が多い気がする。気のせいか。

木下氏はアレか、風邪もしくは花粉症か。

ファッション経由で髪形 (マッシュ) について言及。わろた。

BLACK SUNSHINE

試聴済みだから特にアレもソレもなく。

ジャケは写るんです。

ダニー・ボーイ

すんごい綺麗

あと10秒での remix は「どうなの」なのか(w

ライブ中にマネージャーが片手で栗むいて食うのか。いや違うけど。

で、終わり。なんか微妙。宇野氏と櫻井氏の話が聞きたいな。謎すぎる。

  1. トップ
  2. music
  3. NHK FM - ミュージックスクエア ART-SCHOOL

  • レンタカーで公園を疾走
  • メガネの女性
  • F言語
  • 風呂記述言語
  • C
  • importNode().***().***();
  • ホテル
  • 営業
  • 失敗

ナレーション付神様視点の夢だった。つまり俺が俺の視界の中にいた。

  1. トップ
  2. life
  3. 夢:F言語

icho にデフォルトで搭載される予定らしい MetadataManipulator について。

とりあえず基本的に icho に依存しないので自分のサイトで実験することにする。Javascript 入れていれば左上になんか出てるはず。たぶん。

どこまで決めうちしていいか考え中なので、いまのところ MetadataManipulator 自体はソース生成しかやってない。ピョコピョコさせたり、CSS 的に欲しい要素を補完するのも外側。

link 要素の出現順に何も考えずにソース生成すると CSS が適用しずらいのでいくつか MetadataManipulator の外側で修正してある。内側に入れるか悩む。入れるんだろうけどどうやって入れるか悩む。

  1. あんまり役に立たない。next, prev はいいけど……
  2. in-page heading が役に立ちそうだけどうまいことナビゲーション生成するのがめんどい。汎用性云々。ながったらしいし。h2 だけ抽出とかにすればいいのか。
  3. 実装が定まらない。クラスっぽくするかモジュールっぽくするか。
  4. マルチリンガルじゃない。"in-page heading" っていう文字列を埋め込んでる。"ja-jp,ja;q=0.8,en-us;q=0.5,en;q=0.3" とかいう文字列を優先順位高い順に配列に突っ込む関数は書いたけど、どの時点で実行するか迷う。
  5. あんまりときめかない。

# IECSS の問題があるけど本質じゃないのでとりあえず放置

var mmul = document.getElementById("MetadataManipulator-Local-RelatedLinks-Dd").childNodes[0];
var fill = function (linkName) {
var ret = getElementsByClassName("MetadataManipulator-" + linkName, "li", mmul);
if (ret.length < 1) {
ret = document.createElement("li");
ret.className = "MetadataManipulator-" + linkName;
ret.appendChild(document.createTextNode(linkName));
} else {
ret = ret[0].parentNode.removeChild(ret[0]);
}
return ret;
}
// 順番を保証・これ以外の rel は copyright の次以降に。
var standard_link_rel = ["start", "prev", "next", "contents", "index", "glossary", "help", "copyright"];
var links = {};
standard_link_rel.each (function (i) {
links[i] = fill(i);
});
standard_link_rel.eachWithIndex (function (i, index) {
mmul.insertBefore(links[i], mmul.childNodes[0+index]);
});
with (mmul.parentNode) {
style.left = "-201px";
if (document.all && document.attachEvent) mmul.parentNode.addEventListener    = document_addEventListener;
addEventListener("mouseover", function (e) {
style.left = "0px";
}, true);
addEventListener("mouseout", function (e) {
style.left = "-201px";
}, true);
}

ながったらしい CSS との組み合わせです。see base.css

  1. トップ
  2. sw
  3. MetadataManipulator
  1. トップ
  2. web
  3. MetadataManipulator

alt="" になるような画像の存在意義がわからない。飾りとかは CSS の範疇だろうし、他に何かあったかなぁ……

  1. トップ
  2. web
  3. alt=""

前にツタヤにいったら音速ラインがちょっとだけピックアップされてて「へぇ~」とか思った。

少し前にツタヤいったらつばきがちょっとだけピックアップされてて「へぇ~」とか思った。

でもここで俺は思ったんだ。なんでメレンゲがピックアップされてないんだろう?って。ちなみに他にもマイナーアーティストがいくつかピックアップされてたけど、知っているのが音速ラインとつばきだけだった。

そして今日なんとなくツタヤいったら、メレンゲがちょっとだけピックアップされてた。軽く笑った。やっぱ同じクラスタなんだなぁ。っていうかこんなどうでもいいことが思い通りになってもなぁ……俺はもう一回小学校からやりなおしたいのに!

  1. トップ
  2. music
  3. ツタヤにて