<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Script Junkie</title><subtitle type="html">Serious Web Development</subtitle><id>http://blogs.msdn.com/b/scriptjunkie/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/scriptjunkie/atom.aspx" /><generator uri="http://telligent.com" version="5.6.583.17018">Telligent Community 5.6.583.17018 (Build: 5.6.583.17018)</generator><updated>2011-05-26T05:51:00Z</updated><entry><title>Understanding jQuery's Data API's</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/09/03/understanding-jquery-s-data-api-s.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/09/03/understanding-jquery-s-data-api-s.aspx</id><published>2011-09-03T00:21:00Z</published><updated>2011-09-03T00:21:00Z</updated><content type="html">&lt;div&gt;
&lt;p&gt;jQuery's Core Team Member, Dave Methvin has a great write up on&amp;nbsp;&lt;a href="http://learningjquery.com" title="http://learningjquery.com"&gt;LearningjQuery.com&lt;/a&gt;&amp;nbsp;called "&lt;a href="http://www.learningjquery.com/2011/09/using-jquerys-data-apis" title="http://www.learningjquery.com/2011/09/using-jquerys-data-apis"&gt;Using jQuery's Data API&lt;/a&gt;". &amp;nbsp;He walks us through the&amp;nbsp;beginning&amp;nbsp;thoughts on what the .data() API was meant for, a DOM based In-Memory storage, to how it evolved into reading the data attribute in HTML5. &amp;nbsp;Dave outlines 5 rules of the road for using .data():&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Only the&amp;nbsp;&lt;code&gt;.data()&lt;/code&gt;&amp;nbsp;API reads HTML5&amp;nbsp;&lt;code&gt;data-*&lt;/code&gt;&amp;nbsp;attributes, and it does so&amp;nbsp;&lt;em&gt;once&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;code&gt;.data()&lt;/code&gt;&amp;nbsp;API converts HTML5&amp;nbsp;&lt;code&gt;data-*&lt;/code&gt;&amp;nbsp;values to Javascript types whenever possible.&lt;/li&gt;
&lt;li&gt;The lower-level&amp;nbsp;&lt;code&gt;jQuery.data()&lt;/code&gt;&amp;nbsp;API does not read HTML5&amp;nbsp;&lt;code&gt;data-*&lt;/code&gt;&amp;nbsp;attributes.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;No&lt;/em&gt;&amp;nbsp;jQuery data API ever&amp;nbsp;&lt;em&gt;changes&lt;/em&gt;&amp;nbsp;HTML5&amp;nbsp;&lt;code&gt;data-*&lt;/code&gt;&amp;nbsp;attributes.&lt;/li&gt;
&lt;li&gt;All&amp;nbsp;&lt;code&gt;data-*&lt;/code&gt;&amp;nbsp;names are stored in camelCase in the jQuery data object, using&amp;nbsp;&lt;a href="http://www.w3.org/TR/html5/elements.html#embedding-custom-non-visible-data-with-the-data-attributes"&gt;W3C rules&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;You can read more about the history and the rules of the road over at&amp;nbsp;&lt;a href="http://www.learningjquery.com/2011/09/using-jquerys-data-apis"&gt;Learning jQuery&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/09/03/understanding-jquery-s-data-api-s.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10205535" width="1" height="1"&gt;</content><author><name>ralph.whitbeck@gmail.com</name><uri>http://blogs.msdn.com/ralph.whitbeck_4000_gmail.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Spin.js makes Animated Gifs Old School</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/30/spin-js-makes-animated-gifs-old-school.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/30/spin-js-makes-animated-gifs-old-school.aspx</id><published>2011-08-30T12:59:23Z</published><updated>2011-08-30T12:59:23Z</updated><content type="html">&lt;p style="text-align: left;"&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/6864.throbber.png"&gt;&lt;/a&gt;In most web apps, when an A&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3125.throbber.png"&gt;&lt;/a&gt;jax request is done, developers will use an animated gif image (AKA Throbber) to give the user an indication that something is going on. Throbbers come in many forms from circles to bars and even animated logos. The key thing is that they all required an image to be loaded and rendered to the user.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fgnass.github.com/spin.js/"&gt;Spin.js&lt;/a&gt; is a new library that aims to cut out the need for images. Created by &lt;a href="https://twitter.com/#!/fgnass"&gt;Felix Gnass&lt;/a&gt;, Spin.js uses CSS3 and JavaScript to render the indicator. For versions of IE that don't support CSS3, the lib falls back to using VML to render the UI. Here's how you'd setup a simple throbber:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;var opts = {&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; lines: 12, // The number of lines to draw&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; length: 7, // The length of each line&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; width: 5, // The line thickness&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; radius: 10, // The radius of the inner circle&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; color: '#000', // #rbg or #rrggbb&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; speed: 1, // Rounds per second&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; trail: 100, // Afterglow percentage&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; shadow: true // Whether to render a shadow&lt;/em&gt;&lt;br /&gt;&lt;em&gt;};&lt;/em&gt;&lt;br /&gt;&lt;em&gt;var target = document.getElementById('foo');&lt;/em&gt;&lt;br /&gt;&lt;em&gt;var spinner = new Spinner(opts).spin(target);&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The great thing is the broad browser suppoer with Spin.js being successfully tested in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Safari 4+&lt;/li&gt;
&lt;li&gt;Firefox 3.5+&lt;/li&gt;
&lt;li&gt;IE 6,7,8,9+&lt;/li&gt;
&lt;li&gt;Opera 10.6+&lt;/li&gt;
&lt;li&gt;Mobile Safari (iOS 4)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Be sure to &lt;a href="http://fgnass.github.com/spin.js/"&gt;visit the demo page&lt;/a&gt; so you can use the interactive builder to see how the throbber can be dynamically adjusted based on small adjustments.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/30/spin-js-makes-animated-gifs-old-school.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10202705" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="CSS3" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/CSS3/" /></entry><entry><title>Using and Writing Polyfills for Building Modern Applications</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/19/using-and-writing-polyfills-for-building-modern-applications.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/19/using-and-writing-polyfills-for-building-modern-applications.aspx</id><published>2011-08-19T15:04:46Z</published><updated>2011-08-19T15:04:46Z</updated><content type="html">&lt;p&gt;HTML5 is the hot topic these days. Everybody wants to use the cool features and enhance their sites. One stumbling block is the pervasiveness of non-modern browsers that don't support these great new features. So how do you get around this? Through polyfills and shims of course! Thankfully, a lot of very smart people have created specially crafted JavaScript, HTML and CSS that can mimick the funcitionality found in HTML5, CSS3 and ES5 in non-modern browsers.&lt;/p&gt;
&lt;p&gt;Contributing &lt;a href="http://ScriptJunkie.com"&gt;ScriptJunkie.com&lt;/a&gt; author and awesome developer &lt;a href="http://addyosmani.com"&gt;Addy Osmani&lt;/a&gt; has put up a great post that dives into &lt;a href="http://addyosmani.com/blog/writing-polyfills/"&gt;writing cross-browser JavaScript polyfills&lt;/a&gt; where he guides you through the ins-and-outs of polyfills and how to get started using them in your web applications.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;"In today's post, I'm going to recount my experience of creating a cross-browser polyfill along with the lessons learned along the way. I'll also give you some tips on how you can create your own polyfills and avoid some of the headaches developers often run into when coding them for the first time."&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you're interested in leveraging HTML5 and ES5 today while still supporting non-modern browsers, Addy's post is well-worth the read. You can also check out &lt;a href="http://www.netmagazine.com/features/making-html5-and-css3-work-polyfills-and-shims"&gt;the article I wrote for .net Magazine&lt;/a&gt; on the same topic.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/19/using-and-writing-polyfills-for-building-modern-applications.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10197826" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5. JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5-+JavaScript/" /><category term="Polyfills" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Polyfills/" /></entry><entry><title>HTML5-Powered VNC Implementation noVNC Let's You Access Remote Systems</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/18/html5-powered-vnc-implementation-novnc-let-s-you-access-remote-systems.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/18/html5-powered-vnc-implementation-novnc-let-s-you-access-remote-systems.aspx</id><published>2011-08-18T17:27:51Z</published><updated>2011-08-18T17:27:51Z</updated><content type="html">&lt;p&gt;I'm constantly amazed at what developers are able to accomplish now with browser-based technologies. I've used VNC for years to remotely manage PCs and servers and it's a great tool for sure. Never in a million years would I have imagined that you could build an implementation of it using HTML5. That's what &lt;a href="https://github.com/kanaka"&gt;Joel Martin&lt;/a&gt; has done with the &lt;a href="https://github.com/kanaka/noVNC"&gt;HTML5-powered noVNC VNC client&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By leveraging WebSockets and Canvas, noVNC is able to remotely connected to a box and render our the screen. Here's the main caveat though (via Joel's Github repo):&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;"Unless you are using a VNC server with support for WebSockets connections (only my &lt;a href="http://github.com/kanaka/libvncserver"&gt;fork of libvncserver&lt;/a&gt; currently), you need to use a WebSockets to TCP socket proxy. There is a python proxy included ('websockify'). One advantage of using the proxy is that it has builtin support for SSL/TLS encryption (i.e. "wss://")."&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Regardless, this is still hot and a testament to how powerful web technologies are becoming. You also have to give credit to Joel for some innovative thinking and skills. Check out the video here:&lt;/p&gt;
&lt;p&gt;[View:http://www.youtube.com/watch?v=icVpGOvh4tc]&lt;/p&gt;
&lt;p&gt;noVNC currently works on all &lt;a href="https://github.com/kanaka/noVNC/wiki/Browser-support"&gt;modern browsers&lt;/a&gt; and for those that don't support WebSockets, it falls back to the &lt;a href="https://github.com/gimite/web-socket-js"&gt;web-socket-js polyfill&lt;/a&gt; for support. For IE9, you can also use the &lt;a href="http://html5labs.interoperabilitybridges.com/prototypes/websockets/websockets/info"&gt;WebSockets prototype&lt;/a&gt; offered on the &lt;a href="http://html5labs.interoperabilitybridges.com/"&gt;Microsoft HTML5 Labs&lt;/a&gt; site.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/08/18/html5-powered-vnc-implementation-novnc-let-s-you-access-remote-systems.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10197430" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="Web Sockets" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Web+Sockets/" /><category term="VNC" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/VNC/" /></entry><entry><title>Expression Web 4 SP2 Brings the jQuery Goodness and Interactive Snapshot for Debugging</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/13/expression-web-4-sp2-brings-the-jquery-goodness-and-interactive-snapshot-for-debugging.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/13/expression-web-4-sp2-brings-the-jquery-goodness-and-interactive-snapshot-for-debugging.aspx</id><published>2011-07-13T18:21:41Z</published><updated>2011-07-13T18:21:41Z</updated><content type="html">&lt;p&gt;&lt;a href="http://expression.microsoft.com/en-us/hh290892"&gt;Microsoft released Expression Web 4 SP2&lt;/a&gt; and it brings a host of nice features. The two that I'm really digging are jQuery Intellisense support and the Interactive Snapshot.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;jQuery Intellisense&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Expression has traditionally be a designer's tool but with the lines between developer and designer blurring, it makes sense for Expression to add support to one of the most popular JavaScript libraries out.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;In their 2010 &lt;a href="http://www.webdirections.org/sotw10/script/#javascript-libraries"&gt;survey of Web Developers&lt;/a&gt;, Web Directions found that jQuery dominates&amp;mdash;used by (an astounding) 78% of respondents.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Um..yea. jQuery is incredibly popular and adding it into Expression makes it substantially easier for users to build out dynamic sites.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/5086.jquery_2D00_exp.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/5086.jquery_2D00_exp.png" width="458" height="219" /&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;Interactive Snapshot&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;One of the best features of Expression Web has to be the SuperPreview which lets you look at your site as it would render in any version of IE and Firefox 3.x. This was a snapshot though which was kind of tough if you were hoping to debug easily as it rendered. With Interactive Snapshot, you now have the ability to do just that:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;In Web 4 SP2, we&amp;rsquo;ve added an Interactive mode to our stable of IE renderers (as well as an interactive Firefox 3.x). Interactive mode essentially puts Internet Explorer in a panel, allowing you to see and interact with web pages during the authoring process. Mouse-overs, lightboxes and animations all work. Simply saving your changes triggers a refresh of the panel. IE Interactive uses the current version of Internet Explorer installed on your machine.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3404.snapshot.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3404.snapshot.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;While these are my two favorite features for this update, there's a whole lot more to check out so be sure to check out &lt;a href="http://expression.microsoft.com/en-us/hh290892"&gt;the blog post for details&lt;/a&gt; and give Expression Web a try.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/13/expression-web-4-sp2-brings-the-jquery-goodness-and-interactive-snapshot-for-debugging.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10186183" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="jQuery" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/jQuery/" /><category term="IDE" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/IDE/" /><category term="Expression" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Expression/" /></entry><entry><title>New Release of LABjs Script Loader. Improved Chaining Support, Feature detection, DEBUG mode and more.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/13/new-release-of-labjs-script-loader-improved-chaining-support-feature-detection-debug-mode-and-more.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/13/new-release-of-labjs-script-loader-improved-chaining-support-feature-detection-debug-mode-and-more.aspx</id><published>2011-07-13T15:18:56Z</published><updated>2011-07-13T15:18:56Z</updated><content type="html">&lt;p&gt;Great news! Kyle Simpson, author of the highly popular and useful &lt;a href="http://labjs.com/"&gt;LABjs&lt;/a&gt; dynamic script loader, just &lt;a href="https://twitter.com/#!/getify/status/90951621298757632"&gt;tweeted out that he's released LABjs 2.0&lt;/a&gt;! Of course, I had a quick chat with him so he could give me the lowdown on the new release:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;LABjs 2.0 is a full rewrite, emphasizing standardized and future thinking feature tests instead of hacks, readable source code, and several helpful new features. LABjs 2.0's goal is to be both a complete loader solution itself, as well as the building block for a variety of more complex dependency management solutions.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Cool new features include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div id="LC4" class="line"&gt;script() calls in the chain allow you to define one or more scripts to load in parallel&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div id="LC5" class="line"&gt;wait() calls in the chain allow you to express where execution order needs to wait to preserve dependency execution.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div id="LC6" class="line"&gt;LABjs now uses standardized and future-thinking feature tests for preloading and ordered-execution loading, de-emphasizing hacky techniques like cache preloading (now only used in older legacy browsers).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div id="LC7" class="line"&gt;The source code is vastly cleaner, and well commented&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div id="LC8" class="line"&gt;v2.0 is backwards-compatible for its API&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div id="LC9" class="line"&gt;Many bugs/quirks, including weirdness with "AllowDuplicates" and chain resumption, have been completely fixed&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div id="LC10" class="line"&gt;New features include "debug mode", built-in queueing, cache-busting, sandbox(), and noConflict()&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can check out the &lt;a href="http://labjs.com/releasenotes.php"&gt;release notes for full details&lt;/a&gt; and nab a copy of the &lt;a href="http://labjs.com/download.php"&gt;latest version here&lt;/a&gt;.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/13/new-release-of-labjs-script-loader-improved-chaining-support-feature-detection-debug-mode-and-more.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10186093" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="performance" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/performance/" /></entry><entry><title>Cloud-based Development via Node.js and Cloud9 IDE Integration Coming Soon</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/12/cloud-based-development-via-node-js-and-cloud9-ide-integration-coming-soon.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/12/cloud-based-development-via-node-js-and-cloud9-ide-integration-coming-soon.aspx</id><published>2011-07-12T18:32:00Z</published><updated>2011-07-12T18:32:00Z</updated><content type="html">&lt;p&gt;We all know that &lt;a href="http://www.nodejs.org/"&gt;Node.js&lt;/a&gt; and &lt;a href="http://cloud9ide.com/"&gt;Cloud9 IDE&lt;/a&gt; are both hot bits of technology so it should come as no surprise that &lt;a href="http://www.joyent.com/"&gt;Joyent&lt;/a&gt; and Cloud9 have partnered to make it easy to build, run, debug and deploy Node applications using the web-based IDE.&lt;/p&gt;
&lt;p&gt;Here's the press release:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;In an arrangement that brings together the work of JavaScript inventor Brendan Eich and Node.js inventor Ryan Dahl, Joyent and Cloud9 IDE, Inc. today announced an agreement to provide web application developers with a one-stop cloud development and deployment platform for Node.js applications from within the Cloud9 IDE (Integrated Development Environment). &lt;b&gt;&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;The Cloud9 IDE, a state-of-the-art IDE that runs in the browser and lives on Joyent&amp;rsquo;s public cloud, JoyentCloud.com, allows developers to run, debug and deploy applications from anywhere, anytime.&amp;nbsp; This joint effort gives developers ready access to a premium IDE at no cost for pre-production use, and includes support for commercial use.&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;Developers can self-provision their Joyent Node.js SmartMachines from within the Cloud9 IDE, and immediately begin testing on their Node.js-based application. Once an application is ready for production, developers are able to purchase commercial cloud services that ensure scalable, successful deployment.&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;&amp;ldquo;If you want to see the future of cloud computing, this is it. Joyent has the complete cloud data center software stack and we have the cloud-based IDE for JavaScript, which is the language used by over three-quarters of websites today and is a key part of the explosion of mobile apps,&amp;rdquo; said Cloud9 IDE CEO Ruben Daniels. &amp;ldquo;The new integrated solution lets you create your development project in Cloud9, and then test and run your code on the Joyent architecture. You don&amp;rsquo;t have to create a new Joyent account &amp;ndash; Joyent automatically accepts the login and billing information from your Cloud9 IDE account.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt; &amp;ldquo;We want to provide developers with the best tools for developing next-generation web applications, and this partnership does just that,&amp;rdquo; said David Young, Joyent CEO. &amp;ldquo;The combination of the Node.js IDE and Joyent cloud make it effortless for a developer to get an app up and running in the cloud quickly and successfully.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Joyent Chief Evangelist Tom Hughes-Croucher and Cloud9 IDE, Inc. CTO Rik Arends will be putting on a webinar discussion about this partnership on Wednesay, July 20 at 10 AM Pacific time. &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;a href="http://bit.ly/mLNLKO"&gt;Sign up here&lt;/a&gt;.&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Here are some pics to whet your appetite:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7534.c9on-Joyent-_2D00_-add-deploy-target_2D00_isolated.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7534.c9on-Joyent-_2D00_-add-deploy-target_2D00_isolated.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2626.c9on-Joyent-_2D00_-deploy.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2626.c9on-Joyent-_2D00_-deploy.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/8688.c9on-Joyent-_2D00_-new-project.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/8688.c9on-Joyent-_2D00_-new-project.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/1781.c9on-Joyent-_2D00_-new-project_2D00_isolated.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/1781.c9on-Joyent-_2D00_-new-project_2D00_isolated.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/0654.c9on-Joyent_2D00_-add-deploy-target.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/0654.c9on-Joyent_2D00_-add-deploy-target.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/12/cloud-based-development-via-node-js-and-cloud9-ide-integration-coming-soon.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10185703" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="IDE" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/IDE/" /><category term="Node" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Node/" /></entry><entry><title>Evaluating jQuery Plugins for Use in your Projects</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/11/evaluating-jquery-plugins-for-use-in-your-projects.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/11/evaluating-jquery-plugins-for-use-in-your-projects.aspx</id><published>2011-07-11T12:24:00Z</published><updated>2011-07-11T12:24:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.2652904732767961"&gt;&lt;span&gt;I just found, what looks like an, awesome HTML5 &lt;span&gt;Uploader&lt;/span&gt; &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;Plugin&lt;/span&gt; in my Twitter feed and my first thought was, &amp;ldquo;Wow, this would make a great addition to the project that I am currently working on.&amp;rdquo; &amp;nbsp;Unfortunately, once I started to evaluate the &lt;span&gt;plugin&lt;/span&gt; it failed miserably in all aspects of my evaluation criteria. &amp;nbsp;So much so, I feel it is a great example of how NOT to release a &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;plugin&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt;Here is the criteria I use to evaluate a &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;plugin&lt;/span&gt; before I consider using it in my project:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;Good documentation and demos&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - If I can&amp;rsquo;t figure out how to use your &lt;span&gt;plugin&lt;/span&gt; and/or see what it&amp;rsquo;s capable of fairly quickly I don&amp;rsquo;t really want to waste my time on trying to figure that out. &amp;nbsp;The &lt;span&gt;plugin&lt;/span&gt; author should be providing at the very least easy examples on what the &lt;span&gt;plugin&lt;/span&gt; does.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt;Easily &lt;span&gt;downloadable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - Seems like a silly requirement but if I can&amp;rsquo;t easily download the code because of a silly wall in place like having to tweet to be able to get to the code base then that&amp;rsquo;ll weigh heavily in my determining to use the &lt;span&gt;plugin&lt;/span&gt; or not.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;License released under&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - I should also be able to find what license the &lt;span&gt;plugin&lt;/span&gt; is released under. &amp;nbsp;Ideally it should be listed on the &lt;span&gt;plugin&lt;/span&gt; site but if not in the header of the JavaScript file. If a &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;plugin&lt;/span&gt; does not have a license specified I will not consider it.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;Source code available&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - Most &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;plugins&lt;/span&gt; are released with an open source license, with those projects the code should be available to evaluate. &amp;nbsp;I should be able to see the full source code, if you are only providing a minimized version then I am unable to evaluate very easily to understand how the code is &lt;span&gt;architected&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt;These are just simple things every &lt;span&gt;plugin&lt;/span&gt; author should be doing. &amp;nbsp;Unfortunately, HTML5 &lt;span&gt;Uploader&lt;/span&gt; &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;Plugin&lt;/span&gt; failed on 3 out of 4 items listed above. &amp;nbsp;I contacted the owners of the &lt;span&gt;plugin&lt;/span&gt; to voice my displeasure and was sent a reply with a code beautifier link to be able to read the &lt;span&gt;minified&lt;/span&gt; code that one got after having to &amp;ldquo;Pay with a Tweet&amp;rdquo; to download the code which has no license attributed with it. &amp;nbsp;I replied back with &amp;ldquo;thanks, but no thanks&amp;rdquo; and will find something else until they fix those issues above.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt;In addition to the items above, I consider the following to be a huge plus when evaluating a &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;Plugin&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt;Source Code available on &lt;span&gt;Github&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - This is a huge plus I can easily fork, watch or submit issues to the code base. &amp;nbsp;&lt;span&gt;Github&lt;/span&gt; also provides the easiest way to view commits and see if the code has been idle or not.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;MIT and GPLv2 Licensed&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - I find &lt;span&gt;plugins&lt;/span&gt; licensed the same as the &lt;span&gt;jQuery&lt;/span&gt; code base to be ideal.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;Unit tests&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt; - It shows that the code is thoroughly tested each release and I can rest assured that the code is of quality.&lt;/span&gt;&lt;/li&gt;
&lt;li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;Issue Tracker&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt; - If it is on &lt;span&gt;Github&lt;/span&gt; I can see if the issue tracker is in use and if issues are being addressed as they come up. &amp;nbsp;This allows me to help the project if I come across any problems.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span&gt;What are some criteria you use when evaluating &lt;span&gt;jQuery&lt;/span&gt; &lt;span&gt;Plugins&lt;/span&gt; or JavaScript code in general?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;* Note: This content was originally posted on &lt;a href="http://ralphwhitbeck.com"&gt;http://ralphwhitbeck.com&lt;/a&gt; and is reprinted here with permission.&lt;/em&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/11/evaluating-jquery-plugins-for-use-in-your-projects.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10184687" width="1" height="1"&gt;</content><author><name>ralph.whitbeck@gmail.com</name><uri>http://blogs.msdn.com/ralph.whitbeck_4000_gmail.com/ProfileUrlRedirect.ashx</uri></author><category term="jQuery" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/jQuery/" /><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /></entry><entry><title>Buzz Makes it Easy to Use HTML5 Audio</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/08/buzz-makes-it-easy-to-use-html5-audio.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/08/buzz-makes-it-easy-to-use-html5-audio.aspx</id><published>2011-07-08T16:23:03Z</published><updated>2011-07-08T16:23:03Z</updated><content type="html">&lt;p&gt;&lt;a href="http://jaysalvat.com/"&gt;Jay Salvat&lt;/a&gt; has produced some &lt;a href="http://markitup.jaysalvat.com/home/"&gt;amazing&lt;/a&gt; &lt;a href="http://vegas.jaysalvat.com/"&gt;jQuery&lt;/a&gt; &lt;a href="http://facedetection.jaysalvat.com/"&gt;plugins&lt;/a&gt; before and his latest library continues in that tradtion. &lt;a href="http://buzz.jaysalvat.com/"&gt;Buzz is his newest creation&lt;/a&gt; and makes it incredibly easy to use the new HTML5 Audio element's API. It offers methods to track things like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Browser support&lt;/li&gt;
&lt;li&gt;Codec support&lt;/li&gt;
&lt;li&gt;Timing&lt;/li&gt;
&lt;li&gt;Playback&lt;/li&gt;
&lt;li&gt;and more...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And support for a variety of audio formats:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/4137.buzz_2D00_audio_2D00_support.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/4137.buzz_2D00_audio_2D00_support.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It also provides methods to help you degrade your application for non-modern browsers. It's a simple, clean and easy-to-use library and definitely worth a look.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://buzz.jaysalvat.com/demo/"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7827.buzz.png" /&gt;&lt;/a&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/08/buzz-makes-it-easy-to-use-html5-audio.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10184634" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="Audio" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Audio/" /></entry><entry><title>Another Great JavaScript Learning Center Launches...and it's Free!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/08/another-great-javascript-learning-center-launches-and-it-s-free.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/08/another-great-javascript-learning-center-launches-and-it-s-free.aspx</id><published>2011-07-08T14:13:00Z</published><updated>2011-07-08T14:13:00Z</updated><content type="html">&lt;p&gt;Everyone wants to learn JavaScript now. It's the cool language and the language that's powering a lot of the awesome features of HTML5. While there are several resources available many require some form of payment so when you find one that offers good guidance at no cost, you make sure you bookmark it. So be sure to jot this site down as appendTo has just announced their &lt;a href="http://appendto.com/blog/2011/07/appendto-launches-free-developer-learning-center"&gt;free Developer Learning Center&lt;/a&gt; which is chock full of videos to get you up to speed on JavaScript and jQuery.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;a href="http://appendto.com/team/andrew-wirick"&gt;Andrew Wirick&lt;/a&gt;, Senior Trainer and Developer, explains the lesson structure, &lt;em&gt;"Often learning is about understanding what prerequisite knowledge you need to know before tackling a subject. The goal of the lesson structure was to provide an interactive learning experience while also providing an easy way to tell what prerequisites a student needs."&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Right off the bat they have 8 videos to choose from and each video is about 30-40 minutes long. They range from JavaScript 101 to understanding how jQuery manages events so you'll have a good set of options to learn from.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://learn.appendto.com/learn-jquery-javascript-free"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7444.appendto_2D00_learn_2D00_videos.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/07/08/another-great-javascript-learning-center-launches-and-it-s-free.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10184591" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="training" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/training/" /></entry><entry><title>IE10 Platform Preview 2 is Out with More HTML5 and CSS3 Goodness</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/29/ie10-platform-preview-is-out-with-more-html5-and-css3-goodness.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/29/ie10-platform-preview-is-out-with-more-html5-and-css3-goodness.aspx</id><published>2011-06-29T18:56:00Z</published><updated>2011-06-29T18:56:00Z</updated><content type="html">&lt;p&gt;The IE team has just announced &lt;a href="/b/ie/archive/2011/06/29/site-ready-html5-second-ie10-platform-preview-available-for-developers.aspx"&gt;the release of IE10 Platform Preview 2&lt;/a&gt; and it's chock full of HTML5 &amp;amp; CSS3 goodness. Included in the preview are features developers have been clamoring for including:&lt;/p&gt;
&lt;p&gt;Expanded HTML5 support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Asynchronus Script Execution&lt;/li&gt;
&lt;li&gt;Drag and Drop&lt;/li&gt;
&lt;li&gt;File API&lt;/li&gt;
&lt;li&gt;Forms Validation&lt;/li&gt;
&lt;li&gt;Sandbox&lt;/li&gt;
&lt;li&gt;Web Workers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Expanded CSS3 Support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CSS3 Flexible Box (&amp;ldquo;Flexbox&amp;rdquo;) Layout&lt;/li&gt;
&lt;li&gt;Positioned Floats&lt;/li&gt;
&lt;li&gt;CSS3 Gradients&lt;/li&gt;
&lt;li&gt;CSS3 Grid Alignment&lt;/li&gt;
&lt;li&gt;CSS3 Multi-column Layout&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'm especially excited about the addition of the Forms Validation and Web Workers API.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ie.microsoft.com/testdrive/Graphics/WorkerFountains/Default.html"&gt;Web Workers Fountain Demo App&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ie.microsoft.com/testdrive/Graphics/WorkerFountains/Default.html"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3782.webworkers.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ie.microsoft.com/testdrive/HTML5/Forms/Default.html"&gt;Forms Validation Demos&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ie.microsoft.com/testdrive/HTML5/Forms/Default.html"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/8561.forms1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ie.microsoft.com/testdrive/HTML5/Forms/Default.html"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/1185.forms2.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Full details about these new features and more can be found in the &lt;a href="http://msdn.microsoft.com/en-us/ie/gg192966"&gt;Internet Explorer Platform Preview Guide for Developers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can &lt;a href="http://ie.microsoft.com/testdrive/Info/Downloads/Default.html"&gt;download IE10 Platform Preview 2 here&lt;/a&gt; and test out the latest updates and demos via the &lt;a href="http://ie.microsoft.com/testdrive/"&gt;Internet Explorer Test Drive site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Channel 9 has also published a &lt;a href="http://channel9.msdn.com/Tags/internet+explorer"&gt;set of videos showing off the new stuff in IE10 PP2&lt;/a&gt;.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/29/ie10-platform-preview-is-out-with-more-html5-and-css3-goodness.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10181538" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="CSS3" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/CSS3/" /><category term="IE10" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/IE10/" /></entry><entry><title>Tutorial: Making a Canvas Snake Game</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/24/making-a-canvas-snake-game.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/24/making-a-canvas-snake-game.aspx</id><published>2011-06-24T19:51:00Z</published><updated>2011-06-24T19:51:00Z</updated><content type="html">&lt;p&gt;Everyone's excited about the gaming possibilities that HTML5 brings, especially via the Canvas element. CSS master &lt;a href="http://css-tricks.com"&gt;Chris Coyier&lt;/a&gt; has a nice guest post on his blog by JS stud, &lt;a href="http://skilldrick.co.uk/"&gt;Nick Morgan&lt;/a&gt;, who is one of those who are excited and decided to gain some experience by &lt;a href="http://css-tricks.com/9876-learn-canvas-snake-game/"&gt;making a Canvas-based snake game&lt;/a&gt;:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;Of all the new elements being added in HTML5, I think &lt;code&gt;canvas&lt;/code&gt; is one of the most exciting. Canvas gives you a fixed-size drawing surface and a selection of basic commands to draw on that surface.&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;In&amp;nbsp; this tutorial I'm going to show you how to make a simple snake game using canvas. You know, like you used to get on your Nokia phone.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Rick walks you step-by-step explaining what the Canvas element is, how you can do simple animation and then roll it all up into a neat game. I especially loved his use of JSFiddle so that readers can instantly run the code and get feedback within the article.&lt;/p&gt;
&lt;p&gt;Now don't expect a King Cobra or Python to appear. The end result is REALLY basic but that's the point of it; to give an &lt;strong&gt;intro&lt;/strong&gt; to Canvas animation.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2061.snake.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2061.snake.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Definitely worth a look if you're interested in taking advantage of Canvas and gaming.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/24/making-a-canvas-snake-game.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10178838" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="Canvas" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Canvas/" /></entry><entry><title>GitHub for Mac Looks Sweet...and it's FREE!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/23/github-for-mac-looks-sweet.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/23/github-for-mac-looks-sweet.aspx</id><published>2011-06-23T12:36:00Z</published><updated>2011-06-23T12:36:00Z</updated><content type="html">&lt;p&gt;I have to say I'm just a little jealous at the &lt;a href="https://github.com/blog/878-announcing-github-for-mac"&gt;announcement by the GitHub team&lt;/a&gt;. They've just released &lt;a href="http://mac.github.com/"&gt;GitHub for Mac&lt;/a&gt; and this desktop app for the GitHub service looks sweet! It has everything you would expect from a Git UI including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloning repos&lt;/li&gt;
&lt;li&gt;Browsing history&lt;/li&gt;
&lt;li&gt;Easy branching&lt;/li&gt;
&lt;li&gt;Reviewing commits&lt;/li&gt;
&lt;li&gt;and a whole lot more&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And the UI is clean and dead simple. Best of all it's a &lt;strong&gt;&lt;a href="http://mac.github.com/"&gt;FREE download&lt;/a&gt;&lt;/strong&gt;! And yes, I'm a little jealous because I want this for Windows 7! C'mon GitHub, show the Windows love!&lt;/p&gt;
&lt;p&gt;Pics:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/4721.branches_2D00_full.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/4721.branches_2D00_full.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/5078.commit_2D00_full.png"&gt;&lt;img border="0" alt="" src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/5078.commit_2D00_full.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/23/github-for-mac-looks-sweet.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10178155" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="GitHub" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/GitHub/" /><category term="VCS" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/VCS/" /><category term="Git" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Git/" /></entry><entry><title>HTML5 and its Impact on SEO</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/22/html5-and-its-impact-on-seo.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/22/html5-and-its-impact-on-seo.aspx</id><published>2011-06-22T19:37:00Z</published><updated>2011-06-22T19:37:00Z</updated><content type="html">&lt;p&gt;Seach engine pptimization (SEO) is incredibly important to a lot of site owners and so it makes sense that people are asking how HTML5 will impact search engine algorithms. Adam Heitzman took an initial stab at figuring out how &lt;a href="http://sixrevisions.com/content-strategy/what-potential-impact-can-html5-have-on-seo/"&gt;certain HTML5 features might affect your opitimization efforts&lt;/a&gt;.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;One key component of HTML5 is that it adds new elements that help us better express what&amp;rsquo;s on a web page. This helps improve web page segmentation so that different parts &amp;mdash; such as the header, footer, main content area, etc. &amp;mdash; can be easily be distinguished from one another....The benefit of this is that it will allow search engines to easily crawl the website, possibly skipping sections such as &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; or using them for different indexing purposes (such as identifying copyright information or finding the site&amp;rsquo;s name or logo). Search engine&amp;nbsp; indexing will thus be more efficient, meaningful and possibly more advanced.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I'm really happy to see this being fleshed out and Adam touches on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The new semantic tags&lt;/li&gt;
&lt;li&gt;Web page segmentation&lt;/li&gt;
&lt;li&gt;The new &lt;a href="http://www.w3.org/TR/html5/links.html#linkTypes"&gt;link types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;lt;video&amp;gt; and &amp;lt;audio&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It'd be great to see more detail into how other features affect it and even how the greater reliance of JavaScript may affect how crawlers view your pages. I recently gave an HTML5-related talk and this was a topic that was on the mind of a couple of attendees so I'm glad we're starting to dig into this.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/22/html5-and-its-impact-on-seo.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10177935" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="SEO" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/SEO/" /></entry><entry><title>Want to Learn jQuery Online? Check out Code School </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/14/want-to-learn-jquery-online-check-out-code-school.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/14/want-to-learn-jquery-online-check-out-code-school.aspx</id><published>2011-06-14T16:40:00Z</published><updated>2011-06-14T16:40:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://envylabs.com/"&gt;Gregg Pollack of Envy Labs&lt;/a&gt; emailed me recently to give me the heads up about his new online learning initiative called &lt;a href="http://www.codeschool.com/"&gt;Code School&lt;/a&gt;. If you don't know Gregg, he was one of the masterminds behind the &lt;a href="http://www.youtube.com/user/envyads"&gt;incredibly viral "Rails Envy" set of videos&lt;/a&gt;. Since Gregg knows I'm a member of the jQuery team, he wanted to make sure I was in the loop on his newest course titled "&lt;a href="http://www.codeschool.com/courses/jquery-air-first-flight"&gt;jQuery Air: First Flight&lt;/a&gt;" which runs you through the ins-and-outs of getting up to speed with jQuery.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeschool.com/courses/jquery-air-first-flight"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2727.jqueryair.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The course is broken up into five levels running you through the basics of JavaScript all the way through using jQuery's built-in DOM and Ajax capabilities. It's screencast-based and with Gregg's experience in producing online tutorials, it's very well-done. And you can't beat the price of $45 either.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/14/want-to-learn-jquery-online-check-out-code-school.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10174429" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="jQuery" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/jQuery/" /><category term="training" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/training/" /></entry><entry><title>Classic Computer Science in JavaScript</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/13/class-computer-science-in-javascript.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/13/class-computer-science-in-javascript.aspx</id><published>2011-06-13T14:36:00Z</published><updated>2011-06-13T14:36:00Z</updated><content type="html">&lt;p&gt;Ah, remember the good ole college days where you had to code in CICS and Cobol? No? Um...okay I'm showing my age. Anyways, we all had to go through some of the basics of computer science at some point to understand specific algorithms and how sorting works and while we may want to forget some of those courses altogether, the stuff we learned is certainly applicable till this day.&lt;/p&gt;
&lt;p&gt;Well, programmer extrodinaire Nicholas Zakas has started to &lt;a href="https://github.com/nzakas/computer-science-in-javascript"&gt;compile a collection of JavaScript code that tackles many of the common approaches&lt;/a&gt;. For example, here's the classic &lt;em&gt;&lt;a href="https://github.com/nzakas/computer-science-in-javascript/tree/master/algorithms/sorting/bubble-sort"&gt;bubble sort&lt;/a&gt;&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;function swap(items, firstIndex, secondIndex){
    var temp = items[firstIndex];
    items[firstIndex] = items[secondIndex];
    items[secondIndex] = temp;
}
 
