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

<channel>
	<title>Tobias Patton's Weblog</title>
	<atom:link href="http://tobiaspatton.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tobiaspatton.wordpress.com</link>
	<description>Flex, etc.</description>
	<lastBuildDate>Fri, 16 Sep 2011 15:40:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tobiaspatton.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Tobias Patton's Weblog</title>
		<link>http://tobiaspatton.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tobiaspatton.wordpress.com/osd.xml" title="Tobias Patton&#039;s Weblog" />
	<atom:link rel='hub' href='http://tobiaspatton.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Introducing the IconLoader component</title>
		<link>http://tobiaspatton.wordpress.com/2007/09/09/introducing-the-iconloader-control/</link>
		<comments>http://tobiaspatton.wordpress.com/2007/09/09/introducing-the-iconloader-control/#comments</comments>
		<pubDate>Sun, 09 Sep 2007 17:29:39 +0000</pubDate>
		<dc:creator>tobiaspatton</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[icon]]></category>

		<guid isPermaLink="false">http://tobiaspatton.wordpress.com/2007/09/09/introducing-the-iconloader-control/</guid>
		<description><![CDATA[I&#8217;ve made my first contribution to the flexlib project: the IconLoader component. The IconLoader control has an interface similar to &#60;mx:Image&#62;, but instead of displaying a PNG, JPEG or other bitmap image, it displays an icon. The control understands the Windows .ico and Mac OS .icns file formats. Icon files usually contain images at various [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tobiaspatton.wordpress.com&amp;blog=1604074&amp;post=4&amp;subd=tobiaspatton&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made my first contribution to the <a href="http://flexlib.googlecode.com">flexlib</a> project: the IconLoader component.</p>
<p>The IconLoader control has an interface similar to &lt;mx:Image&gt;, but instead of displaying a PNG, JPEG or other bitmap image, it displays an icon. The control understands the Windows .ico and Mac OS .icns file formats. Icon files usually contain images at various sizes. The IconLoader control will choose the most appropriate size given the size of the control itself. E.g. if the control is explicitly sized to 40 pixels wide and 42 pixels high, and the source icon file contains a 32&#215;32 icon, that icon will be used. Like with &lt;mx:Image&gt;, IconLoader has a <font face="monospace">scaleContents</font> property. When this is set to <font face="monospace">true</font>, the icon is scaled to fill the control&#8217;s bounds. </p>
<p>The <font face="monospace">source</font> property can either be set to a string or an embedded object. Strings are interpreted as URLs, and the icon file is retrieved and parsed. It&#8217;s also possible to use the <font face="monospace">@Embed</font> directive to set the <font face="monospace">source</font> property to an embedded byte array. </p>
<p>A quick note on the latter usage of the <font face="monospace">source</font> property. Any arbitrary data file can be embedded in a flex app by setting the <font face="monospace">mime-type</font> property of the <font face="monospace">@Embed</font> directive to <font face="monospace">application/octet-stream</font>. The embedded class extends <font face="monospace">ByteArray</font>, so it&#8217;s trivial to examine the contents of the file. Thanks to <a href="http://www.dougmccune.com/blog/">Doug McCune</a> for turning me on to this <a href="http://dougmccune.com/blog/2007/01/19/">technique</a>. </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tobiaspatton.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tobiaspatton.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tobiaspatton.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tobiaspatton.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tobiaspatton.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tobiaspatton.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tobiaspatton.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tobiaspatton.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tobiaspatton.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tobiaspatton.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tobiaspatton.wordpress.com&amp;blog=1604074&amp;post=4&amp;subd=tobiaspatton&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tobiaspatton.wordpress.com/2007/09/09/introducing-the-iconloader-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d76bc6e79ff179bb2d001b22b976e446?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tobiaspatton</media:title>
		</media:content>
	</item>
		<item>
		<title>Using a signed Java applet as a Flex helper &#8211; Part 1</title>
		<link>http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-1/</link>
		<comments>http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-1/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 23:11:44 +0000</pubDate>
		<dc:creator>tobiaspatton</dc:creator>
				<category><![CDATA[applet]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-1/</guid>
		<description><![CDATA[I want to talk about a proof-of-concept I developed a few months back. The problem was that we needed a Flex 2 application to be able to launch an external, native application to edit a file. Since Flex is strictly limited in how it can interact with the file system and the native OS, this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tobiaspatton.wordpress.com&amp;blog=1604074&amp;post=3&amp;subd=tobiaspatton&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I want to talk about a proof-of-concept I developed a few months back. The problem was that we needed a Flex 2 application to be able to launch an external, native application to edit a file. Since Flex is strictly limited in how it can interact with the file system and the native OS, this seemed impossible. But then I had the idea of using a signed Java applet to do the hard work. Because it&#8217;s Java code, it can interact with the file system and do things that Flex can&#8217;t do &#8212; like launch external applications.</p>
<p>OK &#8212; it&#8217;s not an original idea. The <a href="http://artemis.effectiveui.com">Artemis</a> project from EffectiveUI is doing something similar, but for AIR applications.</p>
<p>Keep in mind that I&#8217;m not a Java programmer. Nor am I a JavaScript programmer. I&#8217;m probably making all sorts of mistakes that will induce a lot of eye rolling. Just try to keep it to yourselves. (I do know Flex and Actionscript, so feel free to openly mock egregious errors in those domains.)</p>
<p>I&#8217;m going to break this posting into two parts. In the first part I&#8217;ll show how to create a trivial Java applet, have it load simultaneously with a Flex application, and show how the Flex application can communicate with the applet. In the second part, I&#8217;ll provide a slightly less trivial Java applet that will open an external editor, and show how to sign the applet and deal with thread synchronization issues (!!).</p>
<p><span id="more-3"></span><strong>Step 1. Create the applet</strong></p>
<p>Use your favorite text editor and create the following Java source file:</p>
<pre>import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
public class HelloWorld extends Applet
{
	public void sayHelloWorld()
	{
           JOptionPane.showMessageDialog( null, "Hello World", "Hello World", JOptionPane.INFORMATION_MESSAGE );
	}
}</pre>
<p>Save the file as &#8220;HelloWorld.java&#8221; and compile it:<br />
<font face="monospace">javac HelloWorld</font><br />
which should create the file HelloWorld.class.</p>
<p><strong>Step 2. Create the Flex project</strong></p>
<p>In Flex builder, create a project called JavaApplet, and replace the contents of JavaApplet.mxml with:</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[
			private function onClick() : void
			{
                      ExternalInterface.call( "document.helloWorldApplet.sayHelloWorld()", null );
			}
		]]&gt;
	&lt;/mx:Script&gt;
	&lt;mx:Button label="Hello World" click="onClick()"/&gt;
&lt;/mx:Application&gt;</pre>
<p>Copy the HelloWorld.class file created in Step 1 to the bin directory of the Flex project.</p>
<p><strong>Step 3. Change the html wrapper</strong></p>
<p>Edit the Flex applications HTML wrapper template.  Insert the following just before the closing &lt;/body&gt; tag:</p>
<pre>&lt;APPLET id="helloWorldApplet" code="HelloWorld.class" codebase="." align="baseline"
    width="200" height="200"&gt;</pre>
<p><strong>Step 4. There&#8217;s no step 4</strong></p>
<p>Just run the application. If you&#8217;ve done everything right, clicking the button should display a JOption pane with the message &#8220;hello world&#8221;.</p>
<p>(This might not work in Internet Explorer. I think with IE, you need to replace the &lt;APPLET&gt; tag with &lt;OBJECT&gt;. The syntax is subtly different and I haven&#8217;t tried it &#8212; I don&#8217;t have access to a Windows machine &#8212; so you&#8217;re on your <a href="http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/using_tags.html">own</a>.)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tobiaspatton.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tobiaspatton.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tobiaspatton.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tobiaspatton.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tobiaspatton.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tobiaspatton.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tobiaspatton.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tobiaspatton.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tobiaspatton.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tobiaspatton.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tobiaspatton.wordpress.com&amp;blog=1604074&amp;post=3&amp;subd=tobiaspatton&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d76bc6e79ff179bb2d001b22b976e446?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tobiaspatton</media:title>
		</media:content>
	</item>
		<item>
		<title>Using a signed Java applet as a Flex helper &#8211; Part 2</title>
		<link>http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-2/</link>
		<comments>http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-2/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 23:11:20 +0000</pubDate>
		<dc:creator>tobiaspatton</dc:creator>
				<category><![CDATA[applet]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-2/</guid>
		<description><![CDATA[In the previous post, I showed how to create a Java applet, embed it in the same HTML page that wraps a Flex application, and call a public method in the applet from Flex. In this post, I will demonstrate creating a signed Java applet that will help a Flex application interact with the native [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tobiaspatton.wordpress.com&amp;blog=1604074&amp;post=5&amp;subd=tobiaspatton&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the previous post, I showed how to create a Java applet, embed it in the same HTML page that wraps a Flex application, and call a public method in the applet from Flex. In this post, I will demonstrate creating a signed Java applet that will help a Flex application interact with the native OS.</p>
<p><span id="more-5"></span><strong>Step 1. Create the Java applet</strong></p>
<p>Create the following Java source file. Name it Launcher.java:</p>
<pre>import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*;
public class Launcher extends Applet
{
	public static void launchEditor( String path )
	{
		String[] cmds = new String[ 2 ];
		cmds[ 0 ] = "open";
		cmds[ 1 ] = path;
		try
		{
			Runtime.getRuntime().exec( cmds );
		}
		catch( Exception ex )
		{
			System.out.println( "Exception calling Runtime.exec(...) " + ex.getMessage() );
		}
	}
}</pre>
<p>NOTE: The &#8220;open&#8221; command only works on Mac OS X. For Windows, you&#8217;ll need to execute &#8220;start.exe&#8221; with some options. Since I don&#8217;t have a Windows machine to test this on, you&#8217;re, once again, on your own.</p>
<p>Compile the Java source:</p>
<p><font face="monospace">javac Launcher.java</font></p>
<p>which should create the file Launcher.class. Now, you&#8217;ll need to create a JAR archive of your class:</p>
<p><font face="monospace">jar cf Launcher.jar Launcher.class</font></p>
<p>This should create Launcher.jar.</p>
<p><strong>Step 2. Sign the Launcher JAR file</strong></p>
<p>I&#8217;ll cover this process in a very cursory manner. There are a <a href="http://mindterm.appgate.com/pipermail/mindterm-users/2003q3/000803.html">lot</a> of <a href="http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html">tutorials</a> available on self-signing Java applets.</p>
<p>You&#8217;ll need to create a public/private key pair using the keytool utility in the Java SDK:</p>
<p><font face="monospace">keytool -genkey -keystore mykeystore -alias launcheralias</font></p>
<p>Next, create a self-signed certificate:</p>
<p><font face="monospace">keytool -selfcert -keystore mykeystore -alias launcheralias</font></p>
<p>Finally, sign the jar file:</p>
<p><font face="monospace">jarsigner -keystore mykeystore Launcher.jar launcheralias</font></p>
<p><strong>Step 3. Create a Flex application</strong></p>
<p>In FlexBuilder create a new project called Launcher and replace the contents of Launcher.mxml with:</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[
			private function onClick() : void
			{
				ExternalInterface.call( "document.launcherApplet.launchEditor( '[path to a text file]' )" );
			}
		]]&gt;
	&lt;/mx:Script&gt;
	&lt;mx:Button label="Launch" click="onClick()"/&gt;
&lt;/mx:Application&gt;</pre>
<p>Replace <font face="monospace">[path to a text file]</font> with an <strong>absolute</strong> path to some text file on your system.</p>
<p>Copy the Launcher.jar file created in Step 2 to the bin directory of the Flex project.</p>
<p><strong>Step 4. Adjust the HTML wrapper</strong></p>
<p>Add the following just before the closing &lt;/body&gt; tag in the Flex applications&#8217; HTML wrapper:</p>
<pre>&lt;APPLET id="launcherApplet" archive="Launcher.jar" code="Launcher" align="baseline"
    width="200" height="200"&gt;</pre>
<p><strong>Step 5. There is no step 5</strong></p>
<p>Just launch the application. If your applet is signed and installed correctly, you should be presented with a security confirmation dialog. Click &#8220;trust&#8221; then and click the &#8220;Launch&#8221; button in the Flex application. This should open your text file in whatever editor is associated with the .txt extension on your computer.</p>
<p>What? It doesn&#8217;t work? Of course not. Here&#8217;s the catch:</p>
<p><strong>Even though the applet is signed, and therefore has privileged access to the OS, the thread executing methods called from JavaScript, and any threads it creates, do not share this privileged access.</strong></p>
<p>If you look at the Java console, you should see a line something like this:</p>
<p><font face="monospace">Exception calling Runtime.exec(&#8230;) access denied (java.io.FilePermission &lt;&gt; execute)</font></p>
<p>which makes clear why the operation failed.</p>
<p>We can get around this by making our applet considerably more complicated. We override the init() method, and spawn a new thread that is responsible for all operations that require privileged access. Public methods in our applet that are called from Javacript pass their work off to this thread, thus avoiding the problem with reduced privileges. Here&#8217;s the new applet:</p>
<pre>import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*;
public class Launcher extends Applet
{
	public void init()
	{
		( new LauncherThread() ).start();
	}
	public void launchEditor( String path )
	{
		synchronized( _threadLock )
		{
			_launchPath = path;
			_threadLock.notifyAll();
		}
	}
	private String _launchPath;
	private Object _threadLock = new Object();
	class LauncherThread extends Thread
	{
		public void run()
		{
			synchronized( _threadLock )
			{
				while( true )
				{
					try
					{
						_threadLock.wait();
						String[] cmds = new String[ 2 ];
						cmds[ 0 ] = "open";
						cmds[ 1 ] = _launchPath;
						Runtime.getRuntime().exec( cmds );
					}
					catch( Exception ex )
					{
						System.out.println( "Exception in LauncherThread " + ex.getMessage() );
					}
				}
			}
		}
	}
}</pre>
<p>Now, repeat Steps 1 through 4 with this new applet. This time, clicking on the &#8220;Launch&#8221; button should really open your file in the associated editor.</p>
<p><strong>Some issues to consider</strong></p>
<p>1. How to get method return values back to Flex? Shouldn&#8217;t be too hard &#8212; the thread can put the results into a member variable in the applet class. More thread synchronization to handle, though.</p>
<p>2. How can the applet call back into Flex? It might be nice to let the applet go off and do some asynchronous processing, calling back into the Flex application when it&#8217;s finished. It should be possible to do this <strong>if</strong> the applet can call a Javascript function. The Flex application can register a callback using ExternalInterface, which the applet can invoke.</p>
<p>3. How to deal with race conditions at startup? The Java applet may fail to load entirely, or may load some time after the Flex application loads. Or, the Flex application may finish loading after the applet is done. The applet and Flex application need some way of knowing when the other one is prepared to communicate.</p>
<p>4. How to (de)serialize Flex objects? The example I gave just passed a simple string into a Java method, but it&#8217;s easy to conceive of more complex examples when object serialization would be required. Maybe an open source implementation of the AMF protocol could be included in the applet. The <a href="http://artemis.effectiveui.com/">Artemis</a> project uses this technique.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tobiaspatton.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tobiaspatton.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tobiaspatton.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tobiaspatton.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tobiaspatton.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tobiaspatton.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tobiaspatton.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tobiaspatton.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tobiaspatton.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tobiaspatton.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tobiaspatton.wordpress.com&amp;blog=1604074&amp;post=5&amp;subd=tobiaspatton&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tobiaspatton.wordpress.com/2007/08/29/using-a-signed-java-applet-as-a-flex-helper-part-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d76bc6e79ff179bb2d001b22b976e446?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tobiaspatton</media:title>
		</media:content>
	</item>
	</channel>
</rss>
