<?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>blog.joa-ebert.com - Blog of Joa Ebert &#187; tools</title>
	<atom:link href="http://blog.joa-ebert.com/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.joa-ebert.com</link>
	<description>Actionscript3, Flash, Scala, Java, C#, C++, Algorithms &#38; Imageprocessing</description>
	<lastBuildDate>Fri, 11 Nov 2011 11:13:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>AS3V For Ant Released</title>
		<link>http://blog.joa-ebert.com/2009/06/26/as3v-for-ant-released/</link>
		<comments>http://blog.joa-ebert.com/2009/06/26/as3v-for-ant-released/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 16:43:48 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[as3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[as3v]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[fdt]]></category>

		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=388</guid>
		<description><![CDATA[Since I started the development of some other library I completly put AS3V aside because the Eclipse integration with FDT is currently not possible. But since AS3V is working already I decided to release a version really quick that allows you to use AS3V as an Ant Task or simply from command line. I know [...]]]></description>
			<content:encoded><![CDATA[<p>Since I started the development of <a href="http://blog.joa-ebert.com/2009/06/23/a-simple-method-and-taas/" target="_self">some other library</a> I completly put AS3V aside because the Eclipse integration with FDT is currently not possible. But since AS3V is working already I decided to release a version really quick that allows you to use AS3V as an Ant Task or simply from command line.</p>
<p>I know it would be better to have it as an Eclipse Plug-in with nice little markers etc. but for that I need some more extension points in FDT. I do not know about FlexBuilder but it would be probably the same.</p>
<p>The file includes an example build and some test cases that show you how AS3V can detect common errors and mistakes. There is currently not that much documentation available for the rules and parameters you can specify. Putting a list online with all rules and nice descriptions is of course something I would like to do but currently the time for that is missing. I hope everything is self-explaining if you have a look at the readme and example files.</p>
<ul>
<li><a href="http://as3v.joa-ebert.com/as3v.zip" title="AS3V">Download AS3V</a></li>
</ul>
<p><b>Update:</b> The AS3V package has been updated with one bug fix and some modifications so that AS3V will produce a more interesting log output if it fails for some reason. Using AS3V with Eclipse works only if you specify <code>fork="true"</code> like in the Flex SDK example from the build file that comes with the zip.</p>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2009/06/26/as3v-for-ant-released/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=388&amp;md5=abdf8d652bd46d662b3f59a8465e85bf" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2009/06/26/as3v-for-ant-released/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=388&amp;md5=abdf8d652bd46d662b3f59a8465e85bf" type="text/html" />
	</item>
		<item>
		<title>AS3V Preview</title>
		<link>http://blog.joa-ebert.com/2009/05/20/as3v-preview/</link>
		<comments>http://blog.joa-ebert.com/2009/05/20/as3v-preview/#comments</comments>
		<pubDate>Wed, 20 May 2009 18:41:56 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[as3v]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=372</guid>
		<description><![CDATA[Here is the first preview of what AS3V looks like in Eclipse. I have written about 30 rules which include cyclomatic complexity checks and unreachable code detection. Most of the time was getting AS3V to link against the asc.jar from the Flex SDK inside Eclipse which is a real nightmare if you ever tried that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.joa-ebert.com/wp-content/images/as3v.png" target="_self" title="AS3V" rel="lightbox[372]"><img src="http://blog.joa-ebert.com/wp-content/images/as3v_s.png" alt="AS3V" border="0" style="float: left; padding-right: 4px"/></a> Here is the first preview of what AS3V looks like in Eclipse. I have written about 30 rules which include <a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity" target="_blank">cyclomatic complexity</a> checks and <a href="http://en.wikipedia.org/wiki/Unreachable_code" target="_blank">unreachable code detection</a>. Most of the time was getting AS3V to link against the <code>asc.jar</code> from the Flex SDK inside Eclipse which is a real nightmare if you ever tried that one for yourself. However &#8212; it works. And hopefully I can forget about all the code I had to write pretty soon.</p>
<p>You can see in the screenshot that AS3V places markers in your Eclipse code. It works as an incremental project builder which means it is pretty fast since it only evaluates all your sources that have changed independently. If you have any suggestions for possible rules, please tell me. The Flex SDK coding conventions could be interesting for instance. Right now the Eclipse plug-in has still some problems but I think that a first version might be released in the next few weeks.</p>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2009/05/20/as3v-preview/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=372&amp;md5=3d9812a874a8dc7144f70d1177138184" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2009/05/20/as3v-preview/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=372&amp;md5=3d9812a874a8dc7144f70d1177138184" type="text/html" />
	</item>
		<item>
		<title>The return of AS3V</title>
		<link>http://blog.joa-ebert.com/2009/05/18/the-return-of-as3v/</link>
		<comments>http://blog.joa-ebert.com/2009/05/18/the-return-of-as3v/#comments</comments>
		<pubDate>Mon, 18 May 2009 12:33:56 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[as3v]]></category>
		<category><![CDATA[asc]]></category>

		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=362</guid>
		<description><![CDATA[In September 2008 I started working on a tool called AS3V. The goal of AS3V was to parse source code and to check the code against a set of rules. My main problem with the first attempt of AS3V was that I used ANTLR. ANTLR is a great tool to create a compiler but for [...]]]></description>
			<content:encoded><![CDATA[<p>In September 2008 I started working on a tool called <a href="http://blog.joa-ebert.com/2008/10/06/as3v/" target="_blank">AS3V</a>. The goal of AS3V was to parse source code and to check the code against a set of rules. My main problem with the first attempt of AS3V was that I used <a href="http://www.antlr.org" target="_blank">ANTLR</a>. ANTLR is a great tool to create a compiler but for ActionScript 3 and its various strange behaviours you have to do a lot of hacking. Parsing ActionScript, XML and regular expressions with the optional semicolon in ECMAScript is not really fun using such a tool. <a href="http://www.badgers-in-foil.co.uk/projects/metaas/" target="_blank">metaas</a> went that path and unfortunately their parser fails very often.</p>
<p>This is the reason why I started writing a parser manually from scratch. But this is also not a good idea. What about Adobe changing the language or adding features? I would have to change my parser. This is for instance a problem you have with <a href="http://fdt.powerflasher.com/" target="_blank">FDT</a>. Adobe releases a feature and it will take a while until you can adopt that. Maybe that feature is only beta but you want to use it. So are you going to implement it or not? Since the Flex SDK is open source I decided to take a completly different approach. Option one is to modify the original ASC. I think this is a bad idea. On every update from the Adobe guys you would have to patch the compiler again, and release a compiled version of that. This is what <a href="http://code.google.com/p/flexcover/" target="_blank">flexcover</a> does. But I do not want to replace core parts of the Flex SDK with a modified compiler. So this is the reason why AS3V links only against the ASC. This means basically I do not care about what Adobe does with the compiler as long as the API stays consistent. This means also AS3V knows only as much as the ASC. This is sometimes a problem but in most cases not so important. ASC drops for instance braces every time. AS3V does not know if you write <code>if(true) trace('foo');</code> or <code>if(true) { trace('foo'); }</code>. But in the end AS3V is able to analyze the real compiler output which is huge; theoretically every implicit cast can be watched!</p>
<p>Now enough theory. Why bother using AS3V and what is it good for? Imagine a loop like this:</p>
<pre><code>
for( var y: int = 0; y < height; ++y )
  for( var x: int = 0; x < width; ++x )
    index = y * width + x;
</code></pre>
<p>AS3V is currently smart enough to analyze the statement <code>y * width + x</code> and to figure out that <code>y</code> and <code>width</code> do not change in the inner loop. AS3V is therefore able to warn you about unneccessary calculations. There are lot of other rules I have already implemented which help you writing better code. For instance the pattern <code>if( expr0 ) { if( expr1 ) { foo(); } }</code> can be reduced to <code>if( expr0 &#038;&#038; expr1 ) { foo(); }</code>.</p>
<p>There is a lot of room for other rules. I am happy to see some progress and hope that other people will find AS3V as useful as I. In the current state I have to implement more rules and a little bit more complex ones like dead code detection with constant folding. A release is targeted once I am happy with the rule set.</p>
<p>Not to forget: An Eclipse plugin which will show you appropriate warnings as neat little icons is of course also planned.</p>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2009/05/18/the-return-of-as3v/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=362&amp;md5=406ced0939ba277d16519289834f969c" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2009/05/18/the-return-of-as3v/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=362&amp;md5=406ced0939ba277d16519289834f969c" type="text/html" />
	</item>
		<item>
		<title>MetaLaunch For Eclipse</title>
		<link>http://blog.joa-ebert.com/2009/05/11/metalaunch-for-eclipse/</link>
		<comments>http://blog.joa-ebert.com/2009/05/11/metalaunch-for-eclipse/#comments</comments>
		<pubDate>Mon, 11 May 2009 14:17:12 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[metalaunch]]></category>

		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=357</guid>
		<description><![CDATA[Ever wanted to start multiple launchers with one single click in Eclipse? MetaLaunch will solve this issue. Just select the launchers you want to start and then change the order to fit your needs. You can also select to launch those tasks sequential or in a one shot. Unfortunately I have not figured out yet [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.joa-ebert.com/wp-content/images/metalaunch.png" target="_self" title="MetaLaunch Plug-in" rel="lightbox[357]"><img src="http://blog.joa-ebert.com/wp-content/images/metalaunch_small.png" alt="MetaLaunch Plug-in" style="float: left; padding-right: 8px"/></a>Ever wanted to start multiple launchers with one single click in Eclipse? MetaLaunch will solve this issue. Just select the launchers you want to start and then change the order to fit your needs. You can also select to launch those tasks sequential or in a one shot.</p>
<p>Unfortunately I have not figured out yet how I could abort the launch process if <code>mxmlc</code> fails for instance. This is due to the fact that the <code>fcsh</code> process is persistent and does not return for instance a non-zero exit code when <code>mxmlc</code> reported an error. However, the MetaLaunch plug-in can help you in a lot of cases. For instance if you are developing a multi-client application and you want to launch every time four instances of the Flash Player etc.</p>
<p>The address of the Eclipse update site:</p>
<div align="center" style="padding: 8px; background-color: #eee">http://metalaunch.joa-ebert.com/update</div>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2009/05/11/metalaunch-for-eclipse/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=357&amp;md5=27330ef557ff18dfdd47bcfd9a4c03e0" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2009/05/11/metalaunch-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=357&amp;md5=27330ef557ff18dfdd47bcfd9a4c03e0" type="text/html" />
	</item>
		<item>
		<title>Windows Eclipse Configuration For FDT</title>
		<link>http://blog.joa-ebert.com/2009/03/19/windows-eclipse-configuration-for-fdt/</link>
		<comments>http://blog.joa-ebert.com/2009/03/19/windows-eclipse-configuration-for-fdt/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 12:02:39 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[fdt]]></category>
		<category><![CDATA[jrockit]]></category>
		<category><![CDATA[jvm]]></category>

		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=292</guid>
		<description><![CDATA[After a lot of trouble with the Eclipse IDE I switched my JVM last night to JRockit and everything seems to be much faster now. If you have a Windows machine and an Intel CPU I can only suggest you to try the same. I do not know if all settings are completly correct but [...]]]></description>
			<content:encoded><![CDATA[<p>After a lot of trouble with the Eclipse IDE I switched my JVM last night to <a href="http://www.google.com/search?q=jrockit">JRockit</a> and everything seems to be much faster now. If you have a Windows machine and an Intel CPU I can only suggest you to try the same.</p>
<p>I do not know if all settings are completly correct but after trying lots of different configurations this seems the be the best for me. You can find those settings in the <code>eclipse.ini</code> which is located in your Eclipse installation directory.</p>
<p><code><br />
-vm PATH_TO_JROCKIT_INSTALLATION\bin\javaw.exe<br />
-vmargs<br />
-Xms1024M<br />
-Xmx1024M<br />
-XX:PermSize=256M<br />
-XX:MaxPermSize=512M<br />
-XX:+UseParallelGC<br />
</code></p>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2009/03/19/windows-eclipse-configuration-for-fdt/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=292&amp;md5=a2db625a3be639bc9164de696dc50f13" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2009/03/19/windows-eclipse-configuration-for-fdt/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=292&amp;md5=a2db625a3be639bc9164de696dc50f13" type="text/html" />
	</item>
		<item>
		<title>FlashHunter Deluxe</title>
		<link>http://blog.joa-ebert.com/2008/06/17/flashhunter-deluxe/</link>
		<comments>http://blog.joa-ebert.com/2008/06/17/flashhunter-deluxe/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 13:46:42 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[c++ and others]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[flashhunter]]></category>
		<category><![CDATA[michael baczynski]]></category>

		<guid isPermaLink="false">http://blog.je2050.de/?p=191</guid>
		<description><![CDATA[FlashHunter has been used by actually one person: Michael Baczynski. He asked me at the FFK08 in Germany if I could modify the plugin to give him a global keyboard hook which will kill all instances of the Flash Player including the debugger. So here it is: The FlashHunter Deluxe. Just for you Michael :) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.je2050.de/2008/03/07/flashhunter/" target="_blank">FlashHunter</a> has been used by actually one person: <a href="http://lab.polygonal.de/" target="_blank">Michael Baczynski</a>. He asked me at the <a href="http://ffk08.flashforum.de/" target="_blank">FFK08</a> in Germany if I could modify the plugin to give him a global keyboard hook which will kill all instances of the Flash Player including the debugger.</p>
<p>So here it is: The FlashHunter <i>Deluxe</i>. Just for you Michael :)</p>
<ul>
<li><a href="http://je2050.de/flash.hunter.deluxe.zip" target="_blank">Download</a></li>
</ul>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2008/06/17/flashhunter-deluxe/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=191&amp;md5=5a897d87f7beb2e7cdc852bec735d10d" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2008/06/17/flashhunter-deluxe/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=191&amp;md5=5a897d87f7beb2e7cdc852bec735d10d" type="text/html" />
	</item>
		<item>
		<title>FlashHunter</title>
		<link>http://blog.joa-ebert.com/2008/03/07/flashhunter/</link>
		<comments>http://blog.joa-ebert.com/2008/03/07/flashhunter/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 12:31:09 +0000</pubDate>
		<dc:creator>joa</dc:creator>
				<category><![CDATA[c++ and others]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[flashhunter]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jni]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://blog.je2050.de/2008/03/07/flashhunter/</guid>
		<description><![CDATA[FlashHunter is a neat Eclipse plug-in I wrote that allows you to kill all running Flash player instances with a single click. Two days ago I was implementing the fast Fourier transformation in Flash and I had a stupid error that caused an endless loop. Since I am testing with the standalone player the only [...]]]></description>
			<content:encoded><![CDATA[<div align="center"><a href="http://je2050.de/FlashHunter.zip"><img src="http://blog.je2050.de/wp-content/images/hunterSnapshot.png" alt="FlashHunter" border="0" width="480" height="81"/></a></div>
<p>FlashHunter is a neat Eclipse plug-in I wrote that allows you to kill all running Flash player instances with a single click. Two days ago I was implementing the fast Fourier transformation in Flash and I had a stupid error that caused an endless loop. Since I am testing with the standalone player the only way to get rid of it was Ctrl+Alt+Del and killing it. This is not really a nice workflow so I wrote the plug-in.</p>
<p>I am not a Java developer and definitly not an Eclpise platform developer so the plugin itself is very basic. I experimented a little bit with JNI and wrote most of the plugin in C++ because it still is my language of choice.</p>
<p>The plugin is Windows only. I think you could also do something like that as an external tool for OS X (&#8220;killall Flash\ Player&#8221;).</p>
<ul>
<li><a href="http://je2050.de/FlashHunter.zip">Download FlashHunter</a></li>
</ul>
<div class="none"><div class="g-plusone" data-href="http://blog.joa-ebert.com/2008/03/07/flashhunter/" size="standard" count="true"></div></div> <p><a href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=169&amp;md5=c31e53a565f560c0ae890be852aa7c4c" title="Flattr" target="_blank"><img src="http://blog.joa-ebert.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.joa-ebert.com/2008/03/07/flashhunter/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<atom:link rel="payment" href="http://blog.joa-ebert.com/?flattrss_redirect&amp;id=169&amp;md5=c31e53a565f560c0ae890be852aa7c4c" type="text/html" />
	</item>
	</channel>
</rss>

