<?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>ActionScript 3 Log</title>
	<atom:link href="http://www.victordramba.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.victordramba.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 10 Jun 2010 20:47:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Closures and garbage</title>
		<link>http://www.victordramba.com/?p=130</link>
		<comments>http://www.victordramba.com/?p=130#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:22:12 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[beginner]]></category>
		<category><![CDATA[intermediate]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=130</guid>
		<description><![CDATA[Here is a transcript of a message that just landed in my Inbox via Tamarin-devel@mozilla.org
Tamarin has a hybrid storage manager; reference counting takes care of a lot of freeing, but there&#8217;s a regular garbage collector that will deal with cyclically referenced objects.  Objects that can be reclaimed by reference counting are reclaimed relatively promptly; [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a transcript of a message that just landed in my Inbox via Tamarin-devel@mozilla.org</p>
<blockquote><p><em>Tamarin has a hybrid storage manager; reference counting takes care of a lot of freeing, but there&#8217;s a regular garbage collector that will deal with cyclically referenced objects.  Objects that can be reclaimed by reference counting are reclaimed relatively promptly; the rest may take a while.  The back-up collector is driven by allocation volume, so as the program runs and allocates storage (and doesn&#8217;t free it via reference counting) then the collector moves forward to a point where it will have scanned the entire heap and will reclaim garbage.</p>
<p>The reference count increment you describe is legitimate; when you create a closure it captures (increments references on) all objects in its lexical scope, and in a regular class method &#8216;this&#8217; is one of those objects.  There are optimizations that Tamarin could be doing that it&#8217;s not currently doing, by not capturing objects that contains only names that are not referenced from the body of the function expression.  In your artificial example that would have helped you out, but it&#8217;s less clear whether it would help you out in a real situation where the body of that function would not be empty but would probably be referencing something in the surrounding class instance (ie &#8216;this&#8217;).</p>
<p>(All this information provided to you with the proviso that I&#8217;m relatively ignorant about unloading in Flash <img src='http://www.victordramba.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&#8211;lars</em></p></blockquote>
<p>I&#8217;ll try to (quickly and incompletely) point out one of the implications of what Lars explains here. This affects any ActionScript3 program that runs in Tamarin (including swf&#8217;s in Flash Player).</p>
<p>Let&#8217;s take a look at this code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> MyClass
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> myFunction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #000000; font-weight: bold;">Function</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">var</span> usedObject:<span style="color: #0066CC;">Object</span> = <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span>;
		<span style="color: #000000; font-weight: bold;">var</span> unusedObject:<span style="color: #0066CC;">Object</span> = <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span>;
&nbsp;
		<span style="color: #000000; font-weight: bold;">var</span> myClosure = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Object</span>
		<span style="color: #66cc66;">&#123;</span>
			usedObject.<span style="color: #006600;">field</span> = <span style="color: #cc66cc;">100</span>;
			<span style="color: #b1b100;">return</span> usedObject;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//...</span>
		<span style="color: #b1b100;">return</span> myClosure;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//Later on, we use the closure</span>
<span style="color: #000000; font-weight: bold;">var</span> inst:MyClass = <span style="color: #000000; font-weight: bold;">new</span> MyClass;
<span style="color: #000000; font-weight: bold;">var</span> fn:<span style="color: #000000; font-weight: bold;">Function</span> = inst.<span style="color: #006600;">myFunction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> o:<span style="color: #0066CC;">Object</span> = fn<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Now, as we know, the function myClosure has access to all variables in it&#8217;s scope chain, including locals of myFunction and instance members of MyClass.<br />
The question is, what happens with each of the variables when they are not needed anymore?<br />
For example, we expect unusedObject to be garbage collected right away. Well, it turns out that this is not the case. As Lars Hansen explains here, all variables accessible by the closure are captured by the closure. So they don&#8217;t get deleted until the closure gets deleted. More than that, the instance of MyClass (the &#8220;this&#8221; object) is also captured (linked), although you can&#8217;t directly use the keword this inside myClosure (it would point to the global object).</p>
<p>Bottom line, careful with closures. While they provide great convenience in coding, they might come with serious performance penalty.</p>
<p>Let&#8217;s just hope this will come to reality in the near future: &#8220;<em>There are optimizations that Tamarin could be doing that it&#8217;s not currently doing, by not capturing objects that contains only names that are not referenced from the body of the function [...]</em>&#8221;</p>
<p>Thank you Lars for these details!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=130</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eye for an Eye, MiniBuilder on Mac</title>
		<link>http://www.victordramba.com/?p=127</link>
		<comments>http://www.victordramba.com/?p=127#comments</comments>
		<pubDate>Mon, 24 May 2010 12:00:42 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=127</guid>
		<description><![CDATA[The other day I finally borrowed a Mac for a couple of days with the plan to fix MiniBuilder on this platform.
As I recently received a patch that fixes copy/paste on Mac from a guy named Romain (thank you very much), it looked like it was time to make the bold move. So I installed [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I finally borrowed a Mac for a couple of days with the plan to fix MiniBuilder on this platform.</p>
<p>As I recently received a patch that fixes copy/paste on Mac from a guy named Romain (thank you very much), it looked like it was time to make the bold move. So I installed MB on the MacBook and checked out the AirMiniBuilder project. And here&#8217;s where I was faced with the frustration of not having any option for copy/paste in the editor. Payday for me, I had to manually type the patch.</p>
<p>Seems OK now. I added a switch for the platform and I did the deploy. Mac users can install version 1.1.2 alpha and enjoy MiniBuilder.</p>
<p>There is still a problem on Mac, at least one that I&#8217;m aware of: the project window menu is not refreshed when you work with more than one project at once. If you switch form one project window to another, you end up with the menu of the old window. The workaround is to restart MiniBuilder when you change the project. MiniBuilder exits when all windows are closed.</p>
<p><a href="http://code.google.com/p/minibuilder/">http://code.google.com/p/minibuilder/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=127</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MiniBuilder 1.1.1-alpha GotoDefinition and Back</title>
		<link>http://www.victordramba.com/?p=118</link>
		<comments>http://www.victordramba.com/?p=118#comments</comments>
		<pubDate>Sun, 11 Apr 2010 10:11:09 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=118</guid>
		<description><![CDATA[Development on MiniBuilder, the Flash/AIR IDE for ActionScript projects continues.
There were a few releases since my last post on this blog. If you want to keep a closer look, follow MiniBuilder on tweeter http://twitter.com/minibuilder
Latest important couple of features are Go To Definition and Back. Move the cursor inside any identifier defined in your project and [...]]]></description>
			<content:encoded><![CDATA[<p>Development on MiniBuilder, the Flash/AIR IDE for ActionScript projects continues.</p>
<p>There were a few releases since my last post on this blog. If you want to keep a closer look, follow MiniBuilder on tweeter <a href="http://twitter.com/minibuilder">http://twitter.com/minibuilder</a></p>
<p>Latest important couple of features are <strong>Go To Definition</strong> and <strong>Back</strong>. Move the cursor inside any identifier defined in your project and press F4 to go to the place where your symbol is defined. It might be a class, a field, parameter or a local var of any enclosing closure. Then press Shift+F4 to return to the place you were before. I know, that&#8217;s very very useful <img src='http://www.victordramba.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Also, now you can customize the keyboard shortcuts, finally.</p>
<p>See the <a href="http://code.google.com/p/minibuilder/source/browse/trunk/AirMiniBuilder/changelog.txt">changelog</a></p>
<p>Download <a href="http://code.google.com/p/minibuilder/downloads/list">page</a></p>
<p>For installation instructions and other info, check project page <a href="http://minibuilder.googlecode.com/">http://minibuilder.googlecode.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=118</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>MiniBuilder used by Wonderfl</title>
		<link>http://www.victordramba.com/?p=71</link>
		<comments>http://www.victordramba.com/?p=71#comments</comments>
		<pubDate>Fri, 11 Dec 2009 08:52:14 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=71</guid>
		<description><![CDATA[I am happy to see that MiniBuilder is now used by a well-known online platform for developing ActionScript: Wonderfl
MiniBuilder is GPL licensed, so feel free to use it in your own open-source project. Don&#8217;t forget to add a link back, so MiniBuilder can also evolve.
http://code.google.com/p/minibuilder/
The days where you had to install heavy IDE to write [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy to see that MiniBuilder is now used by a well-known online platform for developing ActionScript: Wonderfl</p>
<p>MiniBuilder is GPL licensed, so feel free to use it in your own open-source project. Don&#8217;t forget to add a link back, so MiniBuilder can also evolve.</p>
<p><a href="http://code.google.com/p/minibuilder/">http://code.google.com/p/minibuilder/</a></p>
<p>The days where you had to install heavy IDE to write just a few lines of ActionScript are over. MiniBuilder works on Linux and Windows and its main features are:</p>
<ul>
<li>Code completion for your classes, default libraries and your swc libraries</li>
<li>Project tree, multi-tabs editor</li>
<li>Fast(!) text editor (written from scratch &#8211; it only renders the visible part of the text), it can handle up to 1000 lines in a class without becoming unresponsive.</li>
<li>Integration with compiler errors. One click goto-error file and line.</li>
<li>Many other features.</li>
</ul>
<p>MiniBuilder on <a href="http://wonderfl.net" target="_blank">wonderfl.net</a> (a customized stripped-down version of MiniBuilder)</p>
<p><img class="size-full wp-image-72 alignnone" title="minibuilder-on-wonderfl" src="http://www.victordramba.com/wp-content/uploads/2009/12/minibuilder-on-wonderfl.png" alt="minibuilder-on-wonderfl" width="461" height="404" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=71</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MiniBuilder tutorial: DebuggerConsole</title>
		<link>http://www.victordramba.com/?p=51</link>
		<comments>http://www.victordramba.com/?p=51#comments</comments>
		<pubDate>Wed, 11 Nov 2009 22:41:25 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=51</guid>
		<description><![CDATA[This ActionScript debugger console is not a specific feature of MiniBuilder. It is just a swc library that you can use in any Flash/AIR project, no matter the IDE you use.
For MiniBuilder, it comes as a default, one reason for this being that MiniBuilder doesn&#8217;t come with an embedded debugger.
To make a short digression here, [...]]]></description>
			<content:encoded><![CDATA[<p><span style="background-color: #ffffff;">This ActionScript debugger console is not a specific feature of <a href="http://code.google.com/p/minibuilder/">MiniBuilder</a>. It is just a swc library that you can use in any Flash/AIR project, no matter the IDE you use.</span></p>
<p>For MiniBuilder, it comes as a default, one reason for this being that MiniBuilder doesn&#8217;t come with an embedded debugger.</p>
<p>To make a short digression here, actually few developers in the real world use a debugger. But first, let&#8217;s clear a little bit the terms:</p>
<ul>
<li><span style="background-color: #ffffff;"><em>Debugger</em>: a tool that, working together with (sometimes a special version of) the code interpreter (VM), can stop the program in predefined points (breakpoints), execute the code step by step and has other abilities like whatching variables, etc.</span></li>
<li><span style="background-color: #ffffff;"><em>Tracer or logger</em>: a tool that allows code to execute &#8220;trace&#8221; commands that output values from the runtime environment. These trace statements have to be compiled with the application. Oftentimes, providers of such tools name them &#8220;console&#8221; but this is not appropriate. See next:</span></li>
<li><span style="background-color: #ffffff;"><em>Console</em>: a tool that allows entering text commands to be executed against the running environment of the application. Take a look, for example, at the ubiquitous FF Firebug, or Developer Tools in Chrome browser. They both come with various tools including a real javascript console.</span></li>
</ul>
<p>Without underestimating the power of a real debugger, I have to admit that on all the large Flash projects I&#8217;ve been part of during the years, none of the programmers did use the debugger regulary. Instead, most just used trace and even throw (funny, isn&#8217;t it?).</p>
<p>Now, what&#8217;s this thing that I&#8217;m presenting you under the name of <strong>DebuggerConsole</strong>? First of all, it is <em>not</em> a debugger. But indeed, <em>it is</em> a console in the proper meaning of the term. And a tracer. Although, I did not embed a real ActionScript interpretter (for reasons of size), DebuggerConsole can deal with assigns, simple binary opperators, method execution with parameters that can be references, all in the real running environment. And it even provides some <strong>code completion</strong>! Towards the running environment. How cool is that? Of course, it records previous commands in a history, similar to unix shell. The history is stored locally across sessions.</p>
<p>It&#8217;s been years since I can&#8217;t work without this console, and right now, I find little use in the debugger. It started back in the AS2 times and now it is much more powerful. You can make it show at startup, you can trigger it programatically or you can trigger it at runtime using javascript. In any case, it starts recording the traces right at the application start, no need to have it turned on. In case a problem shows up, just turn the console on using javascript and start inspecting the variables, or run code rigth there. Next time you might not be able to reproduce the bug!</p>
<p>One of the latest features we found useful to have is the ability to create <strong>trace namespaces</strong>. When several programmers work at the same project, the trace log gets quite big and you forget where traces come from. Using this feature you can associate your traces with a particular namespace, a simple string that the developer uses for a certain module. If, at runtime, you use the console to set a current namespace, you only see traces from that namespace. If you then turn namespace off, you can see all traces again. The current namespace is stored locally across the sessions.</p>
<p>Init the console in your application entry point:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">Debugger.<span style="color: #006600;">setParent</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>The first param should be a display object that will be added to stage<br />
The second param, tells the console to show right away. If set false, you can still show the console using javascript. You will need to call the function &#8220;debug()&#8221; on the object dom instance.</p>
<p>The trace command for DebuggerConsole is &#8220;debug&#8221;. Example:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">debug<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myVar='</span> + myVar<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>to use a namespace, you need to issue something like this in your code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">debug<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'module1'</span>, <span style="color: #ff0000;">'myVar='</span> + myVar<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Here&#8217;s a video with a more detailed example. Forgive me for not adding the voice, I&#8217;m probably not such a good speaker anyway. Things to check in the video:</p>
<ul>
<li><span style="background-color: #ffffff;">Setting up the console</span></li>
<li><span style="background-color: #ffffff;">Tracing, tracing with a namespace</span></li>
<li><span style="background-color: #ffffff;">Setting a local reference in the compiled code to have it available in the console</span></li>
<li><span style="background-color: #ffffff;">Using the console: print variables, assigning, running methods, <strong>code completion</strong></span></li>
</ul>
<p><object width="700" height="500"><param name="movie" value="http://www.youtube.com/v/TI_Pfkevz1I&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TI_Pfkevz1I&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="700" height="500"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>MiniBuilder 1000 downloads in one week</title>
		<link>http://www.victordramba.com/?p=44</link>
		<comments>http://www.victordramba.com/?p=44#comments</comments>
		<pubDate>Fri, 06 Nov 2009 14:50:40 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=44</guid>
		<description><![CDATA[http://code.google.com/p/minibuilder/downloads/list
Right now, the counter of the only download link I provided (googlecode) shows 999. I&#8217;m kind of tempted to click there, just to see the magic number showing  
Well, apart from that, 1000 downloads in one week from the release proves one of the two:

MiniBuilder is nice
An alternate free Flash/ActionScript IDE is really wanted

Or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/minibuilder/downloads/list">http://code.google.com/p/minibuilder/downloads/list</a></p>
<p>Right now, the counter of the only download link I provided (googlecode) shows 999. I&#8217;m kind of tempted to click there, just to see the magic number showing <img src='http://www.victordramba.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Well, apart from that, 1000 downloads in one week from the release proves one of the two:</p>
<ul>
<li>MiniBuilder is nice</li>
<li>An alternate free Flash/ActionScript IDE is really wanted</li>
</ul>
<p>Or both. Or who knows&#8230; Maybe with the visibility that Adobe feeds and actionscript.org gives, 1000 downloads in one week is a normal. Of course, I&#8217;d like to think it&#8217;s my program. Time will prove it.</p>
<p>Anniversary offer: 10 downloads from no. 1000 to 1010 will be free <img src='http://www.victordramba.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Now, seriously,  choosing GPL as the license for MiniBuilder was a difficult choice. I like to think it is also bold, I&#8217;m no expert in licensing and because MiniBuilder borrows some code from here and there, I needed to be careful with the license compatibility. I just submited <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&amp;offeringID=16861">MiniBuilder for AIR</a> to Adobe Marketplace and they approved it, so I guess I did it right, still not all doubts are gone. MiniBuilder is also participating in <a href="http://myadobe.ro/air-challenge/" target="_blank">AIR Challange</a> on myadobe.ro</p>
<p>That being said, happy downloading and please let us know about the bugs, features or anything.</p>
<p>Already the alpha version is usable, I actually developed about 10% of MiniBuilder with MiniBuilder, but&#8230;</p>
<p>Stay put for the beta!<br />
PS: Many thanks for the people that contributed!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MiniBuilder and JNotify JNI &#8211; could use some help</title>
		<link>http://www.victordramba.com/?p=43</link>
		<comments>http://www.victordramba.com/?p=43#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:46:57 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>
		<category><![CDATA[advanced]]></category>
		<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=43</guid>
		<description><![CDATA[In a previous post, Ian T made this comment about AIR MiniBuilder:
Tried it out today on Vista &#8211; nice work.
What&#8217;s causing the cross-platform issues for Mac? Presumably the Java builder code and the AIR package are both cross-platform&#8230; is it anything someone else can help you out with?
Thank you for the question. As a matter [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous post, Ian T made this comment about AIR MiniBuilder:</p>
<blockquote><p><em>Tried it out today on Vista &#8211; nice work.</em><em><br />
What&#8217;s causing the cross-platform issues for Mac? Presumably the Java builder code and the AIR package are both cross-platform&#8230; is it anything someone else can help you out with?</em></p></blockquote>
<p>Thank you for the question. As a matter of fact, yes, I could use some help. In general, any help is appreciated, this is an open-source (GPL) project and it&#8217;s intended to evolve into a community.</p>
<p>I use a JNI library, <a href="http://jnotify.sourceforge.net/">JNotify</a> for the communication between AIR and Java. I didn&#8217;t opt for <a href="http://code.google.com/p/merapi/">Merapi</a> because the pure AS3 version (non-flex) of Merapi is not yet released and it has issues. Instead, I opted for a file-system notification based protocol. Java &#8220;listens&#8221; in a directory for message files and in return, AIR polls a file only during asynchronous actions to check the progress. Development with JNotify proved to be a breeze. Also the speed of the complete system is good.</p>
<p>The issue with Mac comes from  JNotify, it only has JNI implementations for Linux and Windows. And it&#8217;s the only GPL compatible library I could find.</p>
<p>Any hints will be welcome! More than it, it&#8217;ll be extra cool if someone would contribute the entire AS3 &#8211; Java link code for MiniBuilder (probably Merapi based). I&#8217;m looking to add commiters to the project, based on quality of the contributions. The time I can allocate for this project is limited.</p>
<p>One more issue with Merapi is the firewall because it works over TCP. The way it is now, MiniBuilder does not need any exception in the firewall.</p>
<p>In any case, this is a temporary solution, as soon as  AIR 2.0 is out, the problem vanishes.</p>
<p>Thank you again!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>AIR MiniBuilder on Linux screenshots</title>
		<link>http://www.victordramba.com/?p=38</link>
		<comments>http://www.victordramba.com/?p=38#comments</comments>
		<pubDate>Thu, 29 Oct 2009 17:13:51 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>
		<category><![CDATA[advanced]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[intermediate]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=38</guid>
		<description><![CDATA[Quick visual tour of MiniBuilder ActionScript IDE running on Ubuntu Linux
IDE Overview
See ActionScript code completion for Player 10

&#8220;MiniBuilder is briefly inspecting your folders&#8221;
It takes a quick look in your foldes (user dir, up to a depth of 4) looking for Flex projects.
Run it, you&#8217;ll be amazed how many forgotten treasures will be unveiled  

Build [...]]]></description>
			<content:encoded><![CDATA[<p>Quick visual tour of MiniBuilder ActionScript IDE running on Ubuntu Linux</p>
<p>IDE Overview<br />
See ActionScript code completion for Player 10</p>
<p><a href="http://www.victordramba.com/wp-content/uploads/2009/10/mb-screen-all.png" title="MB Linux"><img src="http://www.victordramba.com/wp-content/uploads/2009/10/mb-screen-all.png" alt="MB Linux" width="610" height="438" /></a></p>
<p>&#8220;MiniBuilder is briefly inspecting your folders&#8221;<br />
It takes a quick look in your foldes (user dir, up to a depth of 4) looking for Flex projects.<br />
Run it, you&#8217;ll be amazed how many forgotten treasures will be unveiled <img src='http://www.victordramba.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://www.victordramba.com/wp-content/uploads/2009/10/mb-brief.png" title="Brief"><img src="http://www.victordramba.com/wp-content/uploads/2009/10/mb-brief.png" alt="Brief" width="365" height="364" /></a></p>
<p>Build applications for Tamarin VM with MiniBuilder. The code completion provides only natives of shell Tamarin.<br />
Check the console: you need to make the output file executable.<br />
Linux fans, forgive the &#8220;.exe&#8221; ending, the output is not a windows exe! It is a projector &#8211; the Linux AVM packaged together with the abc data (compiled actionscript)</p>
<p><a href="http://www.victordramba.com/wp-content/uploads/2009/10/mb-tam.png" title="Tamarin AVM"><img src="http://www.victordramba.com/wp-content/uploads/2009/10/mb-tam.png" alt="Tamarin AVM" width="616" height="433" /></a></p>
<p>These are just a few of the things&#8230;</p>
<p>Help this project, at least by showing your interest and it will grow!<br />
Flash and AIR (especially 2.0) are providing quite some power to play with.</p>
<p>Check it yourself, 2.4M size, it&#8217;s tiny: <a href="http://www.victordramba.com/?p=36">MiniBuilder</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Desktop Flash MiniBuilder is out!</title>
		<link>http://www.victordramba.com/?p=36</link>
		<comments>http://www.victordramba.com/?p=36#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:16:56 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[MiniBuilder]]></category>
		<category><![CDATA[advanced]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[intermediate]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=36</guid>
		<description><![CDATA[Version alpha-1.0
Later Update: click below to install latest version.
Download count: 

mbLaunch()
It works with Flex SDK 3.4 (+Java)
OS: Windows, Linux (Mac not yet)
See http://code.google.com/p/minibuilder/ for details
]]></description>
			<content:encoded><![CDATA[<p><del datetime="2009-11-11T14:37:41+00:00">Version alpha-1.0</del><br />
Later Update: click below to install latest version.<br />
Download count: <img style="border:0" src="http://victordramba.com/air-minibuilder/count/" /><br />
<script src="air-minibuilder/utils.js" type="text/javascript"></script><br />
<script type="text/javascript">mbLaunch()</script></p>
<p>It works with Flex SDK 3.4 (+Java)<br />
OS: Windows, Linux (Mac not yet)<br />
See <a href="http://code.google.com/p/minibuilder/">http://code.google.com/p/minibuilder/</a> for details</p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Funniest Flex (beta4) compiler error</title>
		<link>http://www.victordramba.com/?p=35</link>
		<comments>http://www.victordramba.com/?p=35#comments</comments>
		<pubDate>Thu, 08 Oct 2009 12:24:33 +0000</pubDate>
		<dc:creator>Victor</dc:creator>
				<category><![CDATA[beginner]]></category>
		<category><![CDATA[funny]]></category>

		<guid isPermaLink="false">http://www.victordramba.com/?p=35</guid>
		<description><![CDATA[This is a quick one
 Quote:
1067: Implicit coercion of a value of type flash.display:InteractiveObject to an unrelated type flash.display:InteractiveObject.
Unfortunately, I was not able to reproduce it to file a bug. Just restarted Flash Builder and it was gone.
]]></description>
			<content:encoded><![CDATA[<p>This is a quick one</p>
<p><span class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: arial,sans-serif; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 17px; white-space: pre"></span></span> Quote:<br />
1067: Implicit coercion of a value of type flash.display:InteractiveObject to an unrelated type flash.display:InteractiveObject.</p>
<p>Unfortunately, I was not able to reproduce it to file a bug. Just restarted Flash Builder and it was gone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.victordramba.com/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