/**
* A bubble sort implementation in JavaScript. The array
* is sorted in-place.
* @param {Array} items An array of items to sort.
* @return {Array} The sorted array.
*/
function bubbleSort(items){

    var len = items.length,
        i, j, stop;

    for (i=0; i &amp;lt; len; i++){
        for (j=0, stop=len-i; j &amp;lt; stop; j++){
            if (items[j] &amp;gt; items[j+1]){
                swap(items, j, j+1);
            }
        }
    }
    
    return items;
}

&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;He covers many different classic computer science paradigms, algorithms, and approaches and it's well worth the look, especially if you're a self-taught developer without a formal background in CS.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/13/class-computer-science-in-javascript.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173923" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /></entry><entry><title>HTML5 Snippets</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/09/html5-snippets.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/09/html5-snippets.aspx</id><published>2011-06-09T16:17:00Z</published><updated>2011-06-09T16:17:00Z</updated><content type="html">&lt;p&gt;I stumbled upon this cool project site via Twitter this morning, &lt;a href="http://html5snippets.com"&gt;http://html5snippets.com&lt;/a&gt;. HTML5Snippets allows you to share HTML5 &amp;amp; CSS3 snippets. It's an small experimental project created by &lt;a href="http://twitter.com/rbreve" target="_blank"&gt;Roberto Brev&amp;eacute;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/6242.html5snippets.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/6242.html5snippets.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Users can request snippets of code as well as browse existing code snippets.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7776.html5snippets_2D00_1.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7776.html5snippets_2D00_1.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seems like a cool way to learn new HTML5 techniques.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/09/html5-snippets.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10172987" width="1" height="1"&gt;</content><author><name>ralph.whitbeck@gmail.com</name><uri>http://blogs.msdn.com/ralph.whitbeck_4000_gmail.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /></entry><entry><title>Want to Learn Canvas? You Need to Get this Book.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/09/want-to-learn-canvas-you-need-to-get-this-book.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/09/want-to-learn-canvas-you-need-to-get-this-book.aspx</id><published>2011-06-09T13:14:00Z</published><updated>2011-06-09T13:14:00Z</updated><content type="html">&lt;p&gt;The HTML5 Canvas element and API have become indespensible for 
developers who want to build interactive graphics without the need for 
3rd party plugins. From very cool drawing to full-on video games, Canvas
 is the new&amp;nbsp;technology of choice for building out some great user 
