<?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>Rizqi Online</title>
	<atom:link href="http://rizqi.namaku.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://rizqi.namaku.de</link>
	<description>Rizqi's Blog</description>
	<pubDate>Sat, 19 Nov 2011 11:14:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>CoCo the Compiler Compiler</title>
		<link>http://rizqi.namaku.de/2010/06/coco-the-compiler-compiler/</link>
		<comments>http://rizqi.namaku.de/2010/06/coco-the-compiler-compiler/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 18:36:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=29</guid>
		<description><![CDATA[Recently I experimented with PEG-Parsing after I found and interesting project PEG.js. It is an interesting concept, but I found that the code it generates is a complete mess :(. So I decide to write my own parser and come up with CoCo. I fast and elegant Compiler Compiler that generate a parser.

You can write [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I experimented with <span class="caps">PEG</span>-Parsing after I found and interesting project <a href="http://pegjs.majda.cz"><span class="caps">PEG.</span>js</a>. It is an interesting concept, but I found that the code it generates is a complete mess :(. So I decide to write my own parser and come up with CoCo. I fast and elegant Compiler Compiler that generate a parser.</p>

<p>You can write in pure Javascript or in <span class="caps">PEG.</span>js-Style syntax. There is not much to see yet. I haven&#8217;t uploaded it to GitHub yet. but there is a demo in my <a href="http://code.riiv.net/labs/coco">code lab</a></p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2010/06/coco-the-compiler-compiler/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Binding, Getter/Setter and Mutable.js</title>
		<link>http://rizqi.namaku.de/2009/03/binding-getter-setter-and-mutablejs/</link>
		<comments>http://rizqi.namaku.de/2009/03/binding-getter-setter-and-mutablejs/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 09:51:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

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

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

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

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

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

		<category><![CDATA[data binding]]></category>

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

		<category><![CDATA[Function.caller]]></category>

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

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

		<category><![CDATA[Mutable.js]]></category>

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=28</guid>
		<description><![CDATA[In this article I am going to write about setter &#38; getter, Function.prototype.caller / arguments.callee.caller and an implementation of a Getter/Setter Class. I am also going to demystify (yeah sort of  ) the secret behind adobe flex&#8217;s data binding and openlaszlo&#8217;s constrain using the power of function.caller.



Javascript Getter &#38; Setter

Recently there are some progress [...]]]></description>
			<content:encoded><![CDATA[<p><i>In this article I am going to write about <a href="https://developer.mozilla.org/En/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters">setter &amp; getter</a>, <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/caller">Function.prototype.caller</a> / <a href="https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee">arguments.callee.caller</a> and an implementation of a <a href="http://github.com/raid-ox/mutable.js/tree/master">Getter/Setter Class</a>. I am also going to demystify (yeah sort of <img src='http://rizqi.namaku.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) the secret behind <a href="http://www.adobe.com/devnet/flex/quickstart/using_data_binding/">adobe flex&#8217;s data binding</a> and <a href="http://www.openlaszlo.org/lps/docs/guide/constraints.html">openlaszlo&#8217;s constrain</a> using the power of <code>function.caller</code>.</i></p>

<p><span id="more-28"></span></p>

<h3>Javascript Getter &amp; Setter</h3>

<p>Recently there are some progress in implementation of setter and getter in javascript. After Mozilla introduced it to us long time ago, recently Safari also supports those methods. <a href="http://ejohn.org">John Resig</a> also wrote a <a href="http://ejohn.org/blog/javascript-getters-and-setters/">cool article about setter and getter</a>.</p>

<p>in the future we will be able to write:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript">a <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
set b<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
get b<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>



<p>this is great since it gives us more control over our variables. Defining setter and getter can be very effective avoiding the need of creating methods like <code>setX()</code>, <code>setY()</code> etc.</p>

<p>an example usage of setter would be:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript">a <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
set value<span style="color: #009900;">&#40;</span>val<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">this</span>._val <span style="color: #339933;">=</span> val <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">?</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">:</span> val <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">10</span> <span style="color: #339933;">?</span> <span style="color: #CC0000;">10</span> <span style="color: #339933;">:</span> val<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>



<p>the code limit the number that can be assigned to <code>a.value</code>. If the number is smaller than <code>0@ @a.value</code> will get the number <code>0@, if it is bigger than @10</code>, it will be <code>10@. But you see the problem here, @this._val</code> is not really private. <span style="color:red">you can still change <code>a._val</code> to bypass value setter</span>.</p>

<h3>Mutable.js</h3>

<p>Today I did some experiment about how to implement this kind of features in today&#8217;s browsers. So I came up with Mutable.js</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> a <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	value<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Mutable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		value<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
		setter<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">value</span> <span style="color: #339933;">=</span> value <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">?</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">:</span> value <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">10</span> <span style="color: #339933;">?</span> <span style="color: #CC0000;">10</span> <span style="color: #339933;">:</span> value<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		getter<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">value</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>



<p>So this code will allow you to access the property like this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript">a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// a.value = 1;</span>
a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">11</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// a.value = 10;</span>
a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #006600; font-style: italic;">// a.value = 10;</span></pre></td></tr></table></div>



<p>Ok, it is not new, and not as cool as real setter and getter. but there are some other cool features, so keep reading&#8230;</p>

<h3>Big Brother is Watching You</h3>

<p>I did also include <strong>eventlistener</strong> that will be triggered each time the value changes</p>


<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="javascript"><span style="color: #003366; font-weight: bold;">var</span> a <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	value<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Mutable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
a.<span style="color: #006600;">value</span>.<span style="color: #006600;">watch</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>oldval<span style="color: #339933;">,</span> newval<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>oldval<span style="color: #339933;">+</span><span style="color: #3366CC;">'changed to'</span><span style="color: #339933;">+</span>newval<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// a.value = 2</span>
<span style="color: #006600; font-style: italic;">// alert: '0 changed to 2'</span>
a.<span style="color: #006600;">value</span>.<span style="color: #006600;">unwatch</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




<h3>No Trespassing</h3>

<p>I am also experimenting with <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/caller">Function.prototype.caller</a> which allows you to check which function is accessing the function. It allows me to implement this feature.</p>


<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
</pre></td><td class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> a <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	value<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Mutable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> fn1 <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">var</span> fn2 <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">var</span> fn3 <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>a.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// protect a.value, so it can only be altered by fn1 &amp; fn3</span>
a.<span style="color: #006600;">value</span>.<span style="color: #006600;">lock</span><span style="color: #009900;">&#40;</span>fn1<span style="color: #339933;">,</span> fn3<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fn1<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #006600; font-style: italic;">// a.value = 3;</span>
fn2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #006600; font-style: italic;">// access denied. a.value = 3;</span>
fn3<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #006600; font-style: italic;">// a.value = 5;</span></pre></td></tr></table></div>




<h3>Flex&#8217;s Binding</h3>

<p>After implementing this I got the Idea that <code>function.caller</code> can be used to create data binding just like in flex. If you have worked with flex or openlaszlo you will know how cool is it to be able just to bind a property by using <code>{bracket}</code>.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre>&lt;textfield value=&quot;{mySlider.value + myWindow.width}&quot;&gt;</pre></td></tr></table></div>



<p>Moving the slider will magically change the value of the <code>textfield</code>. how awesome! After some experiments I finally understand how it might be working. And I am going to tell you how to implement this in javascript!</p>

<p>Let start with analysing what is happening there. <code>{mySlider.value + myWindow.width}</code> is a string that will be converted to a function.</p>

<p>so let assume that it will be converted to this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript">textfield <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	set value<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.$value <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>mySlider.<span style="color: #006600;">value</span> <span style="color: #339933;">+</span> myWindow.<span style="color: #006600;">width</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>



<p>so what happens here? if <code>mySlider.value</code> has a getter (<code>myWindow.width</code> too), the getter will be called. Using <code>arguments.callee.caller</code> we will be able to get the caller. and in this case it is the value setter.</p>


<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
</pre></td><td class="code"><pre class="javascript">textfield <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	set value<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">// this is to make easier to identify the function. arguments.callee is value setter function</span>
		arguments.<span style="color: #006600;">callee</span>.<span style="color: #006600;">bindable</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.$value <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>mySlider.<span style="color: #006600;">value</span> <span style="color: #339933;">+</span> myWindow.<span style="color: #006600;">width</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
mySlider <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	constrains<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
	get value<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> caller <span style="color: #339933;">=</span> arguments.<span style="color: #006600;">callee</span>.<span style="color: #006600;">caller</span><span style="color: #339933;">;</span>
		<span style="color: #006600; font-style: italic;">// isBinded is to make sure that this function only once binded.</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>caller <span style="color: #339933;">&amp;&amp;</span> caller.<span style="color: #006600;">bindable</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span>caller.<span style="color: #006600;">isBinded</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			constrains.<span style="color: #006600;">push</span><span style="color: #009900;">&#40;</span>caller<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			caller.<span style="color: #006600;">isBinded</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.$value<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	set value<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.$value <span style="color: #339933;">=</span> x<span style="color: #339933;">;</span>
		<span style="color: #006600; font-style: italic;">// this will alert textField to update its value;</span>
		<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>this.<span style="color: #006600;">constrains</span>.<span style="color: #006600;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
			<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">constrains</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// the same with myWindow</span></pre></td></tr></table></div>




<p>Now we can implement this to Mutable.js</p>


<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
</pre></td><td class="code"><pre class="javascript">textfield <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	value<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Mutable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		value<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
		setter<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">value</span> <span style="color: #339933;">=</span> value<span style="color: #339933;">;</span>
			<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'textfield-value:'</span><span style="color: #339933;">+</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
mySlider <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Mutable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
myWindow <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>width<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Mutable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// now the magic</span>
textfield.<span style="color: #006600;">value</span>.<span style="color: #006600;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">return</span> mySlider.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #339933;">+</span> myWindow.<span style="color: #006600;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// alerts 'textfield-value:102'</span>
&nbsp;
mySlider.<span style="color: #006600;">value</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// alerts 'textfield-value:120'</span>
&nbsp;
myWindow.<span style="color: #006600;">width</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// alerts 'textfield-value:220'</span></pre></td></tr></table></div>



<p>Cool isn&#8217;t it? Unfortunately <code>function.caller</code> is not an <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"><span class="caps">ECMA </span>standard</a>, so not all javascript engine have that feature. Opera and Rhino don&#8217;t have it. But fortunately we have it in Firefox, IE and Safari, so may be it is big enough to be considered. What do you think?</p>

<p><b>update:</b> Opera 10 will support this! Hooraay!</p>

<p>I hope this article is useful to you.</p>

<p>Mutable.js is available <a href="http://github.com/raid-ox/mutable.js/tree/master">here</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2009/03/binding-getter-setter-and-mutablejs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Chain.js V0.2 is out</title>
		<link>http://rizqi.namaku.de/2008/10/chainjs-v02-is-out/</link>
		<comments>http://rizqi.namaku.de/2008/10/chainjs-v02-is-out/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 14:39:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

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

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

		<category><![CDATA[chain.js]]></category>

		<category><![CDATA[data binding]]></category>

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=27</guid>
		<description><![CDATA[OK people,

now V0.2 is out!

Many new features. Many Bug fixes.
Now the documentation is in the source code. Using ScriptDoc (sort
of). Ive created a ScriptDoc parser so that it will automatically
generated into html file (resides in doc/static).

This time we replace shell scripting with javascript shell scripting
for code generating, using Rhino.
read this for more information.

if you want [...]]]></description>
			<content:encoded><![CDATA[<p>OK people,</p>

<p>now <span class="caps">V0.2 </span>is out!</p>

<p>Many new features. Many Bug fixes.<br />
Now the documentation is in the source code. Using ScriptDoc (sort<br />
of). Ive created a ScriptDoc parser so that it will automatically<br />
generated into html file (resides in doc/static).</p>

<p>This time we replace shell scripting with javascript shell scripting<br />
for code generating, using Rhino.<br />
read <a href="http://peter.michaux.ca/article/2982">this</a> for more information.</p>

<p>if you want to know more, just see it yourself (see changelog):<br />
<a href="http://github.com/raid-ox/chain.js/tree/v0.2-stable">http://github.com/raid-ox/chain.js/tree/v0.2-stable</a></p>

<p>it still backward compatible.</p>

<p>new documentation <a href="http://code.riiv.net/chain.js/doc/static/">here</a></p>

<p>enjoy </p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/10/chainjs-v02-is-out/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Great Chain.js Tutorial by Jimmy</title>
		<link>http://rizqi.namaku.de/2008/09/great-chainjs-tutorial-by-jimmy/</link>
		<comments>http://rizqi.namaku.de/2008/09/great-chainjs-tutorial-by-jimmy/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 09:17:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

		<category><![CDATA[chain.js]]></category>

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

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=26</guid>
		<description><![CDATA[Jimmy Vu from Javascriptly has posted a great tutorial on working with chain.js. Check this out!

For v0.1:
http://javascriptly.com/2008/08/a-better-javascript-template-engine/
Updated to v0.2:
http://javascriptly.com/2008/09/chainjs-02-updated-examples/

Thanks for the article!]]></description>
			<content:encoded><![CDATA[<p>Jimmy Vu from <a href="http://javascriptly.com">Javascriptly</a> has posted a great tutorial on working with chain.js. Check this out!</p>

<p>For v0.1:<br />
<a href="http://javascriptly.com/2008/08/a-better-javascript-template-engine/">http://javascriptly.com/2008/08/a-better-javascript-template-engine/</a><br />
Updated to v0.2:<br />
<a href="http://javascriptly.com/2008/09/chainjs-02-updated-examples/">http://javascriptly.com/2008/09/chainjs-02-updated-examples/</a></p>

<p>Thanks for the article!</p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/09/great-chainjs-tutorial-by-jimmy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ZParse Reloaded</title>
		<link>http://rizqi.namaku.de/2008/08/zparse-reloaded/</link>
		<comments>http://rizqi.namaku.de/2008/08/zparse-reloaded/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 23:10:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=25</guid>
		<description><![CDATA[Recently I did a check to the statistics. I found out that many people are looking for zparse. So I reuploaded the source and of course the documentation.]]></description>
			<content:encoded><![CDATA[<p>Recently I did a check to the statistics. I found out that many people are looking for zparse. So I reuploaded the <a href="http://code.riiv.net/zparse/zparse.zip">source</a> and of course the <a href="http://code.riiv.net/zparse/">documentation</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/08/zparse-reloaded/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tab Interface Using Chain.js</title>
		<link>http://rizqi.namaku.de/2008/08/tab-interface-using-chainjs/</link>
		<comments>http://rizqi.namaku.de/2008/08/tab-interface-using-chainjs/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 11:23:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

		<category><![CDATA[chain.js]]></category>

		<category><![CDATA[interaction.js]]></category>

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=18</guid>
		<description><![CDATA[Creating Tab Interface using chain.js and interface.js is pretty simple. Because chain.js is unobtrusive, we can start with the design first.



We start with the html code.


1
2
3
4
5
6
7
&#60;div id=&#34;tabs&#34;&#62;
	&#60;div class=&#34;tab&#34;&#62;&#60;span class=&#34;title&#34;&#62;Title&#60;/span&#62;&#60;/div&#62;
	&#60;div style=&#34;clear:both;&#34;&#62;&#60;/div&#62;
&#60;/div&#62;
&#60;div id=&#34;content&#34;&#62;
	&#60;div class=&#34;content&#34;&#62;Content goes here.&#60;/div&#62;
&#60;/div&#62;




#tabs ist the container of the tabs, containing &#60;div class=&#34;tab&#34;&#62;, a prototype of our tab item.
And we put a clear div, because [...]]]></description>
			<content:encoded><![CDATA[<p>Creating Tab Interface using <a href="http://github.com/raid-ox/chain.js/wikis/">chain.js</a> and <a href="http://github.com/raid-ox/interface.js/wikis/">interface.js</a> is pretty simple. Because <a href="http://github.com/raid-ox/chain.js/wikis/">chain.js</a> is unobtrusive, we can start with the design first.</p>

<p><span id="more-18"></span></p>

<p>We start with the html code.</p>


<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="javascript"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;tabs&quot;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>div <span style="color: #003366; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;tab&quot;</span><span style="color: #339933;">&gt;&lt;</span>span <span style="color: #003366; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;title&quot;</span><span style="color: #339933;">&gt;</span>Title<span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>div style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;clear:both;&quot;</span><span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;content&quot;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>div <span style="color: #003366; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;content&quot;</span><span style="color: #339933;">&gt;</span>Content goes here.<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>




<p><code>#tabs</code> ist the container of the tabs, containing <code>&lt;div class=&quot;tab&quot;&gt;</code>, a prototype of our tab item.<br />
And we put a clear div, because we plan to make the tab horizontal aligned with <code>float:left</code>.</p>

<p>To make it more stylish, we add some css to it.</p>


<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
</pre></td><td class="code"><pre class="css"><span style="color: #6666ff;">.tab</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">float</span><span style="color: #66cc66;">:</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">cursor</span><span style="color: #66cc66;">:</span> <span style="color: #993333;">pointer</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #66cc66;">:</span> <span style="color: #cc00cc;">#0080FF</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span> <span style="color: #3333ff;">:<span style="color: #933;">3px</span></span> <span style="color: #933;">10px</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">margin-right</span><span style="color: #66cc66;">:</span> <span style="color: #933;">5px</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #66cc66;">:</span> <span style="color: #993333;">white</span><span style="color: #66cc66;">;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#content</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #66cc66;">:</span> <span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#0080FF</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #66cc66;">:</span> <span style="color: #933;">5px</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">min-height</span><span style="color: #66cc66;">:</span> <span style="color: #933;">30px</span><span style="color: #66cc66;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #66cc66;">:</span> <span style="color: #933;">500px</span><span style="color: #66cc66;">;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>




<p>Now the tab widget should look like this:</p>

<div class="imageframe " style="width:432px;"><a href="http://rizqi.namaku.de/wp-content/uploads/2008/08/tabs1.gif" title="Tab 1"><img src="http://rizqi.namaku.de/wp-content/uploads/2008/08/tabs1.gif" alt="Tab 1" width="432" height="61" class="attachment wp-att-19" /></a><div class="imagecaption"></div></div>

<p>Now lets add some magic :D. The tab interface will be chained to the data.</p>


<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="javascript">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#tabs'</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab1'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'&lt;b&gt;Testing&lt;/b&gt; With Tab 1'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab2'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'Does it work?'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Another Tab'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'It &lt;i&gt;seems&lt;/i&gt; to &lt;b&gt;work&lt;/b&gt;'</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




Lets take a look at what it does:<br />
<div class="imageframe " style="width:500px;"><a href="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-1.png" title="Tab 2"><img src="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-1.png" alt="Tab 2" width="500"  class="attachment wp-att-20" /></a><div class="imagecaption"></div></div>

<p>Hmm, something is wrong! The <code>&lt;div style=&quot;clear:both;&quot;&gt;</code> is gone! We have to do some workarounds.</p>


<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="javascript"><span style="color: #003366; font-weight: bold;">var</span> divclear <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// The clear:both</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#tabs'</span><span style="color: #009900;">&#41;</span>
	<span style="color: #006600; font-style: italic;">// The Workaround</span>
	.<span style="color: #006600;">update</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'anchor'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">append</span><span style="color: #009900;">&#40;</span>divclear<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab1'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'&lt;b&gt;Testing&lt;/b&gt; With Tab 1'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab2'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'Does it work?'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Another Tab'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'It &lt;i&gt;seems&lt;/i&gt; to &lt;b&gt;work&lt;/b&gt;'</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




<p>So it will append the css clear each time the tabs is updated. Now it looks like this:</p>

<div class="imageframe " style="width:500px;"><a href="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-2.png" title="Tab 3"><img src="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-2.png" alt="Tab 3" width="500" class="attachment wp-att-22" /></a><div class="imagecaption"></div></div>

<p>To make the tab selectable, lets add <code>selectable()</code> and add some css.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="css"><span style="color: #6666ff;">.tab</span><span style="color: #6666ff;">.selected</span> <span style="color: #66cc66;">&#123;</span><span style="color: #000000; font-weight: bold;">background</span><span style="color: #66cc66;">:</span> <span style="color: #cc00cc;">#3D3DFF</span><span style="color: #66cc66;">;</span><span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>




<p>now the javascript looks like this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> divclear <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// The clear:both</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#tabs'</span><span style="color: #009900;">&#41;</span>
	<span style="color: #006600; font-style: italic;">// The Workaround</span>
	.<span style="color: #006600;">update</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'anchor'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">append</span><span style="color: #009900;">&#40;</span>divclear<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab1'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'&lt;b&gt;Testing&lt;/b&gt; With Tab 1'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab2'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'Does it work?'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Another Tab'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'It &lt;i&gt;seems&lt;/i&gt; to &lt;b&gt;work&lt;/b&gt;'</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">selectable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>required<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




<p>The actual progress:</p>

<div class="imageframe " style="width:500px;"><a href="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-3.png" title="Tab 4"><img src="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-3.png" alt="Tab 4" width="500" height="72" class="attachment wp-att-23" /></a><div class="imagecaption"></div></div>

<p>Now you can select tabs, but still the content wont change. lets link the content below to the tabs.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'link'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#tabs'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'selected'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




<p>Viola! you have a tabbed interface. Pretty easy, isn&#8217;t it?</p>

<div class="imageframe " style="width:500px;"><a href="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-4.png" title="Tab 5"><img src="http://rizqi.namaku.de/wp-content/uploads/2008/08/picture-4.png" alt="Tab 5" width="500" height="80" class="attachment wp-att-24" /></a><div class="imagecaption"></div></div>

<p>You can make your tabs sortable etc. pretty easily, just with <code>sortable()</code>. Now the full javascript code with sortable.</p>


<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
</pre></td><td class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> divclear <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// The clear:both</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#tabs'</span><span style="color: #009900;">&#41;</span>
	<span style="color: #006600; font-style: italic;">// Workaround for float. Clearing tab each time it is updated</span>
	.<span style="color: #006600;">update</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'anchor'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">append</span><span style="color: #009900;">&#40;</span>divclear<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab1'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'&lt;b&gt;Testing&lt;/b&gt; With Tab 1'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Tab2'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'Does it work?'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">'Another Tab'</span><span style="color: #339933;">,</span> content<span style="color: #339933;">:</span><span style="color: #3366CC;">'It &lt;i&gt;seems&lt;/i&gt; to &lt;b&gt;work&lt;/b&gt;'</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">selectable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>required<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">draggable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>axis<span style="color: #339933;">:</span><span style="color: #3366CC;">'x'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">sortable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>align<span style="color: #339933;">:</span><span style="color: #3366CC;">'horizontal'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'link'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#tabs'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'selected'</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




<p>take a look at the full demo <a href="http://code.riiv.net/demos/tabs.html">here</a></p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/08/tab-interface-using-chainjs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Data Binding Solution for jQuery</title>
		<link>http://rizqi.namaku.de/2008/08/data-binding-solution-for-jquery/</link>
		<comments>http://rizqi.namaku.de/2008/08/data-binding-solution-for-jquery/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 23:01:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

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

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

		<category><![CDATA[chain.js]]></category>

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

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=17</guid>
		<description><![CDATA[I am proud to announce the first release of my new project called chain.js. But before we continue, I would like to write some introduction to data binding. ;p


If you want to skip this article and go directly to the wiki, click here




Data binding is an important part of our life as developer. Our job [...]]]></description>
			<content:encoded><![CDATA[<p>I am proud to announce the first release of my new project called <a href="http://github.com/raid-ox/chain.js/wikis">chain.js</a>. But before we continue, I would like to write some introduction to data binding. ;p</p>

<div style="background:#DCE9F4;padding:0.5em; margin-right: 20px;">
If you want to skip this article and go directly to the wiki, <a href="http://github.com/raid-ox/chain.js/wikis">click here</a><br />
</div>

<p><span id="more-17"></span></p>

<p>Data binding is an important part of our life as developer. Our job is to feed the users with data in a way so that they can work with it.</p>

<p>In the <i>Server Side Age</i> this binding is done in the server, usually using templates.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php"><span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;contact&quot;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>div<span style="color: #339933;">&gt;&lt;</span>?php <span style="color: #990000;">echo</span> <span style="color: #000033;">$name</span> ?<span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>div<span style="color: #339933;">&gt;&lt;</span>?php <span style="color: #990000;">echo</span> <span style="color: #000033;">$address</span> ?<span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>




<p>Nowadays, in Ajax world, we move all of this to the client side and with only one scripting language: javascript. Javascript doesn&#8217;t provide tool for binding data to html efficiently (not mentioning <span class="caps">E4X</span>). Still there are some ways to do this.</p>

<h4>Using Templates</h4>

<p>With the help of javascript libraries, you can do templates to bind your data to html.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> template <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&lt;div class='contact'&gt;&lt;div&gt;{name}&lt;/div&gt;&lt;div&gt;{address}&lt;/div&gt;&lt;/div&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> templateFunction <span style="color: #339933;">=</span> parseTemplate<span style="color: #009900;">&#40;</span>template<span style="color: #009900;">&#41;</span>
document.<span style="color: #006600;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">innerHTML</span> <span style="color: #339933;">=</span> templateFunction<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<p>This method can be considered as the fastest way to generate content, since the innerHTML method is very fast. The real disadvantage of it is that it <span style="color: red;">doesn&#8217;t play well with event</span>. You can attach event to the generate content, but whenever the data changes, the whole content needs to be refreshed and the attached events will be lost.</p>

<h4>The <span class="caps">DOM</span> Way of Life</h4>

<p>A better method to bind data to the html is using <span class="caps">DOM.</span> With <span class="caps">DOM </span>you can manipulate the html using various <span class="caps">DOM </span>methods. This way, you can work with the various <span class="caps">DOM </span>events and use the interaction capabilities it offers and make your web application feels more dynamic.<br />
However , there are some hassles of doing it this way. First, there are some incompatibilities between browsers and sometimes <span style="color: red">it can get very complex and ugly</span>.</p>


<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="javascript"><span style="color: #003366; font-weight: bold;">var</span> contact <span style="color: #339933;">=</span> document.<span style="color: #006600;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
contact.<span style="color: #006600;">className</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'contact'</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066;">name</span> <span style="color: #339933;">=</span> document.<span style="color: #006600;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">name</span>.<span style="color: #006600;">innerHTML</span> <span style="color: #339933;">=</span> data.<span style="color: #000066;">name</span><span style="color: #339933;">;</span>
contact.<span style="color: #006600;">appendChild</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> address <span style="color: #339933;">=</span> document.<span style="color: #006600;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'address'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
address.<span style="color: #006600;">innerHTML</span> <span style="color: #339933;">=</span> data.<span style="color: #006600;">address</span><span style="color: #339933;">;</span>
contact.<span style="color: #006600;">appendChild</span><span style="color: #009900;">&#40;</span>address<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>




<p>Fortunately there are some great javascript libraries like jQuery.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div class=&quot;contact&quot;&gt;&lt;div class=&quot;name&quot;/&gt;&lt;div class=&quot;address&quot; /&gt;&lt;/div&gt;'</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.name'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">text</span><span style="color: #009900;">&#40;</span>data.<span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">end</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	.<span style="color: #006600;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.address'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">text</span><span style="color: #009900;">&#40;</span>data.<span style="color: #006600;">address</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<p>But still, it gets repetitive if you have a lot of modules.</p>

<p>The solution I came up with for this problem is <a href="http://github.com/raid-ox/chain.js/wikis">chain.js</a>.<br />
Chain.js provides automation service for this kind of tasks, and spare you from repetitive tasks.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;library&quot; /&gt;&lt;/li&gt;&lt;/ul&gt;'</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
        <span style="color: #009900;">&#123;</span>library<span style="color: #339933;">:</span><span style="color: #3366CC;">'Prototype'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        <span style="color: #009900;">&#123;</span>library<span style="color: #339933;">:</span><span style="color: #3366CC;">'jQuery'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        <span style="color: #009900;">&#123;</span>library<span style="color: #339933;">:</span><span style="color: #3366CC;">'Dojo'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        <span style="color: #009900;">&#123;</span>library<span style="color: #339933;">:</span><span style="color: #3366CC;">'MooTools'</span><span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<p>Chain.js isn&#8217;t just bind data automatically  to your <span class="caps">HTML, </span>but it also maintains and manages your data/items.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> data <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>first<span style="color: #339933;">:</span><span style="color: #3366CC;">'Stephen'</span><span style="color: #339933;">,</span> last<span style="color: #339933;">:</span><span style="color: #3366CC;">'Hawking'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Add one item</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#persons'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'add'</span><span style="color: #339933;">,</span> data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Remove item</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#persons'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">items</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'remove'</span><span style="color: #339933;">,</span> data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<p>Chain.js updates the View automatically (and in an efficient way) each time you add or remove data.<br />
And the best of it is that your event won&#8217;t be gone during the updates.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div&gt;&lt;div class=&quot;name&quot;&gt;Name&lt;/div&gt;&lt;div class=&quot;address&quot;&gt;Address&lt;/div&gt;&lt;/div&gt;'</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'Steve Jobs'</span><span style="color: #339933;">,</span> address<span style="color: #339933;">:</span><span style="color: #3366CC;">'Cupertino'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #006600;">chain</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> data <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'name:'</span><span style="color: #339933;">+</span>data.<span style="color: #000066;">name</span><span style="color: #339933;">+</span><span style="color: #3366CC;">', address:'</span><span style="color: #339933;">+</span>data.<span style="color: #006600;">address</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<p>and of course there are many more features. just visit the <a href="http://github.com/raid-ox/chain.js/wikis">wiki page</a></p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/08/data-binding-solution-for-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Entenrennen</title>
		<link>http://rizqi.namaku.de/2008/04/entenrennen/</link>
		<comments>http://rizqi.namaku.de/2008/04/entenrennen/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 18:16:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Project]]></category>

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

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=14</guid>
		<description><![CDATA[Yesterday I met people from Interact-Harburg and Rotary-Hamburg discussing the Poster I made for their recent campaign &#8220;Entenrennen&#8221;. Entenrennen is a campaign organized by the youth of Interact-Harburg in order to support the Wellcome Project, a project that is dedicated to support young families.With the Entenrennen Project they try to collect some money by organizing [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I met people from Interact-Harburg and Rotary-Hamburg discussing the Poster I made for their recent campaign &#8220;Entenrennen&#8221;. Entenrennen is a campaign organized by the youth of Interact-Harburg in order to support the Wellcome Project, a project that is dedicated to support young families.<span id="more-14"></span>With the Entenrennen Project they try to collect some money by organizing a lot. With the support from Rotary-Hamburg they got a lot of sponsors who are willing to contribute for the prizes. So in my eyes this project is pretty interesting.</p>

<p>This is the first proposal drawn by Gonzales, an exchange student from Argentina:</p>

<p><span class="Apple-style-span" style="text-decoration: underline; color: #0000ee;"><a href="http://rizqi.namaku.de/wp-content/uploads/2008/04/27020601-copy.jpg"><img class="alignnone size-medium wp-image-15" title="Entenrennen Sketch" src="http://rizqi.namaku.de/wp-content/uploads/2008/04/27020601-copy-214x300.jpg" alt="" width="214" height="300" /></a>
</span></p>

<p>And this is a final poster vectorized by me:</p>

<p><a href="http://rizqi.namaku.de/wp-content/uploads/2008/04/entenrennen-plakat.jpg"><img class="alignnone size-medium wp-image-16" style="border: 0px initial initial;" title="entenrennen-plakat" src="http://rizqi.namaku.de/wp-content/uploads/2008/04/entenrennen-plakat-212x300.jpg" alt="" width="212" height="300" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/04/entenrennen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABI09</title>
		<link>http://rizqi.namaku.de/2008/04/abi09/</link>
		<comments>http://rizqi.namaku.de/2008/04/abi09/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 21:49:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Event]]></category>

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

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

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

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=11</guid>
		<description><![CDATA[In a &#8220;Stufensitzung&#8221; today, we cleared up some things about the events and the organisations. Some (I don&#8217;t remember all of them :D) the upcoming events and tasks are:

	Abizeitung
	Abi T-Shirt
	Abi Party
	Abi Denkmal
	Abi Ball
	Entlassung

I joined the Abizeitung-Team for creating an ABI Magazine. Of course not those writing things, but for the Layout baby! so I am [...]]]></description>
			<content:encoded><![CDATA[In a &#8220;Stufensitzung&#8221; today, we cleared up some things about the events and the organisations. Some (I don&#8217;t remember all of them :D) the upcoming events and tasks are:<span id="more-11"></span><br />
<ol>
	<li>Abizeitung</li>
	<li>Abi T-Shirt</li>
	<li>Abi Party</li>
	<li>Abi Denkmal</li>
	<li>Abi Ball</li>
	<li>Entlassung</li>
</ol>
I joined the Abizeitung-Team for creating an <span class="caps">ABI</span> Magazine. Of course not those writing things, but for the Layout baby! so I am sure this time the Zeitung won&#8217;t be suck (being optimistic :P).

<p>We also decided that we need a website (or a blog) to ease up the communication and as always I am pointed to do that. I don&#8217;t want to put it off, so I did it today in a marathon. The design is finished so far and it is also implemented for the most part. For the <span class="caps">CMS</span> I use wordpress as a matter of course!</p>

<p><a href="http://rizqi.namaku.de/wp-content/uploads/2008/04/picture-2.png"><img class="alignnone size-medium wp-image-12" title="ABI09 Screenshot" src="http://rizqi.namaku.de/wp-content/uploads/2008/04/picture-2-300x171.png" alt="" width="300" height="171" /></a></p>

<p>.</p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/04/abi09/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Situs Baru</title>
		<link>http://rizqi.namaku.de/2008/04/situs-baru/</link>
		<comments>http://rizqi.namaku.de/2008/04/situs-baru/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 16:03:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

		<guid isPermaLink="false">http://rizqi.namaku.de/?p=9</guid>
		<description><![CDATA[Akhirnya, hasil jerih payah bikin design baru (cieeh), jadilah situs baru ku. Tanpa sebab yang diketahui, situs2 ku yang dihost di 1blu.de lenyap. Kemarin saya berusaha mengkontak jasa hosting tersebut, namun sampai sekarang belum ada jawaban.

Tapi ya sudah lah, wong situs yang lama gak ada isinya ini, hehe.. Yang penting sih sebenernya cuman proyekku &#8220;foo&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>Akhirnya, hasil jerih payah bikin design baru (cieeh), jadilah situs baru ku. Tanpa sebab yang diketahui, situs2 ku yang dihost di 1blu.de lenyap. Kemarin saya berusaha mengkontak jasa hosting tersebut, namun sampai sekarang belum ada jawaban.<span id="more-9"></span></p>

<p>Tapi ya sudah lah, wong situs yang lama gak ada isinya ini, hehe.. Yang penting sih sebenernya cuman proyekku &#8220;foo&#8221;. Cuman kalau dipikir2 ya sampai sekarang belum di update lagi, dan pemakai juga ga ada. Ya ikhlas aja deh, toh dengan hilangnya site itu saya jadi tergugah untuk membuat website baru.</p>

<p>Tapi sepertinya bikin website aja ga ada gunanya kalau gak di update, jadi sekarang saya bertekad untuk mengupdate site ini! Jadi untuk itu tolong support saya dengan memberikan comments2 yg membangun ok?</p>

<p>Salam &amp; Enjoy</p>]]></content:encoded>
			<wfw:commentRss>http://rizqi.namaku.de/2008/04/situs-baru/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

