<br />
<b>Warning</b>:  include() [<a href='function.include'>function.include</a>]: Unable to access /var/www/html/rogue-development/blog2/wp-content/advanced-cache.php in <b>/var/www/html/rogue-development/blog2/wp-settings.php</b> on line <b>62</b><br />
<br />
<b>Warning</b>:  include(/var/www/html/rogue-development/blog2/wp-content/advanced-cache.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in <b>/var/www/html/rogue-development/blog2/wp-settings.php</b> on line <b>62</b><br />
<br />
<b>Warning</b>:  include() [<a href='function.include'>function.include</a>]: Failed opening '/var/www/html/rogue-development/blog2/wp-content/advanced-cache.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in <b>/var/www/html/rogue-development/blog2/wp-settings.php</b> on line <b>62</b><br />
<br />
<b>Notice</b>:  add_option was called with an argument that is <strong>deprecated</strong> since version 2.3 with no alternative available. in <b>/var/www/html/rogue-development/blog2/wp-includes/functions.php</b> on line <b>3468</b><br />
<br />
<b>Notice</b>:  register_sidebar_widget is <strong>deprecated</strong> since version 2.8! Use wp_register_sidebar_widget() instead. in <b>/var/www/html/rogue-development/blog2/wp-includes/functions.php</b> on line <b>3382</b><br />
<br />
<b>Notice</b>:  register_widget_control is <strong>deprecated</strong> since version 2.8! Use wp_register_widget_control() instead. in <b>/var/www/html/rogue-development/blog2/wp-includes/functions.php</b> on line <b>3382</b><br />
<?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>Marc's Musings &#187; Flash</title>
	<atom:link href="http://www.rogue-development.com/blog2/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rogue-development.com/blog2</link>
	<description>Comments and thoughts on technology from Marc Hughes</description>
	<lastBuildDate>Tue, 29 Mar 2011 00:04:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The Essential Guide to Open Source Flash Development</title>
		<link>http://www.rogue-development.com/blog2/2008/07/the-essential-guide-to-open-source-flash-development/</link>
		<comments>http://www.rogue-development.com/blog2/2008/07/the-essential-guide-to-open-source-flash-development/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 13:34:22 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[red5]]></category>
		<category><![CDATA[Schedule]]></category>
		<category><![CDATA[XRay]]></category>

		<guid isPermaLink="false">http://www.rogue-development.com/blog2/2008/07/the-essential-guide-to-open-source-flash-development/</guid>
		<description><![CDATA[The book I&#8217;ve been working on, The Essential Guide to Open Source Flash Development, is now out in stores.  It&#8217;s hard to believe that I started working on it about 11 months ago!  It&#8217;s really great to see all of that hard work finally in print. So What is it about? The book does a [...]]]></description>
			<content:encoded><![CDATA[<p>The book I&#8217;ve been working on, <em>The Essential Guide to Open Source Flash Development</em>, is now out in stores.  It&#8217;s hard to believe that I started working on it about 11 months ago!  It&#8217;s really great to see all of that hard work finally in print.</p>
<p><img src="http://rogue-development.com/uploads/book.jpg" alt="" width="600" height="528" /></p>
<p>So What is it about?</p>
<p>The book does a few things.  First, about a third of the book introduces you to some open source tools for doing flash development.  Things like FlashDevelop, MTASC, SwfMill, ANT, and ASDT.  It&#8217;ll show you how to create an AS2 and an AS3 based flash application using completely free and open software.  This goes all the way from installing the tools, creating a sample app, writing up some unit tests for it, and then  to publishing it to the web.  Along the way it&#8217;ll give you a brief introduction to each tool, explain what it does, and then give a quick example of how to use it.  (That&#8217;s the 5 chapters I wrote)</p>
<p>The remaining 2/3 of the book dedicates a chapter to various open source projects going into a little more detail about them.  There&#8217;s a chapter on Papervision 3D, SWX, FUSE/Go, HAXE, AMFPHP, two for Red5 and a couple more.</p>
<p>This was a lot of fun to work on, and my only regret is not getting to know the other authors better.</p>
<p>If you&#8217;re looking for a place to buy it, check out <a href="http://www.bookpool.com/sm/1430209933">Bookpool</a>.   I worked for them for a year and they&#8217;re really stellar guys.  They offer good prices, but more importantly;  as long as the book is in stock, they do their damndest to get it on a truck the day you order it. (Of course, you&#8217;re at the mercy of the publisher if it&#8217;s out of stock)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2008/07/the-essential-guide-to-open-source-flash-development/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Xray Viewer updated</title>
		<link>http://www.rogue-development.com/blog2/2008/06/xrayviewer-updated/</link>
		<comments>http://www.rogue-development.com/blog2/2008/06/xrayviewer-updated/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 12:10:15 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[XRay]]></category>

		<guid isPermaLink="false">http://www.rogue-development.com/blog2/2008/06/xrayviewer-updated/</guid>
		<description><![CDATA[The XRayViewer has been broken for quite some time. I had originally done it with an AIR beta, and that has since stopped working. So there&#8217;s now a newly compiled version just waiting for you to grab. What is the XRayViewer? So you may be asking yourself What exactly is the XRayViewer? All this little [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://rogue-development.com/images/icon128.png" alt="" width="128" height="128" /></p>
<p>The <a href="http://rogue-development.com/xrayviewer.html">XRayViewer</a> has been broken for quite some time.  I had originally done it with an AIR beta, and that has since stopped working.  So there&#8217;s now a newly compiled version just waiting for you to grab.</p>
<p><img src="http://rogue-development.com/images/xrayviewerscreenshot.png" alt="" width="645" height="518" /></p>
<h2>What is the XRayViewer?</h2>
<p>So you may be asking yourself <em>What exactly is the XRayViewer? </em></p>
<p>All this little app does is host the XRay connector and let you load a local swf. Then it displays the swf with some simple controls to play/stop/advance/back. The big benefit is you can then use <a href="http://www.osflash.org/xray/">XRay</a> (By <a href="http://www.rockonflash.com/">John Grden</a> + Others) to inspect the swf without changing any code around.</p>
<p>There&#8217;s three new (very minor) features in this version:</p>
<ol>
<li>There&#8217;s a button to launch the XRay interface in your default browser.</li>
<li>The path to the loaded swf is displayed in the top toolbar.  (You can copy &amp; paste that into Xray so you don&#8217;t have to navigate as far into the hierarchy)</li>
<li>New logo / icons</li>
</ol>
<h2>Now Open Source!</h2>
<p>The entire project is now licensed under the MIT license.  If you install the application and then right click on it you can &#8220;View Source&#8221; to get the source code for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2008/06/xrayviewer-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pulse Particle Explorer introduction</title>
		<link>http://www.rogue-development.com/blog2/2008/01/pulse-particle-explorer-introduction/</link>
		<comments>http://www.rogue-development.com/blog2/2008/01/pulse-particle-explorer-introduction/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 22:02:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[particles]]></category>
		<category><![CDATA[pulse]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=115</guid>
		<description><![CDATA[The other day I posted a video showing how to use the Pulse Particle system in Flash. Now, here&#8217;s an introduction on how to use some of the particle explorer functions to define particle behavior. Explorer introduction &#8211; Part 1Explorer introduction &#8211; Part 2 You can find the Pulse Particle project page here:http://rogue-development.com/pulseParticles.html There were [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I posted a video showing how to use the Pulse Particle system in Flash.  Now, here&#8217;s an introduction on how to use some of the <a href="http://rogue-development.com/pulse/explorer/#">particle explorer</a> functions to define particle behavior.</p>
<p><a href="https://share.adobe.com/adc/document.do?docid=9d0c56cd-c08f-11dc-84fd-9de0ff11bab0">Explorer introduction &#8211; Part 1</a><br /><a href="https://share.adobe.com/adc/document.do?docid=2b287f6e-c090-11dc-84fd-9de0ff11bab0">Explorer introduction &#8211; Part 2</a></p>
<p>You can find the Pulse Particle project page here:<br /><a href="http://rogue-development.com/pulseParticles.html">http://rogue-development.com/pulseParticles.html</a></p>
<p>There were several requests in my last blog post on how people could help out.  Check out the new <a href="http://rogue-development.com/contribute.html">contribute page</a> on my site.  There things for all levels of technical knowhow there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2008/01/pulse-particle-explorer-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pulse Particle System + Flash IDE</title>
		<link>http://www.rogue-development.com/blog2/2008/01/pulse-particle-system-flash-ide/</link>
		<comments>http://www.rogue-development.com/blog2/2008/01/pulse-particle-system-flash-ide/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 02:47:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[particles]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=114</guid>
		<description><![CDATA[I did a bit of work to see what I could do to get a workflow with the Flash authoring environment and the Pulse particle system working. I got it to a point where I can download, install, and show a quick example of how to use it in a 4 minute video. Not too [...]]]></description>
			<content:encoded><![CDATA[<p>I did a bit of work to see what I could do to get a workflow with the Flash authoring environment and the Pulse particle system working.  I got it to a point where I can download, install, and show a quick example of how to use it in a 4 minute video.  Not too bad.
<div> </div>
<div> </div>
<div></div>
<div><a href="https://share.adobe.com/adc/adc.do?docid=068f4771-bf34-11dc-8eae-a591b7039fd5">The Video (Adobe Share Download)</a></div>
<div><a href="http://rogue-development.com/experiments/pulseParticle.swf">The video (Alternate Download)</a></div>
<div></div>
<div>Some more links:</div>
<div><a href="http://rogue-development.com/pulseParticle.xml">The project page</a></div>
<div><a href="http://code.google.com/p/pulse-particle/downloads/list">The download page</a></div>
<div><a href="http://rogue-development.com/pulse/explorer/">The Particle Explorer</a></div>
<div> </div>
<div>The particle system itself is still a bit rough, there&#8217;s a bit of choppiness here and there that I need to work out, and there&#8217;s a bunch more options (like acceleration) I&#8217;d like to tackle.  That, and a bit more on the documentation side would be nice.</p>
<p>Update, <a href="http://jfoley37.googlepages.com/particles.html">Here&#8217;s</a> a nice demo from the comments below.  It has an animated movieclip as a particle and looks pretty cool.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2008/01/pulse-particle-system-flash-ide/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Pulse Particle system interactive explorer</title>
		<link>http://www.rogue-development.com/blog2/2008/01/pulse-particle-system-interactive-explorer/</link>
		<comments>http://www.rogue-development.com/blog2/2008/01/pulse-particle-system-interactive-explorer/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 03:47:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[particles]]></category>
		<category><![CDATA[pulse]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=111</guid>
		<description><![CDATA[I just whipped up a quick flex app to explore some of the features of the Pulse Particle system I&#8217;ve been working on lately. 1) Various configuration options for the particles2) The resulting config-object that those options make, you can pass that to SimpleParticles to create the effect in your application.3) A live preview of [...]]]></description>
			<content:encoded><![CDATA[<p>I just whipped up a quick flex app to explore some of the features of the <a href="http://rogue-development.com/pulseParticle.xml">Pulse Particle system</a> I&#8217;ve been working on lately.</p>
<p><a href="http://rogue-development.com/pulse/explorer/#"><img style="margin: 0px auto 10px; display: block;http://www.blogger.com/img/gl.link.gif text-align: center; cursor: pointer;" src="http://www.rogue-development.com/blog/uploaded_images/-example-738831" alt="" border="0" /></a><br />1) Various configuration options for the particles<br />2) The resulting config-object that those options make, you can pass that to <span>SimpleParticles</span> to create the effect in your application.<br />3) A live preview of the particle effect</p>
<p>The demo only has a handful of rules in it, but they show off a good chunk of the possible functionality you can get from the <span>SimpleParticles interface.  One of the biggest limitations of the explorer is there&#8217;s only a few images embedded for you to make particles out of. </p>
<p>To use one of these particles in your app, do something like this:</p>
<pre  name="code" class="actionscript">import com.roguedevelopment.pulse.simple.SimpleParticles;import com.roguedevelopment.pulse.PulseEngine;

...

PulseEngine.instance.root = this;SimpleParticles.createEmitter( {pps:10,x:153, y:286,image:spark,     movement:true, minSpeed:199,     maxSpeed:216, minAngle:211,     maxAngle:219, minScale:0.8,     maxScale:1, pointSwarm:[100,100], lifespan:5000} );
</pre>
<p>where the argument to createEmitter comes from #2 above.</p>
<p></span></p>
<p>You can play with it yourself at:<br /><a href="http://rogue-development.com/pulse/explorer/#">http://rogue-development.com/pulse/explorer/#</a></p>
<p>If you make any cool looking effects, copy &#038; paste the config object to a comment to share with everyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2008/01/pulse-particle-system-interactive-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real time log viewing with flash and red5</title>
		<link>http://www.rogue-development.com/blog2/2007/10/real-time-log-viewing-with-flash-and-red5/</link>
		<comments>http://www.rogue-development.com/blog2/2007/10/real-time-log-viewing-with-flash-and-red5/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 16:54:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[red5]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=74</guid>
		<description><![CDATA[Disclaimer: The idea for this isn&#8217;t mine. Another guy did a great version of it over at http://www.fudgie.org/ The only improvement mine has is that it&#8217;s in flash so it&#8217;s web-accessible by multiple people at once. His looks cooler, has more data, and probably performs better. Here&#8217;s a quick little mini-project I banged out last [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-style: italic;">Disclaimer:  The idea for this isn&#8217;t mine.  Another guy did a great version of it over at <a href="http://www.fudgie.org/">http://www.fudgie.org/</a>    The only improvement mine has is that it&#8217;s in flash so it&#8217;s web-accessible by multiple people at once.  His looks cooler, has more data, and probably performs better.</span></p>
<p>Here&#8217;s a quick little mini-project I banged out last night.<br /><a href="http://www.agileagenda.com/logview/LogViewAs.html">http://www.agileagenda.com/logview/LogViewAs.html </a><br />It shows traffic to my websites as balls flying through space.  It uses Red5 on the server to watch the log files, and Flash on the client to display and animate that data.  It&#8217;s watching the websites:</p>
<p>www.agileagenda.com<br />www.flashyourspace.com<br />www.marc-hughes.com<br />www.rogue-development.com</p>
<p>Just open up the flash page, and if nothing is currently happening browse to those sites.</p>
<p>I&#8217;ll post server &amp; client side post under an MIT license when I get it to a more polished state.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/10/real-time-log-viewing-with-flash-and-red5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>My first Red5 experience</title>
		<link>http://www.rogue-development.com/blog2/2007/09/my-first-red5-experience/</link>
		<comments>http://www.rogue-development.com/blog2/2007/09/my-first-red5-experience/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 18:57:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[red5]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=63</guid>
		<description><![CDATA[I&#8217;ve worked with both Chris Allen and John Grden on some projects for my employer. During that time, I can&#8217;t count the number of times I heard about Red5, but I never got a chance to try it out. This past week I caught Chris&#8217; &#8220;Building Red5 Applications&#8221; session at FlashForward. I finally got up [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve worked with both <a href="http://blog.ff9900.org/">Chris Allen</a> and <a href="http://www.rockonflash.com/">John Grden</a> on <a href="http://tomsnyder.com/products/product.asp?SKU=FASFAS&amp;Subject=Math">some projects</a> for my <a href="http://www.tomsnyder.com/">employer</a>. During that time, I can&#8217;t count the number of times I heard about <a href="http://osflash.org/red5/">Red5</a>, but I never got a chance to try it out.</p>
<p>This past week I caught Chris&#8217; &#8220;Building Red5 Applications&#8221; session at FlashForward.  I finally got up the motivation to download and try it out. </p>
<p>Here&#8217;s my experience.  It&#8217;s my first time playing with Red5 (but I have plenty of java &amp; eclipse experience) so it&#8217;s almost guaranteed I&#8217;m not doing everything the &#8220;right way&#8221;.  But this way worked for me, maybe it&#8217;ll help someone else.  If it does help you, please leave a comment.  Writing this up takes a while and I&#8217;m not going to bother in the future for other things if nobody gets value out of it.</p>
<p><span style="font-weight: bold;"><br />Attempt #1</span><br />I wanted to try out the .tar.gz package so I would know how to deal with it on Linux as well as Windows.  That way I&#8217;d be able to deploy anything I built on my webhost fairly easily.</p>
<p>I unpacked it, ran ant, and let it all build.  So far so good.</p>
<p>Then I ran the red5.bat file.  Lots of exceptions.  Like millions, maybe billions, I lost track.  Seems my sample applications weren&#8217;t found.  I poked around a bit, but no good.  Screw this.</p>
<p><span style="font-weight: bold;">Attempt #2</span><br />I went for the windows installation package.  That unpacked everything and the server ran fine.  I could open up a web browser to http://localhost:5080/ and view the demos, admin panel, etc.</p>
<p><span style="font-style: italic;">Note:</span> The default admin username/password is admin/admin.  You can change that in conf/tomcat-users.xml  I&#8217;d suggest changing it.</p>
<p><span style="font-weight: bold;">Eclipse</span></p>
<p>So now I want to get it rocking with eclipse.  I launch eclipse (I&#8217;m lazy and like things easy so I use <a href="http://www.easyeclipse.org/site/distributions/server-java.html">easy eclipse</a>.)</p>
<p>I select File->Import->Existing project, then pick my Red5 project.  Bamn, I got an eclipse project set up.</p>
<p>But there&#8217;s compile errors.</p>
<p><span style="font-style: italic;">Severity and Description Path Resource Location Creation Time Id<br />Project red5_server is missing required source folder: &#8216;test&#8217;  red5_server Build path 1190574481375 173990<br />The project cannot be built until build path errors are resolved  red5_server Unknown 1190574530687 173992</span></p>
<p>So I closed the red5 eclipse project, fired up a text editor, and looked in my .classpath file inside the red5 folder.  It had the offending entry.</p>
<p>&lt;classpathentry kind=&#8221;src&#8221; path=&#8221;test&#8221;/&gt;<br /><span style="font-style:italic;"><br />Note&#8230;  I delete this line later on:<br />&lt;classpathentry kind=&#8221;con&#8221; path=&#8221;org.jayasoft.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/ivy.xml/test,&#8221;/&gt;<br />You might as well do it now since you&#8217;re in there.</span></p>
<p>So I removed it, and repopened eclipse. </p>
<p>A quick Project->Clean and&#8230;<br />3656 Errors</p>
<p>Ok, seems it doesn&#8217;t see some libraries.  Right click on my project, select properties.  Go into &#8220;Java Build Path&#8221;, select the &#8220;Libraries&#8221; tab, click the &#8220;Add Jars&#8230;&#8221; button, and add all of the .jar files in the lib directory.</p>
<p>A quick Project->Clean and&#8230;<br />0 Errors</p>
<p>WOOT</p>
<p><span style="font-weight: bold;">Running it from Eclipse</span></p>
<p>Now I go into src/org/red5/server, find the StandAlone.java, right click it, and select &#8220;Run as&#8230;&#8221;->&#8221;Java Application&#8221;.</p>
<p>I check my eclipse console panel and get a bunch of lines the last one being:</p>
<p>[INFO] 2007-09-23 15:14:20,875 main:( org.red5.server.Standalone.main ) Startup done in: 5875 ms</p>
<p>Nice.</p>
<p>I point a web browser at: http://localhost:5080/ and see that the red5 server is indeed running.  I launch the ball demo and push the connect button.  Then I make a new browser window and launch the demo again.  When I move the red5 logo in one window, it moves in the other.  That means it&#8217;s all working.</p>
<p>Eclipse also helpfully added an entry to my run button (the green circle with the play button) in my toolbar so I don&#8217;t have to find the StandAlone.java file again. </p>
<p>I want a quick launch button for debugging too, so I kill the server (click the red square on the console panel) and right click the StandAlone.java and select &#8220;Debug as java application&#8221;.  The server starts in debug mode, and eclipse adds it to my debug button on the toolbar.  (the green beetle button)</p>
<p><span style="font-weight: bold;">Making something</span></p>
<p>Now, I want to make something.  But first, I want to get rid of the samples.  So I kill the server, close the eclipse project, and edit the .classpath file again.  I know there&#8217;s a way to do this through eclipse, but I find editing the file quicker.</p>
<p>I get rid of these entries:<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/echo/WEB-INF/src&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/tutorial/WEB-INF/src&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/fitcDemo/WEB-INF/src&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/oflaDemo/WEB-INF/src&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;conf&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/test/WEB-INF/src&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/midiDemo/WEB-INF/src&#8221;/&gt;<br />&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/agile/WEB-INF/src&#8221;/&gt;</p>
<p>And I add one for my project, I&#8217;m going to work on something for <a href="http://www.agileagenda.com/">AgileAgenda</a>, so I&#8217;ll call it agile.</p>
<p>&lt;classpathentry excluding=&#8221;.svn/*&#8221; kind=&#8221;src&#8221; path=&#8221;webapps/agile/WEB-INF/src&#8221;/&gt;</p>
<p>Then I go rename the &#8220;echo&#8221; example to &#8220;agile&#8221;, and delete all the other samples (I deleted admin too, not sure if that was a good idea or not)</p>
<p>Open up the project in Eclipse again.</p>
<p>And I don&#8217;t see my agile webapp.  WTF?  Oh yeah&#8230; Eclipse is retarded.  Right Click->Refresh and it shows up.</p>
<p>I want to rename the Application class in my webapps folder (see the picture).  </p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/App-710875.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/App-710872.jpg" border="0" alt="" /></a></p>
<p>Luckily, Eclipse rocks Java more than it rocks Flex, so I can just right click, select refactor, and pick move.  Then I click &#8220;Create Package&#8221; enter in com.agileagenda.services and click ok a bunch of times.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/refactor-732731.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/refactor-732729.jpg" border="0" alt="" /></a></p>
<p>I delete the rest of the webapp echo source tree.</p>
<p>A project->Clean and&#8230;</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/BuildError-775023.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/BuildError-775020.jpg" border="0" alt="" /></a></p>
<p>I think I broke something.  Oh well.</p>
<p>Project->Properties->Builders and remove the invalid entry.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/builders-744703.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/builders-744701.jpg" border="0" alt="" /></a></p>
<p>Project->Clean and build successful.</p>
<p>I hit the debug button, and search the console output.  No errors reported and:</p>
<p>[INFO] 2007-09-23 15:44:45,375 main:( /agile.invoke0 ) Initializing Spring root WebApplicationContext </p>
<p>So I guess it found my new app.  Yay!</p>
<p>Kill the server.</p>
<p>So I go back to my Application class and make a new method.</p>
<p>public function login(username:String, password:String) : Boolean<br />{<br />  return true;<br />}</p>
<p>Then I remember that this is Java and not Actionscript so I rewrite it&#8230;</p>
<p>    public boolean login(String username, String password)<br />    {<br />     return true;<br />    }</p>
<p>I go to my project menu and turn on &#8220;Build Automatically&#8221; and get&#8230;</p>
<p>Severity and Description Path Resource Location Creation Time Id<br />Unbound classpath container: &#8216;org.jayasoft.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/ivy.xml/test,&#8217; in project red5_server  red5_server Build path 1190576857156 182811</p>
<p>WTF?</p>
<p>Close the project, open my .classpath file, remove the offending line:<br />&lt;classpathentry kind=&#8221;con&#8221; path=&#8221;org.jayasoft.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/ivy.xml/test,&#8221;/&gt;</p>
<p>Open the project, Project->Clean, build success.</p>
<p>I have no idea why that didn&#8217;t bite me earlier.  </p>
<p>I press the debug button.  The red5 server launches.<br />[INFO] 2007-09-23 15:51:26,062 main:( org.red5.server.Standalone.main ) Startup done in: 4937 ms </p>
<p>Yay.</p>
<p><span style="font-weight:bold;">Writing some actionscript</span></p>
<p>Now that I have a (dumb) login method, I want to try it out in Flex.</p>
<p>I have a &#8220;Sandbox&#8221; AIR application set up in Eclipse that I use when I want to quickly play with something.  I highly suggest everyone do that.  So I open my sandbox, open the MXML and create a quick login form.</p>
<p> &lt;mx:Label x=&quot;26&quot; y=&quot;43&quot; text=&quot;Username:&quot;/&gt;<br /> &lt;mx:TextInput x=&quot;101&quot; y=&quot;41&quot; id=&quot;txtUsername&quot;/&gt;<br /> &lt;mx:TextInput x=&#8221;101&#8243; y=&#8221;71&#8243; id=&#8221;txtPassword&#8221; displayAsPassword=&#8221;true&#8221;/&gt;<br /> &lt;mx:Label x=&#8221;26&#8243; y=&#8221;73&#8243; text=&#8221;Password&#8221;/&gt;<br /> &lt;mx:Button x=&#8221;196&#8243; y=&#8221;101&#8243; label=&#8221;Login&#8221; click=&#8221;onLoginClick()&#8221;/&gt;<br /> &lt;mx:Label x=&#8221;58&#8243; y=&#8221;148&#8243; text=&#8221;Label&#8221; id=&#8221;lblResult&#8221; width=&#8221;281&#8243;/&gt;</p>
<p>And then add in some code (remembering that this is Actionscript!)&#8230;</p>
<p>  <span style="font-weight:bold;">private var netConn:NetConnection;</p>
<p>  protected function onLoginClick() : void</span><br />  {<br />   NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;<br />   SharedObject.defaultObjectEncoding  = flash.net.ObjectEncoding.AMF0;</p>
<p>   netConn = new NetConnection();<br />   netConn.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus );<br />   netConn.addEventListener( SecurityErrorEvent.SECURITY_ERROR, errorHandler );<br />   netConn.addEventListener( AsyncErrorEvent.ASYNC_ERROR, errorHandler );<br />   netConn.addEventListener( IOErrorEvent.IO_ERROR, errorHandler );</p>
<p>   netConn.connect(&#8220;rtmp://localhost/agile&#8221;);  </p>
<p>  }   </p>
<p>  <span style="font-weight:bold;">protected function sendLogin() : void</span><br />  {<br />   var responder:Responder = new Responder( onLoginResult );<br />   netConn.call(&#8220;login&#8221;,responder,txtUsername.text, txtPassword.text);<br />  }</p>
<p>  <span style="font-weight:bold;">protected function onLoginResult( result:Boolean ) : void</span><br />  {<br />   lblResult.text = result ? &#8220;Login Success!&#8221; : &#8220;Login Fail!?!&#8221;;<br />  }</p>
<p>  <span style="font-weight:bold;">protected function onNetStatus(event:NetStatusEvent) : void</span><br />  {<br />   switch( event.info.code ) <br />   {<br />    case &#8220;NetConnection.Connect.Success&#8221;:<br />     lblResult.text = &#8220;Connected, sending login&#8221;;<br />     sendLogin();<br />    break;</p>
<p>    default:<br />     lblResult.text = &#8220;ERROR!! &#8221; + event.toString();<br />    break;<br />   }</p>
<p>  }</p>
<p>  <span style="font-weight:bold;">protected function errorHandler(event:Event) : void</span><br />  {<br />   lblResult.text = &#8220;ERROR! &#8221; + event.toString();<br />  }</p>
<p>I start the server, run my sandbox app, click the login button, and get a connection error.  Something went wrong somewhere.</p>
<p>I bet it&#8217;s a configuration problem.  I open webapps/agile/WEB-INF and notice 3 config files.</p>
<p>in <span style="font-weight:bold;">web.xml</span> I make this change:</p>
<p>&lt;context-param&gt;<br /> &lt;param-name&gt;webAppRootKey&lt;/param-name&gt;<br /> &lt;param-value&gt;<span style="font-weight:bold;">/agile</span>&lt;/param-value&gt;<br />&lt;/context-param&gt;</p>
<p>In red5-web.xml I make this change:</p>
<p>&lt;bean id=&#8221;web.handler&#8221; <br />  class=&#8221;<span style="font-weight:bold;">com.agileagenda.services.Application</span>&#8221; <br />  singleton=&#8221;true&#8221; /&gt;</p>
<p>In red5-web.properties, I make this change:</p>
<p>webapp.contextPath=<span style="font-weight:bold;">/agile</span></p>
<p>Kill the server, restart it (debug mode), try my app again.  &#8220;Login Sucess&#8221; YES!</p>
<p>Now I head into the java class and put a breakpoint on the &#8220;return true;&#8221; line.  I hit the button on my AIR app and Eclipse correctly breaks on the line.  Yay!</p>
<p>I inspect the username and password parameters, and the values I had filled into the AIR app are present.  Yay!</p>
<p>I&#8217;m now to the point where I can start actually writing my application.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/success-751341.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/success-751340.jpg" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/09/my-first-red5-experience/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Flex SDK nightly builds</title>
		<link>http://www.rogue-development.com/blog2/2007/09/flex-sdk-nightly-builds/</link>
		<comments>http://www.rogue-development.com/blog2/2007/09/flex-sdk-nightly-builds/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 14:52:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[NoteToSelf]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=55</guid>
		<description><![CDATA[Just read about Flex having nightly builds available of the SDK at these url&#8217;s http://labs.adobe.com/technologies/flex/sdk/flex2sdk.htmlhttp://labs.adobe.com/technologies/flex/sdk/flex3sdk.html Nice. (Blogging so I can find them later)]]></description>
			<content:encoded><![CDATA[<p>Just read about Flex having nightly builds available of the SDK at these url&#8217;s</p>
<p>http://labs.adobe.com/technologies/flex/sdk/flex2sdk.html<br />http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html</p>
<p>Nice.</p>
<p>(Blogging so I can find them later)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/09/flex-sdk-nightly-builds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XRayViewer download page</title>
		<link>http://www.rogue-development.com/blog2/2007/08/xrayviewer-download-page/</link>
		<comments>http://www.rogue-development.com/blog2/2007/08/xrayviewer-download-page/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 12:01:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[XRay]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=51</guid>
		<description><![CDATA[Yesterday, I wrote about the XRayViewer AIR application. There&#8217;s now a download page with a slightly updated version. Any future releases will be there. http://www.rogue-development.com/xrayviewer.xml]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I wrote about the XRayViewer AIR application.</p>
<p>There&#8217;s now a download page with a slightly updated version.  Any future releases will be there.</p>
<p><a href="http://www.rogue-development.com/xrayviewer.xml">http://www.rogue-development.com/xrayviewer.xml</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/08/xrayviewer-download-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XRay Viewer</title>
		<link>http://www.rogue-development.com/blog2/2007/08/xray-viewer/</link>
		<comments>http://www.rogue-development.com/blog2/2007/08/xray-viewer/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 21:00:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[XRay]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=50</guid>
		<description><![CDATA[A lot of the time a designer gives me a swf, and I want to know how they structured it. I have two options. 1) Open up the Flash IDE and explore it 2) Add an instance of it to my project, and then use XRay to explore it. Now, I have a third option. [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of the time a designer gives me a swf, and I want to know how they structured it.  I have two options.</p>
<p>1) Open up the Flash IDE and explore it <br />2) Add an instance of it to my project, and then use XRay to explore it.</p>
<p>Now, I have a third option.  I can open it up in the XRayViewer AIR application I just put together and then use XRay to look through it.</p>
<p><a href="http://www.rogue-development.com/blog/XRayViewer.air">XRayViewer.air</a></p>
<p>All this little app does is host the XRay connector and let you load a local swf (File->Open).  Then it displays the swf with some simple controls to play/stop/advance/back.  </p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/xrayviewer-732582.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/xrayviewer-732579.jpg" border="0" alt="" /></a></p>
<p>But the real power is you can go off to the XRay interface and look through that loaded swf!</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rogue-development.com/blog/uploaded_images/xray-767455.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.rogue-development.com/blog/uploaded_images/xray-767447.jpg" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/08/xray-viewer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OSX Flex app is slow&#8230;</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/</link>
		<comments>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 18:05:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[AgileAgenda]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Schedule]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38</guid>
		<description><![CDATA[So I tried my scheduling software on my mac today. It took about 18 seconds to calculate my schedule on my duo-core 2ghz MacBook Pro. My home WinXP 2.1ghz DuoCore2 based machine takes 2 seconds. A 9x improvement. But the shocker&#8230; my work WinXP laptop with a 1.7ghz Pentium M, a MUCH slower machine, takes [...]]]></description>
			<content:encoded><![CDATA[<p>So I tried my scheduling software on my mac today.  It took about 18 seconds to calculate my schedule on my duo-core 2ghz MacBook Pro.</p>
<p>My home WinXP 2.1ghz DuoCore2 based machine takes 2 seconds.  A 9x improvement.</p>
<p>But the shocker&#8230; my work WinXP laptop with a 1.7ghz Pentium M, a MUCH slower machine, takes about 4 seconds.</p>
<p>Why is the Mac so much slower on compute intensive actionscript?</p>
<p>I&#8217;ve heard of it being slower on graphical animation type things, but not something like this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>XRay Updated!</title>
		<link>http://www.rogue-development.com/blog2/2007/07/xray-updated/</link>
		<comments>http://www.rogue-development.com/blog2/2007/07/xray-updated/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 14:01:00 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[LogViewer]]></category>

		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=26</guid>
		<description><![CDATA[John Grden has just released a new version of XRay, the gosh darn bestest Flash debugging tool out there. The big news for me is it uses my LogViewer component for the log output panel! I hope everyone enjoys it. Get it: http://osflash.org/xray John&#8217;s announcement: New LogViewer component replaces Xray&#8217;s output &#8211; Thanks to Marc [...]]]></description>
			<content:encoded><![CDATA[<p>John Grden has just released a new version of XRay, the gosh darn bestest Flash debugging tool out there.</p>
<p>The big news for me is it uses my <a href="http://rogue-development.com/logViewer.xml">LogViewer</a> component for the log output panel!  I hope everyone enjoys it. </p>
<p>Get it:  <a href="http://osflash.org/xray">http://osflash.org/xray</a></p>
<p>John&#8217;s announcement:</p>
<p>
<blockquote>New LogViewer component replaces Xray&#8217;s output &#8211; Thanks to Marc Hughes for creating such a killer component and being cool enough to integrate it with Xray!</p>
<p>includes:</p>
<p>   *Debug level filtering<br />   *Text filtering / package filtering<br />   *Highlighting<br />   *Search</p>
<p>Latest Xray interface online:<br />http://www.rockonflash.com/xray/flex/Xray.html</p>
<p>Download the SWF to run locally:<br />http://www.rockonflash.com/xray/flex/Xray.zip</p>
<p>LogViewer component:<br />http://rogue-development.com/logViewer.xml</p>
<p>AS3 News for Xray:<br />Currently, I have a solid beta of the component working.  It looks through all display lists and the property inspector seems to be working properly.  Some of the other features with highlighting nodes on stage, grid drawing, filters and sound are not working with AS3 yet.  I expect that those will all change in a big way so, I&#8217;ve just been getting base functionality running.  Also, I&#8217;m still at a bit of a learning curve with AS3.  Debugging visual aspects like we did in AS2 is definitely different, and thats why it&#8217;s taking a while to get something out.</p>
<p>The good news is, I&#8217;ve written it to work:</p>
<p>1.  as a component for CS3 (like the as2 version)<br />2.  with the new constructor:  var xray:Xray = new Xray();<br />3.  with flex2 via new constructor</p>
<p>If there&#8217;s enough interest in it, I&#8217;ll post the beta with docs and let people hammer on it.  Need is usually what drives us, so might as well stir up some need <img src='http://www.rogue-development.com/blog2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.rogue-development.com/blog2/2007/07/xray-updated/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

