<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>kur.jp</title>
	<atom:link href="http://kur.jp/feed/" rel="self" type="application/rss+xml" />
	<link>http://kur.jp</link>
	<description>バイオリンと自転車をこよなく愛するkurのチラシの裏．たまには技術的なことを書いたりするかも知れません．</description>
	<lastBuildDate>Fri, 20 Aug 2010 15:48:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/feed/" />
		<item>
		<title>PHPでTwitterのOAuth認証</title>
		<link>http://kur.jp/2010/07/12/twitter-oauth-php/</link>
		<comments>http://kur.jp/2010/07/12/twitter-oauth-php/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 17:03:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/07/12/twitter-oauth-php/</guid>
		<description><![CDATA[				今年の一月に、LogTwitと言うTwitterネイティブWebアクセス解析LogTwitをリリースしたのですが、1月の時点では何も考えずにBasic認証を使っていました。（リリース時のブログエントリ）
				 [...]]]></description>
			<content:encoded><![CDATA[				<p>今年の一月に、LogTwitと言うTwitterネイティブWebアクセス解析LogTwitをリリースしたのですが、1月の時点では何も考えずにBasic認証を使っていました。（<a href="http://kur.jp/2010/01/15/logtwit/">リリース時のブログエントリ</a>）</p>
				<p>ところが8月末からBasic認証が使えなくなってしまうということなので、現在、<a href="http://github.com/abraham/twitteroauth">twitteroauth</a>というライブラリを使いOAuth認証に対応させる作業をしています。ちなみに、利用したtwitteroauthのバージョンは0.0.2-beta3でした。<br />
				<span id="more-1033"></span></p>
				<p>今回、私がアプリでやりたいこととしては「ユーザ登録してくれたユーザのアカウントでポストする」ということ。そのためにはまず、下記の事が必要になります。</p>
				<ol>
				<li>OAuthでユーザに承認してもらう</li>
				<li>TwitterにPOSTする</li>
				</ol>
				<h2>OAuthでユーザに承認してもらう</h2>
				<p>まず、ユーザに承認してもらうためのURLを作成します。</p>
				<p>[php]<br />
				require_once(&#8220;twitteroauth/twitteroauth.php&#8221;);<br />
				// Consumer keyの値<br />
				$consumer_key = &#8220;xxxxxxxxxxxxxxxxxxxxxx&#8221;;<br />
				// Consumer secretの値<br />
				$consumer_secret = &#8220;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy&#8221;;<br />
				$connection = new TwitterOAuth($consumer_key, $consumer_secret);<br />
				$request_token = $connection->getRequestToken(&#8220;<a href="http://example.com/callback.php");">http://example.com/callback.php&#8221;);</a><br />
				$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];<br />
				$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];<br />
				$auth_url = $connection->getAuthorizeURL($token, FALSE);<br />
				[/php]</p>
				<p>で、$auth_url に対してリンクを張るなり、header関数などを使うなりしてリダイレクトさせます。この時、getRequestTokenでコールバックURLを指定しないと、認証がうまくいかないので注意。</p>
				<p>$auth_urlに飛ぶと、こんな感じの画面が表示されます。ここでユーザがAllowを押すと、getRequestTokenで指定したコールバックURLに自動的に移動します。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/07/image.png"><img src="http://kur.jp/wp-content/uploads/2010/07/image_thumb.png" border="0" alt="image" title="image" width="504" height="224" /></a></p>
				<p>コールバックURLに異動するとき、ユーザはoauth_verifierという引数を連れて帰ってきますので、下記のようにaccess_tokenを取得します。</p>
				<p>[php]<br />
				$access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);<br />
				[/php]</p>
				<p>この$access_tokenをデータベースなどに保存しておくことで、PHPからTwitterにPOST等をすることが出来ます。</p>
				<h2>TwitterにPOSTする</h2>
				<p>TwitterにPOSTするためのコードはこんな感じです。</p>
				<p>[php]<br />
				require_once(&#8220;twitteroauth/twitteroauth.php&#8221;);<br />
				// Consumer keyの値<br />
				$consumer_key = &#8220;xxxxxxxxxxxxxxxxxxxxxx&#8221;;<br />
				// Consumer secretの値<br />
				$consumer_secret = &#8220;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy&#8221;;<br />
				$connection = new TwitterOAuth($consumer_key,$consumer_secret,$access_token["oauth_token"], $access_token["oauth_token_secret"]);<br />
				$connection ->OAuthRequest(&#8220;<a href="https://twitter.com/statuses/update.xml","POST",array("status"=">https://twitter.com/statuses/update.xml&#8221;,&#8221;POST&#8221;,array(&#8220;status&#8221;=>&#8221;Test Post&#8221;));<br />
				[/php]</p>
				<p>これで、Twitterに”Test Post”というメッセージが投稿されるはずです。なお、Twitterは同じメッセージの二重投稿が出来ないようになっているので、デバッグする際は投稿メッセージの末尾にUNIXタイム等をつけるなどするとよいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/07/12/twitter-oauth-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/07/12/twitter-oauth-php/" />
	</item>
		<item>
		<title>PHPでヒートマップを生成する</title>
		<link>http://kur.jp/2010/06/03/heatmap/</link>
		<comments>http://kur.jp/2010/06/03/heatmap/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 14:00:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/06/03/heatmap/</guid>
		<description><![CDATA[				自分専用Webアクセス解析を作っていると、ヒートマップ画像を生成したくなる時ありますよね。PHPでは簡単に画像を生成することが出来るので、色の設定さえやってしまえば、お手軽にヒートマップを生成することが出来ます。 [...]]]></description>
			<content:encoded><![CDATA[				<p>自分専用Webアクセス解析を作っていると、ヒートマップ画像を生成したくなる時ありますよね。PHPでは簡単に画像を生成することが出来るので、色の設定さえやってしまえば、お手軽にヒートマップを生成することが出来ます。</p>
				<p>以下、PHPを使ったヒートマップの作り方です。というか、どの言語でも基本的なやり方は同じなので応用できるはず。</p>
				<p><span id="more-1022"></span></p>
				<h2>1.データを用意する</h2>
				<p>まず、ヒートマップを生成するために0～255の256段階で構成される2次元配列を用意します。この配列の各要素の値に応じて色をつけて行きます。</p>
				<p>下の画像は、0～255の256段階で構成される2次元配列を画像にしたものです。ちなみに配列の中で0と指定した場所が黒に、255と指定した場所が白になっています。</p>
				<p><img src="http://kur.jp/wp-content/uploads/2010/06/image.png" border="0" alt="image" title="image" width="516" height="104" /></p>
				<h2>2.色を割り当てる</h2>
				<p>用意した0～255のモノクロデータ の各値にカラーを割り当てて行きます。色の割り当ては好みで良いと思うのですが、良くあるヒートマップだと青→緑→赤と変化するようになっていますので、それに習って色を設定してみます。まぁ、このへんはお好みで。</p>
				<p><img src="http://kur.jp/wp-content/uploads/2010/06/image3.png" border="0" alt="image" title="image" width="504" height="302" /></p>
				<h2>3.ヒートマップ画像を生成する</h2>
				<p>0～255に割り当てた色を画像に反映させます。</p>
				<p><img src="http://kur.jp/wp-content/uploads/2010/06/image4.png" border="0" alt="image" title="image" width="516" height="104" /></p>
				<h2>おまけ：ヒートマップ生成コード</h2>
				<p>最後に、上記画像を生成するためのPHPコードを貼り付けます。何かの参考になれば。</p>
				<pre>&lt;?php

function getR($i){
	if($i &lt; 128){
		$ret = 0;
	}else if($i &gt; 127 &amp;&amp; $i &lt; 191){
		$ret = ($i-127)*4;
	}else if($i &gt; 190){
		$ret = 255;
	}
	return $ret;
}
function getG($i){
	if($i &gt;= 64 &amp;&amp; $i &lt;= 191){
		$ret = 255;
	}else if($i &lt; 64){
		$ret =  $i * 4;
	}else{
		$ret = 256-($i-191)*4;
	}
	return $ret;
}
function getB($i){
	if($i &lt;= 64){
		$ret = 255;
	}else if($i &gt; 64 &amp;&amp; $i &lt; 127){
		$ret = 255-($i-64)*4;
	}else if($i &gt;= 127){
		$ret = 0;
	}
	return $ret;

}
header("content-type: image/png");
$image = imagecreate(512,100);
for($i = 0; $i &lt; 256;$i++){
	$tmp = imagecolorallocate($image, GetR($i), GetG($i), GetB($i));
	imagefilledrectangle($image, $i * 2 , 0, ($i * 2)+2, 99 , $tmp );
}
imagepng($image);
imagedestroy($image);
?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/06/03/heatmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/06/03/heatmap/" />
	</item>
		<item>
		<title>東大五月祭に行ってきた</title>
		<link>http://kur.jp/2010/05/30/todai/</link>
		<comments>http://kur.jp/2010/05/30/todai/#comments</comments>
		<pubDate>Sun, 30 May 2010 13:56:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/05/30/todai/</guid>
		<description><![CDATA[				高専時代の友達hiroに呼ばれて東大五月祭に行ってきました。
				中須賀先生の案内で工学部七号館を見学。良く考えたら中須賀研に来たことは何回かあるけど、ちゃんと見学したのって初めてかも。
				以下、見学の [...]]]></description>
			<content:encoded><![CDATA[				<p>高専時代の友達hiroに呼ばれて東大五月祭に行ってきました。</p>
				<p>中須賀先生の案内で工学部七号館を見学。良く考えたら中須賀研に来たことは何回かあるけど、ちゃんと見学したのって初めてかも。</p>
				<p>以下、見学の様子とか。</p>
				<p> <span id="more-1016"></span>
				<p>七号館屋上にある衛星と通信するためのアンテナです。これはアマチュア無線帯域のもの。</p>
				<p>&#160;</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0772.jpg"><img title="IMG_0772" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0772" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0772_thumb.jpg" width="244" border="0" /></a> </p>
				<p>そしてこれがSバンドです。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0766.jpg"><img title="IMG_0766" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0766" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0766_thumb.jpg" width="244" border="0" /></a> </p>
				<p>屋上からは建設中の東京スカイツリーが見えました。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0763.jpg"><img title="IMG_0763" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0763" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0763_thumb.jpg" width="244" border="0" /></a> </p>
				<p>その後、中須賀研名物、衛星の公開運用の様子。PRISMと言う地上観測衛星の運用の様子を見せて頂きました。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0778.jpg"><img title="IMG_0778" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0778" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0778_thumb.jpg" width="244" border="0" /></a> </p>
				<p>その後、東大阪でお世話になった<a href="http://www.davinci-mode.co.jp/">ダビンチ</a>の東さんに会いに工学部二号館へ。ダビンチでは、熱に関する技術開発をしており、東大アントレプレナープラザの展示として、研究成果を展示されていました。</p>
				<p>この写真に写っているものが、ロータリー熱エンジンです。これを用いることで、排気熱を回収して効率的に電力を生み出すことが出来るそう。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0817.jpg"><img title="IMG_0817" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0817" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0817_thumb.jpg" width="244" border="0" /></a> </p>
				<p>隣のブースには、<a href="http://www.phyzios.com/">PHYZIOS</a>というiPhoneアプリを作っている会社さんが展示しており、人だかりが出来ていました。やっぱり、ロータリー熱エンジンよりも、iPhoneアプリのほうが若い人受けするんでしょうね。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0845.jpg"><img title="IMG_0845" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0845" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0845_thumb.jpg" width="244" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/05/30/todai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/05/30/todai/" />
	</item>
		<item>
		<title>TEDxTokyo2010</title>
		<link>http://kur.jp/2010/05/17/tedxtokyo2010/</link>
		<comments>http://kur.jp/2010/05/17/tedxtokyo2010/#comments</comments>
		<pubDate>Sun, 16 May 2010 21:15:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/05/17/tedxtokyo2010/</guid>
		<description><![CDATA[				TEDxTokyo2010に行ってきました。
				TEDとは、Technology Entertainment Designの頭文字をとったもので、学術・エンターテイメント・デザインなど様々な分野の人物が講演 [...]]]></description>
			<content:encoded><![CDATA[				<p>TEDxTokyo2010に行ってきました。</p>
				<p>TEDとは、Technology Entertainment Designの頭文字をとったもので、学術・エンターテイメント・デザインなど様々な分野の人物が講演を行なうイベントです。今回は、その東京版が開催され、幸運にも参加する機会を得ることが出来ました。</p>
				<p>ちなみに、<a href="http://tedxtokyo.com/ja/tedxtokyo-2010/program/">今回のプログラムはこんな感じ</a>。各講演者の講演は、<a href="http://www.youtube.com/view_play_list?p=15401E13D170EA9A">youtubeにアップされています</a>。</p>
				<p>今回のイベントに参加してプレゼンテーションを聴くなかで、色んなことを考えさせられました。世界のあり方、未来、テクノロジーのあり方等。それと同時に、様々な方々とお話する機会を得ることが出来、私にとって非常に興奮させられる一日でした。</p>
				<p>以下、会場で撮影した写真など。Kiss X4で撮影したんですが、ISO感度があっという間にISO6400まで上がってしまうのでノイズが凄い。暗い所でもしっかり撮影出来るので、嬉しいことは嬉しいんですが、ちゃんと使いこなさないとなぁと感じました。</p>
				<p>また、連射が非常に早いため、「目標をセンターに入れてスイッチ」と言う撮影の仕方が出来てしまいます。とりあえずフレーミングだけ考えて、シャッターボタンを押し続ければ連射になるので、あとから良く撮れている写真を選べば良いかな、と言う感じ。</p>
				<p> <span id="more-1000"></span>
				<p>講演開始前、朝食の様子。&#160; </p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0260.jpg"><img title="IMG_0260" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0260" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0260_thumb.jpg" width="244" border="0" /></a><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0261.jpg"><img title="IMG_0261" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0261" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0261_thumb.jpg" width="244" border="0" /></a></p>
				<p>講演開始前会場の様子</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/image2.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="image" src="http://kur.jp/wp-content/uploads/2010/05/image_thumb2.png" width="244" border="0" /></a> </p>
				<p>ジェイクシマブクロさん</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0293.jpg"><img title="IMG_0293" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0293" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0293_thumb.jpg" width="244" border="0" /></a> </p>
				<p>河村典子さん</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0379.jpg"><img title="IMG_0379" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0379" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0379_thumb.jpg" width="244" border="0" /></a> </p>
				<p>林家今丸さん</p>
				<p>&#160;<a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0425.jpg"><img title="IMG_0425" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0425" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0425_thumb.jpg" width="244" border="0" /></a> <a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0426.jpg"><img title="IMG_0426" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0426" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0426_thumb.jpg" width="244" border="0" /></a> </p>
				<p>シルクドソレイユ</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0540.jpg"><img title="IMG_0540" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0540" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0540_thumb.jpg" width="244" border="0" /></a> </p>
				<p>スタッフの皆様。本当にありがとうございました！</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/IMG_0619.jpg"><img title="IMG_0619" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="IMG_0619" src="http://kur.jp/wp-content/uploads/2010/05/IMG_0619_thumb.jpg" width="244" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/05/17/tedxtokyo2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/05/17/tedxtokyo2010/" />
	</item>
		<item>
		<title>ページ読み込み完了前にgBrowserオブジェクトにアクセス出来てしまう</title>
		<link>http://kur.jp/2010/05/03/firefox-gbrowser/</link>
		<comments>http://kur.jp/2010/05/03/firefox-gbrowser/#comments</comments>
		<pubDate>Sun, 02 May 2010 15:15:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/05/03/firefox-gbrowser/</guid>
		<description><![CDATA[				引き続きFirefoxの機能拡張を作ってるんだけど、不思議な現象に遭遇した。
				Firefoxを初回に起動したときにはgBrowserが定義されているのに、二度目に起動したときにはgBrowserが未定義と [...]]]></description>
			<content:encoded><![CDATA[				<p>引き続きFirefoxの機能拡張を作ってるんだけど、不思議な現象に遭遇した。</p>
				<p>Firefoxを初回に起動したときにはgBrowserが定義されているのに、二度目に起動したときにはgBrowserが未定義となる。このことに気がつかずに、ちょっとハマってしまったのでメモ。</p>
				<p> <span id="more-968"></span>
				<p>この現象に遭遇するためのコードはこんな感じ。</p>
				<pre>if(gBrowser){
	Application.console.log(&quot;gBrowser is defined&quot;);
}else{
	Application.console.log(&quot;gBrowser is not defined&quot;);
}
if(gBrowser.selectedTab){
	Application.console.log(&quot;gBrowser.selectedTab is defined&quot;);
}else{
	Application.console.log(&quot;gBrowser.selectedTab is not defined&quot;);
}
window.addEventListener(
  &quot;load&quot;,
  function () {
	Application.console.log(&quot;Loaded&quot;);
  },
  false
);</pre>
				<p><code>これを実行してみると、Firefox初回起動時は以下のような結果になる。</code></p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/image.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="197" alt="image" src="http://kur.jp/wp-content/uploads/2010/05/image_thumb.png" width="404" border="0" /></a> </p>
				<p>ところが、二度目以降に起動すると、以下のような結果になる。gBrowserオブジェクトは存在しているが、gBrowser.selectedTabオブジェクトは定義されていない事がわかる。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/image1.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="198" alt="image" src="http://kur.jp/wp-content/uploads/2010/05/image_thumb1.png" width="404" border="0" /></a> </p>
				<p>実際、<a href="https://developer.mozilla.org/Ja/Code_snippets/Tabbed_browser">mozillaのWebサイト</a>を見て見ると、以下のように書いてあるので、挙動としては後者のほうが正しい気がする。</p>
				<blockquote>
				<p><code>gBrowser</code> が未定義ならば、あなたのコードはブラウザウィンドウのスコープで実行されていないか、もしくは早い段階で実行されすぎています。<code>gBrowser</code> にはブラウザウィンドウが完全にロードされた後でのみアクセス出来ます。</p>
				</blockquote>
				<p>では、初回起動時にオブジェクトが存在するのは何故なんだろうか？不思議です。ちなみに、ブラウザウィンドウが完全にロードされた後でコードを実行するにはこんな感じでコードを書けばいい。</p>
				<pre>this.onPageLoad = function() {
	if(gBrowser){
		Application.console.log(&quot;gBrowser is defined&quot;);
	}else{
		Application.console.log(&quot;gBrowser is not defined&quot;);
	}
	if(gBrowser.selectedTab){
		Application.console.log(&quot;gBrowser.selectedTab is defined&quot;);
	}else{
		Application.console.log(&quot;gBrowser.selectedTab is not defined&quot;);
	}
}

var self = this;
window.addEventListener(
  &quot;load&quot;,
  function () {
	self.onPageLoad();
  },
  false
);</pre>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/05/03/firefox-gbrowser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/05/03/firefox-gbrowser/" />
	</item>
		<item>
		<title>EOS Kiss X4を買いました</title>
		<link>http://kur.jp/2010/05/02/kissx4/</link>
		<comments>http://kur.jp/2010/05/02/kissx4/#comments</comments>
		<pubDate>Sun, 02 May 2010 10:01:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/05/02/kissx4/</guid>
		<description><![CDATA[				一眼レフが欲しい欲しいってずっと思ってたんだけど、ついに買っちゃいました。EOS Kiss X4です。
				 
				早速、カメラを持ってお散歩してきました。
				 
				譜面を買いに行くついでに銀 [...]]]></description>
			<content:encoded><![CDATA[				<p>一眼レフが欲しい欲しいってずっと思ってたんだけど、ついに買っちゃいました。EOS Kiss X4です。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/1591.jpg"><img title="159" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="379" alt="159" src="http://kur.jp/wp-content/uploads/2010/05/159_thumb1.jpg" width="504" border="0" /></a> </p>
				<p>早速、カメラを持ってお散歩してきました。</p>
				<p> <span id="more-954"></span>
				<p>譜面を買いに行くついでに銀座をぶらぶら。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/0672.jpg"><img title="067" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="337" alt="067" src="http://kur.jp/wp-content/uploads/2010/05/067_thumb2.jpg" width="504" border="0" /></a> </p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/0642.jpg"><img title="064" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="337" alt="064" src="http://kur.jp/wp-content/uploads/2010/05/064_thumb2.jpg" width="504" border="0" /></a> </p>
				<p>近所のお寺にぶらぶら。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/0832.jpg"><img title="083" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="337" alt="083" src="http://kur.jp/wp-content/uploads/2010/05/083_thumb2.jpg" width="504" border="0" /></a> </p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/05/1212.jpg"><img title="121" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="337" alt="121" src="http://kur.jp/wp-content/uploads/2010/05/121_thumb2.jpg" width="504" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/05/02/kissx4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/05/02/kissx4/" />
	</item>
		<item>
		<title>XULでJavaScriptを含むUIをオーバーレイさせるときの注意点</title>
		<link>http://kur.jp/2010/04/09/xul-overlay-script/</link>
		<comments>http://kur.jp/2010/04/09/xul-overlay-script/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 16:30:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/04/09/xul-overlay-script/</guid>
		<description><![CDATA[				Firefoxの拡張機能を作る時、UI部品をオーバーレイすることでFirefoxの画面内にボタンを追加したり、既存のUIにスクリプトを追加したりすることができる。
				で、さっきブラウザのBackとForwa [...]]]></description>
			<content:encoded><![CDATA[				<p>Firefoxの拡張機能を作る時、UI部品をオーバーレイすることでFirefoxの画面内にボタンを追加したり、既存のUIにスクリプトを追加したりすることができる。</p>
				<p>で、さっきブラウザのBackとForwardの隣にあるボタン、back-forward-dropmarker（下記の画像のように、押下するとこれまでのページ遷移履歴のリストが出てくる。）に対して操作したときに、スクリプトを実行させようと思ってXULのオーバレイを作っていたんですが、どうにもうまくいかない。具体的には、XUL内に書いたJavaScriptが実行されていない。</p>
				<p><a href="http://kur.jp/wp-content/uploads/2010/04/image1.png"><img src="http://kur.jp/wp-content/uploads/2010/04/image_thumb.png" border="0" alt="image" title="image" width="317" height="206" /></a></p>
				<p>で、なんでかなーと思って悩んでたんですが、無事に解決したのでメモ。</p>
				<p><img src="http://kur.jp/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" title="もっと読む..." /></p>
				<p>最初に書いていたオーバレイさせるコードはこんな感じ。</p>
				<pre style="width: 95%; height: 106px;">&lt;toolbarbutton id="back-forward-dropmarker" type="menu" chromedir="ltr"
      disabled="true" tooltiptext="最近表示したページ"
      onbroadcast="if (this.disabled) this.disabled =
      document.getElementById('Browser:Back').hasAttribute('disabled') &amp;&amp;
      document.getElementById('Browser:Forward').hasAttribute('disabled');"&gt;</pre>
				<p>でも、これじゃぁ、上手く実行されない。なんでだろう？と考えてみたところ、もしかしたら&amp;がエスケープされてないんじゃないか？という考えに行きつきました。</p>
				<p>通常、HTMLのなかで&amp;のような特殊文字を書くときって、&amp;amp;って書かないといけないんですよね。というわけで、上記のコードを下記のように書き換えてみたら、上手く動きました。</p>
				<pre style="width: 95%; height: 122px;">&lt;toolbarbutton id="back-forward-dropmarker" type="menu" chromedir="ltr"
     disabled="true" tooltiptext="最近表示したページ"
     onclick="wt.my_func('list');"
      onbroadcast="if (this.disabled) this.disabled =
      document.getElementById('Browser:Back').hasAttribute('disabled') &amp;amp;&amp;amp;
      document.getElementById('Browser:Forward').hasAttribute('disabled');"&gt;</pre>
				<p>めでたしめでたし。</p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/04/09/xul-overlay-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/04/09/xul-overlay-script/" />
	</item>
		<item>
		<title>モノポリーナイト行ってきた</title>
		<link>http://kur.jp/2010/04/06/monopoly/</link>
		<comments>http://kur.jp/2010/04/06/monopoly/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 16:08:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/04/06/monopoly/</guid>
		<description><![CDATA[				iPad Cafeに行ったあと、時間が空いてしまったのでどうしようかなーと思っていたら、@sun_jbbfさんから「モノポリーしましょう」と誘って頂いたので、モノポリーしてきました。
				 
				&#16 [...]]]></description>
			<content:encoded><![CDATA[				<p>iPad Cafeに行ったあと、時間が空いてしまったのでどうしようかなーと思っていたら、<a href="http://twitter.com/sun_jbbf">@sun_jbbf</a>さんから「モノポリーしましょう」と誘って頂いたので、モノポリーしてきました。</p>
				<p><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="image" src="http://kur.jp/wp-content/uploads/2010/04/image.png" width="184" border="0" /> </p>
				<p>&#160;</p>
				<p> <span id="more-936"></span>
				<p>さぁ、やるぞ！と思って張り切っていたものの、高額なマスに連続して止まってしまい、あっという間に破産。最下位でした。なんだか悔しいのでサイコロのせいにしておきます。</p>
				<p><img title="033" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="033" src="http://kur.jp/wp-content/uploads/2010/04/033.jpg" width="184" border="0" /></p>
				<p>モノポリーは最近やっていませんでしたが、私の大好きなゲームの一つです。このイベントは日本モノポリー協会が主催しているそうで、月一程度で東京・大阪で開催されているそうです。機会があればまた参加してみようかと思います。悔しいので。</p>
				<p>ちなみに、モノポリーも好きですが、いただきストリートとか、天空のレストランとかにもハマっていた時期がありました。 これらのゲームをするとき、誘ってもらえたら飛んでいきます。たぶん。</p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/04/06/monopoly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/04/06/monopoly/" />
	</item>
		<item>
		<title>iPad Cafe行ってきた</title>
		<link>http://kur.jp/2010/04/06/ipad-cafe/</link>
		<comments>http://kur.jp/2010/04/06/ipad-cafe/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:52:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/04/06/ipad-cafe/</guid>
		<description><![CDATA[				ATNDでiPad Cafeというイベントを見つけたので、行ってきた。会場につくと、そこには3台のiPadが。せっかくなので色々触ってきました。
				
				以下、感想とか。
				 
				画面が大き [...]]]></description>
			<content:encoded><![CDATA[				<p>ATNDで<a href="http://atnd.org/events/3786">iPad Cafeというイベント</a>を見つけたので、行ってきた。会場につくと、そこには3台のiPadが。せっかくなので色々触ってきました。</p>
				<p><img title="031" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="031" src="http://kur.jp/wp-content/uploads/2010/04/031.jpg" width="184" border="0" /></p>
				<p>以下、感想とか。</p>
				<p> <span id="more-933"></span><br />
				<h2>画面が大きい＆きれい</h2>
				<p>画面が大きいのはスペックシートを見ればわかるんだけど、想像以上に綺麗。例えばiTunesで動画を視聴するときでも、大きなスクリーンを活かして、綺麗に表示してくれる。もちろん、動画再生時にカクカクなんかしません。</p>
				<p>動画再生時だけではなくて、大きな画面はSafariでのWebブラウジングやメールの読み書きにも威力を発揮します。</p>
				<h2>バッテリーの持ちが凄く良い</h2>
				<p>みんなで散々いじりまくってたにも関わらず、バッテリーが殆ど減っていませんでした。実際に使ってるときに何時間ぐらい持つのかはわかりませんが、外出先で使うにも十分すぎるバッテリーなのかな、と感じました。</p>
				<h2>文字入力がしやすい</h2>
				<p><font size="2">入力方法はスクリーンキーボードでした。フリック入力は削除されちゃったのかな？</font><font size="2">キーボードの大きさは、両手で使うに十分でした。ただし、キーを押しこむ感覚が無いので、慣れないと高速な入力は厳しいかなーと思います。</font></p>
				<p><font size="2">私の場合、PCのキーボードを使ってるときって、厳密に測ったことはないですが1分間で200ストロークぐらいだと思うので、iPadでもそれぐらいの速度で打てるようになれば文句なしなのですが。</font></p>
				<h2>意外と軽くて薄い</h2>
				<p><font size="2">思った以上に軽くて薄いです。iPhoneよりも薄い印象を受けましたが、今思うと面積が広いために薄く見えたのかもしれません。</font></p>
				<p><font size="2">そして重さに関しても、持ったときに「あれっ？」って思うぐらい軽いです。これなら立ちながら使っても問題ないと思うし、今の通勤用のカバンに入れてもあまり不自由が無いように感じました。</font></p>
				<h2>アプリに期待</h2>
				<p>色々褒めてきましたが、多少不満があるの事実です。例えばデフォルトで入っているカレンダー、メモ帳アプリはせっかくのiPadの大画面を活かしているとは言い切れません。でも今後、大きな画面、高速な処理速度を活かして様々なことが出来るようになるんじゃないかと思います。これに関しては、私自身も、いくつかアイディアがあります。</p>
				<h2>外部入出力端子の有無</h2>
				<p>USB等の外部入出力端子が無いことをデメリットとして挙げる人が居るのも事実です。しかし、外部入出力端子って何に使いますか？</p>
				<p>デジカメの写真を管理するにはどうしたらいいか？プリンタで印刷したいとき、どうしたらいいか？スキャナで文章を取り込みたいとき、どうすればいいか？私がすぐに思いつくのはこれぐらいです。</p>
				<p>これは全部、無線LAN経由でなんとかなることだと思うんです。デジカメにEye-Fiを組み合わせて使う、スキャナとEverNoteを組み合わせて使う、プリンタを無線LAN経由で使う。そう遠くない未来に当たり前のことになっているかも知れません。データはインターネットの向こう側に置いておけば良いんですから。</p>
				<h2>さいごに</h2>
				<p>iPad自体インターネットにつながる新しいデバイスとして目新しいものではないかも知れません。iPhoneを大きくしただけだろ？という意見もあると思います。事実です。</p>
				<p>でもこれは、将来の情報経済圏を形成するための非常に大きな役割を果たすデバイスになると私は考えています。数年後、多くの人の情報端末、そして情報との接し方が大きく変わっているかもしれません。</p>
				<p>最後に、本日、あの場を提供してくださったGOGAの小山さん、ありがとうございました。</p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/04/06/ipad-cafe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/04/06/ipad-cafe/" />
	</item>
		<item>
		<title>最近の体重管理</title>
		<link>http://kur.jp/2010/03/18/scale/</link>
		<comments>http://kur.jp/2010/03/18/scale/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:47:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://kur.jp/2010/03/18/scale/</guid>
		<description><![CDATA[				最近，何人かの人から立て続けに「太った？」とか言われてしまったので，これはいかんと思ってダイエットしてみることにしました．で，ダイエットをすると決めたのは良いのだけれども，私の家には体重計が無い．体重計が無いとダ [...]]]></description>
			<content:encoded><![CDATA[				<p>最近，何人かの人から立て続けに「太った？」とか言われてしまったので，これはいかんと思ってダイエットしてみることにしました．で，ダイエットをすると決めたのは良いのだけれども，私の家には体重計が無い．体重計が無いとダイエットできてるのか，できてないのか分からないので仕方なく体重計を購入することにした．</p>
				<p>ちなみにどうでもいいけど，NAISTの某研究室では人に対して「太った？」とか聞く事を「デブハラ」と呼んでいました．たぶんデブ・ハラスメントの略だと思う．</p>
				<p>で，最近の体重計って，どういうものがあるんだろう？って探していたら，Wifi Body Scaleという商品を発見．</p>
				<p><iframe style="width: 120px; height: 240px" marginwidth="0" marginheight="0" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=kurdotjp-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=B00327A5EE" frameborder="0" scrolling="no"></iframe></p>
				<p>これがどういうものかって言うと，体重計に乗るだけで，自分の体重をサーバに送信してくれて，グラフにしてくれるというすぐれもの．iPhoneアプリとも連携しているので，どこでも自分の体重を確認することができる．これは凄い．凄いが，体重計に2万円近く出すのはちょっと勇気がいる．でも，実は調べて行くうちに，あることに気がついたのです．</p>
				<p> <span id="more-929"></span>
				<p>それは，<a href="http://www.withings.com/ja/index/?taranim=2">この体重計と連携する素敵なWebサービス</a>は，この体重計を購入しなくても使えるということ．つまり，普通の体重計を購入して，手動で自分の体重を入力すれば良いということ．</p>
				<p>ということで，早速普通の体重計を購入してみました．</p>
				<p><iframe style="width: 120px; height: 240px" marginwidth="0" marginheight="0" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=toeowiki-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=B000VJ09RO" frameborder="0" scrolling="no"></iframe>&#160;</p>
				<p>さっそく，体重をはかって，さっきのWebサービスに記録してみました．とりあえず，-5kgを目指してみることにします．</p>
				<p>&#160;<a href="http://kur.jp/wp-content/uploads/2010/03/image18.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="image" src="http://kur.jp/wp-content/uploads/2010/03/image_thumb17.png" width="164" border="0" /></a> </p>
				<p>こうやってブログに書いておけば，ダイエットをさぼれないというライフハック（笑）</p>
]]></content:encoded>
			<wfw:commentRss>http://kur.jp/2010/03/18/scale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kur.jp/2010/03/18/scale/" />
	</item>
	</channel>
</rss>