experiences. The downside is the learning curve. It's not a trivial API 
and if you want to go beyond the basics, it's helpful to have a 
resource. Thankfully, Canvas and game expert Rob Hawkes has written a 
fantastic book the technology. &lt;/p&gt;
&lt;p&gt;&lt;span style="float: right; margin-left: 10px;"&gt;&lt;a href="http://rawkes.com/foundationcanvas"&gt;&lt;img src="/resized-image.ashx/__size/150x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3404.foundation_2D00_canvas_5F00_cover.jpg" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id="btAsinTitle"&gt;&lt;a href="http://rawkes.com/foundationcanvas"&gt;Foundation HTML5 Canvas: For Games and Entertainment&lt;/a&gt;&amp;nbsp;takes
 you&amp;nbsp;through the basics of Canvas and leads you into advanced topics 
that will have you building advanced Canvas apps, including games, in no
 time.&amp;nbsp;Here's what Rob had to say:&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;i&gt;My 
motivation behind writing the book stems from the lack of concise and 
easy-to-understand documentation about all the cool things that HTML5 
canvas can do. Back when I was learning canvas myself there was very 
little to go on apart from the hardcore specification documentation, 
which is meant for browser manufacturers to understand, not Web 
developers. Readers of the book will be able to learn everything from 
the history of HTML5, to a foundation course in JavaScript, all the way 
to learning how to draw in the browser using canvas. The book ends with a
 look at more challenging areas of canvas, like animation with physics, 
