2011年 02月 16日


JSDeferred を Jetpack (Add-on SDK) で使う

binding を書いた (まだブランチに入れてある)

  • setTimeout/clearTimeout がないので nsITimer で実装 (これでいいのか?)
  • Deferred.postie という utility を追加

Deferred.postie(constructor, options) を使って widget/panel をつくるとメソッドが増えます。

  • post(args..., function) //=> Deferred
    • function をレシーバの content context 内で args と共に呼び、結果を取得
  • bind(selector, event, function) //=> Deferred
    • content 内の selector でマッチする要素全てで、 event が発火時 function (chrome context) を呼びだす

以下のように書けます。post に渡す関数は文字列化されて content に渡されるので、スコープを外部と共有していない。args も JSON で表現できるものしか渡せない。この点わかりにくいのでイマイチかもしれない。

完全に message のやりとりを置き換えられるわけではないけど、ちょっとしたイベント処理とかは直列で簡単に書けるようになるので、便利な場合は便利かもしれない。

const Deferred = require("jsdeferred").Deferred;
Deferred.define(this); //define 使う場合必ず引数に this を渡す必用あり

widget = Deferred.postie(widgets.Widget, {
	label      : "Foo",
	contentURL : 'http://example.com/',
	width      : 32,
	onClick    : function () {
		var self = this;

		next(function () {
			return self.
				post(1, 2, function (a, b) { // content context 
					return a + b;
				}).
				next(function (res) { // chrome context
					console.log(res);
				});
		}).
		next(function () {
			return wait(1);
		}).
		next(function () {
			return self.
				post(function (a, b) {
					throw "foo";
				}).
				next(function (res) {
					console.log(res);
				}).
				error(function (e) {
					console.log(e);
				});
		});
	},
	onMessage : function (message) {
		console.log(message);
	},
	contentScript : 'setTimeout(function () { postMessage("custom message") }, 1000)',
});

widget.post(function () {
	var d = new Deferred();
	setTimeout(function () {
		d.call(1);
	}, 1000);
	return d;
}).
next(function (a) {
	console.log("Hello! " + a);
}).
error(function (e) {
	console.log(e);
});

widget.bind("body", "click", function (e) {
	console.log("body clicked" + e);
}).
error(function (e) {
	console.log(e);
});
2011年 02月 15日


今日は朝からずっとイライラしてしまった。低気圧のせい(他人のせい)にしておきたいと考える。

ある種の、ちょっと変わった程度のろくでもない属性 (例えばある学校とか、ある世代とか、ある地域とか) を自分にラベリングすることで、何らかの個性を出そうという気持ちがすけてみえている感じ、ただそれだけなら、まだ求個性没個性なだけで気持ち悪くとも害はない (無意味で、無個性な誇りだ) けれど、その大して価値のないちょっと変わった程度のろくでもない属性を守るために、他人に対して攻撃的だったり、排斥しようという感じになってくると、一体なんなんだろうという感じに見える。

こういうこと、他人に対し、内側から強い気持ち悪さを感じるときは、大抵自分の中に何かしらそういうものがあるときだ。じゃあ、どんな類に対して自分がそういった馬鹿げたことを思うかと考えてみると「○○な人はクソであって欲しくない」みたいに言葉にするとき解りやすく表に出てくるのかもしれないと気付いた。「プログラマは」「日本人は」「Perl が好きな人は」「あるアーティストが好きな人は」とあてはめてみると、自分の中からわさわさと出てくる。結局これでは人のことが言えない。

他人に対するイライラは、日記にまとめているうちに、自分の普段の行いによって相殺されるか、自分にふりかかる。日記に書いて落としこむ時点で、自分のクズさに要約される。

何かしら書いてしまえば一貫性を求められる。破れば糾弾されるから、矛盾には先に自分で気付かなければならない。日記は読みかえされないといけない。でも考えかたが変わったら変わったと書けば良いだけだ。強い口調は、他人の機嫌を損ねるというより、自分の逃げ道をなくすから良くない。

高校・大学と人間が心底嫌いになるばかりにコミュニケーション能力を得る機会の多くを失なって、いろいろと困ることになったということも、それによって他人のコミュニケーションの仕方を冷静に観察できるようになったのであれば別にいいような気がするけれど、自分で考えて造れる良いものが、殆どの他人の望むものとは違うという話であるなら、全くなんのこともなくて、自分が価値 (他人が必要とするもの) を生み出せないことにほかならない。

そういう気概で一体どうして何か造れようかと思う。

こういったこと、他人ではどうしようもないので、仕方なく、未来の自分である他人が楽しければいいと考えるしかなくなる。

何かしら日記に書いていると、明日誰かに責めたてられる気がしてならない。クソだクソだと誰かが言っている声が聞こえてくる。おれがどんなにそういう人達に重さを感じないように努めても、不意うちでも何でも、視界に入ったら終わりなのだから、いよいよ、書くことで損することは認めないといけない。当たり前すぎるけど、インターネットは全然安全ではない。

jetpack は node.js と同じように、exports.foo = 以外にも this.foo = でもいけるようになっていて欲しかった……

Twitter でマジメな話ができないので、変な議論を呼びそうだなーとか、フローに流しても仕方ないこととか、ここに書いていこうという気持ちだけど、それに対して Twitter で返信されたらどうしたらいいのだろうなあ。追記するだけだと相手が気付かないし……

OGP、仕様的にフラグメントに対応できない問題があるし、そもそも hAtom っていう仕様が既にあるのでなんでわざわざ別のを定義したのかわからない

2011年 02月 14日


土曜日は雨が降りそうだったので、御苑にちょっといっただけだった。

日曜日もだいぶぼーっとしてしまったが、午後遅くなってから住吉大社に行こうという気持ちが高まったので行ってきた。久しぶりに行ったことない神社を開拓した気分。

住吉大社は今まで見てきたどの神社とも社殿の造りが違うので面白かった。平面的で力強い感じなのでその点で神明造りっぽい感じもしつつ、本殿の床が低く妻入りで拝殿が直結してるので全然違う印象になっていた。それと、本殿4つあるうちの3つ(住吉大神3柱)は直線に配置されているのに、4つ目は特に対称性がないところに建っていて不思議な感じだった。

『赤髪の白雪姫 』あきづき空太

赤髪の白雪姫1 (花とゆめCOMICS) - あきづき空太

あきづき空太

3.0 / 5.0

欲しいなー と思いつつ amazon に在庫がなくてなかなか買えなかったんだけど、ふと書店に立ちよったら普通に全巻売ってたので即断で買って、amazon 側をキャンセルした。

期待以上に良かったので買って良かった。主人公の女の子は意志が強くて可愛いし、薬剤師ってのも良いし、全体的に甘ったるさがただよわず、一貫して距離感がすっとしていて気持ち良いです。

この主人公の場合、意志の強さが過去の経験からきており (明確に描かれないけど多少辛いこと)、いろいろ考えた末にそう振る舞うのを良しとしているように感じられるので、単に意志が強いとか気が強いとかという生まれ持った性質ではなくて、むしろ形質によって崖に一度立たされたこその心持ちが見えて心にきた。

赤髪の白雪姫 2 (花とゆめCOMICS) - あきづき空太

あきづき空太

3.0 / 5.0


赤髪の白雪姫 3 (花とゆめCOMICS) - あきづき空太

あきづき空太

3.0 / 5.0


赤髪の白雪姫 4 (花とゆめCOMICS) - あきづき空太

あきづき空太

3.0 / 5.0


赤髪の白雪姫 5 (花とゆめCOMICS) - あきづき 空太

あきづき 空太

3.0 / 5.0