<?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>Ajax Bestiary &#187; Link</title>
	<atom:link href="http://www.ajaxbestiary.com/category/link/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxbestiary.com</link>
	<description>AJAX Development, News, Techniques &#38; More</description>
	<lastBuildDate>Wed, 01 Feb 2012 12:46:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Thoughts on Google&#8217;s Native Client platform?</title>
		<link>http://www.ajaxbestiary.com/2011/11/29/thoughts-on-googles-native-client-platform/</link>
		<comments>http://www.ajaxbestiary.com/2011/11/29/thoughts-on-googles-native-client-platform/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 20:09:10 +0000</pubDate>
		<dc:creator>Dave Mahon</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Misc Toolkits]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[desktop app]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[NaCl]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/?p=510</guid>
		<description><![CDATA[Steven Shankland, over at CNET, has written an interesting piece about Google&#8217;s NaCl (yes, chemistry geeks, that is the formula for table salt). Overall, it&#8217;s a fairly balanced review. On the one side, we get all of the benefits of WebKit, but with the performance of a compiled native application. In theory, that then allows [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Steven Shankland, over at CNET, has written an interesting piece about <a href="http://news.cnet.com/8301-30685_3-57332622-264/google-well-prove-native-clients-worth-on-the-web/">Google&#8217;s NaCl</a> (yes, chemistry geeks, that is the formula for table salt). Overall, it&#8217;s a fairly balanced review.</p>
<p>On the one side, we get all of the benefits of WebKit, but with the performance of a compiled native application. In theory, that then allows us to write a knock-off of Photoshop and make it cross-platform, with easy electronic distribution.</p>
<p>On the other side, it&#8217;s not so cross-platform that it works on mobile devices and it does splinter development efforts. It only works on x86 CPU&#8217;s to date and it requires a browser plug-in API, which already dates it, since IE10&#8242;s Metro version will be plug-in-free.</p>
<p>Finally, Google and Mozilla both offer competing engines. Google&#8217;s Dart is intended to supplant JavaScript while Mozilla&#8217;s IonMonkey will further improve compiler performance.</p>
<p>Overall, if you&#8217;re willing to venture into relatively uncharted territory, have significant say in your deployment environment, and need as much performance as possible, this is an intriguing initiative. I just wonder how many of us developers fall into that bucket.</p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2011/11/29/thoughts-on-googles-native-client-platform/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Automagically Convert Flash to HTML 5</title>
		<link>http://www.ajaxbestiary.com/2011/11/12/automagically-convert-flash-to-html-5/</link>
		<comments>http://www.ajaxbestiary.com/2011/11/12/automagically-convert-flash-to-html-5/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 14:30:39 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/?p=467</guid>
		<description><![CDATA[We all knew this was coming, but google has thrown themselves into the Flash / HTML5 fray with a fun new beta tool.  Google Swiffy Basically, it&#8217;s a tool that automatically converts SWF to HTML5 by creating an SVG animation. http://www.google.com/doubleclick/studio/swiffy/ And now for the bad news It&#8217;s free to use, but it&#8217;s on a [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>We all knew this was coming, but google has thrown themselves into the Flash / HTML5 fray with a fun new beta tool.  Google Swiffy</p>
<p>Basically, it&#8217;s a tool that automatically converts SWF to HTML5 by creating an SVG animation.</p>
<p><a href="http://www.google.com/doubleclick/studio/swiffy/">http://www.google.com/doubleclick/studio/swiffy/</a></p>
<h3>And now for the bad news</h3>
<p>It&#8217;s free to use, but it&#8217;s on a closed source license which makes it a bit  of a problem for a lot of users.</p>
<p><a href="http://www.google.com/doubleclick/studio/swiffy/">Have a Flash SWF File? convert it to HTML5 with Google Swiffy</a>:</p>
<p>(Via <a href="http://news.ycombinator.com/">Hacker News</a>)</p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2011/11/12/automagically-convert-flash-to-html-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Date.js  My New Favorite Javascript Date Library</title>
		<link>http://www.ajaxbestiary.com/2010/06/19/date-js-my-new-favorite-javascript-date-library/</link>
		<comments>http://www.ajaxbestiary.com/2010/06/19/date-js-my-new-favorite-javascript-date-library/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:43:32 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Misc Toolkits]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[Resource]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2010/06/19/date-js-my-new-favorite-javascript-date-library/</guid>
		<description><![CDATA[Earlier this week, I discovered that Safari doesn’t support dates in ISO 8601 UTC combined format:&#160; “2010-06-19T03:11Z”.&#160; This was a problem as my production system was delivering me a json file with dates in this format and my project was simply a new UI for the existing server.&#160; A quick round of googling found DateJS [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Earlier this week, I discovered that Safari doesn’t support dates in ISO 8601 UTC combined format:&#160; “2010-06-19T03:11Z”.&#160; This was a problem as my production system was delivering me a json file with dates in this format and my project was simply a new UI for the existing server.&#160; A quick round of googling found <a href="http://www.datejs.com/">DateJS</a> a powerful chainable Date extension that enables both unified parsing and mask based date rendering.&#160; I’d only played with it for a few minutes before I was completely hooked on it.&#160; Just look at what it can do.</p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #008000">// What date is next thursday?</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> Date.today().next().thursday();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span> <span style="color: #008000">// Add 3 days to Today</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span> Date.today().add(3).days();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span> <span style="color: #008000">// Is today Friday?</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span> Date.today().<span style="color: #0000ff">is</span>().friday();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span> <span style="color: #008000">// Number fun</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span> (3).days().ago();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span> <span style="color: #008000">// 6 months from now</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span> <span style="color: #0000ff">var</span> n = 6;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span> n.months().fromNow();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17">  17:</span> <span style="color: #008000">// Set to 8:30 AM on the 15th day of the month</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18">  18:</span> Date.today().set({ day: 15, hour: 8, minute: 30 });</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19">  19:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20">  20:</span> <span style="color: #008000">// Convert text into Date</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21">  21:</span> Date.parse(<span style="color: #006080">'today'</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22">  22:</span> Date.parse(<span style="color: #006080">'t + 5 d'</span>); <span style="color: #008000">// today + 5 days</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23">  23:</span> Date.parse(<span style="color: #006080">'next thursday'</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24">  24:</span> Date.parse(<span style="color: #006080">'February 20th 1973'</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25">  25:</span> Date.parse(<span style="color: #006080">'Thu, 1 July 2004 22:30:00'</span>);</pre>
<p><!--CRLF--></div>
</div>
<p><font color="#333333">And Yes It supports ISO 8601 UTC combined format!.</font></p>
<p>A quick replacement of my existing date toolkit in the project and my bugs were fixed.</p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2010/06/19/date-js-my-new-favorite-javascript-date-library/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Streamline Your Javascript with Shorthand</title>
		<link>http://www.ajaxbestiary.com/2007/11/02/streamline-your-javascript-with-shorthand/</link>
		<comments>http://www.ajaxbestiary.com/2007/11/02/streamline-your-javascript-with-shorthand/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 12:19:55 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[shorthand]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/11/02/streamline-your-javascript-with-shorthand/</guid>
		<description><![CDATA[D&#8217;bug has published a wonderful list of techniques for abbreviating Javascript and improving performance. You can find the article here: http://blog.reindel.com/2007/11/01/javascript-shorthand-tips-and-tricks/]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>D&#8217;bug has published a wonderful list of techniques for abbreviating Javascript and improving performance.</p>
<p>You can find the article here:</p>
<p><a title="http://blog.reindel.com/2007/11/01/javascript-shorthand-tips-and-tricks/" href="http://blog.reindel.com/2007/11/01/javascript-shorthand-tips-and-tricks/">http://blog.reindel.com/2007/11/01/javascript-shorthand-tips-and-tricks/</a></p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/11/02/streamline-your-javascript-with-shorthand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