and game development. All in all, this is the book that I wish existed 
when I started out, so if you're looking at canvas or game development I
 encourage you to check out &lt;/i&gt;&lt;a href="http://rawkes.com/foundationcanvas"&gt;&lt;i&gt;the website for the book&lt;/i&gt;&lt;/a&gt;&lt;i&gt; to find out more.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Here's what you'll learn:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The exciting new features that HTML5 brings and how to use them&lt;/li&gt;
&lt;li&gt;The basics of programming in JavaScript and capturing user input&lt;/li&gt;
&lt;li&gt;What the canvas drawing element is all about and why you'd want to use it&lt;/li&gt;
&lt;li&gt;How to utilise both basic and advanced features of canvas&lt;/li&gt;
&lt;li&gt;How to create realistic animations using canvas and a splash of physics&lt;/li&gt;
&lt;li&gt;How to make interactive games using canvas, JavaScript, and other HTML5 goodies&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The book is definitely top-notch and if you're interested in 
HTML5-based animation, it definitely should be part of your library. &lt;/p&gt;
&lt;p&gt;Be sure to check out the book as well as Rob's Script Junkie article on &lt;a href="http://msdn.microsoft.com/en-US/scriptjunkie/gg189187.aspx"&gt;How to Build Asteroids with the Impact HTML5 Game Engine&lt;/a&gt;&amp;nbsp;to learn what can be done with Canvas.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/09/want-to-learn-canvas-you-need-to-get-this-book.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10172909" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="Canvas" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Canvas/" /></entry><entry><title>W3C Media Capture API Prototype for IE9 Released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/08/w3c-media-capture-api-prototype-for-ie9-released.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/08/w3c-media-capture-api-prototype-for-ie9-released.aspx</id><published>2011-06-08T16:06:00Z</published><updated>2011-06-08T16:06:00Z</updated><content type="html">&lt;p&gt;Claudio Caldato of Microsoft's Interoperability team announced yesterday that they've &lt;a href="/b/interoperability/archive/2011/06/07/new-media-capture-audio-prototype-released.aspx"&gt;released for ﻿﻿﻿IE9 a new prototype of the W3C's Media Capture API&lt;/a&gt;. The &lt;a href="http://www.w3.org/TR/media-capture-api/"&gt;specification&lt;/a&gt;
 defines﻿ HTML form enhancements to provide access to the audio, image 
