<?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>84 Bytes &#187; Javascript</title>
	<atom:link href="http://www.84bytes.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.84bytes.com</link>
	<description>A web development blog</description>
	<lastBuildDate>Mon, 04 Apr 2011 14:55:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Learn the quirky parts of Javascript</title>
		<link>http://www.84bytes.com/2011/04/03/learn-the-quirky-parts-of-javascript/</link>
		<comments>http://www.84bytes.com/2011/04/03/learn-the-quirky-parts-of-javascript/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 22:18:29 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=332</guid>
		<description><![CDATA[JavaScript Garden by Ivo Wetzel and Zhang Yi Jiang is a collection of documentation about the most quirky parts of the JavaScript language with a lot of code examples. This is a very good read for developers already working with javascript. I&#8217;m sure you will find things in there that are new to you. The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bonsaiden.github.com/JavaScript-Garden/">JavaScript Garden</a> by Ivo Wetzel and Zhang Yi Jiang is a collection of documentation about the most quirky parts of the JavaScript language with a lot of code examples. </p>
<p>This is a very good read for developers already working with javascript. I&#8217;m sure you will find things in there that are new to you. </p>
<p>The whole doc is open source and hosted on <a href="https://github.com/BonsaiDen/JavaScript-Garden/">GitHub</a> built with <a href="http://nodejs.org/">Node.js</a> using <a href="http://jade-lang.com/">jade</a> template.</p>
<p><img src="http://www.84bytes.com/media/2011/04/JavaScript-Garden.png" alt="" title="JavaScript Garden" width="500" class="alignnone size-full wp-image-333" /></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=332&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2011/04/03/learn-the-quirky-parts-of-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lazy Javascript Loader</title>
		<link>http://www.84bytes.com/2010/03/30/lazy-javascript-loader/</link>
		<comments>http://www.84bytes.com/2010/03/30/lazy-javascript-loader/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 07:03:41 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[code example]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=290</guid>
		<description><![CDATA[I was involved in a project recently with some heavy use of Javascript. We needed to load many javascript files on the page. Because of the site structure and the legacy system, there are potential situations where the same javascript is loaded more than once. To over come that, we needed something that can handle the script [...]]]></description>
			<content:encoded><![CDATA[<p>I was involved in a project recently with some heavy use of Javascript. We needed to load many javascript files on the page. Because of the site structure and the legacy system, there are potential situations where the same javascript is loaded more than once. To over come that, we needed something that can handle the script loading for us.</p>
<p>After looking at many options, we decided to write our own quick and dirty lazy script loader which will fit our need. </p>
<p>The key features we want from it are:</p>
<ul>
<li>Dynamically creating a script tag to load any scripts we want</li>
<li>Handle callbacks</li>
<li>Handle duplicate script load</li>
<li>Small in size and simple api</li>
<li>Framework independent</li>
</ul>
<p><span id="more-290"></span></p>
<p>Usage Example:</p>
<pre>ScriptLoader.load('demo.js', function() {
    alert('Demo script loaded Loaded');
});</pre>
<p>Code:</p>
<pre>
//namespace
var ScriptLoader = {}; 

//scripts object storing the state and callbacks of scripts
ScriptLoader.scripts = {}; 

//Handle multiple script callbacks to one single script
ScriptLoader.onScriptLoad = function(url) {
	var script = this.scripts[url];
	script.loaded = true;
	for (var i = 0, len = script.callbacks.length; i < len; i++)
	{
		var callback = script.callbacks[i];
		if (typeof callback != 'undefined') callback();
	}
};

//Main loader function
ScriptLoader.load = function(url, callback) {

	//Check if script has already been added to the loader
	if (this.scripts[url] != undefined)
	{
		if (this.scripts[url].loaded) //File loaded
		{
			//Run callback straight away
			if (typeof callback != 'undefined') callback();
		}
		else //Still loading
		{
			//Add callback to list for running later
			this.scripts[url].callbacks.push(callback);
		}

		//Script already requested so exit here
		return;
	}

	//Create tracker for this script to monitor status and build a list of callbacks
	this.scripts[url] = {loaded: false, callbacks: [callback]};

	//Add script element to DOM and add onload handlers for callbacks
	var script = document.createElement("script")
	script.type = "text/javascript";

	if (script.readyState) //IE
	{
		script.onreadystatechange = function()
		{
            if (script.readyState == "loaded" ||
                    script.readyState == "complete")
			{
                script.onreadystatechange = null;

				ScriptLoader.onScriptLoad(url);
			}
        };
    }
   else //Other browsers
   {
	    script.onload = function(event)
	    {
			ScriptLoader.onScriptLoad(url);
	   };
    }

    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
};
</pre>
<p>This is by no mean to be ground breaking or prefect but it is working prefect for us on most popular browsers. There are many awesome fully featured script loading library out there. <a href="http://requirejs.org/">RequireJS</a> is definitely one worth looking.</p>
<p>I also have to thanks Charles Davison co-author of the code and Bob Matsuoka as he gave us a good starting point for this script in his <a href="http://ajaxian.com/archives/a-technique-for-lazy-script-loading">A Technique For Lazy Script Loading</a> article from <a href="http://ajaxian.com/">Ajaxian</a> </p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=290&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2010/03/30/lazy-javascript-loader/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Is Jquery really that much more trendy?</title>
		<link>http://www.84bytes.com/2009/04/02/is-jquery-really-that-much-more-trendy/</link>
		<comments>http://www.84bytes.com/2009/04/02/is-jquery-really-that-much-more-trendy/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 23:39:46 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[javascript trend]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=281</guid>
		<description><![CDATA[Using Google Trend for website, I added 5 popular javascript framework website and the above chart is the result. Is jquery.com just that much more appealing than the other framework sites or the actual framework is just that much more popular?]]></description>
			<content:encoded><![CDATA[<p><a href="http://trends.google.com/websites?q=jquery.com%2C+prototypejs.org%2Cmootools.net%2Cdojotoolkit.org%2Cextjs.com%2C&amp;geo=all&amp;date=all&amp;sort=0" target="_blank"><img class="alignnone size-full wp-image-282" title="Javascript Framework Website Trend" src="http://www.84bytes.com/media/2009/04/jsframework_trend.png" alt="Javascript Framework Website Trend" width="597" height="233" /></a></p>
<p>Using Google Trend for website, I added 5 popular javascript framework website and the above chart is the <a href="http://trends.google.com/websites?q=jquery.com%2C+prototypejs.org%2Cmootools.net%2Cdojotoolkit.org%2Cextjs.com%2C&amp;geo=all&amp;date=all&amp;sort=0">result</a>.</p>
<p>Is jquery.com just that much more appealing than the other framework sites or the actual framework is just that much more popular?</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=281&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2009/04/02/is-jquery-really-that-much-more-trendy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Standalone JavaScript Selector Engines</title>
		<link>http://www.84bytes.com/2009/04/01/standalone-javascript-selector-engines/</link>
		<comments>http://www.84bytes.com/2009/04/01/standalone-javascript-selector-engines/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 12:45:51 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[JavaScript library]]></category>
		<category><![CDATA[selector]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=266</guid>
		<description><![CDATA[One of the most used and helpful feature of any Javascript framework is probably their selector function. It allows us to search and filter elements using CSS like selector syntax. This means it takes out the tedious part in DOM scripting and enables developers to write less and more reliable code. As a result, we [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Ferrari Engine" src="http://farm1.static.flickr.com/148/385775076_0034fcc364.jpg" alt="Ferrari Engine" width="449" height="308" /></p>
<p>One of the most used and helpful feature of any Javascript framework is probably their selector function. It allows us to search and filter elements using CSS like selector syntax. This means it takes out the tedious part in DOM scripting and enables developers to write less and more reliable code. As a result, we all expect to see some sort of selector engine in all javascript framework.</p>
<p>However, there are still rooms for improvement and reasons to have standalone selector engines that are not part of any framework. Since selecting elements are the most common operational you would do, any improvement would increase the overall performance of your script.</p>
<p>Looking at recent development, there are definitely people believing the need for standalone selector. Here are 4 robust and small standalone Selector engines you can check out.</p>
<p><span id="more-266"></span></p>
<h3><a href="http://digitarald.de/journal/89737433/rolling-out-sly-the-javascript-selector-engine/">Sly</a></h3>
<p>This is the new comer of selector engine which launched last week and does look very strong. It support <a href="http://www.w3.org/TR/css3-selectors/">CSS3 selector standard</a>, small and fast. Their <a href="http://digitarald.de/repos/sly/speed/index.php#">test</a> shows that it is faster than most of the framework based selector out there.<br />
<a href="http://github.com/digitarald/sly/tree/master">Source</a></p>
<h3><a href="http://sizzlejs.com/">Sizzle</a></h3>
<p>Sizzle is created by the creator of jQuery &#8211; <a href="http://ejohn.org">John Resig</a>. Again this is a very small, robust library. The idea is to have a javascript selector engine that could be dropped into other framework / library. So instead of reinventing the wheel by frameworks writing their own selector engine, Sizzle is here to solve the problem once and for all. John is trying to get other framework to use Sizzle and of course the latest <a href="http://jquery.com/">jQuery</a> 1.3 is already using Sizzle as their selector engine. The code has definitely matured since release last year and is definitely interesting to see if others start integrating it.<br />
<a href="http://github.com/jeresig/sizzle/tree/master">Source</a></p>
<h3><a href="http://jamesdonaghue.com/static/peppy/docs/">Peppy</a></h3>
<p>Again all the standard CSS3 selector support, small file size plus from their test page, it does seems to be faster than Sizzle. (but I think it was testing against early version of Sizzle)<br />
<a href="http://jamesdonaghue.com/static/peppy/">Source</a></p>
<h3><a href="http://www.llamalab.com/js/selector/">Selector.js</a> from <a href="http://www.llamalab.com/">llamalab</a></h3>
<p>Another new selector engine released this year that implements CSS3 selector standard and is looking pretty strong in performance too.<br />
<a href="http://www.llamalab.com/js/selector/">Source</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=266&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2009/04/01/standalone-javascript-selector-engines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Data Visualization Tools using Javascript</title>
		<link>http://www.84bytes.com/2008/10/22/advanced-data-visualization-tools-built-with-javascript/</link>
		<comments>http://www.84bytes.com/2008/10/22/advanced-data-visualization-tools-built-with-javascript/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 09:26:08 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tools & Tips]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=128</guid>
		<description><![CDATA[With the advance in computer graphics, the way we visualize data have changed drastically in the last 20 years. Visualization Software are developed to take advantage of the graphical power of local computers. But now everything is changing with the Internet. We are consuming a large amount of data online and the desire and expectation [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-218" title="visual" src="http://www.84bytes.com/media/2008/10/visual.gif" alt="" width="309" height="162" /></p>
<p>With the advance in computer graphics, the way we visualize data have changed drastically in the last 20 years. Visualization Software are developed to take advantage of the graphical power of local computers. But now everything is changing with the Internet. We are consuming a large amount of data online and the desire and expectation to visualizing those data is increasing too. So we need to look at solutions to visualize data for the web.</p>
<p>There are already server side tools or libraries that generate complex graphics. But I think that is not always the best solution. A lot of the visuals could be done on the client side with the browser. It is quite logical to send just the data and let the browser handle the rendering and interaction.</p>
<p>Of course there are a number of client side technology you could use including Flash, Sliverlight, or even Java Applet. But here I want to show you some amazing open source tools built with <strong>pure Javascript</strong>. With most of the browsers improving their Javascript engines, Javascript is really becoming quite powerful and people are doing a lot of cool stuffs with it and here are some of them:</p>
<p><span id="more-128"></span></p>
<h3>1. <a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/">JavaScript Information Visualization Toolkit (JIT)</a></h3>
<p><img class="alignnone size-full wp-image-139" title="Javascript Information Visualization" src="http://www.84bytes.com/media/2008/10/jit.gif" alt="" width="500" height="151" /></p>
<p>The JIT comes with 4 tools based on some advanced information visualization techniques.</p>
<ul>
<li><strong>RGraph &#8211; </strong>a radial layout of trees with advanced animations</li>
<li><strong>Treemaps</strong> &#8211; displaying large hierarchical structures on a constrained space</li>
<li><strong>Hyperbolic Trees &#8211; </strong>a <em>focus+context </em>information visualization technique used to display large amount of inter-related data</li>
<li><strong>Spacetree</strong> &#8211; expand nodes that are “context-related” in a common tree layout<strong></strong></li>
</ul>
<p>Visit <a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/">http://blog.thejit.org/javascript-information-visualization-toolkit-jit/</a> for more information and example.<a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/"><br />
</a></p>
<h3>2. <a href="http://code.google.com/p/simile-widgets/">MIT Simile Web Widgets</a></h3>
<p>The Simile Project from MIT is focused on developing robust, open source tools that             empower users to access, manage, visualize and reuse digital assets. The web widgets contains a toolbox of several Web widgets and APIs to do just that. Just to highlight 2 of them:</p>
<ul>
<li><strong>Timeplot &#8211; </strong>plotting time series and overlay        time-based events over them.<img class="alignnone size-full wp-image-141" title="Simile Timeplot" src="http://www.84bytes.com/media/2008/10/smile-graph.gif" alt="" width="500" height="141" /></li>
<li><strong>Timeline </strong>- visualizing time-based events.         It is like <a href="http://maps.google.com/">Google Maps</a> for time-based information.<img class="alignnone size-full wp-image-142" title="Simile Timeline" src="http://www.84bytes.com/media/2008/10/smile-timeline.gif" alt="" width="500" height="155" /></li>
</ul>
<p>Visit <a href="http://code.google.com/p/simile-widgets/">http://code.google.com/p/simile-widgets/</a> for more information and example.<a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/"><br />
</a></p>
<h3>3. <a href="http://www.unwieldy.net/projects/moowheel/">MooWheel</a></h3>
<p><img class="alignnone size-full wp-image-144" title="moowheel" src="http://www.84bytes.com/media/2008/10/moowheel.gif" alt="" width="500" height="166" /></p>
<p>MooWheel provide a unique and elegant way to visualize data using Javascript and the &lt;canvas&gt; object. You can use it to display connections between many different objects, be them people, places, things, or otherwise.</p>
<p>Visit <a href="http://www.unwieldy.net/projects/moowheel/">http://www.unwieldy.net/projects/moowheel/</a> for more information and example.<a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/"><br />
</a></p>
<h3>4. <a href="http://code.google.com/p/jsviz/">JSViz</a></h3>
<p>JSViz makes it easy to create dynamic 2D views of information including network graphs, navigation, and other dynamic layouts. Here are two example:</p>
<ul>
<li><strong>Music Recommendations </strong>( <a href="http://kylescholz.com/projects/speaking/tae2006/music/#B000YXMMAE">link </a>)<br />
<img class="alignnone size-full wp-image-145" title="jsViz" src="http://www.84bytes.com/media/2008/10/jsviz.gif" alt="" width="500" height="190" /></li>
<li><strong>Force Directed Graph</strong> ( <a href="http://jsviz.org/files/jsviz/0.3.3/examples/XMLLoader_ForceDirected.html">link</a> )<a href="http://jsviz.org/files/jsviz/0.3.3/examples/XMLLoader_ForceDirected.html"><br />
</a><img class="alignnone size-full wp-image-147" title="jsviz1" src="http://www.84bytes.com/media/2008/10/jsviz1.gif" alt="" width="500" height="187" /></li>
</ul>
<p>Visit <a href="http://code.google.com/p/jsviz/">http://code.google.com/p/jsviz/</a> for more information and example.<a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/"><br />
</a></p>
<h3>5. <a href="http://timepedia.org/chronoscope/">Chronoscope</a></h3>
<p><img class="alignnone size-full wp-image-153" title="chronoscope" src="http://www.84bytes.com/media/2008/10/chronoscope.gif" alt="" width="500" height="163" /></p>
<p>Chronoscope is a smart, sophisticated and powerful visualizing tool. It is well tested on a large data points and provide an intuitive way to explore, annotate the data.  There are four ways for you to use it:</p>
<ul>
<li><strong>Widget </strong>- allow you to drop a chart into any web page.</li>
<li><strong>Microformats </strong>- understand data in your web page&#8217;s HTML <code>&lt;table&gt;</code> data and they&#8217;re an easy way to add annotations and highlights to charts.</li>
<li><strong>Javascript API </strong>- use javascript to modify your chart in place.</li>
<li><strong>GWT API</strong> &#8211; integration with your Google Web Toolkit application.</li>
</ul>
<p>Visit <a href="http://timepedia.org/chronoscope/">http://timepedia.org/chronoscope/</a> for more information and example.</p>
<h3>6. <a href="http://ejohn.org/blog/processingjs/">Processing.js</a></h3>
<p><img class="alignnone size-full wp-image-205" title="processing" src="http://www.84bytes.com/media/2008/10/processing.gif" alt="" width="500" height="124" /></p>
<p>It is a port of <a href="http://processing.org/">Processing visualization language</a> to JavaScript, using the Canvas element. So now you can use most of 2d Processing API. This includes all sorts of different methods:</p>
<ul>
<li>Shapes drawing</li>
<li>Canvas manipulation</li>
<li>Pixel utilities</li>
<li>Image drawing</li>
<li>Math functions</li>
<li>Keyboard and mouse access</li>
<li>Objects (point, arrays, random number generators)</li>
<li>Color manipulation</li>
<li>Font selection and text drawing</li>
<li>Buffers</li>
</ul>
<p>Visit <a href="http://ejohn.org/blog/processingjs/">http://ejohn.org/blog/processingjs/</a> for more information and example.</p>
<p>If you actually get to this far, then I guess you might already played some of the demos. As you can see, some of them are quite experimental and the performance are not great. But I am sure in a year&#8217;s time the browser will be come more powerful and we will see a lot more Javascript based visualizing tools being deployed on the web.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=128&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/10/22/advanced-data-visualization-tools-built-with-javascript/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Attractive Javascript Logging Console &#8211; Blackbird</title>
		<link>http://www.84bytes.com/2008/10/20/attractive-javascript-logging-console-blackbird/</link>
		<comments>http://www.84bytes.com/2008/10/20/attractive-javascript-logging-console-blackbird/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 22:38:27 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tools & Tips]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=167</guid>
		<description><![CDATA[Everyone who programmed in Javascript will know that one of the most common way to debug across browsers is the alert() function. Although, you can use tools like Firebug and their console api to output. It doesn&#8217;t work on IE or Safari. So a pure Javascript based solution would be great. Blackbird is one of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-168 alignright" title="blackbird" src="http://www.84bytes.com/media/2008/10/blackbird.png" alt="" width="293" height="283" /></p>
<p>Everyone who programmed in Javascript will know that one of the most common way to debug across browsers is the alert() function. Although, you can use tools like Firebug and their console api to output. It doesn&#8217;t work on IE or Safari. So a pure Javascript based solution would be great.</p>
<p><a href="http://www.gscottolson.com/blackbirdjs/">Blackbird</a> is one of the latest script that does just that. It offers:</p>
<blockquote><p>a dead-simple way to log messages in JavaScript and an attractive console to view and filter them.  <strong>You might never use <code>alert()</code> again.</strong></p></blockquote>
<p>All you need to do is include the Blackbird script and style. Then you can start logging messages using their APIs including different message types and profiling as shown below:</p>
<dl class="api">
<blockquote><dt><code>log.debug( message )</code></dt>
<dd>Add a debug message to Blackbird</dd>
<dd class="params"><code>message</code>: the string content of the debug message</dd>
<dt><code>log.info( message )</code></dt>
<dd>Add an info message to Blackbird</dd>
<dd class="params"><code>message</code>: the string content of the info message</dd>
<dt><code>log.warn( message )</code></dt>
<dd>Add a warning message to Blackbird</dd>
<dd class="params"><code>message</code>: the string content of the warn message</dd>
<dt><code>log.error( message )</code></dt>
<dd>Add an error message to Blackbird</dd>
<dd class="params"><code>message</code>: the string content of the warn message </dd>
<dt><code>log.profile( label )</code></dt>
<dd>Start/end a time profiler for Blackbird.  If a profiler named <code>string</code> does not exist, create a new profiler.  Otherwise, stop the profiler <code>string</code> and display the time elapsed (in ms).</dd>
</blockquote>
</dl>
<p><a href="http://www.gscottolson.com/blackbirdjs/">Blackbird</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=167&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/10/20/attractive-javascript-logging-console-blackbird/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Charts and Graphs Plotting with JQuery plugins</title>
		<link>http://www.84bytes.com/2008/09/21/charts-and-graphs-plotting-with-jquery-plugins/</link>
		<comments>http://www.84bytes.com/2008/09/21/charts-and-graphs-plotting-with-jquery-plugins/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 10:02:13 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=79</guid>
		<description><![CDATA[Charts are important in visualising data to give a more profound understanding of the nature of given problem. A good charting solution for should render charts dynamically from raw data and allow multiple type of data presentation. Traditionally we generate charts on the server-side but that means it will take up more bandwidth by the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-83" title="creating-accessible-charts-using-canvas-and-jquery" src="http://www.84bytes.com/media/2008/09/creating-accessible-charts-using-canvas-and-jquery-filament-group-inc_1222072922721.png" alt="" width="324" height="178" />Charts are important in visualising data to give a more profound understanding of the nature of given problem. A good charting solution for should render charts dynamically from raw data and allow multiple type of data presentation.</p>
<p>Traditionally we generate charts on the server-side but that means it will take up more bandwidth by the image all the way across the internet. Ideally we would just send the data to the browser and it will render the chart. With the advance in javascript and browser support, we have many powerful chart components out there based on Javascript. Now with the help of javascript frameworks, we can create charts in just a few lines of code.</p>
<p><span id="more-79"></span></p>
<p>Here we present you with 3 top jQuery plugins for plotting charts.</p>
<h3>fgCharting</h3>
<p><img class="alignnone size-full wp-image-80" title="fgcharting" src="http://www.84bytes.com/media/2008/09/fgcharting.gif" alt="" /></p>
<p><a href="http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery/">fgCharting</a> is a simple plugin that provide you with 7 types of graphs such as line, bar, pie, filled lines. However, the special concept for this plugins is that it is accessible. It can read data from HTML table on the page and render them.</p>
<p>Website: <a href="http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery/">Accessible_Charts_using_Canvas_and_jQuery</a></p>
<p>Download: <a href="http://www.filamentgroup.com/examples/charting/scripts/fgCharting.jQuery.js" target="_blank">fgCharting.jQuery.js</a></p>
<h3>Flot</h3>
<p><img class="alignnone size-full wp-image-81" title="flot" src="http://www.84bytes.com/media/2008/09/flot.gif" alt="" /></p>
<p><a href="http://code.google.com/p/flot/">Flot</a> is a very powerful plotting library allowing you to create attractive and interactive graphical plots of arbitrary datasets on the fly. It has advance feature like zooming and highlighting but still easy to use.</p>
<p>Website: <a href="http://code.google.com/p/flot/">Flot</a></p>
<p>Download: <a href="http://flot.googlecode.com/files/flot-0.4.zip" target="_blank">flot-0.4.zip</a></p>
<h3>Sparklines</h3>
<p><img class="alignnone size-full wp-image-82" title="sparklines" src="http://www.84bytes.com/media/2008/09/sparklines.gif" alt="" /></p>
<p><a href="http://omnipotent.net/jquery.sparkline/">Sparkine</a> allow you to generate small inline charts using data supplied either inline HTML or via javascript. It provide 6 types of charts such as line, bar, tristate, discrete, bullet or pie.</p>
<p>Website: <a href="http://omnipotent.net/jquery.sparkline/">jQuery Sparkine</a></p>
<p>Download: <a href="http://omnipotent.net/jquery.sparkline/1.1/jquery.sparkline.js" target="_blank">jquery.sparkline.js</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=79&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/09/21/charts-and-graphs-plotting-with-jquery-plugins/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Raphaël &#8211; simplify development of Vector Graphics</title>
		<link>http://www.84bytes.com/2008/08/18/raphael-simplify-development-of-vector-graphics/</link>
		<comments>http://www.84bytes.com/2008/08/18/raphael-simplify-development-of-vector-graphics/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 13:41:52 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JavaScript library]]></category>
		<category><![CDATA[Raphaël]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Vector graphics]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=53</guid>
		<description><![CDATA[When it comes to cross browsers vector graphics, there have always been debate about whether to use SVG/VML or Canvas/VML. Even if you made the decision, you still need to know how to implement them. Now Raphaël is aiming to simplify development with vector graphics across browsers. It provides us with a simple adapter to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://raphaeljs.com/"><img class="alignnone size-full wp-image-54" title="raphaele28094javascript-library" src="http://www.84bytes.com/media/2008/08/raphaele28094javascript-library_1219063702310.png" alt="" width="544" height="74" /></a></p>
<p>When it comes to cross browsers vector graphics, there have always been debate about whether to use SVG/VML or Canvas/VML. Even if you made the decision, you still need to know how to implement them.</p>
<p>Now <a href="http://raphaeljs.com/">Raphaël</a> is aiming to simplify development with vector graphics across browsers. It provides us with a simple adapter to work with vector graphics using SVG/VML.</p>
<p>Below is an example of the basic:</p>
<pre>// Creates canvas 320 × 200 at 10, 50
var paper = Raphael(10, 50, 320, 200);

// Creates circle at x = 50, y = 40, with radius 10
var circle = paper.circle(50, 40, 10);

// Sets the fill attribute of the circle to red (#f00)
circle.attr("fill", "#f00");

// Sets the stroke attribute of the circle to white (#fff)
circle.attr("stroke", "#fff");
</pre>
<p>If you want to create your own specific chart or image crop-n-rotate widget, you can simply achieve it with this library.</p>
<p><a href="http://raphaeljs.com/">Raphaël</a><a href="http://raphaeljs.com/"> &#8211; javascript library</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=53&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/08/18/raphael-simplify-development-of-vector-graphics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating beautiful pop-ups using jquery</title>
		<link>http://www.84bytes.com/2008/08/17/creating-beautiful-pop-ups-using-jquery/</link>
		<comments>http://www.84bytes.com/2008/08/17/creating-beautiful-pop-ups-using-jquery/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 16:44:12 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=51</guid>
		<description><![CDATA[When it comes to pop-up windows, people don&#8217;t really associate them to being accessible and they are some what annoying. But sometimes it is necessary for whatever reason. If you think about it, a link that opens up a new window is one of the most simple thing you can do with javascript &#38; HTML. [...]]]></description>
			<content:encoded><![CDATA[<p>When it comes to pop-up windows, people don&#8217;t really associate them to being accessible and they are some what annoying. But sometimes it is necessary for whatever reason.</p>
<p>If you think about it, a link that opens up a new window is one of the most simple thing you can do with javascript &amp; HTML. There is no reason for it to be ugly.</p>
<p>This is the old fashion and totally <strong>wrong</strong> way of doing it:</p>
<pre>&lt;a href="javascript:window.open(http://www.popup.com/);"&gt;Popup link&lt;/a&gt;</pre>
<p>Why? The a tag is not linking to a link but instead it is running some javscript. That means the whole meaning of the link is gone.</p>
<p>Here is what an <strong>accessible</strong> and <strong>clean</strong> link looks like:</p>
<pre>&lt;a href="http://www.popup.com" rel="pop-up"&gt;Open a Popup&lt;/a&gt;</pre>
<p>In this version, there is no inline javascript which is always a good pratice to separate HTML and javascript. It keeps everything simple and clean. The<em> </em>addition<em> </em>of the<em> rel</em> attribute is used to describe the relationship between the current page and the <em>href</em> destination of the anchor.</p>
<p>Now we have this beautiful HTML link. It is time to do some magic with javascript and jQuery.</p>
<pre>( function popup() {
	$( document ).ready( function() {
		$("a[rel='pop-up']").click(function () {
      		    var features = "height=700,width=800,scrollTo,resizable=1,scrollbars=1,location=0";
      		    newwindow=window.open(this.href, 'Popup', features);
      		    return false;
 		});
	} );
}() );
</pre>
<p>This is a very simple javascript using <a href="http://jquery.com/" target="_blank">jQuery</a>. Basically, the code is looking for all the links with the <em>rel</em> attribute and assign a onclick event to open the pop-up window. Of course, there are different ways to abstract the above code to make it more flexible. But the idea is to have beautiful pop-up link and have the javascript to do the work later.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=51&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/08/17/creating-beautiful-pop-ups-using-jquery/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Becoming a better Javascript Programmer using JSLint</title>
		<link>http://www.84bytes.com/2008/07/08/becoming-a-better-javascript-programmer-using-jslint/</link>
		<comments>http://www.84bytes.com/2008/07/08/becoming-a-better-javascript-programmer-using-jslint/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 23:27:52 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tools & Tips]]></category>
		<category><![CDATA[Debug]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=48</guid>
		<description><![CDATA[I have recently came across this interesting and useful Javascript tool called JSLint. You feed in your javascript code and JSLint will scan through and looks for problems in your code. You might ask what is the different between this and debugging using Firebug? Well, although it is only a syntax checker and validator, it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jslint.com/"><img class="alignright size-full wp-image-49" title="jslint" src="http://www.84bytes.com/media/2008/07/jslint.gif" alt="" width="269" height="84" /></a></p>
<p>I have recently came across this interesting and useful Javascript tool called <a href="http://jslint.com/">JSLint</a>. You feed in your javascript code and JSLint will scan through and looks for problems in your code.</p>
<p>You might ask what is the different between this and debugging using Firebug? Well, although it is only a syntax checker and validator, it is much more stricter and follows proper <a href="http://javascript.crockford.com/code.html">Code Conventions</a>. In other word, it will tell you errors you normally won&#8217;t get.</p>
<p>As you know, Javascript sometimes allows code to be implemented in a sloppy way which could be very troublesome for large complex projects. So I have been using this tool as a reference point to tighten up my javascript code.</p>
<p>So go and paste your code at <a href="http://www.jslint.com/">JSLint</a> and see how your code is doing. But I must warning you, it might hurt your feeling!</p>
<p>Source: <a href="http://www.jslint.com/">JSLint</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=48&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/07/08/becoming-a-better-javascript-programmer-using-jslint/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>4 Plugins to turbocharge your Firebug</title>
		<link>http://www.84bytes.com/2008/06/28/firebug-plugins-for-web-development/</link>
		<comments>http://www.84bytes.com/2008/06/28/firebug-plugins-for-web-development/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 00:06:30 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tools & Tips]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=42</guid>
		<description><![CDATA[Anyone developing for the web will have at least used or heard of Firebug. It is very powerful tool for debugging and testing any web pages on Firefox. You can live edit, debug, and monitor CSS, HTML, and JavaScript. Although Firebug is already packed with features, there are always rooms for extras. Since the creation [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone developing for the web will have at least used or heard of Firebug. It is very powerful tool for debugging and testing any web pages on Firefox. You can live edit, debug, and monitor CSS, HTML, and JavaScript.</p>
<p>Although Firebug is already packed with features, there are always rooms for extras. Since the creation of Firebug, plugins are being developed to extend the power of Firebug even further. Here is a list of useful plugins for Firebug.</p>
<h3><a href="http://billwscott.com/jiffyext/">Jiffy</a></h3>
<p>Jiffy provides a very detail and visual view of the Javascript time measurements captured by <a href="http://code.google.com/p/jiffy-web/">Jiffy-Web</a>. It allows you to get information of AJAX requests and other Javascript functions.</p>
<p style="font-size: 29.2556px; line-height: 42.7556px;"><a style="font-size: 29.2556px; line-height: 42.7556px;" href="http://billwscott.com/jiffyext/"><img class="alignnone size-full wp-image-43" title="jiffy" src="http://www.84bytes.com/media/2008/06/jiffy.jpg" alt="" width="314" height="168" /></a></p>
<h3><a href="http://developer.yahoo.com/yslow/">YSlow</a></h3>
<p>YSlow developed by Yahoo! is probably one of most famous Firebug extension out there. It analyzes web page performance and tells you why performance is 		slow. It gives you information on all the requests, load time, sizes and even give you tips to improve your site speed.</p>
<p style="font-size: 34.2333px; line-height: 42.7556px;"><a style="font-size: 34.2333px; line-height: 42.7556px;" href="http://developer.yahoo.com/yslow/"><img class="alignnone size-full wp-image-44" title="yslow" src="http://www.84bytes.com/media/2008/06/yslow.jpg" alt="" width="363" height="202" /></a></p>
<h3><a href="http://www.softwareishard.com/blog/firecookie/">FireCookie</a></h3>
<p>Instead of using other Firefox extensions to view cookies. This Firebug plugin allows developers like you to keep using the firebug interface to debug with cookies. FireCookie gives you the ability to view and manage cookies. It also has a console where you can see when cookies are created, changed or deleted.</p>
<p style="font-size: 29.2556px; line-height: 42.7556px;"><a style="font-size: 29.2556px; line-height: 42.7556px;" href="http://www.softwareishard.com/blog/firecookie/"><img class="alignnone size-full wp-image-45" style="font-size: 29.2556px; line-height: 42.7556px;" title="scr-firecookie1" src="http://www.84bytes.com/media/2008/06/scr-firecookie1.png" alt="" width="445" height="152" /></a></p>
<h3><a href="http://www.firephp.org/">FirePHP</a></h3>
<p>For those PHP developers out there, FirePHP is enable you to print to the Firebug Console using simple PHP function call. The main benifit is that all the debugging data are hidden from normal user and you can review in a nicely format within Firebug console.</p>
<p><a href="http://www.firephp.org/"><img class="alignnone size-full wp-image-47" title="firephp" src="http://www.84bytes.com/media/2008/06/firephp.jpg" alt="" width="413" height="303" /></a></p>
<p><strong>Updates:</strong></p>
<p>So still want more plugins? You can always build your own. Jan Odvarko of <a href="http://www.softwareishard.com/blog/">Software is hard</a> has a <a href="http://www.softwareishard.com/blog/firebug-tutorial/extending-firebug-hello-world-part-i/">series of tutorial</a> on creating a Firebug plugin.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=42&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/28/firebug-plugins-for-web-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Javascript Photo Collages with Canvas</title>
		<link>http://www.84bytes.com/2008/06/27/javascript-photo-collages-with-canvas/</link>
		<comments>http://www.84bytes.com/2008/06/27/javascript-photo-collages-with-canvas/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 23:14:08 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=40</guid>
		<description><![CDATA[Ernest Delgado has experimented with Canvas to create a Photo Collages User Interface similar to the Microsoft surface. You can freely drag-n-drop, rotate, resize images and even output it to image file. You can find try out the demo to see how good it is. Ernest also explained about how it is implemented and the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.84bytes.com/media/2008/06/ishot-23.jpg"><img class="alignnone size-full wp-image-41" title="ishot-23" src="http://www.84bytes.com/media/2008/06/ishot-23.jpg" alt="" width="507" height="227" /></a></p>
<p><a href="http://www.ernestdelgado.com/public-tests/canvasphoto/">Ernest Delgado</a> has experimented with Canvas to create a Photo Collages User Interface similar to the Microsoft surface. You can freely drag-n-drop, rotate, resize images and even output it to image file.</p>
<p>You can find <a href="http://www.ernestdelgado.com/public-tests/canvasphoto/demo/canvas.html">try out the </a><a href="http://www.ernestdelgado.com/public-tests/canvasphoto/demo/canvas.html">demo</a> to see how good it is. Ernest also explained about how it is implemented and the problems he faced in the <a href="http://www.ernestdelgado.com/public-tests/canvasphoto/">article</a>. There are also example of it integrated with Flickr and Picasa which is very interesting.</p>
<p>You can <a href="http://www.ernestdelgado.com/public-tests/canvasphoto/src/" target="_blank">download the source code</a> and experiment with yourself.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=40&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/27/javascript-photo-collages-with-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple JQuery Feed Plugin using Google AJAX Feed API</title>
		<link>http://www.84bytes.com/2008/06/15/simple-jquery-feed-plugin-using-google-feed-ap/</link>
		<comments>http://www.84bytes.com/2008/06/15/simple-jquery-feed-plugin-using-google-feed-ap/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 22:42:21 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[google ajax api]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[jquery plugins]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=36</guid>
		<description><![CDATA[Many of you may have already heard about the Google AJAX feed API. It allows you to download any RSS or Atom feed using only Javascript. So we can easily start integrating different feeds or building mashups on our sites with just Javascript. Although Google have added a Feed Control wizard to add feed to [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you may have already heard about the <a href="http://code.google.com/apis/ajaxfeeds/" target="_blank">Google AJAX feed API</a>. It allows you to download any RSS or Atom feed using only Javascript. So we can easily start integrating different feeds or building mashups on our sites with just Javascript.</p>
<p>Although Google have added a <a href="http://www.google.com/uds/solutions/wizards/dynamicfeed.html" target="_blank">Feed Control wizard</a> to add feed to any website without writing any code, some of you might still want to a flexible and clean method to integrate Feeds. <a href="http://www.malsup.com/jquery/gfeed/">M. Alsup</a> at <a href="http://www.malsup.com/jquery">Malsup.com</a> has created a simple and unobtrusive jQuery plugin using the Google AJAX Feed API. It is a very simple and straightforward plugin that makes integrating feeds to jQuery sites even easier.</p>
<p>You can <a href="http://www.malsup.com/jquery/gfeed/" target="_self">download and see a demo here</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=36&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/15/simple-jquery-feed-plugin-using-google-feed-ap/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php.js: Porting PHP to Javascript</title>
		<link>http://www.84bytes.com/2008/06/11/porting-php-to-javascript/</link>
		<comments>http://www.84bytes.com/2008/06/11/porting-php-to-javascript/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 23:48:11 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php.js]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=35</guid>
		<description><![CDATA[Kevin van Zonnevelhas has started the &#8220;Porting PHP to Javascript&#8221; project with the idea of porting crucial PHP functions into Javascript. The project has already ported 138 PHP functions and is continuously adding more. For example: file_get_contents &#8211; download the contents of a file on your site using AJAX and load it into a string [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kevin.vanzonneveld.net/techblog/">Kevin van Zonnevelhas</a> has started the &#8220;Porting PHP to Javascript&#8221; project with the idea of porting crucial PHP functions into Javascript. The project has already ported 138 PHP functions and is continuously adding more.</p>
<p>For example:</p>
<ul>
<li><a href="http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_file_get_contents/">file_get_contents</a> &#8211; download the contents of a file on your site using AJAX and load it into a string</li>
<li><a href="http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_str_replace/">str_replace</a> &#8211; search and replace strings, regular expressions, or arrays.</li>
<li><a href="http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_md5/">md5</a> &#8211; Calculate the md5 hash of a string</li>
</ul>
<p>For those of you writing a lot of PHP, this will make your life easier when you write Javascript. All you need to do is include <a href="http://kevin.vanzonneveld.net/code/php_equivalents/php.js">php.js</a> and you can use all the those ported PHP functions in Javascript.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=35&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/11/porting-php-to-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>280 Slides: Using Javascript to build the Keynote on the web</title>
		<link>http://www.84bytes.com/2008/06/09/280-slides-using-javascript-to-build-the-keynote-on-the-web/</link>
		<comments>http://www.84bytes.com/2008/06/09/280-slides-using-javascript-to-build-the-keynote-on-the-web/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 00:53:01 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Cappuccino]]></category>
		<category><![CDATA[Cocoa framework]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Keynote]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Objective-J]]></category>
		<category><![CDATA[Tools & Tips]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=33</guid>
		<description><![CDATA[280 Slides a new online slideshow creator among existing services like Google Presentations, Sliderocket, Empressr or Zoho. The first thing you notice with 280 Slides is that it looks pretty similar to Apple Keynote. It has an easy to use interface with a strong feel of a desktop application. Although, it still cannot replace a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://280slides.com/">280 Slides</a> a new online slideshow creator among existing services like <a href="http://docs.google.com/" target="_blank">Google Presentations</a>, <a href="http://www.sliderocket.com/" target="_blank">Sliderocket</a>, <a href="http://www.empressr.com/" target="_blank">Empressr</a> or <a href="http://zoho.com/" target="_blank">Zoho</a>. The first thing you notice with 280 Slides is that it looks pretty similar to Apple Keynote. It has an easy to use interface with a strong feel of a desktop application.</p>
<p>Although, it still cannot replace a desktop application with lack of advance features like charts, styling or effects. It does provide you with interesting ability to integrate with other web services like publishing to <a href="http://www.slideshare.net/" target="_blank">Slideshare</a>, or add media from YouTube and Flickr.</p>
<p><a href="http://www.84bytes.com/media/2008/06/280slides.jpg"><img class="alignnone size-full wp-image-34" title="280slides" src="http://www.84bytes.com/media/2008/06/280slides.jpg" alt="" width="500" height="339" /></a></p>
<p>The very interesting thing about this application is that it is built by a Javascript Framework called Cappuccino which is a port of the Apple Cocoa framework. In the process, they made Javascript Objective and calling it Objective-J that they will open source soon. This means developers on the Apple platforms using Objective-C could use this to build web apps a lot easier and at the same time, introducing more people to <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html">Cocoa and Objective-C</a>.</p>
<p><strong>Sources:</strong></p>
<p><a title="Open in new window" href="http://www.techcrunch.com/2008/06/05/280-north-launches-its-online-keynote-280-slides/">280 Slides: Like Apple Keynote, But Online</a> [via <a href="http://www.techcrunch.com/" target="_blank">Techcrunch</a>]</p>
<p><a href="http://ajaxian.com/archives/an-interview-with-280-north-on-objective-j-and-cappuccino" target="_blank">An interview with 280 North on Objective-J and Cappuccino</a> [via <a href="http://ajaxian.com/" target="_blank">Ajaxian</a>]</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=33&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/09/280-slides-using-javascript-to-build-the-keynote-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NitobiBug &#8211; Javascript Debugging Script</title>
		<link>http://www.84bytes.com/2008/06/06/nitobibug-javascript-debugging-script/</link>
		<comments>http://www.84bytes.com/2008/06/06/nitobibug-javascript-debugging-script/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 22:41:28 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[NitobiBug]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tools & Tips]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=29</guid>
		<description><![CDATA[NitobiBug is a Javascript debugging script that once embedded, it can be used as a object logger and inspection tool. The main selling point of NitobiBug is that it is a light weight script you include in the page. This means it runs across different browsers without the need to install any plugins or extension. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.84bytes.com/media/2008/06/nitobibug_logo.jpg"><img class="alignnone size-full wp-image-31" title="nitobibug_logo" src="http://www.84bytes.com/media/2008/06/nitobibug_logo.jpg" alt="" width="500" height="97" /></a></p>
<p><a href="http://www.nitobibug.com/">NitobiBug</a> is a Javascript debugging script that once embedded, it can be used as a object logger and inspection tool. The main selling point of NitobiBug is that it is a light weight script you include in the page. This means it runs across different browsers without the need to install any plugins or extension.</p>
<p>Although the interface and features are not as powerful or rich as <a href="http://www.getfirebug.com/">Firebug</a>, this is still a handy tool to use when trying to debug on multiple browsers.</p>
<p>You can see a <a href="http://www.nitobibug.com/demo/test.htm">demo here</a> and download it <a href="http://www.nitobibug.com/download/nitobibug_1_0.zip">here</a></p>
<p><a href="http://www.nitobibug.com/">NitobiBug</a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=29&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/06/nitobibug-javascript-debugging-script/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>What&#8217;s Next in jQuery and JavaScript?</title>
		<link>http://www.84bytes.com/2008/06/05/whats-next-in-jquery-and-javascript/</link>
		<comments>http://www.84bytes.com/2008/06/05/whats-next-in-jquery-and-javascript/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 22:22:31 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[John Resig]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=28</guid>
		<description><![CDATA[A short video by the father of jQuery about what is coming. What&#8217;s Next in jQuery and JavaScript? from John Resig on Vimeo.]]></description>
			<content:encoded><![CDATA[<p>A short video by the father of <a href="http://jquery.com">jQuery</a> about what is coming.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="302" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.vimeo.com/moogaloop.swf?clip_id=984675&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="302" src="http://www.vimeo.com/moogaloop.swf?clip_id=984675&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://www.vimeo.com/984675?pg=embed&amp;sec=984675">What&#8217;s Next in jQuery and JavaScript?</a> from <a href="http://www.vimeo.com/phytar?pg=embed&amp;sec=984675">John Resig</a> on <a href="http://vimeo.com?pg=embed&amp;sec=984675">Vimeo</a>.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=28&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/05/whats-next-in-jquery-and-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Examples of Popular Sites using JQuery</title>
		<link>http://www.84bytes.com/2008/06/04/examples-of-popular-sites-using-jquery/</link>
		<comments>http://www.84bytes.com/2008/06/04/examples-of-popular-sites-using-jquery/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 00:46:05 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[libraries]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=23</guid>
		<description><![CDATA[JQuery is famous for making Javascript easy to write with minimal code and is definitely on the rise. So I did a little research to find some example of big sites that adopted jQuery. Here is what I found: Social Sites Digg Technorati Jaiku Dzone WebJam Main Stream Media Site BBC BusinessWeek CBS News Newsweek [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquery.com"><img class="alignright size-full wp-image-24" title="jquery_logo" src="http://www.84bytes.com/media/2008/06/jquery_logo.gif" alt="" width="231" height="85" /></a></p>
<p><a href="http://jquery.com/">JQuery</a> is famous for making Javascript easy to write with minimal code and is definitely on the rise. So I did a little research to find some example of big sites that adopted jQuery.</p>
<p>Here is what I found:</p>
<p><strong>Social Sites</strong></p>
<ul>
<li><a href="http://digg.com">Digg</a></li>
<li><a href="http://technorati.com">Technorati</a></li>
<li><a href="http://jaiku.com/">Jaiku</a></li>
<li><a href="http://www.dzone.com">Dzone</a></li>
<li><a href="http://www.webjam.com/">WebJam</a></li>
</ul>
<p><strong>Main Stream Media Site</strong></p>
<ul>
<li><a href="http://www.bbc.co.uk">BBC</a></li>
<li><a href="http://www.businessweek.com/">BusinessWeek</a></li>
<li><a href="http://www.cbsnews.com/">CBS News</a></li>
<li><a href="http://www.newsweek.com/">Newsweek</a></li>
<li><a href="http://www.nbc.com/">NBC</a></li>
</ul>
<p><strong>Other popular sites</strong></p>
<ul>
<li><a href="http://www.feedburner.com/">Feedburner</a></li>
<li><a href="http://www.emusic.com/">eMusic</a></li>
<li><a href="http://www.joost.com/">Joost</a></li>
<li><a href="http://wordpress.com/">WordPress </a>( back-end )</li>
</ul>
<p>Although this is only a small list but one thing is certain &#8211; jQuery works on big sites and big sites are starting to adopt it.</p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=23&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/04/examples-of-popular-sites-using-jquery/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>JQuery modal dialog Boxes</title>
		<link>http://www.84bytes.com/2008/06/02/jquery-modal-dialog-boxes/</link>
		<comments>http://www.84bytes.com/2008/06/02/jquery-modal-dialog-boxes/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 23:02:46 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://www.84bytes.com/?p=13</guid>
		<description><![CDATA[When we come to design modern web applications, modal dialog boxes are often required to quickly interact with users without reloading the whole page. So here are 3 JQuery based modal boxes for those of you who are using JQuery as the main Javascript Library. 1. Facebox This is definitely simple to use, small in [...]]]></description>
			<content:encoded><![CDATA[<p>When we come to design modern web applications, modal dialog boxes are often required to quickly interact with users without reloading the whole page. So here are 3 JQuery based modal boxes for those of you who are using <a href="http://jquery.com">JQuery</a> as the main Javascript Library.</p>
<p>1. <a href="http://famspam.com/facebox">Facebox</a></p>
<p>This is definitely simple to use, small in size and stylish in design.<br />
<a href="http://famspam.com/facebox"><img class="alignnone size-full wp-image-14" title="facebox_logo" src="http://www.84bytes.com/media/2008/06/facebox_logo.png" alt="" /></a></p>
<p>2. <a href="http://www.ericmmartin.com/simplemodal/">SimpleModal</a></p>
<p>Another simple and small Modal Box.</p>
<p><a href="http://www.ericmmartin.com/simplemodal/"><img class="alignnone size-medium wp-image-16" title="simplemodal" src="http://www.84bytes.com/media/2008/06/simplemodal-300x103.jpg" alt="" /></a></p>
<p>3. <a href="http://jquery.com/demo/thickbox/">ThickBox</a></p>
<p>Probably the more old school of three but ThickBox definitely does the job well. It has been around for quite sometime now and even the new WordPress Back-end uses it!</p>
<p><a href="http://jquery.com/demo/thickbox/"><img class="alignnone size-full wp-image-18" title="thickbox" src="http://www.84bytes.com/media/2008/06/thickbox.jpg" alt="" /></a></p>
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=13&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/06/02/jquery-modal-dialog-boxes/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>How to build a prefect Javascript Library?</title>
		<link>http://www.84bytes.com/2008/05/30/how-to-build-a-prefect-javascript-library/</link>
		<comments>http://www.84bytes.com/2008/05/30/how-to-build-a-prefect-javascript-library/#comments</comments>
		<pubDate>Fri, 30 May 2008 00:00:08 +0000</pubDate>
		<dc:creator>Richard Wong</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://84bytes.com/?p=4</guid>
		<description><![CDATA[There is a time where everyone is hating Javascript. It is messy, buggy and unreliable across broswers. But thanks to the invention of Javascript Libraries, now we are having fun again building AJAX sites with cool animated effects. In this video, John Resig the creator of JQuery is giving a talk about all the techniques [...]]]></description>
			<content:encoded><![CDATA[<p>There is a time where everyone is hating Javascript. It is messy, buggy and unreliable across broswers. But thanks to the invention of Javascript Libraries, now we are having fun again building AJAX sites with cool animated effects.</p>
<p>In this video, <a href="http://ejohn.org/about/" target="_blank">John Resig</a> the creator of <a href="http://jquery.com/">JQuery</a> is giving a talk about<span id="long-desc" style="display: inline;"> all the techniques used to build a robust, reusable, cross-platform JavaScript Library. He also interestingly talked about how to use functional programming </span><span id="long-desc" style="display: inline;">to create contained, concise, code.</span></p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/0LKDImgRfrg&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/0LKDImgRfrg&amp;hl=en" wmode="transparent"></embed></object></p>
<p style="text-align: left;">
<img src="http://www.84bytes.com/wordpress/?ak_action=api_record_view&id=4&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.84bytes.com/2008/05/30/how-to-build-a-prefect-javascript-library/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

