<?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"
	>

<channel>
	<title>yikulju</title>
	<atom:link href="http://yikulju.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://yikulju.com/blog</link>
	<description>front-end development</description>
	<pubDate>Tue, 14 Apr 2009 13:54:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Youtube player in as3</title>
		<link>http://yikulju.com/blog/?p=197</link>
		<comments>http://yikulju.com/blog/?p=197#comments</comments>
		<pubDate>Tue, 14 Apr 2009 13:54:57 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[actionscript]]></category>

		<category><![CDATA[as3]]></category>

		<category><![CDATA[flex]]></category>

		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=197</guid>
		<description><![CDATA[
In the Youtube as3/Flex integration the hard stuff is the communication, the official Youtube player is written in as2, hence, we can&#8217;t communicate with it from as3 easily.
There&#8217;re a couple great implementation of this but all of them have some sort of drawback.

The best implementation I found is TubeLoc, which is great but it&#8217;s unstable [...]]]></description>
			<content:encoded><![CDATA[<br/>
<p>In the Youtube as3/Flex integration the hard stuff is the communication, the official Youtube player is written in as2, hence, we can&#8217;t communicate with it from as3 easily.</p>
<p>There&#8217;re a couple great implementation of this but all of them have some sort of drawback.</p>
<br/>
<p>The best implementation I found is <a href="http://code.google.com/apis/youtube/articles/tubeloc.html">TubeLoc</a>, which is great but it&#8217;s unstable on my mac, it totally kills it after a while.</p>

<p>Besides this, I had one more requirement, I&#8217;d play more than one video simultaneously.</p>
<p>I tried, I tried hard to use one of the implementations, but I couldn&#8217;t. So I have to write my own version.</p>

<br/>
<p>It&#8217;s quite straightforward and I put all of the code to GitHub,
<a href="http://github.com/yikulju/youtube-as3-integration/tree" title="GitHub link">http://github.com/yikulju/youtube-as3-integration/tree</a></p>
<p>Check out the YoutubePlayer.mxml file.</p>]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=197</wfw:commentRss>
		</item>
		<item>
		<title>Differences in color rendering between Firefox and Safari</title>
		<link>http://yikulju.com/blog/?p=187</link>
		<comments>http://yikulju.com/blog/?p=187#comments</comments>
		<pubDate>Sat, 11 Apr 2009 11:38:42 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[sitebuild]]></category>

		<category><![CDATA[colors]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=187</guid>
		<description><![CDATA[

We came across a difference in rendering images between Firefox and Safari.
The colors of the created design was fine on Firefox but it was totally different on Safari.





After a while we started to think about color schemes and that was it.
The background and the tabs have different kind of color settings because the first one [...]]]></description>
			<content:encoded><![CDATA[<br/>

<p>We came across a difference in rendering images between Firefox and Safari.
The colors of the created design was fine on Firefox but it was totally different on Safari.
</p>
<img src="http://yikulju.com/blog/wp-content/upload/2009/04/Picture2.jpg" />
<img src="http://yikulju.com/blog/wp-content/upload/2009/04/Picture3.jpg" />

<p>
After a while we started to think about color schemes and that was it.
The background and the tabs have different kind of color settings because the first one was created on a mac and the tabs were created on Windows XP.
</p>
<img src="http://yikulju.com/blog/wp-content/upload/2009/04/colorprofile1.png" width="200"/>
<img src="http://yikulju.com/blog/wp-content/upload/2009/04/colorprofile2.png" width="200"/>
<br/>
<p>
Unlike Firefox (3.0), Safari is able to render colors according to the set schema, which is nice after you know this.</p>

<p>Here a <a href="http://css-tricks.com/color-rendering-difference-firefox-vs-safari/
" title="CSS tricks article">great article about this topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=187</wfw:commentRss>
		</item>
		<item>
		<title>My old Processing applets</title>
		<link>http://yikulju.com/blog/?p=172</link>
		<comments>http://yikulju.com/blog/?p=172#comments</comments>
		<pubDate>Thu, 09 Apr 2009 16:05:16 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[processing]]></category>

		<category><![CDATA[sketches]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=172</guid>
		<description><![CDATA[
Processing is great, easy to learn and easy to create prototypes. We used it a lot in Kitchen Budapest back in the days

It was quite nostalgic when I found my old processing sketches. They&#8217;re totally meaningless but fun.































and this is one of the videos I&#8217;ve created from these sketches.
]]></description>
			<content:encoded><![CDATA[<br/>
<p><a href="http://processing.org/" title="Processing site">Processing</a> is great, easy to learn and easy to create prototypes. We used it a lot in Kitchen Budapest back in the days</p>

<p>It was quite nostalgic when I found my old processing sketches. They&#8217;re totally meaningless but fun.
</p>

<a href="http://palvella.hu/experiments/nodeconnect2/applet/index.html" title="Ambient nodes">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/ambient.png" alt="" width="101" height="74"/></a>

<a href="http://palvella.hu/experiments/plasticityWire1/applet/index.html" title="Wires1">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/wire1.png" alt="" width="101" height="74"/></a>

<a href="http://palvella.hu/experiments/plasticityWire2/applet/index.html" title="Wires2">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/wire2.png" alt="" width="101" height="74"/></a>

<a href="http://people.inf.elte.hu/kelemen/orgia/index.html" title="Szinorgia">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/szinorgia.png" alt="" width="101" height="74"/></a>

<a href="http://palvella.hu/experiments/brownspid/index.html" title="Spider">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/spider.png" alt="" width="101" height="74"/></a>

<a href="http://palvella.hu/experiments/mandelbrot/index.html" title="Fractal 1">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/fractal1.png" alt="" width="101" height="74"/></a>

<a href="http://palvella.hu/experiments/mandelbrot/index.html" title="Fractal 2">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/fractal2.png" alt="" width="101" height="74"/></a>

<a href="http://palvella.hu/experiments/redghost/index.html" title="Ghost">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/ghost.png" alt="" width="101" height="74"/></a>


<a href="http://palvella.hu/experiments/knotfive/index.html" title="Knotfive">
<img title="ambient" src="http://yikulju.com/blog/wp-content/upload/2009/04/knotfive.png" alt="" width="101" height="74"/></a>

<br/><br/>
<p>and this is one of the videos I&#8217;ve created from these sketches.</p>
<object width="460" height="280"><param name="movie" value="http://www.youtube.com/v/TwsKySWMYLA&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TwsKySWMYLA&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="460" height="280"></embed></object>]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=172</wfw:commentRss>
		</item>
		<item>
		<title>Embedding Prezi</title>
		<link>http://yikulju.com/blog/?p=157</link>
		<comments>http://yikulju.com/blog/?p=157#comments</comments>
		<pubDate>Sat, 24 Jan 2009 17:23:39 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[embedding]]></category>

		<category><![CDATA[prezi]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=157</guid>
		<description><![CDATA[- Can I insert my prezi into my site?

- Yes, you can do it easily.

There are a couple of steps:

	Go to your &#8220;My&#8221; page
	Click on your prezi which you want to insert
	Select the Share
	At &#8220;Who can view&#8221; select &#8220;everyone&#8221;
	Then you&#8217;ll get a link at &#8220;Link&#8221;
	Copy this link
	Go to the site where you want to insert [...]]]></description>
			<content:encoded><![CDATA[- Can I insert my prezi into my site?

- Yes, you can do it easily.

There are a couple of steps:
<ol style="list-style-type: decimal">
	<li>Go to your &#8220;My&#8221; page</li>
	<li>Click on your prezi which you want to insert</li>
	<li>Select the Share</li>
	<li>At &#8220;Who can view&#8221; select &#8220;everyone&#8221;</li>
	<li>Then you&#8217;ll get a link at &#8220;Link&#8221;</li>
	<li>Copy this link</li>
	<li>Go to the site where you want to insert the prezi</li>
	<li>Use the following HTML

&lt;iframe src=&#8221;" height=&#8221;" width=&#8221;"&gt;&lt;/iframe&gt;</li>
	<li>Replace the src=&#8221;" with the prezi link you have</li>
	<li>Set the height and width parameters</li>
</ol>
For instance, let&#8217;s say I got this link

&#8220;http://prezi.com/4537/view&#8221;

then the HTML looks like this:

&lt;iframe src=&#8221;http://prezi.com/4537/view&#8221; height=&#8221;320&#8243; width=&#8221;425&#8243;&gt;&lt;/iframe&gt;

and the result will look like this:]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=157</wfw:commentRss>
		</item>
		<item>
		<title>Chaining in AS3 - part 2</title>
		<link>http://yikulju.com/blog/?p=130</link>
		<comments>http://yikulju.com/blog/?p=130#comments</comments>
		<pubDate>Sun, 16 Nov 2008 16:38:43 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[as3]]></category>

		<category><![CDATA[chaining]]></category>

		<category><![CDATA[dsl]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=130</guid>
		<description><![CDATA[
Last time I showed you the first iteration of my chaining code which was working very well but it had some parts which could be optimized



To start with, I go back to the beginning.

One of the main advantages of using some kind of chaining is the fact that it describes asynchron method callings in a [...]]]></description>
			<content:encoded><![CDATA[<p>
Last time I showed you the first iteration of my chaining code which was working very well but it had some parts which could be optimized
</p>

<p>
To start with, I go back to the beginning.
<br/>
One of the main advantages of using some kind of chaining is the fact that it describes asynchron method callings in a clear, and concise way. It is also helpful to describe synchron processes. 
</p>

Here is a basic example:


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="bash bash" style="font-family:monospace;">First
getFont<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;arial&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">then</span>
getFont<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;verdana&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">then</span>
getFont<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;myriad&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">then</span>
getResource<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">12</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
and finally, when everything finished
getPresentation<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>




Here is how it looks in as3


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Chain<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>
  .<span style="color: #006600;">begin</span>
    .<span style="color: #006600;">getFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;arial&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/arial.otf&quot;</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
    .<span style="color: #006600;">getFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;verdana&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/verdana.otf&quot;</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
    .<span style="color: #006600;">getFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;myriad&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/myriad.otf&quot;</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
    .<span style="color: #006600;">getResource</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> id: <span style="color: #cc66cc;">12</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
  .<span style="color: #0066CC;">end</span><span style="color: #66cc66;">&#40;</span>getPresentation<span style="color: #66cc66;">&#41;</span></pre></td></tr></table></div>




We can reduce the three getFont calls by using a for-each style loop.


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Chain<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>
 .<span style="color: #006600;">begin</span>
   .<span style="color: #b1b100;">forEach</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;arial&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/arial.otf&quot;</span> <span style="color: #66cc66;">&#125;</span>, 
                 <span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;verdana&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/verdana.otf&quot;</span> <span style="color: #66cc66;">&#125;</span>, 
                 <span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;myriad&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/myriad.otf&quot;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
	.<span style="color: #006600;">loadFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
   .<span style="color: #0066CC;">end</span>
   .<span style="color: #006600;">getResource</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> id: <span style="color: #cc66cc;">12</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
  .<span style="color: #0066CC;">end</span><span style="color: #66cc66;">&#40;</span>getPresentation<span style="color: #66cc66;">&#41;</span></pre></td></tr></table></div>




<p>
To have the big picture, let&#8217;s presume we have a class which has 4 methods.
</p>
<p>
 init() loads the fonts, the resources and finally the presentation
<br/>
getFont() loads one particular font
<br/>
getResource() loads a resource
<br/>
getPresentation() loads one presentation
</p>


and the code looks like this:


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>			
  <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Chain<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>
    .<span style="color: #006600;">begin</span>
	.<span style="color: #b1b100;">forEach</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;arial&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/arial.otf&quot;</span> <span style="color: #66cc66;">&#125;</span>, 
                      <span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;verdana&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/verdana.otf&quot;</span> <span style="color: #66cc66;">&#125;</span>, 
                      <span style="color: #66cc66;">&#123;</span> fontName: <span style="color: #ff0000;">&quot;myriad&quot;</span>, fontURL: <span style="color: #ff0000;">&quot;/fonts/myriad.otf&quot;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
	        .<span style="color: #006600;">loadFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
	.<span style="color: #0066CC;">end</span>
	.<span style="color: #006600;">getResource</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> id: <span style="color: #cc66cc;">12</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
    .<span style="color: #0066CC;">end</span><span style="color: #66cc66;">&#40;</span>getPresentation<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> getFont<span style="color: #66cc66;">&#40;</span>parameters:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> fontName:<span style="color: #0066CC;">String</span> = parameters.<span style="color: #006600;">fontName</span>;
	<span style="color: #000000; font-weight: bold;">var</span> fontURL:<span style="color: #0066CC;">String</span> = parameters.<span style="color: #006600;">fontURL</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> callback:<span style="color: #000000; font-weight: bold;">Function</span> = parameters.<span style="color: #006600;">completeHandler</span>;
&nbsp;
	...
&nbsp;
	<span style="color: #006600;">callback</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> getResources<span style="color: #66cc66;">&#40;</span>parameters:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> resourceId:<span style="color: #0066CC;">String</span> = parameters.<span style="color: #006600;">id</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> callback:<span style="color: #000000; font-weight: bold;">Function</span> = parameters.<span style="color: #006600;">completeHandler</span>;
&nbsp;
	...
&nbsp;
	<span style="color: #006600;">callback</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> getPresentation<span style="color: #66cc66;">&#40;</span>parameters:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> preziId:<span style="color: #0066CC;">String</span> = parameters.<span style="color: #006600;">id</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> callback:<span style="color: #000000; font-weight: bold;">Function</span> = parameters.<span style="color: #006600;">completeHandler</span>;
&nbsp;
	...
&nbsp;
	<span style="color: #006600;">callback</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>




<p>	
The Chain has only one parameter which is the context (from which some methods will be invoked).	
</p>

<p>
The methods get an object as a parameter from which they can access the parameters they require.
For instance, the getFont gets a fontName and a fontURL parameters.
</p>
<p>
The completeHandler is kind of a special parameter, it filled by the Chain and should be invoked when the method finishes.
</p>

<p>
It starts to look like a DSL, what do you think?
</p>

<p>
I hope, soon I put the code and it&#8217;s documentation to the google code.
</p>

<p>
<a href="http://yikulju.com/chaining/chaining_part2.zip" title="Chaining source">
You can download the code from here
</a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=130</wfw:commentRss>
		</item>
		<item>
		<title>Chaining in AS3</title>
		<link>http://yikulju.com/blog/?p=106</link>
		<comments>http://yikulju.com/blog/?p=106#comments</comments>
		<pubDate>Sun, 19 Oct 2008 17:55:45 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[as3]]></category>

		<category><![CDATA[chaining]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=106</guid>
		<description><![CDATA[

Recently, I&#8217;ve been working on the ZuiPrezi client side backend and there are loads of asynchronous requests for resources, which are, to be precise, a pain in the arse.


For instance, if I need &#8220;Arial&#8221; and then &#8220;Verdana&#8221; and then a presentation in this order, I would write something like this:


1
2
3
4
5
6
7
8
backend.getFont&#40;&#34;arial&#34;, function&#40;data:Font&#41;:void
&#123;
&#160;
	backend.getFont&#40;&#34;verdana&#34;, function&#40;data:Font&#41;:void
	&#123;
		backend.loadPresentation&#40;12&#41;
	&#125;&#41;
&#125;&#41;



It works well, but [...]]]></description>
			<content:encoded><![CDATA[<br/>
<p>
Recently, I&#8217;ve been working on the <a href="http://zuiprezi.com">ZuiPrezi</a> client side backend and there are loads of asynchronous requests for resources, which are, to be precise, a pain in the arse.
</p>
<p>
For instance, if I need &#8220;Arial&#8221; and then &#8220;Verdana&#8221; and then a presentation in this order, I would write something like this:


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;">backend.<span style="color: #006600;">getFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;arial&quot;</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">data</span>:<span style="color: #0066CC;">Font</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
&nbsp;
	backend.<span style="color: #006600;">getFont</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;verdana&quot;</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">data</span>:<span style="color: #0066CC;">Font</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
	<span style="color: #66cc66;">&#123;</span>
		backend.<span style="color: #006600;">loadPresentation</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">12</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span></pre></td></tr></table></div>



It works well, but not only does it look complicated, it could be hard to maintain as well.


<h3>Pseudo solution</h3>
<p>
The way I would describe it in pseudocode could be like this:


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="bash bash" style="font-family:monospace;">getFont<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;arial&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">then</span>
getFont<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;verdana&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">then</span>
getPresentation<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">12</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>




It&#8217;s a kind of chain in which the first link is the request of the &#8220;arial&#8221; and the last is the presentation request.
</p>

<h3>AS3 solution</h3>
<p>
Let&#8217;s make it more AS3 like:


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">new</span> Chain<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span> arg: <span style="color: #ff0000;">&quot;arial&quot;</span>, command: getFont <span style="color: #66cc66;">&#125;</span>, 
                 <span style="color: #66cc66;">&#123;</span> arg: <span style="color: #ff0000;">&quot;verdana&quot;</span>, command: getFont <span style="color: #66cc66;">&#125;</span>, 
                 <span style="color: #66cc66;">&#123;</span> arg: <span style="color: #cc66cc;">12</span>, command: getPresentation <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>



as you see, we need a class called Chain which is responsible for executing commands (in this case requests).
</p>

<p>
Although it works, I don&#8217;t like the syntax very much.
We can make it better.


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Chain<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;arial&quot;</span>, loadFont<span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;verdana&quot;</span>, loadFont<span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">12</span>, getPresentation<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>




Yes, it&#8217;s good, looks good, works well.
</p>

<h3>Parallelism</h3>
<p>
One more thing, does it support parallelism, It does.


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Chain<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
	.<span style="color: #006600;">begin</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;arial&quot;</span>, loadFont<span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;verdana&quot;</span>, loadFont<span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">12</span>, getPresentation<span style="color: #66cc66;">&#41;</span>
	.<span style="color: #0066CC;">end</span>
	.<span style="color: #006600;">begin</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;helvetica&quot;</span>, loadFont<span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;futura&quot;</span>, loadFont<span style="color: #66cc66;">&#41;</span>
		.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>, getPresentation<span style="color: #66cc66;">&#41;</span>
	.<span style="color: #0066CC;">end</span>
<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>



</p>

<p>
Here you can download <a href="http://yikulju.com/chaining/Chaining.zip">the sourecode</a>.
</p>
<p>
Finally, If I want to sum up how it works, here is an overall figure:
<a href="http://yikulju.com/blog/wp-content/upload/2008/10/chaining_small.jpg"><img src="http://yikulju.com/blog/wp-content/upload/2008/10/chaining_small-300x180.jpg" alt="" title="chaining_small" width="300" height="180" class="alignnone size-medium wp-image-114" /></a>
<br/>
Everything within begin - end happens synchronously, one by one,<br/> and every begin - end pair runs simultaneously.

</p>
<p>
What do you think?
</p>

<p>
Finally, there is an interesting article by John Resig about <a href="http://ejohn.org/blog/ultra-chaining-with-jquery/">Chaining with JQuery</a>.
</p>



]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=106</wfw:commentRss>
		</item>
		<item>
		<title>Top 17 Podcasts for Front-End Developers</title>
		<link>http://yikulju.com/blog/?p=91</link>
		<comments>http://yikulju.com/blog/?p=91#comments</comments>
		<pubDate>Sat, 18 Oct 2008 18:13:07 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[frontend]]></category>

		<category><![CDATA[podcasts]]></category>

		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=91</guid>
		<description><![CDATA[

It was in 2006 when I discovered podcasting and found Paul Boag&#8217;s web design podcast.
Since then I&#8217;ve listened to loads of audio and video podcasts and now I&#8217;ll try to sum up and share my experiences of the past two years
Here is my fave list.





Boagworld is the longest running web design podcast hosted by Paul [...]]]></description>
			<content:encoded><![CDATA[<br/>
<p>
It was in 2006 when I discovered podcasting and found Paul Boag&#8217;s web design podcast.
Since then I&#8217;ve listened to loads of audio and video podcasts and now I&#8217;ll try to sum up and share my experiences of the past two years
Here is my fave list.
</p>

<ul>

<li>
<a href="http://boagworld.com/podcast/">Boagworld</a> is the longest running web design podcast hosted by Paul Boag and Marcus Lillington. The show is a mixture of web design news, features and interviews with prominent figures within the web design community.
</li>

<li>
<a href="http://javaposse.com/">The Java Posse</a>
Java News, interviews and fun.
</li>

<li>
<a href="http://www.redmonk.com/cote/topic/podcasts/ria-weekly/">RIA Weekly</a> is a podcast with Michael Coté from Redmonk and Ryan Stewart, Platform Evangelist at Adobe, and the occasional guest.
</li>

<li>
<a href="http://ajaxian.com/podcasts/">Audible Ajax</a>
Ben and Dion of Ajaxian.com discuss topics around AJAX and JavaScript.
</li>

<li>
<a href="http://developer.yahoo.com/yui/theater/">YUI theatre</a>
Great presentations on JavaScript and web development in general, hosted by Yahoo.
</li>

<li>
<a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">The Google Developer Podcast</a> features interesting news in the developer world from a
Google perspective.
</li>

<li>
<a href="http://www.theflexshow.com/blog/">The Flex Show</a> is a podcast about Adobe Flex and Adobe AIR through expert interviews.
</li>

<li>
<a href="http://www.hanselminutes.com/">Hanselminutes</a> is a weekly audio discussion on ASP.NET and Windows issues and workarounds.
</li>

<li>
<a href="http://herdingcode.com/">Herding code</a>
Herding Code is a weekly podcast on software development.
Featured topics were Silverlight, AJAX Frameworks and browsers.
</li>

<li>
In the <a href="http://openwebpodcast.com/">Open Web Podcast</a> Dion Almaer of Ajaxian.com, John Resig of Mozilla, and Alex Russell of Dojo discuss news and events coming in from the Open Web community.
</li>

<li>
<a href="http://readwritetalk.com/">Read/WriteTalk</a> is a weekly show that interviews thought leaders from across the web.
</li>

<li>
<a href="http://boxesandarrows.com/story/index/date/1444">The Boxes and Arrows Podcast</a> interviews authors from the site as well as other professionals in the field of Information Architecture, Interaction Design, and User Experience from around the world.
</li>

<li>
<a href="http://citizengarden.com/">Citizen Garden</a> is a podcast covering identity, social networks, standards, and the web in general.
</li>

<li>
<a href="http://www.peachpit.com/podcasts/channel.aspx?c=9c33d8ee-8354-46a2-9ce7-682ec4f7f83e">Voices that matter</a> is a video podcast with web professionals.
</li>

<li>
<a href="http://www.uie.com/brainsparks/topics/podcasts/">UIE Brain Sparks</a> covers the latest insights from User Interface Engineering on the world of design.
</li>

<li>
<a href="http://www.uxpod.com/">UXPod</a> is a free-ranging set of discussions on matters of interest to people involved in user experience design, web design, and usability in general.
</li>

<li>
<a href="http://pixel8.infragistics.com/">Pixel8</a> is a kind of Microsoft podcast on user experience.
</li>

</ul>

<br/>

<strong>+ 4 for inspiration</strong>
<ul>

<li>
<a href="http://www.zoom-in.com/spotlights?z=c&#038;t=15">Designing minds</a> is an enhanced podcast series showcasing the creative leaders of the design industry.
</li>

<li>
<a href="http://www.gestalten.tv/">Gestalten.tv</a> offers video podcasts on all areas of contemporary visual culture, including graphic design and typography, product and furniture design, architecture, photography, art and more.
</li>

<li>
<a href="http://rss.adobe.com/www/special/adobe_vod.rss">Voices of design</a> is a series of audio and video interviews with creative professionals who
discuss their work, inspiration and influences
</li>

<li>
<a href="http://advancedbeauty.org/blog/">Advanced Beauties</a> is an ongoing exploration of digital artworks born and influenced by sound,
an ever-growing collaboration between programmers, artists, musicians, animators and architects.
</li>
</ul>

<br/>
<p>
There is also an interesting article at <a href="http://www.smashingmagazine.com/2008/05/14/useful-podcasts-for-designers-and-developers/">Smashing magazine about podcasts</a> which is worth checking out. 
</p>]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=91</wfw:commentRss>
		</item>
		<item>
		<title>Adobe MAX 2008 Semifinalists - part 2</title>
		<link>http://yikulju.com/blog/?p=78</link>
		<comments>http://yikulju.com/blog/?p=78#comments</comments>
		<pubDate>Sun, 12 Oct 2008 15:49:11 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[adobe]]></category>

		<category><![CDATA[adobe max]]></category>

		<category><![CDATA[adobe MAX 2008]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=78</guid>
		<description><![CDATA[
Here is my second part of my favorites of MAX 2008 semifinalists.




Iminlikewithyou is a platform that enables the creation and distribution of fun, arcade style, multi-player games. iminlikewithyou&#8217;s games are match-based, approachable, and very social. 



Red Bull Flight Lab lets you create an airplane in 3D and fly it in a flight simulator. You can [...]]]></description>
			<content:encoded><![CDATA[<br/>
Here is my second part of my favorites of MAX 2008 semifinalists.
<br/>

<ul>
<li>
<a href="http://iminlikewithyou.com/">Iminlikewithyou</a> is a platform that enables the creation and distribution of fun, arcade style, multi-player games. iminlikewithyou&#8217;s games are match-based, approachable, and very social. 
</li>

<li>
<a href="http://www.redbull.com/flightlab/">Red Bull Flight Lab</a> lets you create an airplane in 3D and fly it in a flight simulator. You can share your creations in a community and modify existing planes done by other users.
</li>

<li>
<a href="https://data.nasdaq.com/mr.aspx">Market Replay</a>
Market Replay is an extremely powerful replay and analysis tool, allowing users to view the consolidated order book and trade data at any point in time. Market Replay provides access to quote and trade detail unmatched in the industry today. The Market Replay application enables users to replay the market in simulated real-time or at an accelerated/decelerated speed and zoom down to the millisecond level. Investors can validate the quality of their trades.</li>

<li>
The newly designed <a href="http://www.schematic.com">www.schematic.com</a> signifies an important advancement in Web development and navigation. Built entirely in Flash and Flex, and challenging the traditional means of navigation, the site gives users an exceptional amount of control over their individual experiences. 
</li>

<li>
<a href="http://kids.direct.gov.uk">DirectgovKids</a> has been developed to explain the crucial role that government plays in children&#8217;s lives. Developed in collaboration with the Department for Children, Schools and Families, it represents a child’s eye view of the world, helping children understand how central government services impact their lives, community and environment at a local level. The site operates as the government&#8217;s main communication channel with children from 5 – 11 years old, helping government deliver key messages to this age group. 
</li>

<li>

The “<a href="http://dolcegabbanamobile.com/">D&#038;G Fashion Channel</a>” project represents a new direct communication channel between the company and its customers: it has the aim to realize a new way of interaction and contact with the Dolce&#038;Gabbana audience, using mobile devices in order to follow the users in their real life. “The D&#038;G Fashion Channel” provides a new mobile Flash based fashion experience combining a very fashion oriented interface with a great selection of D&#038;G branded contents. </li>

<li>
<a href="http://www.blablaland.com/">Blablaland</a> is a &#8220;Massive Multiplayer Online Tchat based Game&#8221;, a new concept of entertainment for teenagers, playable on Internet via the Flash Player. Blablaland is a huge universe, attractive and colorful. There is no specific aim, which allows the user to do whatever he wants: he can simply talk with is friends, or have fun using lot of magical objects, discovering the world that always changes depending on seasons, weather, and time of the day.
</li>

<li>
<a href="http://www.earthbrowser.com/">EarthBrowser</a> is a virtual globe available as a desktop AIR application and an embeddable Flash component.
</li>

<li>
<a href="http://www.chesscube.com/">ChessCube</a> is a free-to-join social network (160,000 users to date) for chess players to play chess (28,000 games per day to date), chat, form clubs, and analyze live games or stored games.
</li>

<li>
The <a href="http://www.hobnox.com/index.1056.en.html">Hobnox AudioTool</a> is a virtual online music studio. Artists can create songs, remix others or share them with the community - all without the requirement of an installation.
</li>

<li>
The purpose of <a href="http://www.tweetdeck.com/beta/">TweetDeck</a> is to turn the Twitter feed into something more manageable. By breaking the &#8220;fire-hose&#8221; into smaller elements, defined by the user, you can now efficiently follow many twitter friends and now miss that important tweet.
</li>

<li>
<a href="http://www.madcaplogic.com/">Creativity Express</a> is an interactive visual literacy software for students in grades 2-8. The program is a blend of animated storytelling and interactive activities that teach the principles of art, and provide the tools for creative self expression.
</li>

<li>
<a href="http://www.trainingpeaks.com/">TrainingPeaks</a> is a training and nutrition log used by everyone from elite Tour d&#8217; France cyclists and Ironman athletes to general users interested in health and fitness. The application is used by both fitness professionals and self coached users to monitor, analyze and plan all sorts of physiological data. The system supports data upload from heart rate monitors, gps systems, power meters and UPC bar code scanners.
</li>

<li>
<a href="http://www.monsterlabthegame.com/">http://www.monsterlabthegame.com/</a> is a promo site of a new EIDOS game Monsterlab.  The target market being 8-12 year olds.
</li>

</ul>

My two posts does not cover every semifinalist, I didn&#8217;t mention many brand promo sites as well as enterprise entries.<br/>
Finally, worth mentioning that there are not less than 103 semifinalist entries.]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=78</wfw:commentRss>
		</item>
		<item>
		<title>Adobe MAX 2008 Semifinalists - part 1</title>
		<link>http://yikulju.com/blog/?p=64</link>
		<comments>http://yikulju.com/blog/?p=64#comments</comments>
		<pubDate>Tue, 07 Oct 2008 19:57:01 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[adobe]]></category>

		<category><![CDATA[adobe max]]></category>

		<category><![CDATA[adobe MAX 2008]]></category>

		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=64</guid>
		<description><![CDATA[
I picked some of MAX 2008 semifinalist apps which are worth seeing.
There are e-learning games, 3d multiplayer games, good stuffs.


Here is the first part of my list:



Mingoville is the world’s most comprehensive online English course for children aged 5-12. The program was developed with the intention of giving children all over the world a superb [...]]]></description>
			<content:encoded><![CDATA[<br/>
I picked some of MAX 2008 semifinalist apps which are worth seeing.
There are e-learning games, 3d multiplayer games, good stuffs.

<br/>
Here is the first part of my list:

<ul>
<li>
<a href="http://mingoville.com">Mingoville</a> is the world’s most comprehensive online English course for children aged 5-12. The program was developed with the intention of giving children all over the world a superb learning experience.
</li>

<li>
<a href="http://www.mondiso.com/">Mondiso</a> is an online math e-learning product. It is aimed children in the first three years of primary school – children aged 6 – 10 years.
</li>

<li>
<a href="http://www.pitropolis.com/">Pitropolis</a> is an online math e-learning product. It is aimed children in the last three years of primary school – children aged 12 – 16 years.
</li>

<li>
The <a href="http://www.moma.org/exhibitions/2008/colorchart/flashsite/">Color Chart site</a> was created in conjunction with the exhibition Color Chart: Rethinking Color, 1950 to Today at The Museum of Modern Art, New York. The site captures the playful spirit of the works in the exhibition while providing useful information for visitors to the exhibition prior to and after visiting the museum. The goal was to make a site that would engage visitors of all ages.
</li>

<li>
<a href="http://www.smallworlds.com/">SmallWorlds</a> is a new browser-based, free-to-play virtual world aimed at teens and adults. It sits at the intersection of web2.0, social networking, and entertainment, and wraps them all into a virtual world environment that breaks significant new ground in accessibility.
</li>

<li>
Website redesign for <a href="http://www.njrebel.com/">NJ REBEL</a>, a statewide, youth-led, anti-tobacco movement dedicated to educating peers and the community about the dangers of smoking. NJREBEL.com features everything from video tour guides, a Facebook game, student-led blogs, rankings for smoking facts and video parodies. However, the technology in this case was not an end onto itself, but a method by which teens would to relate to REBEL&#8217;s anti-smoking message.
</li>

<li>
<a href="http://www.scrapblog.com/">Scrapblog</a> is an online digital scrapbooking application that allows anyone to quickly and easily share their stories in a creative way. Scrapblog aims to make it easier to do creative things with your photos and video.
</li>

<li>
<a href="http://www.sherwooddungeon.com">Sherwood Dungeon</a> is a free 3D massive multiplayer online role playing game you play in your web browser with no registration or download required.
</li>

<li>
<a href="http://floorplanner.com">Floorplanner.com</a> is online application to create and share interactive floor plans both 2D as 3D. With a simple but powerful online toolset anyone can create an accurate, architectural floor plan of their room, house or office within minutes and rearrange furniture without breaking a sweat.<br /> <br />The latest version of Floorplanner can be found at http://beta.floorplanner.com/demo
</li>

</ul>

It&#8217;ll be continued&#8230;]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=64</wfw:commentRss>
		</item>
		<item>
		<title>keyDown in Flex 3</title>
		<link>http://yikulju.com/blog/?p=55</link>
		<comments>http://yikulju.com/blog/?p=55#comments</comments>
		<pubDate>Mon, 06 Oct 2008 16:26:21 +0000</pubDate>
		<dc:creator>yikulju</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[actionscript]]></category>

		<category><![CDATA[flex]]></category>

		<category><![CDATA[flex3]]></category>

		<category><![CDATA[keydown]]></category>

		<guid isPermaLink="false">http://yikulju.com/blog/?p=55</guid>
		<description><![CDATA[
There is a annoying issue when you just start dealing with Flex 3 and want to use the keyboard.

It&#8217;s simple to say that you have to use the KeyboardEvent.KEY_DOWN but there are two things which you have to do right.

Firstly, let&#8217;s look at the following code that traces the key which was pressed.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&#60;mx:Application xmlns:mx=&#34;http://www.adobe.com/2006/mxml&#34; layout=&#34;absolute&#34; [...]]]></description>
			<content:encoded><![CDATA[<br/>
There is a annoying issue when you just start dealing with Flex 3 and want to use the keyboard.
<br/>
It&#8217;s simple to say that you have to use the KeyboardEvent.KEY_DOWN but there are two things which you have to do right.
<br/>
Firstly, let&#8217;s look at the following code that traces the key which was pressed.
<br/>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>mx:Application xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> applicationComplete=<span style="color: #ff0000;">&quot;init()&quot;</span><span style="color: #66cc66;">&gt;</span>
 <span style="color: #66cc66;">&lt;</span>mx:Script<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Initialization'</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>KeyboardEvent.<span style="color: #006600;">KEY_DOWN</span>, keyDown<span style="color: #66cc66;">&#41;</span>;	
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> keyDown<span style="color: #66cc66;">&#40;</span>event:KeyboardEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">charCode</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>		
	<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
 <span style="color: #66cc66;">&lt;/</span>mx:Script<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Application<span style="color: #66cc66;">&gt;</span></pre></td></tr></table></div>




<strong>1. Using the applicationComplete</strong><br/>

After all components are created and drawn, the Application object dispatches an applicationComplete event. This is the last event dispatched during an application startup.
<br/>
In this case, the <em>init()</em> will be called after everything, therefore we have a <em>stage</em> instance.

<br/><br/>

<strong>2. stage.addEventListener()</strong><br/>
We have to attach the listener to the <em>stage</em> to the <em>this</em>


done.]]></content:encoded>
			<wfw:commentRss>http://yikulju.com/blog/?feed=rss2&amp;p=55</wfw:commentRss>
		</item>
	</channel>
</rss>
