<?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>Bugzappy&#039;s Blog &#187; code</title>
	<atom:link href="http://www.bugzappy.com/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bugzappy.com</link>
	<description>on building internet apps</description>
	<lastBuildDate>Mon, 25 Jan 2010 14:24:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linked labels for jqplot</title>
		<link>http://www.bugzappy.com/2009/10/17/linked-labels-for-jqplot/</link>
		<comments>http://www.bugzappy.com/2009/10/17/linked-labels-for-jqplot/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 04:48:46 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=359</guid>
		<description><![CDATA[In a typical bar-chart, the jquery plugin jqplot lets you set your x-axis labels to whatever string you want, including HTML mark-up. Imagine you have a chart showing the number of monthly downloads for prototype, jquery, and MooTools.
you might set your x-axis labels (values, to be precise) to
&#60;a href=&#8221;http://www.prototypejs.org&#8221;&#62;jquery&#60;/a&#62;
&#60;a href=&#8221;http://www.jquery.com&#8221;&#62;jquery&#60;/a&#62;
&#60;a href=&#8221;http://www.mootools.com&#8221;&#62;jquery&#60;/a&#62;
The links get rendered in [...]]]></description>
			<content:encoded><![CDATA[<p>In a typical bar-chart, the jquery plugin <a href="http://www.jqplot.com" target="_blank">jqplot</a> lets you set your x-axis labels to whatever string you want, including HTML mark-up. Imagine you have a chart showing the number of monthly downloads for prototype, jquery, and MooTools.</p>
<p>you might set your x-axis labels (values, to be precise) to</p>
<blockquote><p>&lt;a href=&#8221;http://www.prototypejs.org&#8221;&gt;jquery&lt;/a&gt;</p>
<p>&lt;a href=&#8221;http://www.jquery.com&#8221;&gt;jquery&lt;/a&gt;</p>
<p>&lt;a href=&#8221;http://www.mootools.com&#8221;&gt;jquery&lt;/a&gt;</p></blockquote>
<p>The links get rendered in a &lt;div&gt; outside the canvas, but you cannot click them because the chart&#8217;s canvas extends over them.</p>
<p>solve it this way (using jquery for example):</p>
<blockquote><p>$(&#8217;.jqplot-xaxis-tick&#8217;).css(&#8217;z-index&#8217;, 1000);</p></blockquote>
<p>That sets your labels above the canvas and they can now be clicked.</p>
<p>Also reported at <a href="http://groups.google.com/group/jqplot-users/browse_thread/thread/bd9b9c49e609167e">http://groups.google.com/group/jqplot-users/browse_thread/thread/bd9b9c49e609167e</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/10/17/linked-labels-for-jqplot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blink in style using jQuery</title>
		<link>http://www.bugzappy.com/2009/09/05/blink-in-style-using-jquery/</link>
		<comments>http://www.bugzappy.com/2009/09/05/blink-in-style-using-jquery/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 23:01:39 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=328</guid>
		<description><![CDATA[Today I released the CyclicFade jQuery Plugin. It has its own dedicated page for details, demo, and download. It is listed in the jquery plugin repository.
]]></description>
			<content:encoded><![CDATA[<p>Today I released the CyclicFade jQuery Plugin. It has its own <a href="http://www.bugzappy.com/cyclic-fade-jquery-plugin/">dedicated page</a> for details, demo, and download. It is <a href="http://plugins.jquery.com/project/CyclicFade" target="_blank">listed in the jquery plugin repository</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/09/05/blink-in-style-using-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure Integration of 3rd-Party Javascript Code</title>
		<link>http://www.bugzappy.com/2009/09/01/secure-integration-of-3rd-party-javascript-code/</link>
		<comments>http://www.bugzappy.com/2009/09/01/secure-integration-of-3rd-party-javascript-code/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 22:45:14 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[commentary]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[XSRF]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=290</guid>
		<description><![CDATA[Yesterday (august 31, 2009) the OpenAjax Alliance announced in a press release the immediate availability of javascript technology for securely integrating javascript code (widgets) from untrusted sources into your own web pages (and javascript code). It&#8217;s called OpenAjax Hub 2.0 and it is touted as the enabler of secure mashups.
There is a very similar initiative at [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday (august 31, 2009) the OpenAjax Alliance announced in a <a href="http://news.prnewswire.com/ViewContent.aspx?ACCT=109&amp;STORY=/www/story/08-31-2009/0005085209&amp;EDATE=" target="_blank">press release</a> the immediate availability of javascript technology for securely integrating javascript code (widgets) from untrusted sources into your own web pages (and javascript code). It&#8217;s called <a href="http://www.openajax.org/whitepapers/Introducing%20OpenAjax%20Hub%202.0%20and%20Secure%20Mashups.php" target="_blank">OpenAjax Hub 2.0</a> and it is touted as the enabler of secure mashups.</p>
<p>There is a very similar initiative at Microsoft: <a href="http://websandbox.livelabs.com/" target="_blank">websandbox at Microsoft livelabs</a>. I have no idea if these are one and the same initiatives, or competitors, or somewhere in the middle.</p>
<p>My prediction is that beyond mashups and many other fantastic applications, this kind of technology will at last make the <a href="http://en.wikipedia.org/wiki/Semantic_web" target="_blank">Semantic Web</a> a reality. Why? because now data and its closely associated code (just like an object in OOP) can safely travel together from any source to any web application. The code is what gives the data some meaning even when the &#8220;mashup&#8221; does not know the semantics.  As long as we can apply this idea to as *small* a piece of data as we (architects and developers) want, we can build web 3.0.</p>
<p>As a result of this new technology, expect the start of a very dynamic phase of web 2.0 advances.</p>
<p>Read the OpenAjax Hub 2.0 Specification <a href="http://www.openajax.org/member/wiki/OpenAjax_Hub_2.0_Specification" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/09/01/secure-integration-of-3rd-party-javascript-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Separate PHP Debug Output from HTML Page Content</title>
		<link>http://www.bugzappy.com/2009/04/23/separate-php-debug-output-from-html-page-content/</link>
		<comments>http://www.bugzappy.com/2009/04/23/separate-php-debug-output-from-html-page-content/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 09:21:15 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[MVC]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=172</guid>
		<description><![CDATA[I wrote a simple class today to help me organize my debug messages in PHP, while keeping the generated HTML intact (mostly). 
Personally, I like to output all the debug messages at the bottom of my html page (structurally speaking, and layout-wise). This way I can see how the output renders for real, and if something [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote a simple class today to help me organize my debug messages in PHP, while keeping the generated HTML intact (mostly). </p>
<p>Personally, I like to output all the debug messages at the bottom of my html page (structurally speaking, and layout-wise). This way I can see how the output renders for real, and if something looks fishy I have the luxury of a potentially large set of debug messages that I can read through, looking for fishy stuff.</p>
<p>It&#8217;s just a glorified &#8216;echo&#8217; function; but one which lets you decide where to actually output the debug messages in your generated HTML. Or you can think of it as a mini-logging function, that lasts for the time of just one HTTP response; and as a programmer you can do whatever you want with the &#8216;log&#8217;, i.e. output it any way you like.</p>
<p>In fact it is similar to what placeholders do for you within the Zend_View system, i.e. prepare some output but defer when it is actually outputted. In this case, the output is generated from within the controllers, models, and helper classes though, so that&#8217;s why I had to, in some sense, duplicate what ZF already provides for views.</p>
<p>Here is a quick tutorial:</p>
<p>First, download the <a href="http://www.bugzappy.com/wp-content/uploads/2009/04/debugoutputphp.txt">DebugOutput class</a> and rename the file to DebugOutput.php</p>
<p>In a strategic place in your code (for instance the init method of your controller in Zend Framework), include the php file and set the type of debug output you would like (none, inlined within &lt;pre&gt; &#8230; &lt;/pre&gt;, inlined within &lt;!&#8211; &#8230; &#8211;&gt;, or deferred to your view):</p>
<pre>...
public function init()
{
        require_once '..../DebugOutput.php';

	if ( ... /* if in development mode */ ... )
		DebugOutput::setOutputType(DebugOutput::DEFERRED_OUTPUT );
	else
		DebugOutput::setOutputType(DebugOutput::NO_OUTPUT );
	}
...</pre>
<p> </p>
<p>Then in your code, you call the _debug() function as often as needed:</p>
<pre>...

_debug($thisVariable, 'this variable');

...

_debug($thatVariable, 'that variable');

...</pre>
<p> </p>
<p>Before you rendering engine / view engine / smarty / Zend_View takes over, you make the debug messages available to it in the following fashion (here assuming we are using a Zend Framework Action Controller, i.e. the Zend_Controller_Action class):</p>
<pre>...
public function postDispatch()
{
        ...
    	$this-&gt;view-&gt;debugOutput = DebugOutput::getDeferredOutput();
}
...</pre>
<p> </p>
<p>And finally, at the bottom of your layout / wrapper / main view (in this case my Zend Framework layout), the debug messages are in an array, available to your rendering engine, and so you can treat them like any other output, for instance like this:</p>
<pre>...
&lt;?php if (!empty($this-&gt;debugOutput)) { ?&gt;
&lt;div style="background-color: #ffe0e0;
	width: 96%; padding-left: 2%; padding-right: 2%; padding-top: 50px; padding-bottom: 50px; margin-bottm: 100px;
	border: 1px dotted red; overflow: auto; float: none"&gt;
&lt;p style="font-weight: bold; color: red; text-align: center"&gt;DEBUG INFO&lt;/p&gt;
&lt;pre&gt;
&lt;br /&gt;
&lt;?php     if (is_array($this-&gt;debugOutput))
                    foreach ($this-&gt;debugOutput as $debugElement) { ?&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;?= $debugElement['label'] ?&gt;:
&lt;?= print_r($debugElement['value'], true) ?&gt;
&lt;?php         } ?&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;?php     } ?&gt;
&lt;/body&gt;
...</pre>
<p> </p>
<p>I hope someone finds it useful or gets some better ideas from it. If so, please share :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/04/23/separate-php-debug-output-from-html-page-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easily Back Up MySQL Databases to Amazon S3</title>
		<link>http://www.bugzappy.com/2009/04/08/quick-and-dirty-backup-of-mysql-databases-to-amazon-s3/</link>
		<comments>http://www.bugzappy.com/2009/04/08/quick-and-dirty-backup-of-mysql-databases-to-amazon-s3/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 07:54:58 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=109</guid>
		<description><![CDATA[tarball: dbbak.tar.gz
I wrote this script as a very simple way to take any MySQL server and back up all the databases matching a certain name pattern, using a single command and no extra parameters. Simply log onto your server, run dbbak.sh and you have a new DB snapshot on your file system, and a copy [...]]]></description>
			<content:encoded><![CDATA[<p>tarball: <a href='http://www.bugzappy.com/wp-content/uploads/2009/04/dbbak.tar.gz'>dbbak.tar.gz</a></p>
<p>I wrote this script as a very simple way to take any MySQL server and back up all the databases matching a certain name pattern, using a single command and no extra parameters. Simply log onto your server, run dbbak.sh and you have a new DB snapshot on your file system, and a copy somewhere on the Amazon cloud in case your server melts down.</p>
<p>The cool thing is that once you are set up, you don&#8217;t have to worry about naming your backups, or where to store them. Names are generated automatically based on the date and time, and the name of the server (arbitrarily set by you). The files are compressed, and saved on S3 as well. </p>
<p>Saving to S3 is performed by <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1081">another-s3-bash</a>, which is included in the tarball above.</p>
<p><em>update, 2009/10/04</em>: I cleaned up the main shell script and the INSTALL instructions. In some cases the s3 client does not seem to be able to connect to AWS S3. I have not debugged that yet. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/04/08/quick-and-dirty-backup-of-mysql-databases-to-amazon-s3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrate SQL data more easily using Excel, with no CSV</title>
		<link>http://www.bugzappy.com/2009/04/03/migrate-sql-data-more-easily-using-excel-with-no-csv/</link>
		<comments>http://www.bugzappy.com/2009/04/03/migrate-sql-data-more-easily-using-excel-with-no-csv/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 06:08:20 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=37</guid>
		<description><![CDATA[This simple technique is something I picked up from another developer who often needs to migrate loads of data from one CMS system to another. It simplifies the automatation of the migastion the process by removing the need to generate (and manage) a CSV file for each table.
Instead of aiming to create a CSV file [...]]]></description>
			<content:encoded><![CDATA[<p>This simple technique is something I picked up from another developer who often needs to migrate loads of data from one CMS system to another. It simplifies the automatation of the migastion the process by removing the need to generate (and manage) a CSV file for each table.</p>
<p>Instead of aiming to create a CSV file for each table in the new database, do this:</p>
<p>1. Export the data from the old database. Instead of dumping the data from the old databases table by table, you may get better mileage by dumping custom-tailored SQL views consisting of multiple tables JOINed together.</p>
<p>2. In phpMyAdmin, you can dump all the tables and views from your database to a single Excel spreadsheet. Or generate individual CSV files and assemble them into an Excel spreadsheet.</p>
<p>3. If you need to escape characters in your data, the easiest way is to copy the data to a text editor, do the substituions (e.g. replace &#8216; with \&#8217;) there, then copy back into the spreadsheet;</p>
<p>4. Create additional tabs or tables in the spreadsheets that re-organize the data into a form that is closer to the desired end result;</p>
<p>5. In an additional column, generate SQL insert statements using the CONCATENATE function in Excel. A very simple sample:</p>
<div id="attachment_43" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.bugzappy.com/wp-content/uploads/2009/04/sample1.jpg"><img src="http://www.bugzappy.com/wp-content/uploads/2009/04/sample1-800x198.jpg" alt="Sample Excel for SQL Generation" title="Sample Excel for SQL Generation" width="600" height="198" class="size-large wp-image-43" /></a><p class="wp-caption-text">Sample Excel for SQL Generation</p></div>
<p>DOWNLOAD: <a href='http://www.bugzappy.com/wp-content/uploads/2009/04/sample.xls'>Sample Excel for SQL Generation</a></p>
<p>6. Copy the cells that contain all your SQL insert statements, one entire column at a time, from the spreadsheet to any text editor and save. Alternatively, paste straight into the SQL input form of phpMyAdmin or your favorite SQL database client.</p>
<p>7. As an add-on, sometimes you&#8217;ll want to insert data into temporary tables, then post-process the data using a PHP (or RoR, Java, C#, etc.) script, to make the final inserts into the real database tables.</p>
<p>The idea is to break down the migration process into any number of steps that are as automated as possible, each leveraging the advantages of a specific tool. Don&#8217;t try to tackle all of it with just one tool.</p>
<p>Another tip: before you start adding to your new database, get to a point where you have a complete migrated data set, in a form such as Excel spreadsheets or SQL files, and which you can run again if you ever need to start again. Reproducibility is key &#8212; data migration requires a lot of attention to details, and invariably you will not get it right on first try.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/04/03/migrate-sql-data-more-easily-using-excel-with-no-csv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ExpandBox jquery plugin</title>
		<link>http://www.bugzappy.com/2009/04/02/expandbox-jquery-plugin/</link>
		<comments>http://www.bugzappy.com/2009/04/02/expandbox-jquery-plugin/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 06:13:42 +0000</pubDate>
		<dc:creator>bugzappy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.bugzappy.com/?p=20</guid>
		<description><![CDATA[It&#8217;s a barebones plugin that acts purely as a browser-side widget controller, it does not come with canned HTML/CSS. You must pass the id&#8217;s of the &#60;div&#62; or other elements you want to control to the plugin.
The widget is just a box which starts with a limited height, and then can be expanded by the user [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a barebones plugin that acts purely as a browser-side widget controller, it does not come with canned HTML/CSS. You must pass the id&#8217;s of the &lt;div&gt; or other elements you want to control to the plugin.</p>
<p>The widget is just a box which starts with a limited height, and then can be expanded by the user by a specified increment, or collpased entirely.</p>
<p></p>
<p>Try a DEMO:</p>
<div style="border: 1px solid #ff0000; width: 200px;">
<div id="demo_box" style="padding: 10px; overflow: hidden; width: 200px; max-height: 80px;">
<p>AAAAAAA</p>
<p>BBBBBBBB</p>
<p>CCCCCCC</p>
<p>DDDDDDD</p>
<p>EEEEEEEE</p>
<p>FFFFFFFF</p></div>
<div id="demo_expand" style="color: #ff0000; cursor: pointer; width: 100px; height: 20px; float: left; text-align: left;">+</div>
<div id="demo_collapse" style="color: #ff0000; cursor: pointer; width: 100px; height: 20px; float: left; text-align: right;">-</div>
</div>
<p><script type="text/javascript"><!--
document.write(unescape("%3Cscript src='http://www.bugzappy.com/js/jquery.js' type='text/javascript'%3E%3C/script%3E"));
document.write(unescape("%3Cscript src='http://www.bugzappy.com/wp-content/uploads/2009/04/jqueryexpandbox.js' type='text/javascript'%3E%3C/script%3E"));
// --></script><br />
<script type="text/javascript"><!--
var $j = jQuery.noConflict();
$j("#demo_box").expandBox('#demo_expand', '#demo_collapse', {shrunkHeight: 80, expandHeightInc: 40, expandText: 'expand', expandDelay: 100, shrinkText: 'collapse'});
// --></script></p>
<p></p>
<p>The CODE for the above example:</p>
<pre>
&lt;div style="border: 1px solid #ff0000; width: 200px;">
&lt;div id="demo_box" style="padding: 10px; overflow: hidden; width: 200px; max-height: 80px;">
&lt;p>AAAAAAA$lt;/p>
&lt;p>BBBBBBBB$lt;/p>
&lt;p>CCCCCCC$lt;/p>
&lt;p>DDDDDDD$lt;/p>
&lt;p>EEEEEEEE$lt;/p>
&lt;p>FFFFFFFF$lt;/p>
&lt;/div>
&lt;div id="demo_expand"
    style="color: #ff0000; cursor: pointer; width: 100px; height: 20px; float: left; text-align: left;">+&lt;/div>
&lt;div id="demo_collapse"
    style="color: #ff0000; cursor: pointer; width: 100px; height: 20px; float: left; text-align: right;">-&lt;/div>
&lt;/div>

&lt;script type="text/javascript">&lt;!--
document.write(unescape("%3Cscript src='http://www.bugzappy.com/js/jquery.js' type='text/javascript'%3E%3C/script%3E"));
document.write(unescape("%3Cscript src='http://www.bugzappy.com/wp-content/uploads/2009/04/jqueryexpandbox.js' type='text/javascript'%3E%3C/script%3E"));
// -->&lt;/script>

&lt;script type="text/javascript">&lt;!--
var $j = jQuery.noConflict();
$j("#demo_box").expandBox('#demo_expand', '#demo_collapse', {shrunkHeight: 80, expandHeightInc: 40, expandText: 'expand', expandDelay: 100, shrinkText: 'collapse'});
// -->&lt;/script>
</pre>
<p></p>
<p>DOWNLOAD: <span style="color: #551a8b; text-decoration: underline;"><a href="http://www.bugzappy.com/wp-content/uploads/2009/04/jqueryexpandbox.js">jquery.expandbox</a>.js</span></p>
<p></p>
<p>A bit of documentation coming later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bugzappy.com/2009/04/02/expandbox-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
