<?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>Luracast</title>
	<atom:link href="http://luracast.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://luracast.com</link>
	<description>The Developer&#039;s Paradise</description>
	<lastBuildDate>Sat, 11 Feb 2012 07:18:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Tips.PHP: Removing empty strings, NULL, FALSE, and negative numbers from Array</title>
		<link>http://luracast.com/blog/tips-php-removing-empty-strings-null-false-and-negative-numbers-from-array_2299/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tips-php-removing-empty-strings-null-false-and-negative-numbers-from-array</link>
		<comments>http://luracast.com/blog/tips-php-removing-empty-strings-null-false-and-negative-numbers-from-array_2299/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 02:07:21 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Code PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=2299</guid>
		<description><![CDATA[Often we need to remove empty elements from our array. For example when we split a string with space, we can get the words and also blank strings when there are two or more spaces put together. We can use array_filter function for rescue. When we call array_filter with out passing the filter function it [...]]]></description>
			<content:encoded><![CDATA[<p>Often we need to remove empty elements from our array. For example when we split a string with space, we can get the words and also blank strings when there are two or more spaces put together.</p>
<p>We can use array_filter function for rescue. When we call array_filter with out passing the filter function it removes all values that evaluate to FALSE.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><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 />24<br />25<br />26<br />27<br />28<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #000088;">$string</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;I love &nbsp; Luracast Restler 2.0&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$words</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/print_r"><span style="color: #990000;">print_r</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$words</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">/* outputs the following<br />
Array<br />
(<br />
&nbsp; &nbsp; [0] =&gt; I<br />
&nbsp; &nbsp; [1] =&gt; love<br />
&nbsp; &nbsp; [2] =&gt; <br />
&nbsp; &nbsp; [3] =&gt; <br />
&nbsp; &nbsp; [4] =&gt; Luracast<br />
&nbsp; &nbsp; [5] =&gt; Restler<br />
&nbsp; &nbsp; [6] =&gt; 2.0<br />
)<br />
*/</span><br />
<span style="color: #000088;">$words</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array_filter"><span style="color: #990000;">array_filter</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$words</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/print_r"><span style="color: #990000;">print_r</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$words</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">/* outputs the following<br />
Array<br />
(<br />
&nbsp; &nbsp; [0] =&gt; I<br />
&nbsp; &nbsp; [1] =&gt; love<br />
&nbsp; &nbsp; [4] =&gt; Luracast<br />
&nbsp; &nbsp; [5] =&gt; Restler<br />
&nbsp; &nbsp; [6] =&gt; 2.0<br />
)<br />
*/</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/tips-php-removing-empty-strings-null-false-and-negative-numbers-from-array_2299/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tips.PHP: Securing ViewSource.php</title>
		<link>http://luracast.com/blog/tips-php-securing-viewsource-php_2178/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tips-php-securing-viewsource-php</link>
		<comments>http://luracast.com/blog/tips-php-securing-viewsource-php_2178/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 03:00:52 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Code PHP]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=2178</guid>
		<description><![CDATA[I&#8217;m in the process of creating Usage examples for the brand new version of RESTler. Take a look at the work in progress version here (I would love to hear your thoughts). One of the nice features in that is the ability to see the source code. I&#8217;m using a getsource.php which will return the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the process of creating Usage examples for the brand new version of <a href="http://luracast.com/products/restler" _mce_href="/products/restler" title="RESTful API Server Framework">RESTler</a>. Take a look at the work in progress version <a title="Restler 2.0 Examples" href="bit.ly/nw3xFl" _mce_href="bit.ly/nw3xFl" target="_blank">here</a> (I would love to hear your thoughts). One of the nice features in that is the ability to see the source code.</p>
<p>I&#8217;m using a getsource.php which will return the source code of any php file when the relative path is passed as a query parameter. It is dangerous as any one can take a peek at any of the PHP files in my server including&nbsp;Wordpress&nbsp;config files to reveal the database access details. Safe mode can only save folders outside my web root.</p>
<p>Scott Hurring has his version of <a href="http://hurring.com/scott/code/php/view_source/" _mce_href="http://hurring.com/scott/code/php/view_source/" title="View Source" target="_blank">source code viewer</a> and does the following to protect sensitive php files from viewing</p>
<blockquote><p>You may hide certain directories from the user via the use of the $protected array (see code).&nbsp;</p>
<p>The script takes in the URL ($url), strips out all non-alphanums, all double dots (..), will pre-pend the $DOC_ROOT of your webserver, then resolve that (using realpath()) into a directory on the server. It will then verify that the resulting directory is NOT in the $protected array, and that the file actually exists on disk.</p>
</blockquote>
<p>I&#8217;m using a different approach, by converting the relative path to realpath and making sure it starts with the same base path check the following code to see the implementation</p>
<div class="codecolorer-container php default" 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 /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$require_comments</span><span style="color: #339933;">=</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'../'</span><span style="color: #339933;">.</span><span style="color: #000088;">$file</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$filepath</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/realpath"><span style="color: #990000;">realpath</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$basepath</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/realpath"><span style="color: #990000;">realpath</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'../../'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$basepath</span><span style="color: #339933;">,</span><span style="color: #000088;">$filepath</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">===</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">#trying to get the source outside restler examples<br />
</span>&nbsp; &nbsp; <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'not allowed'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/file_exists"><span style="color: #990000;">file_exists</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'file not found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/file_get_contents"><span style="color: #990000;">file_get_contents</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/pathinfo"><span style="color: #990000;">pathinfo</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span> PATHINFO_FILENAME<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.php'</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$require_comments</span><span style="color: #009900;">&#41;</span><span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> strip_comments<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;pre id=&quot;php&quot;&gt;'</span><span style="color: #339933;">.</span><a href="http://www.php.net/htmlspecialchars"><span style="color: #990000;">htmlspecialchars</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/pre&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'no file specified'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>What else can be done? Please share your thoughts</p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/tips-php-securing-viewsource-php_2178/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why haXe to SWC is important for Flex/Flash Developers?</title>
		<link>http://luracast.com/blog/why-haxe-to-swc-is-important-for-flexflash-developers_82/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-haxe-to-swc-is-important-for-flexflash-developers</link>
		<comments>http://luracast.com/blog/why-haxe-to-swc-is-important-for-flexflash-developers_82/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 15:11:14 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[haXe]]></category>
		<category><![CDATA[LLVM]]></category>
		<category><![CDATA[swc]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=82</guid>
		<description><![CDATA[I believe that haXe is the right platform for developing api&#8217;s and code libraries. Why haXe? If you use just the haXe core libraries. HaXe Can compile to Javascript by generating a single 1.js file Can compile to Flash 6-8 by generating a single  1.swf file Can compile to Flash 9-10 / Tamarin by generating a [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>I believe that <a href="http://haxe.org/" target="_blank">haXe</a> is the right platform for developing api&#8217;s and code libraries.</p>
<p><strong>Why haXe?</strong></p>
<p>If you use just the haXe core libraries.</p>
<p>HaXe</p>
<ul>
<li>Can compile to Javascript by generating a single
<div class="codecolorer-container text default" 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">.js</div></td></tr></tbody></table></div>
<p>file</li>
<li>Can compile to Flash 6-8 by generating a single 
<div class="codecolorer-container text default" 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">.swf</div></td></tr></tbody></table></div>
<p>file</li>
<li>Can compile to Flash 9-10 / Tamarin by generating a single 
<div class="codecolorer-container text default" 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">.swf</div></td></tr></tbody></table></div>
<p>file</p>
<ul>
<li>generate optimized integer arithmetic</li>
<li>autocast when reading typed arrays</li>
</ul>
</li>
<li>Can compile to NekoVM by generating a singl 
<div class="codecolorer-container text default" 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">.n</div></td></tr></tbody></table></div>
<p>bytecode file</p>
<ul>
<li>can be run from the commandline</li>
<li>can be run on Apache Web server (with mod_neko or mod_tora)</li>
</ul>
</li>
<li>Can compile to <a href="http://haxe.org/doc/flash/as3gen">AS3 source code</a></li>
<li>Can compile to PHP 5</li>
</ul>
<p>Making it ideal as write once and use it in many platforms solution.</p>
<p><strong>Why HaXe to SWC?</strong></p>
<p>Adobe has an initiative called <a title="Alchemy" href="http://labs.adobe.com/wiki/index.php/Alchemy:FAQ" target="_blank">alchemy</a> which is a research project and tool chain that allows users to compile C and C++ code that is targeted to run on the open source ActionScript virtual machine (AVM2). The C/C++ code is compiled to ActionScript 3.0 as a SWF or SWC that runs on Adobe Flash Player 10 or Adobe AIR 1.5. Alchemy is intended to be used with existing C/C++ libraries that have few OS dependencies.¬†</p>
<p>Code generated by it will be much more optimized (for speed) and will run considerably faster than AS3 compiled byte code because compiling with LLVM tools (included as part of Alchemy) allows compile and link time optimizations to be applied that the ActionScript compiler does not use as yet. In addition, for operations involving ByteArrays there are opcodes that are optimized for performance, which the ActionScript compiler does not generate today. these opcodes exposes a special api which allows a byte array to be used as memory for the c, c++ code which bypasses the garbage collection mechanism, thus adding to the speed</p>
<p>HaXe can bring the same advantages for libraries that are yet to be written. It gives you the freedom of using all of the flash (10) specific api if you are not planing to use it in other platforms. It already supports the special opcodes that are used by alchemy and does lot of byte code optimization. Even though it is already capable of generating AS3 code, compiling it using mxmlc or compc will loose most of the advantages that are provided by the haXe compiler.</p>
<p>Let me list the advantages that the haXe compiler provides us</p>
<ul>
<li><a href="http://haxe.org/ref/inline">In-line Methods and Variables</a></li>
<li><a href="http://haxe.org/doc/advanced/rtti">Runtime Type Information</a></li>
<li>Optimized Generics (for Flash9, 10)</li>
<li><a href="http://haxe.org/doc/advanced/resources">External File Resources</a></li>
<li><a href="http://haxe.org/ref/conditionals">Conditional Compilation</a></li>
<li>Flash <a title="Virtual Memory API" href="http://ncannasse.fr/blog/virtual_memory_api">virtual memory API</a> (made available in Flash player 10 and used exclusively by alchemy)</li>
</ul>
<p>We can compile the final swf using haXe. While doing so we can incorporate our flex swf as well, but this will need this new workflow every time you need to modify and compile your flex application</p>
<p>So, ideal solution is to have haXe to swc compiler which compiles the libraries with all the optimization benefits it can give us and then we use the swc like any other compc or alchemy compiled swc in our flex/flash project.</p>
<p>We get best of both worlds <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m very happy to say that we are very near to this dream. Thanks to <a title="Blog" href="http://ncannasse.fr/">Nicolas Cannasse</a>,  haXe to SWC is already made possible with the latest version of haXe which is available in the CVS repository. You may follow <a title="Mailing List" href="http://n2.nabble.com/making-haxe-swc--tt1657260.html#none">this thread</a> to know more on the progress</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/why-haxe-to-swc-is-important-for-flexflash-developers_82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powerflasher FDT 3.O Review</title>
		<link>http://luracast.com/blog/powerflasher-fdt-3-o-review_71/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=powerflasher-fdt-3-o-review</link>
		<comments>http://luracast.com/blog/powerflasher-fdt-3-o-review_71/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 09:58:48 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=71</guid>
		<description><![CDATA[FDT is an Eclipse based IDE for Actionscript coding. I heard about it a lot but never tried it on my own. When I came to know Nico Zimmerman is about to present in our FUG. I wanted to try it before that so that I can better understand the platform and raise any issues [...]]]></description>
			<content:encoded><![CDATA[<p>FDT is an Eclipse based IDE for Actionscript coding. I heard about it a lot but never tried it on my own.  When I came to know <a href="http://fdt.powerflasher.com/blog/">Nico Zimmerman</a> is about to present in our <a title="FUG Forum" href="http://dev.fug.sg/viewtopic.php?f=20&amp;t=121" target="_blank">FUG</a>. I wanted to try it before that so that I can better understand the platform and raise any issues that I come across.  FDT is a plugin for eclipse, so I have to install Eclipse first. Since fdt site did not specify or recommend a eclipse version I dared to install <a href="http://www.eclipse.org/downloads/" target="_blank">Ganymede</a> which is the latest eclipse version (3.4) and then followed the install instruction to get the FDT plugin installed. Ganymede has whole new way of installing plugins which were not compatible with FDT install, so it provided me old way of installing, and I got FDT installed. I could get the basic feature to work, but enterprice features never worked for me <img src='http://luracast.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  . I think they FDT should provide a complete install package that includes eclipse or at least specify supported eclipse version information clearly in their site  Then I tried eclipse version 3.3.2 with no luck on the enterprise features. I was little frustrated and decided to wait until the Nico&#8217;s presentation. During the QA session I got the answer, recommended eclipse version is 3.2.2, with which I got it finally working <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   After restarting eclipse with the new FDT basic, professional, and enterprise plug-ins, I was greeted with the following screen. I have changed the eclipse.ini and restarted eclipse, that problem went away</p>
<div id="attachment_76" class="wp-caption aligncenter" style="width: 481px"><a href="http://luracast.com/wp-content/uploads/2010/10/fdt_memory_dialog.gif"><img class="size-full wp-image-76" title="FDT Memory Dialog" src="/wp-content/uploads/2010/10/fdt_memory_dialog.gif" alt="Memory Warning" width="471" height="206" /></a><p class="wp-caption-text">FDT Memory Dialog</p></div>
<p>Using the free flex 3.0 sdk I could compile, trace, and debug action script projects. Another glitch I came across is re-factoring. Even though I&#8217;m trying enterprise version and the 30 days trial supposed to be fully functional, I keep seeing the following window</p>
<div id="attachment_78" class="wp-caption aligncenter" style="width: 360px"><a href="http://luracast.com/wp-content/uploads/2010/10/fdt_refactor_dialog.gif"><img class="size-full wp-image-78   " title="FDT Refactor Dialog" src="/wp-content/uploads/2010/10/fdt_refactor_dialog.gif" alt="" width="350" height="200" /></a><p class="wp-caption-text">Refactor Dialog</p></div>
<p>I needed a good as3 project to try out FDT. So I created a template engine which supports expressions that contain string and numeric literals actionscript variables and functions, if then else condition as part of the template text.  Since Flex builder is the first Eclipse based IDE I&#8217;ve used for action script development I can&#8217;t resist comparing them.  FDT is much closer implementation to the Java editor and brings in all the favorite eclipse ide features that java developers love is ported and made available to actionscript developers. The advantages that I see are</p>
<ul>
<li>Problems view is not totally tied to compiler, it does not even need the file to be saved, it can show problems as we type</li>
<li><a href="http://www.vasanth.in/2004/05/17/EclipseTipCodeTemplates.aspx" target="_blank">Code template</a> support for easy code generation of all the boilerplate code like for loops event listeners</li>
<li>We can customize and even add our own code templates, and access them by typing Ctrl/Command + Space after typing few characters</li>
<li>Problem solving by generating needed code, say for example if you make use of a function that does not exist FDT can create it for you. It can even create a missing class for you</li>
<li>Code Auto formatting, I love it <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Source code generation from compiled swc libraries</li>
</ul>
<p>Flexbuilder excels in the following</p>
<ul>
<li>Tighter integration with the compiler</li>
<li>MXML support and live preview</li>
<li>Profiling</li>
<li>Pricing</li>
</ul>
<p>It is even possible to get best of both worlds, we can install FDT to Flexbuilder and add Flash Nature to Flex Projects and then get the FDT goodness to all as files in there.  FDT supports opensource by providing their ide for free, which is a good news for the community. I&#8217;m also planing to opensource my templating engine, that will be the content for another post <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/powerflasher-fdt-3-o-review_71/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&quot;Code Generation Techniques&quot; – Presentation</title>
		<link>http://luracast.com/blog/code-generation-techniques_53/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-generation-techniques</link>
		<comments>http://luracast.com/blog/code-generation-techniques_53/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 14:56:04 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=53</guid>
		<description><![CDATA[Today I have presented on code generation techniques on the Singapore Flex User Group. Here are the important links for that presentation Eclipse Monkey Eclipse Monkey allows you to write scripts that run inside Eclipse and through DOMs are able to access and control(script) parts of the Eclipse Platform. Overview Eclipse Monkey Scripting Information Eclipse [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have presented on code generation techniques on the <a href="http://dev.fug.sg/viewtopic.php?f=20&amp;t=104">Singapore Flex User Group.</a></p>
<p style="text-align: center;"><a title="FUG" href="http://dev.fug.sg/viewtopic.php?f=20&amp;t=104" target="_blank"></a><object id="otv_o_943531" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="flashvars" value="viewcount=true&amp;autoplay=false&amp;brand=embed&amp;" /><param name="src" value="http://www.ustream.tv/flash/video/478208" /><param name="name" value="otv_e_58277" /><param name="allowfullscreen" value="true" /><embed id="otv_o_943531" type="application/x-shockwave-flash" width="400" height="320" src="http://www.ustream.tv/flash/video/478208" name="otv_e_58277" flashvars="viewcount=true&amp;autoplay=false&amp;brand=embed&amp;" wmode="transparent" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: center;"><a href="http://picasaweb.google.com/shinchi/FIG/photo#5210662118972137346"><img class="aligncenter" title="Presenting..." src="http://lh6.ggpht.com/shinchi/SE_9lwXrH4I/AAAAAAAAAbQ/-9lcy2w2jZQ/s400/IMG_9184.jpg" alt="" width="400" height="266" /></a></p>
<p>Here are the important links for that presentation</p>
<p><strong>Eclipse Monkey</strong><br />
Eclipse Monkey allows you to write scripts that run inside Eclipse and through DOMs are able to access and control(script) parts of the Eclipse Platform.</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Monkey/Overview">Overview</a></li>
<li><a href="http://eclipse.dzone.com/news/introduction-scripting-eclipse">Eclipse Monkey Scripting Information</a></li>
<li><a href="http://monkey.brain-bakery.com/entry/list">Eclipse Monkey Exchange</a></li>
</ul>
<p><strong>Action Script 3 &#8211; Code Generation Scripts</strong></p>
<ul>
<li><a href="http://panellabs.net/eclipse-monkey-asctionsript-generate-scripts/">Scripts</a></li>
<li><a href="http://panellabs.net/2008/06/01/generate-actionscript-3-code-with-eclipse-monkey-flex-builder/">Demo Video</a></li>
</ul>
<p><strong>Adding Snippets panel to Flex Builder</strong></p>
<ul>
<li><a href="http://www.insideria.com/2008/04/flex-builder-enhancements-snippets-and-todo.html">How to</a></li>
<li><a href="http://nwebb.co.uk/blog/?p=178">WST Snippets install instructions</a></li>
</ul>
<p><strong>FCG : a Flex Code Generator</strong><br />
FCG is an AIR application, currently under development, which primary goal is to automatically provide the base code for your RemoteObject based Flex applications. Basically, it means that it reads some code from the server side, and creates a bunch of MXML and AS files to boost your productivity. Its goal is not to create a ready-to-use application, but to provide the tools you need to do so as quickly as possible</p>
<ul>
<li><a href="http://www.dehats.com/drupal/?q=node/7">Install</a></li>
<li><a href="http://9mmedia.com/blog/?p=56">Review</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/code-generation-techniques_53/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&quot;Flex Production Techniques&quot; &#8211; Presentation</title>
		<link>http://luracast.com/blog/flex-production-techniques_60/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flex-production-techniques</link>
		<comments>http://luracast.com/blog/flex-production-techniques_60/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 18:14:24 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=60</guid>
		<description><![CDATA[Today I presented in the Flexcamp on Flex Production Techniques. I showcased ThumSUB for the very first time Here are the slides for that presentation]]></description>
			<content:encoded><![CDATA[<p>Today I presented in the Flexcamp on Flex Production Techniques. I showcased ThumSUB for the very first time <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here are the slides for that presentation</p>
<p style="text-align: center;"><object width="425" height="348"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=flexproductiontechniques-1231869298036794-1"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=flexproductiontechniques-1231869298036794-1"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="348"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/flex-production-techniques_60/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webcam Motion Detection using AS3.</title>
		<link>http://luracast.com/blog/webcam-motion-detection-using-as3_662/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webcam-motion-detection-using-as3</link>
		<comments>http://luracast.com/blog/webcam-motion-detection-using-as3_662/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 15:11:20 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Demo]]></category>
		<category><![CDATA[Flash 9]]></category>
		<category><![CDATA[Bug Fixing]]></category>
		<category><![CDATA[Code developer]]></category>
		<category><![CDATA[Flash Framework]]></category>
		<category><![CDATA[Flash-DB]]></category>
		<category><![CDATA[PHP Developer]]></category>
		<category><![CDATA[SWF]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=662</guid>
		<description><![CDATA[Some time back Guy Watson wrote an article in the developer center called Webcam Motion Detection: Using the BitmapData API in Flash 8. He later made a better version of it and included that source in the zip file. I went through that code and completely rewrote it in ActionScript 3. Here is the demo. [...]]]></description>
			<content:encoded><![CDATA[<p>Some time back <a href="http://www.flashguru.co.uk/">Guy Watson</a> wrote an article in the developer center called <a href="http://www.adobe.com/devnet/flash/articles/webcam_motion.html"><strong>Webcam Motion Detection: Using the BitmapData API in Flash 8</strong></a>. He later made a better version of it and included that source in the zip file.  I went through that code and completely rewrote it in ActionScript 3.  Here is the demo. This one of course requires a webcam and flash 9  player to play around. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="176" height="208" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="src" value="/wp-content/uploads/2011/01/Flash9WebcamMotionDetection.swf" /><embed type="application/x-shockwave-flash" width="176" height="208" src="/wp-content/uploads/2011/01/Flash9WebcamMotionDetection.swf" quality="high"></embed></object></p>
<p>Once I clean up the code I will post the source as well <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/webcam-motion-detection-using-as3_662/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aral Balkan on Application Development &amp; Architecture for the Flash Platform.</title>
		<link>http://luracast.com/blog/aral-balkan-on-application-development-architecture-for-the-flash-platform_646/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=aral-balkan-on-application-development-architecture-for-the-flash-platform</link>
		<comments>http://luracast.com/blog/aral-balkan-on-application-development-architecture-for-the-flash-platform_646/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 14:41:41 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[AcionScript]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Flash Framework]]></category>
		<category><![CDATA[Flash JavaScript API]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[Technical News]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=646</guid>
		<description><![CDATA[3dsense Media School people have brought in Aral Balkan to Singapore. He will be giving us a speech coming Sunday. Look at http://pixelreloaded.com/ for more details. Even if you haven&#8217;t registered for the event, do come over. On the spot registration will be available, and I will also be there Thanks to 3dsense guys, I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://singapore.3dsense.net/home/">3dsense Media School</a> people have brought in <a href="http://www.aralbalkan.com/">Aral Balkan</a> to Singapore. He will be giving us a speech coming Sunday. Look at <a href="http://pixelreloaded.com/">http://pixelreloaded.com/</a> for more details. Even if you haven&#8217;t registered for the event, do come  over. On the spot registration will be available, and I will also be  there <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks to 3dsense guys, I met with Aral Balkan and we talked a lot. It  was great talking to Aral and I look forward to talk more. We both were  given a chance to know about the activities of 3dsense Media School.  They are passion driven people and really addicted to their field.  Seeing the 3D animation of their students tempts me to jump back to 3D  animation <img src='http://luracast.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I&#8217;m happy that they will also be focusing on flash, and will be bringing  in more international flash experts like Aral to speak to us.</p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/aral-balkan-on-application-development-architecture-for-the-flash-platform_646/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Background becomes black when defining depthColors style for Tree Component.</title>
		<link>http://luracast.com/blog/background-becomes-black-when-defining-depthcolors-style-for-tree-component_648/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=background-becomes-black-when-defining-depthcolors-style-for-tree-component</link>
		<comments>http://luracast.com/blog/background-becomes-black-when-defining-depthcolors-style-for-tree-component_648/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 14:44:58 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Flex 2]]></category>
		<category><![CDATA[AcionScript]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Flash Framework]]></category>
		<category><![CDATA[Flash JavaScript API]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[Technical News]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=648</guid>
		<description><![CDATA[It used to work fine before (in Flex 2.0). Now with Flex 2.0.1, it renders as shown below when we define depthColors attribute for Tree Component If I find any workaround I will update this post. If you know a workaround please post it as a comment]]></description>
			<content:encoded><![CDATA[<p>It used to work fine before (in Flex 2.0). Now with Flex 2.0.1, it  renders as shown below when we define depthColors attribute for Tree  Component<br />

			<div class='et-tabs-container' id='et-tabs-container655'>
				<div class='et-tabs-content'>
			<div class='et_slidecontent'>
			<pre>depthColors="[0xFFFFFF, 0xF2F6F7, 0xEDF5F7, 0xE8F0F2, 0xD3E2E6]"
</pre>
		</div>
		</div>
			</div> <!-- .et-tabs-container -->
			<script type='text/javascript'>
				
					jQuery('#et-tabs-container655 .et-tabs-content').et_shortcodes_switcher({slidePadding: '20px 25px 8px', linksNav: '#et-tabs-container655 .et-tabs-control li a', findParent: true, fx: 'fade', auto: false, autoSpeed: '5000'});
				
			</script></p>
</table>
<p><a href="http://luracast.com/wp-content/uploads/2011/01/depthColorsBlackPatch-727119.jpg"><img class="alignnone size-full wp-image-649" title="depthColorsBlackPatch-727119" src="/wp-content/uploads/2011/01/depthColorsBlackPatch-727119.jpg" alt="" width="290" height="290" /></a></p>
<p>If I find any workaround I will update this post. If you know a workaround please post it as a comment</p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/background-becomes-black-when-defining-depthcolors-style-for-tree-component_648/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling Run Mode Trace in Flex Builder 2.</title>
		<link>http://luracast.com/blog/enabling-run-mode-trace-in-flex-builder-2_652/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enabling-run-mode-trace-in-flex-builder-2</link>
		<comments>http://luracast.com/blog/enabling-run-mode-trace-in-flex-builder-2_652/#comments</comments>
		<pubDate>Mon, 01 Jan 2007 14:50:42 +0000</pubDate>
		<dc:creator>Luracast</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flex 2]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Development Tools]]></category>
		<category><![CDATA[Flash Coders]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Flash Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://luracast.com/?p=652</guid>
		<description><![CDATA[As you know trace messages are shown only in Debug Mode in Flex Builder. You can follow the steps shown below to see the trace output in Flex Builder all the time. Open Window &#62; Preferences&#8230; menu Select General &#62; Editors &#62; File Associations in the Tree Add *.swf as the New File Type Select [...]]]></description>
			<content:encoded><![CDATA[<p>As you know trace messages are shown only in Debug Mode in Flex  Builder. You can follow the steps shown below to see the trace output in  Flex Builder all the time.</p>
<p>Open  <em><strong>Window &gt; Preferences&#8230;</strong></em> menu</p>
<p>Select <em><strong>General &gt; Editors &gt; File Associations</strong></em> in the Tree</p>
<p>Add *.swf as the New File Type</p>
<p>Select the newly added *.swf file type and Add &#8220;<strong>Internal Web Browser</strong>&#8221; as the Associated Editor</p>
<p>Download the <a title="download: TracerV2.zip  197.27 KB" href="http://luracast.com/downloads/TracerV2.zip">TracerV2.swf</a> from this site. Read <a href="http://luracast.com/blog/creating-a-talking-application-in-flash_739/">this</a> blog entry for more info.</p>
<p>Using<em><strong> File &gt; Open File&#8230;</strong></em> open TracerV2.swf</p>
<p>Configure the TracerV2.swf and follow the steps as shown</p>
<p>Move this TracerV2.swf for your convenience</p>
<p>Now you should see the trace output from any swf played through Debug Player as shown below</p>
<p><a href="http://luracast.com/wp-content/uploads/2011/01/RunModeTrace_inFlexBuilder-763645.jpg"><img class="alignnone size-medium wp-image-653" title="RunModeTrace_inFlexBuilder-763645" src="/wp-content/uploads/2011/01/RunModeTrace_inFlexBuilder-763645-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Thanks to <a href="http://www.shockwave-india.com/blog/?comments=116682290948190547#c116682290948190547">Veejay</a> who made me think of making Tracer panel more usable.</p>
<p>By the way, Happy 2007 <img src='http://luracast.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://luracast.com/blog/enabling-run-mode-trace-in-flex-builder-2_652/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

