<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Coding on acid.</title>
	<atom:link href="http://makc3d.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://makc3d.wordpress.com</link>
	<description>Acetylsalicylic acid :(</description>
	<lastBuildDate>Mon, 17 Jun 2013 09:34:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='makc3d.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Coding on acid.</title>
		<link>http://makc3d.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://makc3d.wordpress.com/osd.xml" title="Coding on acid." />
	<atom:link rel='hub' href='http://makc3d.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Less than two weeks left to enter COLT contest</title>
		<link>http://makc3d.wordpress.com/2013/06/12/less-than-two-weeks-left-to-enter-colt-contest/</link>
		<comments>http://makc3d.wordpress.com/2013/06/12/less-than-two-weeks-left-to-enter-colt-contest/#comments</comments>
		<pubDate>Wed, 12 Jun 2013 17:16:32 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[colt]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[wonderfl]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=767</guid>
		<description><![CDATA[Just to remind you all, free COLT license + a chance to win some Apple hardware are only available until June 25. So download COLT, make your video, upload to youtube, send us the link. Do it now! While you still can :) No, seriously. We&#8217;re very curious to see what kind of crazy ideas [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=767&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://codeorchestra.com/#contest-open"><img class="alignleft size-full wp-image-768" style="margin-right:20px;border:0 solid;" alt="Last chance :)" src="http://makc3d.files.wordpress.com/2013/06/200x200.png?w=500"   /></a>Just to remind you all, <a href="http://codeorchestra.com/#contest-open">free COLT license + a chance to win some Apple hardware are only available until June 25</a>. So download COLT, make your video, upload to youtube, send us the link. Do it now! While you still can :)</p>
<p>No, seriously. We&#8217;re very curious to see what kind of crazy ideas people can come up with. Check out <a href="http://www.youtube.com/watch?v=hsjBjwy07ow&amp;hd=1">this latest submission</a> going wild with Kinect API and Away3D.</p>
<p>By the way, huge thanks goes to <a href="http://wonderfl.net/">wonderfl.net</a> for spreading the word free of charge:</p>
<blockquote><p><strong><em>we love Flash and Web developers community&#8230; so we&#8217;re gonna show your ads for Free (Masakazu Ohtsuka, KAYAC Inc)</em></strong></p></blockquote>
<p>Flash and Web developers, we at <a href="http://codeorchestra.com/">Code Orchestra</a> love you too! And we hate when you waste your time compiling stuff. In fact, we hate it so much that <a href="http://blog.codeorchestra.com/post/52628844501/announcing-colt-1-0-5-with-a-3x-faster-mxml-compiler">next COLT release will build your projects up to 3 times faster</a> (and we are talking <em><strong>both livecoding and production builds</strong></em> here). While these news are relevant to Windows users only, I&#8217;m sure there are lots of FlashDevelop users out there who will enjoy faster builds OOTB (if they install <a href="https://github.com/makc/colt-fd-plugin/">my COLT plugin</a>).</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/colt/'>colt</a>, <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a>, <a href='http://makc3d.wordpress.com/tag/wonderfl/'>wonderfl</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/767/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=767&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/06/12/less-than-two-weeks-left-to-enter-colt-contest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>

		<media:content url="http://makc3d.files.wordpress.com/2013/06/200x200.png" medium="image">
			<media:title type="html">Last chance :)</media:title>
		</media:content>
	</item>
		<item>
		<title>How to make ASC2 alchemy SWC compatible with old compiler</title>
		<link>http://makc3d.wordpress.com/2013/05/27/how-to-make-asc2-alchemy-swc-asc1-compatible/</link>
		<comments>http://makc3d.wordpress.com/2013/05/27/how-to-make-asc2-alchemy-swc-asc1-compatible/#comments</comments>
		<pubDate>Mon, 27 May 2013 00:56:00 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[colt]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=761</guid>
		<description><![CDATA[Some time ago I tried to use latest Genome2D SWC with Code Orchestra livecoding tool and, like others, failed (at first). The reason was that COLT, being derived from old compiler, fails to parse SWC made with new compiler, if it uses memory opcodes. In theory, there should be no problem, since memory opcodes are [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=761&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Some time ago I tried to use <a href="http://build.genome2d.com/nightly/">latest Genome2D SWC</a> with <a href="http://codeorchestra.com/">Code Orchestra livecoding tool</a> and, <a href="http://forum.genome2d.com/viewtopic.php?p=208">like others</a>, failed (at first). The reason was that <a href="http://makc3d.wordpress.com/tag/colt/">COLT</a>, being derived from old compiler, fails to parse SWC made with new compiler, if it uses <a href="http://makc3d.wordpress.com/tag/alchemy/">memory opcodes</a>. In theory, there should be no problem, since memory opcodes are already compiled into SWC&#8217;s <span style="color:#000080;">library.swf</span> and old compiler does not have to care about it. In practice, there is a problem in SWC&#8217;s <span style="color:#000080;">catalog.xml</span>:</p>
<pre><span style="color:#808080;">&lt;script name="" mod="9223372036854775806"&gt;
	&lt;def id="avm2.intrinsics.iteration:hasnext"/&gt;
	&lt;def id="avm2.intrinsics.iteration:nextname"/&gt;
	&lt;def id="avm2.intrinsics.iteration:nextvalue"/&gt;
	&lt;def id="avm2.intrinsics.memory:lf32"/&gt;
	&lt;def id="avm2.intrinsics.memory:lf64"/&gt;
	&lt;def id="avm2.intrinsics.memory:li16"/&gt;
	&lt;def id="avm2.intrinsics.memory:li32"/&gt;
	&lt;def id="avm2.intrinsics.memory:li8"/&gt;
	&lt;def id="avm2.intrinsics.memory:sf32"/&gt;
	&lt;def id="avm2.intrinsics.memory:sf64"/&gt;
	&lt;def id="avm2.intrinsics.memory:si16"/&gt;
	&lt;def id="avm2.intrinsics.memory:si32"/&gt;
	&lt;def id="avm2.intrinsics.memory:si8"/&gt;
	&lt;def id="avm2.intrinsics.memory:sxi1"/&gt;
	&lt;def id="avm2.intrinsics.memory:sxi16"/&gt;
	&lt;def id="avm2.intrinsics.memory:sxi8"/&gt;
	&lt;dep id="Number" type="s"/&gt;
	&lt;dep id="int" type="s"/&gt;
&lt;/script&gt;</span></pre>
<p><strong>The solution</strong> is to remove any mentions of <span style="color:#808080;">avm2.intrinsics.*</span> from <span style="color:#000080;">catalog.xml</span> :) SWC continues to work without them for both ASC1 and ASC2. I asked Adobe people why does this garbage has to be there and break compatibility for no reason but got no reply, so I am posting this find as PSA &#8211; when some ASC2 SWC suddenly gives you headaches, you will know what to do.</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/alchemy/'>alchemy</a>, <a href='http://makc3d.wordpress.com/tag/colt/'>colt</a>, <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/761/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=761&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/05/27/how-to-make-asc2-alchemy-swc-asc1-compatible/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>
	</item>
		<item>
		<title>Code Orchestra Livecoding Tool update</title>
		<link>http://makc3d.wordpress.com/2013/05/12/code-orchestra-livecoding-tool-update/</link>
		<comments>http://makc3d.wordpress.com/2013/05/12/code-orchestra-livecoding-tool-update/#comments</comments>
		<pubDate>Sun, 12 May 2013 03:09:42 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[colt]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=747</guid>
		<description><![CDATA[Last time I have promised you standalone actionscript livecoding tool &#8220;in about a month&#8221;, and it was delivered in 1 month and 1 day. If some of you missed the news because I did not write a post about it here &#8211; don&#8217;t feel bad &#8211; because tonight brand new 1.0.1 build is waiting for [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=747&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="https://makc3d.wordpress.com/2013/04/05/livecoding-in-actionscript-update/">Last time</a> I have promised you standalone actionscript livecoding tool &#8220;in about a month&#8221;, and <a href="https://twitter.com/code_orchestra/status/331485727852466177">it was delivered</a> in 1 month and 1 day. If some of you missed the news because I did not write a post about it here &#8211; don&#8217;t feel bad &#8211; because tonight <a href="http://blog.codeorchestra.com/post/50195225134/colt-1-0-1-has-been-released">brand new 1.0.1 build</a> is waiting for you to download it :)</p>
<p>Ok, now when we&#8217;re past this marketing part, let me continue to the reflection part. What kind of feedback we have received so far, and what can we learn from it?</p>
<p><strong>Bugs</strong></p>
<p>As any complex technology, COLT has to have bugs, and we&#8217;re happy to receive your bug reports. If you find bugs we missed, it means you are actually interested in and trying our product :) On our side of it, these bugs get fixed and new builds are uploaded.</p>
<p>But then, some &#8220;bugs&#8221; we hear about are not actually bugs, but inadequate expectations and failure to understand how COLT works. We are trying to <a href="https://github.com/code-orchestra/documentation/wiki">extensively document</a> this stuff, but there is always that user who says &#8220;<em>k, I changed the code in enterFrame handler and it works, but then I changed the code in addedToStage handler and nothing happens</em>&#8220;. So let me cover here again how does COLT work, real quick:</p>
<p><img class="aligncenter size-full wp-image-748" style="border:0 solid;" title="How does COLT work?" alt="When you save your code, COLT compiles small swf file with parts that changed since last time; methods in [Live] class are changed to call the code in those small swf files every time." src="http://goo.gl/zREyP" width="480" height="400" />And this is all that COLT does for you. It does not magically know that you want some code to be executed unless your program actually says so. Sigh. This is not rocket science, is it.</p>
<p><strong>Features</strong></p>
<p>Another kind of feedback is that one can&#8217;t do that or that in COLT. That&#8217;s right. Features take time, and we wanted to release COLT ASAP so you guys could try it not next month but today, and maybe support the development with some warm words and cold cash :) Yet, we listen to you and add the features you want &#8211; for example <em>with <a href="http://blog.codeorchestra.com/post/50195225134/colt-1-0-1-has-been-released">COLT 1.0.1</a> you can add new fields and methods to [Live] class!</em> Now isn&#8217;t that great. But you know what is even greater?</p>
<p><span style="color:#fe4226;"><strong style="font-size:20px;">You can get COLT license for free!</strong></span></p>
<p>All you have to do is upload COLT demo or tutorial video to youtube before 25th of June. And if your video is really good, you get iPad4. And if your video is REALLY good, you get 15&#8243; MacBook with retina display. Damn, I would record these videos like crazy if I were you :) Get the camera, get crazy idea and get it done, seriously. More <a title="Yay, contest!" href="http://codeorchestra.com#contest-open">here</a>.</p>
<p><strong>Good news for FlashDevelop fans</strong></p>
<p>I have been working on <a href="https://twitter.com/makc3d/status/331990721299111936">this plugin</a> to make <a href="http://www.flashdevelop.org/">FD</a> work with COLT closer. It exports your FD project to COLT and, when you run that COLT project, sends any compilation errors back to FD. The plugin is <a href="http://en.wiktionary.org/wiki/work_in_progress">WIP</a>, but already does its job and I am working closely with <a href="https://twitter.com/elsassph">Philippe</a> to improve it. So, try it out, <a href="https://github.com/makc/colt-fd-plugin/issues">leave feedback on github</a>.</p>
<p>That&#8217;s about it for tonight, I think, and hopefully more good stuff will follow next week.</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/colt/'>colt</a>, <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/747/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=747&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/05/12/code-orchestra-livecoding-tool-update/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>

		<media:content url="http://goo.gl/zREyP" medium="image">
			<media:title type="html">How does COLT work?</media:title>
		</media:content>
	</item>
		<item>
		<title>On unity flash add-on</title>
		<link>http://makc3d.wordpress.com/2013/04/24/on-unity-flash-addon/</link>
		<comments>http://makc3d.wordpress.com/2013/04/24/on-unity-flash-addon/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 21:01:16 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[unity]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=739</guid>
		<description><![CDATA[Have you read what Unity guys just said about their flash add-on? Check it out: We’re thrilled to offer the 260,000 active developers making great games and applications with Unity the opportunity to take advantage of the unprecedented reach of Adobe Flash Player across all major desktop browsers on more than a billion PCs&#8230; Unity [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=739&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Have you read what Unity guys just said about their flash add-on? Check it out:</p>
<blockquote><p><em>We’re thrilled to offer the 260,000 active developers making great games and applications with Unity the opportunity to take advantage of the unprecedented reach of Adobe Flash Player across all major desktop browsers on more than a billion PCs&#8230; Unity developers will be able to take advantage of the stunning performance offered by the addition of hardware accelerated graphics rendering through Stage3D in Flash Player.</em></p></blockquote>
<p>Oh wait, that was <a href="http://blogs.adobe.com/digitalmedia/2012/03/adobe-introduces-premium-features-for-gaming-with-flash-player-11-2-announces-collaboration-with-unity-technologies-2/">a year ago</a>. Here&#8217;s what they actually said:</p>
<blockquote><p><em>It’s been quite a while since we took a step back from our work here to give you all an update on how the Adobe Flash Player deployment add-on has been progressing. The good news is that things have been going great! We’ve had the chance to add in a lot of stuff that we initially didn’t think would be possible&#8230; We’re extremely proud of the work we’ve done making our engine the most powerful development pathway to Adobe Flash Player.</em></p></blockquote>
<p>What, wrong <a href="http://blogs.unity3d.com/2012/11/16/adobe-flash-player-export-in-4-0/">quote</a> again? Well, I guess I suck at quoting. So, let me just put the news in my own words: Unity executives compared costs to develop &#8220;the most powerful development pathway to Adobe Flash Player&#8221; with add-on sales and decided that it&#8217;s time to end it.</p>
<p>Oh yes, at the same time their &#8220;own Unity Web Player has seen unprecedented growth in recent months&#8221;, so they also decided it is good timing to blame Adobe and suggest everyone to move away from flash. Sounds like good decision to me, I mean it is working for them, right? Just look at all those tweets and posts they got in single day :)</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-740" style="border:0 solid;" title="Don't be a parrot" alt="Don't be a parrot" src="http://makc3d.files.wordpress.com/2013/04/parrots.jpg?w=500&#038;h=375" width="500" height="375" /></p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a>, <a href='http://makc3d.wordpress.com/tag/unity/'>unity</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/739/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=739&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/04/24/on-unity-flash-addon/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>

		<media:content url="http://makc3d.files.wordpress.com/2013/04/parrots.jpg" medium="image">
			<media:title type="html">Don&#039;t be a parrot</media:title>
		</media:content>
	</item>
		<item>
		<title>Can AS3 and Alchemy be friends?</title>
		<link>http://makc3d.wordpress.com/2013/04/11/as3-and-alchemy/</link>
		<comments>http://makc3d.wordpress.com/2013/04/11/as3-and-alchemy/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 00:46:04 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=730</guid>
		<description><![CDATA[Ok, so many of us tried to use Alchemy opcodes in AS3 projects, years ago. But how many keep using it every day ever after? Not me. Why? Well, where do we start&#8230; What is it good for? Adobe introduced these opcodes to implement memory access operations required by LLVM, so that Alchemy could do [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=730&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ok, so many of us <a href="http://makc3d.wordpress.com/2010/09/30/integrate-flashdevelop-azoth/">tried</a> to use Alchemy opcodes in AS3 projects, years ago. But how many keep using it every day ever after? Not me. Why? Well, where do we start&#8230;</p>
<p><strong>What is it good for?</strong></p>
<p>Adobe introduced these opcodes to implement <a href="http://llvm.org/docs/LangRef.html#memory-access-and-addressing-operations">memory access operations required by LLVM</a>, so that <a href="http://gaming.adobe.com/technologies/flascc/">Alchemy</a> could do its thing, and Flash Player could run C++ code. But for AS3 people these opcodes did not do anything magical. It was just another way to read numbers from or write to one ByteArray at a time that, coincidentally, worked faster than IDataInput/IDataOutput. So, if you were to do some number crunching, it might save you some milliseconds.</p>
<p>The problem I have with this is that now, when ASNext is abandoned and <a href="http://jacksondunstan.com/articles/2209">AS3 performance is being surpassed by JavaScript</a>, many people tend to bring up these opcodes as valid solution to <strong>*all*</strong> our &#8220;make AS3 faster&#8221; pleas. Just how exactly fast numeric array IO is supposed to help with complex data types known as classes? Good question.</p>
<p><strong>Placing your class fields in domain memory</strong></p>
<p>In C++ you have pointers, but in AS3 you don&#8217;t, so placing your class data there will be ugly. But, if you will be able to access them normally (via dot syntax) and faster at the same time, why not try it? So I did: using legacy compiler and <a href="http://www.buraks.com/azoth/">azoth</a>, I did <a href="http://pastie.org/7393584">this simple test</a>, and&#8230; got domain memory based loop running over 50 times slower than plain AS3. WTF?? Turns out domain memory is only fast if you set your ByteArray to use LITTLE_ENDIAN order (it&#8217;s the opposite by default). With LITTLE_ENDIAN memory opcodes were about 10 times faster, but this was still not enough to bridge the gap caused by having to use getters and setters now instead of plain variable fields.</p>
<p><strong>Enter the ASC2</strong></p>
<p>ASC2 has two features that make it interesting in this case. First, it can <a href="http://renaun.com/blog/2012/09/using-the-new-inline-metadata-in-asc2/">inline method calls</a>. Second, it can <a href="http://obtw.wordpress.com/2013/04/03/making-bytearray-faster/">emit memory opcodes</a> without 3rd party tools. So, after people reported that this was indeed working for my cause, I opened my FB 4.7 trial and went on to try that myself. I was confused a lot by the fact that <a href="https://twitter.com/makc3d/status/321942246368886786">none of memory opcodes were present in playerglobal.swc</a>, but it turns out you can ignore that &#8211; the code will compile and run any way. <a href="http://pastie.org/7422818">This time</a> everything went better than expected &#8211; I had domain memory based loop finally running <del>30 to 50% times</del> faster, although timings fluctuated a lot <strong>update</strong>: I bumped arrays length to get better numbers on desktop; for MBP/Chrome/11.6 they were on average 220 ms vs 110 ms, for Windows/standalone/11.6 &#8211; 250 ms vs 190 ms. Finally, for iPad3/ipa-test/AIR 3.7 they were 200 ms vs 275 ms (memory opcodes loop was slower).</p>
<p><strong>Apparat</strong></p>
<p>People on twitter were fast to remind me that <a href="https://code.google.com/p/apparat/wiki/StructureType">apparat had similar feature</a> for quite some time. This way is probably the best way to use memory opcodes for people who cannot use ASC2. I wanted to include apparat-based test for this post, too, but it turns out I don&#8217;t have it installed here (nor do I have scala). It&#8217;s not that hard to install but, as lazy as I am, this is not something I am willing to do for the sake of this blog post. So you are going to have to trust in that it works, because clever people made it.</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/alchemy/'>alchemy</a>, <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/730/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=730&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/04/11/as3-and-alchemy/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>
	</item>
		<item>
		<title>An update on Livecoding in ActionScript</title>
		<link>http://makc3d.wordpress.com/2013/04/05/livecoding-in-actionscript-update/</link>
		<comments>http://makc3d.wordpress.com/2013/04/05/livecoding-in-actionscript-update/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 21:26:52 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[colt]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[realaxy]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=725</guid>
		<description><![CDATA[Once upon a time, that famous Bret Victor talk hit the twitter and everyone went crazy about the idea for a week. Then everyone moved on, except few people around the world who set to create tools like that for web developers. Over the time, quite a few livecoding tools popped up, from LiveReload to recently [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=725&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Once upon a time, <a href="https://www.youtube.com/watch?v=PUv66718DII">that famous Bret Victor talk</a> hit the twitter and everyone went crazy about the idea for a week. Then everyone moved on, except few people around the world who set to create tools like that for web developers. Over the time, quite a few livecoding tools popped up, from <a href="http://livereload.com/">LiveReload</a> to recently <a href="http://theengine.co/loom#live-reload">Loom engine</a>, but none for ActionScript. If you&#8217;re ActionScript developer, you should see why this kind of technology could not be developed overnight. AS3 VM is not really livecoding friendly, already loaded classes have priority over new stuff you load in. But, with enough efforts nothing is impossible, and last year <a href="https://twitter.com/potapenko">Eugene Potapenko</a> demonstrated it on <a href="http://itsea.ru/">ITSea event</a>. This is an old story, however, so why this post? Well, because we have some news for you.</p>
<p><strong>iOS support</strong></p>
<p>Even though Adobe doesn&#8217;t think it&#8217;s important, there is increasing shift among AS3 developers to mobile, and Adobe&#8217;s AIR provides easiest way to do so. For months we were struggling to provide livecoding for iOS AIR apps, but there was always something in the way. This week, with great help of <a title="Not Chris Nuuja, not Thibault Imbert :(" href="http://www.adobe.com/devnet/author_bios/nimisha.html">Nimisha</a>, we&#8217;ve finally got it working there for the first time. Just check it out:</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='500' height='312' src='http://www.youtube.com/embed/7IX2ljgA-yw?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;hd=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>What I have here is simple painting app running on iPad with iOS v6. On the right, I edit its code in our <a href="http://www.codeorchestra.com/">CodeOrchestra</a> IDE, and my changes get loaded into running app on the fly. Even better, my app does not get reloaded at all, and maintains its state! This is unlike anything you guys have experienced so far :)</p>
<p><strong>&#8220;I&#8217;m sold, where&#8217;s the download link ?&#8221;</strong></p>
<p>Well, it goes like this: CodeOrchestra IDE is not only about livecoding. It is big monster with a lot of tools, like AS3 to JS convertor for web and recently <a href="http://nodejs.org/">Node.JS</a>, or domain specific language support allowing you to extend AS3 language itself. As such, there is a lot of stuff to test and a lot of bugs to fix, before it ships. So, to share this AS3 livecoding technology with you as soon as possible, <strong>it will be released in about a month as a separate product, that will work with whatever IDE you&#8217;re using right now</strong>. Please sit tight, we&#8217;re about to change the way you code forever :)<span id="more-725"></span></p>
<p><strong>The scoop</strong></p>
<p>Once you know how does the magic work, it is no longer magical. What happens here is every time you write new code, it gets compiled to small SWF file that then is loaded into main app&#8217;s ApplicationDomain. You can interact with new code naturally using your app logic, or you can subscribe to live updates event and do something special. There is no problem with this on the desktop, but iOS was the pain you know where. Because Apple is so paranoid about loading external code, Adobe had to simply turn this feature off in AIR, and there was nothing we could do about it, until AIR 3.5 beta came out with their &#8220;multiple SWFs&#8221; feature &#8211; suddenly <a href="http://www.youtube.com/watch?v=ZB6fzdjL-MM&amp;">it was possible to load SWFs on iOS</a>. We were very excited about that, and were just about to release iOS livecoding demo, when Apple shot us down with their iOS v6 release, which made it impossible for us to drop new SWF files into running app folder. Since then we were contacting various people at Adobe and begging for workaround, but it was Nimisha who listened to us and, in the end, helped us to solve <a href="https://bugbase.adobe.com/index.cfm?event=bug&amp;id=3494990">the issue</a>. Were we more lucky, you&#8217;d see this post half of year ago. Any way, I&#8217;m happy we&#8217;re past this, finally.</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/colt/'>colt</a>, <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a>, <a href='http://makc3d.wordpress.com/tag/realaxy/'>realaxy</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/725/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=725&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/04/05/livecoding-in-actionscript-update/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>
	</item>
		<item>
		<title>[ᴘᴏʟʟ] Left or right?</title>
		<link>http://makc3d.wordpress.com/2013/03/03/left-or-right/</link>
		<comments>http://makc3d.wordpress.com/2013/03/03/left-or-right/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 19:56:24 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fractals]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[wonderfl]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=720</guid>
		<description><![CDATA[What is better way to fill Mandelbrot exterior? Colors were intentionally left dull, please vote for best geometry: In case you want to check more locations, click here. Tagged: fractals, geometry, wonderfl<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=720&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>What is better way to fill Mandelbrot exterior? Colors were intentionally left dull, please vote for best geometry:</p>
<p style="text-align:center;"><a href="http://i.juick.com/p/2260754.jpg"><img class="aligncenter size-full wp-image-721" style="border:0;" alt="left or right?" src="http://makc3d.files.wordpress.com/2013/03/leftorright.jpg?w=500"   /></a></p>
<p>In case you want to check more locations, <a href="http://wonderfl.net/c/sRra/fullscreen">click here</a>.<a name="pd_a_6934929"></a>
<div class="PDS_Poll" id="PDI_container6934929" data-settings="{&quot;url&quot;:&quot;http:\/\/static.polldaddy.com\/p\/6934929.js&quot;}" style="display:inline-block;"></div>
<div id="PD_superContainer"></div>
<noscript><a href="http://polldaddy.com/poll/6934929">Take Our Poll</a></noscript></p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/fractals/'>fractals</a>, <a href='http://makc3d.wordpress.com/tag/geometry/'>geometry</a>, <a href='http://makc3d.wordpress.com/tag/wonderfl/'>wonderfl</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/720/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=720&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/03/03/left-or-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>

		<media:content url="http://makc3d.files.wordpress.com/2013/03/leftorright.jpg" medium="image">
			<media:title type="html">left or right?</media:title>
		</media:content>
	</item>
		<item>
		<title>Gyroscope adventure</title>
		<link>http://makc3d.wordpress.com/2013/02/14/gyroscope-orientation-tracking/</link>
		<comments>http://makc3d.wordpress.com/2013/02/14/gyroscope-orientation-tracking/#comments</comments>
		<pubDate>Thu, 14 Feb 2013 03:39:22 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=703</guid>
		<description><![CDATA[In case you can&#8217;t fully understand yet what Adobe means by focusing on (desktop) gaming and video and not general purpose apps, allow me to demonstrate. Suppose you are making mobile app and for whatever reason you want to track device orientation. How hard can that be? Check it out: Apple way If you&#8217;re native [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=703&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In case you can&#8217;t fully understand yet what Adobe means by focusing on (desktop) gaming and video and not general purpose apps, allow me to demonstrate. Suppose you are making mobile app and for whatever reason you want to track device orientation. How hard can that be? Check it out:</p>
<p><strong>Apple way</strong></p>
<p>If you&#8217;re native iOS app developer, you are dealing with ecosystem that does support general purpose apps. You have <a href="http://developer.apple.com/library/ios/#documentation/CoreMotion/Reference/CMDeviceMotion_Class/Reference/Reference.html">simple CMDeviceMotion class</a> that performs sensor data fusion, filtering, bias removal, etc, and gives you orientation data <a href="http://developer.apple.com/library/ios/#documentation/CoreMotion/Reference/CMAttitude_Class/Reference/Reference.html">in any form you want</a> (roll + pitch + yaw, or matrix, or quaternion). Case closed. The same class conveniently splits accelerometer data into gravity and user applied acceleration, btw. In a word, it&#8217;s perfect.</p>
<p><strong>Adobe way</strong></p>
<p>If you&#8217;re AIR app developer, prepare yourself &#8211; you&#8217;re going on the adventure. You can start by looking at <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/sensors/package-detail.html">flash.sensors package</a> &#8211; for some mysterious reason, it has accelerometer API for desktop, but no gyroscope API for mobile. Why? Because Adobe does not feel obliged to include every piece of code you might think of in their runtime. But don&#8217;t give up your hope yet &#8211; Adobe has the solution for this kind of problems &#8211; AIR native extensions. And, it turns out that Adobe made <a href="http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/gyroscope.html">one for you to access gyroscope data</a>. Despite of being abandoned in 2011, apparently just before Adobe&#8217;s focus shift kicked in, this ANE still works with current AIR 3.x.</p>
<p>Okay, this is the part where you&#8217;re happy that you don&#8217;t have to write ANE yourself, and it seems that getting your hands on device orientation data is now only a matter of few additional build settings. Well&#8230;</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-705" style="border:0;" title="Yes, I did, too :(" alt="" src="http://makc3d.files.wordpress.com/2013/02/orenishii.jpg?w=500"   /></p>
<p style="text-align:justify;">This extension API, designed to be Accelerometer class twin, has two major problems in the way. Number one is that it only exposes raw gyroscope data, i.e. rotation rate. Since this is not something that flash developers do every day, you probably have no idea how to go from radians per second to orientation quaternion, or transformation matrix. So to use this ANE, you will have to learn some new tricks, such as finding approximate <a href="http://en.wikipedia.org/wiki/Differential_equation">differential equation</a> solutions, <a href="http://en.wikipedia.org/wiki/Matrix_function#Power_series">Taylor expansion of matrix functions</a>, <a href="http://en.wikipedia.org/wiki/Summation">series summation</a> and <a href="http://en.wikipedia.org/wiki/Indeterminate_form#Evaluating_indeterminate_forms">evaluating indeterminate forms</a>. If you are still with me, good guy Oliver J. Woodman will <a href="http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-696.pdf">guide you through this hell</a> (pages 21 to 23).</p>
<p style="text-align:justify;">Ok, now you&#8217;re done reading that and ready for action, right? Not so fast &#8211; there is problem number two. Let me just quote this comment from ANE source code:</p>
<p><span style="color:#666699;"><em>// The singleton ExtensionContext object listens for StatusEvent events that</em></span><br />
<span style="color:#666699;"><em> // the native implementation dispatches. These events contain the device&#8217;s</em></span><br />
<span style="color:#666699;"><em> // gyroscope x,y,z data.</em></span><br />
<span style="color:#666699;"><em> //</em></span><br />
<span style="color:#666699;"><em> // However, each Gyroscope instance has its own interval timer. When the timer</em></span><br />
<span style="color:#666699;"><em> // expires, the Gyroscope instance dispatches a GyroscopeEvent that contains</em></span><br />
<span style="color:#666699;"><em> // the current x,y,z data.</em></span></p>
<p>Thank you, Adobe engineer, for this brilliant idea. Because there just can&#8217;t be enough lag or noise in my data. Sigh&#8230; so what do you do about this? You bypass ANE AS3 wrapper, and access its internal methods over <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExtensionContext.html">low level interface</a>. Of course, this means that you have to study both wrapper and native code beforehand :(</p>
<p>And here, my friend, we come to the end of our wonderful journey. I will go back to work on my AIR app, and you will maybe go and write your own ANE, <a href="http://developer.apple.com/library/ios/#documentation/CoreMotion/Reference/CMDeviceMotion_Class/Reference/Reference.html">with blackjack and hookers</a>. Or you may choose to continue <a title="clicky for some sources" href="http://pastie.org/6159930">where I left off</a> &#8211; maybe add <a href="http://www.youtube.com/watch?v=FkCT_LV9Syk&amp;t=4m36s">Kalman filter </a>or something. And don&#8217;t forget to write back, if you do :)</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='500' height='312' src='http://www.youtube.com/embed/CgGX-p6cM78?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/3d/'>3D</a>, <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a>, <a href='http://makc3d.wordpress.com/tag/geometry/'>geometry</a>, <a href='http://makc3d.wordpress.com/tag/physics/'>physics</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/703/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=703&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/02/14/gyroscope-orientation-tracking/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>

		<media:content url="http://makc3d.files.wordpress.com/2013/02/orenishii.jpg" medium="image">
			<media:title type="html">Yes, I did, too :(</media:title>
		</media:content>
	</item>
		<item>
		<title>Picking random points in elliptic arc or sector</title>
		<link>http://makc3d.wordpress.com/2013/02/07/picking-random-points-in-elliptic-arc-or-sector/</link>
		<comments>http://makc3d.wordpress.com/2013/02/07/picking-random-points-in-elliptic-arc-or-sector/#comments</comments>
		<pubDate>Thu, 07 Feb 2013 18:06:31 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[wonderfl]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=695</guid>
		<description><![CDATA[This was the result of random flashkit thread encounter and has no much real life value, probably. The closest thing I found to what that guy was asking for was this 2009 post explaining the trick to pick random point in the circle, but it is remarkably easy to extend it to the ellipse, or even arbitrary [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=695&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://wonderfl.net/c/sacn/read"><img class="alignleft" style="border:0;" alt="" src="http://wonderfl.net/images/capture/c/c5/c564/c564073b49a6a06bd20dbbc646c752ef284153b8.jpg?t=1360259781" width="123" height="123" /></a>This was the result of <a href="http://board.flashkit.com/board/showthread.php?829335">random flashkit thread</a> encounter and has no much real life value, probably. The closest thing I found to what that guy was asking for was this <a href="http://www.anderswallin.net/2009/05/uniform-random-points-in-a-circle-using-polar-coordinates/">2009 post</a> explaining the trick to pick random point in the circle, but it is remarkably easy to extend it to the <a href="http://wonderfl.net/c/oimX/read">ellipse</a>, or even arbitrary <a href="http://wonderfl.net/c/sacn/read">elliptic arc or sector</a>. It is interesting in that you pick correct point on 1st try versus, for example, 4/π ≈ 1.27-th try if you simply select random point in ellipse bounding box and reject outliers &#8211; and some extra Math.xxx calls pay for that.</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/geometry/'>geometry</a>, <a href='http://makc3d.wordpress.com/tag/wonderfl/'>wonderfl</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/695/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=695&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/02/07/picking-random-points-in-elliptic-arc-or-sector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>

		<media:content url="http://wonderfl.net/images/capture/c/c5/c564/c564073b49a6a06bd20dbbc646c752ef284153b8.jpg?t=1360259781" medium="image" />
	</item>
		<item>
		<title>Free SWF obfuscator update</title>
		<link>http://makc3d.wordpress.com/2013/01/27/free-swf-obfuscator-update/</link>
		<comments>http://makc3d.wordpress.com/2013/01/27/free-swf-obfuscator-update/#comments</comments>
		<pubDate>Sat, 26 Jan 2013 22:16:43 +0000</pubDate>
		<dc:creator>makc3d</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[obfuscator]]></category>

		<guid isPermaLink="false">http://makc3d.wordpress.com/?p=680</guid>
		<description><![CDATA[These days AS3 devs are all moving to AIR, so I am not sure how many of them still feel like they need to protect SWF bytecode. Neverless, my three years old &#8220;proof of concept&#8221; SWF obfuscator post remains one of the most visited posts of this blog. Guess what &#8211; it&#8217;s update time! Behold [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=680&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>These days <a title="actually more like 'some of 86%' :)" href="http://www.emanueleferonato.com/2013/01/21/evolve-your-game-with-flash-gaming-summit-5/">AS3 devs are all moving to AIR</a>, so I am not sure how many of them still feel like they need to protect SWF bytecode. Neverless, my three years old <a href="http://makc3d.wordpress.com/2010/02/09/open-source-swf-obfuscator/">&#8220;proof of concept&#8221; SWF obfuscator post</a> remains one of the most visited posts of this blog. Guess what &#8211; it&#8217;s update time! Behold <a title="Clicky clicky" href="http://ideaskill.com/obfuscator/">brand new free SWF obfuscator version 2</a> :) So, what&#8217;s new?</p>
<p><strong>Faster processing</strong></p>
<p>Much faster! New version still goes same old &#8220;replace the string everywhere in SWF&#8221; way, but it uses special charcode tree to replace all identifiers in single pass. I might write another post on subject, if there is enough interest.</p>
<p><strong>Automatic identifiers collection</strong></p>
<p>You no longer have to manually type identifiers that you want to replace. The obfuscator runs your SWF through <a href="http://www.as3commons.org/as3-commons-bytecode/index.html">as3commons parser</a> and collects all identifiers; then you can remove identifiers that you don&#8217;t want to replace. Note that neither as3commons parser nor my wrapper code are perfect, so it will fail for some SWFs. You can send me those, if you want, but I may not be able to fix that after all.</p>
<p><strong>Bulk filtering</strong></p>
<p>You don&#8217;t want to rename stuff like <em>beginBitmapFill</em>, so I parsed playerglobal.swc v11.6 and made a checkbox to ignore all those identifiers. Did the same for apache flex then, but not sure if that&#8217;s useful &#8211; so that checkbox is off by default.</p>
<p>That&#8217;s about it. One last warning: <a title="and here is what I think about it" href="https://twitter.com/maaash/status/294822445796429825">there will be invalid SWFs, and there will be bugs</a>. I can&#8217;t really fix them all, but if you send me your stuff I might try. Or not.</p>
<br /> Tagged: <a href='http://makc3d.wordpress.com/tag/flash/'>flash</a>, <a href='http://makc3d.wordpress.com/tag/obfuscator/'>obfuscator</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/makc3d.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/makc3d.wordpress.com/680/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=makc3d.wordpress.com&#038;blog=5102728&#038;post=680&#038;subd=makc3d&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://makc3d.wordpress.com/2013/01/27/free-swf-obfuscator-update/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/516002b64891d76b1950581dc254cec0?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">makc3d</media:title>
		</media:content>
	</item>
	</channel>
</rss>