and video capture capabilities of a device.﻿ For this prototype, the 
focus is specifically on the audio portion of the spec with a plan to 
add speech, image and video support soon after.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;﻿ &lt;em&gt;Our next prototype will support Speech recognition and will implement the Microsoft proposal available on the W3C website &lt;a href="http://lists.w3.org/Archives/Public"&gt;here&lt;/a&gt; and &lt;a href="http://lists.w3.org/Archives/Public/www-archive/2011Mar/att-0001/microsoft-api-draft-final.html"&gt;here&lt;/a&gt;. It will also include two implementations of the sample apps that are described in sections 5.1 and 5.2 of the draft.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The release sticks to Microsoft's conservative approach of allowing 
developers to experiment with important&amp;nbsp;features that may not be 100% 
ready for release. To download and install&lt;a href="http://html5labs.interoperabilitybridges.com/prototypes/media-capture-api/media-capture-api/info"&gt; the new prototype&lt;/a&gt; along with &lt;a href="http://html5labs.interoperabilitybridges.com/prototypes/indexeddb/indexeddb/info"&gt;IndexedDB&lt;/a&gt;, &lt;a href="http://html5labs.interoperabilitybridges.com/prototypes/websockets/websockets/info"&gt;WebSockets&lt;/a&gt; and the &lt;a href="http://html5labs.interoperabilitybridges.com/prototypes/fileapi/fileapi/info"&gt;FileAPI&lt;/a&gt;, be sure to visit the &lt;a href="http://html5labs.interoperabilitybridges.com/"&gt;Microsoft HTML5Labs&lt;/a&gt;.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/08/w3c-media-capture-api-prototype-for-ie9-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10172571" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="HTML5" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML5/" /><category term="IE9" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/IE9/" /></entry><entry><title>Processing.js 1.2 Released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/06/processing-js-1-2-released.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/06/processing-js-1-2-released.aspx</id><published>2011-06-07T00:38:00Z</published><updated>2011-06-07T00:38:00Z</updated><content type="html">&lt;p&gt;Last week, the &lt;a href="http://processingjs.org/blog/?p=267"&gt;processing.js project released version 1.2&lt;/a&gt; which is their largest release to date, and focuses on performance, compatibility, 3D, and bug fixes.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;Since our last release, exciting things have been happening in 
browser development.  WebGL, the 3D extension of the HTML5 canvas 
element, has now shipped in Firefox and Chrome, and is being tested in 
nightly builds of Safari and Opera.  Processing.js has been fully WebGL 
compatible for more than a year, and version 1.2 includes some great 3D 
performance and bug fixes.  We&amp;rsquo;ve also &lt;a href="http://processingjs.org/reference/articles/RenderingModes"&gt;written a guide&lt;/a&gt;
 to help explain how Processing.js uses canvas and WebGL to support the 
