<?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>Kiichigo Blog</title>
	<atom:link href="http://blog.kiichigo.eu/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.kiichigo.eu</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 12 Jul 2010 00:07:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>MVC with some AI</title>
		<link>http://blog.kiichigo.eu/?p=221</link>
		<comments>http://blog.kiichigo.eu/?p=221#comments</comments>
		<pubDate>Fri, 18 Jun 2010 09:10:56 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Abstract Ideas]]></category>
		<category><![CDATA[Agent0]]></category>
		<category><![CDATA[AgentSpeak(L)]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Prolog]]></category>
		<category><![CDATA[gui]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=221</guid>
		<description><![CDATA[Not long ago, I&#8217;ve started to develop Mate-like Event-Driven MVC+S framework. At the same time I was improving my AI skills with Scala, AgentSpeak(L) and Agent0. While I was developing FrontController I noticed that it&#8217;s has a lot in common with Agent – it has events, and events have to be handled[1], while it misses [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago, I&#8217;ve started to develop Mate-like Event-Driven MVC+S framework. At the same time I was improving my AI skills with Scala, AgentSpeak(L) and Agent0. While I was developing FrontController I noticed that it&#8217;s has a lot in common with Agent – it has events, and events have to be handled[1], while it misses Guards[2] and mailbox[3], it still have a lot in common with Agents.</p>
<p>Main difference between FrontController and Agent as I see it is Usage: Agent is an entity in some network, while FrontController is a bottle-neck in Application. What I wonder is – if I can meet this two concept, and look at application as a Neural Network. It might &#8220;learn&#8221; to adapt to concrete user ( via Cookies or Shared Objects ), or some user demographic ( via Server ).</p>
<p>So, that&#8217;s how your normal &#8220;mate-like&#8221; handling might look like:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Handle <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;{FlexEvent.CREATION_COMPLETE}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Preload <span style="color: #000066;">loadId</span>=<span style="color: #ff0000;">&quot;preload&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:styles<span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>ButtonStyles.swf<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>FolioStyles.swf<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>TextStyles.swf<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:styles<span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Get <span style="color: #000066;">service</span>=<span style="color: #ff0000;">&quot;{service}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:result<span style="font-weight: bold; color: black;">&gt;</span></span>
				<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Apply <span style="color: #000066;">source</span>=<span style="color: #ff0000;">&quot;{service.lastResult}&quot;</span>
							<span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{someModel}&quot;</span>
							<span style="color: #000066;">modelField</span>=<span style="color: #ff0000;">&quot;sourceField&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:result<span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:fault<span style="font-weight: bold; color: black;">&gt;</span></span>
				<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Log<span style="font-weight: bold; color: black;">/&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:fault<span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:Get<span style="font-weight: bold; color: black;">&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:Preload<span style="font-weight: bold; color: black;">&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:Handle<span style="font-weight: bold; color: black;">&gt;</span></span></pre></div>
<p>Handling with Guards might look more like if/else or case clauses:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Handle <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;{FlexEvent.CREATION_COMPLETE}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;handle</span>:Guard <span style="color: #000066;">condition</span>=<span style="color: #ff0000;">&quot;{isDebug();}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:Preload <span style="color: #000066;">loadId</span>=<span style="color: #ff0000;">&quot;preload&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kiichigo</span>:modules<span style="font-weight: bold; color: black;">&gt;</span></span>
				<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Preload some Debug module if in debug mode --&gt;</span></span>
				<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>DebugModule.swf<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/fx</span>:String<span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:modules<span style="font-weight: bold; color: black;">&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/handle</span>:Guard<span style="font-weight: bold; color: black;">&gt;</span></span>
	...
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kiichigo</span>:Handle<span style="font-weight: bold; color: black;">&gt;</span></span></pre></div>
<p>You can have as many Guards per handler as you want.</p>
<p>Next step is to think about and implement FrontController to FrontController communication protocol to make them look more like AI-Agents. ^_^ </p>
<p>That&#8217;s just an early idea, but it looks prommising. You can check pre-alpha source code at my git-hub: <a href="http://github.com/nirth/kiichigo-ria" target="_blank">nirth@github</a>.</p>
<p><em>[1] Granted, agent usually have more event types than a FrontController, events represented by Fact and a status ( +some( fact ), -some( fact ), +-some( fact ): fact added, fact deleted, fact updated ).<br />
[2]<a href="http://en.wikipedia.org/wiki/Guard_(computing)" target="_blank">Wiki:Guard</a>.<br />
[3]<a href="http://en.wikipedia.org/wiki/Mailbox_(computing)" target="_blank">Wiki:Mailbox</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=221</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Archive Service</title>
		<link>http://blog.kiichigo.eu/?p=219</link>
		<comments>http://blog.kiichigo.eu/?p=219#comments</comments>
		<pubDate>Fri, 30 Apr 2010 17:12:17 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Abstract Ideas]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[web2]]></category>
		<category><![CDATA[web_archive]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=219</guid>
		<description><![CDATA[I wish there would be a service, much like Web Archive, but much more user friendly. Say I&#8217;m writing some series of articles or a book. And I want to make a footnotes of references to other blogs, arcticles and such. I could point links via this abstract service, that would simply redirect me to [...]]]></description>
			<content:encoded><![CDATA[<p>I wish there would be a service, much like <a href="http://www.archive.org/web/web.php">Web Archive</a>, but much more user friendly. Say I&#8217;m writing some series of articles or a book. And I want to make a footnotes of references to other blogs, arcticles and such. I could point links via this abstract service, that would simply redirect me to page if it exists, or take it from it&#8217;s cache if page no longer available.</p>
<p>Please leave a comment or write me at nirth at kiichigo dot eu in case you know such service. And feel free to implement, if you looking for ideas for start-ups ^_^.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=219</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Light) Functional Programming in ActionScript</title>
		<link>http://blog.kiichigo.eu/?p=201</link>
		<comments>http://blog.kiichigo.eu/?p=201#comments</comments>
		<pubDate>Sat, 24 Apr 2010 19:02:34 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=201</guid>
		<description><![CDATA[I was working with Scala a lot lately, and I&#8217;m actually quite fond of Scala and Functional Programming. So I was wondering about bringing some of it to ActionScript. One of the things I do a lot, is add and remove event listeners, &#8220;useWeakReference&#8221; works in most cases. But in many cases I actually need [...]]]></description>
			<content:encoded><![CDATA[<p>I was working with Scala a lot lately, and I&#8217;m actually quite fond of Scala and Functional Programming. So I was wondering about bringing some of it to ActionScript. One of the things I do a lot, is add and remove event listeners, &#8220;useWeakReference&#8221; works in most cases. But in many cases I actually need control over it. Say we have a Component that loads images:</p>
<p>The OOP Way:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="actionscript">package
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">display</span></span>.<span style="color: #006600; font-family: monospace;">Loader</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">display</span></span>.<span style="color: #006600; font-family: monospace;">LoaderInfo</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> flash.<span style="color: #006600; font-family: monospace;">errors</span>.<span style="color: #006600; font-family: monospace;">IOError</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">Event</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">HTTPStatusEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">IOErrorEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">ProgressEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">net</span></span>.<span style="color: #006600; font-family: monospace;">URLRequest</span>;
	
	<span style="color: #0066CC; font-family: monospace;">import</span> mx.<span style="color: #006600; font-family: monospace;">core</span>.<span style="color: #006600; font-family: monospace;">UIComponent</span>;
	
<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">class</span> Pic <span style="color: #0066CC; font-family: monospace;">extends</span> UIComponent
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> Pic<span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #0066CC; font-family: monospace;">super</span><span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> <span style="color: #0066CC; font-family: monospace;">load</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">url</span>:<span style="color: #0066CC; font-family: monospace;">String</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> loader:Loader = Loader;
			addListeners<span style="color: #66cc66; font-family: monospace;">&#40;</span> loader.<span style="color: #006600; font-family: monospace;">contentLoaderInfo</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
			loader.<span style="color: #0066CC; font-family: monospace;">load</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">new</span> URLRequest<span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">url</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> addListeners<span style="color: #66cc66; font-family: monospace;">&#40;</span> loaderInfo:LoaderInfo <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">addEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> Event.<span style="color: #006600; font-family: monospace;">COMPLETE</span>, handleComplete <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">addEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> Event.<span style="color: #006600; font-family: monospace;">INIT</span>, handleInit <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">addEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> HTTPStatusEvent.<span style="color: #006600; font-family: monospace;">HTTP_STATUS</span>, handleStatus <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">addEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> ProgressEvent.<span style="color: #006600; font-family: monospace;">PROGRESS</span>, handleProgress <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">addEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> IOErrorEvent.<span style="color: #006600; font-family: monospace;">IO_ERROR</span>, handleIOError <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> removeListeners<span style="color: #66cc66; font-family: monospace;">&#40;</span> loader:Loader <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> Event.<span style="color: #006600; font-family: monospace;">COMPLETE</span>, handleComplete <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> Event.<span style="color: #006600; font-family: monospace;">INIT</span>, handleInit <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> HTTPStatusEvent.<span style="color: #006600; font-family: monospace;">HTTP_STATUS</span>, handleStatus <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> ProgressEvent.<span style="color: #006600; font-family: monospace;">PROGRESS</span>, handleProgress <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		loaderInfo.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> IOErrorEvent.<span style="color: #006600; font-family: monospace;">IO_ERROR</span>, handleIOError <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handleComplete<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:Event <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handleInit<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:Event <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		removeListeners<span style="color: #66cc66; font-family: monospace;">&#40;</span> event.<span style="color: #0066CC; font-family: monospace;">target</span> as LoaderInfo <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handleStatus<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:HTTPStatusEvent <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handleProgress<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:ProgressEvent <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handleIOError<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:IOError <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		removeListeners<span style="color: #66cc66; font-family: monospace;">&#40;</span> event.<span style="color: #0066CC; font-family: monospace;">target</span> as LoaderInfo <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span></pre></div>
<p>However Functional approach (as much as ActionScript allows Functional Programming) would look like this without adding any extra code:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="actionscript">package
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">display</span></span>.<span style="color: #006600; font-family: monospace;">Loader</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">display</span></span>.<span style="color: #006600; font-family: monospace;">LoaderInfo</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> flash.<span style="color: #006600; font-family: monospace;">errors</span>.<span style="color: #006600; font-family: monospace;">IOError</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">Event</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">HTTPStatusEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">IOErrorEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">ProgressEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">net</span></span>.<span style="color: #006600; font-family: monospace;">URLRequest</span>;
	
	<span style="color: #0066CC; font-family: monospace;">import</span> mx.<span style="color: #006600; font-family: monospace;">core</span>.<span style="color: #006600; font-family: monospace;">UIComponent</span>;
	
<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">class</span> Pic <span style="color: #0066CC; font-family: monospace;">extends</span> UIComponent
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> Pic<span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #0066CC; font-family: monospace;">super</span><span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> <span style="color: #0066CC; font-family: monospace;">load</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">url</span>:<span style="color: #0066CC; font-family: monospace;">String</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> loader:Loader = Loader;
			listen<span style="color: #66cc66; font-family: monospace;">&#40;</span> loader.<span style="color: #006600; font-family: monospace;">contentLoaderInfo</span>.<span style="color: #0066CC; font-family: monospace;">addEventListener</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
			loader.<span style="color: #0066CC; font-family: monospace;">load</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">new</span> URLRequest<span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">url</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> listen<span style="color: #66cc66; font-family: monospace;">&#40;</span> closure:<span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		closurer<span style="color: #66cc66; font-family: monospace;">&#40;</span> Event.<span style="color: #006600; font-family: monospace;">COMPLETE</span>, handle <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		closure<span style="color: #66cc66; font-family: monospace;">&#40;</span> Event.<span style="color: #006600; font-family: monospace;">INIT</span>, handle <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		closure<span style="color: #66cc66; font-family: monospace;">&#40;</span> HTTPStatusEvent.<span style="color: #006600; font-family: monospace;">HTTP_STATUS</span>, handle <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		closure<span style="color: #66cc66; font-family: monospace;">&#40;</span> ProgressEvent.<span style="color: #006600; font-family: monospace;">PROGRESS</span>, handle <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		closurer<span style="color: #66cc66; font-family: monospace;">&#40;</span> IOErrorEvent.<span style="color: #006600; font-family: monospace;">IO_ERROR</span>, handle <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handle<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:Event <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #b1b100; font-family: monospace;">switch</span>
		<span style="color: #66cc66; font-family: monospace;">&#123;</span>
			<span style="color: #b1b100; font-family: monospace;">case</span> Event.<span style="color: #006600; font-family: monospace;">COMPLETE</span>;
				listen<span style="color: #66cc66; font-family: monospace;">&#40;</span> event.<span style="color: #0066CC; font-family: monospace;">target</span>.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
				<span style="color: #b1b100; font-family: monospace;">break</span>;
			<span style="color: #b1b100; font-family: monospace;">case</span> Event.<span style="color: #006600; font-family: monospace;">INIT</span>:
				<span style="color: #b1b100; font-family: monospace;">break</span>;
			<span style="color: #b1b100; font-family: monospace;">case</span> IOErrorEvent.<span style="color: #006600; font-family: monospace;">IO_ERROR</span>:
				listen<span style="color: #66cc66; font-family: monospace;">&#40;</span> event.<span style="color: #0066CC; font-family: monospace;">target</span>.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
				<span style="color: #b1b100; font-family: monospace;">break</span>;
		<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span></pre></div>
<p>This approach has some huge advantages over pure OOP approach, first one – we have control over added and removed handlers. In pure OOP approach, it is possible to forget about removing one or more events, while in Functional approach &#8211; we make sure that what&#8217;s added &#8211; that&#8217;s removed. So I decided to create a small utility:</p>
<p>listen.as</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="actionscript"><span style="color: #808080; font-style: italic; font-family: monospace;">/*
The MIT License
&nbsp;
Copyright (c) 2010 David Sergey, nirth@fouramgames.com, nirth.furzahad@gmail.com
&nbsp;
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the &quot;Software&quot;), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
&nbsp;
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
&nbsp;
THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/</span>
package kii.<span style="color: #006600; font-family: monospace;">utils</span>
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> listen<span style="color: #66cc66; font-family: monospace;">&#40;</span> closure:<span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span>, ...<span style="color: #006600; font-family: monospace;">rest</span>:* <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> i:uint = <span style="color: #cc66cc; font-family: monospace;">0</span>;
		<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> l:uint = rest.<span style="color: #0066CC; font-family: monospace;">length</span>;
		<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> args:<span style="color: #0066CC; font-family: monospace;">Array</span> = <span style="color: #66cc66; font-family: monospace;">&#91;</span><span style="color: #66cc66; font-family: monospace;">&#93;</span>;
		
		<span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> rest<span style="color: #66cc66; font-family: monospace;">&#91;</span>l - <span style="color: #cc66cc; font-family: monospace;">3</span><span style="color: #66cc66; font-family: monospace;">&#93;</span> is <span style="color: #0066CC; font-family: monospace;">Boolean</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
			args = rest.<span style="color: #0066CC; font-family: monospace;">splice</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #cc66cc; font-family: monospace;">-3</span>, <span style="color: #cc66cc; font-family: monospace;">3</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		<span style="color: #b1b100; font-family: monospace;">else</span> <span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> rest<span style="color: #66cc66; font-family: monospace;">&#91;</span>l - <span style="color: #cc66cc; font-family: monospace;">2</span><span style="color: #66cc66; font-family: monospace;">&#93;</span> is <span style="color: #0066CC; font-family: monospace;">Boolean</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
			args = rest.<span style="color: #0066CC; font-family: monospace;">splice</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #cc66cc; font-family: monospace;">-2</span>, <span style="color: #cc66cc; font-family: monospace;">2</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		<span style="color: #b1b100; font-family: monospace;">else</span> <span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> rest<span style="color: #66cc66; font-family: monospace;">&#91;</span>l - <span style="color: #cc66cc; font-family: monospace;">1</span><span style="color: #66cc66; font-family: monospace;">&#93;</span> is <span style="color: #0066CC; font-family: monospace;">Boolean</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
			args = rest.<span style="color: #0066CC; font-family: monospace;">splice</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #cc66cc; font-family: monospace;">-1</span>, <span style="color: #cc66cc; font-family: monospace;">1</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		
		<span style="color: #0066CC; font-family: monospace;">log</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #ff0000; font-family: monospace;">'args:'</span>, args <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		<span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> closure.<span style="color: #0066CC; font-family: monospace;">length</span> == <span style="color: #cc66cc; font-family: monospace;">3</span> &amp;&amp; args.<span style="color: #0066CC; font-family: monospace;">length</span> &gt; <span style="color: #cc66cc; font-family: monospace;">1</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
			args = <span style="color: #66cc66; font-family: monospace;">&#91;</span>args<span style="color: #66cc66; font-family: monospace;">&#91;</span><span style="color: #cc66cc; font-family: monospace;">0</span><span style="color: #66cc66; font-family: monospace;">&#93;</span><span style="color: #66cc66; font-family: monospace;">&#93;</span>;
		
		<span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> rest<span style="color: #66cc66; font-family: monospace;">&#91;</span><span style="color: #cc66cc; font-family: monospace;">0</span><span style="color: #66cc66; font-family: monospace;">&#93;</span> is <span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
			<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> handler:<span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span> = rest.<span style="color: #006600; font-family: monospace;">shift</span><span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>;
&nbsp;
		<span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> handler as <span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>	<span style="color: #808080; font-style: italic; font-family: monospace;">//We assuming that all Events have one Handler</span>
			<span style="color: #b1b100; font-family: monospace;">for</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> i = <span style="color: #cc66cc; font-family: monospace;">0</span>; i &lt; rest.<span style="color: #0066CC; font-family: monospace;">length</span>; i ++ <span style="color: #66cc66; font-family: monospace;">&#41;</span>
				closure.<span style="color: #0066CC; font-family: monospace;">apply</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">null</span>, <span style="color: #66cc66; font-family: monospace;">&#91;</span> rest<span style="color: #66cc66; font-family: monospace;">&#91;</span>i<span style="color: #66cc66; font-family: monospace;">&#93;</span>, handler <span style="color: #66cc66; font-family: monospace;">&#93;</span>.<span style="color: #0066CC; font-family: monospace;">concat</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> args <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		<span style="color: #b1b100; font-family: monospace;">else</span>						<span style="color: #808080; font-style: italic; font-family: monospace;">//Else we asume that arguments are passed in a way [event, handler, event, handler]</span>
			<span style="color: #b1b100; font-family: monospace;">for</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> i = <span style="color: #cc66cc; font-family: monospace;">0</span>; i &lt; rest.<span style="color: #0066CC; font-family: monospace;">length</span>; i += <span style="color: #cc66cc; font-family: monospace;">2</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
				closure.<span style="color: #0066CC; font-family: monospace;">apply</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">null</span>, <span style="color: #66cc66; font-family: monospace;">&#91;</span>rest<span style="color: #66cc66; font-family: monospace;">&#91;</span>i<span style="color: #66cc66; font-family: monospace;">&#93;</span>, rest<span style="color: #66cc66; font-family: monospace;">&#91;</span>i + <span style="color: #cc66cc; font-family: monospace;">1</span><span style="color: #66cc66; font-family: monospace;">&#93;</span><span style="color: #66cc66; font-family: monospace;">&#93;</span>.<span style="color: #0066CC; font-family: monospace;">concat</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> args <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span></pre></div>
<p>switcher.as</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="actionscript"><span style="color: #808080; font-style: italic; font-family: monospace;">/*
The MIT License
&nbsp;
Copyright (c) 2010 David Sergey, nirth@fouramgames.com, nirth.furzahad@gmail.com
&nbsp;
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the &quot;Software&quot;), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
&nbsp;
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
&nbsp;
THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/</span>
package kii.<span style="color: #006600; font-family: monospace;">utils</span>
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">IEventDispatcher</span>;
	<span style="color: #808080; font-style: italic; font-family: monospace;">/**
	 *
	 * @example	
	 * &lt;code&gt;
	 * 	var listen:Function = switcher( this, handle, FlexEvent.CREATION_COMPLETE, FlexEvent.PREINITIALIZE, FlexEvent.INITIALIZE );
			listen( true );		//Adds listener &quot;handle&quot; to CREATION_COMPLETE, PREINITIALIZE, INITIALIZE events
			listen( false );	//Removes them
			//Or
			var listen:Function = switcher( this, FlexEvent.CREATION_COMPLETE, handleCreationComplete,
												  FlexEvent.PREINITIALIZE, handlePreInitialize,
												  FlexEvent.INITIALIZE, handleInitialize,
												  false, 0, true ); //capture = false, priority = 0, weakReference = true
				listen( true );		//Adds handleCreationComplete =&gt; CREATION_COMPLETE, handlePreInitialize =&gt; PREINITIALIZE etc.
				listen( false );	//Removes them 
	 */</span>
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> switcher<span style="color: #66cc66; font-family: monospace;">&#40;</span> dispatcher:IEventDispatcher, ...<span style="color: #006600; font-family: monospace;">rest</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #b1b100; font-family: monospace;">return</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">add</span>:<span style="color: #0066CC; font-family: monospace;">Boolean</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
		<span style="color: #66cc66; font-family: monospace;">&#123;</span>
			<span style="color: #b1b100; font-family: monospace;">if</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">add</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>
				listen.<span style="color: #0066CC; font-family: monospace;">apply</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">null</span>, <span style="color: #66cc66; font-family: monospace;">&#91;</span>dispatcher.<span style="color: #0066CC; font-family: monospace;">addEventListener</span><span style="color: #66cc66; font-family: monospace;">&#93;</span>.<span style="color: #0066CC; font-family: monospace;">concat</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> rest <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
			<span style="color: #b1b100; font-family: monospace;">else</span>
				listen.<span style="color: #0066CC; font-family: monospace;">apply</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">null</span>, <span style="color: #66cc66; font-family: monospace;">&#91;</span>dispatcher.<span style="color: #0066CC; font-family: monospace;">removeEventListener</span><span style="color: #66cc66; font-family: monospace;">&#93;</span>.<span style="color: #0066CC; font-family: monospace;">concat</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> rest <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		<span style="color: #66cc66; font-family: monospace;">&#125;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span></pre></div>
<p>Now code will look like:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="actionscript">package
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">display</span></span>.<span style="color: #006600; font-family: monospace;">Loader</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">display</span></span>.<span style="color: #006600; font-family: monospace;">LoaderInfo</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> flash.<span style="color: #006600; font-family: monospace;">errors</span>.<span style="color: #006600; font-family: monospace;">IOError</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">Event</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">HTTPStatusEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">IOErrorEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">events</span></span>.<span style="color: #006600; font-family: monospace;">ProgressEvent</span>;
	<span style="color: #0066CC; font-family: monospace;">import</span> <span style="color: #0066CC; font-family: monospace;">flash.<span style="color: #006600; font-family: monospace;">net</span></span>.<span style="color: #006600; font-family: monospace;">URLRequest</span>;
	
	<span style="color: #0066CC; font-family: monospace;">import</span> kii.<span style="color: #006600; font-family: monospace;">utils</span>.<span style="color: #006600; font-family: monospace;">switcher</span>;
	
	<span style="color: #0066CC; font-family: monospace;">import</span> mx.<span style="color: #006600; font-family: monospace;">core</span>.<span style="color: #006600; font-family: monospace;">UIComponent</span>;
	
<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">class</span> Pic <span style="color: #0066CC; font-family: monospace;">extends</span> UIComponent
<span style="color: #66cc66; font-family: monospace;">&#123;</span>
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> switcher:<span style="color: #000000; font-weight: bold; font-family: monospace;">Function</span>;
	
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> Pic<span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #0066CC; font-family: monospace;">super</span><span style="color: #66cc66; font-family: monospace;">&#40;</span><span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">public</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> <span style="color: #0066CC; font-family: monospace;">load</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">url</span>:<span style="color: #0066CC; font-family: monospace;">String</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #000000; font-weight: bold; font-family: monospace;">var</span> loader:Loader = Loader;
			loader.<span style="color: #0066CC; font-family: monospace;">load</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">new</span> URLRequest<span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">url</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		switcher = kii.<span style="color: #006600; font-family: monospace;">utils</span>.<span style="color: #006600; font-family: monospace;">switcher</span><span style="color: #66cc66; font-family: monospace;">&#40;</span> loader.<span style="color: #006600; font-family: monospace;">contentLoaderInfo</span>, handle,
									   Event.<span style="color: #006600; font-family: monospace;">COMPLETE</span>, Event.<span style="color: #006600; font-family: monospace;">INIT</span>, HTTPStatusEvent.<span style="color: #006600; font-family: monospace;">HTTP_STATUS</span>, IOErrorEvent.<span style="color: #006600; font-family: monospace;">IO_ERROR</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
		switcher<span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #0066CC; font-family: monospace;">add</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	
	<span style="color: #0066CC; font-family: monospace;">protected</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">function</span> handle<span style="color: #66cc66; font-family: monospace;">&#40;</span> event:Event <span style="color: #66cc66; font-family: monospace;">&#41;</span>:<span style="color: #0066CC; font-family: monospace;">void</span>
	<span style="color: #66cc66; font-family: monospace;">&#123;</span>
		<span style="color: #b1b100; font-family: monospace;">switch</span>
		<span style="color: #66cc66; font-family: monospace;">&#123;</span>
			<span style="color: #b1b100; font-family: monospace;">case</span> Event.<span style="color: #006600; font-family: monospace;">COMPLETE</span>;
				<span style="color: #b1b100; font-family: monospace;">break</span>;
			<span style="color: #b1b100; font-family: monospace;">case</span> Event.<span style="color: #006600; font-family: monospace;">INIT</span>:
				switcher<span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">false</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
				<span style="color: #b1b100; font-family: monospace;">break</span>;
			<span style="color: #b1b100; font-family: monospace;">case</span> IOErrorEvent.<span style="color: #006600; font-family: monospace;">IO_ERROR</span>:
				switcher<span style="color: #66cc66; font-family: monospace;">&#40;</span> <span style="color: #000000; font-weight: bold; font-family: monospace;">false</span> <span style="color: #66cc66; font-family: monospace;">&#41;</span>;
				<span style="color: #b1b100; font-family: monospace;">break</span>;
		<span style="color: #66cc66; font-family: monospace;">&#125;</span>
	<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span>
<span style="color: #66cc66; font-family: monospace;">&#125;</span></pre></div>
<p>Utility <code>kii.utils.switcher</code> will create a function that can add and remove event listeners to <code>IEventDispatcher</code> instance. Syntax is quite simple it&#8217;s either:<br/><br />
<code>switcher( IEventDispatcher, myHandlerForAllEvents, 'firstEvent', 'secondEvent', 'thirdEvent' );</code><br/><br />
Or you can pass individual handlers:<br />
<code>switcher( IEventDispatcher, 'firstEvent', firstEventHandler, 'secondEvent', secondEventHandler );</code><br/><br />
capture phase, priority and weak reference also available:<br/><br />
<code>switcher( IEventDispatcher, myHandlerForAllEvents, 'firstEvent', 'secondEvent', true, 0, true );</code><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=201</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game as a Platform</title>
		<link>http://blog.kiichigo.eu/?p=198</link>
		<comments>http://blog.kiichigo.eu/?p=198#comments</comments>
		<pubDate>Thu, 15 Apr 2010 00:18:21 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[GameDev]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=198</guid>
		<description><![CDATA[May publishers concerned about second hand games, EA tries to pull some solutions like Cerberus Network (for Mass Effect) and other day-one DLCs, that should make people want to buy new game for €50 instead of older one for say €15-30. I was thinking about re-inventing Expansion Packs, yeah good old Expansion Packs, not this [...]]]></description>
			<content:encoded><![CDATA[<p>May publishers concerned about second hand games, EA tries to pull some solutions like Cerberus Network (for Mass Effect) and other day-one DLCs, that should make people want to buy new game for €50 instead of older one for say €15-30.</p>
<p>I was thinking about re-inventing Expansion Packs, yeah good old Expansion Packs, not this 2-5 hours DLCs, but full blown expansion packs. But then we could go a bit further.</p>
<p>Say we release something like BioWare&#8217;s Mass Effect, or Bethesda&#8217;s Fallout 3, which is FPS/RPG, for convenience let&#8217;s call it <em>Platform Game</em> (not platformer) because we&#8217;ll use this game as a Platform for others. Then we could release another game, based on , which will be able to run stand-alone say for €35 or users might buy Expansion (Plugin) for <em>Platform</em> for €25. Prices are rather Abstract, but this Expansion/Plugin games will be standing somewhere in a middle between DLCs and Full games. The don&#8217;t have to follow story or concept, just share graphics and some gameplay features with Platform. We could base Adventure/RPG Plugin on FPS/RPG Platform for example.</p>
<p>Of course another way to make players benefit from buying new games is to include something useful. Say we could use CloudComputing for AIs instead of Consoles/PCs CPUs. If you bought used you&#8217;ll stuck with &#8220;standart AI&#8221; but those who bought new, can use ever-evelolving cloud AI. But this should be optional, I hate and definitely won&#8217;t buy single player game that requires Internet connection to even start it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=198</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RESTful (Prototyping) Framework</title>
		<link>http://blog.kiichigo.eu/?p=184</link>
		<comments>http://blog.kiichigo.eu/?p=184#comments</comments>
		<pubDate>Mon, 26 Oct 2009 23:15:54 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[REST(ful)]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=184</guid>
		<description><![CDATA[That was a long long time since I wrote something about Flex, But looks like I found some time for both Game and RIA industries. I want to share some of my RESTful client library ideas and concepts. I&#8217;m trying to build something very laconic, light and still powerful to connect to various REST Services. [...]]]></description>
			<content:encoded><![CDATA[<p>That was a long long time since I wrote something about Flex, But looks like I found some time for both Game and RIA industries.</p>
<p>I want to share some of my RESTful client library ideas and concepts. I&#8217;m trying to build something very laconic, light and still powerful to connect to various REST Services.</p>
<p><em>Please note, current version is PREVIEW, which means far before ALPHA, I&#8217;m just trying around some stuff, can be not pretty.</em></p>
<p>So, here is how I want this stuff to work:<br/><br />
Let&#8217;s say we have imaginary Social Network, with following REST Operations:</p>
<ul>
<li>http://api.socnet.com/users/search</li>
<li>http://api.socnet.com/users/show</li>
<li>http://api.socnet.com/users/friends/list</li>
<li>http://api.socnet.com/photos/new_ones</li>
</ul>
<p>I can build (IMO) pretty Service structure right in MXML:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;fx</span>:Declarations<span style="font-weight: bold; color: black;">&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kii</span>:Service <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;main&quot;</span> <span style="color: #000066;">endPoint</span>=<span style="color: #ff0000;">&quot;http://api.socnet.com/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kii</span>:Service <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;users&quot;</span> <span style="color: #000066;">endPoint</span>=<span style="color: #ff0000;">&quot;users&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kii</span>:Service <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;friends&quot;</span> <span style="color: #000066;">endPoint</span>=<span style="color: #ff0000;">&quot;friends&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kii</span>:Service<span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;kii</span>:Service <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;photos&quot;</span> <span style="color: #000066;">endPoint</span>=<span style="color: #ff0000;">&quot;photos&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/kii</span>:Service<span style="font-weight: bold; color: black;">&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/fx</span>:Declarations<span style="font-weight: bold; color: black;">&gt;</span></span></pre></div>
<p>And then access it simly like this:</p>
<div style="background-color: White; margin:0px; padding:6px; border:1px inset; width:95%; height:auto; overflow:auto"><pre class="php">users.post<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'show'</span>, <span style="color: #66cc66;">&#123;</span>some_param: someParam<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
fiends.get<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'list'</span><span style="color: #66cc66;">&#41;</span>;
photos.get<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'new_ones'</span>, <span style="color: #66cc66;">&#123;</span>limit: <span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></div>
<p>Later on I can extend Service classes to include concrete methods like <code>Users.list()</code> and <code>Users.update();</code> but framework is ready to use and might be much more useful than HTTPService right out of box. Again I&#8217;m not sure whether I will be using this framework for prototypes only or for release projects too.</p>
<p>You can get source code and binaries from <a href="http://code.google.com/p/kii-framework/">Google Code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=184</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sandbox Action RPG.</title>
		<link>http://blog.kiichigo.eu/?p=166</link>
		<comments>http://blog.kiichigo.eu/?p=166#comments</comments>
		<pubDate>Fri, 08 May 2009 14:20:28 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[console games]]></category>
		<category><![CDATA[Game Concept]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=166</guid>
		<description><![CDATA[Concept Genre: Action RPG, Sandbox. Online: Cooperative, Pop-in. Inspiration: GTA, Alpha Protocol Trailers, Fallout, FarCry 2. Setting Time: 2018-2024. Tone: Game should throw protagonist from cynical to idealistic choices. And lots of dark humor =). Somewhere in Middle-East, maybe Iraq, or some other bombed country. America and NATO moved somewhere else. Only forces present is [...]]]></description>
			<content:encoded><![CDATA[<h4>Concept</h4>
<p><strong>Genre:</strong> Action RPG, Sandbox.<br />
<strong>Online:</strong> Cooperative, Pop-in.<br />
<strong>Inspiration:</strong> GTA, Alpha Protocol Trailers, Fallout, FarCry 2.</p>
<h4>Setting</h4>
<p><strong>Time</strong>: 2018-2024.<br />
<strong>Tone:</strong> Game should throw protagonist from cynical to idealistic choices. And lots of dark humor =).<br />
Somewhere in Middle-East, maybe Iraq, or some other bombed country. America and NATO moved somewhere else. Only forces present is random <a href="http://en.wikipedia.org/wiki/Private_military_contractor">PMCs</a>, small contingent of so-called-peace-keepers from Russia, some more so-called-peace-keepers from China, corrupt Iraq military and bunch of religious fanatics here and there. This parties does not confront each other openly, they rather use Cold War like strategy, to use a lot of indirect proxies to do their bidding. What a nice place to live.</p>
<p>Maybe it could be even funnier to play, if we can add some religious piligrims from all over the world, starting from Buddhism and even Scientology 0_o.</p>
<p>Player is journalist from neutral country like Swiss, or maybe some weak country that did not played any role in ME like Macedonia or Montenegro. Player can choose his agenda from some presets: save sex partner, investigate friends death, steal some money and transfer them to offshore, help transport cocaine to Moscow and Europe etc.</p>
<h4>Gameplay</h4>
<p>Player can change his or her goals any time. Protagonist can become Idealist or Cynic, or whatever player wants. Somewhere in a middle of a game, or near end Protangonist may be able to create and maintain his own stronghold.</p>
<p>Player also can go to confrontation hot spots, and join one of the sides, or snipe both sides. I&#8217;m not sure what&#8217;s would be the motivation yet though. Maybe some side bonuses and/or side quests, or to improve Sandbox feeling.</p>
<p>RPG System divided in three circles: Skills, Knowledge and Feats.<br />
<strong>Skills:</strong> Good old skills, drop points here to improve your shooting, ducking, swimming, jumping etc.<br />
<strong>Feats:</strong> Add feats to learn more stuff, you can futher improve quality of feats by putting skill points in them.<br />
<strong>Knowledge:</strong> My favorite part. Knowledge will allow you to open more dialog option, blend in different anclaves, for example you can try to infiltrate russian moonshine factory if you have enough knowledge in chemistry, cooking and humor, or newly build Synagogue with exceptional knowledge Jewish History and Judaism.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=166</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GameLinkRoundUp</title>
		<link>http://blog.kiichigo.eu/?p=161</link>
		<comments>http://blog.kiichigo.eu/?p=161#comments</comments>
		<pubDate>Thu, 07 May 2009 23:25:24 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[GameDev]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=161</guid>
		<description><![CDATA[Game Reviews, Articles and News KotakuRSS&#124;Twitter &#8211; Game Blog, the best one. EuroGamerRSS&#124;RSS:News&#124;RSS:Reviews&#124;Twitter&#124;Twitter:Reviews &#8211; Reviews with actual critics. GameTrailersTwitter &#8211; Video Reviews, you can listen to them while doing some work . Zero PunctuationRSS&#124;Twitter &#8211; Good critical review once a week. The Escapist MagazineRSS&#124;Twitter &#8211; Tons of interesting articles about games, quite interesting points of [...]]]></description>
			<content:encoded><![CDATA[<h4>Game Reviews, Articles and News</h4>
<p><a href="http://www.kotaku.com">Kotaku</a><sup><a href="feed://kotaku.com/index.xml">RSS</a>|<a href="http://twitter.com/Kotaku">Twitter</a></sup> &ndash; Game Blog, the best one.<br />
<a href="http://www.eurogamer.net">EuroGamer</a><sup><a href="feed://www.eurogamer.net/rss/eurogamer_frontpage_feed.rss">RSS</a>|<a href="feed://www.eurogamer.net/rss/eurogamer_news_feed.rss">RSS:News</a>|<a href="feed://www.eurogamer.net/rss/eurogamer_review_feed.rss">RSS:Reviews</a>|<a href="http://twitter.com/eurogamer_net">Twitter</a>|<a href="http://twitter.com/eg_reviews">Twitter:Reviews</a></sup> &ndash; Reviews with actual critics.<br />
<a href="http://www.gametrailers.com">GameTrailers</a><sup><a href="http://twitter.com/GameTrailers">Twitter</a></sup> &ndash; Video Reviews, you can listen to them while doing some work <img src='http://blog.kiichigo.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .<br />
<a href="http://www.escapistmagazine.com/videos/view/zero-punctuation">Zero Punctuation</a><sup><a href="feed://www.escapistmagazine.com/rss/videos/list/1.xml">RSS</a>|<a href="http://twitter.com/zeropunctuation">Twitter</a></sup> &ndash; Good critical review once a week.<br />
<a href="http://www.escapistmagazine.com/">The Escapist Magazine</a><sup><a href="feed://www.escapistmagazine.com/rss/news">RSS</a>|<a href="http://twitter.com/TheEscapistMag">Twitter</a></sup> &ndash; Tons of interesting articles about games, quite interesting points of view too.</p>
<h4>About Game Dev</h4>
<p><a href="http://www.gamasutra.com/">GamaSutra</a><sup><a href="feed://feeds.feedburner.com/GamasutraNews/">RSS:News</a>|<a href="feed://feeds.feedburner.com/GamasutraFeatureArticles/">RSS:Articles</a>| <a href="feed://feeds.feedburner.com/GamasutraColumns/">RSS:Columns</a></sup> &ndash; Just go there, don&#8217;t ask.<br />
<a href="http://www.onnetworks.com/videos/play-value">PlayValue Video Podcast</a><sup><a href="http://www.onnetworks.com/feeds/1460/video/rss.xml?target=site">RSS</a>|<a href="http://www.onnetworks.com/redir.php?event=link_click&#038;dest=_ONN_http%3A%2F%2Fphobos.apple.com%2FWebObjects%2FMZStore.woa%2Fwa%2FviewPodcast%3Fid%3D261145890_ONN_&#038;wrap_url_nid=1460">iTunes HD</a></sup> &ndash; One of the best podcasts about game history, also available in HD. Unfortunately hosts don&#8217;t update it since 2008.<br />
<a href="http://www.gamecareerguide.com/">GameCareerGuide</a><sup><a href="feed://feeds.feedburner.com/GameCareerGuideNews/">RSS:News</a>|<a href="feed://feeds.feedburner.com/GameCareerGuideFeatures/">RSS:Articles</a></sup> &ndash; Nice Articles.</p>
<h4>Publishers, Shops and Services</h4>
<p><a href="http://store.steampowered.com/">Steam</a><sup><a href="http://twitter.com/SteamPowered">Twitter</a></sup> &ndash; &#8211; Valve&#8217;s Steam.<br />
<a href="http://www.gog.com/en/frontpage/">Good Old Games</a><sup><a href="feed://www.gog.com/en/frontpage/rss">RSS</a></sup> &ndash; Get a fix for your nostalgia, get good old games <img src='http://blog.kiichigo.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> **.<br />
<a href="http://www.EA.com/">EA</a><sup><a href="http://twitter.com/EA">Twitter</a></sup> &ndash; I still think they are evil <img src='http://blog.kiichigo.eu/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .
</p>
<h4>People might be interested in</h4>
<p><a href="http://www.gameslice.com/">Geoff Keighley</a><sup><a href="http://twitter.com/geoffkeighley">Twitter</a></sup> &ndash; GTTV and Bonus Round Host.<br />
<a href="http://www.blog.newsweek.com/blogs/levelup/default.aspx">N&#8217;Gai Croal</a><sup><a href="http://twitter.com/ncroal">Twitter</a></sup> &ndash; I&#8217;m not really sure who the hell is he.</p>
<p>
<em>* Yeah I know &ndash; I <strong>forgot</strong> to mention GameSpot, IGN and other shitty game sites.</em><br />
<em>** In case it&#8217;s not yet copyrighted, I&#8217;m copyrighting in right now and here!.</em><br />
<em>*** Twitter does not pay me yet, I just find it useful for me.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=161</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Motion Sensors for PlayStation 3 and XBox 360</title>
		<link>http://blog.kiichigo.eu/?p=159</link>
		<comments>http://blog.kiichigo.eu/?p=159#comments</comments>
		<pubDate>Sat, 02 May 2009 00:08:51 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=159</guid>
		<description><![CDATA[Rumors about PlayStation 3 and about XBox 360, can&#8217;t wait for E3 =)]]></description>
			<content:encoded><![CDATA[<p>Rumors <a href="http://kotaku.com/5235112/report-sony-to-debut-new-motion+sensing-controller">about PlayStation 3</a> and <http://kotaku.com/5236404/microsofts-full-body-motion-controller-revealed>about XBox 360</a>, can&#8217;t wait for E3 =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=159</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Letter to Consoles Manufacturers</title>
		<link>http://blog.kiichigo.eu/?p=153</link>
		<comments>http://blog.kiichigo.eu/?p=153#comments</comments>
		<pubDate>Wed, 07 Jan 2009 04:12:15 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[PS3]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Wii]]></category>
		<category><![CDATA[XBox360]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=153</guid>
		<description><![CDATA[Dear Microsoft, Nintendo and Sony I&#8217;m going to offer you something you might be interested in, as it seems you all have interest in social networks. In brief I want you to let me sell HTML/JS and Flash widgets from your online stores. Long version You guys created great pieces of equipment, I really fond [...]]]></description>
			<content:encoded><![CDATA[<h4>Dear Microsoft, Nintendo and Sony</h4>
<p>I&#8217;m going to offer you something you might be interested in, as it seems you all have interest in social networks.</p>
<h5>In brief</h5>
<p>I want you to let me sell HTML/JS and Flash widgets from your online stores.</p>
<h5>Long version</h5>
<p>You guys created great pieces of equipment, I really fond of current generation. But I think there is place for improvement &ndash; place for applications. I understand that there is security and piracy concerns, but there is swift and painless solution &ndash; AJAX and Flash widgets.</p>
<p>Both AJAX and Flash apps can be fully black-boxed, they can be built in a way they don&#8217;t have access to system at all. Yet they can bring power of RIA to end-users: usage of modern social networks like Twitter, Flickr, Facebook, utilities for weather, time or email checker, even some cute yet pointless widgets that people like anyways.</p>
<p>Once again, it might bring edge to you consoles that some of you search.</p>
<p>David.<br />
Rich Internet Application Consultant/Developer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=153</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WoW for Viral Marketing</title>
		<link>http://blog.kiichigo.eu/?p=149</link>
		<comments>http://blog.kiichigo.eu/?p=149#comments</comments>
		<pubDate>Sat, 03 Jan 2009 00:04:42 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[MMORPG]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Viral Marketing]]></category>
		<category><![CDATA[WoW]]></category>

		<guid isPermaLink="false">http://blog.kiichigo.eu/?p=149</guid>
		<description><![CDATA[I was just hit by random idea &#8212; World of Warcraft could be quite nice place for Viral Marketing: It can be easily extended via LUAScript and XML. It has 10+ million users. Users who actually agree to pay for internet services. Maybe I should re activate my account . Friend of mine showed me [...]]]></description>
			<content:encoded><![CDATA[<p>I was just hit by random idea &mdash; World of Warcraft could be quite nice place for Viral Marketing:</p>
<ul>
<li>It can be easily extended via LUAScript and XML.</li>
<li>It has 10+ million users.
<li>Users who actually agree to pay for internet services.</li>
</ul>
<p>Maybe I should re activate my account <img src='http://blog.kiichigo.eu/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .<br />
Friend of mine showed me some nice links: <a href="http://rogue.gotgame.com/">in game browser</a>, <a href="http://www.popcap.com/promos/wow/">in game games 0_o</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kiichigo.eu/?feed=rss2&amp;p=149</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
