<?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>Monday By Noon &#187; JavaScript</title>
	<atom:link href="http://mondaybynoon.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://mondaybynoon.com</link>
	<description>A resource for Web designers and developers to read about and discuss their craft.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>HTML5 Video Player &#8211; Video.js</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20120111%2Fhtml5-video-player-video-js%2F&#038;seed_title=HTML5+Video+Player+%26%238211%3B+Video.js</link>
		<comments>http://mondaybynoon.com/20120111/html5-video-player-video-js/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 13:53:20 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[video.js]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2424</guid>
		<description><![CDATA[HTML5 Video Player &#124; Video.js. Quite an impressive open source implementation of HTML5&#8242;s video. It aims for a cross-browser, consistent implementation of a modern video player. It&#8217;s fully featured and includes a lightweight Flash fallback (yes, that&#8217;s still both applicable and important). Additionally, you can piggyback the CDN-hosted version, or go ahead and do it [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2424&c=1805040638' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2424&c=1805040638' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://videojs.com/?3.0'>HTML5 Video Player | Video.js</a>.</p>
<p><a href='http://videojs.com/?3.0'><img src="http://mondaybynoon.com/wp-content/uploads/video.js.png" alt="video.js" title="video.js" width="1291" height="655" class="alignnone size-full wp-image-2426" /></a></p>
<p>Quite an impressive open source implementation of HTML5&#8242;s <code>video</code>. It aims for a cross-browser, consistent implementation of a modern <code>video</code> player. It&#8217;s fully featured and includes a lightweight Flash fallback (yes, that&#8217;s still both applicable and important).</p>
<p>Additionally, you can piggyback the CDN-hosted version, or go ahead and do it yourself. Lots of good included here.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2424&c=1363720664' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2424&c=1363720664' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20120111/html5-video-player-video-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>scrollorama</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20120102%2Fscrollorama%2F&#038;seed_title=scrollorama</link>
		<comments>http://mondaybynoon.com/20120102/scrollorama/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 13:14:53 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[scrollerama]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2323</guid>
		<description><![CDATA[scrollorama. Yesterday seems to have been the day of project releases. scrollorama is a neat little piece of work that helps you better utilize &#8220;scrolly stuff&#8221;. The demo page outlines just a few things you can do when combined with other great things like lettering.js. Scroll-based behavior changes, when used properly (read: responsibly), can really [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2323&c=1471780578' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2323&c=1471780578' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://johnpolacek.github.com/scrollorama/'>scrollorama</a>.</p>
<p>Yesterday seems to have been the day of project releases. <a href='http://johnpolacek.github.com/scrollorama/'>scrollorama</a> is a neat little piece of work that helps you better utilize &#8220;scrolly stuff&#8221;. The demo page outlines just a few things you can do when combined with other great things like <a href="http://letteringjs.com/">lettering.js</a>.</p>
<p>Scroll-based behavior changes, when used properly (read: responsibly), can really be an integral piece of your UX.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2323&c=1738560820' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2323&c=1738560820' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20120102/scrollorama/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How do JavaScript closures work?</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110624%2Fhow-do-javascript-closures-work%2F&#038;seed_title=How+do+JavaScript+closures+work%3F</link>
		<comments>http://mondaybynoon.com/20110624/how-do-javascript-closures-work/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 12:03:12 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[closures]]></category>
		<category><![CDATA[Stack Overflow]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1760</guid>
		<description><![CDATA[How do JavaScript closures work? &#8211; Stack Overflow. JavaScript is an amazing tool, as evidenced by not only its explosion the past few years, but also the sheer number of highly technical blog articles and posts like these coming out. Closures in JavaScript are often a topic of discussion. It&#8217;s often very confusing to those [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1760&c=1283239219' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1760&c=1283239219' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://stackoverflow.com/questions/111102/how-do-javascript-closures-work">How do JavaScript closures work? &#8211; Stack Overflow</a>.</p>
<p>JavaScript is an amazing tool, as evidenced by not only its explosion the past few years, but also the sheer number of highly technical blog articles and posts like these coming out.</p>
<p>Closures in JavaScript are often a topic of discussion. It&#8217;s often very confusing to those JavaScript writers who are looking to move beyond jQuery and <em>really</em> start to learn JavaScript itself.</p>
<p>There&#8217;s a lot of good information in that thread, but I&#8217;m really liking <a href="http://stackoverflow.com/questions/111102/how-do-javascript-closures-work/111200#111200">the (currently) top voted explanation</a>.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1760&c=1816278806' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1760&c=1816278806' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110624/how-do-javascript-closures-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSLint in Sublime Text 2 on OS X</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110421%2Fjslint-in-sublime-text-2-on-os-x%2F&#038;seed_title=JSLint+in+Sublime+Text+2+on+OS+X</link>
		<comments>http://mondaybynoon.com/20110421/jslint-in-sublime-text-2-on-os-x/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 15:01:11 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Closure Linter]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[JSLint]]></category>
		<category><![CDATA[Sublime Text 2]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1621</guid>
		<description><![CDATA[Sublime Text 2, also known as TextMate 2 in my office, is becoming increasingly useful to me. The only trouble thus far is the lack of community involvement to the extent of TextMate. That&#8217;s to be expected, it&#8217;s an alpha that went cross platform two seconds ago. All that aside though, it&#8217;s an impressive alpha. [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1621&c=990895299' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1621&c=990895299' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>Sublime Text 2, also known as TextMate 2 in my office, is becoming increasingly useful to me. The only trouble thus far is the lack of community involvement to the extent of TextMate. That&#8217;s to be expected, <strong>it&#8217;s an alpha that went cross platform two seconds ago</strong>.</p>
<p>All that aside though, <em>it&#8217;s an impressive alpha</em>. I seriously love it&#8217;s potential and I&#8217;m really hoping to make it my own over the next few months. Naturally, the biggest hangup is the lack of tools I&#8217;ve become so accustomed to in TextMate. The great thing there is that the snippets and color schemes can be carbon copied into Sublime Text 2, the only outstanding items are Commands. Those aren&#8217;t directly portable from TextMate to Sublime Text 2.</p>
<p>I work in HTML, CSS, JavaScript, and PHP. In TextMate I make heavy use of the validators because it&#8217;s not an IDE and doesn&#8217;t have inline validation as you would find in an integrated environment. Sublime Text 2 doesn&#8217;t come with any such validators out of the box, but there are some forum posts. I found some resources on getting JavaScript validation working in Sublime Text 2:</p>
<ul>
<li><a href="http://www.jbrooksuk.eu/coding/sublime-text-2-alpha-google-closure-javascript-linter-build-package/">Sublime Text 2 (Alpha) Google Closure JavaScript Linter Build package</a></li>
<li><a href="http://www.sublimetext.com/forum/viewtopic.php?f=5&amp;t=1556">(V2 only) JavaScript Google Closure Linter Build</a></li>
</ul>
<p>I went through the process of getting Google Closure Linter installed and running fine via Terminal, but got <code>[Errno 2] File not found</code> errors in Sublime Text 2. Additional Googling to find out why got me nowhere so I went with JSLint for the time being and thought I&#8217;d share how.</p>
<h2>Adding JSLint validation to Sublime Text 2</h2>
<p>To implement JSLint we&#8217;re going to first need JSLint. There are a number of resources for this, but I went with an OS X executable provided courtesy of <a href="http://www.javascriptlint.com/download.htm">javascriptlint.com</a>. I made a new folder in my Applications folder and called it a day. JSLint is prepped and ready to go.</p>
<p>The other half of this puzzle is integration with Sublime Text 2. To do that, you&#8217;ll need to create a new Build System:</p>
<p><img class="alignnone size-full wp-image-1622" title="new-build-system" src="/wp-content/uploads/2011/04/new-build-system.png" alt="Screenshot of adding a new Build System to Sublime Text 2" width="462" height="355" /></p>
<p>Upon invoking that menu, Sublime will give you an empty file to work with, outlining the structure of Build Systems. Sweet, but what to do with that? We want to send the current file we&#8217;re working with to JSLint for validation. To do that, our Build System will look like this:</p>
<pre><code>{
   "cmd": ["/Applications/jsl/jsl", "-process", "$file"],
   "selector": "source.js"
}</code></pre>
<p>Note the path to <code>Applications/jsl/jsl</code> — that&#8217;s where I store my JSLint install, but you will need to modify that to the path on your system. The next parameter is the <code>-process</code> flag that JSLint uses to define the file to validate, and the final parameter is the <code>$file</code> flag that will be replaced with the file path to the file you&#8217;re currently working on.</p>
<p>The selector will help Sublime Text 2 automatically use this JSLint Build System when you&#8217;re working within a JavaScript file.</p>
<p>After modifying for your system, save the file to the default path Sublime Text 2 brings up in the save dialog and restart Sublime. Open up a .js file and hit CMD+B, or use Tools &gt; Build. An inline prompt will appear giving you the JSLint results:</p>
<p><img class="alignnone size-full wp-image-1623" title="jslint" src="/wp-content/uploads/2011/04/jslint.png" alt="JSLint results in Sublime Text 2" width="479" height="307" /></p>
<p>I&#8217;ll continue fiddling around with getting Closure Linter to work as I&#8217;d like to have the option, but if anyone&#8217;s got a tip regarding the error I was getting I&#8217;d love to hear some feedback.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1621&c=1814799006' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1621&c=1814799006' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110421/jslint-in-sublime-text-2-on-os-x/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Breaking the Web with hash-bangs</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110209%2Fbreaking-the-web-with-hash-bangs%2F&#038;seed_title=Breaking+the+Web+with+hash-bangs</link>
		<comments>http://mondaybynoon.com/20110209/breaking-the-web-with-hash-bangs/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 11:59:36 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Gawker]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[hash-bang]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1570</guid>
		<description><![CDATA[isolani &#8211; Javascript: Breaking the Web with hash-bangs. This article is rightfully making the rounds, it&#8217;s really important that you read it. For those not familiar with hash-bangs, it&#8217;s the newfangled &#8220;solution&#8221; (from Google) to create AJAX-crawlable websites. The best real-life example you&#8217;ve likely seen is the URL structure of New (is it still considered [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1570&c=315922600' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1570&c=315922600' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs">isolani &#8211; Javascript: Breaking the Web with hash-bangs</a>.</p>
<p>This article is <strong>rightfully</strong> making the rounds, it&#8217;s really important that you read it. For those not familiar with hash-bangs, it&#8217;s the newfangled &#8220;solution&#8221; (from Google) to create <a href="http://searchengineland.com/google-proposes-to-make-ajax-crawlable-27408">AJAX-crawlable websites</a>. The best real-life example you&#8217;ve likely seen is the URL structure of New (is it still considered &#8220;New&#8221;?) Twitter, e.g. <a href="http://twitter.com/#!/jchristopher">http://twitter.com/#!/jchristopher</a></p>
<p>That <code>#!</code> doohicky is a hash-bang, and it&#8217;s causing a ruckus, recently very much so for Gawker and it&#8217;s recent massive redesign. Definitely give <a href="http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs">the article</a> a read, it&#8217;s worth it.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1570&c=1908001872' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1570&c=1908001872' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110209/breaking-the-web-with-hash-bangs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaScript, JavaScript</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20101208%2Fjavascript-javascript%2F&#038;seed_title=JavaScript%2C+JavaScript</link>
		<comments>http://mondaybynoon.com/20101208/javascript-javascript/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 21:55:59 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1473</guid>
		<description><![CDATA[JavaScript, JavaScript. In the days of &#8220;JavaScript&#8221; equating to &#8220;jQuery&#8221; to so many people, it&#8217;s super awesome to see someone continuing to publish more technical JavaScript articles. If you&#8217;re not subscribing to JavaScript, JavaScript I highly suggest it. It may not make sense, but we should always mind the fact that jQuery is not the [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1473&c=942088362' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1473&c=942088362' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://javascriptweblog.wordpress.com/">JavaScript, JavaScript</a>.</p>
<p>In the days of &#8220;JavaScript&#8221; equating to &#8220;jQuery&#8221; to so many people, it&#8217;s super awesome to see someone continuing to publish more technical JavaScript articles. If you&#8217;re not subscribing to <a href="http://javascriptweblog.wordpress.com/">JavaScript, JavaScript</a> I <em>highly</em> suggest it. It may not make sense, but we should always mind the fact that jQuery is not the definition of JavaScript, but it rocks as hard as it does because JavaScript is awesome. The professional in you should strive to understand JavaScript on it&#8217;s native level, not abstracted to the sheltered world that is jQuery. This coming from a guy who works with jQuery each and every day.</p>
<p>Enjoy!</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1473&c=174105840' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1473&c=174105840' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20101208/javascript-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8226; Is it Now Acceptable to Require JavaScript?</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20100621%2Fis-it-now-acceptable-to-require-javascript%2F&#038;seed_title=%26%238226%3B+Is+it+Now+Acceptable+to+Require+JavaScript%3F</link>
		<comments>http://mondaybynoon.com/20100621/is-it-now-acceptable-to-require-javascript/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 12:40:32 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Favorites]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Docs]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1142</guid>
		<description><![CDATA[It's not a new trend, but it's something I see more and more with bigger companies who pride themselves on building (upon) standards based, open platforms. Is it becoming increasingly acceptable to build Web applications that require JavaScript?<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1142&c=1930753918' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1142&c=1930753918' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>In this age of HTML5, CSS3, and anti-Flash it seems as though we may be slipping away from our roots. Or are we?</p>
<p>Back when standards were standards if you were building anything that didn&#8217;t have a fall back plan in place for a lack of JavaScript, you were doing it wrong. Yes it took more time and it took better planning but <em>that&#8217;s the point</em>. When you&#8217;re a professional you&#8217;re supposed to be doing it <em>right</em>, right?</p>
<h2>The rise of (my) Web standards</h2>
<p>Back when JavaScript was reborn, when its use began transforming into what we know and love today, the rules were still being written. I remember thinking about how I should approach learning this skill I knew would soon be essential. My first stop when teaching myself something is Google. Of course back in the day Google was still polluted with DHTML tutorial sites and wretched implementations. After reading countless tutorials comprised mostly of &#8220;copy and paste this snippet here and that snippet there&#8221; I knew it was time to hit the books.</p>
<p>It took about four seconds of poking around to realize that there was more than meets the eye when it came to JavaScript for me. I needed to learn about the <abbr title="Document Object Model">DOM</abbr> before I tried to manipulate it. If there&#8217;s one thing that drives me batty it&#8217;s the notion of &#8217;learning the framework instead of the language&#8217; and this is no exception. JavaScript though, has a completely new layer to work with.</p>
<p>I won&#8217;t detail the issues I have behind learning a framework or platform as opposed to the language here, but it can be applied to <em>every</em> programming language, <em>every</em> markup language, CSS, and JavaScript as well. To sum it up: learning the framework gives the language a bad name. We&#8217;ll leave it at that and the rest for another article.</p>
<p>I grabbed myself a copy of <a href="/2007/01/15/dom-scripting-book-review/">DOM Scripting</a> by Jeremy Keith and to this day I&#8217;m glad I did. DOM Scripting was instantaneously followed by <a href="/2007/03/05/bulletproof-ajax-book-review/">Bulletproof Ajax</a>, also published by Mr. Keith. If I had to choose two books as a suggestion to someone looking to learn <strong>proper</strong> JavaScript I think these two are it. There are of course subsequent, more advanced books that I&#8217;d also suggest, but these two works will help you to realize which blog posts are junk and which are gold.</p>
<p>The theory behind writing JavaScript, as I took it, can be taken from DOM Scripting:</p>
<blockquote><p>Separate behavior from structure using unobtrusive JavaScript. Add dynamic effects with progressive enhancement. Ensure backwards-compatibility through graceful degradation.</p>
</blockquote>
<p>I lived by those rules. I still do. But am I stuck in the past while everyone is moving forward?</p>
<h3>The new Web</h3>
<p>Has building a proper Web stack become old school? What I&#8217;ve been curious about lately surrounds the trend that <strong>requiring</strong> JavaScript for your Web app is something we hardly blink at. MobileMe has just recently relaunched with a new look:</p>
<p><a href="/wp-content/uploads/2010/06/01-mobile-me.png"><img class="alignnone size-full wp-image-1143" title="01-mobile-me" src="/wp-content/uploads/2010/06/01-mobile-me.png" alt="Screenshot of the MobileMe login screen with JavaScript enabled" width="1061" height="759" /></a></p>
<p>Looks really great, but if you hit the page with a JavaScript-incapable browser it&#8217;s a bit different:</p>
<p><a href="/wp-content/uploads/2010/06/02-mobile-me.png"><img class="alignnone size-full wp-image-1144" title="02-mobile-me" src="/wp-content/uploads/2010/06/02-mobile-me.png" alt="Screenshot of the MobileMe login screen with JavaScript disabled" width="1061" height="759" /></a></p>
<p>Back in the day we&#8217;d all have scoffed at such a thing, comparing it to a &#8220;This site looks best in IE6&#8243; badge straight out of the 1990s. What&#8217;s changed since then? Why is this now an acceptable practice? I understand that Apple is a progressive company, bringing the web in its best form to the largest population possible, and making it look great, but <strong>that&#8217;s my point</strong>. Is this new school of thought going to transform itself into common practice?</p>
<p>The <em>entire point</em> behind breaking away from closed platforms such as Flash (yes, it&#8217;s a closed platform no matter how much marketing gets put behind it) is to build a <em>universally accessible</em> Web. Devices are advancing, yes. Browsers are advancing, yes. But does that give us the liberty to put the fruits of our labor on a back burner now that we&#8217;ve reached some sort of plateau in the evolution of the browser?</p>
<h3>I&#8217;m not dogging Apple</h3>
<p>Apple isn&#8217;t the only one producing Web applications that show similar messages if you&#8217;re using a JavaScript incapable browser. In fact, other more popular platforms are doing it even worse:</p>
<p><a href="/wp-content/uploads/2010/06/03-google-docs1.png"><img class="alignnone size-full wp-image-1146" title="03-google-docs" src="/wp-content/uploads/2010/06/03-google-docs1.png" alt="Screenshot of Google Docs with JavaScript disabled" width="1061" height="759" /></a></p>
<p>There was a time, if I remember correctly, where Google Docs gave a notification similar to MobileMe as opposed to loading a non working pseudo interface that does nothing but confuse a visitor. Gmail still retains its fully functional JavaScript-less implementation, albeit behind a quick message notifying you what you&#8217;re in for:</p>
<p><a href="/wp-content/uploads/2010/06/04-gmail.png"><img class="alignnone size-full wp-image-1147" title="04-gmail" src="/wp-content/uploads/2010/06/04-gmail.png" alt="Screenshot of Gmail's notification of JavaScript being disabled" width="1061" height="759" /></a></p>
<p>Depending on your choice, you can end up at a really well put together version of Gmail:</p>
<p><a href="/wp-content/uploads/2010/06/05-gmail.png"><img class="alignnone size-full wp-image-1148" title="05-gmail" src="/wp-content/uploads/2010/06/05-gmail.png" alt="Screenshot of Gmail's HTML only version" width="1061" height="759" /></a></p>
<p>To me, Gmail remains to be one of the best implemented modern Web applications because of this very attribute.</p>
<h2>Where are we headed, really?</h2>
<p>I&#8217;ve tried to wrap my head around these poorly implemented Web applications to find out the real inspiration behind them. Are companies rushing JavaScript dependent platforms out the door simply to get things live before the competition? Are metrics showing that supporting JavaScript simply doesn&#8217;t make fiscal sense? Are we to a point where leading Web companies care more about dollars and cents than users?</p>
<p>What about the Web applications themselves? We&#8217;re working with the most rich implementations of JavaScript we&#8217;ve ever seen. Many times, it doesn&#8217;t even make sense to offer a degraded version of an application simply because the desired feature is built within JavaScript from the ground up; there&#8217;s nothing else to show. <strong>This is not a bad thing.</strong> I&#8217;m concerned in particular for those applications that <em>could</em> in fact have a decent degraded version. Does it change the opinion we have behind the modern Web though? I&#8217;m speaking from a front end developer point of view here, a conversation between us professionals, not as users.</p>
<p>Do we need to move beyond this self-imposed requirement of providing a <em>gracefully</em> degraded version of our application? If so, would it not be a (short) matter of time before that school of thought trickles all the way down to the Coda Slider we plan to implement? In essence, what&#8217;s the difference? We&#8217;d all be thrilled if we could just make that AJAX request and call it a day without having to first build an alternate version, but is it the right thing to do as professionals?</p>
<p>The groundwork has been laid by some of the best thinkers in our industry, and neglecting to build a proper stack, to me, pushes all of that hard work aside in favor of (too) rapid deployment. If your metrics show a 99% JavaScript enabled audience, are you willing to forsake that 1%?</p>
<p>I&#8217;m not only concerned about that 1%, I&#8217;m (perhaps) more concerned about how it affects the overall implementation. Working from your degraded version is going to result in a much more stable environment upon which to build your behavioral layer. Skipping that <strong>valuable</strong> step can and probably will result in a less structurally sound document.</p>
<p>I have a tendency to remain loyal to influential circumstances that have shaped me as a professional, but I&#8217;m curious how (if?) these events are affecting other designers and developers, if at all. Do you continue to be curious about degraded versions of modern Web applications? I could be way off base in even thinking about things to this level, and if that&#8217;s it by all means feel free to call me out on it, but there&#8217;s something under my skin about what&#8217;s going on. Thoughts?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1142&c=79689409' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1142&c=79689409' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20100621/is-it-now-acceptable-to-require-javascript/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: Establishing Style Guides</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20100329%2Festablishing-style-guides%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+Establishing+Style+Guides</link>
		<comments>http://mondaybynoon.com/20100329/establishing-style-guides/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 13:04:29 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[style guide]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1034</guid>
		<description><![CDATA[I'm becoming increasingly comfortable with the idea that at least some form of style guide, whether on a team or individually, is an extremely important part of the process. It helps with everything from readability to quality control and especially helps a team become that much more cohesive.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1034&c=826057622' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1034&c=826057622' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been <strong>huge</strong> on <a href="/tag/process/">process</a> for a long time now. In fact, I&#8217;d say that I consistently spend a significant amount of my workweek analyzing how <a href="http://overit.com" title="Overit Media - Web and Brand in Albany, NY">our</a> process is working for us. Things change in an instant, <em>especially</em> in our industry. Things that worked for our process last year have become hardly applicable, and new ways of thinking are constantly required.</p>
<p>I like the business end of Web design. I&#8217;ve come to the conclusion that one of the reasons I like it so much is due to my enjoyment of problem solving. <strong>Web design as a business is a problem</strong>, plain and simple. Everyone has their own way of doing things, we&#8217;re working in a medium that many of our clients don&#8217;t fully understand, and it&#8217;s sometimes very difficult to completely resolve the final terms of an agreement and be fully confident you&#8217;ve covered all your bases. This is something I like thinking about, something I like dealing with. If you&#8217;re not in the same boat, I hope you don&#8217;t plan on freelancing being a walk in the park. The business end is <em>just as big of a deal</em> as the design/development end. You want to get paid.</p>
<h2>Style guides? For code?</h2>
<p>A <a href="http://en.wikipedia.org/wiki/Programming_style">style guide</a> is a straight and to the point document that outlines how you should be formatting your code. It covers indentation, alignment, spacing, tabs, naming, and just about every other aspect of writing code apart from the logic itself.</p>
<p>Whether you&#8217;re writing a script, some markup, or programming, you have a way of doing it. You put your brackets in a certain place because either it looks better to you, or your teacher told you to write it that way. The same goes for the spaces you include in your arguments list, your <code>array</code> declarations, and so on. These are important details to consider, especially when you&#8217;re <em>looking at someone else&#8217;s code</em>.</p>
<p>Even if you didn&#8217;t realize you did it yourself, looking at someone else&#8217;s code can just come off as&#8230; unorganized. At first you can&#8217;t quite put your finger on it but you&#8217;ll find yourself asking &#8220;how the heck does this even work?&#8221; If you&#8217;ve ever had one of those moments, you&#8217;ll appreciate a good style guide in your workflow.</p>
<h3>Structuring your style guide</h3>
<p>There isn&#8217;t a real set of rules to writing your style guide(s); they will probably undergo a long series of revision as you realize the little details you&#8217;ve forgotten over time. I think coming up with a style guide is really good team based exercise, something I plan to finalize with my team over the coming weeks.</p>
<p>At my company, we&#8217;ll need four style guides to cover our workflow:</p>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>PHP</li>
</ul>
<p>Currently these style guides are a work in progress, but <em>as small snippets</em> look something like this:</p>
<h4>HTML</h4>
<p>Our HTML style guide will cover things you&#8217;d expect to find in other code style guides, but certain aspects of formatting will be included in nearly every example. Things like the &#8216;closing&#8217; comment for block level elements based on their <code>class</code> or <code>id</code>.</p>
<dl>
<dt>Block element with class</dt>
<dd>
<pre class="sh_html"><code>&lt;div class=&quot;group&quot;&gt;

&lt;/div&gt;
&lt;!-- /group --&gt;</code></pre>
</dd>
<dt>Block element with ID</dt>
<dd>
<pre class="sh_html"><code>&lt;div id=&quot;address&quot;&gt;

&lt;/div&gt;
&lt;!-- /address --&gt;</code></pre>
</dd>
<dt>Block element with class and ID</dt>
<dd>
<pre class="sh_html"><code>&lt;div class=&quot;group&quot; id=&quot;services&quot;&gt;

&lt;/div&gt;
&lt;!-- /services --&gt;</code></pre>
</dd>
</dl>
<h4>CSS</h4>
<p>Probably the biggest rule to cover in a CSS style guide would be whether you&#8217;re going for single line or multi line, a debate that will carry us through the end of time. Front enders seem to be very passionate about their decision to go with one or the other, so we&#8217;re lucky to have a number of tools that will convert from one format to the other on the fly.</p>
<dl>
<dt>Comment Basics</dt>
<dd>
<pre class="sh_css"><code>/* ================ */
/* = MAIN SECTION = */
/* ================ */

.main { width:100%; }

	/* Child section */
	.child { border:1px solid #f00; }</code></pre>
</dd>
<dt>Selector property value formatting</dt>
<dd>
<pre class="sh_css"><code>.section { width:200px; height:200px; }
.section #child { border:2px solid #f00; }
.section p { margin-bottom:1.2em; }
.section ul { list-style:disc; }
.section ul li { margin-bottom:0.6em; font-size:1.1em; }</code></pre>
</dd>
</dl>
<h4>JavaScript</h4>
<p>We&#8217;re a <a href="http://jquery.com">jQuery</a> house, so a significant portion of our JavaScript style guide will include jQuery-specific notes. Along those lines, more generic JavaScript instructions will be needed as well.</p>
<dl>
<dt>Conditionals</dt>
<dd>
<pre class="sh_javascript"><code>if( $('#address').height() &lt; 100 ) {
	do_this();
} else {
	do_that();
}</code></pre>
</dd>
<dt>Chaining</dt>
<dd>
<pre class="sh_javascript"><code>$('.group')
	.find('> p')
	.removeClass('someclass')
	.addClass('newclass')
	.find('ul')
		.addClass('targetclass')
	.end()
.end()
.slideDown();</code></pre>
</dd>
</dl>
<h4>PHP</h4>
<p>I&#8217;ve always liked the way <a href="http://codeigniter.com/user_guide/general/styleguide.html">CodeIgniter writes PHP</a>. Their guide is extremely in depth and I&#8217;d simply like to use that as our style guide as well. One of the best things about CodeIgniter&#8217;s style guide is that both correct <strong>and</strong> incorrect usage is outlined.</p>
<dl>
<dt>Bracket and Parenthetic Spacing</dt>
<dd>
<pre class="sh_php"><code>// INCORRECT:
$arr[ $foo ] = 'foo';

// CORRECT:
$arr[$foo] = 'foo'; // no spaces around array keys</code></pre>
</dd>
</dl>
<h3>Do you use style guides?</h3>
<p>I&#8217;m becoming increasingly comfortable with the idea that at least some form of style guide, whether on a team or individually, is an <strong>extremely important</strong> part of the process. It helps with everything from readability to quality control and especially helps a team become that much more cohesive. Are you/is your team using style guides? Have you found them to be helpful, hurtful, or ineffective?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1034&c=2111862045' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1034&c=2111862045' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20100329/establishing-style-guides/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>&#8226; jQuery Enlightenment by Cody Lindley Book Review</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20100201%2Fjquery-enlightenment-book-review%2F&#038;seed_title=%26%238226%3B+jQuery+Enlightenment+by+Cody+Lindley+Book+Review</link>
		<comments>http://mondaybynoon.com/20100201/jquery-enlightenment-book-review/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:01:59 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Cody Lindley]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=750</guid>
		<description><![CDATA[jQuery Enlightenment by Cody Lindley reinvigorated my enthusiasm for technical references. If you're at all interested in learning more about jQuery, or you just want an excellent reference on hand, jQuery Enlightenment is it!<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=565831860' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=565831860' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<div id="hreview-Book-review" class="hreview">
<div class="item description">
<p class="img book-cover"><img src="/images/books/jquery-enlightenment.jpg" alt="jQuery Enlightenment Book Cover" /></p>
<p>Occasionally a book will come along and reinvigorate my enthusiasm for the format (over my most common method of education: Web based articles). I&#8217;ve just finished reading <a href="http://jqueryenlightenment.com/"><span class="summary">jQuery Enlightenment</span></a> by <a href="http://codylindley.com/">Cody Lindley</a>, and I must say it&#8217;s done just that. On top of being a &#8216;traditional&#8217; book as far as the structure is concerned, I also read the book in PDF format, a turn off for most people. I must say, though, that there is something about this book that leaves me confident to say that if you (want to) work with jQuery, <strong>you should have it</strong>.</p>
<h2>About the author</h2>
<p>Cody Lindley deserves his own section in this review, not only because he&#8217;s proven himself to be a great author, but because he is a figure head in the community. I&#8217;ve only spoken to Cody here and there, and very briefly, but from what I can tell he&#8217;s a great guy, consistently sharing his knowledge with the community, and doing everything he can to both expand and share the knowledge behind his trade.</p>
<p>If you haven&#8217;t heard of Cody Lindley, I&#8217;m almost certain that you&#8217;ve seen some of his work. Cody authored <a href="http://jquery.com/demo/thickbox/">Thickbox</a>, a modal dialog solution for <a href="http://jquery.com">jQuery</a>. He&#8217;s very well known in the jQuery community, and rightfully so. I aspire to someday achieve the level of knowledge Cody has not only of jQuery, but to JavaScript alone.</p>
<p>To simply be blunt, seeing Cody&#8217;s name on the cover of this book alone convinced me that it&#8217;ll be a good read. I knew for a fact that not only would the information be applicable and up to date, it will be based on best practices as well.</p>
<h3>About jQuery Enlightenment</h3>
<p>I love the aim of this book. If you&#8217;ve had an interest in jQuery you know that there is <strong>a ton</strong> of information out there. I&#8217;d go so far to say that the abundance of information in a way works against what jQuery aims to do in that jQuery is so easy to grasp, many tutorials were written without best practice in mind. The approach in this book is different. As stated in the introduction:</p>
<blockquote><p>jQuery Enlightenment was written to express, in short-order, the concepts essential to intermediate and advanced jQuery development. Its purpose is to instill in you, the reader, practices that jQuery developers take as common knowledge.</p></blockquote>
<p>That&#8217;s only on the eighth page and already I knew I was going to love this book. Instead of jumping right in to code samples, the approach here is to introduce you to the code through the philosophy of jQuery itself. Later on in the introduction, Cody outlines the book at being aimed at three types of readers:</p>
<ol>
<li>Someone looking for the next logical step with jQuery after a brief introduction</li>
<li>JavaScript developers well versed in other libraries, trying to pick up jQuery quickly</li>
<li>A reference book for those already familiar with jQuery</li>
</ol>
<p>I can see that Cody kept his goal in mind throughout the book, as each chapter caters to all three types of readers extremely well. If you fit into any of those categories, <a href="http://jqueryenlightenment.com/">jQuery Enlightenment</a> is for you.</p>
<h3>jQuery Enlightenment Organization</h3>
<p>Another great approach Cody took with this book was aligning it with the <a href="http://docs.jquery.com/">jQuery API</a>, something you&#8217;ll become intimately familiar with as you work with jQuery. As with every API ever written, the documentation can always be improved. That&#8217;s not to say I&#8217;m not appreciative of jQuery&#8217;s API docs, <em>I love them</em>, and I&#8217;ve never had a problem finding a piece of information I needed.</p>
<p>This book though, builds on top of the documentation provided directly by jQuery, and walks you through the points that aren&#8217;t immediately apparent as you read through the official API documentation, especially if you&#8217;re new to JavaScript and/or jQuery.</p>
<p>The other bit I really like about jQuery Enlightenment is the way code samples were included. Cody opted to replicate every snippet on <a href="http://jsbin.com/">JS Bin</a>. While I often opt to rewrite code samples by hand (I find that it helps with information absorption) I think it&#8217;s great that he&#8217;s made that effort, especially when viewing jQuery Enlightenment as more of a reference than learning material.</p>
<h3>The verdict</h3>
<p>I <em>loved</em> reading <a href="http://jqueryenlightenment.com/">jQuery Enlightenment</a> and can&#8217;t recommend it enough if you&#8217;re at all interested in jQuery. Whether you&#8217;re just getting started, or even if you&#8217;ve worked with jQuery for years, I&#8217;m willing to bet you&#8217;ll learn things from this book. I&#8217;ve worked with jQuery for quite some time, and I picked up two solid points that I&#8217;m going to embrace from now forward, and I&#8217;m confident they will improve my usage of jQuery.</p>
<p>I got to this book in my stack of To Read&#8217;s a bit late, and as we all know, jQuery 1.4 (and now jQuery 1.4.1) has been released. What does that mean for jQuery Enlightenment? While I haven&#8217;t spoken directly to Cody, I can only imagine that he&#8217;s in the process of revising the book to include the new greatness 1.4 has to offer. I don&#8217;t think you need to hold off for the update until it&#8217;s released as this book is a completely solid reference to jQuery, and I didn&#8217;t find anything that wasn&#8217;t applicable to the 1.4 release. From what I can gather, the revision of the book is going to have quite a bit more content, and be offered at a discount to current owners. All great news!</p>
<p>Again, I absolutely recommend jQuery Enlightenment for your bookshelf if you&#8217;re interested in jQuery. It&#8217;s one of those books that refreshes my enjoyment of reading technical references and I&#8217;m definitely looking forward to the next release.</p>
<div class="hidden meta">
<p><span class="type">Product</span><br />
reviewed <abbr class="dtreviewed" title="20100201T0800-0500">Feb 1, 2010</abbr><br />
by <span class="reviewer vcard"><span class="fn">Jonathan Christopher</span></span></p>
<p>Rating: <abbr class="rating" title="5">★★★★★</abbr></p>
</div>
</div>
</div>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=952487982' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=750&c=952487982' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20100201/jquery-enlightenment-book-review/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8226; Ext JS 3.0 Cookbook Book Review</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20100118%2Fext-js-3-0-cookbook-book-review%2F&#038;seed_title=%26%238226%3B+Ext+JS+3.0+Cookbook+Book+Review</link>
		<comments>http://mondaybynoon.com/20100118/ext-js-3-0-cookbook-book-review/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 12:00:57 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Ext JS]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=733</guid>
		<description><![CDATA[Ext JS 3.0 Cookbook is a resource full of recipes focused on the popular Ext JS JavaScript library. While not for those new to Ext JS, it's a great addition to the library of anyone looking to better their Ext JS skills using this handy reference.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=733&c=1026932883' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=733&c=1026932883' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<div id="hreview-Book-review" class="hreview">
<div class="item description">
<p class="update"><strong>Disclosure:</strong> I was provided a copy of the <a href="http://www.amazon.com/gp/product/1847198708?ie=UTF8&amp;tag=mondaybynoon-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847198708"><span class="summary">Ext JS 3.0 Cookbook</span></a> by Packt Publishing. This review has not been altered in any way as a result of that circumstance, and as always contains my <em>honest</em> opinion.</p>
<p>I&#8217;m a public facing <a href="http://jquery.com">jQuery</a> fanboy and I&#8217;ll admit it. At the same time, however, I like to keep my eye on what else is going on in the world of JavaScript. Although it may seem like it to the design community, jQuery <strong>is not</strong> the end-all-be-all JavaScript solution. In fact, the design community is most enamored by jQuery simply because it makes writing JavaScript <em>so simple</em>, even to a fault. Many designers simply copy and paste until things work the way they&#8217;d like, even if it wasn&#8217;t an original intention.</p>
<p>I try my best to keep up to date with other JavaScript libraries/frameworks not only to help my personal curiosity, but I also see the true value of <strong>knowing JavaScript</strong> instead of <strong>knowing jQuery</strong>. The two are very different, and that&#8217;s something to keep in mind. As a quick refresher, Ext JS is defined as:</p>
<blockquote cite="http://www.extjs.com/products/extjs/"><p>Ext JS is a cross-browser JavaScript library for building rich internet applications. It includes:</p>
<ul>
<li>High performance, customizable UI widgets</li>
<li>Well designed and extensible Component model</li>
<li>An intuitive, easy to use <a href="http://www.extjs.com/docs">API</a></li>
<li><a href="http://www.extjs.com/store/extjs">Commercial</a> and <a href="http://www.extjs.com/products/license.php">Open Source</a> licenses available</li>
</ul>
</blockquote>
<p>As it&#8217;s defined, the goals of Ext JS are a bit unique when compared to other JavaScript libraries out there in that it totes itself as being aimed at building rich Internet applications. It does that my mimicking many of the interactions and UI elements we&#8217;ve become familiar with by using computers in general.</p>
<h2>Ext JS 3.0 Cookbook by Jorge Ramon</h2>
<p><a href="http://www.amazon.com/gp/product/1847198708?ie=UTF8&amp;tag=mondaybynoon-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847198708 "><img src="/images/phpthumb/phpThumb.php?src=/images/books/extjs30cookbook.jpg&amp;w=640&amp;q=95" alt="Ext JS 3.0 Cookbook book cover" /></a></p>
<p>Not too long ago, I read my first <a href="http://www.extjs.com/products/extjs/">Ext JS</a> book, <a href="/2009/01/19/learning-ext-js-book-review/">Learning Ext JS</a>. I learned a lot in that book, as I don&#8217;t have much day to day experience with Ext. If you&#8217;re brand new to the framework, I&#8217;d definitely suggest starting with a book such as Learning Ext JS instead of something like the <a href="http://www.amazon.com/gp/product/1847198708?ie=UTF8&amp;tag=mondaybynoon-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847198708">Ext JS 3.0 Cookbook</a>. Learning Ext JS is much more of an introduction to the framework, while the Cookbook is more technical in nature, and focuses on solving specific problems with Ext JS, as opposed to learning about it. As defined by the author:</p>
<blockquote><p>Get solutions to common Ext JS usage scenarios, to build professional layouts, custom components, and flexible architectures with clear and easy-to-follow recipes.</p>
<p>The author&#8217;s experience with Ext JS enables him to share insights on using the Ext JS library effectively, in a clear and friendly way, giving practical hands-on solutions to problems, questions, and common tasks encountered in the development of rich internet applications.</p></blockquote>
<p>From the first page in this book you&#8217;re already working with the <code>Ext</code> object. The subtitle for the book is <cite>109 great recipes for building impressive rich internet applications using the Ext JS JavaScript library</cite> and you dive right in. The first chapter includes recipes titled:</p>
<ul>
<li>Detecting browsers and platforms used by clients</li>
<li>Retrieving DOM nodes and elements</li>
<li>Acquiring references to Ext JS components</li>
<li>Running high-performance DOM queries</li>
</ul>
<p>There are about a dozen more recipes in the first chapter alone, but they&#8217;re all grouped as <cite>DOM and Data Types, the Ext JS Way</cite>.</p>
<h3>The format of the book</h3>
<p>Again, this book is labeled as a cookbook, and it follows that convention quite well. It&#8217;s meant to be a reference of sorts, with many different implementations and solutions. What I like about this format is that it lets you quickly discover the capabilities of Ext JS all the while learning by application. There&#8217;s a nice format for each recipe that mostly follows:</p>
<ol>
<li>Definition/explanation of the recipe</li>
<li>The <strong>How to do it&#8230;</strong>&#8230; section</li>
<li>The <strong>How it works&#8230;</strong> section</li>
<li>The <strong>There&#8217;s more&#8230;</strong> section</li>
<li>The <strong>See also&#8230;</strong> section</li>
</ol>
<p>This reoccurring pattern really helps you quickly find what you&#8217;re looking for, especially when you&#8217;re using the recipe as a refresher as opposed to initial discovery.</p>
<p>If you&#8217;re already familiar with Ext JS and looking to boost your knowledge about what the framework is capable of, I&#8217;d definitely suggest checking out <a href="http://www.amazon.com/gp/product/1847198708?ie=UTF8&amp;tag=mondaybynoon-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847198708">Ext JS 3.0 Cookbook</a> by Jorge Ramon. It&#8217;s chock full of to-the-point examples using <em>plenty</em> of code to work with, and lots of supporting information to boot.</p>
<div class="hidden meta">
<p><span class="type">Product</span><br />
reviewed <abbr class="dtreviewed" title="20100117T0800-0500">Jan 17, 2010</abbr><br />
by <span class="reviewer vcard"><span class="fn">Jonathan Christopher</span></span></p>
<p>Rating: <abbr class="rating" title="4">★★★★</abbr></p>
</div>
</div>
</div>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=733&c=2053530134' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=733&c=2053530134' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20100118/ext-js-3-0-cookbook-book-review/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 1/120 queries in 0.131 seconds using apc
Object Caching 1754/1945 objects using apc

Served from: www.mondaybynoon.com @ 2012-02-11 09:33:01 -->