various Processing render modes.  Processing.js is a great way to get 
started with 2D and 3D graphics on the web, without having to understand
 all of the underlying technologies.  With several guides for &lt;a href="http://processingjs.org/reference/articles/PomaxGuide"&gt;people new to Processing&lt;/a&gt;, &lt;a href="http://processingjs.org/reference/articles/jsQuickStart"&gt;JavaScript developers&lt;/a&gt; and &lt;a href="http://processingjs.org/reference/articles/p5QuickStart"&gt;Processing developers&lt;/a&gt;, there has never been a better time to jump in!&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;This release also includes some important changes to ensure better 
compatibility with Processing 1.5.  First, we&amp;rsquo;ve altered our default 
frame rate to match Processing&amp;rsquo;s (i.e., 60 fps).  Developers who are 
upgrading from previous versions of Processing.js, and who don&amp;rsquo;t 
explicitly set a frame rate, may notice that sketches seem to run more 
slowly.  Don&amp;rsquo;t worry, Processing.js is faster than ever!  Your sketch is
 just drawing at 60fps.  It&amp;rsquo;s possible to make things as fast as the 
browsers will allow by setting a higher frame rate, but this will of 
course consume more CPU, and actually &lt;a href="http://weblogs.mozillazine.org/roc/archives/2010/08/the_mozrequesta.html"&gt;not provide any real gain&lt;/a&gt; other than bigger deltas between visible frames.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here are some great examples of processing out in the wild:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://apps.facebook.com/viriongame/"&gt;Winners of Zynga&amp;rsquo;s Facebook Game competition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://heff2011.wordpress.com/2011/04/03/continuum/"&gt;Using Processing.js to design tomorrow&amp;rsquo;s fashion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://numberpicture.com/"&gt;A fantastic collaborative data visualization tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://n96.org/"&gt;A real-time Twitter visualizer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://neoformix.com/2011/TweetTopicExplorer.html"&gt;Another great Twitter visualization tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://labs.lucastswick.com/circle-art/"&gt;An experiment in painting with circles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fathom.info/macrecipes/"&gt;Visualizing MacGyver episodes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.atzombies.com/"&gt;@Zombies, a Social Network Story Telling experiment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.reddit.com/r/programming/comments/h9ynx/while_my_boss_wasnt_looking_an_html5_wave/"&gt;One of many interesting Processing.js and CoffeeScript experiments we&amp;rsquo;ve seen lately&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://zepadovani.info/"&gt;Using Processing.js as dynamic website background&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://asalga.wordpress.com/2011/04/03/"&gt;A virtual museum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://scotland.proximity.on.ca/sdowne/physics/physicsSubtitles/"&gt;popcorn.js + processing.js + box2d.js&lt;/a&gt;&lt;a&gt; &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.atelierbinturong.com/2011/04/spring-and-processingjs.html"&gt;Drawing flowers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=WK3zc8XDxuI"&gt;Video showing the iPad with Arduino + Processing.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vocamus.net/dave/?p=1166"&gt;Creating video game sounds and visualizing the waveforms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://processingjs.nihongoresources.com/graphs/"&gt;A graph visualization tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.analogpixel.org/pages/mouseMaze/"&gt;A simple but fun mouse maze game&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.upfade.com/"&gt;Graffiti drawing demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since the release there has already been a &lt;a href="http://processingjs.org/blog/?p=267"&gt;minor point release to 1.2.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Congratulations to the Processing.js team.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/06/processing-js-1-2-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10171837" width="1" height="1"&gt;</content><author><name>ralph.whitbeck@gmail.com</name><uri>http://blogs.msdn.com/ralph.whitbeck_4000_gmail.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="processing" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/processing/" /></entry><entry><title>Windows 8 Previewed - HTML5 and JavaScript Apps </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/03/windows-8-previewed-html5-and-javascript-apps.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/03/windows-8-previewed-html5-and-javascript-apps.aspx</id><published>2011-06-03T10:43:00Z</published><updated>2011-06-03T10:43:00Z</updated><content type="html">&lt;p&gt;A preview demonstration of Windows 8 at the D9 Conference is causing a lot of discussion this week.&amp;nbsp; One of the new features that web developers are talking about is &amp;ldquo;&lt;em&gt;Web-connected and Web-powered apps built using HTML5 and JavaScript that have access to the full power of the PC.&lt;/em&gt;&amp;rdquo;&lt;br /&gt;&lt;br /&gt;In a &lt;a href="http://www.microsoft.com/presspass/features/2011/jun11/06-01corporatenews.aspx"&gt;press release&lt;/a&gt; from Microsoft: &amp;ldquo;&lt;em&gt;Today, we also talked a bit about how developers will build apps for the new system. Windows 8 apps use the power of HTML5, tapping into the native capabilities of Windows using standard JavaScript and HTML to deliver new kinds of experiences. These new Windows 8 apps are full-screen and touch-optimized, and they easily integrate with the capabilities of the new Windows user interface. There&amp;rsquo;s much more to the platform, capabilities and tools than we showed today.&lt;/em&gt;&amp;rdquo;&lt;br /&gt;&lt;br /&gt;This is very exciting news for HTML5 and JavaScript developers.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/p92QfWOw88I?rel=0&amp;amp;hd=1" frameborder="0" height="349" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;In the video above, Jensen Harris, Director of PM, Windows User Experience, walks us through basic elements of the new Windows 8 user interface.&lt;br /&gt;&lt;br /&gt;Microsoft is planning on revealing many more details to developers in it&amp;rsquo;s upcoming &lt;a href="http://www.buildwindows.com/"&gt;BUILD&lt;/a&gt; event (formerly PDC) September 13-16 in Anaheim, California.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/06/03/windows-8-previewed-html5-and-javascript-apps.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10171160" width="1" height="1"&gt;</content><author><name>ralph.whitbeck@gmail.com</name><uri>http://blogs.msdn.com/ralph.whitbeck_4000_gmail.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="CSS" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/CSS/" /><category term="HTML" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML/" /></entry><entry><title>Build Canvas-based Heatmaps with Heatmap.js</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/31/build-canvas-based-heatmaps-with-heatmap-js.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/31/build-canvas-based-heatmaps-with-heatmap-js.aspx</id><published>2011-05-31T16:08:00Z</published><updated>2011-05-31T16:08:00Z</updated><content type="html">&lt;p&gt;I've always loved &lt;a href="http://www.crazyegg.com/"&gt;Crazyegg's&lt;/a&gt;&amp;nbsp;heatmap
 functionality. It's a very cool method of seeing where users are 
