<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Amir Harel</title>
	<atom:link href="http://www.amirharel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.amirharel.com</link>
	<description>Tales of a JavaScript Ninja</description>
	<lastBuildDate>Fri, 25 Jan 2013 14:06:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Binding Events The Right Way</title>
		<link>http://www.amirharel.com/2012/03/19/binding-events-the-right-way/</link>
		<comments>http://www.amirharel.com/2012/03/19/binding-events-the-right-way/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 23:58:29 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[binding]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=379</guid>
		<description><![CDATA[On of the interesting new things that Javascript 1.8.5 introduced is something that we were doing for long time &#8211; binding functions to events while controlling the context of called method. If up until now we used tricks like closures to create this binding, now this is built into the language. Binding Events This is [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2012/03/19/binding-events-the-right-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading Scripts &#8211; Sync or Async</title>
		<link>http://www.amirharel.com/2012/03/12/loading-scripts-sync-or-async/</link>
		<comments>http://www.amirharel.com/2012/03/12/loading-scripts-sync-or-async/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 22:08:33 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=365</guid>
		<description><![CDATA[In many programming languages we have the concept of including files/scripts in a project. This means that the compiler or the interpreter needs to fetch and read another file. This is one of the building blocks of modern programming. In JavaScript we don&#8217;t have an actual include but we can add scripts to the DOM [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2012/03/12/loading-scripts-sync-or-async/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Comparing Javascript Objects</title>
		<link>http://www.amirharel.com/2012/03/10/comparing-javascript-objects/</link>
		<comments>http://www.amirharel.com/2012/03/10/comparing-javascript-objects/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 23:14:37 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[objects]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=352</guid>
		<description><![CDATA[If you ever had the need to compare two javascript object you know that this is not an easy task. Javascript compare objects by reference, so only if it is the same object the javascript compare will return true. The Problem The simple solution to compare two object is to iterate on the properties and [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2012/03/10/comparing-javascript-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BabaJS &#8211; Javascript Template Engine</title>
		<link>http://www.amirharel.com/2011/04/26/babajs/</link>
		<comments>http://www.amirharel.com/2011/04/26/babajs/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 00:08:34 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[templating]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=306</guid>
		<description><![CDATA[What is BabaJS BabaJS is an open source Javascript template engine/manager. Read the full and updated documentation at github The basic concept is: Template + Data = HTML Here is a simple example: &#60;!-- user template --&#62; &#60;div class=&#34;user&#34;&#62; &#60;span&#62;&#60;%=data.userName%&#62;&#60;/span&#62; &#60;%IF data.hasPic %&#62; &#60;img src=&#34;&#60;% return &#039;http://imgs.mydomain.com/&#039;+ data.userPic; %&#62;&#34; /&#62; &#60;%ELSE%&#62; &#60;span&#62;Add User Pic&#60;/span&#62; &#60;%ENDIF%&#62; [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2011/04/26/babajs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing Autocomplete jQuery Plugin for Textarea</title>
		<link>http://www.amirharel.com/2011/03/07/implementing-autocomplete-jquery-plugin-for-textarea/</link>
		<comments>http://www.amirharel.com/2011/03/07/implementing-autocomplete-jquery-plugin-for-textarea/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 00:21:21 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=265</guid>
		<description><![CDATA[We all know the auto-complete feature. We use it in google search, when google tries to suggest our search term, and you probably saw it in many other sites which implemented the auto-complete for their own use. Most of the auto-complete out there are implemented in a text field, where the user has one line [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2011/03/07/implementing-autocomplete-jquery-plugin-for-textarea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create your own AjaxStore with XMLHttpRequest Level 2</title>
		<link>http://www.amirharel.com/2011/01/23/create-your-own-ajaxstore-with-xmlhttprequest-level-2/</link>
		<comments>http://www.amirharel.com/2011/01/23/create-your-own-ajaxstore-with-xmlhttprequest-level-2/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 23:44:48 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[xmlhttprequest]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=256</guid>
		<description><![CDATA[One of the most interesting things to me that HTML5 has introduced is the XMLHttpRequest Level 2, and more specific the cross-origin requests. Up until now the browser vendors enforced cross-origin requests due to security reasons. The only way for a web page to talk to another web page outside of its domain was either [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2011/01/23/create-your-own-ajaxstore-with-xmlhttprequest-level-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beware of the prototype properties</title>
		<link>http://www.amirharel.com/2010/12/14/beware-of-the-prototype-properties/</link>
		<comments>http://www.amirharel.com/2010/12/14/beware-of-the-prototype-properties/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 23:10:34 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=246</guid>
		<description><![CDATA[First of all I&#8217;m sorry that I haven&#8217;t wrote for a long time, I&#8217;ve been busy, but since I realized that is never going to change (at least not before the kids will move out of the house) I better continue write post even when I don&#8217;t have time. So I guess the post will [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2010/12/14/beware-of-the-prototype-properties/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Implementing Multiple Inheritance in Javascript</title>
		<link>http://www.amirharel.com/2010/06/11/implementing-multiple-inheritance-in-javascript/</link>
		<comments>http://www.amirharel.com/2010/06/11/implementing-multiple-inheritance-in-javascript/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 13:07:56 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=229</guid>
		<description><![CDATA[Update First of all I have a new logo and favicon &#8211; it&#8217;s that funky Ninja icon on the top left. It was designed by the gifted designer Liora Darom. I&#8217;ll be happy to provide her contact if someone is interested. It&#8217;s been a while since my last post, usually I try to write more [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2010/06/11/implementing-multiple-inheritance-in-javascript/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Javascript Inheritance</title>
		<link>http://www.amirharel.com/2010/03/22/javascript-inheritance/</link>
		<comments>http://www.amirharel.com/2010/03/22/javascript-inheritance/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 13:02:03 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[object oriented]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=218</guid>
		<description><![CDATA[In this post I will cover the following topics: Understanding how the prototype works Using the prototype for inheritance The Inherit Function Overriding methods In one of my previous post i talked about Object Oriented Javascript , where i mostly talked about class encapsulation. In this post i would like to advance to another important [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2010/03/22/javascript-inheritance/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Debugging Firefox Extension Using Log File</title>
		<link>http://www.amirharel.com/2010/02/21/debugging-firefox-extension-using-log-file/</link>
		<comments>http://www.amirharel.com/2010/02/21/debugging-firefox-extension-using-log-file/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 12:38:32 +0000</pubDate>
		<dc:creator>Amir Harel</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[firefox; extension]]></category>
		<category><![CDATA[local file]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.amirharel.com/?p=210</guid>
		<description><![CDATA[Problog In this post I will cover the following topics: Understanding debug requirements Using the Mozilla preferences service to store debug mode Using Mozilla file I/O to write debug messages into a file In one of me recent post I&#8217;ve talked about how to setup a development environment in Firefox. One of the problems in [...]]]></description>
		<wfw:commentRss>http://www.amirharel.com/2010/02/21/debugging-firefox-extension-using-log-file/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
