<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Redberg Robot Repairs</title>
	
	<link>http://www.nnyman.com/flash</link>
	<description>Adobe Flash, Flex, AIR programming, electronics, and robots in full working order.</description>
	<lastBuildDate>Thu, 11 Feb 2010 21:21:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RedbergRobotRepairs" /><feedburner:info uri="redbergrobotrepairs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>RedbergRobotRepairs</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>How to stop Subclipse from asking for repository password on OS X</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/O6ilJ2mmgRo/</link>
		<comments>http://www.nnyman.com/flash/2010/02/12/osx-subclipse-password-problem/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 21:21:12 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=132</guid>
		<description><![CDATA[I had this really nagging problem with Subclipse 1.6 SVN client running in my Flex Builder 3: every time I tried to access a given repository, Subclipse asked for my password. And every time I entered the password, and checked the &#8220;Save password&#8221; checkbox. On every update, every commit, every synchronize. And Subclipse just kept [...]]]></description>
			<content:encoded><![CDATA[<p>I had this really nagging problem with Subclipse 1.6 SVN client running in my Flex Builder 3: every time I tried to access a given repository, Subclipse asked for my password. And every time I entered the password, and checked the &#8220;Save password&#8221; checkbox. On every update, every commit, every synchronize. And Subclipse just kept asking for the password.</p>

<p>So here&#8217;s how you can fix the problem, if you&#8217;re experiencing this annoyance:</p>

<p>Open Keychain Access, and search for the stored SVN repository credentials. The credentials are stored as an application password item and you can usually find them by the repository name. Open the Get Info window for the keychain item. <strong>Under Access Control, select the option to Allow all applications to access this item.</strong> And that&#8217;s it. Subclipse will now happily do commits and updates and whatnot without bugging you for the password.</p>

<p>Yeah I know, some security freaks will freak out, but those guys can stop whining and carry on entering their freaking repository password every time.</p>

<p>I&#8217;m quite sure this approach could be made &#8220;safer&#8221; by finding out the exact application that needs to be added to the Access Control list of allowed apps, but I didn&#8217;t have to persistence to find it out. Let me know if you do.</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/O6ilJ2mmgRo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2010/02/12/osx-subclipse-password-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2010/02/12/osx-subclipse-password-problem/</feedburner:origLink></item>
		<item>
		<title>Browser-based 3D is here to stay</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/QWY7chIZAMU/</link>
		<comments>http://www.nnyman.com/flash/2010/02/04/browser-3d-is-here/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 12:22:18 +0000</pubDate>
		<dc:creator>Juise</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=127</guid>
		<description><![CDATA[Yeah, I&#8217;m feeling old saying this&#8230;.

10 years ago I was teaching multimedia programming in the Helsinki University of Tehchnology. I proposed my superiors to start moving away from Director and looking into where Flash was going. Back then Macromedia Director was considered programming, while Flash was thought of as scripting. But it was clear for [...]]]></description>
			<content:encoded><![CDATA[<p>Yeah, I&#8217;m feeling old saying this&#8230;.</p>

<p>10 years ago I was teaching multimedia programming in the Helsinki University of Tehchnology. I proposed my superiors to start moving away from <a href="http://web.archive.org/web/20000815061636/www.macromedia.com/software/director/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://web.archive.org/web/20000815061636/www.macromedia.com/software/director/');">Director</a> and looking into where <a href="http://web.archive.org/web/20000815052808/www.macromedia.com/software/flash/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://web.archive.org/web/20000815052808/www.macromedia.com/software/flash/');">Flash</a> was going. Back then Macromedia Director was considered programming, while Flash was thought of as scripting. But it was clear for me to see it was a superior approach: Macromedia&#8217;s Flash team was looking into changing how the web was being used, while the Director team was adding new features on top of something already getting old.</p>

<p>For a while I&#8217;ve been saying the time for <a href="http://unity3d.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://unity3d.com/');">Unity 3D</a> is here. Adobe has failed to hold it&#8217;s domination in web gaming and originally a 20-person company from Denmark has taken over browser 3D for a while.</p>

<p>The main reasons clients shy away from Unity 3D are the fear of new technology and the fear of being stranded after a small tech company goes belly up. The web player has no penetration compared to Flash. But times are changing. One-click install of the web player is quite OK for web gaming. It&#8217;s easier than Shockwave used to be and the quality of games seen even now is amazing. Check the<a href="http://unity3d.com/gallery/live-demos/tropical-paradise" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://unity3d.com/gallery/live-demos/tropical-paradise');"> Unity 3D paradise demo</a> if you don&#8217;t know what the fuss is about.</p>

<p>One good reason to choose Unity 3D is the paradoxically fierce competition in the field. While choosing between Flash and Silverlight is forcing you to practically choose the tools you work with (you often choose Flash since it just works with Photoshop and Illustrator – and is also bundled in deals). But Unity&#8217;s praised-for-reason asset pipeline is not locked into Unity-related products at all. If you develop a Unity project now, but one of the other promising Web 3D platforms take over (eg. <a href="http://www.torquepowered.com/products/torque-3d" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.torquepowered.com/products/torque-3d');">Torque</a> has some promising stuff out already, and <a href="http://www.udk.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.udk.com/');">Unreal engine</a> is also looking good), big part of the work does not need to be ported. You just import your 3D Max/Maya/Photoshop files to another environment and off you go.</p>

<p>So choosing Unity is not choosing Unity. It&#8217;s betting this kind of tools will be used for publishing 3D to the web, iPhone, and for casual console games. You don&#8217;t dig a hole with the nice hammer you&#8217;re familiar working with, waiting for Adobe to upgrade it to a more suited version. Get a shiny shovel from a shop and start digging. I&#8217;d propose starting with Unity, since it has a free version and the tutorials are just great. Or start with the Unreal Engine. Just keep your eyes open for the other players in the field.</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/QWY7chIZAMU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2010/02/04/browser-3d-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2010/02/04/browser-3d-is-here/</feedburner:origLink></item>
		<item>
		<title>W2 at Redberg Robot Repairs</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/WagK0zx19Ao/</link>
		<comments>http://www.nnyman.com/flash/2010/01/17/w2-at-redberg-robot-repairs/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 20:21:59 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=113</guid>
		<description><![CDATA[With nearly 4% of the year gone, we&#8217;ve met with a lot of people with potential, and discussed a lot of potential work and projects.

We delivered our first tiny Unity3D project to a client, and are definitely looking to explore the technology further.

Meanwhile, an old Matrix12 has finally been given a new life after spending [...]]]></description>
			<content:encoded><![CDATA[<p>With nearly 4% of the year gone, we&#8217;ve met with a lot of people with potential, and discussed a lot of potential work and projects.</p>

<p>We delivered our first tiny <a href="http://unity3d.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://unity3d.com/');">Unity3D</a> project to a client, and are definitely looking to explore the technology further.</p>

<p>Meanwhile, an old <a href="http://www.vintagesynth.com/oberheim/mat12.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.vintagesynth.com/oberheim/mat12.php');">Matrix12</a> has finally been given a new life after spending weeks in the garage. There&#8217;s still something to be fixed with the filter resonance, before it&#8217;s good to go into the studio. Here&#8217;s what a happy Redberg Robot Repairs customer looks like:</p>

<p><img src="http://www.nnyman.com/flash/wp-content/uploads/2010/01/Tyytyvainen-asiakas.jpg" alt="" title="Happy customer" width="480" height="640" class="alignnone size-full wp-image-117" /></p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/WagK0zx19Ao" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2010/01/17/w2-at-redberg-robot-repairs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2010/01/17/w2-at-redberg-robot-repairs/</feedburner:origLink></item>
		<item>
		<title>W1 at Redberg Robot Repairs</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/jIdzXnuztpE/</link>
		<comments>http://www.nnyman.com/flash/2010/01/11/w1-at-redberg-robot-repairs/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 16:07:34 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=109</guid>
		<description><![CDATA[The year started off with a week of full-on administrative work. While Juise has taken some time off to work on his web TV project soffa.tv, the Redberg Robot Repairs garage has been lit by a new tool:



It can melt small amounts of iron, copper and magnesium, and open a frozen door. So much has [...]]]></description>
			<content:encoded><![CDATA[<p>The year started off with a week of full-on administrative work. While Juise has taken some time off to work on his web TV project <a href="http://soffa.tv" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://soffa.tv');">soffa.tv</a>, the Redberg Robot Repairs garage has been lit by a new tool:</p>

<p><img src="http://www.nnyman.com/flash/wp-content/uploads/2010/01/torch.jpg" alt="" title="Torch" width="500" height="413" class="alignnone size-full wp-image-110" /></p>

<p>It can melt small amounts of iron, copper and magnesium, and open a frozen door. So much has been proved.</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/jIdzXnuztpE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2010/01/11/w1-at-redberg-robot-repairs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2010/01/11/w1-at-redberg-robot-repairs/</feedburner:origLink></item>
		<item>
		<title>Sequence AS3 tween engine released</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/86vcVUxWw0E/</link>
		<comments>http://www.nnyman.com/flash/2009/08/18/sequence-as3-tween-engine-released/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 08:25:16 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=106</guid>
		<description><![CDATA[To start life after the holidays, we are happy to introduce to you our simple, programmer-friendly AS3 tween engine, Sequence.

While many of the existing ActionScript tweening libraries compete on features and the amount of shortcuts or convenience functions, we wanted to have a fast and robust tweening engine, which allows tweens to be set up [...]]]></description>
			<content:encoded><![CDATA[<p>To start life after the holidays, we are happy to introduce to you our simple, programmer-friendly AS3 tween engine, <a href="http://www.nnyman.com/flash/projects/sequence/"  title="Sequence AS3 tween engine">Sequence</a>.</p>

<p>While many of the existing ActionScript tweening libraries compete on features and the amount of shortcuts or convenience functions, we wanted to have a fast and robust tweening engine, which allows tweens to be set up in the code strictly using a single approach. The result is a highly simplified approach, where the programmer creates a new Sequence object, then adds as many tweens (sequence steps) inside the sequence as needed (using a single <code>add()</code> method), and finally starts playing the sequence. This approach allows sequences to be reused, reducing or even eliminating the creation and deletion of new objects while tweening.</p>

<p>Sequence can (naturally) do simple tweens for one object at a time, but if your daily work involves complex, dynamically created tweens with many simultaneous tweened objects and parameters, we really urge you to try out Sequence. You just might learn to love it.</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/86vcVUxWw0E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/08/18/sequence-as3-tween-engine-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/08/18/sequence-as3-tween-engine-released/</feedburner:origLink></item>
		<item>
		<title>Introducing Message Relay</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/OeQCjAC18yU/</link>
		<comments>http://www.nnyman.com/flash/2009/05/25/introducing-message-relay/#comments</comments>
		<pubDate>Mon, 25 May 2009 13:54:18 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Message Relay]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=53</guid>
		<description><![CDATA[After a long, quiet pause, we want to start off again by sharing our most reused piece of code with you: the Message Relay. he first version was created in 2007 and we have used it ever since in all of our projects.

But why?

You know those projects where your code slowly becomes a mess of [...]]]></description>
			<content:encoded><![CDATA[<p>After a long, quiet pause, we want to start off again by sharing our most reused piece of code with you: the <a href="http://nnyman.com/flash/projects/messagerelay"  title="Message Relay">Message Relay</a>. he first version was created in 2007 and we have used it ever since in all of our projects.</p>

<p>But why?</p>

<p>You know those projects where your code slowly becomes a mess of direct references, while changing and even maintaining the code starts to feel more and more painful at every moment? That project where your MagicButton instance is listened to by ten other objects, and it gets moved into a new Sprite on a totally different corner of the user interface, and it&#8217;s Friday afternoon and you&#8217;d like to head to the park with beverages, but you need to start hunting down and rewriting all the listener references instead?</p>

<p>You might solve the problem with your Find &amp; Replace wizardry, or you might even go as far as delve into the hazardous world of patterns, start creating your own singleton ReferenceManager class, or something silly like that, which you will regret on Monday morning.</p>

<p>But fear not. <strong>Message Relay</strong> is there to help you keep your code clean, while providing an understandable method of communication between objects. Enough advertising? Go and <a href="http://nnyman.com/flash/projects/messagerelay"  title="Message Relay">look at the examples</a>.</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/OeQCjAC18yU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/05/25/introducing-message-relay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/05/25/introducing-message-relay/</feedburner:origLink></item>
		<item>
		<title>Examining FLARToolkit</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/WynDlUznDpc/</link>
		<comments>http://www.nnyman.com/flash/2009/02/09/examining-flartoolkit/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 14:13:37 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[augmented reality]]></category>
		<category><![CDATA[FLARToolkit]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=44</guid>
		<description><![CDATA[Like probably many a thousand Flash coders right now, we&#8217;ve been looking at FLARToolkit, and the &#8220;augmented reality&#8221; solutions it makes possible. If you want to try it out, Mikko Haapoja&#8217;s FLARToolkit tutorial is an excellent starting point. He&#8217;s also been kind enough to make a pretty tutorial package so you can forget about downloading [...]]]></description>
			<content:encoded><![CDATA[<p>Like probably many a thousand Flash coders right now, we&#8217;ve been looking at <a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.libspark.org/wiki/saqoosha/FLARToolKit/en');" title="FLARToolKit">FLARToolkit</a>, and the &#8220;augmented reality&#8221; solutions it makes possible. If you want to try it out, <a href="http://www.mikkoh.com/blog/?p=182" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.mikkoh.com/blog/?p=182');" title="FlarToolkit/Flash Augmented RealityGetting Started (by Mikko Haapoja)">Mikko Haapoja&#8217;s FLARToolkit tutorial</a> is an excellent starting point. He&#8217;s also been kind enough to make a pretty tutorial package so you can forget about downloading the (currently broken) trunk distribution from the SVN.</p>

<p>As you can see on their site, FLARToolkit is an AS3-conversion of <a href="http://nyatla.jp/nyartoolkit/wiki/index.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://nyatla.jp/nyartoolkit/wiki/index.php');" title="NyARToolkit">NyARToolkit</a>, which in turn is a Java-conversion of the original <a href="http://www.hitl.washington.edu/artoolkit/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.hitl.washington.edu/artoolkit/');" title="ARToolkit">ARToolkit</a>, written in C. Having seen the FLARToolkit in use commercially (the <a href="http://ge.ecomagination.com/smartgrid/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://ge.ecomagination.com/smartgrid/');" title="GE SmartGrid">GE SmartGrid campaign</a> comes to mind), I find it pretty interesting that all uses of FLARToolkit are subject to the requirements of the <a href="http://www.hitl.washington.edu/artoolkit/license.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.hitl.washington.edu/artoolkit/license.html');" title="ARToolkit license">GPL license, originating from ARToolkit</a>. In particular, <strong>the license requires derived works to be fully open sourced.</strong>  Let&#8217;s see if we can get a client to accept that&#8230;</p>

<p>We will surely try to do something with the FLARToolkit, but we will be also looking at other, more light-weight approaches.</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/WynDlUznDpc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/02/09/examining-flartoolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/02/09/examining-flartoolkit/</feedburner:origLink></item>
		<item>
		<title>Flex – What is it good for?</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/qhGpchHDT6g/</link>
		<comments>http://www.nnyman.com/flash/2009/02/05/flex-what-is-it-good-for/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 20:32:38 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=40</guid>
		<description><![CDATA[Having spent the best part of the last six months delving head first in the world of Flex, I have to say I have not come to like it. Watching from the sidelines, someone might even think I despise it.

Nevertheless, I think there are projects where Flex could be the right choice:


Quick protos with absolutely [...]]]></description>
			<content:encoded><![CDATA[<p>Having spent the best part of the last six months delving head first in the world of <a href="http://www.adobe.com/products/flex/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.adobe.com/products/flex/');" title="Adobe - Flex 3">Flex</a>, I have to say I have not come to like it. Watching from the sidelines, someone might even think I despise it.</p>

<p>Nevertheless, I think there are projects where Flex could be the right choice:</p>

<ul>
<li><strong>Quick protos</strong> with absolutely no concern with looks and user experience. The &#8220;create a Flex app in 15 minutes&#8221; examples included in the documentation, the ones that make you feel all great about your newfound Flex programming skillz, fall into this category.</li>
<li><strong>Small to mid-size projects</strong> (say, up to 6 man-months), in which you can live with basic CSS skinning and with the short-comings of the Flex components, and with the mediocre user experience resulting from those choices.</li>
<li><strong>Very large projects</strong> (12+ man-months), where the extensive time investment required to fine-tune the looks and perfect the UX of Flex components is justified. These are mostly projects where Flex competes against DHTML rather than pure ActionScript solutions.</li>
</ul>

<p>This specifically leaves out the kind of projects we usually do: small to mid-size projects with great concern for aesthetics and user experience.</p>

<p>Well, a lesson learned (and an expensive one, if I may add).</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/qhGpchHDT6g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/02/05/flex-what-is-it-good-for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/02/05/flex-what-is-it-good-for/</feedburner:origLink></item>
		<item>
		<title>Signs of a good programmer</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/ZuaHW4xLr5E/</link>
		<comments>http://www.nnyman.com/flash/2009/01/18/signs-of-a-good-programmer/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 13:44:49 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=32</guid>
		<description><![CDATA[This is a re-post of my take on the interesting discussion on the signs of talent in programming at Stack Overflow.



Signs of a good programmer:


Ability to break down a problem into tasks.
Ability to estimate the time it takes to program and finish the tasks.
Actual time spent on tasks matches estimates very accurately. Personally I think [...]]]></description>
			<content:encoded><![CDATA[<p>This is a re-post of my take on the interesting <a href="http://stackoverflow.com/questions/453529/what-are-the-signs-of-talent-in-programming#453642" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://stackoverflow.com/questions/453529/what-are-the-signs-of-talent-in-programming#453642');" title="What are the signs of talent in programming? (on Stack Overflow)">discussion on the signs of talent in programming</a> at Stack Overflow.</p>

<hr />

<p>Signs of a good programmer:</p>

<ul>
<li><strong>Ability to break down a problem</strong> into tasks.</li>
<li><strong>Ability to estimate the time</strong> it takes to program and finish the tasks.</li>
<li><strong>Actual time spent on tasks matches estimates</strong> very accurately. Personally I think this might be one of the strongest signs of talent in programming; it also reflects the reality that a &#8220;good programmer&#8221; is only good if he knows the tools he&#8217;s working with.</li>
<li><strong>Ability to adjust their style of programming</strong>, from quick &amp; dirty to fully thought-out and documented (both styles have their time and place). </li>
<li>Related to the previous point is the <strong>ability to avoid overkill solutions</strong>, to know when a problem is best solved by programming in repetitive laundry lists, or when to build tools and additional complexity to handle the repetitive tasks for you.</li>
</ul>

<p>This goes for everyone who needs to collaborate, but is vital also for programmers:</p>

<ul>
<li>Ability to ask for advice, and quickly and understandably explain problems to others who have no clue about the context of the problem.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/ZuaHW4xLr5E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/01/18/signs-of-a-good-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/01/18/signs-of-a-good-programmer/</feedburner:origLink></item>
		<item>
		<title>E4X and automatic type conversion</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/k_hFhityrsI/</link>
		<comments>http://www.nnyman.com/flash/2009/01/16/e4x-and-automatic-type-conversion/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 06:03:12 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[E4X]]></category>
		<category><![CDATA[type conversion]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XMLList]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/?p=27</guid>
		<description><![CDATA[Using E4X can often get confusing. One of the design decisions made in the ECMA spec for E4X is automatic type conversion, which basically means that when you query XML for data, the result might act as if it was XML, XMLList, or String, or heck, even a Number if you throw in the additional [...]]]></description>
			<content:encoded><![CDATA[<p>Using E4X can often get confusing. One of the design decisions made in the <a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ecma-international.org/publications/standards/Ecma-357.htm');" title="ECMAScript for XML (E4X) Specification - Standard ECMA-357">ECMA spec for E4X</a> is <strong>automatic type conversion</strong>, which basically means that when you query XML for data, the result might act as if it was XML, XMLList, or String, or heck, even a Number if you throw in the additional automatic type conversions built into ActionScript.</p>

<p>To understand how E4X works, it is useful to remember that E4X is always <em>querying the data.</em> E4X is in fact searching the data for nodes and attributes, either by name or based on boolean rules. The queries can always result in zero or more matches, and the application will not know until a query has been executed. This is why E4X always returns an XMLList, even if there&#8217;s only one &#8220;hit&#8221; for the search. The automatic type conversion then ensures you can use the returned single item list as if it was an XML object.</p>

<p>This sounds all dandy &#8212; Flash is after all doing things for you, <em>automatically.</em> We think this is a bad idea though. <strong>The problem</strong> is that getting data in an unexpected type might break your application, the key word here being <em>might.</em> You never know, for the type conversion is <em>automatic</em> after all.</p>

<p>Here&#8217;s a <strong>good practice to avoid the worst pitfalls of automatic XML type conversion:</strong> Always use the array access operator [0] when you know you are accessing a single XML node in your data using E4X. To see what this means in practice, consider the following E4X statement which returns a list of id attribute values:</p>

<p><pre class="brush: js;">
configuration.wireframe.house..wall.(uint(@id) == 12).color.@id
</pre></p>

<p>&#8230;vs. the same, explicitly stating the single nodes accessed on the way:</p>

<p><pre class="brush: js;">
configuration.wireframe[0].house[0]..wall.(uint(@id) == 12)[0].color.@id
</pre></p>

<p>Putting the E4X full of [0]&#8217;s looks bad if you consider the readability of code in the same way as you consider the readability of a novel.</p>

<p>But it looks pretty good if you consider that <strong>code is more readable, when the workings of the code are clearly stated.</strong></p>

<p>If you&#8217;re left wondering, here&#8217;s what the above line of E4X does: We know there will be only one company node in our data, so we&#8217;re getting that XML node instead of all company nodes. There&#8217;s only one maskareas node, too, under the company node, so again, we&#8217;re explicitly getting the XML node, not a list of all found maskareas nodes. Then we access all palette descendants, whose id attribute matches 12 (everything you get out of XML is of type String, so @id is typecast into uint to allow for successful comparision). Again we know there&#8217;s only one matching palette, so we state in the code we want the first found match, not a list of matches. The last two &#8220;words&#8221; actually need to match multiple product nodes and their multiple ids.</p>

<hr />

<p>E4X resources:</p>

<ul>
<li><a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ecma-international.org/publications/standards/Ecma-357.htm');" title="ECMAScript for XML (E4X) Specification - Standard ECMA-357">ECMAScript for XML (E4X) Specification</a> (the spec is a 1.9MB PDF download)</li>
<li><a href="http://livedocs.adobe.com/flex/3/html/help.html?content=13_Working_with_XML_01.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://livedocs.adobe.com/flex/3/html/help.html?content=13_Working_with_XML_01.html');" title="The E4X approach to XML processing">The E4X approach to XML processing</a> (on Adobe Livedocs)</li>
<li><a href="https://developer.mozilla.org/en/E4X_tutorial" onclick="javascript:pageTracker._trackPageview('/outbound/article/https://developer.mozilla.org/en/E4X_tutorial');" title="Mozilla's E4X tutorial">Mozilla&#8217;s E4X tutorial</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/k_hFhityrsI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/01/16/e4x-and-automatic-type-conversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/01/16/e4x-and-automatic-type-conversion/</feedburner:origLink></item>
		<item>
		<title>Hello first time visitor!</title>
		<link>http://feedproxy.google.com/~r/RedbergRobotRepairs/~3/sts0K5llKCQ/</link>
		<comments>http://www.nnyman.com/flash/2009/01/07/hello-first-time-visitor/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 18:48:43 +0000</pubDate>
		<dc:creator>Niko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.nnyman.com/flash/2009/01/07/hello-first-time-visitor/</guid>
		<description><![CDATA[This is the blog of Redberg Robot Repairs, a company of two programmers who make code-heavy projects happen on the Adobe Flash Platform. To be honest, Redberg Robot Repairs (RRR to friends) is not really the name of the company, we just made it up because it sounds funny. And we did repair a robot once. If you [...]]]></description>
			<content:encoded><![CDATA[<p>This is the blog of <strong>Redberg Robot Repairs</strong>, a company of two programmers who make code-heavy projects happen on the <a id="v21z" title="Adobe Flash Platform" href="http://www.adobe.com/flashplatform/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.adobe.com/flashplatform/');">Adobe Flash Platform</a>. To be honest, Redberg Robot Repairs (RRR to friends) is not really the name of the company, we just made it up because it sounds funny. And we did repair a robot once. If you ever happen to receive an invoice from us, it will come from <a id="n8jd" title="N. Nyman Oy" href="http://www.nnyman.com" >N. Nyman Oy</a> instead.</p>

<p>So <strong>what do we do?</strong> We work for clients, either to given specifications, or more often by helping them design the spec according to their goals and requirements for maintainability. We love project management, and consistently deliver on time and within set budget (with our latest project being the exception which confirms this promise). But more than anything, we love a challenge. Especially when it doesn&#8217;t come prefixed with &#8220;time&#8221; or &#8220;money&#8221;.</p>

<p>We’re inspired by many things, of which we were quickly able to list the following:</p>

<ul>
    <li>Great user experiences — In fact, Niko sometimes goes around <a id="anky" title="talking about it" href="http://www.slideshare.net/spushnik/the-value-of-user-experience-from-web-20-expo-berlin-2009-presentation/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.slideshare.net/spushnik/the-value-of-user-experience-from-web-20-expo-berlin-2009-presentation/');">talking about it</a></li>
    <li>Space exploration and jet propulsion — What is there to explain?</li>
    <li>Sustainable living — Everyone should be inspired by sustainability, or this planet will break down soon.</li>
    <li>Generative visuals — Creating beautiful code that draws beautiful random things.</li>
    <li>Making things — We&#8217;ve made things out of wood, electronic components, and playdough, to name a few of our favourite ingredients.</li>
</ul>

<p><strong>This blog will be about our work:</strong> the things we create at our &#8220;office&#8221;, and especially the problems and a-ha&#8217;s we bump into while creating those things. Expect programming philosophy, ActionScript code, Flex agony, and pictures of electronic gadgets. Maybe an occasional &#8220;look what I can do&#8221; photo of wooden items thrown in.</p>

<p>So grab the <a id="mwmw" title="feed" href="http://feeds.feedburner.com/RedbergRobotRepairs" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://feeds.feedburner.com/RedbergRobotRepairs');">feed</a>, or <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2842927&amp;loc=en_US" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2842927&amp;loc=en_US');">subscribe by email</a> to always stay on top of the latest posts. Welcome!</p>
<img src="http://feeds.feedburner.com/~r/RedbergRobotRepairs/~4/sts0K5llKCQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nnyman.com/flash/2009/01/07/hello-first-time-visitor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.nnyman.com/flash/2009/01/07/hello-first-time-visitor/</feedburner:origLink></item>
	</channel>
</rss>
