<?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/"
	>

<channel>
	<title>André Gil&#039;s Blog</title>
	<atom:link href="http://blog.somepixels.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.somepixels.net</link>
	<description>UX, Dev, Tech and so on...</description>
	<lastBuildDate>Wed, 11 Jan 2012 16:24:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bugzilla and Attached Images</title>
		<link>http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/</link>
		<comments>http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 13:45:03 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[Extensions]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Bookmarklet]]></category>
		<category><![CDATA[Bugzilla]]></category>

		<guid isPermaLink="false">http://blog.somepixels.net/?p=340</guid>
		<description><![CDATA[I hate Bugzilla&#8230; It&#8217;s ugly, hard to use and has one of the the worst UI and UX that I know of. But the thing that annoys me most is when you have some image attached, you cannot open it. When you click at the link, it will download the image and then, you&#8217;ll be [...]]]></description>
			<content:encoded><![CDATA[<p>I hate Bugzilla&#8230; It&#8217;s ugly, hard to use and has one of the the worst UI and UX that I know of. But the thing that annoys me most is when you have some image attached, you cannot open it. When you click at the link, it will <strong>download</strong> the image and then, you&#8217;ll be able to open it.</p>
<p>I know that&#8217;s configurable, and it&#8217;s for a security reason, but this is the default behavior and most admins don&#8217;t change it! So I&#8217;ve made this simple bookmarklet to solve the problem. Just create a bookmark for the link bellow and, when you open some bug, just click the link:<br/><br/></p>
<div class="codecolorer-container text dawn" style="border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">javascript:(function(){var d;var c=0;while(d=document.getElementById(&quot;c&quot;+c)){var b=d.getElementsByTagName(&quot;a&quot;);for(i=0;i&lt;b.length;i++){var a=b[i].href;if(a.indexOf(&quot;attachment.cgi&quot;)&gt;-1&amp;&amp;a.indexOf(&quot;action=edit&quot;)==-1){d.innerHTML+='&lt;img src=&quot;'+a+'&quot;/&gt;&lt;br/&gt;'}}c++}})();</div></td></tr></tbody></table></div>
<p><br/>And if you are interested in the simple unobfuscated code, here it is:</p>
<div class="codecolorer-container javascript dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> commentDiv<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> commentId <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span> commentDiv <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;c&quot;</span> <span style="color: #339933;">+</span> commentId<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> links <span style="color: #339933;">=</span> commentDiv.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> links.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> href <span style="color: #339933;">=</span> links<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">href</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> href.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;attachment.cgi&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span> <span style="color: #339933;">&amp;&amp;</span> href.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;action=edit&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; commentDiv.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;&lt;img src=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #339933;">+</span> href <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>/&gt;&lt;br/&gt;&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; commentId<span style="color: #339933;">++;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Enjoy! <img src='http://blog.somepixels.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Bugzilla+and+Attached+Images&amp;link=http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/&amp;notes=I%20hate%20Bugzilla...%20It%27s%20ugly%2C%20hard%20to%20use%20and%20has%20one%20of%20the%20the%20worst%20UI%20and%20UX%20that%20I%20know%20of.%20But%20the%20thing%20that%20annoys%20me%20most%20is%20when%20you%20have%20some%20image%20attached%2C%20you%20cannot%20open%20it.%20When%20you%20click%20at%20the%20link%2C%20it%20will%20download%20the%20image%20and%20then%2C%20you%27ll%20be%20able%20to%20open%20it.%0D%0A%0D%0AI%20know%20that%27s%20co&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Bugzilla+and+Attached+Images&amp;link=http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/&amp;notes=I%20hate%20Bugzilla...%20It%27s%20ugly%2C%20hard%20to%20use%20and%20has%20one%20of%20the%20the%20worst%20UI%20and%20UX%20that%20I%20know%20of.%20But%20the%20thing%20that%20annoys%20me%20most%20is%20when%20you%20have%20some%20image%20attached%2C%20you%20cannot%20open%20it.%20When%20you%20click%20at%20the%20link%2C%20it%20will%20download%20the%20image%20and%20then%2C%20you%27ll%20be%20able%20to%20open%20it.%0D%0A%0D%0AI%20know%20that%27s%20co&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Bugzilla+and+Attached+Images&amp;link=http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/&amp;notes=I%20hate%20Bugzilla...%20It%27s%20ugly%2C%20hard%20to%20use%20and%20has%20one%20of%20the%20the%20worst%20UI%20and%20UX%20that%20I%20know%20of.%20But%20the%20thing%20that%20annoys%20me%20most%20is%20when%20you%20have%20some%20image%20attached%2C%20you%20cannot%20open%20it.%20When%20you%20click%20at%20the%20link%2C%20it%20will%20download%20the%20image%20and%20then%2C%20you%27ll%20be%20able%20to%20open%20it.%0D%0A%0D%0AI%20know%20that%27s%20co&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=Bugzilla+and+Attached+Images&amp;link=http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/&amp;notes=I%20hate%20Bugzilla...%20It%27s%20ugly%2C%20hard%20to%20use%20and%20has%20one%20of%20the%20the%20worst%20UI%20and%20UX%20that%20I%20know%20of.%20But%20the%20thing%20that%20annoys%20me%20most%20is%20when%20you%20have%20some%20image%20attached%2C%20you%20cannot%20open%20it.%20When%20you%20click%20at%20the%20link%2C%20it%20will%20download%20the%20image%20and%20then%2C%20you%27ll%20be%20able%20to%20open%20it.%0D%0A%0D%0AI%20know%20that%27s%20co&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2011/10/bugzilla-and-the-attached-images/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How many real Twitter followers do you have?</title>
		<link>http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/</link>
		<comments>http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 18:59:40 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Labs]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.somepixels.net/?p=331</guid>
		<description><![CDATA[If you check the profile of all your new followers on Twitter, you&#8217;ll notice that many of your followers are just trying to get as many followers as possible by following a lot of people and expecting that they will be followed back. So I was wondering here, how many real followers do I have? [...]]]></description>
			<content:encoded><![CDATA[<p>If you check the profile of all your new followers on Twitter, you&#8217;ll notice that many of your followers are just trying to get as many followers as possible by following a lot of people and expecting that they will be followed back.</p>
<p>So I was wondering here, how many real followers do I have? To answer this question, I&#8217;ve made this simple tool in 5 minutes to check that for me. This tool will only consider someone &#8220;real&#8221; when they follow less than 100 people or they follow twice as many followers as they have, at maximum.</p>
<p>So <a href="http://labs.andregil.net/real-followers/" target="_blank">check it out</a> and tell me what you think&#8230; <img src='http://blog.somepixels.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Update:</strong> Some Twitter API responses has changed. Code fixed now!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=How+many+real+Twitter+followers+do+you+have%3F&amp;link=http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/&amp;notes=If%20you%20check%20the%20profile%20of%20all%20your%20new%20followers%20on%20Twitter%2C%20you%27ll%20notice%20that%20many%20of%20your%20followers%20are%20just%20trying%20to%20get%20as%20many%20followers%20as%20possible%20by%20following%20a%20lot%20of%20people%20and%20expecting%20that%20they%20will%20be%20followed%20back.%0D%0A%0D%0ASo%20I%20was%20wondering%20here%2C%20how%20many%20real%20followers%20do%20I%20have%3F%20To%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=How+many+real+Twitter+followers+do+you+have%3F&amp;link=http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/&amp;notes=If%20you%20check%20the%20profile%20of%20all%20your%20new%20followers%20on%20Twitter%2C%20you%27ll%20notice%20that%20many%20of%20your%20followers%20are%20just%20trying%20to%20get%20as%20many%20followers%20as%20possible%20by%20following%20a%20lot%20of%20people%20and%20expecting%20that%20they%20will%20be%20followed%20back.%0D%0A%0D%0ASo%20I%20was%20wondering%20here%2C%20how%20many%20real%20followers%20do%20I%20have%3F%20To%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=How+many+real+Twitter+followers+do+you+have%3F&amp;link=http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/&amp;notes=If%20you%20check%20the%20profile%20of%20all%20your%20new%20followers%20on%20Twitter%2C%20you%27ll%20notice%20that%20many%20of%20your%20followers%20are%20just%20trying%20to%20get%20as%20many%20followers%20as%20possible%20by%20following%20a%20lot%20of%20people%20and%20expecting%20that%20they%20will%20be%20followed%20back.%0D%0A%0D%0ASo%20I%20was%20wondering%20here%2C%20how%20many%20real%20followers%20do%20I%20have%3F%20To%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=How+many+real+Twitter+followers+do+you+have%3F&amp;link=http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/&amp;notes=If%20you%20check%20the%20profile%20of%20all%20your%20new%20followers%20on%20Twitter%2C%20you%27ll%20notice%20that%20many%20of%20your%20followers%20are%20just%20trying%20to%20get%20as%20many%20followers%20as%20possible%20by%20following%20a%20lot%20of%20people%20and%20expecting%20that%20they%20will%20be%20followed%20back.%0D%0A%0D%0ASo%20I%20was%20wondering%20here%2C%20how%20many%20real%20followers%20do%20I%20have%3F%20To%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2011/10/how-many-real-twitter-followers-do-you-have/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DownFlickr &#8211; Flickr Downloader</title>
		<link>http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/</link>
		<comments>http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 15:51:50 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[Extensions]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Google Chrome]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=298</guid>
		<description><![CDATA[I always loved photography, since I was young. And since Flickr is probably the best place on the internet to find great photos and inspiration, I always spent a lot of time there looking for great photos and photographers. One thing that I never liked on Flickr, is how hard it is to download photos. [...]]]></description>
			<content:encoded><![CDATA[<p>I always loved photography, since I was young. And since <a href="http://www.flickr.com/" target="_blank">Flickr</a> is probably the best place on the internet to find great photos and inspiration, I always spent a lot of time there looking for great photos and photographers.</p>
<p>One thing that I never liked on Flickr, is how hard it is to download photos. You have to open the photo, click on the &#8220;All sizes&#8221; option, choose the best quality, right click it and save. Imagine that if you want to save a whole Set of photos? It&#8217;s a nightmare!</p>
<p><center><a href="http://blog.andregil.net/wp-content/uploads/2010/12/df.png" rel="lightbox[298]"><img src="http://blog.andregil.net/wp-content/uploads/2010/12/df-300x228.png" alt="DownFlickr - Flickr Downloader" title="DownFlickr - Flickr Downloader" width="300" height="228" class="aligncenter size-medium wp-image-305" /></a></center></p>
<p>That&#8217;s why I&#8217;ve created DownFlickr! It&#8217;s a <a href="http://www.google.com/chrome/" target="_blank">Google Chrome</a> extension, that helps me to download single photos or full sets automatically. I&#8217;ve programmed it at one night, just because I wanted to download a Set with more than 100 photos and I never thought it would help so many people. It&#8217;s not even that good, it&#8217;s just really helpful. But now it has 2200+ users and it&#8217;s featured on first page when you search for &#8220;<a href="https://chrome.google.com/extensions/search?itemlang=&#038;hl=en&#038;q=flickr" target="blank">flickr</a>&#8221; on Chrome Extensions page.</p>
<p>So I&#8217;ve decided to share the code with you guys on Github. You can <strong><a href="https://chrome.google.com/extensions/detail/idiemcijhbenngdhkdiipmpkafnkbkeg?hl=en" target="_blank">download the extension</a></strong> or <strong><a href="https://github.com/gil/DownFlickr" target="_blank">get the source code</a></strong>, <em>fork it</em> and help with bug fixes or new features. =]</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=DownFlickr+-+Flickr+Downloader&amp;link=http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/&amp;notes=I%20always%20loved%20photography%2C%20since%20I%20was%20young.%20And%20since%20Flickr%20is%20probably%20the%20best%20place%20on%20the%20internet%20to%20find%20great%20photos%20and%20inspiration%2C%20I%20always%20spent%20a%20lot%20of%20time%20there%20looking%20for%20great%20photos%20and%20photographers.%0D%0A%0D%0AOne%20thing%20that%20I%20never%20liked%20on%20Flickr%2C%20is%20how%20hard%20it%20is%20to%20download%20pho&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=DownFlickr+-+Flickr+Downloader&amp;link=http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/&amp;notes=I%20always%20loved%20photography%2C%20since%20I%20was%20young.%20And%20since%20Flickr%20is%20probably%20the%20best%20place%20on%20the%20internet%20to%20find%20great%20photos%20and%20inspiration%2C%20I%20always%20spent%20a%20lot%20of%20time%20there%20looking%20for%20great%20photos%20and%20photographers.%0D%0A%0D%0AOne%20thing%20that%20I%20never%20liked%20on%20Flickr%2C%20is%20how%20hard%20it%20is%20to%20download%20pho&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=DownFlickr+-+Flickr+Downloader&amp;link=http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/&amp;notes=I%20always%20loved%20photography%2C%20since%20I%20was%20young.%20And%20since%20Flickr%20is%20probably%20the%20best%20place%20on%20the%20internet%20to%20find%20great%20photos%20and%20inspiration%2C%20I%20always%20spent%20a%20lot%20of%20time%20there%20looking%20for%20great%20photos%20and%20photographers.%0D%0A%0D%0AOne%20thing%20that%20I%20never%20liked%20on%20Flickr%2C%20is%20how%20hard%20it%20is%20to%20download%20pho&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=DownFlickr+-+Flickr+Downloader&amp;link=http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/&amp;notes=I%20always%20loved%20photography%2C%20since%20I%20was%20young.%20And%20since%20Flickr%20is%20probably%20the%20best%20place%20on%20the%20internet%20to%20find%20great%20photos%20and%20inspiration%2C%20I%20always%20spent%20a%20lot%20of%20time%20there%20looking%20for%20great%20photos%20and%20photographers.%0D%0A%0D%0AOne%20thing%20that%20I%20never%20liked%20on%20Flickr%2C%20is%20how%20hard%20it%20is%20to%20download%20pho&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/12/downflickr-flickr-downloader/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>UX At The Pharmacy</title>
		<link>http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/</link>
		<comments>http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 01:47:35 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=273</guid>
		<description><![CDATA[Just a quick post to talk about UX (User eXperience). Do you still think that UX is only software-related? Do you still think UX is only usability and/or design? UX is all about what the user feels when he is using some product or service. I took this photo at some drugstore, in New York. [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to talk about <strong>UX</strong> (<strong>U</strong>ser e<strong>X</strong>perience). Do you still think that UX is only software-related? Do you still think UX is only usability and/or design? UX is all about what the user <strong><em>feels</em></strong> when he is using some product or service.</p>
<p><center><div id="attachment_274" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.andregil.net/wp-content/uploads/2010/10/IMG_1026-1.jpg" rel="lightbox[273]"><img src="http://blog.andregil.net/wp-content/uploads/2010/10/IMG_1026-1-300x225.jpg" alt="Pharmacy UX" title="Pharmacy UX" width="300" height="225" class="size-medium wp-image-274" /></a><p class="wp-caption-text">Click on the photo to read it! ;&#93;</p></div></center></p>
<p>I took this photo at some drugstore, in New York. Think about what the user (or customer) would <strong><em>feel</em></strong> when he has some problem, and he needs some medication, but doesn&#8217;t want to think or remember complex medication names.</p>
<p>I know that, in this particular case, there may be some problems like allergies or just hiding the real problem, instead of solving it. But I still think it&#8217;s a great idea, great design and it probably has some advices at the back, informing the medicine name and precautions.</p>
<p>But the message here is: <strong>UX is Everywhere!</strong> <a href="http://twitter.com/BeckNovaes/status/28426532303" target="_blank">[F]</a></p>
<p>Think about it.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=UX+At+The+Pharmacy&amp;link=http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/&amp;notes=Just%20a%20quick%20post%20to%20talk%20about%20UX%20%28User%20eXperience%29.%20Do%20you%20still%20think%20that%20UX%20is%20only%20software-related%3F%20Do%20you%20still%20think%20UX%20is%20only%20usability%20and%2For%20design%3F%20UX%20is%20all%20about%20what%20the%20user%20feels%20when%20he%20is%20using%20some%20product%20or%20service.%0D%0A%0D%0A%0D%0A%0D%0AI%20took%20this%20photo%20at%20some%20drugstore%2C%20in%20New%20York.%20Thi&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=UX+At+The+Pharmacy&amp;link=http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/&amp;notes=Just%20a%20quick%20post%20to%20talk%20about%20UX%20%28User%20eXperience%29.%20Do%20you%20still%20think%20that%20UX%20is%20only%20software-related%3F%20Do%20you%20still%20think%20UX%20is%20only%20usability%20and%2For%20design%3F%20UX%20is%20all%20about%20what%20the%20user%20feels%20when%20he%20is%20using%20some%20product%20or%20service.%0D%0A%0D%0A%0D%0A%0D%0AI%20took%20this%20photo%20at%20some%20drugstore%2C%20in%20New%20York.%20Thi&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=UX+At+The+Pharmacy&amp;link=http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/&amp;notes=Just%20a%20quick%20post%20to%20talk%20about%20UX%20%28User%20eXperience%29.%20Do%20you%20still%20think%20that%20UX%20is%20only%20software-related%3F%20Do%20you%20still%20think%20UX%20is%20only%20usability%20and%2For%20design%3F%20UX%20is%20all%20about%20what%20the%20user%20feels%20when%20he%20is%20using%20some%20product%20or%20service.%0D%0A%0D%0A%0D%0A%0D%0AI%20took%20this%20photo%20at%20some%20drugstore%2C%20in%20New%20York.%20Thi&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=UX+At+The+Pharmacy&amp;link=http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/&amp;notes=Just%20a%20quick%20post%20to%20talk%20about%20UX%20%28User%20eXperience%29.%20Do%20you%20still%20think%20that%20UX%20is%20only%20software-related%3F%20Do%20you%20still%20think%20UX%20is%20only%20usability%20and%2For%20design%3F%20UX%20is%20all%20about%20what%20the%20user%20feels%20when%20he%20is%20using%20some%20product%20or%20service.%0D%0A%0D%0A%0D%0A%0D%0AI%20took%20this%20photo%20at%20some%20drugstore%2C%20in%20New%20York.%20Thi&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/10/ux-at-the-pharmacy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox and the Flash/Flex focus problem</title>
		<link>http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/</link>
		<comments>http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 13:56:02 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=258</guid>
		<description><![CDATA[I&#8217;m working in a Flex project and the client asked for some Keyboard Shortcuts. It works great on Google Chrome and IE but, for some reason, Firefox doesn&#8217;t handle embedded objects focus correctly sometimes. To &#8220;fix&#8221; this problem, I found a really nice workaround. First, you have to open your application on some browser and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working in a Flex project and the client asked for some Keyboard Shortcuts. It works great on Google Chrome and IE but, for some reason, Firefox doesn&#8217;t handle embedded objects focus correctly sometimes.</p>
<p>To &#8220;fix&#8221; this problem, I found a really nice workaround. First, you have to open your application on some browser and look at the source code. Then, look for the <em>&lt;object&gt;</em> tag <em>&#8220;id&#8221;</em> attribute inside it. If you use the default Flex template, it will probably be your Application name. In my case, it&#8217;s <em>&#8220;index&#8221;</em>. So I wrote this JavaScript line to set the focus on your application again:<br />
<br/></p>
<div class="codecolorer-container javascript dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'index'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">focus</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Now, to use it on your code without rewriting your template, you can do this:<br />
<br/></p>
<div class="codecolorer-container actionscript dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">navigateToURL<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;javascript:try{ document.getElementById('index').focus(); void(0); }catch(err){}&quot;</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">&quot;_self&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
someComponent.<span style="color: #0066CC;">setFocus</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></td></tr></tbody></table></div>
<p>It works better if you try to identify when your application is loosing the focus (always when I opened a popup, in this case) and put the code after that. I also used a <em>try/catch</em> to avoid problems, like if the user opened the SWF directly.</p>
<p>I hope it helps someone!<br />
Bye o/</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Firefox+and+the+Flash%2FFlex+focus+problem&amp;link=http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/&amp;notes=I%27m%20working%20in%20a%20Flex%20project%20and%20the%20client%20asked%20for%20some%20Keyboard%20Shortcuts.%20It%20works%20great%20on%20Google%20Chrome%20and%20IE%20but%2C%20for%20some%20reason%2C%20Firefox%20doesn%27t%20handle%20embedded%20objects%20focus%20correctly%20sometimes.%0D%0A%0D%0ATo%20%22fix%22%20this%20problem%2C%20I%20found%20a%20really%20nice%20workaround.%20First%2C%20you%20have%20to%20open%20your%20app&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Firefox+and+the+Flash%2FFlex+focus+problem&amp;link=http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/&amp;notes=I%27m%20working%20in%20a%20Flex%20project%20and%20the%20client%20asked%20for%20some%20Keyboard%20Shortcuts.%20It%20works%20great%20on%20Google%20Chrome%20and%20IE%20but%2C%20for%20some%20reason%2C%20Firefox%20doesn%27t%20handle%20embedded%20objects%20focus%20correctly%20sometimes.%0D%0A%0D%0ATo%20%22fix%22%20this%20problem%2C%20I%20found%20a%20really%20nice%20workaround.%20First%2C%20you%20have%20to%20open%20your%20app&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Firefox+and+the+Flash%2FFlex+focus+problem&amp;link=http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/&amp;notes=I%27m%20working%20in%20a%20Flex%20project%20and%20the%20client%20asked%20for%20some%20Keyboard%20Shortcuts.%20It%20works%20great%20on%20Google%20Chrome%20and%20IE%20but%2C%20for%20some%20reason%2C%20Firefox%20doesn%27t%20handle%20embedded%20objects%20focus%20correctly%20sometimes.%0D%0A%0D%0ATo%20%22fix%22%20this%20problem%2C%20I%20found%20a%20really%20nice%20workaround.%20First%2C%20you%20have%20to%20open%20your%20app&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=Firefox+and+the+Flash%2FFlex+focus+problem&amp;link=http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/&amp;notes=I%27m%20working%20in%20a%20Flex%20project%20and%20the%20client%20asked%20for%20some%20Keyboard%20Shortcuts.%20It%20works%20great%20on%20Google%20Chrome%20and%20IE%20but%2C%20for%20some%20reason%2C%20Firefox%20doesn%27t%20handle%20embedded%20objects%20focus%20correctly%20sometimes.%0D%0A%0D%0ATo%20%22fix%22%20this%20problem%2C%20I%20found%20a%20really%20nice%20workaround.%20First%2C%20you%20have%20to%20open%20your%20app&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/08/firefox-and-the-flashflex-focus-problem/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Version-safe Monkey Patch on Flex components</title>
		<link>http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/</link>
		<comments>http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/#comments</comments>
		<pubDate>Fri, 14 May 2010 16:27:35 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=216</guid>
		<description><![CDATA[What? Why? Sometimes we want to add some custom behavior to a Flex component and everything you need is private or you find some bug that you can&#8217;t fix only with inheritance. Or maybe you can, but if you do, you&#8217;ll have to change all instances to your component. And sometimes you even can&#8217;t change [...]]]></description>
			<content:encoded><![CDATA[<h2>What? Why?</h2>
<p>Sometimes we want to add some custom behavior to a Flex component and everything you need is private or you find some bug that you can&#8217;t fix only with inheritance. Or maybe you can, but if you do, you&#8217;ll have to change all instances to your component. And sometimes you even can&#8217;t change the instance, like when you are using some closed library.</p>
<p>Today I was trying to fix a bug at the ComboBox component, using the Flex SDK 3.5. This bug was already fixed on the version 3.6, but I can&#8217;t update if they don&#8217;t release it as a stable version. This bug is very stupid and a simple method override with 3 lines of code would solve my problem. But, like I said, I can&#8217;t just change all the ComboBox instances in my application. And, even if I did, maybe some other developer could use the original ComboBox, instead of my FixedComboBox.</p>
<p>So I decided to temporarily Monkey Patch the ComboBox class. To do that, I just had to copy the original ComboBox class and all the includes, fix what I wanted and put it at the same package, but inside my project &#8220;src&#8221; folder. The compiler will use my patched version and ignore the original class.</p>
<h2>The problem:</h2>
<p>Okay, but what if we forget to remove the patched version when we update the SDK? Everything is Flex 4 now, so maybe they will only release the SDK 3.6 version in some months. And maybe in some months I will be working in a different project, don&#8217;t know&#8230;</p>
<h2>The solution!</h2>
<p>So I was thinking&#8230; How can I check if the SDK version was updated?</p>
<p>Every Flex component includes a file called &#8220;Version.as&#8221;, that have only one constant with the SDK version. Most people just copy this file when they are &#8220;Monkey Patching&#8221;, but if we do that, it will replace the SDK &#8220;Version.as&#8221; file and we will never know the correct version.</p>
<p>The trick is: don&#8217;t copy this &#8220;Version.as&#8221; file to your project. Then replace the include with the constant inside the file. Find this line:<br/><br/></p>
<div class="codecolorer-container actionscript3 dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">include <span style="color: #990000;">&quot;../core/Version.as&quot;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p>and replace with:<br/><br/></p>
<div class="codecolorer-container actionscript3 dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #3f5fbf;">/**<br />
&nbsp;* &nbsp;@private<br />
&nbsp;* &nbsp;Version string for this class.<br />
&nbsp;*/</span><br />
mx_internal static const VERSION<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> = <span style="color: #990000;">&quot;3.5.0.12683&quot;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p>Now we don&#8217;t need to copy the file and we can have different versions for the SDK and the patched components. And you can add this code inside your constructor to check if the version changed:<br/><br/></p>
<div class="codecolorer-container actionscript3 dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> FlexSprite<span style="color: #000066; font-weight: bold;">.</span>mx_internal<span style="color: #000066; font-weight: bold;">::</span>VERSION <span style="color: #000066; font-weight: bold;">!</span>= mx_internal<span style="color: #000066; font-weight: bold;">::</span>VERSION <span style="color: #000000;">&#41;</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #004993;">setTimeout</span><span style="color: #000000;">&#40;</span><span style="color: #339966; font-weight: bold;">function</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">throw</span> <span style="color: #0033ff; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=error%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:error.html"><span style="color: #004993;">Error</span></a><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;The SDK version was updated. Please update or remove the Monkey Patched ComboBox from this project.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>That&#8217;s it!<br/><br/></p>
<h2>FAQ:</h2>
<p><strong>Why FlexSprite?</strong><br />
I was thinking about using UIComponent, but maybe you&#8217;ll Monkey Patch it too. So I think you don&#8217;t need to change anything inside FlexSprite.</p>
<p><strong>Why throwing an error?</strong><br />
You can change it to a trace(), but will you read the console all the time? And don&#8217;t worry, only people with the debugger Flash Player can read this error anyway.</p>
<p><strong>Why the setTimeout()?</strong><br />
If you throw an error inside your constructor, it will break your application. I tried callLater(), but other things in Flex use the callLater() queue and, if you throw an error there, it will break the queue. So I think the setTimeout() is a safe place to put it.</p>
<h2>Conclusion:</h2>
<p>Monkey Patch is not the best solution. Actually, it&#8217;s not even a good solution! But it&#8217;s necessary sometimes and, if you really need it, I think the version check code is a good thing to help you.</p>
<p>Do you have some alternative solution? I would love to read it at the comments!</p>
<p>Cheers!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Version-safe+Monkey+Patch+on+Flex+components&amp;link=http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/&amp;notes=What%3F%20Why%3F%0D%0A%0D%0ASometimes%20we%20want%20to%20add%20some%20custom%20behavior%20to%20a%20Flex%20component%20and%20everything%20you%20need%20is%20private%20or%20you%20find%20some%20bug%20that%20you%20can%27t%20fix%20only%20with%20inheritance.%20Or%20maybe%20you%20can%2C%20but%20if%20you%20do%2C%20you%27ll%20have%20to%20change%20all%20instances%20to%20your%20component.%20And%20sometimes%20you%20even%20can%27t%20chang&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Version-safe+Monkey+Patch+on+Flex+components&amp;link=http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/&amp;notes=What%3F%20Why%3F%0D%0A%0D%0ASometimes%20we%20want%20to%20add%20some%20custom%20behavior%20to%20a%20Flex%20component%20and%20everything%20you%20need%20is%20private%20or%20you%20find%20some%20bug%20that%20you%20can%27t%20fix%20only%20with%20inheritance.%20Or%20maybe%20you%20can%2C%20but%20if%20you%20do%2C%20you%27ll%20have%20to%20change%20all%20instances%20to%20your%20component.%20And%20sometimes%20you%20even%20can%27t%20chang&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Version-safe+Monkey+Patch+on+Flex+components&amp;link=http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/&amp;notes=What%3F%20Why%3F%0D%0A%0D%0ASometimes%20we%20want%20to%20add%20some%20custom%20behavior%20to%20a%20Flex%20component%20and%20everything%20you%20need%20is%20private%20or%20you%20find%20some%20bug%20that%20you%20can%27t%20fix%20only%20with%20inheritance.%20Or%20maybe%20you%20can%2C%20but%20if%20you%20do%2C%20you%27ll%20have%20to%20change%20all%20instances%20to%20your%20component.%20And%20sometimes%20you%20even%20can%27t%20chang&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=Version-safe+Monkey+Patch+on+Flex+components&amp;link=http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/&amp;notes=What%3F%20Why%3F%0D%0A%0D%0ASometimes%20we%20want%20to%20add%20some%20custom%20behavior%20to%20a%20Flex%20component%20and%20everything%20you%20need%20is%20private%20or%20you%20find%20some%20bug%20that%20you%20can%27t%20fix%20only%20with%20inheritance.%20Or%20maybe%20you%20can%2C%20but%20if%20you%20do%2C%20you%27ll%20have%20to%20change%20all%20instances%20to%20your%20component.%20And%20sometimes%20you%20even%20can%27t%20chang&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/05/version-safe-monkey-patch-on-flex-components/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to develop and debug Flex on Google Chrome</title>
		<link>http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/</link>
		<comments>http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/#comments</comments>
		<pubDate>Mon, 10 May 2010 23:13:53 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=160</guid>
		<description><![CDATA[Developing and debugging Flex applications on Google Chrome sometimes can be a little tricky, but I will show you here how to solve this common problems. Configuring Eclipse First, you have to configure Eclipse. Open Preferences &#62; General &#62; Web Browser and select &#8220;Use external Web Browser&#8221;. Then, click on &#8220;New&#8221; and add &#8220;Google Chrome&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Developing and debugging Flex applications on Google Chrome sometimes can be a little tricky, but I will show you here how to solve this common problems.<br/><br/></p>
<h2>Configuring Eclipse</h2>
<p>First, you have to configure Eclipse. Open <strong>Preferences &gt; General &gt; Web Browser</strong> and select &#8220;Use external Web Browser&#8221;. Then, click on &#8220;New&#8221; and add &#8220;Google Chrome&#8221; using the following Location:<br/><br/></p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/Applications/Google Chrome.app/Contents/MacOS/Google Chrome</div></td></tr></tbody></table></div>
<p><br/>Your configuration should look like this:</p>
<p><center><a href="http://blog.andregil.net/wp-content/uploads/2010/05/eclipse_config.png" rel="lightbox[160]"><img src="http://blog.andregil.net/wp-content/uploads/2010/05/eclipse_config.png" alt="" title="Eclipse Google Chrome Configuration" width="497" height="412" class="aligncenter size-full wp-image-164" /></a></center></p>
<p>If you are using Windows, you should click &#8220;Browse&#8230;&#8221; and find your Google Chrome application .EXE file.<br/><br/></p>
<h2>Debug Flash Player</h2>
<p>Google Chrome have it&#8217;s own Flash Player, so even if you download the debugger version, you may have problems to debug. So first, if you don&#8217;t have the debugger version, <a href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">download it</a>.</p>
<p>If you already downloaded and restarted Google Chrome, open this URL:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">about:plugins</div></td></tr></tbody></table></div>
<p><br/>You may notice that you have two versions installed and one version &#8220;Location&#8221; is inside Google Chrome&#8217;s directories. So, you have to Disable this version and keep the other I&#8217;ve just installed. It should look like this:<br/><br/></p>
<p><center><a href="http://blog.andregil.net/wp-content/uploads/2010/05/chrome_plugins.png" rel="lightbox[160]"><img src="http://blog.andregil.net/wp-content/uploads/2010/05/chrome_plugins.png" alt="" title="Google Chrome Plugins" width="550" height="263" class="aligncenter size-full wp-image-177" /></a></center></p>
<p><strong>Update:</strong> If you can&#8217;t disable plugins, download the Google Chrome <a href="http://www.google.com/chrome/eula.html?extra=devchannel" target="_blank">development version here</a>.</p>
<p>After that, right click any flash content and look for the option &#8220;Show Redraw Regions&#8221;. If you have this option, you&#8217;re using the debugger version.<br/><br/></p>
<h2>Cache Problems</h2>
<p>If you keep refreshing your application all the time, you may have some problems with caching. And, since I don&#8217;t think Chrome have some quick setting to disable cache, I&#8217;ve created a simple application that will launch Google Chrome with some command line parameters that temporarily disable cache.</p>
<p>To use it, <a href="http://labs.andregil.net/chrome_no_cache.zip">download the application</a>, unzip it and move the app to the Applications folder. Then drag the icon to the Dock, if you want quick access:</p>
<p><center><a href="http://blog.andregil.net/wp-content/uploads/2010/05/dock.png" rel="lightbox[160]"><img src="http://blog.andregil.net/wp-content/uploads/2010/05/dock.png" alt="" title="My Mac Dock" width="550" height="132" class="aligncenter size-full wp-image-193" /></a></center></p>
<p>Notice that, since Google Chrome will keep only one initial instance, you have to launch it using my app at the first time if you want no cache. If Chrome is already running, it will still keep caching files. If you want your cache back, just quit and open Chrome using the regular app icon.</p>
<p>For windows users, I think you can copy your regular Google Chrome shortcut, right click the copy, select Properties, and add this command line parameters:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">--disk-cache-size=1 --media-cache-size=1</div></td></tr></tbody></table></div>
<p>This beautiful <a href="http://greasybacon.deviantart.com/art/Google-Chrome-Icon-Black-103895394" target="_blank">black Chrome icon</a> was created by GreasyBacon. Don&#8217;t forget to check <a href="http://greasybacon.deviantart.com/" target="_blank">his other works</a>. </p>
<h2>Conclusion</h2>
<p>That&#8217;s it! The only problem that I&#8217;m still trying to solve, is when you use the option &#8220;Find in Language Reference&#8221;. It will not open! If I find some solution, I will update this post. Do you know how to solve it? Leave a comment!</p>
<p>Cheers.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+develop+and+debug+Flex+on+Google+Chrome&amp;link=http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/&amp;notes=Developing%20and%20debugging%20Flex%20applications%20on%20Google%20Chrome%20sometimes%20can%20be%20a%20little%20tricky%2C%20but%20I%20will%20show%20you%20here%20how%20to%20solve%20this%20common%20problems.%0D%0A%0D%0A%0D%0AConfiguring%20Eclipse%0D%0A%0D%0AFirst%2C%20you%20have%20to%20configure%20Eclipse.%20Open%20Preferences%20%26gt%3B%20General%20%26gt%3B%20Web%20Browser%20and%20select%20%22Use%20external%20Web%20Brow&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+develop+and+debug+Flex+on+Google+Chrome&amp;link=http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/&amp;notes=Developing%20and%20debugging%20Flex%20applications%20on%20Google%20Chrome%20sometimes%20can%20be%20a%20little%20tricky%2C%20but%20I%20will%20show%20you%20here%20how%20to%20solve%20this%20common%20problems.%0D%0A%0D%0A%0D%0AConfiguring%20Eclipse%0D%0A%0D%0AFirst%2C%20you%20have%20to%20configure%20Eclipse.%20Open%20Preferences%20%26gt%3B%20General%20%26gt%3B%20Web%20Browser%20and%20select%20%22Use%20external%20Web%20Brow&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+develop+and+debug+Flex+on+Google+Chrome&amp;link=http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/&amp;notes=Developing%20and%20debugging%20Flex%20applications%20on%20Google%20Chrome%20sometimes%20can%20be%20a%20little%20tricky%2C%20but%20I%20will%20show%20you%20here%20how%20to%20solve%20this%20common%20problems.%0D%0A%0D%0A%0D%0AConfiguring%20Eclipse%0D%0A%0D%0AFirst%2C%20you%20have%20to%20configure%20Eclipse.%20Open%20Preferences%20%26gt%3B%20General%20%26gt%3B%20Web%20Browser%20and%20select%20%22Use%20external%20Web%20Brow&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+develop+and+debug+Flex+on+Google+Chrome&amp;link=http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/&amp;notes=Developing%20and%20debugging%20Flex%20applications%20on%20Google%20Chrome%20sometimes%20can%20be%20a%20little%20tricky%2C%20but%20I%20will%20show%20you%20here%20how%20to%20solve%20this%20common%20problems.%0D%0A%0D%0A%0D%0AConfiguring%20Eclipse%0D%0A%0D%0AFirst%2C%20you%20have%20to%20configure%20Eclipse.%20Open%20Preferences%20%26gt%3B%20General%20%26gt%3B%20Web%20Browser%20and%20select%20%22Use%20external%20Web%20Brow&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/05/how-to-develop-and-debug-flex-on-google-chrome/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Popout Flash Content (Videos, Games, etc) using this Bookmarklet</title>
		<link>http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/</link>
		<comments>http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 22:54:33 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=114</guid>
		<description><![CDATA[Sometimes, when I&#8217;m reading blogs, I want to watch some embedded video while I keep surfing on the older posts. Some websites give you the option to open the video in a new window, but this option is not always available. That&#8217;s why I created this Bookmarklet! Just right click on this links below and [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes, when I&#8217;m reading blogs, I want to watch some embedded video while I keep surfing on the older posts. Some websites give you the option to open the video in a new window, but this option is not always available. That&#8217;s why I created this Bookmarklet!</p>
<p>Just right click on this links below and add, or drag them, to your bookmarks. So when you want to pop out some video, or other embedded content, just click on this links on your bookmarks. Always try the first one and, if it doesn&#8217;t work, try the second one.</p>
<p><a href="javascript:elem=document.getElementsByTagName('embed');if(elem.length==0){elem=document.getElementsByTagName('embed')}for(i=0;i<elem.length;i++){newEl=document.createElement('DIV');clone=elem[i].cloneNode(true);clone.style.width=clone.style.height='100%';newEl.appendChild(clone);win=window.open('','_blank','toolbar=no,location=no,menubar=no,titlebar=no');win.document.write('%3Chtml%3E%3Cbody%3E'+newEl.innerHTML+'%3C%2Fbody%3E%3C%2Fhtml%3E');};void(0);">[Popout Flash]</a> <a href="javascript:elem=document.getElementsByTagName('object');if(elem.length==0){elem=document.getElementsByTagName('embed')}for(i=0;i<elem.length;i++){elem[i].style.width=elem[i].style.height='100%';win=window.open('','_blank','toolbar=no,location=no,menubar=no,titlebar=no');win.document.write('%3Chtml%3E%3Cbody%3E'+elem[i].parentNode.innerHTML+'%3C%2Fbody%3E%3C%2Fhtml%3E');};void(0);">[Popout Flash (Alt)]</a></p>
<p>I hope you like it.. See ya!!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Popout+Flash+Content+%28Videos%2C+Games%2C+etc%29+using+this+Bookmarklet&amp;link=http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/&amp;notes=Sometimes%2C%20when%20I%27m%20reading%20blogs%2C%20I%20want%20to%20watch%20some%20embedded%20video%20while%20I%20keep%20surfing%20on%20the%20older%20posts.%20Some%20websites%20give%20you%20the%20option%20to%20open%20the%20video%20in%20a%20new%20window%2C%20but%20this%20option%20is%20not%20always%20available.%20That%27s%20why%20I%20created%20this%20Bookmarklet%21%0D%0A%0D%0AJust%20right%20click%20on%20this%20links%20below&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Popout+Flash+Content+%28Videos%2C+Games%2C+etc%29+using+this+Bookmarklet&amp;link=http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/&amp;notes=Sometimes%2C%20when%20I%27m%20reading%20blogs%2C%20I%20want%20to%20watch%20some%20embedded%20video%20while%20I%20keep%20surfing%20on%20the%20older%20posts.%20Some%20websites%20give%20you%20the%20option%20to%20open%20the%20video%20in%20a%20new%20window%2C%20but%20this%20option%20is%20not%20always%20available.%20That%27s%20why%20I%20created%20this%20Bookmarklet%21%0D%0A%0D%0AJust%20right%20click%20on%20this%20links%20below&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Popout+Flash+Content+%28Videos%2C+Games%2C+etc%29+using+this+Bookmarklet&amp;link=http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/&amp;notes=Sometimes%2C%20when%20I%27m%20reading%20blogs%2C%20I%20want%20to%20watch%20some%20embedded%20video%20while%20I%20keep%20surfing%20on%20the%20older%20posts.%20Some%20websites%20give%20you%20the%20option%20to%20open%20the%20video%20in%20a%20new%20window%2C%20but%20this%20option%20is%20not%20always%20available.%20That%27s%20why%20I%20created%20this%20Bookmarklet%21%0D%0A%0D%0AJust%20right%20click%20on%20this%20links%20below&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=Popout+Flash+Content+%28Videos%2C+Games%2C+etc%29+using+this+Bookmarklet&amp;link=http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/&amp;notes=Sometimes%2C%20when%20I%27m%20reading%20blogs%2C%20I%20want%20to%20watch%20some%20embedded%20video%20while%20I%20keep%20surfing%20on%20the%20older%20posts.%20Some%20websites%20give%20you%20the%20option%20to%20open%20the%20video%20in%20a%20new%20window%2C%20but%20this%20option%20is%20not%20always%20available.%20That%27s%20why%20I%20created%20this%20Bookmarklet%21%0D%0A%0D%0AJust%20right%20click%20on%20this%20links%20below&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/04/popout-flash-content-videos-games-etc-using-this-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get BitmapData and ByteArray from Embed in Flex?</title>
		<link>http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/</link>
		<comments>http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 22:48:27 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=87</guid>
		<description><![CDATA[When you want to manipulate images and other file types in Flex, most of the time you need the BitmapData or the ByteArray from that file. Most people know how to get it when they are using the Loader, but it&#8217;s harder to find information about how to get it using Embedded files. It&#8217;s really [...]]]></description>
			<content:encoded><![CDATA[<p>When you want to manipulate images and other file types in Flex, most of the time you need the BitmapData or the ByteArray from that file. Most people know how to get it when they are using the Loader, but it&#8217;s harder to find information about how to get it using Embedded files. It&#8217;s really easy to do that, let me show you how!</p>
<p>If you want to Embed some image (JPEG, GIF or PNG) in Flex, you have to Embed it into a Class. What most people doesn&#8217;t know is that the type of this Class will by the BitmapAsset and that BitmapAsset is a subclass of the Bitmap class. So you can do this:<br/><br/></p>
<div class="codecolorer-container actionscript3 dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;image.png&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> MyEmbed<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=class%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:class.html"><span style="color: #004993;">Class</span></a><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> getBitmapData<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=bitmapdata%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bitmapdata.html"><span style="color: #004993;">BitmapData</span></a><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #6699cc; font-weight: bold;">var</span> bitmapAsset<span style="color: #000066; font-weight: bold;">:</span>BitmapAsset = <span style="color: #0033ff; font-weight: bold;">new</span> MyEmbed<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">return</span> bitmapAsset<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">bitmapData</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>Now, to get the ByteArray, you need a little trick! You have to add the parameter <code class="codecolorer actionscript3 dawn"><span class="actionscript3">mimeType=<span style="color: #990000;">&quot;application/octet-stream&quot;</span></span></code> to the Embed metadata. With this parameter, the Class type will be ByteArrayAsset and that&#8217;s a subclass of ByteArray. So you can do this:<br/><br/></p>
<div class="codecolorer-container actionscript3 dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;image.png&quot;</span><span style="color: #000066; font-weight: bold;">,</span>mimeType=<span style="color: #990000;">&quot;application/octet-stream&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> MyEmbed<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=class%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:class.html"><span style="color: #004993;">Class</span></a><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> getByteArray<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span>ByteArrayAsset<br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #6699cc; font-weight: bold;">var</span> byteArrayAsset<span style="color: #000066; font-weight: bold;">:</span>ByteArrayAsset = <span style="color: #0033ff; font-weight: bold;">new</span> MyEmbed<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">return</span> byteArrayAsset<span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>This way, you can even Embed some TXT or XML file in your application and read it very easily! The ByteArray can be converted to a String:<br/><br/></p>
<div class="codecolorer-container actionscript3 dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;myTextFile.txt&quot;</span><span style="color: #000066; font-weight: bold;">,</span>mimeType=<span style="color: #990000;">&quot;application/octet-stream&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> MyEmbed<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=class%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:class.html"><span style="color: #004993;">Class</span></a><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> readEmbeddedTxt<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #6699cc; font-weight: bold;">var</span> byteArrayAsset<span style="color: #000066; font-weight: bold;">:</span>ByteArrayAsset = <span style="color: #0033ff; font-weight: bold;">new</span> MyEmbed<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">return</span> byteArrayAsset<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>Easy, huh?</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+get+BitmapData+and+ByteArray+from+Embed+in+Flex%3F&amp;link=http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/&amp;notes=When%20you%20want%20to%20manipulate%20images%20and%20other%20file%20types%20in%20Flex%2C%20most%20of%20the%20time%20you%20need%20the%20BitmapData%20or%20the%20ByteArray%20from%20that%20file.%20Most%20people%20know%20how%20to%20get%20it%20when%20they%20are%20using%20the%20Loader%2C%20but%20it%27s%20harder%20to%20find%20information%20about%20how%20to%20get%20it%20using%20Embedded%20files.%20It%27s%20really%20easy%20to%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+get+BitmapData+and+ByteArray+from+Embed+in+Flex%3F&amp;link=http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/&amp;notes=When%20you%20want%20to%20manipulate%20images%20and%20other%20file%20types%20in%20Flex%2C%20most%20of%20the%20time%20you%20need%20the%20BitmapData%20or%20the%20ByteArray%20from%20that%20file.%20Most%20people%20know%20how%20to%20get%20it%20when%20they%20are%20using%20the%20Loader%2C%20but%20it%27s%20harder%20to%20find%20information%20about%20how%20to%20get%20it%20using%20Embedded%20files.%20It%27s%20really%20easy%20to%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+get+BitmapData+and+ByteArray+from+Embed+in+Flex%3F&amp;link=http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/&amp;notes=When%20you%20want%20to%20manipulate%20images%20and%20other%20file%20types%20in%20Flex%2C%20most%20of%20the%20time%20you%20need%20the%20BitmapData%20or%20the%20ByteArray%20from%20that%20file.%20Most%20people%20know%20how%20to%20get%20it%20when%20they%20are%20using%20the%20Loader%2C%20but%20it%27s%20harder%20to%20find%20information%20about%20how%20to%20get%20it%20using%20Embedded%20files.%20It%27s%20really%20easy%20to%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=How+to+get+BitmapData+and+ByteArray+from+Embed+in+Flex%3F&amp;link=http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/&amp;notes=When%20you%20want%20to%20manipulate%20images%20and%20other%20file%20types%20in%20Flex%2C%20most%20of%20the%20time%20you%20need%20the%20BitmapData%20or%20the%20ByteArray%20from%20that%20file.%20Most%20people%20know%20how%20to%20get%20it%20when%20they%20are%20using%20the%20Loader%2C%20but%20it%27s%20harder%20to%20find%20information%20about%20how%20to%20get%20it%20using%20Embedded%20files.%20It%27s%20really%20easy%20to%20&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/01/how-to-get-bitmapdata-and-bytearray-from-embed-in-flex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gif2TileSet: Extract GIF frames into a Tile Set</title>
		<link>http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/</link>
		<comments>http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:32:31 +0000</pubDate>
		<dc:creator>André Gil</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[GameDev]]></category>
		<category><![CDATA[blitting]]></category>
		<category><![CDATA[Labs]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[tileset]]></category>

		<guid isPermaLink="false">http://blog.andregil.net/?p=50</guid>
		<description><![CDATA[Some weeks ago I started studying some animation techniques in Flash games and I started making some Blitting experiments. I will post something about it soon, but the point is that to make an animation you first need the graphics and, as your probably don&#8217;t know, I suck at drawing! So the first step was [...]]]></description>
			<content:encoded><![CDATA[<p>Some weeks ago I started studying some animation techniques in Flash games and I started making some <a href="http://en.wikipedia.org/wiki/Bit_blit" target="_blank">Blitting</a> experiments. I will post something about it soon, but the point is that to make an animation you first need the graphics and, as your probably don&#8217;t know, I suck at drawing! So the first step was ripping some sprites and I remembered about some really nice animated GIFs I&#8217;ve seen some months ago.</p>
<p>So I got the GIFs and tried to find some tool to extract all the frames and I didn&#8217;t find anything good for it. I know I can use the Adobe Fireworks to do that, but then I will have to copy frame by frame at the perfect position to do the blitting&#8230; So I&#8217;ve decided to make my own tool to do the job!</p>
<p style="text-align:center;"><a href="http://blog.andregil.net/wp-content/uploads/2010/01/Picture-1.png" rel="lightbox[50]"><img class="size-medium wp-image-52" title="Gif2TileSet" src="http://blog.andregil.net/wp-content/uploads/2010/01/Picture-1-300x168.png" alt="Gif2TileSet" width="300" height="168" /></a></p>
<p>Using the <a href="http://code.google.com/p/as3gif/" target="_blank">as3gif</a> project I wrote a very simple and experimental tool to do the job and I decided to publish as Open Source to, maybe, help somebody else that is studying those techniques. You can even <a href="http://labs.andregil.net/Gif2TileSet/srcview/index.html" target="_blank">get the code</a> and see some blitting there too! <img src='http://blog.somepixels.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>On this example I used the character &#8220;<a href="http://www.playstop.net/tcc/2009/11/all-about-the-characters.htm" target="_blank">Infierno Púrpura</a>&#8221; from this really beautiful final project game called &#8220;<a href="http://www.playstop.net/tcc/" target="_blank">Ay, Caramba!</a>&#8221; (thank you <a href="http://www.playstop.net/" target="_blank">Jujuqui</a>!):</p>
<p style="text-align:center;"><a href="http://blog.andregil.net/wp-content/uploads/2010/01/infierno_purpura.gif" rel="lightbox[50]"><img src="http://blog.andregil.net/wp-content/uploads/2010/01/infierno_purpura.gif" alt="Infierno Púrpura" title="Infierno Púrpura" width="100" height="120" class="size-full wp-image-63" /></a></p>
<p>And I&#8217;ve got this result:</p>
<p style="text-align:center;"><a href="http://blog.andregil.net/wp-content/uploads/2010/01/tileset_1324463.png" rel="lightbox[50]"><img src="http://blog.andregil.net/wp-content/uploads/2010/01/tileset_1324463-300x216.png" alt="Sample Tile Set" title="Sample Tile Set" width="300" height="216" class="size-medium wp-image-66" /></a></p>
<p>So that&#8217;s it! Check out the <a href="http://labs.andregil.net/Gif2TileSet/Gif2TileSet.html" target="_blank">Gif2TileSet demo</a> and, if you really like it, <a href="http://github.com/gil/gif2tileset" target="_blank">fork the code on GitHub</a> and make your own improvements.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Gif2TileSet%3A+Extract+GIF+frames+into+a+Tile+Set&amp;link=http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/&amp;notes=Some%20weeks%20ago%20I%20started%20studying%20some%20animation%20techniques%20in%20Flash%20games%20and%20I%20started%20making%20some%20Blitting%20experiments.%20I%20will%20post%20something%20about%20it%20soon%2C%20but%20the%20point%20is%20that%20to%20make%20an%20animation%20you%20first%20need%20the%20graphics%20and%2C%20as%20your%20probably%20don%27t%20know%2C%20I%20suck%20at%20drawing%21%20So%20the%20first%20ste&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Gif2TileSet%3A+Extract+GIF+frames+into+a+Tile+Set&amp;link=http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/&amp;notes=Some%20weeks%20ago%20I%20started%20studying%20some%20animation%20techniques%20in%20Flash%20games%20and%20I%20started%20making%20some%20Blitting%20experiments.%20I%20will%20post%20something%20about%20it%20soon%2C%20but%20the%20point%20is%20that%20to%20make%20an%20animation%20you%20first%20need%20the%20graphics%20and%2C%20as%20your%20probably%20don%27t%20know%2C%20I%20suck%20at%20drawing%21%20So%20the%20first%20ste&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Gif2TileSet%3A+Extract+GIF+frames+into+a+Tile+Set&amp;link=http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/&amp;notes=Some%20weeks%20ago%20I%20started%20studying%20some%20animation%20techniques%20in%20Flash%20games%20and%20I%20started%20making%20some%20Blitting%20experiments.%20I%20will%20post%20something%20about%20it%20soon%2C%20but%20the%20point%20is%20that%20to%20make%20an%20animation%20you%20first%20need%20the%20graphics%20and%2C%20as%20your%20probably%20don%27t%20know%2C%20I%20suck%20at%20drawing%21%20So%20the%20first%20ste&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.shareaholic.com/api/share/?title=Gif2TileSet%3A+Extract+GIF+frames+into+a+Tile+Set&amp;link=http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/&amp;notes=Some%20weeks%20ago%20I%20started%20studying%20some%20animation%20techniques%20in%20Flash%20games%20and%20I%20started%20making%20some%20Blitting%20experiments.%20I%20will%20post%20something%20about%20it%20soon%2C%20but%20the%20point%20is%20that%20to%20make%20an%20animation%20you%20first%20need%20the%20graphics%20and%2C%20as%20your%20probably%20don%27t%20know%2C%20I%20suck%20at%20drawing%21%20So%20the%20first%20ste&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.somepixels.net/2010/01/gif2tileset-extract-gif-frames-into-a-tile-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

