<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/ME2.2.1" -->
<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/"
	>

<channel>
	<title>maaash.jp</title>
	<link>http://maaash.jp</link>
	<description>mash blog</description>
	<pubDate>Fri, 28 Oct 2011 02:42:05 +0900</pubDate>
	<generator>http://wordpress.org/?v=ME2.2.1</generator>
	<language>ja</language>
			<item>
		<title>EC2でus-west-1にあるサーバのAMIをとってap-northeast-1(東京リージョン)に上げる方法</title>
		<link>http://maaash.jp/ec2/ec2%e3%81%a7us-west-1%e3%81%ab%e3%81%82%e3%82%8b%e3%82%b5%e3%83%bc%e3%83%90%e3%81%aeami%e3%82%92%e3%81%a8%e3%81%a3%e3%81%a6ap-northeast-1%e6%9d%b1%e4%ba%ac%e3%83%aa%e3%83%bc%e3%82%b8%e3%83%a7/</link>
		<comments>http://maaash.jp/ec2/ec2%e3%81%a7us-west-1%e3%81%ab%e3%81%82%e3%82%8b%e3%82%b5%e3%83%bc%e3%83%90%e3%81%aeami%e3%82%92%e3%81%a8%e3%81%a3%e3%81%a6ap-northeast-1%e6%9d%b1%e4%ba%ac%e3%83%aa%e3%83%bc%e3%82%b8%e3%83%a7/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 11:00:23 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[ec2]]></category>

		<guid isPermaLink="false">http://maaash.jp/ec2/ec2%e3%81%a7us-west-1%e3%81%ab%e3%81%82%e3%82%8b%e3%82%b5%e3%83%bc%e3%83%90%e3%81%aeami%e3%82%92%e3%81%a8%e3%81%a3%e3%81%a6ap-northeast-1%e6%9d%b1%e4%ba%ac%e3%83%aa%e3%83%bc%e3%82%b8%e3%83%a7/</guid>
		<description><![CDATA[素直にec2-upload-bundleを走らせた時に出るwarningを読めってことでした
You are bundling in one region, but uploading to another. If the kernel
or ramdisk associated with this AMI are not in the target region, AMI
registration will fail.
You can use the ec2-migrate-manifest tool to update your manifest file
with a kernel and ramdisk that exist in the target region.
Are you sure you want to continue? [y/N]


ec2-bundle-vol -d [...]]]></description>
			<content:encoded><![CDATA[<p>素直にec2-upload-bundleを走らせた時に出るwarningを読めってことでした</p>
<p><code>You are bundling in one region, but uploading to another. If the kernel<br />
or ramdisk associated with this AMI are not in the target region, AMI<br />
registration will fail.<br />
You can use the ec2-migrate-manifest tool to update your manifest file<br />
with a kernel and ramdisk that exist in the target region.<br />
Are you sure you want to continue? [y/N]<br />
</code></p>
<p><code><br />
ec2-bundle-vol -d /mnt &#8211;cert $cert &#8211;privatekey $privatekey &#8211;user $accountnumber -r x86_64 -e /ebs,/mnt</p>
<p>ec2-migrate-manifest &#8211;manifest /mnt/image.manifest.xml &#8211;cert $cert &#8211;privatekey $privatekey &#8211;region ap-northeast-1 &#8211;access-key $accesskey &#8211;secret-key $secretkey</p>
<p>ec2-upload-bundle &#8211;bucket $bucketname &#8211;access-key $accesskey &#8211;secret-key $secretkey &#8211;manifest /mnt/image.manifest.xml &#8211;location ap-northeast-1</p>
<p>ec2-register &#8211;region ap-northeast-1 $bucketname/image.manifest.xml -K $privatekey -C $cert -n $bucketname<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/ec2/ec2%e3%81%a7us-west-1%e3%81%ab%e3%81%82%e3%82%8b%e3%82%b5%e3%83%bc%e3%83%90%e3%81%aeami%e3%82%92%e3%81%a8%e3%81%a3%e3%81%a6ap-northeast-1%e6%9d%b1%e4%ba%ac%e3%83%aa%e3%83%bc%e3%82%b8%e3%83%a7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>mbedのプログラムを自動でmbedのUSBドライブにコピーする</title>
		<link>http://maaash.jp/perl/mbed%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e8%87%aa%e5%8b%95%e3%81%a7mbed%e3%81%aeusb%e3%83%89%e3%83%a9%e3%82%a4%e3%83%96%e3%81%ab%e3%82%b3%e3%83%94%e3%83%bc%e3%81%99%e3%82%8b/</link>
		<comments>http://maaash.jp/perl/mbed%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e8%87%aa%e5%8b%95%e3%81%a7mbed%e3%81%aeusb%e3%83%89%e3%83%a9%e3%82%a4%e3%83%96%e3%81%ab%e3%82%b3%e3%83%94%e3%83%bc%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 23:24:40 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[mbed]]></category>

		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/mbed%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e8%87%aa%e5%8b%95%e3%81%a7mbed%e3%81%aeusb%e3%83%89%e3%83%a9%e3%82%a4%e3%83%96%e3%81%ab%e3%82%b3%e3%83%94%e3%83%bc%e3%81%99%e3%82%8b/</guid>
		<description><![CDATA[mbedで遊んでいます。
jsdo.itやwonderfl.netではブラウザ上でJavaScript,ActionScript3を書いて
webサイトやFlashコンテンツを書き出すことのできる開発環境なのに対して、
mbed.orgはブラウザ上でC++を書いてmbedボード用のプログラムバイナリを書き出せる開発環境です。
さらにmbedボードはusbでつなぐとusbドライブに見えるので、mbed.orgからダウンロードしたバイナリをusbドライブにコピーして、ハードウェアリセットボタンを押すとマイコンにプログラムをロードできます。
画期的！
しかもprintfするとusbを通して /dev/tty.usbmodem* に流れてくるのでprintfデバッグが超簡単！
ところが、
ブラウザ上のエディタからコンパイル、バイナリのダウンロードは Ctrl+d ってキーボードショートカットがあるものの、
usbドライブにコピペしつつ古いバイナリは消す、という作業がめんどくさすぎたので
* Downloadsディレクトリを監視
* Remote_LPC1768.binのようなファイルが追加されたら
* /Volumes/MBEDにコピーしつつ
* 古いバイナリを削除
* growlに通知
ということをしてくれるスクリプトを書きました。

手作業でリセットボタンを押すのはとりあえず今はしょうがないかなあ

Happy MBED hacking!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://mbed.org/">mbed</a>で遊んでいます。<br />
<a href="http://jsdo.it">jsdo.it</a>や<a href="http://wonderfl.net">wonderfl.net</a>ではブラウザ上でJavaScript,ActionScript3を書いて<br />
webサイトやFlashコンテンツを書き出すことのできる開発環境なのに対して、</p>
<p>mbed.orgはブラウザ上でC++を書いてmbedボード用のプログラムバイナリを書き出せる開発環境です。<br />
さらにmbedボードはusbでつなぐとusbドライブに見えるので、mbed.orgからダウンロードしたバイナリをusbドライブにコピーして、ハードウェアリセットボタンを押すとマイコンにプログラムをロードできます。<br />
画期的！</p>
<p>しかもprintfするとusbを通して /dev/tty.usbmodem* に流れてくるのでprintfデバッグが超簡単！</p>
<p>ところが、<br />
ブラウザ上のエディタからコンパイル、バイナリのダウンロードは Ctrl+d ってキーボードショートカットがあるものの、<br />
usbドライブにコピペしつつ古いバイナリは消す、という作業がめんどくさすぎたので</p>
<p>* Downloadsディレクトリを監視<br />
* Remote_LPC1768.binのようなファイルが追加されたら<br />
* /Volumes/MBEDにコピーしつつ<br />
* 古いバイナリを削除<br />
* growlに通知</p>
<p>ということをしてくれるスクリプトを書きました。</p>
<p><img src='http://maaash.jp/wp-content/uploads/2011/10/mbed_growl.png' alt='mbed_growl.png' /></p>
<p>手作業でリセットボタンを押すのはとりあえず今はしょうがないかなあ</p>
<p><script src="https://gist.github.com/1306247.js?file=mbed_watcher.pl"></script></p>
<p>Happy MBED hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/mbed%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e8%87%aa%e5%8b%95%e3%81%a7mbed%e3%81%aeusb%e3%83%89%e3%83%a9%e3%82%a4%e3%83%96%e3%81%ab%e3%82%b3%e3%83%94%e3%83%bc%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iOS5の絵文字とガラケースマホ両対応サービスでどうmysqlに保存するか</title>
		<link>http://maaash.jp/perl/ios5%e3%81%ae%e7%b5%b5%e6%96%87%e5%ad%97%e3%81%a8%e3%82%ac%e3%83%a9%e3%82%b1%e3%83%bc%e3%82%b9%e3%83%9e%e3%83%9b%e4%b8%a1%e5%af%be%e5%bf%9c%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%81%a7%e3%81%a9/</link>
		<comments>http://maaash.jp/perl/ios5%e3%81%ae%e7%b5%b5%e6%96%87%e5%ad%97%e3%81%a8%e3%82%ac%e3%83%a9%e3%82%b1%e3%83%bc%e3%82%b9%e3%83%9e%e3%83%9b%e4%b8%a1%e5%af%be%e5%bf%9c%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%81%a7%e3%81%a9/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 17:33:25 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[emoji]]></category>

		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/ios5%e3%81%ae%e7%b5%b5%e6%96%87%e5%ad%97%e3%81%a8%e3%82%ac%e3%83%a9%e3%82%b1%e3%83%bc%e3%82%b9%e3%83%9e%e3%83%9b%e4%b8%a1%e5%af%be%e5%bf%9c%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%81%a7%e3%81%a9/</guid>
		<description><![CDATA[iOS5から絵文字キーボードで入力した絵文字がUnicode6になったということで、
絵文字キーボードで絵文字を入力するとどんなコードになるのか、ダンプしてみました。
この記事の最後にのっけておきます。
さて
* MySQL5.5以上じゃないと4バイトのutf8は保存できない
* iPhoneで入力した絵文字をガラケーで表示したい
という時に、どうするのがよいのでしょう？
MySQL5.5でないMySQLに何を保存するか、というところで考えるとよいのだろうか
案1)
DBには Encode::JP::Emoji の x-utf8-e4u-mixed を保存する場合
全部の入力 -> decode(&#8217;x-utf8-e4u-mixed&#8217;, $input) -> mysql(mysql_enable_utf8=>1)
出力時に encode(&#8217;x-utf8-e4u-&#8217;. docomo/kddiweb/softbank3g)
案2)
DBには HTTP::MobileAgent::Plugin::Charset を使い、 $mobile_agent->encoding->decode したものを保存
ただし入力にUnicode6絵文字が含まれる場合には
$input =~ s!(\p{InEmojiUnicode})!_unicode6_emoji_to_softbank3g($1)!eg;
_unicode6_emoji_to_softbank3g の中身は：
decode(&#8217;x-utf8-e4u-unicode&#8217;) -> encode(&#8217;x-utf8-e4u-softbank3g&#8217;) -> decode(&#8217;utf8&#8242;) -> mysql(mysql_enable_utf8=>1)

出力時には $mobile_agent->encoding->encode して出す
今までDBには案2の感じでデータがたまってるって歴史的な背景があり、
案2でいきたいが。
iOS5の全絵文字を案2の_unicode6_emoji_to_softbank3gにかけてみると、
国旗の絵文字がいくつか変換できない（参照: https://gist.github.com/1300581 )
さてどうしよう。
参考
Encode::JP::Emojiをつかってみて思ったこと
Encode::JP::Emoji の携帯絵文字コード変換マッピングまとめ

]]></description>
			<content:encoded><![CDATA[<p>iOS5から絵文字キーボードで入力した絵文字がUnicode6になったということで、<br />
絵文字キーボードで絵文字を入力するとどんなコードになるのか、ダンプしてみました。<br />
この記事の最後にのっけておきます。</p>
<p>さて<br />
* MySQL5.5以上じゃないと4バイトのutf8は保存できない<br />
* iPhoneで入力した絵文字をガラケーで表示したい<br />
という時に、どうするのがよいのでしょう？</p>
<p>MySQL5.5でないMySQLに何を保存するか、というところで考えるとよいのだろうか</p>
<p>案1)<br />
DBには <a href="https://metacpan.org/module/Encode::JP::Emoji">Encode::JP::Emoji</a> の x-utf8-e4u-mixed を保存する場合<br />
全部の入力 -> decode(&#8217;x-utf8-e4u-mixed&#8217;, $input) -> mysql(mysql_enable_utf8=>1)<br />
出力時に encode(&#8217;x-utf8-e4u-&#8217;. docomo/kddiweb/softbank3g)</p>
<p>案2)<br />
DBには HTTP::MobileAgent::Plugin::Charset を使い、 $mobile_agent->encoding->decode したものを保存<br />
ただし入力にUnicode6絵文字が含まれる場合には</p>
<p><code>$input =~ s!(\p{InEmojiUnicode})!_unicode6_emoji_to_softbank3g($1)!eg;<br />
_unicode6_emoji_to_softbank3g の中身は：<br />
decode(&#8217;x-utf8-e4u-unicode&#8217;) -> encode(&#8217;x-utf8-e4u-softbank3g&#8217;) -> decode(&#8217;utf8&#8242;) -> mysql(mysql_enable_utf8=>1)<br />
</code></p>
<p>出力時には $mobile_agent->encoding->encode して出す</p>
<p>今までDBには案2の感じでデータがたまってるって歴史的な背景があり、<br />
案2でいきたいが。</p>
<p>iOS5の全絵文字を案2の_unicode6_emoji_to_softbank3gにかけてみると、<br />
国旗の絵文字がいくつか変換できない（参照: <a href="https://gist.github.com/1300581">https://gist.github.com/1300581</a> )<br />
さてどうしよう。</p>
<p>参考<br />
<a href="http://d.hatena.ne.jp/clouder/20090702/p2">Encode::JP::Emojiをつかってみて思ったこと</a><br />
<a href="http://kawa.at.webry.info/201010/article_2.html">Encode::JP::Emoji の携帯絵文字コード変換マッピングまとめ</a></p>
<p><script src="https://gist.github.com/1300581.js?file=ios5_emoji_list.txt"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/ios5%e3%81%ae%e7%b5%b5%e6%96%87%e5%ad%97%e3%81%a8%e3%82%ac%e3%83%a9%e3%82%b1%e3%83%bc%e3%82%b9%e3%83%9e%e3%83%9b%e4%b8%a1%e5%af%be%e5%bf%9c%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%81%a7%e3%81%a9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FaceDetection - Integral Image</title>
		<link>http://maaash.jp/facedetection/facedetection-integral-image/</link>
		<comments>http://maaash.jp/facedetection/facedetection-integral-image/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 01:06:11 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[facedetection]]></category>

		<guid isPermaLink="false">http://maaash.jp/facedetection/facedetection-integral-image/</guid>
		<description><![CDATA[昨日、Flashや画像や音声やらいろいろ強い人とお会いするきっかけがあり、
今まで話したことが無かったので
Marilena (OpenCV顔認識のas3実装）をつくった時に感動した、
Integral Imageというアルゴリズムについて話しました。
一文で説明すると、
二次元配列で表されるデータがある時に（この場合は顔検出する対象の画像の明るさ）
二次元配列の中の矩形範囲のデータの合計を、高速に求める手法です。
発表資料を置いておきますのでよろしければ
integral_image_opencv_face_detection.pdf
計算してみるためのスプレッドシート
Integral Image Calculator

こちらの方がわかりやすいかもしれません
integral imageについて調べた

資料の中に数式が入るとどや顔の度が増しますね なおやんは寝てましたけど
]]></description>
			<content:encoded><![CDATA[<p>昨日、Flashや画像や音声やらいろいろ強い人とお会いするきっかけがあり、<br />
今まで話したことが無かったので<br />
<a href="http://www.libspark.org/wiki/mash/Marilena">Marilena (OpenCV顔認識のas3実装）</a>をつくった時に感動した、<br />
<a href="http://en.wikipedia.org/wiki/Integral_image">Integral Image</a>というアルゴリズムについて話しました。</p>
<p>一文で説明すると、<br />
二次元配列で表されるデータがある時に（この場合は顔検出する対象の画像の明るさ）<br />
二次元配列の中の矩形範囲のデータの合計を、高速に求める手法です。</p>
<p>発表資料を置いておきますのでよろしければ<br />
<a href='http://maaash.jp/wp-content/uploads/2011/08/integral_image_opencv_face_detection.pdf' title='integral_image_opencv_face_detection.pdf'>integral_image_opencv_face_detection.pdf</a></p>
<p>計算してみるためのスプレッドシート<br />
<a href="https://spreadsheets.google.com/spreadsheet/ccc?key=0AnD5zbjWqm3MdG1SRkdiRDdHQzZEVTBGUlA0Y2l6MUE&#038;hl=ja">Integral Image Calculator<br />
</a></p>
<p>こちらの方がわかりやすいかもしれません<br />
<a href="http://d.hatena.ne.jp/soh335/20110825/1314253597">integral imageについて調べた<br />
</a></p>
<p>資料の中に数式が入るとどや顔の度が増しますね なおやんは寝てましたけど</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/facedetection/facedetection-integral-image/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UINavigationController pushViewControllerしてpopViewControllerした時のUIViewControllerのメソッドの呼ばれ方</title>
		<link>http://maaash.jp/iphone/uinavigationcontroller-pushviewcontroller%e3%81%97%e3%81%a6popviewcontroller%e3%81%97%e3%81%9f%e6%99%82%e3%81%aeuiviewcontroller%e3%81%ae%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%81%ae%e5%91%bc%e3%81%b0/</link>
		<comments>http://maaash.jp/iphone/uinavigationcontroller-pushviewcontroller%e3%81%97%e3%81%a6popviewcontroller%e3%81%97%e3%81%9f%e6%99%82%e3%81%aeuiviewcontroller%e3%81%ae%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%81%ae%e5%91%bc%e3%81%b0/#comments</comments>
		<pubDate>Sat, 28 May 2011 21:27:03 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[objective-c]]></category>

		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://maaash.jp/iphone/uinavigationcontroller-pushviewcontroller%e3%81%97%e3%81%a6popviewcontroller%e3%81%97%e3%81%9f%e6%99%82%e3%81%aeuiviewcontroller%e3%81%ae%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%81%ae%e5%91%bc%e3%81%b0/</guid>
		<description><![CDATA[今さらながらmemo
RootViewControllerがapp.navigationControllerの先頭にある
2011-05-28 21:23:43.771 navcontrollertest[12548:207] RootViewController/viewDidLoad
2011-05-28 21:23:43.773 navcontrollertest[12548:207] RootViewController/viewWillAppear:
2011-05-28 21:23:43.775 navcontrollertest[12548:207] RootViewController/viewDidAppear:
そこにSecondViewControllerをpush
    SecondViewController* c = [[SecondViewController alloc] initWithNibName: nil bundle: nil];
    [ self.navigationController pushViewController: c animated: YES ];
    [ c release ];

2011-05-28 21:23:47.191 navcontrollertest[12548:207] SecondViewController/viewDidLoad
2011-05-28 21:23:47.192 navcontrollertest[12548:207] RootViewController/viewWillDisappear:
2011-05-28 21:23:47.192 navcontrollertest[12548:207] SecondViewController/viewWillAppear:
2011-05-28 21:23:47.548 navcontrollertest[12548:207] RootViewController/viewDidDisappear:
2011-05-28 21:23:47.549 navcontrollertest[12548:207] SecondViewController/viewDidAppear:
backボタンを押した
2011-05-28 21:23:53.395 [...]]]></description>
			<content:encoded><![CDATA[<p>今さらながらmemo</p>
<p>RootViewControllerがapp.navigationControllerの先頭にある</p>
<p>2011-05-28 21:23:43.771 navcontrollertest[12548:207] RootViewController/viewDidLoad<br />
2011-05-28 21:23:43.773 navcontrollertest[12548:207] RootViewController/viewWillAppear:<br />
2011-05-28 21:23:43.775 navcontrollertest[12548:207] RootViewController/viewDidAppear:</p>
<p>そこにSecondViewControllerをpush</p>
<p><code>    SecondViewController* c = [[SecondViewController alloc] initWithNibName: nil bundle: nil];<br />
    [ self.navigationController pushViewController: c animated: YES ];<br />
    [ c release ];<br />
</code></p>
<p>2011-05-28 21:23:47.191 navcontrollertest[12548:207] SecondViewController/viewDidLoad<br />
2011-05-28 21:23:47.192 navcontrollertest[12548:207] RootViewController/viewWillDisappear:<br />
2011-05-28 21:23:47.192 navcontrollertest[12548:207] SecondViewController/viewWillAppear:<br />
2011-05-28 21:23:47.548 navcontrollertest[12548:207] RootViewController/viewDidDisappear:<br />
2011-05-28 21:23:47.549 navcontrollertest[12548:207] SecondViewController/viewDidAppear:</p>
<p>backボタンを押した</p>
<p>2011-05-28 21:23:53.395 navcontrollertest[12548:207] SecondViewController/viewWillDisappear:<br />
2011-05-28 21:23:53.396 navcontrollertest[12548:207] RootViewController/viewWillAppear:<br />
2011-05-28 21:23:53.749 navcontrollertest[12548:207] SecondViewController/viewDidDisappear:<br />
2011-05-28 21:23:53.750 navcontrollertest[12548:207] RootViewController/viewDidAppear:<br />
2011-05-28 21:23:53.751 navcontrollertest[12548:207] SecondViewController/dealloc</p>
<p>viewDidUnloadは呼ばれないが、deallocはちゃんと呼ばれている。</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/iphone/uinavigationcontroller-pushviewcontroller%e3%81%97%e3%81%a6popviewcontroller%e3%81%97%e3%81%9f%e6%99%82%e3%81%aeuiviewcontroller%e3%81%ae%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%81%ae%e5%91%bc%e3%81%b0/feed/</wfw:commentRss>
		</item>
		<item>
		<title>how twitter @anywhere works</title>
		<link>http://maaash.jp/perl/how-twitter-anywhere-works/</link>
		<comments>http://maaash.jp/perl/how-twitter-anywhere-works/#comments</comments>
		<pubDate>Sun, 15 May 2011 02:26:08 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[twitter]]></category>

		<category><![CDATA[oauth]]></category>

		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/how-twitter-anywhere-works/</guid>
		<description><![CDATA[ということでOAuth2のImplicitGrant方式（または古いドラフトではUserAgent方式）ってのはどうなってるのか実例を見ようと、twitterの@anywhereのJSのソース(http://platform.twitter.com/anywhere.js)を読んでみた。
JSがminifyされてるので JsDecoder で読みやすくしたり
ChromeのDeveloper ToolsでどんなURLにアクセスしてるのか見てさらに掘り進んでいったり。
blog.twitter.comに@anywhereがはいってるのでそこで確認してみた。

@Twitter にマウスオーバーするとオーバーレイが出て「フォローする」ってボタンがある
それを押すとポップアップが開き、oauth2の、Clientを認証するか？って聞くダイアログが出るっぽいURL（https://oauth.twitter.com/2/authorize?oauth_callback_url=&#8230;略）だが、まずはTwitterにログインするためのTwitterID(またはメアド)とパスワードが聞かれるフォームが表示される、ただしsubmitボタンが「連携する」になってる
「連携する」を押すと、リダイレクトされ、#以降に何やら入っているURLがちらっと表示された後に、ポップアップが閉じる
何事もなかったかのようだが、もう一度 @Twitter にマウスオーバーすると、「フォローしている」と表示される

ここでおもむろにConsoleで
localStorage.twttr_anywhere
とうつと、なにやらtokenがあるようだ。
localStorage.twttr_anywhere_expiry
というのもあって、2時間の有効期限を表して自分で無効化したりするのかな
＠Twitterをフォローするリクエストは、これを使って行なわれたようだ。iframe使ったクロスドメインかな
Chrome Developer ToolsのNetworkタブに履歴が残っていたのでそれを再現すると、こんな感じ。
 
OAuth2のaccess_tokenのような権力をもつtokenだがAuthorizationヘッダが必要な何かみたい。
ということで、JSのみでaccess_tokenとってきたらlocalStorageにいれておいてあって、
それをフォローしたりするリクエストで使っていることがわかりました。
localStorageは
User agents must raise a SECURITY_ERR exception whenever any of the members of a Storage object originally returned by the localStorage attribute are accessed by scripts whose effective script origin is not the same as the origin of the Document of the Window object on which [...]]]></description>
			<content:encoded><![CDATA[<p>ということでOAuth2のImplicitGrant方式（または古いドラフトではUserAgent方式）ってのはどうなってるのか実例を見ようと、twitterの@anywhereのJSのソース(<a href="http://platform.twitter.com/anywhere.js">http://platform.twitter.com/anywhere.js</a>)を読んでみた。</p>
<p>JSがminifyされてるので <a href="http://www.gosu.pl/decoder/">JsDecoder</a> で読みやすくしたり<br />
ChromeのDeveloper ToolsでどんなURLにアクセスしてるのか見てさらに掘り進んでいったり。</p>
<p>blog.twitter.comに@anywhereがはいってるのでそこで確認してみた。</p>
<ol>
<li>@Twitter にマウスオーバーするとオーバーレイが出て「フォローする」ってボタンがある</li>
<li>それを押すとポップアップが開き、oauth2の、Clientを認証するか？って聞くダイアログが出るっぽいURL（https://oauth.twitter.com/2/authorize?oauth_callback_url=&#8230;略）だが、まずはTwitterにログインするためのTwitterID(またはメアド)とパスワードが聞かれるフォームが表示される、ただしsubmitボタンが「連携する」になってる</li>
<li>「連携する」を押すと、リダイレクトされ、#以降に何やら入っているURLがちらっと表示された後に、ポップアップが閉じる</li>
<li>何事もなかったかのようだが、もう一度 @Twitter にマウスオーバーすると、「フォローしている」と表示される</li>
</ol>
<p>ここでおもむろにConsoleで<br />
localStorage.twttr_anywhere<br />
とうつと、なにやらtokenがあるようだ。<br />
localStorage.twttr_anywhere_expiry<br />
というのもあって、2時間の有効期限を表して自分で無効化したりするのかな</p>
<p>＠Twitterをフォローするリクエストは、これを使って行なわれたようだ。iframe使ったクロスドメインかな<br />
Chrome Developer ToolsのNetworkタブに履歴が残っていたのでそれを再現すると、こんな感じ。</p>
<p><script src="https://gist.github.com/972385.js"> </script></p>
<p>OAuth2のaccess_tokenのような権力をもつtokenだがAuthorizationヘッダが必要な何かみたい。</p>
<p>ということで、JSのみでaccess_tokenとってきたらlocalStorageにいれておいてあって、<br />
それをフォローしたりするリクエストで使っていることがわかりました。<br />
localStorageは</p>
<blockquote><p>User agents must raise a SECURITY_ERR exception whenever any of the members of a Storage object originally returned by the localStorage attribute are accessed by scripts whose effective script origin is not the same as the origin of the Document of the Window object on which the localStorage attribute was accessed.
</p></blockquote>
<p><a href="http://dev.w3.org/html5/webstorage/#security-localStorage">http://dev.w3.org/html5/webstorage/#security-localStorage</a></p>
<p>だからaccess_tokenをAuthzサーバからClientにリダイレクトしてきたURLの#から誰よりも早く取り出して、<br />
localStorageに保存して、<br />
他のスクリプトからは取れなく（window.closeなど)すれば<br />
安全だってことでいいのかな？</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/how-twitter-anywhere-works/feed/</wfw:commentRss>
		</item>
		<item>
		<title>yokohama.pm #7行ってきた</title>
		<link>http://maaash.jp/perl/yokohamapm-7%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9f/</link>
		<comments>http://maaash.jp/perl/yokohamapm-7%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9f/#comments</comments>
		<pubDate>Sat, 14 May 2011 01:00:34 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[oauth2]]></category>

		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/yokohamapm-7%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9f/</guid>
		<description><![CDATA[今日来てた人たちのモジュールやコードを使わせていただいているなー、
っていろんな人の顔を見ながら思った！
発表資料
yokohama.pm slide ナカマップのなにか
最後の方のコードはいろいろおかしいので参考になさらないほうがよいでしょう。
でもSocket.IOはクライアント側すごく短くかけてドメイン超えれるし魅力的だなー
なんとかしたい
なんとかしようと思ったときに、
Authorization Code方式(またはImplicit Grant方式）でaccess_token取得した後に、
そのaccess_tokenをSocket.IOのJavaScriptクライアントに渡せるとよいが、どういう経路で安全に渡すことができるんだろう。
Twitterの@anywhereのドキュメントには、
PLAIN TEXT
CODE:




The higher the anywhere.js file is on the page, the sooner it can process the access token. 






ってある。
OAuth2のImplicit Grant方式では
Authorization Serverからリダイレクトされてきた時にaccess_tokenが#フラグメント以降に入ってるんだけど
それを他のJavaScriptコードとかから読み取られる前（最初のscriptタグ）にanywhere.jsがあれば
安全ってことなのかな？
上の方にanywhere.js置いてね、って書いてあるけど
スクリプト設置した人が下の方においたら、htmlの上から設置場所までの間にxssでなんか仕込めたらTwitterのaccess_tokenとられちゃうんだよね？
access_tokenの有効期限が短いってことだけどそれでいいのかな？
で@anywhere使ってTwitter認証してリダイレクトされてきたらTwitterにログイン状態で
@anywhereの貼ってあるページ上で誰かをフォローできる、ってことは
access_tokenなのか同様の力を持つものがブラウザにCookieなりlocalStorageなりで保存されてるってこと？
CSRF対策用のトークンみたいなワンタイムな感じなのかな？
わからないことが多すぎる＞＜
anywhere.js を読んでみよう
]]></description>
			<content:encoded><![CDATA[<p>今日来てた人たちのモジュールやコードを使わせていただいているなー、<br />
っていろんな人の顔を見ながら思った！</p>
<p>発表資料<br />
<a href="http://jsdo.it/mash/fjFu/fullscreen">yokohama.pm slide ナカマップのなにか</a></p>
<p>最後の方のコードはいろいろおかしいので参考になさらないほうがよいでしょう。<br />
でもSocket.IOはクライアント側すごく短くかけてドメイン超えれるし魅力的だなー<br />
なんとかしたい</p>
<p>なんとかしようと思ったときに、<br />
Authorization Code方式(またはImplicit Grant方式）でaccess_token取得した後に、<br />
そのaccess_tokenをSocket.IOのJavaScriptクライアントに渡せるとよいが、どういう経路で安全に渡すことができるんだろう。</p>
<p><a href="http://dev.twitter.com/anywhere/begin">Twitterの@anywhereのドキュメント</a>には、</p>
<div class="igBar"><span id="lcode-2"><a href="#" onclick="javascript:showPlainTxt('code-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-2">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">The higher the anywhere.<span style="">js</span> file is on the page, the sooner it can process the access token. </div>
</li>
</ol>
</div>
</div>
</div>
<p>
ってある。</p>
<p>OAuth2のImplicit Grant方式では<br />
Authorization Serverからリダイレクトされてきた時にaccess_tokenが#フラグメント以降に入ってるんだけど<br />
それを他のJavaScriptコードとかから読み取られる前（最初のscriptタグ）にanywhere.jsがあれば<br />
安全ってことなのかな？</p>
<p>上の方にanywhere.js置いてね、って書いてあるけど<br />
スクリプト設置した人が下の方においたら、htmlの上から設置場所までの間にxssでなんか仕込めたらTwitterのaccess_tokenとられちゃうんだよね？</p>
<p>access_tokenの有効期限が短いってことだけどそれでいいのかな？</p>
<p>で@anywhere使ってTwitter認証してリダイレクトされてきたらTwitterにログイン状態で<br />
@anywhereの貼ってあるページ上で誰かをフォローできる、ってことは<br />
access_tokenなのか同様の力を持つものがブラウザにCookieなりlocalStorageなりで保存されてるってこと？<br />
CSRF対策用のトークンみたいなワンタイムな感じなのかな？</p>
<p>わからないことが多すぎる＞＜<br />
anywhere.js を読んでみよう</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/yokohamapm-7%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9f/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Math::Random::MT benchmark</title>
		<link>http://maaash.jp/perl/mathrandommt-benchmark/</link>
		<comments>http://maaash.jp/perl/mathrandommt-benchmark/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 12:12:10 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/mathrandommt-benchmark/</guid>
		<description><![CDATA[randのばらつき方が均等になる、という理由でMath::Random::MTが使われているようです。（身近で
macにXS版を入れようとすると
In file included from _mt.c:1:
mt.h:17: error: expected specifier-qualifier-list before ‘uint32_t’
mt.h:21: error: expected ‘)’ before ‘seed’
mt.h:22: error: expected ‘)’ before ‘*’ token
_mt.c:17: error: expected declaration specifiers or ‘...’ before ‘uint32_t’
_mt.c: In function ‘mt_init_seed’:
_mt.c:20: error: ‘uint32_t’ undeclared (first use in this function)
_mt.c:20: error: (Each undeclared identifier is reported only once
_mt.c:20: error: for each function it appears in.)
_mt.c:20: [...]]]></description>
			<content:encoded><![CDATA[<p>randのばらつき方が均等になる、という理由で<a href="http://search.cpan.org/~ams/Math-Random-MT-1.11/">Math::Random::MT</a>が使われているようです。（身近で</p>
<p>macにXS版を入れようとすると<br />
<code>In file included from _mt.c:1:<br />
mt.h:17: error: expected specifier-qualifier-list before ‘uint32_t’<br />
mt.h:21: error: expected ‘)’ before ‘seed’<br />
mt.h:22: error: expected ‘)’ before ‘*’ token<br />
_mt.c:17: error: expected declaration specifiers or ‘...’ before ‘uint32_t’<br />
_mt.c: In function ‘mt_init_seed’:<br />
_mt.c:20: error: ‘uint32_t’ undeclared (first use in this function)<br />
_mt.c:20: error: (Each undeclared identifier is reported only once<br />
_mt.c:20: error: for each function it appears in.)<br />
_mt.c:20: error: ‘mt’ undeclared (first use in this function)<br />
_mt.c:22: error: ‘struct mt’ has no member named ‘mt’<br />
_mt.c:23: error: ‘seed’ undeclared (first use in this function)<br />
</code></p>
<p>っていうようなエラーがでてmakeがこけるところは、</p>
<p><code><br />
#if defined(_MSC_VER) &#038;& (_MSC_VER < = 1300)<br />
typedef unsigned __int32 uint32_t;<br />
#elif defined(__linux__) || defined(__GLIBC__) || defined(__WIN32__)<br />
#include <stdint.h><br />
#elif defined(__osf__)<br />
#include <inttypes .h><br />
#else<br />
#include <sys /types.h><br />
#endif<br />
</sys></inttypes></code></p>
<p>このifdefがうまくいってないようだったのでとりあえず<br />
<code>#include &lt;inttypes.h&gt;</code><br />
と手で書いてあげたりするとうまくmake &#038;& make testが通るようになりました<br />
この辺はどう書くのが鉄板なんでしょうね？</p>
<p>ということでベンチマーク</p>
<p><script src="http://gist.github.com/536889.js?file=rand.pl"></script></p>
<p>ここがボトルネックになることはあまり無いとは思いますが。</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/mathrandommt-benchmark/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iTunesの重複曲を削除する - perl</title>
		<link>http://maaash.jp/perl/itunes%e3%81%ae%e9%87%8d%e8%a4%87%e6%9b%b2%e3%82%92%e5%89%8a%e9%99%a4%e3%81%99%e3%82%8b-perl/</link>
		<comments>http://maaash.jp/perl/itunes%e3%81%ae%e9%87%8d%e8%a4%87%e6%9b%b2%e3%82%92%e5%89%8a%e9%99%a4%e3%81%99%e3%82%8b-perl/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 10:54:16 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/itunes%e3%81%ae%e9%87%8d%e8%a4%87%e6%9b%b2%e3%82%92%e5%89%8a%e9%99%a4%e3%81%99%e3%82%8b-perl/</guid>
		<description><![CDATA[家のPCのWindowsを入れなおすついでに家のiTunesとmacbookのiTunesの中身を同期しようと思い、何も考えずにiTunesのホームネットワークに追加して曲をコピペしたら大量に重複曲ができていっこいっこ手で削除するなんてめんどくさくてできない場合の話。
iTunesには「重複する項目を表示」って機能はあるのに重複してる曲を削除する、っていう便利機能は無い。
ただし、同じアーティスト名、同じアルバム名（つまり同じディレクトリ）の同名曲は、
ファイル名の末尾に数字をつけてincrementしていく、ってルールでコピーしてきたファイルを置くようだ。
そこで、perlで重複曲を削除してみる

% perl remove-duplicate.pl /Users/mash/Music/iTunes/iTunes\ Media/Music/

って実行すると重複してるっぽい曲だけ消してくれる
その後、実体が無いけど曲のリストがあるiTunesを開き、上から順に →カーソルキー を押しっぱなしにしたりすると

のようにびっくりマークがつくので、表示項目に「追加日」を追加して、
びっくりマークを目印に、複数選択しながら消していくとまあ許容できるめんどくささになった
Term::Prompt がなんか楽しくて意味もなく "really?" とか聞くちょっとしたスクリプトを書く今日このごろ
PS. iTunes Music Library.xml をいっしょに編集したりすればもっと簡単なのかもしれない
]]></description>
			<content:encoded><![CDATA[<p>家のPCのWindowsを入れなおすついでに家のiTunesとmacbookのiTunesの中身を同期しようと思い、何も考えずにiTunesのホームネットワークに追加して曲をコピペしたら大量に重複曲ができていっこいっこ手で削除するなんてめんどくさくてできない場合の話。</p>
<p>iTunesには「重複する項目を表示」って機能はあるのに重複してる曲を削除する、っていう便利機能は無い。</p>
<p>ただし、同じアーティスト名、同じアルバム名（つまり同じディレクトリ）の同名曲は、<br />
ファイル名の末尾に数字をつけてincrementしていく、ってルールでコピーしてきたファイルを置くようだ。</p>
<p>そこで、perlで重複曲を削除してみる</p>
<p><script src="http://gist.github.com/507495.js?file=remove-duplicate-files-from-itunes.pl"></script></p>
<p><code>% perl remove-duplicate.pl /Users/mash/Music/iTunes/iTunes\ Media/Music/<br />
</code></p>
<p>って実行すると重複してるっぽい曲だけ消してくれる</p>
<p>その後、実体が無いけど曲のリストがあるiTunesを開き、上から順に →カーソルキー を押しっぱなしにしたりすると</p>
<p><img src="http://gyazo.com/927944080d5754616af10ffa74b63614.png" /></p>
<p>のようにびっくりマークがつくので、表示項目に「追加日」を追加して、<br />
びっくりマークを目印に、複数選択しながら消していくとまあ許容できるめんどくささになった</p>
<p><code>Term::Prompt</code> がなんか楽しくて意味もなく "really?" とか聞くちょっとしたスクリプトを書く今日このごろ</p>
<p>PS. iTunes Music Library.xml をいっしょに編集したりすればもっと簡単なのかもしれない</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/itunes%e3%81%ae%e9%87%8d%e8%a4%87%e6%9b%b2%e3%82%92%e5%89%8a%e9%99%a4%e3%81%99%e3%82%8b-perl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>daemontoolsのmultilogでエラーだけ抜き出す</title>
		<link>http://maaash.jp/daemontools/daemontools%e3%81%aemultilog%e3%81%a7%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%a0%e3%81%91%e6%8a%9c%e3%81%8d%e5%87%ba%e3%81%99/</link>
		<comments>http://maaash.jp/daemontools/daemontools%e3%81%aemultilog%e3%81%a7%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%a0%e3%81%91%e6%8a%9c%e3%81%8d%e5%87%ba%e3%81%99/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 19:28:05 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[daemontools]]></category>

		<guid isPermaLink="false">http://maaash.jp/daemontools/daemontools%e3%81%aemultilog%e3%81%a7%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%a0%e3%81%91%e6%8a%9c%e3%81%8d%e5%87%ba%e3%81%99/</guid>
		<description><![CDATA[ここ： multilogによるログ収集 を読みましょう

この設定は：
- t: タイムスタンプつける
- 全部の行をこのrunスクリプトのあるディレクトリに吐く ファイルサイズ最大16MBで１００世代まで
- [error]の含まれる行のみを errorsディレクトリ以下に吐く ファイルサイズ最大16MBで１００世代まで
svc -u /service/app/log

ってするとmultilogが立ち上がって、runスクリプトのあるディレクトリ、errorsディレクトリにcurrentって空のファイルができる
appのログに[error]の含まれる行が出てきたら、
errors/current ってファイルに書き込まれるので、
errors/current ってファイルを監視してれば眠れない夜になったりならなかったり
svc -a /service/app/log

ってするとログローテーションされてcurrentはまた空ファイルになるのでいらっとしたらこれ。
]]></description>
			<content:encoded><![CDATA[<p>ここ： <a href="http://quox.org/tips/server/daemontools.html#multilog">multilogによるログ収集</a> を読みましょう</p>
<p><script src="http://gist.github.com/455677.js"></script><br />
この設定は：<br />
- t: タイムスタンプつける<br />
- 全部の行をこのrunスクリプトのあるディレクトリに吐く ファイルサイズ最大16MBで１００世代まで<br />
- [error]の含まれる行のみを errorsディレクトリ以下に吐く ファイルサイズ最大16MBで１００世代まで</p>
<p><code>svc -u /service/app/log<br />
</code></p>
<p>ってするとmultilogが立ち上がって、runスクリプトのあるディレクトリ、errorsディレクトリにcurrentって空のファイルができる</p>
<p>appのログに[error]の含まれる行が出てきたら、<br />
errors/current ってファイルに書き込まれるので、<br />
errors/current ってファイルを監視してれば眠れない夜になったりならなかったり</p>
<p><code>svc -a /service/app/log<br />
</code></p>
<p>ってするとログローテーションされてcurrentはまた空ファイルになるのでいらっとしたらこれ。</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/daemontools/daemontools%e3%81%aemultilog%e3%81%a7%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%a0%e3%81%91%e6%8a%9c%e3%81%8d%e5%87%ba%e3%81%99/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WWW::Mechanize::Firefoxで簡単スクリーンショット</title>
		<link>http://maaash.jp/perl/wwwmechanizefirefox%e3%81%a7%e7%b0%a1%e5%8d%98%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88/</link>
		<comments>http://maaash.jp/perl/wwwmechanizefirefox%e3%81%a7%e7%b0%a1%e5%8d%98%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88/#comments</comments>
		<pubDate>Wed, 19 May 2010 17:06:22 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://maaash.jp/perl/wwwmechanizefirefox%e3%81%a7%e7%b0%a1%e5%8d%98%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88/</guid>
		<description><![CDATA[WWW::Mechanize::Firefox-すごいな
mozreplと組み合わせてこんなコードで簡単にスクリーンショットがとれる

perl mechanize-firefox.pl "yahoo.co.jp" yahoo.png
とかってやってとれたスクリーンショットはこんな

write error: filehandle isn't open at /path/to/MozRepl/Client.pm line 186

とかって出たらFirefoxのmozreplが立ち上がってない。
maximum input buffer length exceeded: 1048576 bytes at /path/to/MozRepl/Client.pm line 186

とかって出たらmozreplとperlスクリプトのtelnetのバッファが足りないようなのでgistにあるbufsizeを大きめにとる
PS: 開いてるFirefoxでとったのでMacBookProの解像度を活かしてサイズは(1899 x 1607)になってるのは自慢です
]]></description>
			<content:encoded><![CDATA[<p><a href="http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.18/">WWW::Mechanize::Firefox-</a>すごいな<br />
<a href="http://wiki.github.com/bard/mozrepl/tutorial">mozrepl</a>と組み合わせてこんなコードで簡単にスクリーンショットがとれる</p>
<p><script src="http://gist.github.com/406076.js?file=mechanize-firefox.pl"></script></p>
<p><code>perl mechanize-firefox.pl "yahoo.co.jp" yahoo.png</code><br />
とかってやってとれたスクリーンショットはこんな<br />
<a href="http://www.flickr.com/photos/99687464@N00/4620564475/" title="yahoo by maaashjp, on Flickr"><img src="http://farm5.static.flickr.com/4054/4620564475_e162124ffa_m.jpg" width="240" height="203" alt="yahoo" /></a></p>
<p><code>write error: filehandle isn't open at /path/to/MozRepl/Client.pm line 186<br />
</code><br />
とかって出たらFirefoxのmozreplが立ち上がってない。</p>
<p><code>maximum input buffer length exceeded: 1048576 bytes at /path/to/MozRepl/Client.pm line 186<br />
</code><br />
とかって出たらmozreplとperlスクリプトのtelnetのバッファが足りないようなのでgistにあるbufsizeを大きめにとる</p>
<p>PS: 開いてるFirefoxでとったのでMacBookProの解像度を活かしてサイズは(1899 x 1607)になってるのは自慢です</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/perl/wwwmechanizefirefox%e3%81%a7%e7%b0%a1%e5%8d%98%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88/feed/</wfw:commentRss>
		</item>
		<item>
		<title>cant use webcam in Firefox3.6.3 + Flash Player 10 + Mac OSX10.6.3</title>
		<link>http://maaash.jp/diary/cant-use-webcam-in-firefox363-flash-player-10-mac-osx1063/</link>
		<comments>http://maaash.jp/diary/cant-use-webcam-in-firefox363-flash-player-10-mac-osx1063/#comments</comments>
		<pubDate>Thu, 13 May 2010 21:06:32 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[diary]]></category>

		<guid isPermaLink="false">http://maaash.jp/diary/cant-use-webcam-in-firefox363-flash-player-10-mac-osx1063/</guid>
		<description><![CDATA[今日、奇妙なFirefoxのバグ？に遭遇
ウェブカムを使うFlashで、Camera.getCameraしたCameraインスタンスをVideo.attachCameraしたりするときに、
Flashの設定パネルが表示されて、

この「許可」をクリックするとカメラから画像がとれるようになるんですが、
Firefox3.6.3 + Flash Player 10,0,42,34 + MacOSX 10.6.3
で、これがクリック出来ないんですね。周りにも何人かいたから近いバージョンでも起こるっぽい。
クリックできないから許可できないので進まない。
HTMLの要素をカットして戻して、とかってやりながら原因を切り分けていくと、、原因、というかこうなおすと直った、のはCSS
CSSの差分はこんな
PLAIN TEXT
CSS:




667c673,674


&#60;width:465px;


---


&#62; /* width:465px; */


&#62; text-align: center;


670c677


&#60;width: 465px;


---


&#62; /* width: 465px; */


673c680


&#60;border-right:1px solid #e6e6e6;


---


&#62; /* border-right:1px solid #e6e6e6; */ 






これでFlash Playerからウェブカム使えるかどうか変わるとかありえねー
けど実際ありえた
参考になるだろうと思って最小のHTMLとCSSで再現パターンつくろうと思ったけど他にも周りの要素が関係してそうだったのでめんどくさくて断念。
Firefox3.6.4のbetaでは起こらなかったようなので、一時的な不具合かもしれない。
幸運をいのる。
P.S. macにしましたよ
]]></description>
			<content:encoded><![CDATA[<p>今日、奇妙なFirefoxのバグ？に遭遇</p>
<p>ウェブカムを使うFlashで、Camera.getCameraしたCameraインスタンスをVideo.attachCameraしたりするときに、</p>
<p>Flashの設定パネルが表示されて、<br />
<img src="http://gyazo.com/b9516a686791a69ada7bec5d2e516bfa.png" alt="flash security panel" /><br />
この「許可」をクリックするとカメラから画像がとれるようになるんですが、</p>
<p>Firefox3.6.3 + Flash Player 10,0,42,34 + MacOSX 10.6.3<br />
で、これがクリック出来ないんですね。周りにも何人かいたから近いバージョンでも起こるっぽい。<br />
クリックできないから許可できないので進まない。</p>
<p>HTMLの要素をカットして戻して、とかってやりながら原因を切り分けていくと、、原因、というかこうなおすと直った、のはCSS</p>
<p>CSSの差分はこんな</p>
<div class="igBar"><span id="lcss-4"><a href="#" onclick="javascript:showPlainTxt('css-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CSS:</span>
<div id="css-4">
<div class="css">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">667c673,<span style="color: #cc66cc;color:#800000;">674</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;width:465px;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">---</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&gt; <span style="color: #808080; font-style: italic;">/* width:465px; */</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&gt; <span style="color: #000000; font-weight: bold;">text-align</span>: <span style="color: #993333;">center</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">670c677</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;width: 465px;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">---</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&gt; <span style="color: #808080; font-style: italic;">/* width: 465px; */</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">673c680</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;border-right<span style="color: #3333ff;">:1px </span>solid #e6e6e6;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">---</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&gt; <span style="color: #808080; font-style: italic;">/* border-right:1px solid #e6e6e6; */</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>これでFlash Playerからウェブカム使えるかどうか変わるとかありえねー<br />
けど実際ありえた</p>
<p>参考になるだろうと思って最小のHTMLとCSSで再現パターンつくろうと思ったけど他にも周りの要素が関係してそうだったのでめんどくさくて断念。</p>
<p>Firefox3.6.4のbetaでは起こらなかったようなので、一時的な不具合かもしれない。<br />
幸運をいのる。</p>
<p>P.S. macにしましたよ</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/diary/cant-use-webcam-in-firefox363-flash-player-10-mac-osx1063/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Context Free Art for Actionscript3/Flash</title>
		<link>http://maaash.jp/actionscript3/context-free-art-for-actionscript3flash/</link>
		<comments>http://maaash.jp/actionscript3/context-free-art-for-actionscript3flash/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 15:29:35 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[contextfreeart]]></category>

		<category><![CDATA[actionscript3]]></category>

		<guid isPermaLink="false">http://maaash.jp/actionscript3/context-free-art-for-actionscript3flash/</guid>
		<description><![CDATA[FITC Amsterdam 2010で得た刺激を形にした1つ目
Context Free Artをas3でつくるためのライブラリをつくりました。
sourcecode: http://github.com/mash/ContextFreeArt-AS3
sample:
faster Tree - ContextFreeArtAS3 - wonderfl build flash online
cfdgは本家と同じフォーマットで記述して、
StringをContextFreeArtクラスに渡してaddChildすれば描画されたContextFreeArtを見られる、という簡単仕様。
PLAIN TEXT
Actionscript:




var art :ContextFreeArt = new ContextFreeArt&#40; cfdg &#41;;


addChild&#40; art &#41;; 






javascript+CanvasによるContext Free Artの実装があったのでそれを移植する＋Flash向けに最適化（@nutsu ++）しただけですね
jsの方の例はこちら
再帰を繰り返してベクターが多くなってきた時に描画が重くなるのを解決できたらなー
描画しおわった、removeChildされた後に掃除したりするのを追加したら、swcにしてwonderflにライブラリとして追加しようー
ContextFreeArtクラスはただのSprite継承したものなので、ContextFreeArtをBox2Dの世界につっこんだり、マウスとインタラクションしたり、いろいろ試してほしいものです。
まだ対応していないcfdg文法もたくさんあるので、興味をもった方はgithubでforkしてほしいです！
]]></description>
			<content:encoded><![CDATA[<p>FITC Amsterdam 2010で得た刺激を形にした1つ目</p>
<p>Context Free Artをas3でつくるためのライブラリをつくりました。<br />
sourcecode: <a href="http://github.com/mash/ContextFreeArt-AS3">http://github.com/mash/ContextFreeArt-AS3</a><br />
sample:</p>
<div style="text-align:center;width:465px;"><iframe title="faster Tree - ContextFreeArtAS3 - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/65186c72f5cd41fa981dd6ed3177ad47cfac3dc7" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/65186c72f5cd41fa981dd6ed3177ad47cfac3dc7" title="faster Tree - ContextFreeArtAS3 - wonderfl build flash online">faster Tree - ContextFreeArtAS3 - wonderfl build flash online</a></div>
<p><a href="http://contextfreeart.org/mediawiki/index.php/CFDG_HOWTO">cfdgは本家と同じフォーマット</a>で記述して、<br />
StringをContextFreeArtクラスに渡してaddChildすれば描画されたContextFreeArtを見られる、という簡単仕様。</p>
<div class="igBar"><span id="lactionscript-6"><a href="#" onclick="javascript:showPlainTxt('actionscript-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-6">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">var</span> art :ContextFreeArt = <span style="color: #000000; font-weight: bold;">new</span> ContextFreeArt<span style="color: #66cc66;">&#40;</span> cfdg <span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">addChild<span style="color: #66cc66;">&#40;</span> art <span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><a href="http://code.google.com/p/contextfree/">javascript+CanvasによるContext Free Artの実装</a>があったのでそれを移植する＋Flash向けに最適化（<a href="http://twitter.com/nutsu">@nutsu</a> ++）しただけですね<br />
<a href="http://azarask.in/projects/contextfree/showcase.html">jsの方の例はこちら</a></p>
<p>再帰を繰り返してベクターが多くなってきた時に描画が重くなるのを解決できたらなー<br />
描画しおわった、removeChildされた後に掃除したりするのを追加したら、swcにしてwonderflにライブラリとして追加しようー<br />
ContextFreeArtクラスはただのSprite継承したものなので、ContextFreeArtをBox2Dの世界につっこんだり、マウスとインタラクションしたり、いろいろ試してほしいものです。<br />
まだ対応していない<a href="http://github.com/mash/ContextFreeArt-AS3/blob/master/todo.txt">cfdg文法もたくさんある</a>ので、興味をもった方はgithubでforkしてほしいです！</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/actionscript3/context-free-art-for-actionscript3flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FITC Amsterdam 2010で話してきました</title>
		<link>http://maaash.jp/wonderfl/fitc-amsterdam-2010%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/</link>
		<comments>http://maaash.jp/wonderfl/fitc-amsterdam-2010%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 15:06:31 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[actionscript3]]></category>

		<category><![CDATA[fitc]]></category>

		<category><![CDATA[wonderfl]]></category>

		<guid isPermaLink="false">http://maaash.jp/wonderfl/fitc-amsterdam-2010%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/</guid>
		<description><![CDATA[2/19～2/24だったのでもう1ヶ月になってしまいますね。びびる！
ではプレゼン資料をどうぞ。
Fitc Amsterdam 2010



View more presentations from Masakazu Ohtsuka.

@mariroomがiPhoneから撮ってくれた録画はこちら
slideshareでプレゼン資料からリンクしたい！けどできないので
http://twitter/maaash
http://www.kayac.com/
http://wonderfl.net/
Explore wonderfl
http://wonderfl.net/codes
http://wonderfl.net/tags
My Favorites
http://wonderfl.net/tag/graphics
http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc
http://wonderfl.net/tag/particle
http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca
http://wonderfl.net/tag/3d
http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73
http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e
http://wonderfl.net/tag/sound
http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d
http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96
http://wonderfl.net/tag/game
http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef
Supported libraries
http://wonderfl.net/libraries
Fastest when you want samples
http://www.google.com/search?q=papervision3d
http://wonderfl.net/search?q=papervision3d
Cool idea of actionscriptbible
by Roger Braunstein
http://wonderfl.net/user/actionscriptbible
Collaboration example:
http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346
http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10
http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703
http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78
http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4
Flash LIVE Coding
http://wonderfl.net/live
]]></description>
			<content:encoded><![CDATA[<p>2/19～2/24だったのでもう1ヶ月になってしまいますね。びびる！<br />
ではプレゼン資料をどうぞ。</p>
<div style="width:425px" id="__ss_3280884"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/maaash/fitc-amsterdam-2010" title="Fitc Amsterdam 2010">Fitc Amsterdam 2010</a></strong><object width="425" height="355">
<param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fitc-amsterdam-2010-100225212940-phpapp02&#038;rel=0&#038;stripped_title=fitc-amsterdam-2010" />
<param name="allowFullScreen" value="true"/>
<param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fitc-amsterdam-2010-100225212940-phpapp02&#038;rel=0&#038;stripped_title=fitc-amsterdam-2010" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/maaash">Masakazu Ohtsuka</a>.</div>
</div>
<p>@mariroomが<a href="http://www.ustream.tv/recorded/4925201">iPhoneから撮ってくれた録画はこちら</a></p>
<p>slideshareでプレゼン資料からリンクしたい！けどできないので</p>
<p><a href="http://twitter/maaash">http://twitter/maaash</a><br />
<a href="http://www.kayac.com/">http://www.kayac.com/</a><br />
<a href="http://wonderfl.net/">http://wonderfl.net/</a></p>
<p>Explore wonderfl<br />
<a href="http://wonderfl.net/codes">http://wonderfl.net/codes</a><br />
<a href="http://wonderfl.net/tags">http://wonderfl.net/tags</a></p>
<p>My Favorites<br />
<a href="http://wonderfl.net/tag/graphics">http://wonderfl.net/tag/graphics</a><br />
<a href="http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc">http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc</a><br />
<a href="http://wonderfl.net/tag/particle">http://wonderfl.net/tag/particle</a><br />
<a href="http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca">http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca</a><br />
<a href="http://wonderfl.net/tag/3d">http://wonderfl.net/tag/3d</a><br />
<a href="http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73">http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73</a><br />
<a href="http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e">http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e</a><br />
<a href="http://wonderfl.net/tag/sound">http://wonderfl.net/tag/sound</a><br />
<a href="http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d">http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d</a><br />
<a href="http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96">http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96</a><br />
<a href="http://wonderfl.net/tag/game">http://wonderfl.net/tag/game</a><br />
<a href="http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef">http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef</a></p>
<p>Supported libraries<br />
<a href="http://wonderfl.net/libraries">http://wonderfl.net/libraries</a></p>
<p>Fastest when you want samples<br />
<a href="http://www.google.com/search?q=papervision3d">http://www.google.com/search?q=papervision3d</a><br />
<a href="http://wonderfl.net/search?q=papervision3d">http://wonderfl.net/search?q=papervision3d</a></p>
<p>Cool idea of actionscriptbible<br />
by Roger Braunstein<br />
<a href="http://wonderfl.net/user/actionscriptbible">http://wonderfl.net/user/actionscriptbible</a></p>
<p>Collaboration example:<br />
<a href="http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346">http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346</a><br />
<a href="http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10">http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10</a><br />
<a href="http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703">http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703</a><br />
<a href="http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78">http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78</a><br />
<a href="http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4">http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4</a></p>
<p>Flash LIVE Coding<br />
<a href="http://wonderfl.net/live">http://wonderfl.net/live</a></p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/wonderfl/fitc-amsterdam-2010%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/feed/</wfw:commentRss>
		</item>
		<item>
		<title>wonderfl本</title>
		<link>http://maaash.jp/flash/wonderfl%e6%9c%ac/</link>
		<comments>http://maaash.jp/flash/wonderfl%e6%9c%ac/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 11:40:35 +0900</pubDate>
		<dc:creator>mash</dc:creator>
		
		<category><![CDATA[actionscript3]]></category>

		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://maaash.jp/flash/wonderfl%e6%9c%ac/</guid>
		<description><![CDATA[


ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―
posted with amazlet at 09.12.23

面白法人カヤック フォークビッツ ワークスコーポレーション 売り上げランキング: 3750
Amazon.co.jp で詳細を見る



wonderfl本、出ましたね。自分は、「はじめに」と「１－１」を担当させていただきました。
これからFlashやActionscript3をはじめたい、という初心者にとっては本当に役に立つサービス＆本だと思いますので、よろしければ読んでみてください。
]]></description>
			<content:encoded><![CDATA[<div class="amazlet-box" style="margin-bottom:0px;">
<div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/316QNrvuYzL._SL160_.jpg" alt="ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―" style="border: none;" /></a></div>
<div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%">
<div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/" name="amazletlink" target="_blank">ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―</a>
<div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4862670776/masaishere-22/ref=nosim/" title="ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―" target="_blank">amazlet</a> at 09.12.23</div>
</div>
<div class="amazlet-detail">面白法人カヤック フォークビッツ <br />ワークスコーポレーション <br />売り上げランキング: 3750</div>
<div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="amazlet-footer" style="clear: left"></div>
</div>
<p>wonderfl本、出ましたね。自分は、「はじめに」と「１－１」を担当させていただきました。<br />
これからFlashやActionscript3をはじめたい、という初心者にとっては本当に役に立つサービス＆本だと思いますので、よろしければ読んでみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://maaash.jp/flash/wonderfl%e6%9c%ac/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

