<?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>VT&#039;s Tech Blog &#187; Web Development</title>
	<atom:link href="http://blogs.vinuthomas.com/category/programming/web-dev-stuff/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.vinuthomas.com</link>
	<description>A Tech Discovery Blog on PHP, Ajax, Security and Social Media.</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:30:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Rethink your Mobile Web Strategy</title>
		<link>http://blogs.vinuthomas.com/2010/10/19/rethink-your-mobile-web-strategy/</link>
		<comments>http://blogs.vinuthomas.com/2010/10/19/rethink-your-mobile-web-strategy/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 06:57:42 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14275</guid>
		<description><![CDATA[Here&#8217;s an excellent presentation, which mobile web developers should look at. It goes beyond the iPhone and iPad hype which has taken the mobile development community by storm, and rethink on how you should be doing mobile websites. A good read for both experienced and beginners to mobile web development. You&#8217;ll need to view it [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an excellent presentation, which mobile web developers should look at. It goes beyond the iPhone and iPad hype which has taken the mobile development community by storm, and rethink on how you should be doing mobile websites. A good read for both experienced and beginners to mobile web development.</p>
<p>You&#8217;ll need to view it in full-screen to read all the small print in this presentation, so click on the menu button in the side below and go fullscreen.<br />
<object id="__sse5172436" 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="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=yiibu-rethinkingthemobileweb-100910074556-phpapp01&amp;rel=0&amp;stripped_title=rethinking-the-mobile-web-by-yiibu&amp;userName=bryanrieger" /><param name="name" value="__sse5172436" /><param name="allowfullscreen" value="true" /><embed id="__sse5172436" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=yiibu-rethinkingthemobileweb-100910074556-phpapp01&amp;rel=0&amp;stripped_title=rethinking-the-mobile-web-by-yiibu&amp;userName=bryanrieger" name="__sse5172436" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more presentations from <a href="http://www.slideshare.net/bryanrieger">Bryan Rieger</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/10/19/rethink-your-mobile-web-strategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Move your .htaccess directives to httpd.conf</title>
		<link>http://blogs.vinuthomas.com/2009/10/15/move-your-htaccess-directives-to-httpd-conf/</link>
		<comments>http://blogs.vinuthomas.com/2009/10/15/move-your-htaccess-directives-to-httpd-conf/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 06:22:58 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=1613</guid>
		<description><![CDATA[Last week I was searching the net for a program or application to&#160; move some of our .htaccess directives into Apache&#8217;s configuration files. The reason I was looking for this is to improve the performance of the site. When we have directives in the .htaccess file, the performance hit on Apache on when it serves [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blogs.vinuthomas.com/wp-content/uploads/2009/10/htaccess-268x300.png" alt="htaccess" title="htaccess" class="alignright size-medium wp-image-1620" height="300" width="268"/>Last week I was searching the net for a program or application to&nbsp; move some of our .htaccess directives into Apache&#8217;s configuration files. The reason I was looking for this is to improve the performance of the site. When we have directives in the .htaccess file, the performance hit on Apache on when it serves each URL is accessed.</p>
<p>If you have a .htaccess file in your web folders, Apache will have to parse the directives in this file and see if there are any .htaccess files in the parent folder. All this happens before your html or php file is hit by Apache. You can read more about the overheads of .htaccess in&nbsp; <a href="http://muffinresearch.co.uk/archives/2008/04/07/avoiding-the-use-of-htaccess-for-performance/">this article</a>. This article <a href="http://www.fubra.com/blog/2008/01/htaccess-vs-httpdconf/">.htaccess vs httpd.conf by Dawid Golunski</a> shows that he saw apache served about 6.6% less requests/second when .htaccess was used.</p>
<p>A quick Google search landed me on <a href="http://blog.preinheimer.com/">Paul Reinheimer&#8217;s</a> blog where he&#8217;s created a <a href="http://blog.preinheimer.com/index.php?/archives/340-.htaccess-to-httpd.conf.html">php script just for this purpose</a>. His htaccess to httpd.conf script parses all the htaccess files from the current folder and all sub-folders and creates a configuration file with the directives for you to place in your Apache&#8217;s configuration file.</p>
<p>Just download his script from <a href="http://blog.preinheimer.com/uploads/htaccess.phps">this link</a>, and place it in your web-root directory which you want to generate the Apache configuration file and run the following command from the command prompt:</p>

<div class="wp_codebox"><table><tr id="p16133"><td class="code" id="p1613code3"><pre class="bash" style="font-family:monospace;">php htaccess.php <span style="color: #000000; font-weight: bold;">&amp;</span>gt;~<span style="color: #000000; font-weight: bold;">/</span>site.conf</pre></td></tr></table></div>

<p>After you run that command, you should have a file site.conf in your home folder. You can open this file to get all the directives for you to place in the Apache configuration file. Once you&#8217;ve placed this in the apache configuration file, you&#8217;ll need to restart Apache for the changes to take effect. Before you restart, make sure you remove your .htaccess file from your web folders.</p>
<p>When I converted a WordPress&#8217; .htaccess file using this script, here&#8217;s the output I got</p>

<div class="wp_codebox"><table><tr id="p16134"><td class="code" id="p1613code4"><pre class="html" style="font-family:monospace;">&lt;directory var=&quot;&quot; www=&quot;&quot; blog=&quot;&quot;&gt;
	&lt;ifmodule mod_rewrite.c=&quot;&quot;&gt;
	RewriteEngine On
	RewriteBase /
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule . /index.php [L]
	&lt;/ifmodule&gt;
&lt;/directory&gt;</pre></td></tr></table></div>

<p>I just put this into the apache2.conf and restarted it, removed the .htaccess from the webroot in /var/www/blog and all the rules worked as they should. As with any script, if you have more complex directives in your .htaccess, test your sites thoroughly before pushing your changes into the production server.</p>
<p><del datetime="2009-10-15T10:20:14+00:00">The only (minor) disadvantage I found with this method is that the apache server has to be restarted to make changes to your rule-sets you put in the configuration files.</del> It seems apache just has to be reloaded and doesn&#8217;t have to be completely restarted to get the changes to the configuration to take effect (thanks Keleo for the tip). Also this conversion will not be possible if your site is running on a shared webhost where you don&#8217;t have access to the apache configuration files.</p>
<p><strong>Links:</strong><br />
<a href="http://blog.preinheimer.com/index.php?/archives/340-.htaccess-to-httpd.conf.html">Paul Reinheimer&#8217;s Article .htaccess to httpd.conf</a><br />
<a href="http://blog.preinheimer.com/uploads/htaccess.phps">Paul&#8217;s htaccess.php Script</a><br />
<a href="http://www.fubra.com/blog/2008/01/htaccess-vs-httpdconf/">htaccess vs httpdconf &#8211; Benchmarks</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/3f05f03d-69f9-41e2-af4f-bd4e21b4c515/"><img class="zemanta-pixie-img" style="border: medium none ; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=3f05f03d-69f9-41e2-af4f-bd4e21b4c515" alt="Reblog this post [with Zemanta]"/></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2009/10/15/move-your-htaccess-directives-to-httpd-conf/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP 5.3 &amp; Internationalization</title>
		<link>http://blogs.vinuthomas.com/2009/07/14/php-5-3-internationalization/</link>
		<comments>http://blogs.vinuthomas.com/2009/07/14/php-5-3-internationalization/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 03:17:22 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[i18n]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=1097</guid>
		<description><![CDATA[Stas Malyshev has written a good article over at Zend Developer Zone about the new intl &#8211; Internalization extension in PHP 5.3. Internationalization has been a major problem with web developers when developing sites which have to support multiple languages. The new extension eases the developer&#8217;s work drastically. Stas mentions in the article that the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/File:Unicode_sample.png" rel="lightbox[1097]"><img class="alignright size-medium wp-image-1099" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/07/Unicode_sample-299x83.png" alt="Unicode_sample" width="299" height="83" /></a>Stas Malyshev has written a good article over at Zend Developer Zone about the new intl &#8211; Internalization extension in PHP 5.3. Internationalization has been a major problem with web developers when developing sites which have to support multiple languages. The new extension eases the developer&#8217;s work drastically. Stas mentions in the article that the following modules have been implemented in the Intl extension:</p>
<ul>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Locale">Locale</a> — deals with breaking locale data into components, assembling a locale string from components and displaying the names of countries, languages etc in a specified locale.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Collator">Collator</a> — a means of comparing and sorting strings according to local rules.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Number_formatter">Number formatter</a> — allows you to format numbers in a variety of ways, and to parse textual representations of numbers.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Date_formatter">Date formatter</a> — allows you to format dates and to parse textual representations of dates.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Message_formatter">Message formatter</a> — allows you to compose messages from parameterized strings while formatting the data inside according to local rules and allowing choices dependent on the actual parameter value.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Normalizer">Normalizer</a> — a means of bringing a Unicode string to a standard, unambiguous representation.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#Grapheme">Grapheme</a> module &#8211; handles parsing a string into a set of graphemes.</li>
<li><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3#IDN">IDN</a> &#8211; handles internationalized domain names format</li>
</ul>
<p><a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3">Read Stas&#8217; article</a> to learn how to use the new features this extension provides to make your website Internationalization ready.</p>
<p>If you&#8217;re using PHP5.2, you&#8217;re in luck since there is a PECL package which should run on PHP 5.2.4 and newer over at: <a href="http://pecl.php.net/package/intl">http://pecl.php.net/package/intl</a></p>
<p style="text-align: left">Link: <a href="http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3">http://devzone.zend.com/article/4799-Internationalization-in-PHP-5.3</a></p>
<p style="text-align: right">Image via <a href="http://en.wikipedia.org/wiki/Image:Unicode_sample.png" rel="lightbox[1097]">Wikipedia</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/03cfba03-1afa-4269-964c-92607a667b4b/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=03cfba03-1afa-4269-964c-92607a667b4b" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2009/07/14/php-5-3-internationalization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Page Speed</title>
		<link>http://blogs.vinuthomas.com/2009/06/05/google-page-speed/</link>
		<comments>http://blogs.vinuthomas.com/2009/06/05/google-page-speed/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 16:31:06 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=849</guid>
		<description><![CDATA[Web developers have to check out Google&#8217;s new Firefox + Firebug addon called Page Speed. This addon inspects your webpage to see how you can optimize the load time. Yahoo&#8217;s YSlow was good, but Google takes it a few steps further to even inspect your html and styles to see what can hider the render [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-851" title="page-speed" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-150x150.png" alt="page-speed" width="150" height="150" />Web developers have to check out Google&#8217;s new Firefox + Firebug addon called Page Speed. This addon inspects your webpage to see how you can optimize the load time. Yahoo&#8217;s YSlow was good, but Google takes it a few steps further to even inspect your html and styles to see what can hider the render time of the page once it&#8217;s loaded.</p>
<p>Apart from the standard tests on if your content is gzipped, server headers are correct and enable client side caching and parallelizing downloads from differnent host names, this addon also does the following:</p>
<ul>
<li>Inspect your CSS files for unused styles</li>
<li>Inspect your Cookie size &#8211; the bigger the cookie size, the bigger the request sent to the server everytime, since every request will send your cookies from the browser to the server</li>
<li>Checks image compression ratios to see if you&#8217;re running on the optimal compression.</li>
<li>Checks to see if your Javascript is minified, if not, it&#8217;ll show you how much you can save if you minify your javascripts</li>
<li>Inspects the execution of Javascript on the page on load to show which Javascript files can be deferred in loading, by placing the Javascript loads at the end of the page instead of the head. This can drastically increase the page render times.</li>
<li>If you load multiple Javascripts and CSS files, Page speed will give you recommendations to merge these into a single file.</li>
</ul>
<p>Page Speed helps you improve your site&#8217;s performance based on the following categories of best practises:</p>
<ul>
<li><a href="http://code.google.com/speed/page-speed/docs/caching.html">Optimizing caching</a> — keeping your application&#8217;s data and logic <em>off</em> the network altogether</li>
<li><a href="http://code.google.com/speed/page-speed/docs/rtt.html">Minimizing round-trip times</a> — reducing the number of serial request-response cycleshttp://code.google.com/speed/page-speed/</li>
<li><a href="http://code.google.com/speed/page-speed/docs/request.html">Minimizing request size</a> — reducing upload size</li>
<li><a href="http://code.google.com/speed/page-speed/docs/payload.html">Minimizing payload size</a> — reducing the size of responses, downloads, and cached pages</li>
<li><a href="http://code.google.com/speed/page-speed/docs/rendering.html">Optimizing browser rendering</a> — improving the browser&#8217;s layout of a page</li>
</ul>
<p>Get Google Page Speed at: <a href="http://code.google.com/speed/page-speed/">http://code.google.com/speed/page-speed/</a></p>
<p>Screenshots:</p>
<div id="attachment_851" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed.png" rel="lightbox[849]"><img class="size-medium wp-image-851" title="page-speed" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-300x219.png" alt="Google Page Speed Recommendations" width="300" height="219" /></a><p class="wp-caption-text">Google Page Speed Recommendations</p></div>
<div id="attachment_852" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-css.png" rel="lightbox[849]"><img class="size-medium wp-image-852" title="page-speed-css" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-css-300x244.png" alt="CSS Optimization Recommendations" width="300" height="244" /></a><p class="wp-caption-text">CSS Optimization Recommendations</p></div>
<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-javascript-minify.png" rel="lightbox[849]"></a></p>
<div id="attachment_854" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-javascript-minify.png" rel="lightbox[849]"><img class="size-medium wp-image-854" title="Javascript Minify Savings" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-javascript-minify-300x157.png" alt="Javascript Minify Savings" width="300" height="157" /></a><p class="wp-caption-text">Javascript Minify Savings</p></div>
<div id="attachment_855" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-javascript-defered1.png" rel="lightbox[849]"><img class="size-medium wp-image-855" title="page-speed-javascript-defered1" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/06/page-speed-javascript-defered1-300x132.png" alt="Suggestion to Defer Javascript Loading" width="300" height="132" /></a><p class="wp-caption-text">Suggestion to Defer Javascript Loading</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2009/06/05/google-page-speed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MVC Frameworks and 404s</title>
		<link>http://blogs.vinuthomas.com/2008/07/11/mvc-frameworks-and-404s/</link>
		<comments>http://blogs.vinuthomas.com/2008/07/11/mvc-frameworks-and-404s/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 15:30:19 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[errors]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=535</guid>
		<description><![CDATA[Mark Kimsal has an interesting article on whether your MVC frameworks handle 404 errors properly. &#8220;This post is about the consistency of frameworks. Consistency is key to a low learning curve. If all parts of a framework behave the same way, then a developer is less likely to be surprised by behaviors in the framework. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://commons.wikimedia.org/wiki/Image:NYS_Route_404_-_Incorrect_Signage.jpg" rel="lightbox[535]"><img class="alignright size-medium wp-image-536" title="404" src="http://blogs.vinuthomas.com/wp-content/uploads/2008/07/404.jpg" alt="" width="258" height="234" /></a></p>
<p>Mark Kimsal has an interesting article on whether your MVC frameworks handle 404 errors properly.</p>
<blockquote><p>&#8220;This post is about the consistency of frameworks. Consistency is key to a low learning curve. If all parts of a framework behave the same way, then a developer is less likely to be surprised by behaviors in the framework. Also, I feel that they are less likely to rely on a manual every couple of minutes to look up method names, directory names, etc.</p>
<p>Given the fact that most, if not all, MVC frameworks use a front-controller pattern, there is never a missing file error (404) at the Apache level. Apache is always finding the index.php file that kicks off the MVC application.&#8221;</p></blockquote>
<p>Be sure to add your thoughts and read the comments at the end of his post. Head over to the post <a href="http://cognifty.com/index.php/blog.entry/id=8/is_your_mvc_mia_when_it_comes_to_404s.html">Is Your MVC MIA When it Comes to 404s?</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/2d274fef-6ae7-4152-bf27-bd2fa81f8597/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=2d274fef-6ae7-4152-bf27-bd2fa81f8597" alt="Zemanta Pixie" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/07/11/mvc-frameworks-and-404s/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google: Ajax Libraries API</title>
		<link>http://blogs.vinuthomas.com/2008/05/28/google-ajax-libraries-api/</link>
		<comments>http://blogs.vinuthomas.com/2008/05/28/google-ajax-libraries-api/#comments</comments>
		<pubDate>Wed, 28 May 2008 15:07:15 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=512</guid>
		<description><![CDATA[Here&#8217;s some cool stuff &#8211; Google&#8217;s Hosting some popular Javascript Ajax libraries like jQuery, prototype and the likes on their servers. You use this service to serve the supported libraries straight off Google. They also provide you with the option to load a particular version of the library so you won&#8217;t have to keep checking [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s some cool stuff &#8211; Google&#8217;s Hosting some popular Javascript Ajax libraries like jQuery, prototype and the likes on their servers. You use this service to serve the supported libraries straight off Google. They also provide you with the option to load a particular version of the library so you won&#8217;t have to keep checking your code everytime a latest release is made.</p>
<p>Here&#8217;s how you would load jQuery version 1.2.3 using this API:</p>

<div class="wp_codebox"><table><tr id="p5126"><td class="code" id="p512code6"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://www.google.com/jsapi&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
  <span style="color: #006600; font-style: italic;">// Load jQuery </span>
  google.<span style="color: #660066;">load</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;jquery&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;1.2.3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #006600; font-style: italic;">//Continue using jQuery</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries. By using the <a href="http://code.google.com/apis/ajax/documentation/">Google AJAX API Loader&#8217;s</a> <code>google.load()</code> method, your application has high speed, globaly available access to a growing list of the most popular JavaScript open source libraries including:</p>
<ul>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery">jQuery</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#prototype">prototype</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#script_aculo_us">script.aculo.us</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools">MooTools</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#dojo">dojo</a></li>
</ul>
<p>Google works directly with the key stake holders for each library effort and accept the latest stable versions as they are released. Once we host a release of a given library, we are committed to hosting that release indefinitely.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="425" height="355"><param name="wmode" value="transparent"></param><param name="src" value="http://www.youtube.com/v/sHMeTbkFuIk&amp;color1=d6d6d6&amp;color2=f0f0f0"><embed type="application/x-shockwave-flash" src="http://www.youtube.com/v/sHMeTbkFuIk&amp;color1=d6d6d6&amp;color2=f0f0f0" wmode="transparent" width="425" height="355"></embed></param></object></p>
<p>Links:</p>
<p><a href="http://code.google.com/apis/ajaxlibs/">Google Ajax Libraries</a></p>
<p><a href="http://http://code.google.com/apis/ajaxlibs/documentation/">Documentation</a></p>
<fieldset class="zemanta-related" style="margin: 0.5em 0pt 1em; padding: 0pt;">
<legend class="zemanta-title">Related articles</legend>
<ul class="zemanta-article-ul" style="margin: 1em 0pt 1.5em; padding: 0pt;">
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://googlesystem.blogspot.com/2008/05/google-hosts-popular-javascript.html" target="_blank">Google Hosts Popular JavaScript Libraries</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://ajaxian.com/archives/announcing-ajax-libraries-api-speed-up-your-ajax-apps-with-googles-infrastructure" target="_blank">Announcing AJAX Libraries API: Speed up your Ajax apps with Google&#8217;s infrastructure</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://code.google.com/apis/ajaxlibs/" target="_blank">Google Ajax Libraries API</a> [via Zemanta]</li>
</ul>
</fieldset>
<div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/86805db0-4109-4409-ac97-7f149d591c94/" title="Zemified by Zemanta"><img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=86805db0-4109-4409-ac97-7f149d591c94" alt="Zemanta Pixie"/></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/05/28/google-ajax-libraries-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Doctype</title>
		<link>http://blogs.vinuthomas.com/2008/05/16/google-doctype/</link>
		<comments>http://blogs.vinuthomas.com/2008/05/16/google-doctype/#comments</comments>
		<pubDate>Fri, 16 May 2008 03:06:35 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sites]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=501</guid>
		<description><![CDATA[Google Doctype is an open encyclopedia and reference library. Written by web developers, for web developers. It includes articles on web security, JavaScript DOM manipulation, CSS tips and tricks, and more. The reference section includes a growing library of test cases for checking cross-browser and cross-platform compatibility. This site&#8217;s currently got some good HOWTOs on [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; float: right;"><a href="http://commons.wikipedia.org/wiki/Image:CSS.svg" target="_blank"><img style="border: medium none; display: block;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/86/CSS.svg/202px-CSS.svg.png" alt="A graphical depiction of a very simple css document" /></a><a href="http://commons.wikipedia.org/wiki/Image:CSS.svg" target="_blank"></a></p>
</div>
<p style="text-align: center;"><img class="size-full wp-image-297" title="Google" src="http://blogs.vinuthomas.com/wp-content/uploads/2007/02/logo.gif" alt="" width="130" height="48" /></p>
<p>Google <span class="doctype">Doctype</span> is an open encyclopedia and reference library. Written by web developers, for web developers. It includes articles on web security, JavaScript DOM manipulation, CSS tips and tricks, and more. The reference section includes a growing library of test cases for checking cross-browser and cross-platform compatibility.</p>
<p>This site&#8217;s currently got some good HOWTOs on Web security, DOM manipulation, CSS  and styles and more. A worthwhile place to check if you&#8217;re looking at some quick reference and help.</p>
<p>Link: <a href="http://code.google.com/doctype/">Google Doctype</a></p>
<fieldset class="zemanta-related" style="margin: 0.5em 0pt 1em; padding: 0pt;">
<legend class="zemanta-title">Related articles</legend>
<ul class="zemanta-article-ul" style="margin: 1em 0pt 1.5em; padding: 0pt;">
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://googlesystem.blogspot.com/2008/05/google-doctype-encyclopedia-for-web.html" target="_blank">Google Doctype, an Encyclopedia for Web Developers</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://google-code-updates.blogspot.com/2008/05/introducing-google-doctype.html" target="_blank">Introducing Google Doctype</a> [via Zemanta]</li>
</ul>
</fieldset>
<div id="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"><a id="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img id="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/pixie.png?x-id=e5fcec45-7a56-407c-b8cc-8af3ad859c71" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/05/16/google-doctype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Friend Connect</title>
		<link>http://blogs.vinuthomas.com/2008/05/13/google-friend-connect/</link>
		<comments>http://blogs.vinuthomas.com/2008/05/13/google-friend-connect/#comments</comments>
		<pubDate>Tue, 13 May 2008 04:30:56 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Sites]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Friend Connect]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[OpenSocial]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=493</guid>
		<description><![CDATA[Google&#8217;s just released a preview version of Google Friend Connect, which allows you to add social features on your site with minimal coding. This is still a preview release so you&#8217;ll have sign up to get into the queue. Google Friend Connect lets you grow traffic by easily adding social features to your website. With [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-medium wp-image-494 aligncenter" title="google-friend-connect" src="http://blogs.vinuthomas.com/wp-content/uploads/2008/05/google-friend-connect.gif" alt="" width="290" height="290" /></p>
<p>Google&#8217;s just released a preview version of Google Friend Connect, which allows you to add social features on your site with minimal coding. This is still a preview release so you&#8217;ll have sign up to get into the queue.</p>
<blockquote><p>Google Friend Connect lets you grow traffic by easily adding social features to your website. With just a few snippets of code, you get more people engaging more deeply with your site.</p></blockquote>
<p>Here&#8217;s a video introduction of Google Friend Connect:</p>
<p style="text-align: center;"><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/BIEwUxMrJ4Y"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/BIEwUxMrJ4Y" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>Link: <a href="http://www.google.com/friendconnect/home/intro">Google Friend Connect</a></p>
<fieldset class="zemanta-related" style="margin: 0.5em 0pt 1em; padding: 0pt;">
<legend class="zemanta-title">Related articles</legend>
<ul class="zemanta-article-ul" style="margin: 1em 0pt 1.5em; padding: 0pt;">
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://blog.searchenginewatch.com/blog/080512-120820" target="_blank">Google&#8217;s Friend Connect: Add Social Networking to Your Site</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://www.marketingpilgrim.com/2008/05/google-connect-makes-sites-more-social.html" target="_blank">Google Connect Makes Sites More Social</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://www.techcrunch.com/2008/05/12/google-confirms-friend-connect/" target="_blank">Google Confirms Friend Connect</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://arstechnica.com/news.ars/post/20080512-google-friend-connect-to-bring-social-networks-to-your-site.html" target="_blank">Google Friend Connect to bring social networks to your site</a> [via Zemanta]</li>
<li class="zemanta-article" style="margin: 0.5em 2em;"><a title="Open in new window" href="http://blog.programmableweb.com/2008/05/12/google-friend-connect-make-any-site-social/" target="_blank">Google Friend Connect: Make Any Site Social</a> [via Zemanta]</li>
</ul>
</fieldset>
<div id="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"><a id="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img id="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/pixie.png?x-id=b9878f88-dd6f-4f88-86e7-0835e95acb8d" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/05/13/google-friend-connect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine Launched</title>
		<link>http://blogs.vinuthomas.com/2008/04/08/google-app-engine-launched/</link>
		<comments>http://blogs.vinuthomas.com/2008/04/08/google-app-engine-launched/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 08:47:04 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=465</guid>
		<description><![CDATA[Just out a few hours back &#8211; The Google App Engine &#8211; it&#8217;s a preview release, and I was late in getting to this news and missed out on the initial invites &#8211; but have added myself to the invite queue. PHP devs may curse Google on this since Python is only supported language out [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-full wp-image-466" title="googleappegine.gif" src="http://blogs.vinuthomas.com/wp-content/uploads/2008/04/googleappegine.gif" alt="Google App Engine" width="153" height="47" /></p>
<p>Just out a few hours back &#8211; The Google App Engine &#8211; it&#8217;s a preview release, and I was late in getting to this news and missed out on the initial invites &#8211; but have added myself to the invite queue.</p>
<p>PHP devs may curse Google on this since Python is only supported language out here in Google App Engine territory.</p>
<blockquote><p>Google App Engine gives you access to the same building blocks that Google uses for its own applications, making it easier to build an application that runs reliably, even under heavy load and with large amounts of data. The <a href="http://code.google.com/appengine/docs/whatisgoogleappengine.html">development environment</a> includes the following features:</p>
<ul>
<li>Dynamic webserving, with full support of common web technologies</li>
<li>Persistent storage (powered by <a href="http://labs.google.com/papers/bigtable.html">Bigtable</a> and <a href="http://labs.google.com/papers/gfs.html">GFS</a> with queries, sorting, and transactions)</li>
<li>Automatic scaling and load balancing</li>
<li>Google APIs for authenticating users and sending email</li>
<li>Fully featured local development environment</li>
</ul>
<p>Google App Engine packages these building blocks and takes care of the infrastructure stack, leaving you more time to focus on writing code and improving your application.</p></blockquote>
<p>Link: <a href="http://appengine.google.com/">http://appengine.google.com/</a></p>
<p>via: <a href="http://googleappengine.blogspot.com/2008/04/introducing-google-app-engine-our-new.html">Introducing Google App Engine + our new blog</a></p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.niallkennedy.com/blog/2008/07/app-engine-optimization.html">Google App Engine optimizations</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.infoworld.com/article/08/04/25/Developers-press-Google-on-App-Engine_1.html?source=rss&amp;url=http://www.infoworld.com/article/08/04/25/Developers-press-Google-on-App-Engine_1.html">Developers press Google on its App Engine</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.techcrunch.com/2008/06/17/google-app-engine-goes-down-and-stays-down/">Google App Engine Goes Down and Stays Down</a></li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/0e90ce2b-d838-4b0b-aa78-d9f9a8f4a16f/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=0e90ce2b-d838-4b0b-aa78-d9f9a8f4a16f" alt="Zemanta Pixie" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/04/08/google-app-engine-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DamnIT &#8211; Find Javascript Errors</title>
		<link>http://blogs.vinuthomas.com/2008/04/07/damnit-find-javascript-errors/</link>
		<comments>http://blogs.vinuthomas.com/2008/04/07/damnit-find-javascript-errors/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 04:45:16 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[debug]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=461</guid>
		<description><![CDATA[How would you like to get an email with the javascript error and debug info about that error as soon as a visitor on your site encounters it? DamnIT provides you just that service: DamnIT is a free service that emails you when a user encounters a JavaScript error in your webpages. To get DamnIT [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-462" title="DamnIT Notification" src="http://blogs.vinuthomas.com/wp-content/uploads/2008/04/damnitnotification.png" alt="DamnIT Notification" width="380" height="47" /></p>
<p>How would you like to get an email with the javascript error and debug info about that error as soon as a visitor on your site encounters it? DamnIT provides you just that service:</p>
<blockquote><p>DamnIT is a free service that emails you when a user encounters a JavaScript error in your webpages.</p></blockquote>
<p>To get DamnIT installed for your site, just signup for an account and call a JS script &#8211; this works fine for IE and Firefox. If you want to install DamnIT on other browsers, you&#8217;ll need to place try&#8230;catch blocks. Learn more about DamnIT over at: <a href="http://damnit.jupiterit.com/home/learn">http://damnit.jupiterit.com/home/learn</a></p>
<p>Link : <a href="http://damnit.jupiterit.com/">DamnIT: Javascript Error Handling</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/04/07/damnit-find-javascript-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Principles Of Effective Web Design</title>
		<link>http://blogs.vinuthomas.com/2008/02/14/10-principles-of-effective-web-design/</link>
		<comments>http://blogs.vinuthomas.com/2008/02/14/10-principles-of-effective-web-design/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 09:15:20 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/2008/02/14/10-principles-of-effective-web-design/</guid>
		<description><![CDATA[Usability and the utility, not visual design, determine success or failure of a web-site. Since visitor page is only person who clicks mouse therefore decides everything, user-centric design has become standard approach for successful profit-oriented Link: 10 Principles Of Effective Web Design &#124; How-To &#124; Smashing Magazine Sent from BlueOrganizer]]></description>
			<content:encoded><![CDATA[<blockquote><p>Usability and the utility, not visual design, determine success or failure of a web-site. Since visitor page is only person who clicks mouse therefore decides everything, user-centric design has become standard approach for successful profit-oriented</p></blockquote>
<p>Link: <a href="http://www.smashingmagazine.com/index.php/2008/01/31/10-principles-of-effective-web-design/" bluekey="2pzE9J34OVk0u4nxHnf7M2sOzVgvbet0dkzN2%22ectwxERmdwBOOjuzxtfgjPoaKTvW295fpFCNwiUoJaNNN9RSWObpNxh6010cvRggny%22nAGPa%22DAo1ZZ4ffA0P%22Qn7MFFypZyXRAVUfmvGamxBF9d" target="_newTab">10 Principles Of Effective Web Design | How-To | Smashing Magazine</a></p>
<p style="clear: both; font-size: 9px">Sent from <a href="http://www.adaptiveblue.com" target="_newTab">BlueOrganizer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/02/14/10-principles-of-effective-web-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quicker and cleaner Form using Zend Form</title>
		<link>http://blogs.vinuthomas.com/2008/02/13/quicker-and-cleaner-form-using-zend-form/</link>
		<comments>http://blogs.vinuthomas.com/2008/02/13/quicker-and-cleaner-form-using-zend-form/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 04:48:09 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/2008/02/13/quicker-and-cleaner-form-using-zend-form/</guid>
		<description><![CDATA[Usually handing forms involves coding the form in HTML and performing client and server side validation, which usually makes the code for complex forms quite unwieldy. Zend_Form which is available in Zend Framework version 1.5 aims at simplifying this process. You can now create and add methods for validating form fields completely in Zend_Form. Here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="center"><img class="aligncenter" src="http://blogs.vinuthomas.com/wp-content/uploads/2008/02/zendframeworklogo.gif" alt="" /></p>
<p>Usually handing forms involves coding the form in HTML and performing client and server side validation, which usually makes the code for complex forms quite unwieldy. Zend_Form which is available in Zend Framework version 1.5 aims at simplifying this process.</p>
<p>You can now create and add methods for validating form fields completely in Zend_Form. Here&#8217;s an example from an article at <a href="http://devzone.zend.com/article/3030-Lifting-the-Skirt-on-Zend-Framework-1.5---Zend_Form">Zend Developer Zone</a>:</p>

<div class="wp_codebox"><table><tr id="p4398"><td class="code" id="p439code8"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$form</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Form<span style="color: #339933;">;</span>
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setAction</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/resource/process'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">setMethod</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">setAttrib</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$username</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Form_Element_Text<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$username</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addValidator</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'alnum'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">addValidator</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'regex'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/^[a-z]/i'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">setRequired</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">addFilter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'StringToLower'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElement</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$username</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$password</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Form_Element_Password<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'password'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$password</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addValidator</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'stringLength'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">setRequired</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElement</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElement</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Zend_Form_Element_Submit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>To learn more on this head over to the Zend_Form Quick start guide at : <a href="http://framework.zend.com/manual/en/zend.form.quickstart.html">http://framework.zend.com/manual/en/zend.form.quickstart.html</a> or an article by Cal Evans at Zend Developer Zone: <a href="http://devzone.zend.com/article/3030-Lifting-the-Skirt-on-Zend-Framework-1.5---Zend_Form">Lifting the Skirt on Zend Framework 1.5 &#8211; Zend_Form</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/02/13/quicker-and-cleaner-form-using-zend-form/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Improve page load time with a class and 3 lines of PHP</title>
		<link>http://blogs.vinuthomas.com/2008/01/24/improve-page-load-time-with-a-class-and-3-lines-of-php/</link>
		<comments>http://blogs.vinuthomas.com/2008/01/24/improve-page-load-time-with-a-class-and-3-lines-of-php/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 09:15:13 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/2008/01/24/improve-page-load-time-with-a-class-and-3-lines-of-php/</guid>
		<description><![CDATA[Here&#8217;s a PHP script from Leon Chevalier which improves your page load time drastically. His compressor class improves your site&#8217;s performance by combining and minifying the css, Javascript and HTML files on the page, allowing for fewer HTTP requests and smaller sizes of these files. All you need to do is to download the class [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://blogs.vinuthomas.com/wp-content/uploads/2008/01/compressed-small.gif" /></p>
<p>Here&#8217;s a PHP script from Leon Chevalier which improves your page load time drastically. His compressor class improves your site&#8217;s performance by combining and minifying the css, Javascript and HTML files on the page, allowing for fewer HTTP requests and smaller sizes of these files. All you need to do is to <a href="http://aciddrop.com/aciddrop/minify-0.3/aciddrop_site_compression-0.3.zip">download</a> the class file and add the following php lines at the top of your page</p>
<p><code>require_once('class.compressor.php');<br />
$compressor = new compressor('css,javascript,page');</code></p>
<p>and the following line of PHP code at the end of your page</p>
<p><code>$compressor->finish();</code></p>
<p>Read more about this script and see the benchmarks of this over at: <a href="http://aciddrop.com/2008/01/21/boost-your-website-load-time-with-3-lines-of-code/">Aciddrop.com| Improve website load time by 500% with 3 lines of code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2008/01/24/improve-page-load-time-with-a-class-and-3-lines-of-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rules for High Performance Websites</title>
		<link>http://blogs.vinuthomas.com/2007/10/30/rules-for-high-performance-websites/</link>
		<comments>http://blogs.vinuthomas.com/2007/10/30/rules-for-high-performance-websites/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 11:35:01 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/2007/10/30/rules-for-high-performance-websites/</guid>
		<description><![CDATA[Here&#8217;s an excellent article on Yahoo on how to speed up your website.  The points covered in this are: Make Fewer HTTP Requests Use a Content Delivery Network Add an Expires Header Gzip Components Put Stylesheets at the Top Put Scripts at the Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an excellent article on Yahoo on how to speed up your website.  The points covered in this are:</p>
<ul>
<li>Make Fewer HTTP Requests</li>
<li>Use a Content Delivery Network</li>
<li>Add an Expires Header</li>
<li>Gzip Components</li>
<li>Put Stylesheets at the Top</li>
<li>Put Scripts at the Bottom</li>
<li>Avoid CSS Expressions</li>
<li>Make JavaScript and CSS External</li>
<li>Reduce DNS Lookups</li>
<li>Minify JavaScript</li>
<li>Avoid Redirects</li>
<li>Remove Duplicate Scripts</li>
<li>Configure ETags</li>
<li>Make Ajax Cacheable</li>
</ul>
<p>Read on at: <a href="http://developer.yahoo.com/performance/rules.html">Best Practices for Speeding Up Your Web Site</a></p>
<p>Here&#8217;s a Firefox plugin from to grade your site performance according to the rules outlined in this article:</p>
<p>YSlow for Firefox: <a href="http://developer.yahoo.com/yslow/">http://developer.yahoo.com/yslow/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2007/10/30/rules-for-high-performance-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Gears for offline apps</title>
		<link>http://blogs.vinuthomas.com/2007/05/31/google-gears-for-offline-apps/</link>
		<comments>http://blogs.vinuthomas.com/2007/05/31/google-gears-for-offline-apps/#comments</comments>
		<pubDate>Thu, 31 May 2007 06:51:46 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[General Stuff]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Browsers]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/2007/05/31/google-gears-for-offline-apps/</guid>
		<description><![CDATA[Google has released a beta version of Google Gears which is an open source browser extension which&#160; enables web applications to provide offline functionality using following JavaScript APIs. Here&#8217;s what you can do with the API&#8217;s: Store and serve application resources locally Store data locally in a fully-searchable relational database Run asynchronous Javascript to improve [...]]]></description>
			<content:encoded><![CDATA[<p>Google has released a beta version of Google Gears which is an open source browser extension which&nbsp; enables web applications to provide offline functionality using following JavaScript APIs.</p>
<p>Here&#8217;s what you can do with the API&#8217;s:
<ul>
<li>Store and serve application resources locally</li>
<li>Store data locally in a fully-searchable relational database</li>
<li>Run asynchronous Javascript to improve application responsiveness</li>
</ul>
<p>	 									You can take a look at the sample applications at <a href="http://code.google.com/apis/gears/sample.html">http://code.google.com/apis/gears/sample.html</a> once you install the browser plugin. </p>
<p>The news out there is that Google&#8217;s planning to offer offline support for their current applications like Google Reader, Docs &amp; Spreadsheets.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2007/05/31/google-gears-for-offline-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with Aptana and Yahoo UI &#8211; Aptana</title>
		<link>http://blogs.vinuthomas.com/2006/12/14/getting-started-with-aptana-and-yahoo-ui-aptana/</link>
		<comments>http://blogs.vinuthomas.com/2006/12/14/getting-started-with-aptana-and-yahoo-ui-aptana/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 11:58:27 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/2006/12/14/getting-started-with-aptana-and-yahoo-ui-aptana/</guid>
		<description><![CDATA[Want to create cool Web2.0 UI&#8217;s? You can use Apatana to create these using the Yahoo UI Library. Aptana provides you the IDE to create UI components with YUI and provides you with code complete facilities to do this too ! Check the link below to get started. Aptana also provides the same functionality for [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center"><img alt="Aptana" id="image223" src="http://blogs.vinuthomas.com/wp-content/uploads/2006/08/aptana.gif" /></div>
<p>Want to create cool Web2.0 UI&#8217;s? You can use Apatana to create these using the Yahoo UI Library. Aptana provides you the IDE to create UI components with YUI and provides you with code complete facilities to do this too ! Check the link below to get started. Aptana also provides the same functionality for the following (&#8220;<em>web 2.0</em>&#8220;) libraries:</p>
<ul>
<li>AFLAX</li>
<li>DOJO</li>
<li>JQuery</li>
<li>MochKit</li>
<li>Prototype</li>
<li>Rico</li>
<li>Scriptaculous</li>
</ul>
<p>This walkthrough will instruct you how to create a new Yahoo UI library project and get started with your coding using the documented Yahoo UI library supplied by Aptana.</p>
<p><a href="http://www.aptana.com/docs/index.php/Getting_started_with_Aptana_and_Yahoo_UI">Getting started with Aptana and Yahoo UI &#8211; Aptana</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2006/12/14/getting-started-with-aptana-and-yahoo-ui-aptana/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 4/29 queries in 0.029 seconds using disk: basic
Object Caching 1320/1371 objects using disk: basic

Served from: blogs.vinuthomas.com @ 2012-02-04 18:13:03 -->