clicking on your site and where the most activity is. I just stumbled 
upon &lt;a href="http://www.patrick-wied.at/static/heatmapjs/"&gt;Heatmap.js&lt;/a&gt; which lets you do that same thing. It uses the HTML5 Canvas element to dynamically generate the heatmaps based on your data.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;Heatmap instances contain a store in order to colorize the &lt;strong&gt;heatmap based on relative data&lt;/strong&gt;,
 which means if you're adding only a single datapoint to the store it 
will be displayed as the hottest(red) spot, then adding another point 
with a higher count, it will &lt;strong&gt;dynamically recalculate&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you check out the image below, you can see how hovering over the 
button&amp;nbsp;accentuates the heatmap's colorization&amp;nbsp; on that section:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.patrick-wied.at/static/heatmapjs/"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/8484.heatmap.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The source is released under a very liberal MIT and Beerware license (yep, Beerware) and the author, &lt;a target="_blank" href="http://www.patrick-wied.at/"&gt;Patrick Wied&lt;/a&gt;, is actively &lt;a href="http://www.patrick-wied.at/"&gt;looking for contributions&lt;/a&gt;.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/31/build-canvas-based-heatmaps-with-heatmap-js.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10169964" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="heatmap" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/heatmap/" /></entry><entry><title>JavaScript Server Roundup - The Lowdown on Several Engines</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/26/javascript-server-roundup-the-lowdown-on-serveral-engines.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/26/javascript-server-roundup-the-lowdown-on-serveral-engines.aspx</id><published>2011-05-26T13:10:00Z</published><updated>2011-05-26T13:10:00Z</updated><content type="html">&lt;p&gt;InfoWorld has published&lt;a href="http://www.infoworld.com/d/application-development/javascript-conquers-the-server-969?page=0,0"&gt;&amp;nbsp;an interesting comparison of several server-side JavaScript-based server implementations&lt;/a&gt;. Of course, &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt;
 but they also cover Jaxer, EJScript, RingoJS and AppengineJS. At this 
