<?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; Programming</title>
	<atom:link href="http://blogs.vinuthomas.com/category/programming/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>Unusual Demand for Cloud Computing Skills</title>
		<link>http://blogs.vinuthomas.com/2012/01/23/unusual-demand-for-cloud-computing-skills/</link>
		<comments>http://blogs.vinuthomas.com/2012/01/23/unusual-demand-for-cloud-computing-skills/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 12:30:18 +0000</pubDate>
		<dc:creator>Deeptaman Mukherjee</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Demand Management]]></category>
		<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Trends & Analysis]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14762</guid>
		<description><![CDATA[Internet is moving to the next level through the usage and deployment of cloud based computing. Businesses are more interested in offering efficient systems to handle all aspects of their business including customer servicing. Cloud based technologies are not only cost effective but also efficient. Businesses pay for services as per their utilization and it [...]]]></description>
			<content:encoded><![CDATA[<p>Internet is moving to the next level through the usage and deployment of cloud based computing. Businesses are more interested in offering efficient systems to handle all aspects of their business including customer servicing. <a href="http://news.microsoft.ca/press_releases_business/archive/2011/06/28/lack-of-uptake-of-cloud-technology-leads-canadian-businesses-to-risk-chance-at-growth.aspx">Cloud based technologies</a> are not only cost effective but also efficient. Businesses pay for services as per their utilization and it is like pay as you go scheme. It is possible to scale up and scale down their utilization of services by themselves and not depending on the service provider as was the case with traditional system. Cloud based technologies are highly successful with Amazon and Google.</p>
<p align="center"><img class="size-full wp-image-14766 aligncenter" title="Cloud Computing" src="http://blogs.vinuthomas.com/wp-content/uploads/2012/01/Cloud-Computing.jpg" alt="" width="400" height="300" /></p>
<p>Let us find how these skills have created demand for employment globally.</p>
<p>The <a href="http://cloudcomputing.sys-con.com/node/999755">demand for cloud computing</a> is growing at the rate of 61% annually. In many instances the job offer placed on various online sourcing platforms has to be extended beyond 44 days which is the average display time for any job. Cloud based technologies will move businesses to the next level. Hence deployment of cloud based technologies and personnel to look after to deal with cloud based technologies are need of the hour. There are companies like HP that have <a href="http://www8.hp.com/us/en/business-solutions/solution.html?compURI=1079449">launched courses to train up candidates</a> to fill this gap. It is also important to engage competent personnel so that the services will not be disturbed for businesses.</p>
<p>For businesses, <a href="http://www.wifinotes.com/other-technology-articles/cloud-computing-benefits.htmlhttp:/www.wifinotes.com/other-technology-articles/cloud-computing-benefits.html">cloud computing will cut down their expenditure</a> and for users it will simplify their lives. The beauty of cloud computing is its offer to utilize services as and when required and in the amounts a business can utilize. Thus, for a business it is an attractive choice. As a matter of fact, cloud is a set of hardware, software, services, storage and interfaces. This total set offers integrated services to your enterprise virtually located somewhere and running on round the clock basis. Small businesses can cut down their cost as they cannot afford to manage dedicated infrastructure and man power to achieve a very high level of service that can be offered on round the clock basis.</p>
<p>Growing and big businesses also can manage these services offered by third parties by involving a team of professionals who will look after the deployment and management of cloud computing services. Businesses can save substantially as they can pay only to the volume of services they are utilizing and not on a fixed basis. The companies that are providing cloud based services should gain the trust of potential clients by being able to address various security and privacy issues.</p>
<p>As more and more awareness is created about cloud computing among the business community, the <a href="http://www.infoworld.com/d/cloud-computing/demand-cloud-jobs-now-stratospheric-183664">demand raised high for people possessed</a> with these skills. It is apparent that there is a huge gap between the available number of cloud based positions and the competent personnel available in the market. The recent boom in this direction has added fuel to the fire. Recruitment of candidates for Cloud computing is a complex task as the requirements change from one business to another business and from one location to another location.</p>
<p>The skills are expected not only from IT experts but also from professionals from other domains such as customer support, sales and marketing. In fact, the demand for candidates possessing cloud computing skills is more from other than IT domain. In spite of all around efforts to recruit through various online and offline sources, the gap may still widen as the requirement of professionals is increasing at 70% every year. As an alternative, companies may come up to the point of recruiting and training them up as per their requirements.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2012/01/23/unusual-demand-for-cloud-computing-skills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hackers’ Serious Efforts to Run Parallel Internet</title>
		<link>http://blogs.vinuthomas.com/2012/01/17/hackers-serious-efforts-to-run-parallel-internet/</link>
		<comments>http://blogs.vinuthomas.com/2012/01/17/hackers-serious-efforts-to-run-parallel-internet/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:09:29 +0000</pubDate>
		<dc:creator>Deeptaman Mukherjee</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Internet Security]]></category>
		<category><![CDATA[Online Privacy]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14739</guid>
		<description><![CDATA[Ever since serious efforts are made to bring new legislation, Stop Online Piracy Act (SOPA) there are mixed reactions across the tech community. Many feel that it will curb online freedom. As a matter of fact, freedom of speech, expression and thought are guaranteed by constitutions of majority of governments in the world. SOPA which [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since serious efforts are made to bring <a href="http://helpmyseo.com/web-talk/609-understanding-sopa-and-what-you-should-do.html">new legislation</a>, <strong>Stop Online Piracy Act</strong> (SOPA) there are mixed reactions across the tech community. Many feel that it will curb online freedom. As a matter of fact, freedom of speech, expression and thought are guaranteed by constitutions of majority of governments in the world. SOPA which is going to be enacted in United States is likely to get a strong resentment in the hackers’ world. We can understand hackers’ concern better by knowing more about them.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-14750" title="Anonymous Internet" src="http://blogs.vinuthomas.com/wp-content/uploads/2012/01/Anonymous-Internet.jpg" alt="" width="425" height="282" /></p>
<p><a href="http://www.itproportal.com/2011/07/07/hacking-group-anonymous-going-politics/">Hackers are tech savvy people</a> of highest degree. They know the ways and means to deploy new technologies and tinker with existing technologies. Therefore these are highly knowledgeable people who are not exposed to the society as happens with technology experts working in major software development companies or authorities who decide the modalities to work with various technologies. There are two types of hackers. They are ethical and non-ethical. Ethical hackers will not intrude into the private space of individuals or companies. They will not try to steal other’s information or control and monitor your activities in computer or network.</p>
<p>Ethical hackers contribute to the society in developing protection software such as anti-virus, anti-spam, etc. They have all the technology in their hands to run a parallel network much in the lines of internet. Non-ethical hackers work against the interests of public and they are involved in to fraudulent activities. It is similar to physical encroachment of private space of others or stealing. In fact, they are a menace to society. <a href="http://www.infosectoday.com/Articles/Intro_Computer_Ethics.htm">SOPA will be detrimental to the activities of both ethical and non-ethical hackers</a>. Hence, hackers’ world has serious plans to run their own networks. In this connection, they are planning to go to the extent of launching their own satellites. One of the options explored by hackers is to launch satellites through balloons into earth’s low altitudes. Aviation experts rule out the possibility of achieving the launching effect without using a rocket which gives the main thrust for the body to be injected into earth’s object so that it will continue to rotate in the designated orbit.</p>
<p>There is <a href="http://www.theverge.com/2011/12/16/2641290/stop-online-piracy-act-committee-vote-delayed-as-controversy-mounts">widespread criticism on SOPA</a> not only among hackers but also among the interest user communities. For the most, SOPA seems to be influenced and reflected by film producing industry’s lobbyists. The measures that are going to be introduced are more to protect the interests of recording companies. There are number of acts to safeguard the copyrights of audio and video recordings. In fact, they can strengthen those acts if they are any loopholes or practical difficulties in their implementation as per the change in technologies in usage and distribution of recordings.</p>
<p><a href="http://www.reddit.com/r/politics/comments/nuzt9/sopa_the_real_boycott_to_stop_it_dead/.rss">SOPA should not limit the fundamental rights of citizens</a> i.e., freedom in every sphere. Those who are involved in producing the draft and implementation should have the fresh blood of internet and changing technologies so that the act will include and protect the interests of millions of people across the globe. If not, those who want freedom to the maximum potential extent may explore alternative ways making them go to the extent of launching their own satellites, protocols and standards and be able continue to enjoy their freedom in a different way.</p>
<p>What are your thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2012/01/17/hackers-serious-efforts-to-run-parallel-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Does Apple’s iCloud Rely on Amazon and Microsoft?</title>
		<link>http://blogs.vinuthomas.com/2012/01/09/does-apples-icloud-rely-on-amazon-and-microsoft/</link>
		<comments>http://blogs.vinuthomas.com/2012/01/09/does-apples-icloud-rely-on-amazon-and-microsoft/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 06:28:55 +0000</pubDate>
		<dc:creator>Deeptaman Mukherjee</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iCloud]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Service Launch]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14731</guid>
		<description><![CDATA[When Apple announced its cloud service &#8211; iCloud, the service expected from people like me apart from the music service included synchronizing email, photos, contacts, files and videos from multiple devices. With the beta version released this August, it was found with the traffic patterns obtained thatiCloud runs on Microsoft&#8217;s Azure and Amazon&#8217;s Elastic Cloud. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2012/01/icloud.png" rel="lightbox[14731]"><img src="http://blogs.vinuthomas.com/wp-content/uploads/2012/01/icloud.png" alt="" title="icloud" width="256" height="294" class="alignright size-full wp-image-14734" /></a>When <a href="http://www.techflash.com/seattle/2011/05/apple-announces-icloud.html">Apple announced its cloud service</a> &#8211; <strong>iCloud</strong>, the service expected from people like me apart from the music service included synchronizing email, photos, contacts, files and videos from multiple devices. With the beta version released this August, it was found with the traffic patterns obtained thatiCloud runs on <a href="http://www.informationweek.com/news/windows/microsoft_news/232301231">Microsoft&#8217;s Azure</a> and <a href="http://aws.amazon.com/ec2/">Amazon&#8217;s Elastic Cloud</a>.</p>
<p>UK newspaper, <a href="http://www.theregister.co.uk/2011/09/02/icloud_runs_on_microsoft_azure_and_amazon/">The Register</a> sources close to Microsoft, this week confirmed the rumors that circulated during the month of June where customer&#8217;s data were being striped between the pair. By the process of striping, the data accessing speed is increased and there is no need to rely on a single device or service. Sources say, that, in order to reduce the risk of depending on one single supplier, Apple has selected two providers since it already suffered from unpleasant online services from a single external service provider. It has to be noted that the level of maturity and services differ a lot when a comparison is done between Amazon and Microsoft.</p>
<p>A cost of approximately $1 billion would be required to build the <a href="http://www.techflash.com/seattle/2011/09/apples-icloud-runs-on-amazon-azure-cloud.html">infrastructure of cloud services</a>. At present, Apple doesn&#8217;t have a bunch of high speed and high density servers. However, with a massive data center under construction in North Carolina, that is worth $500 million, a part of the cloud service could be taken over here. Still it surprises me, why Amazon and Microsoft are apparently mum on this subject.</p>
<p>In the present scenario, Apple&#8217;s technology is not well suited for a cloud type system. It is flexibility and provisioning that separates &#8216;Cloud&#8217; from a just of bunch of servers. For instance, if you take a normal server host, you can get a server in a fairly short order, in case you need a bunch, you&#8217;ll have to wait for some time till the hardwares are ordered and you have to pay regardless of usage. With Amazon&#8217;s Elastic Cloud server is available in minutes and you have the option to pay more based on usage since idle resources don&#8217;t have to take up resources. Now, this is possible because it is all virtual.</p>
<p>They may even fix it since there was a time when they liked AIX or they may even build a data centre with someone else`s technology. This will take a lot of time and only Microsoft and Amazon are the big ones which can deliver it. So, this can be a reason for them to use Microsoft and Amazon.</p>
<p><a href="http://www.readwriteweb.com/cloud/2011/06/is-apple-icloud-powered-by-azure.php">Another possibility</a> is that using AWS and Azure, they can develop a CDN (content-delivery network) since it has already used Akamai and Limelight as CDN&#8217;s in the past. This allows developers to deliver high-bandwidth content more quickly and efficiently by placing delivery points closer to users; this will essentially speed up all sorts of data transfer that go through their CDN.</p>
<p>When Microsoft was questioned regarding this, they replied stating that they don’t reveal the customer details. But, when it comes to &#8216;Cloud&#8217; privacy is always in question. Sometimes, it baffles me where I think that since Apple runs on beta version currently and the service appears to only run in iMessage on Azure; is Apple still deciding its host platform?</p>
<p>Let us know, if you think differently.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2012/01/09/does-apples-icloud-rely-on-amazon-and-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinPHP Content &#8211; Win cool stuff with your Apps</title>
		<link>http://blogs.vinuthomas.com/2011/02/18/winphp-content-win-cool-stuff-with-your-apps/</link>
		<comments>http://blogs.vinuthomas.com/2011/02/18/winphp-content-win-cool-stuff-with-your-apps/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 07:45:10 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[contest]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14301</guid>
		<description><![CDATA[Here&#8217;s a contest for all PHP developers and enthusiasts in India. If you&#8217;ve got some cool apps written in PHP, all you need to do is make showcase it running on Windows and you can win some cool swag. The WinPHP contest details and how to enter is available at area91.in. Register right away and [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">
<p><span style="font-family: Verdana, Georgia, 'Times New Roman', Times, serif; line-height: 17px; color: #150500;"> </span></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; text-align: center; margin: 0px;"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2011/02/WinPHP-contest.png" rel="lightbox[14301]"><img class="size-full wp-image-14303  aligncenter" title="WinPHP contest" src="http://blogs.vinuthomas.com/wp-content/uploads/2011/02/WinPHP-contest.png" alt="" width="437" height="302" /></a></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">Here&#8217;s a contest for all PHP developers and enthusiasts in India. If you&#8217;ve got some cool apps written in PHP, all you need to do is make showcase it running on Windows and you can win some cool swag. The WinPHP contest details and how to enter is available at <a href="http://area91.in">area91.in</a>.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><a href="http://www.area91.in/registration.aspx?WT.mc_id=aff-c-in-loc--WINPHPEDM" target="_blank">Register right away</a> and take a look at the <a href="http://www.area91.in/guidelines.aspx?WT.mc_id=aff-c-in-loc--WINPHPEDM" target="_blank">Contest Guidelines</a> to chart out an action plan to walk away with some of the exciting gifts!! Check out the Get Started section for all the information you need, to help you with your project. It can’t get easier than this!!</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">Build an app – code from scratch / port an existing PHP app, or customize one of the <a href="http://www.microsoft.com/web/gallery/browse.aspx?WT.mc_id=aff-c-in-loc--winphpedm" target="_blank">free webapps</a>. Host it on Windows/IIS and that’s it.Win, if you are voted the best and walk away with the prize! A daily winner of the Download &amp; Win section will win a T-shirt! A weekly top rated submission, will win a <a title="Microsoft" href="http://www.techbangalore.com/tag/microsoft/">Microsoft</a> Arc Mouse. Each month, one solution will stand the chance to win a Windows <a title="Mobile" href="http://www.techbangalore.com/category/mobile/">Mobile</a>. Each month, one solution will stand the chance to win a Windows Mobile.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">Here’s the link to the contest page again – <a href="http://area91.in/" target="_blank">http://area91.in/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2011/02/18/winphp-content-win-cool-stuff-with-your-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Some Cool HTML5 Demos to check out.</title>
		<link>http://blogs.vinuthomas.com/2010/10/11/some-cool-html5-demos-to-check-out/</link>
		<comments>http://blogs.vinuthomas.com/2010/10/11/some-cool-html5-demos-to-check-out/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 14:00:23 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Canvas element]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14261</guid>
		<description><![CDATA[Here are some HTML5 experiments and tools which are amazing. If you want to view the actual demos in HTML5 glory, use Google Chrome or Safari. If you&#8217;re not yet using a HTML5 enabled browser, I&#8217;ve added videos which show you the demo of those sites as well. Link: HTML5 Audio and Canvas Experiments Link: [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some HTML5 experiments and tools which are amazing. If you want to view the actual demos in HTML5 glory, use Google Chrome or Safari. If you&#8217;re not yet using a HTML5 enabled browser, I&#8217;ve added videos which show you the demo of those sites as well. Link:</p>
<h2>HTML5 Audio and Canvas Experiments</h2>
<p>Link: <a href="http://9elements.com/io/projects/html5/canvas/">http://9elements.com/io/projects/html5/canvas/</a></p>
<p>Can&#8217;t say much &#8211; other than Awesome! Move your mouse around and click around to get tweets on HTML5.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/00bTqPr2CFM?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/00bTqPr2CFM?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Harmony Drawing Tool</h2>
<p>Link: <a href="http://mrdoob.com/projects/harmony/">http://mrdoob.com/projects/harmony/</a><br />
An online sketcher which uses HTML5 and canvas to provide a procedural drawing tool. Works great and people with artistic tendencies can do quite a bit with this.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/To1A-EPz79w?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/To1A-EPz79w?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Audio Visualization using HTML5</h2>
<p><a href="http://www.storiesinflight.com/jsfft/visualizer/">http://www.storiesinflight.com/jsfft/visualizer/</a><br />
This demo visualized an audio track using the HTML5 canvas tag and uses the audio tag  to play the music. You&#8217;ve got to view the actual HTML5 demo of this.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LrZ4S4BNv08?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/LrZ4S4BNv08?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>JaVortex</h2>
<p>Link: <a href="http://url3.tk/?p=nbody">http://url3.tk/?p=nbody</a><br />
A Gravitational Attraction Particle Engine n-body simulator in Javascript and uses HTML5 canvas. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/E9jZbzsT5t8?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/E9jZbzsT5t8?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object> <strong></strong></p>
<h2>3D Model Viewer</h2>
<p>Link: <a href="http://www.giuseppesicari.it/progetti/javascript-3d-model-viewer/">http://www.giuseppesicari.it/progetti/javascript-3d-model-viewer/</a></p>
<p>A 3D model Viewer using Javascript and HTML5. The demo lets you interact and turn around the model in 3D space.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/4H7lWkCtMwU?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/4H7lWkCtMwU?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>If you know of any other cool HTML5 demos, let me know by commenting below.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=751e1eb3-b21d-4127-9cee-d7c3c5a61bd7" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/10/11/some-cool-html5-demos-to-check-out/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Form Magic in HTML5</title>
		<link>http://blogs.vinuthomas.com/2010/09/07/form-magic-in-html5-fields/</link>
		<comments>http://blogs.vinuthomas.com/2010/09/07/form-magic-in-html5-fields/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 08:22:00 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=14198</guid>
		<description><![CDATA[Forms are one area in HTML 5 which has got a major overhaul. Some of the tasks which required a fair bit of Javascript to achieve in HTML4 become relatively easier tasks in HTML5. Be warned that since HTML5 is still not finalized, browser implementation of some of the features may take a while to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Web-Forms-HTML.jpg" rel="lightbox[14198]"><img class="size-medium wp-image-14227 alignright" style="margin-left: 5px; margin-right: 1px;" title="Web Forms HTML" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Web-Forms-HTML-300x199.jpg" alt="" width="240" height="159" /></a>Forms are one area in HTML 5 which has got a major overhaul. Some of the tasks which required a fair bit of Javascript to achieve in HTML4 become relatively easier tasks in HTML5. Be warned that since HTML5 is still not finalized, browser implementation of some of the features may take a while to get there. To see some of the new stuff in action try using a browser like the latest version Google Chrome, Safari, Opera or Firefox. Quite a few mobile browsers, especially those based on Webkit, are also HTML5 enabled.</p>
<h2><strong>Lots more Input Types</strong></h2>
<p>HTML5 brings a lot more input types into form elements to give a richer user experience, of which some are text, url, telephone, email, range, color, date &amp; time pickers. Some of these are helpful in the new validation feature, which I&#8217;ll go into detail in the next article in this series, and also improve usability on mobile devices. For example when an input field is marked as telephone in a form, when a mobile user selects that field for input, automatically he is shown a number pad to enter the text. The users also may get different keyboard layouts for the email and URL types of input fields as well.</p>
<h3><strong>Range</strong></h3>
<p><img title="Range field" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Range-Rendered-in-google-Chrome.png" alt="" width="139" height="30" /></p>
<p>You can have the user select a value using a slider with the range input type. The image above shows how this renders in Google Chrome. The actual rendering of this may differ from browser to browser. The attributes of this input type are pretty self explanatory.</p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;range&quot; min=10 max=60 step=3 value=15&gt;</pre>
<h3>Date and Time</h3>
<p>HTML5 also provides date and time pickers. Opera implements this feature well. Here&#8217;s how Opera renders the a datetime picker</p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;datetime&quot; &gt;</pre>
<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/DateTime-rendered-in-Opera.png" rel="lightbox[14198]"><img class="alignnone size-full wp-image-14214" title="DateTime rendered in Opera" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/DateTime-rendered-in-Opera.png" alt="" width="261" height="203" /></a></p>
<p>You can also configure this selection field to just show a date picker, month &amp; year, week or just time. Here are the different options:</p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;date&quot;&gt;
&lt;input type=&quot;month&quot;&gt;
&lt;input type=&quot;week&quot;&gt;
&lt;input type=&quot;time&quot;&gt;</pre>
<h3>Spin those Numbers</h3>
<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Number-Spinner.png" rel="lightbox[14198]"><img class="alignnone size-full wp-image-14215" title="Number Spinner" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Number-Spinner.png" alt="" width="121" height="35" /></a></p>
<p>You can use the number input type as a form field and convert a text box into a spinner, which the user can use to input data by just using the spinner. You can specify the minimum, maximum, step and the default value for this input type.</p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;number&quot; min=&quot;0&quot; max=&quot;100&quot; step=&quot;5&quot; value=&quot;15&quot;&gt;</pre>
<h2>New Attributes for Form Fields</h2>
<p>Apart from input types, HTML5 also provides additional attributes for existing input fields. Here are some of the new and interesting attributes for form fields:</p>
<h3><strong>Place Holder</strong></h3>
<p><img src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/PlaceHolder.png" alt="" width="242" height="28" /></p>
<p>This is something we all have used Javascript so far to implement in forms. To have a text explaning the input box appear and dissapear when the user selects it to start typing. You can now achieve this by adding an attribute called placeholder into the input tag.</p>
<pre class="brush: xml; title: ; notranslate">&lt;label&gt;Username &lt;input name=&quot;uname&quot; type=&quot;text&quot;
         placeholder=&quot;Enter your Username&quot;&gt; &lt;/label&gt;</pre>
<h3><strong>Focus &amp; Autofocus</strong></h3>
<p>No javascript required here &#8211; If you want to focus on a particular form field in HTML5 just add the attribute <em>autofocus</em> to that input field:</p>
<pre class="brush: xml; title: ; notranslate">&lt;label&gt;Username:
&lt;input name=&quot;uname&quot;  type=&quot;text&quot; autofocus&gt;
&lt;/label&gt;</pre>
<p>Remember that using autofocus along with placeholder may not work well, since the placeholder text dissapears when the focus is on that field</p>
<p><strong>Tip:</strong> Even though not purely HTML5, wrapping the label and input field in the &lt;label&gt; tag allows the user to even click on the label text to focus on field. If you can&#8217;t enclose the input field within the label tag, you can also use the for attribute pointing to the input&#8217;s id you had defined like so</p>
<pre class="brush: xml; title: ; notranslate">&lt;label for=&quot;usernamefield&quot;&gt;Your Name&lt;/label&gt;
&lt;input name=&quot;uname&quot; id=&quot;usernamefield&quot;&gt;</pre>
<h3><strong>DataList</strong></h3>
<p><strong><img style="vertical-align: middle;" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Datalist.png" alt="Datalist Dropdown" width="377" height="84" /><br />
</strong></p>
<p>How about about a Google Suggest like function without Javascript like the one above? (Try this in Opera) -</p>
<pre class="brush: xml; title: ; notranslate">&lt;label&gt; Select Site:
&lt;input name=&quot;site&quot; id=&quot;site&quot; type=&quot;url&quot; list=&quot;site_list&quot; &gt;
&lt;datalist id=&quot;site_list&quot;&gt;
&lt;option value=&quot;http://blogs.vinuthomas.com&quot; label=&quot;VT's Tech Blog&quot;&gt;
&lt;option value=&quot;http://www.mynokiaworld.com&quot; label=&quot;My Nokia World&quot;&gt;
&lt;option value=&quot;http://myandroidworld.in&quot; label=&quot;My Android World&quot;&gt;
&lt;/datalist&gt; &lt;/label&gt;</pre>
<h3><strong>Multiple Selection</strong></h3>
<p>This attribute allows the input field to select multiple items from a datalist or in the example below, a file list. HTML4 allowed only one file to be selected using the file input type, here&#8217;s how to enable multiple files in HTML5</p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;file&quot; name=&quot;uploadfiles&quot; multiple=&quot;multiple&quot; /&gt;</pre>
<h2><strong>Progress and Meter tags </strong></h2>
<p>HTML5 brings two ways to show progress or percentage bars without  any  external javascript or server-side library. You can use the  progress  tag with the maximum value in the <em>max</em> attribute and the current value in the<em> value</em> attribute</p>
<pre class="brush: xml; title: ; notranslate">&lt;progress id=&quot;prog&quot; max=100 value=33&gt;33%&lt;/progress&gt;</pre>
<p>In Google Chrome, this renders as:</p>
<p><img src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Progress-rendered-in-Chrome.png" alt="" width="181" height="36" /></p>
<p>You can also achieve something similar to this using the meter tag:</p>
<pre class="brush: xml; title: ; notranslate">&lt;meter min=0 max=100 value=22 optimum=100&gt;22&lt;/meter&gt;</pre>
<p>This shows up like this on Google Chrome:</p>
<p><img src="http://blogs.vinuthomas.com/wp-content/uploads/2010/09/Meter-rendered-on-Google-Chrome.png" alt="Meter as renederd on Google Chrome" width="98" height="27" /></p>
<p>Here  you can play around with the optimum attribute which changes the   rendering a bit. If you set the optimum to be equal to the max value,   if the you try rendering anything less than the max, the filled up   portion of the bar is colored yellow instead of the usual green.</p>
<p>If you&#8217;ve tried the above examples in various browsers, you&#8217;ll have noticed that none of them currently implement all of these perfectly. But with the HTML5 draft nearing finalization and various browser developers working on implementing the new features, we should soon see easier web-development cycle. I just hope we don&#8217;t have to go through the old-style hacks to get these working like in the old days.</p>
<p>Look out for the next in the HTML5 series where you can learn about form validation on the browser without writing javascript.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/09/07/form-magic-in-html5-fields/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 in brief &#8211; Getting Started</title>
		<link>http://blogs.vinuthomas.com/2010/07/13/html5-in-brief-getting-started/</link>
		<comments>http://blogs.vinuthomas.com/2010/07/13/html5-in-brief-getting-started/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 10:02:38 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=7791</guid>
		<description><![CDATA[If you&#8217;ve been hearing about the buzz about HTML5 and what it is &#8211; here&#8217;s a brief post and ways to get to know HTML5 better. HTML5 is the latest version which newer HTML and XHTML documents should confirm with. This version of HTML aims at simplifying and overcome issues with the older HTML4 presented. The first [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_7818" class="wp-caption alignright" style="width: 310px"><a href="http://commons.wikimedia.org/wiki/File:Html5-source-code.png" rel="lightbox[7791]"><img class="size-full wp-image-7818 " title="HTML5 source code" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/07/Html5-source-code.png" alt="" width="300" height="140" /></a><p class="wp-caption-text">HTML5 source code</p></div>
<p>If you&#8217;ve been hearing about the buzz about <a href="http://dev.w3.org/html5/spec/Overview.html">HTML5</a> and what it is &#8211; here&#8217;s a brief post and ways to get to know HTML5 better.</p>
<p>HTML5 is the latest version which newer HTML and XHTML documents should confirm with. This version of HTML aims at simplifying and overcome issues with the older HTML4 presented.</p>
<p>The first thing you&#8217;ll notice in HTML5 is that the HTML declaration itself is simplified. To declare a HTML document, all you need to do is to declare the document in this way:</p>
<pre class="brush: xml; title: ; notranslate">&lt; !DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;title&gt;Sample HTML5 Document&lt;/title&gt;
&lt;/meta&gt;&lt;/head&gt;
&lt;body&gt;
This is my first HTML5 document
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>You&#8217;ll notice that the standard DOCTYPE declaration which is required in HTML4 is missing here. This is the first in many simplifications which eases up development in HTML5.</p>
<p>There&#8217;s simplifications on other tags also. For example HTML5 features a &lt;video&gt; tag which makes it easy to embed videos in your page, without any third party plugins, as simple as this:</p>
<pre class="brush: xml; title: ; notranslate"> &lt;video src=&quot;mymovie.webm&quot; controls&gt;
If you are seeing this, your browser may not be fully HTML5 compliant.
&lt;/video&gt; </pre>
<p>There&#8217;s still debate about what the default format for HTML5 videos should be, Google in the meanwhile has introduced the WebM format which royalty-free high quality video compression codec for use on the web. This format has eventually gotten the support of Mozilla, Apple, Opera and Google. The newer nightly builds of Firefox and Chrome support this format.</p>
<p>If you are looking at exploring the differences between HTML4 and HTML5, this links should be of help &#8211; <a href="http://dev.w3.org/html5/html4-differences/">HTML5 differences from HTML4</a>. Another very useful site for developers who are new to HTML5 is <a href="http://diveintohtml5.org/">Dive into HTML5</a>. The author of this site explains the basics of HTML5, what&#8217;s new with it and how to do stuff with it in a simple way.</p>
<p>To get you started on HTML5, here&#8217;s a screencast by Addy Osmani which takes you through the basics in under 5 minutes.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="345" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="i=86456" /><param name="allowFullScreen" value="true" /><param name="src" value="http://screenr.com/Content/assets/screenr_1116090935.swf" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="345" src="http://screenr.com/Content/assets/screenr_1116090935.swf" allowfullscreen="true" flashvars="i=86456"></embed></object></p>
<p>Even though the HTML5 specs are still evolving, and browser support for the new features may time sometime to stabilize, the power of HTML5 is the way to go. The first uses of HTML5 is going to be what is powering the mobile web, since most Smartphones these days are running Webkit browsers which are HTML5 compliant.</p>
<p>I&#8217;ll be taking a deeper look into HTML5 in the future posts, so look in the <a href="http://blogs.vinuthomas.com/category/programming/html5/">HTML5 section here</a> for updates. Here are the links from this article for your reference:</p>
<ul>
<li><a href="http://dev.w3.org/html5/spec/Overview.html">HTML5 Specification</a></li>
<li><a href="http://dev.w3.org/html5/html4-differences/">HTML5 &#8211;  differences from HTML4</a></li>
<li><a href="http://diveintohtml5.org/">Dive into HTML5 &#8211; a Guide to development on HTML5</a></li>
<li><a href="http://html5.validator.nu/">HTML 5 Validator</a></li>
</ul>
<p>Image credit &#8211; <a href="http://commons.wikimedia.org/wiki/File:Html5-source-code.png" rel="lightbox[7791]">via Wikipedia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/07/13/html5-in-brief-getting-started/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mysqlind_qc: Client Side Caching for MySQL extensions for PHP</title>
		<link>http://blogs.vinuthomas.com/2010/06/29/mysqlind_qc-client-side-caching-for-mysql-extensions-for-php/</link>
		<comments>http://blogs.vinuthomas.com/2010/06/29/mysqlind_qc-client-side-caching-for-mysql-extensions-for-php/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 07:50:02 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4954</guid>
		<description><![CDATA[Here's something in the making, a PHP extension which caches MySQL queries irrespective of the extension being used. It's a plugin for mysqlind, the native MySQL driver for PHP called  mysqlind_qc. This currently requires PHP 5.3.3-dev which is still in development.]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/06/mysql_logo.png" rel="lightbox[4954]"><img class="size-full wp-image-542 alignright" title="MySQL " src="http://blogs.vinuthomas.com/wp-content/uploads/2010/06/mysql_logo.png" alt="" width="200" height="103" /></a></p>
<p>Here&#8217;s something in the making, a PHP extension which caches MySQL queries irrespective of the extension being used. It&#8217;s a plugin for <a href="http://dev.mysql.com/downloads/connector/php-mysqlnd/">mysqlnd</a>, the native MySQL driver for PHP called  mysqlnd_qc. This currently requires PHP 5.3.3-dev which is still in development.</p>
<p>The extension allows caching buffered queries through mysql_query and mysqli_query. It allows cache-invalidation though TTL or a user defined callback. This extension is still in the protoype stage right now and will evolve as the project progresses.</p>
<p>The Query Cache is implemented as a PHP extension. It is written in C and operates &#8220;under the hood&#8221; of PHP. During the start up of the PHP interpreter it gets registered as a mysqlnd plugin to replaces selected mysqlnd methods.</p>
<blockquote><p>At PHP run time it proxies queries send from mysqlnd/PHP to the MySQL server. If a query string starts with the SQL hint (/*qc=on*/) to enable caching of it and the query is not cached (Cache miss), the query cache plugin will record the raw wire protocol data send from MySQL to PHP to answer the query. The query cache records the wire protocol data in its cache medium and replays it, if still valid, on a cache hit.</p>
<p>Note that the query cache does not hold decoded result sets consisting of zvals (C struct representing a PHP variable). It stores the raw wire data of the MySQL client server protocol. In case of a cache hits, mysqlnd still needs to decode the cached raw wire data into PHP variables before passing the result to the user space. This approach has one major advantage: simplicity.</p></blockquote>
<p>You can get more information and installation instructions over at the <a href="http://forge.mysql.com/wiki/MySQLnd_Query_Cache_Plugin_for_PHP">MySQLND Query Cache Project page at Mysql Forge</a>.</p>
<p>Check out this slide which gives you more information about this extension:</p>
<div id="__ss_4525028" style="width: 425px;"><strong><a title="Built-in query caching for all PHP MySQL extensions/APIs" href="http://www.slideshare.net/nixnutz/buildin-query-caching-for-all-php-mysql-extensionsapis">Built-in query caching for all PHP MySQL extensions/APIs</a></strong><object id="__sse4525028" 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=mysqlndquerycacheprototype-100617062420-phpapp01&amp;stripped_title=buildin-query-caching-for-all-php-mysql-extensionsapis" /><param name="name" value="__sse4525028" /><param name="allowfullscreen" value="true" /><embed id="__sse4525028" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqlndquerycacheprototype-100617062420-phpapp01&amp;stripped_title=buildin-query-caching-for-all-php-mysql-extensionsapis" name="__sse4525028" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/nixnutz">Ulf Wendel</a>.</div>
</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_c.png?x-id=97f0e5db-2fe9-4768-a02e-773c38987487" alt="Enhanced by Zemanta" /></a><span class="zem-script more-info 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/2010/06/29/mysqlind_qc-client-side-caching-for-mysql-extensions-for-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Ebook on the Zend Framework</title>
		<link>http://blogs.vinuthomas.com/2010/06/21/free-ebook-on-the-zend-framework/</link>
		<comments>http://blogs.vinuthomas.com/2010/06/21/free-ebook-on-the-zend-framework/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 08:02:28 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4929</guid>
		<description><![CDATA[Here&#8217;s a very good e-book on the Zend Framework called Zend Framework: Surviving The Deep End by Pádraic Brady. You can access this book from it&#8217;s site at www.survivethedeepend.com. It&#8217;s not yet available in print or download, but the author does mention that there&#8217;s a print book coming out in the near future. Here&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/06/zend_framework_logo.png" rel="lightbox[4929]"><img class="size-full wp-image-576 alignright" title="zend_framework_logo" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/06/zend_framework_logo.png" alt="" width="246" height="136" /></a>Here&#8217;s a very good e-book on the Zend Framework called Zend Framework: Surviving The Deep End by Pádraic Brady. You can access this book from it&#8217;s site at <a href="http://www.survivethedeepend.com/">www.survivethedeepend.com</a>. It&#8217;s not yet available in print or download, but the author does mention that there&#8217;s a print book coming out in the near future.<br />
Here&#8217;s a top level Table of contents of the subjects covered in this book:</p>
<dl>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/introduction">1.  Introduction</a></dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/the.architecture.of.zend.framework.applications">2.  The Architecture of Zend Framework Applications</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/the.model">3.  The Model</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/installing.the.zend.framework">4.  Installing The Zend Framework</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/a.not.so.simple.hello.world.tutorial">5.  A Not So Simple Hello World Tutorial</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/standardise.the.bootstrap.class.with.zend.application">6.  Standardise The Bootstrap Class With Zend_Application</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/handling.application.errors.gracefully">7.  Handling Application Errors Gracefully</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/developing.a.blogging.application">8.  Developing A Blogging Application</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/implementing.the.domain.model.entries.and.authors">9.  Implementing The Domain Model: Entries and Authors</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/setting.the.design.with.zend.view.zend.layout.html.5.and.yahoo.user.interface.library">10.  Setting The Design With Zend_View, Zend_Layout, HTML 5 and Yahoo!   User Interface Library</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/creating.a.local.domain.using.apache.virtual.hosts">A.  Creating A Local Domain Using Apache Virtual Hosts</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/performance.optimisation.for.zend.framework.applications">B.  Performance Optimisation For Zend Framework Applications</a> </dt>
<dt> <a href="http://www.survivethedeepend.com/zendframeworkbook/en/1.0/apc">C.  Copyright Information</a></dt>
<dt>
</dt>
<dt>
</dt>
<dt>If you&#8217;re already working on the Zend Framework, take a look at the section on Performance optimizations for apps built on the Zend Framework, which has some useful tips. </dt>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/06/21/free-ebook-on-the-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free online Security scanner &#8211; ZeroDayScan</title>
		<link>http://blogs.vinuthomas.com/2010/06/08/free-online-security-scanner-zerodayscan/</link>
		<comments>http://blogs.vinuthomas.com/2010/06/08/free-online-security-scanner-zerodayscan/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:30:31 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4198</guid>
		<description><![CDATA[ZeroDayScan in an online scanner which can scan your site for the following issues: Detects Cross Site Scripting attacks (XSS) Detects Hidden Directories and Backup Files Looks for Known Security Vulnerabilities Searches for SQL Injection Vulnerabilities Automatically detects zero day bugs Performs Website Fingerprinting Once the service finishes scanning your site for issues and vulnerabilities, [...]]]></description>
			<content:encoded><![CDATA[<p>ZeroDayScan in an online scanner which can scan your site for the following issues:</p>
<ul>
<li>Detects <a class="zem_slink freebase/en/cross-site_scripting" title="Cross-site scripting" rel="wikipedia" href="http://en.wikipedia.org/wiki/Cross-site_scripting">Cross Site Scripting</a> attacks (XSS)</li>
<li>Detects Hidden Directories and Backup Files</li>
<li>Looks for Known Security Vulnerabilities</li>
<li>Searches for <a class="zem_slink freebase/en/sql_injection" title="SQL injection" rel="wikipedia" href="http://en.wikipedia.org/wiki/SQL_injection">SQL Injection</a> Vulnerabilities</li>
<li>Automatically detects zero day bugs</li>
<li>Performs Website Fingerprinting</li>
</ul>
<p style="text-align: center"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/06/Zerodayscan-start.png" rel="lightbox[4198]"><img class="aligncenter" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/06/Zerodayscan-start.png" alt="" width="319" height="410" /></a></p>
<p>Once the service finishes scanning your site for issues and vulnerabilities, it emails you a PDF with what they found for your site.</p>
<p>In order to prevent sensitive security reports like this going out to others, ZeroDay scan asks you to add a text file with some security text to be added to your site. This ensures you can scan only sites which you have control over.</p>
<p>Check out this service at <a href="http://www.zerodayscan.com/">www.zerodayscan.com</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/c7ced6a5-be02-4052-9c73-ca1b8efd3fa8/"><img class="zemanta-pixie-img" style="border: medium none;float: right" src="http://img.zemanta.com/reblog_b.png?x-id=c7ced6a5-be02-4052-9c73-ca1b8efd3fa8" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-info pretty-attribution"></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/06/08/free-online-security-scanner-zerodayscan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create RESTful Webservices in minutes with FRAPI</title>
		<link>http://blogs.vinuthomas.com/2010/05/27/create-restful-webservices-in-minutes-with-frapi/</link>
		<comments>http://blogs.vinuthomas.com/2010/05/27/create-restful-webservices-in-minutes-with-frapi/#comments</comments>
		<pubDate>Thu, 27 May 2010 10:02:44 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PEAR]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4178</guid>
		<description><![CDATA[Planning on starting a project with REST webservices? You&#8217;ve gotta check out this new framework called FRAPI. This API framework built in PHP eases development of REST webservices, by allowing you to add actions, responses and even create users and assign API keys to them for accessing the services you create. Here&#8217;s a video showing [...]]]></description>
			<content:encoded><![CDATA[<p>Planning on starting a project with REST webservices? You&#8217;ve gotta check out this new framework called FRAPI. This API framework built in PHP eases development of REST webservices, by allowing you to add actions, responses and even create users and assign API keys to them for accessing the services you create. Here&#8217;s a video showing an overview of FRAPI and how simple it is to deploy and manage webservices.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/vJVQi7ZFSaQ&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/vJVQi7ZFSaQ&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This project is still quite new and <a href="http://wiki.github.com/frapi/frapi/">their documentation</a> is down to the bare minimum. They do have the required documentation for you you&#8217;ll need to get your hands dirty with FRAPI. First you&#8217;ll have to <a href="http://wiki.github.com/frapi/frapi/downloading-frapi">download the sources</a> and <a href="http://wiki.github.com/frapi/frapi/setting-up-frapi">set it up on</a> your own. One you&#8217;ve downloaded the files and setup the directory permissions, you&#8217;ll also have to make the <a href="http://wiki.github.com/frapi/frapi/running-on-apache">Apache Virtual host settings</a> to get FRAPI to start working.</p>
<p>FRAPI has the following requirements for it to run:</p>
<ul>
<li>PHP 5.2.2 or later</li>
<li>APC: Required for caching of actions, errors, etc.</li>
<li>HTTP: (http://pecl.php.net/pecl_http</li>
<li>PEAR: (http://pear.php.net)</li>
<li>PEAR::HTTP_Request2: This could be replaced by pecl_http however it is used in the bundled <a href="http://github.com/till/armchair">ArmChair</a> package which is used to access CouchDB (http://pear.php.net/HTTP_Request2)</li>
</ul>
<p>Some of the advantages I see after playing around with FRAPI is that it auto-generates the code skeleton for you to work on so you just have to go fill in the blanks to create your service. You also don&#8217;t have to worry about transfoming the your data into different formats, FRAPI supports JSON, XML, PHP, and plain text natively. This enables you to make your webservices cross-platform and even power mobile apps. You also don&#8217;t have to tweak around with code which handles http requests and responses while creating your webservices.</p>
<p>For more information on this project, head over to their site  <a href="http://getfrapi.com/">getfrapi.com</a> or their project page on <a href="http://github.com/frapi/frapi">github</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/628efc64-c484-4134-a602-29ae5d98f6ea/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_b.png?x-id=628efc64-c484-4134-a602-29ae5d98f6ea" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-info 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/2010/05/27/create-restful-webservices-in-minutes-with-frapi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Check your server load before you process</title>
		<link>http://blogs.vinuthomas.com/2010/05/18/check-your-server-load-before-you-process/</link>
		<comments>http://blogs.vinuthomas.com/2010/05/18/check-your-server-load-before-you-process/#comments</comments>
		<pubDate>Tue, 18 May 2010 12:30:36 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4142</guid>
		<description><![CDATA[Most of us just write applications to be deployed on a webserver without thinking about what to do when the server becomes overloaded. What happens in most cases is that the application would go trying to run itself on every request, and on a heavily loaded system, it just goes on the aggravate the problem, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/05/load.png" rel="lightbox[4142]"><img class="alignright size-medium wp-image-4162" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/05/load-300x198.png" alt="" width="300" height="198" /></a>Most of us just write applications to be deployed on a webserver without thinking about what to do when the server becomes overloaded. What happens in most cases is that the application would go trying to run itself on every request, and on a heavily loaded system, it just goes on the aggravate the problem, making increasing the load on the server, till finally the server becomes unreachable.</p>
<p>What if you could actually check the server load in your PHP application? Would you think about checking the server load before doing some heavy computational task or database accesses? There&#8217;s function in PHP which will allow you to check the load averages on a server.</p>
<p>The <a href="http://.php.net/manual/en/function.sys-getloadavg.php">sys_getloadavg()</a> in PHP gives you the <a href="http://en.wikipedia.org/wiki/Load_%28computing%29">load averages</a> for your server. You can use this to check the load on your server before processing a request.</p>
<pre class="brush: php; title: ; notranslate">
$serverload = sys_getloadavg();
print_r($serverload);
</pre>
<p>The code above gives the output:</p>
<pre class="brush: php; title: ; notranslate">Array
(
    [0] =&gt; 1.07
    [1] =&gt; 0.89
    [2] =&gt; 1
)
</pre>
<p>The output from the code shows the system load averages where [0] is the load averages for the past 1 minute, [1] is for the past 5 minutes and [2] is for the past 15 minutes.</p>
<p>On an ideal server, the load averages on the server shouldn&#8217;t go above 3. A load average of more than 15 would mean that the server is already running much lower than normal, and you may not want to add more load to this.</p>
<p>You can use this output to decide whether to serve a process intensive page depending on the server load. Here&#8217;s a pseudo-code on how you&#8217;d do something like this:</p>
<pre class="brush: php; title: ; notranslate">$serverload = sys_getloadavg();
if ($serverload[0]&lt;10)
  {
    // process loads of data now
    some_big_process();
  } else
     {   // Send a 503 header stating that the server is overloaded.
         header('HTTP/1.1 503 Too busy, try again later');
         die('The server is busy at present and cannot process your request.');
      }
</pre>
<p>You can also run the application in such a way that you can wait till the load on the server decreases to run your process. This is useful if you are running a cron for processing data:</p>
<pre class="brush: php; title: ; notranslate">set_time_limit(0);
//set time limit to 0, so PHP's max execution time doesn't interfere with the processing script
$serverload = sys_getloadavg();
//Check load and see if it's low enough to start processing
while ($serverload[0]&gt;5)
{  //Wait for 1 minute to check load again
    sleep(60);
}
// out of the loop - so let's do some processing now!
some_big_process();
</pre>
<p>To ensure that the script doesn&#8217;t run endlessly on a permanently overloaded server, time check in the while loop to auto-end the script it the server load remains high for a certain amount of time.</p>
<p><strong>More reading:</strong><br />
<a href="http://en.wikipedia.org/wiki/Load_%28computing%29">Load &amp; Load Averages on Wikipedia</a><br />
<a href="http://in3.php.net/manual/en/function.sys-getloadavg.php">PHP function &#8211; sys_getloadavg</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/1542a605-53f8-4411-b201-f1860ea0a54a/"><img alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/05/18/check-your-server-load-before-you-process/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bangalore PHP Meetup April &#8217;10</title>
		<link>http://blogs.vinuthomas.com/2010/04/16/bangalore-php-meetup-april-10/</link>
		<comments>http://blogs.vinuthomas.com/2010/04/16/bangalore-php-meetup-april-10/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:06:43 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[General Stuff]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4123</guid>
		<description><![CDATA[Just a quick heads up in case you missed out on the announcement. The Bangalore PHP Meetup&#8217;s happening this month on the 24th. For a change, I&#8217;m not involved much in the organization of this event. Indus Khaithan took care of the venue arragements and Harsha MV&#8217;s taken up co-ordinating with the potential speakers and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.meetup.com/Bangalore-PHP-Users/calendar/13135127/"><img class="alignright size-medium wp-image-4125" title="Meetup Logo" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/04/meetup_logo_1-300x222.png" alt="" width="240" height="178" /></a>Just a quick heads up in case you missed out on the announcement. The Bangalore PHP Meetup&#8217;s happening this month on the 24th. For a change, I&#8217;m not involved much in the organization of this event. <a href="http://khaitan.org/">Indus Khaithan</a> took care of the venue arragements and<a href="http://harshamv.com/"> Harsha MV&#8217;s</a> taken up co-ordinating with the potential speakers and finalizing the talk list. Thanks a ton guys for taking taking the initiative.</p>
<p>Harsha&#8217;s put up a tenative list of talks for this month&#8217;s event:</p>
<ul>
<li>Developing Facebook Application using PHP by Sriram Kumar</li>
<li>Job Queues by Abhinav Lal</li>
<li>Zend ACL Component - <a href="http://projects.binaryvibes.co.in/projects/show/bare" target="_blank">Bare_Acl</a> by Sudheer Satyanarayana</li>
</ul>
<p>Here&#8217;s the link to this month&#8217;s meetup event &#8211; <a href="http://www.meetup.com/Bangalore-PHP-Users/calendar/13135127/">www.meetup.com/Bangalore-PHP-Users/calendar/13135127</a>. We&#8217;ll keep that page updated with the latest details about the event. If you are planning on coming for this, join our Meetup group and RSVP &#8216;YES&#8217; to the event.</p>
<p>As always &#8211; Please forward that link to your friends who you think would be interested in our group as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/04/16/bangalore-php-meetup-april-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Skipfish a Web Application Security Scanner from Google</title>
		<link>http://blogs.vinuthomas.com/2010/03/22/skipfish-a-web-application-security-scanner-from-google/</link>
		<comments>http://blogs.vinuthomas.com/2010/03/22/skipfish-a-web-application-security-scanner-from-google/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 13:31:51 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=4065</guid>
		<description><![CDATA[Google has released a Web Application Security Scanner over at Google Code. This can be used to scan you site for possible security issues which might be lurking around. Skipfish prepares an interactive site-map for the targeted site by carrying out a recursive crawl and dictionary-based probes. This scanner is easy to setup on an [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/03/skipfish.png" rel="lightbox[4065]"><img class="size-medium wp-image-4066  aligncenter" title="Skipfish Running in Terminal Screenshot" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/03/skipfish-300x169.png" alt="" width="300" height="169" /></a></p>
<p>Google has released a Web Application Security Scanner over at <a href="http://code.google.com/p/skipfish/">Google Code</a>. This can be used to scan you site for possible security issues which might be lurking around. Skipfish prepares an interactive site-map for the targeted site by carrying out a recursive crawl and dictionary-based probes.</p>
<p>This scanner is easy to setup on an Ubuntu machine. You&#8217;ll need to have the packages for gcc and make installed on your system in order to compile Skipfish from it&#8217;s sources. Once you install these, download the Skipfish package from the <a href="http://code.google.com/p/skipfish/downloads/list">project download page</a>. Once you download it, unzip the files to a folder of it&#8217;s own and head over to that folder in your terminal window and issue a make command by just entering this in the terminal.</p>

<div class="wp_codebox"><table><tr id="p40653"><td class="code" id="p4065code3"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span></pre></td></tr></table></div>

<p>After the package compiles you can test to see if it was successful by issuing the following command in the terminal</p>

<div class="wp_codebox"><table><tr id="p40654"><td class="code" id="p4065code4"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>skipfish <span style="color: #660033;">-h</span></pre></td></tr></table></div>

<p>This should show you a the Skipfish help screen. If you don&#8217;t get that, check the make output to see if there were any errors during the compile process.</p>
<p>Once you get Skipfish compiled and ready on your system, head over to their <a href="http://code.google.com/p/skipfish/wiki/SkipfishDoc">documentation pages</a> to learn more on how to use this to tool to scan your site.</p>
<p>This tool creates a html report of the scan in the output directory you specify and the output looks like this:</p>
<p style="text-align: center;"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2010/03/skipfish-screen1.png" rel="lightbox[4065]"><img class="size-medium wp-image-4070" style="align: center;" title="Skipfish Results HTML Screenshot" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/03/skipfish-screen1-300x190.png" alt="" width="300" height="190" /></a></p>
<p>Skipfish has a highly optimized HTTP handling which allows you to achieve up to 2000 requests per second on servers which can take that load. It also doesn&#8217;t depend on the technology you use to host and build your web application.</p>
<p>If you&#8217;re interested in what types of scans are currently implemented on this tool, here&#8217;s what it supports (<a href="http://code.google.com/p/skipfish/wiki/SkipfishDoc">from their documentation page</a>):</p>
<ul>
<li>High risk flaws (potentially leading to system compromise):
<ul>
<li>Server-side SQL injection (including blind vectors, numerical parameters).</li>
<li>Explicit SQL-like syntax in GET or POST parameters.</li>
<li>Server-side shell command injection (including blind vectors).</li>
<li>Server-side XML / XPath injection (including blind vectors).</li>
<li>Format string vulnerabilities.</li>
<li>Integer overflow vulnerabilities.</li>
</ul>
</li>
</ul>
<ul>
<li>Medium risk flaws (potentially leading to data compromise)
<ul>
<li>Stored and reflected XSS vectors in document body (minimal JS XSS support present).</li>
<li>Stored and reflected XSS vectors via HTTP redirects.</li>
<li>Stored and reflected XSS vectors via HTTP header splitting.</li>
<li>Directory traversal (including constrained vectors).</li>
<li>Assorted file POIs (server-side sources, configs, etc).</li>
<li>Attacker-supplied script and CSS inclusion vectors (stored and reflected).</li>
<li>External untrusted script and CSS inclusion vectors.</li>
<li>Mixed content problems on script and CSS resources (optional).</li>
<li>Incorrect or missing MIME types on renderables.</li>
<li>Generic MIME types on renderables.</li>
<li>Incorrect or missing charsets on renderables.</li>
<li>Conflicting MIME / charset info on renderables.</li>
<li>Bad caching directives on cookie setting responses.</li>
</ul>
</li>
</ul>
<ul>
<li>Low risk issues (limited impact or low specificity):
<ul>
<li>Directory listing bypass vectors.</li>
<li>Redirection to attacker-supplied URLs (stored and reflected).</li>
<li>Attacker-supplied embedded content (stored and reflected).</li>
<li>External untrusted embedded content.</li>
<li>Mixed content on non-scriptable subresources (optional).</li>
<li>HTTP credentials in URLs.</li>
<li>Expired or not-yet-valid SSL certificates.</li>
<li>HTML forms with no XSRF protection.</li>
<li>Self-signed SSL certificates.</li>
<li>SSL certificate host name mismatches.</li>
<li>Bad caching directives on less sensitive content.</li>
</ul>
</li>
</ul>
<ul>
<li>Internal warnings:
<ul>
<li>Failed resource fetch attempts.</li>
<li>Exceeded crawl limits.</li>
<li>Failed 404 behavior checks.</li>
<li>IPS filtering detected.</li>
<li>Unexpected response variations.</li>
<li>Seemingly misclassified crawl nodes.</li>
</ul>
</li>
</ul>
<ul>
<li>Non-specific informational entries:
<ul>
<li>General SSL certificate information.</li>
<li>Significantly changing HTTP cookies.</li>
<li>Changing <tt>Server</tt>, <tt>Via</tt>, or <tt>X-...</tt> headers.</li>
<li>New 404 signatures.</li>
<li>Resources that cannot be accessed.</li>
<li>Resources requiring HTTP authentication.</li>
<li>Broken links.</li>
<li>Server errors.</li>
<li>All external links not classified otherwise (optional).</li>
<li>All external e-mails (optional).</li>
<li>All external URL redirectors (optional).</li>
<li>Links to unknown protocols.</li>
<li>Form fields that could not be autocompleted.</li>
<li>All HTML forms detected.</li>
<li>Password entry forms (for external brute-force).</li>
<li>Numerical file names (for external brute-force).</li>
<li>User-supplied links otherwise rendered on a page.</li>
<li>Incorrect or missing MIME type on less significant content.</li>
<li>Generic MIME type on less significant content.</li>
<li>Incorrect or missing charset on less significant content.</li>
<li>Conflicting MIME / charset information on less significant content.</li>
<li>OGNL-like parameter passing conventions.</li>
</ul>
</li>
</ul>
<p>You can get more information about Skipfish and download it from their <a href="http://code.google.com/p/skipfish/wiki/SkipfishDoc">project site on Google Code</a>.</p>
<p>Links:<br />
<a href="http://code.google.com/p/skipfish/">Skipfish Project on Google Code</a><br />
<a href="http://code.google.com/p/skipfish/wiki/SkipfishDoc">Skipfish Documentation</a><br />
<a href="http://code.google.com/p/skipfish/downloads/list">Skipfish Downloads</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2010/03/22/skipfish-a-web-application-security-scanner-from-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting Zend Webinars for January</title>
		<link>http://blogs.vinuthomas.com/2010/01/13/interesting-zend-webinars-for-january/</link>
		<comments>http://blogs.vinuthomas.com/2010/01/13/interesting-zend-webinars-for-january/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 12:39:30 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[General Stuff]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[webinars]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=3997</guid>
		<description><![CDATA[Here are some webinars from Zend which you may find interesting: Webinar &#8211; PHP Development Best Practices: The Untold Story of Geekville January 19, 2010 &#8211; 9:00 am PST &#8211; your computer via webex Have you ever wondered how you could advance your PHP development? Have you considered using an Integrated Development Environment (IDE), an [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-4000" title="Zend - The PHP company - Logo" src="http://blogs.vinuthomas.com/wp-content/uploads/2010/01/Zend_logo.png" alt="" width="215" height="102" />Here are some webinars from Zend which you may find interesting:</p>
<p><a href="http://www.zend.com/en/company/news/event/webinar-php-development-best-practices-the-untold-story-of-geekville"><strong>Webinar &#8211; PHP Development Best Practices: The Untold Story of Geekville </strong></a><br />
January 19, 2010 &#8211; 9:00 am PST &#8211; your computer via webex</p>
<p>Have you ever wondered how you could advance your PHP development? Have you considered using an Integrated Development Environment (IDE), an Issue Tracker or a Version Control tool, but were concerned about how complex it might be? Taking PHP development to the next level may be easier than you think.  Attend this webinar, hosted by Atlassian and Zend <a href="http://www.zend.com/en/company/news/event/webinar-php-development-best-practices-the-untold-story-of-geekville">More Information/Registration</a></p>
<p><a href="http://www.zend.com/en/company/news/event/webinar-troubleshooting-php-issues-best-and-worst-techniques"><strong>Webinar &#8211; Troubleshooting PHP Issues: Best (and Worst) Techniques</strong></a><br />
January 28, 2010 &#8211; 8:00 am PST &#8211; your computer via webex</p>
<p>Understanding what’s causing your PHP application to be slow or just break is often time-consuming, and almost always frustrating. Join this information-packed webinar, delivered by a senior Zend PHP consultant, to learn what techniques PHP professionals use for pinpointing PHP issues in development, testing and production. <a href="http://www.zend.com/en/company/news/event/webinar-troubleshooting-php-issues-best-and-worst-techniques">More Information/Registration</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/b6cac655-0975-4e40-bf3a-b5d96bd3bd2f/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_b.png?x-id=b6cac655-0975-4e40-bf3a-b5d96bd3bd2f" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-info 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/2010/01/13/interesting-zend-webinars-for-january/feed/</wfw:commentRss>
		<slash:comments>0</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 1/74 queries in 0.017 seconds using disk: basic
Object Caching 1217/1401 objects using disk: basic

Served from: blogs.vinuthomas.com @ 2012-02-07 20:40:28 -->
