<?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>Clientcide (Formerly CNET's Clientside) &#187; Optimization</title>
	<atom:link href="http://www.clientcide.com/category/best-practices/optimization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.clientcide.com</link>
	<description>Making stuff work on the other side of the request.</description>
	<lastBuildDate>Fri, 06 Jan 2012 17:03:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Clientside Image Compression</title>
		<link>http://www.clientcide.com/best-practices/optimization/clientside-image-compression/</link>
		<comments>http://www.clientcide.com/best-practices/optimization/clientside-image-compression/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 15:57:34 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=875</guid>
		<description><![CDATA[Over the last year of consulting I&#8217;ve done several jobs where I didn&#8217;t have access to the images used by the site. In one case it was 3rd party software and I was just enhancing the user experience through JavaScript, in another case the images were created dynamically by the server. In yet another case [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/best-practices/optimization/clientside-image-compression/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Sly, the Latest CSS Selector Engine</title>
		<link>http://www.clientcide.com/3rd-party-libraries/sly-the-latest-ccs-selector-engine/</link>
		<comments>http://www.clientcide.com/3rd-party-libraries/sly-the-latest-ccs-selector-engine/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 20:48:27 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[3rd Party Libraries]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=860</guid>
		<description><![CDATA[There&#8217;s been a lot of churn on selector engines in the last six months or so. The jQuery guys released a stand alone library (Sizzle) which was adopted by a lot of other frameworks (it&#8217;s now a part of the Dojo Foundation) including Prototype, Dojo, jQuery (obviously) and others.
There was a lot of hullabaloo when [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/3rd-party-libraries/sly-the-latest-ccs-selector-engine/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Repeat Your Moo</title>
		<link>http://www.clientcide.com/best-practices/optimization/dont-repeat-your-moo/</link>
		<comments>http://www.clientcide.com/best-practices/optimization/dont-repeat-your-moo/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 16:28:21 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=843</guid>
		<description><![CDATA[There&#8217;s a fantastic post over on devthought by MooTools developer Guillermo Rauch that I just had to share.
Given the Object-Oriented nature of the MooTools framework, code repetition is something that is long forgotten (or should be) in the scripts your write. With the avoidance of code repetition comes code reusability, which results in your website [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/best-practices/optimization/dont-repeat-your-moo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Comparing Frameworks with Inheritance Benchmarking</title>
		<link>http://www.clientcide.com/best-practices/optimization/comparing-frameworks-with-inheritance-benchmarking/</link>
		<comments>http://www.clientcide.com/best-practices/optimization/comparing-frameworks-with-inheritance-benchmarking/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 17:57:56 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=811</guid>
		<description><![CDATA[Over on Ajaxian yesterday was a post about benchmarking inheritance methods that was pretty interesting (here&#8217;s the post that Ajaxian was covering). In it, various methods for extending objects in JavaScript are compared:


Ad hoc inheritance &#8211; This is a common(?) homebrew technique for allowing prototypes to leverage the code in objects further up the prototype-food [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/best-practices/optimization/comparing-frameworks-with-inheritance-benchmarking/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>For your consideration: $type methods</title>
		<link>http://www.clientcide.com/3rd-party-libraries/for-your-consideration-type-methods/</link>
		<comments>http://www.clientcide.com/3rd-party-libraries/for-your-consideration-type-methods/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 18:44:30 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[3rd Party Libraries]]></category>
		<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=728</guid>
		<description><![CDATA[I don&#8217;t know why, but I find myself annoyed very slightly by having to type this often:
if ($type(&#039;foo&#039;) == &#039;string&#039;) ...
On a lark, I whipped this up:
$type.types = [&#039;string&#039;, &#039;element&#039;, &#039;textnode&#039;, &#039;whitespace&#039;, &#039;arguments&#039;,
	 &#039;array&#039;, &#039;object&#039;, &#039;string&#039;, &#039;number&#039;, &#039;date&#039;, &#039;boolean&#039;,
	 &#039;function&#039;, &#039;regexp&#039;, &#039;class&#039;, &#039;collection&#039;, &#039;window&#039;,
	 &#039;document&#039;].map(function(type){
	$type[type] = function(val) {
		return $type(val) == type;
	};
	return type;
});
This provides the ability [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/3rd-party-libraries/for-your-consideration-type-methods/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Dojo&#8217;s Dylan Schiemann and jQuery&#8217;s John Resig On My Sizzle Post</title>
		<link>http://www.clientcide.com/best-practices/dojos-dylan-schiemann-and-jquerys-john-resig-on-my-sizzle-post/</link>
		<comments>http://www.clientcide.com/best-practices/dojos-dylan-schiemann-and-jquerys-john-resig-on-my-sizzle-post/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 18:52:49 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA['Industry' News]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=564</guid>
		<description><![CDATA[Dylan Schiemann sent me a nice email response to this post that clears up some details:
Hey Aaron,
We&#8217;re actually voting on something different, which is whether or not
the Dojo Foundation will accept Sizzle as a project (Dojo Toolkit,
cometD, DWR, Persevere, Lucid Desktop, and OpenRecord are the other Dojo
Foundation projects).
So why does this matter?  Well, it [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/best-practices/dojos-dylan-schiemann-and-jquerys-john-resig-on-my-sizzle-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sizzle Power in MooTools?</title>
		<link>http://www.clientcide.com/industry-news/sizzle-power-in-mootools/</link>
		<comments>http://www.clientcide.com/industry-news/sizzle-power-in-mootools/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 04:18:13 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA['Industry' News]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.clientcide.com/?p=552</guid>
		<description><![CDATA[There&#8217;s a lovely post on Ajaxian today that the Dojo community is now voting on whether or not to swap out their own selector engine for Sizzle, Jon Resig&#8217;s CSS selector engine. Several other frameworks are considering doing the same thing. jQuery is using it already of course, but Prototype, MochiKit and others are all [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/industry-news/sizzle-power-in-mootools/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Class::Binds Mutator</title>
		<link>http://www.clientcide.com/best-practices/organizing-code/classbinds-mutator/</link>
		<comments>http://www.clientcide.com/best-practices/organizing-code/classbinds-mutator/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 16:32:45 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Organizing Code]]></category>

		<guid isPermaLink="false">http://clientside.cnet.com/best-practices/organizing-code/classbinds-mutator/</guid>
		<description><![CDATA[Jan Kassens, a MooTools contributor, has posted a nifty little trick to help you automatically bind methods to a class. Usually when we reference a method of a class when adding an event, we bind &#8220;this&#8221; to it to keep our reference to the class (this.addEvent(&#8216;onComplete&#8217;, this.complete.bind(this))). This is great until we want to remove [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/best-practices/organizing-code/classbinds-mutator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error handling in javascript</title>
		<link>http://www.clientcide.com/uncategorized/error-handling-in-javascript/</link>
		<comments>http://www.clientcide.com/uncategorized/error-handling-in-javascript/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 20:49:41 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Server-side Integration]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clientside.cnet.com/uncategorized/error-handling-in-javascript/</guid>
		<description><![CDATA[I was helping someone today with their javascript and they asked me about how and when I manage errors in the classes and functions that I write. I wrote him back an email which I think actually could be useful to others, so here it is.
There are three types of error handling that I use:

Graceful: [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/uncategorized/error-handling-in-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Contextual Precaching</title>
		<link>http://www.clientcide.com/industry-news/contextual-precaching/</link>
		<comments>http://www.clientcide.com/industry-news/contextual-precaching/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 19:37:37 +0000</pubDate>
		<dc:creator>Aaron N.</dc:creator>
				<category><![CDATA['Industry' News]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://clientside.cnet.com/industry-news/contextual-precaching/</guid>
		<description><![CDATA[Precaching isn&#8217;t anything new; we were cramming 1&#215;1 pixel versions of our graphics into the footer of our home page back in the day so that after the user clicked through from our splash screen the home page would load quickly. Ahhh, the good ole&#8217; days.
Anyway, Ajaxian has a post up today on a new [...]]]></description>
		<wfw:commentRss>http://www.clientcide.com/industry-news/contextual-precaching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