point, it feels that Node.js has so much momentum that other JS-based 
servers are often overlooked so it's nice to see a broader view of the 
landscape.&lt;/p&gt;
&lt;p&gt;It's going to be interesting to see how developers of more 
traditional server-side&amp;nbsp;options like PHP, Python or ASP.Net adapt to 
Node's asychronous model. I think this quote speaks volumes to Node's 
model:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In the right hands connected to a right-thinking mind, the 
results can be staggeringly efficient. When the programmer spends a few 
minutes and separates the work done before and after a delay, there's no
 need for the machine to tie up RAM to hold the state in the thread just
 so it will be ready when the data finally shows up from the database or
 the distant server or even the file system. It was undeniably easier 
for the programmer to let the computer keep all of the state, but it's 
much more efficient this way. Just as businesses try desperately to 
avoid tying up capital in inventory, a programmer's job is to think like
 a factory boss, treat RAM as capital, and avoid consuming any of it.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tom Robinson, a developer on &lt;a href="http://narwhaljs.org/"&gt;Narwhal&lt;/a&gt;,&amp;nbsp;actually comments on the difficulties of the async model:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;I'm 
increasingly convinced this asynchronous callback style of programming 
is too difficult for most developers to manage. Without extreme 
discipline it can easily lead to 'callback hell,' with deeply nested 
callbacks and complex code to implement logic that would be simple on a 
synchronous platform.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;﻿﻿﻿&lt;/em&gt;﻿JavaScript developers are fairly used to this style of 
development but in the "post back" world, this isn't as commonplace so I
 can see where Tom is coming from.&lt;/p&gt;
&lt;p&gt;I was kind of perplexed by this statement though:&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;One developer referred to &lt;a target="_blank" href="http://www.commonjs.org/"&gt;CommonJS&lt;/a&gt;, an attempt at building a standard server-side API, as "so 2009."&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I've felt that the CommonJS movement had some teeth and this sounds like there may be some splintering. &lt;/p&gt;
&lt;p&gt;I think once the tooling becomes more mature, we're going to see much
 easier transition path for developers and broader adoption of these 
JavaScript servers.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/26/javascript-server-roundup-the-lowdown-on-serveral-engines.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10168644" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="Node.js" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Node-js/" /><category term="Server-Side" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/Server_2D00_Side/" /></entry><entry><title>The Script Junkie Blog is Live! The New Source for JavaScript, HTML and CSS Community News.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/26/the-script-junkie-blog-is-live-the-new-source-for-javascript-html-and-css-community-news.aspx" /><id>http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/26/the-script-junkie-blog-is-live-the-new-source-for-javascript-html-and-css-community-news.aspx</id><published>2011-05-26T12:51:00Z</published><updated>2011-05-26T12:51:00Z</updated><content type="html">&lt;p&gt;When we launched &lt;a href="http://ScriptJunkie.com"&gt;Script Junkie&lt;/a&gt;
 last June, our focus was (and still is) to provide in-depth articles 
that helped developers solve specific problems. The feedback has been 
great and Script Junkie continues to grow rapidly, due in no small part 
to the awesome authors who produce excellent content for SJ readers.&lt;/p&gt;
&lt;p&gt;Now that the site is chugging along nicely, we want to continue to 
support the JavaScript, HTML and CSS community by providing information 
in a more timely fashion. This is why we've launched the Script Junkie 
blog. Here, you'll be able to find&amp;nbsp;news&amp;nbsp;posts about the latest and 
greatest libraries, frameworks and technologies in the web development 
space. This will be very different than the deep technical articles 
found on our main site and will offer much more frequent, bite-sized 
posts to keep you&amp;nbsp;up-to-date with what's going on in the community.&amp;nbsp;And 
we're actively looking for the community to submit news to us so if you 
have something new and exciting you want to share, please be sure to 
email us at &lt;a href="mailto:sjsiteteam@microsoft.com"&gt;sjsiteteam@microsoft.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Having&amp;nbsp;timely&amp;nbsp;information is invaluable and we hope to provide&amp;nbsp;the best&amp;nbsp;resource for keeping the community in the loop.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/scriptjunkie/archive/2011/05/26/the-script-junkie-blog-is-live-the-new-source-for-javascript-html-and-css-community-news.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10168638" width="1" height="1"&gt;</content><author><name>reybango@live.com</name><uri>http://blogs.msdn.com/reybango_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="JavaScript" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/JavaScript/" /><category term="News" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/News/" /><category term="CSS" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/CSS/" /><category term="HTML" scheme="http://blogs.msdn.com/b/scriptjunkie/archive/tags/HTML/" /></entry></feed>