<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.2.1" --><rss 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/" version="2.0">

<channel>
	<title>zen perfect</title>
	<link>http://www.zenperfect.com</link>
	<description>paul's tech rambles</description>
	<pubDate>Wed, 29 Aug 2007 00:12:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ZenPerfect" type="application/rss+xml" /><item>
		<title>Free Things Every Web Developer Should Know About</title>
		<link>http://www.zenperfect.com/2007/08/21/free-things-every-web-developer-should-know-about/</link>
		<comments>http://www.zenperfect.com/2007/08/21/free-things-every-web-developer-should-know-about/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 12:30:01 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/08/21/free-things-every-web-developer-should-know-about/</guid>
		<description><![CDATA[The following are a collection of a tools and links that I frequent for various aspects of web development. They either provide a physical product, web service, or knowledge that you&#8217;ll be happy to have. I&#8217;ll add more if I discover more so keep checking back. And add your own!
]]></description>
			<content:encoded><![CDATA[<p>The following are a collection of a tools and links that I frequent for various aspects of web development. They either provide a physical product, web service, or knowledge that you&#8217;ll be happy to have. I&#8217;ll add more if I discover more so keep checking back. And add your own!</p>
<p> <a href="http://www.zenperfect.com/2007/08/21/free-things-every-web-developer-should-know-about/#more-16" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/146491113" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/08/21/free-things-every-web-developer-should-know-about/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F08%2F21%2Ffree-things-every-web-developer-should-know-about%2F</feedburner:awareness></item>
		<item>
		<title>JavaScript Frameworks Compared</title>
		<link>http://www.zenperfect.com/2007/08/11/javascript-frameworks-compared/</link>
		<comments>http://www.zenperfect.com/2007/08/11/javascript-frameworks-compared/#comments</comments>
		<pubDate>Sat, 11 Aug 2007 15:38:43 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/08/11/javascript-frameworks-compared/</guid>
		<description><![CDATA[First off, if you are coding JavaScript, use a framework. You will never go back because all frameworks will help in some way. The frameworks serve more like libraries (instead of full-fledged &#8220;frameworks&#8221; as Rails for Ruby or CakePHP for PHP). For example, instead of coding the whole XMLHttpRequest thing, most frameworks will simplify to [...]]]></description>
			<content:encoded><![CDATA[<p>First off, if you are coding JavaScript, use a framework. You will never go back because all frameworks will help in some way. The frameworks serve more like libraries (instead of full-fledged &#8220;frameworks&#8221; as Rails for Ruby or CakePHP for PHP). For example, instead of coding the whole XMLHttpRequest thing, most frameworks will simplify to just one line, handling all the cross-browser troubles automatically. Also, many of them include neat visual effects and dynamic controls that you&#8217;ll find useful. Here&#8217;s my take on several of the most popular frameworks.</p>
<p> <a href="http://www.zenperfect.com/2007/08/11/javascript-frameworks-compared/#more-15" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/143091729" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/08/11/javascript-frameworks-compared/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F08%2F11%2Fjavascript-frameworks-compared%2F</feedburner:awareness></item>
		<item>
		<title>No More Ajax Headaches</title>
		<link>http://www.zenperfect.com/2007/08/08/no-more-ajax-headaches/</link>
		<comments>http://www.zenperfect.com/2007/08/08/no-more-ajax-headaches/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 03:11:37 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/08/08/no-more-ajax-headaches/</guid>
		<description><![CDATA[Ajax is awesome. Yes, it is pretty nice not having to refresh the browser. But as a developer, you probably will eventually run into an Ajax bug sooner and later. And ARGH! What is happening to your XMLHttpRequest? Ajax issues can be harder to debug because you can&#8217;t be always sure what happens to your [...]]]></description>
			<content:encoded><![CDATA[<p>Ajax is awesome. Yes, it is pretty nice not having to refresh the browser. But as a developer, you probably will eventually run into an Ajax bug sooner and later. And ARGH! What is happening to your XMLHttpRequest? Ajax issues can be harder to debug because you can&#8217;t be always sure what happens to your Ajax call. Is it really being sent? Or is the code that your calling crashing?</p>
<p>There is one tool that every web developer should install immediately after they install Firefox (and maybe StumbleUpon). It will help you with HTML and CSS formatting and layout problems. It will help you debug JavaScript with a full function debugger. It will also find out what&#8217;s taking your site forever to load and what Ajax calls you&#8217;re making!<br />
The name is <a href="http://www.getfirebug.com">Firebug</a>.</p>
<p> <a href="http://www.zenperfect.com/2007/08/08/no-more-ajax-headaches/#more-14" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/142216222" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/08/08/no-more-ajax-headaches/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F08%2F08%2Fno-more-ajax-headaches%2F</feedburner:awareness></item>
		<item>
		<title>Computer Science vs Programming (Software Engineering)</title>
		<link>http://www.zenperfect.com/2007/07/30/computer-science-vs-programming-software-engineering/</link>
		<comments>http://www.zenperfect.com/2007/07/30/computer-science-vs-programming-software-engineering/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 22:23:39 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[Rambles]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/30/computer-science-vs-programming-software-engineering/</guid>
		<description><![CDATA[People often get these two confused since they overlap in many fields. You tell someone your major is Computer Science and they think that you&#8217;re a programmer. While that is true quite often, the concepts of computer science do not deal directly with code, but with the math and logic behind it. Software engineering, on [...]]]></description>
			<content:encoded><![CDATA[<p>People often get these two confused since they overlap in many fields. You tell someone your major is Computer Science and they think that you&#8217;re a programmer. While that is true quite often, the concepts of computer science do not deal directly with code, but with the math and logic behind it. Software engineering, on the other hand, is your more typical concept of the computer programmer, who works on implementing ideas into software. I thought I&#8217;d do both of these fields justice by clarifying the difference.</p>
<p> <a href="http://www.zenperfect.com/2007/07/30/computer-science-vs-programming-software-engineering/#more-13" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/138990081" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/30/computer-science-vs-programming-software-engineering/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F30%2Fcomputer-science-vs-programming-software-engineering%2F</feedburner:awareness></item>
		<item>
		<title>Sample CodeIgniter Application with Source Code</title>
		<link>http://www.zenperfect.com/2007/07/27/sample-codeigniter-application/</link>
		<comments>http://www.zenperfect.com/2007/07/27/sample-codeigniter-application/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 21:25:13 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[CodeIgniter]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/27/sample-codeigniter-application/</guid>
		<description><![CDATA[I was working on this non-production CodeIgniter application and I&#8217;ve think I&#8217;m pretty much done with it. I used it as a learning experience and now would like to pass it on to you, whether for reference, curiosity, or pure entertainment. Admittedly, I could have done better with the conventions and programming style but I [...]]]></description>
			<content:encoded><![CDATA[<p>I was working on this non-production CodeIgniter application and I&#8217;ve think I&#8217;m pretty much done with it. I used it as a learning experience and now would like to pass it on to you, whether for reference, curiosity, or pure entertainment. Admittedly, I could have done better with the conventions and programming style but I believe I did a good job implementing models and using Prototype with script.aculo.us for Ajax functionality.</p>
<p>Check out the application at <a href="http://codeigniter.paulshen.name/index.php" target="_blank">http://codeigniter.paulshen.name/index.php</a><br />
Click the Login link and use the credentials: demo/password<br />
Try messing around with the interface: adding, editing and deleting entries</p>
<p>Following is the source code and some notes on the application</p>
<p> <a href="http://www.zenperfect.com/2007/07/27/sample-codeigniter-application/#more-11" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/138088613" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/27/sample-codeigniter-application/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F27%2Fsample-codeigniter-application%2F</feedburner:awareness></item>
		<item>
		<title>Sortable Lists in PHP Walkthrough</title>
		<link>http://www.zenperfect.com/2007/07/26/sortable-lists-in-php-walkthrough/</link>
		<comments>http://www.zenperfect.com/2007/07/26/sortable-lists-in-php-walkthrough/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 22:38:25 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/26/sortable-lists-in-php-walkthrough/</guid>
		<description><![CDATA[Want to learn how to make draggable sortable lists that save itself when you change the order?
Here&#8217;s how to make a Sortable list in PHP with script.aculo.us from step one to step done (haha good one).
]]></description>
			<content:encoded><![CDATA[<p>Want to learn how to make draggable sortable lists that save itself when you change the order?<br />
Here&#8217;s how to make a Sortable list in PHP with script.aculo.us from step one to step done (haha good one).</p>
<p> <a href="http://www.zenperfect.com/2007/07/26/sortable-lists-in-php-walkthrough/#more-10" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/137754929" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/26/sortable-lists-in-php-walkthrough/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F26%2Fsortable-lists-in-php-walkthrough%2F</feedburner:awareness></item>
		<item>
		<title>Facebook API with CakePHP</title>
		<link>http://www.zenperfect.com/2007/07/24/facebook-api-with-cakephp/</link>
		<comments>http://www.zenperfect.com/2007/07/24/facebook-api-with-cakephp/#comments</comments>
		<pubDate>Tue, 24 Jul 2007 05:06:20 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/24/facebook-api-with-cakephp/</guid>
		<description><![CDATA[Making a Facebook application is all the craze nowadays with new ones being posted every hour. Honestly, it seems more like a flood of mediocre applications but the more the merrier I guess. At first, I believed there was great potential for full-blown Facebook applications due to the ability to spread and network. However, it [...]]]></description>
			<content:encoded><![CDATA[<p>Making a Facebook application is all the craze nowadays with new ones being posted every hour. Honestly, it seems more like a flood of mediocre applications but the more the merrier I guess. At first, I believed there was great potential for full-blown Facebook applications due to the ability to spread and network. However, it seems the most successful apps (by user count) are small widgets that users find interesting. Still, the platform is young so only time will tell what comes out of Facebook. It&#8217;s probable that a Google Docs-like application is made for Facebook which serves as the new word processor or Facebook calendar serves as the new PIM. If web applications are the future, Facebook obviously has huge potential.</p>
<p>I&#8217;ve messed around with the API and it really is easy to get started. You can use a plethora of different development languages but I obviously used PHP, more specifically CakePHP. Here&#8217;s how you can easily start a Facebook application with CakePHP.</p>
<p> <a href="http://www.zenperfect.com/2007/07/24/facebook-api-with-cakephp/#more-8" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/136735688" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/24/facebook-api-with-cakephp/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F24%2Ffacebook-api-with-cakephp%2F</feedburner:awareness></item>
		<item>
		<title>Faceoff: CodeIgniter vs CakePHP</title>
		<link>http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/</link>
		<comments>http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/#comments</comments>
		<pubDate>Sun, 15 Jul 2007 19:35:36 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[CodeIgniter]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/</guid>
		<description><![CDATA[In the red corner, we have CakePHP, the heavyweight fighter with guns to show.
In the blue corner, we have CodeIgniter, the lightweight fighter, quick on the feet.
But seriously, I have worked a lot with these two frameworks and would like to compare and contrast them. I know this has been done many times but check [...]]]></description>
			<content:encoded><![CDATA[<p>In the red corner, we have CakePHP, the heavyweight fighter with guns to show.<br />
In the blue corner, we have CodeIgniter, the lightweight fighter, quick on the feet.</p>
<p>But seriously, I have worked a lot with these two frameworks and would like to compare and contrast them. I know this has been done many times but check it out from my eyes.</p>
<p> <a href="http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/#more-7" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/135743179" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F15%2Ffaceoff-codeigniter-vs-cakephp%2F</feedburner:awareness></item>
		<item>
		<title>Model View Controller (and CodeIgniter)</title>
		<link>http://www.zenperfect.com/2007/07/12/model-view-controller-and-codeigniter/</link>
		<comments>http://www.zenperfect.com/2007/07/12/model-view-controller-and-codeigniter/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 21:00:43 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[CodeIgniter]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/12/model-view-controller-and-codeigniter/</guid>
		<description><![CDATA[CodeIgniter is a PHP framework that helps structure your code and make redundant tasks less tedious. There are countless similar PHP frameworks, the most popular ones being CakePHP and symfony. After looking at several frameworks, the reason I chose to work with CodeIgniter first is that it is a more loosely formed framework, serving as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codeigniter.com" target="_blank">CodeIgniter</a> is a PHP framework that helps structure your code and make redundant tasks less tedious. There are countless similar PHP frameworks, the most popular ones being <a href="http://www.cakephp.org" target="_blank">CakePHP</a> and <a href="http://www.symfony-project.com" target="_blank">symfony</a>. After looking at several frameworks, the reason I chose to work with CodeIgniter first is that it is a more loosely formed framework, serving as a middle ground between convention and convenience. A trend of framework these days, such as Rails and CakePHP, is to favor convention, forcing strict rules. I won&#8217;t argue the benefits/negatives here but I find both claims reasonable. CodeIgniter doesn&#8217;t impose those rules and gives you more freedom to write your code and use the framework whenever you want to. Therefore, it&#8217;s a good transition between no framework and a full-fledged framework. Also, it is possibly one of the best documented frameworks with tutorials and great documentation of the classes.</p>
<p>A theme to all frameworks nowadays is the Model-View-Controller (MVC) architecture. So let&#8217;s hammer this down to the ground before starting. A common philosophy to programming is separating the logic and the presentation. This is the heart of the MVC architecture. Let&#8217;s examine the easiest part to understand first. <a href="http://www.zenperfect.com/2007/07/12/model-view-controller-and-codeigniter/#more-6" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/135743180" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/12/model-view-controller-and-codeigniter/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F12%2Fmodel-view-controller-and-codeigniter%2F</feedburner:awareness></item>
		<item>
		<title>The Prettiest Code</title>
		<link>http://www.zenperfect.com/2007/07/12/the-prettiest-code/</link>
		<comments>http://www.zenperfect.com/2007/07/12/the-prettiest-code/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 08:24:08 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zenperfect.com/2007/07/12/the-prettiest-code/</guid>
		<description><![CDATA[An often ignored aspect of programming is formatting and upkeeping the code. It&#8217;s great and all if your program works but with a poor coding style, just the thought of editing the code will be a nightmare, not to mention if someone else is going to edit your code, which could possibly make that person [...]]]></description>
			<content:encoded><![CDATA[<p>An often ignored aspect of programming is formatting and upkeeping the code. It&#8217;s great and all if your program works but with a poor coding style, just the thought of editing the code will be a nightmare, not to mention if someone else is going to edit your code, which could possibly make that person want to bash his head into the nearest solid object. And we don&#8217;t want that, do we?</p>
<p>Design practices is the more important aspect of writing manageable code. However, in this article, you shall learn about keeping your code pretty with formatting and naming conventions.</p>
<p> <a href="http://www.zenperfect.com/2007/07/12/the-prettiest-code/#more-5" class="more-link">(more&#8230;)</a></p>
<img src="http://feeds.feedburner.com/~r/ZenPerfect/~4/135743181" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.zenperfect.com/2007/07/12/the-prettiest-code/feed/</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=ZenPerfect&amp;itemurl=http%3A%2F%2Fwww.zenperfect.com%2F2007%2F07%2F12%2Fthe-prettiest-code%2F</feedburner:awareness></item>
	<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetFeedData?uri=ZenPerfect</feedburner:awareness></channel>
</rss>
