<?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>Webburners &#187; Tips &amp; Tricks</title>
	<atom:link href="http://www.webburners.com/category/tip-tricks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webburners.com</link>
	<description>We Burn the web with our expertise</description>
	<lastBuildDate>Thu, 08 Apr 2010 12:53:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>how to remove ask.com from firefox or mozila</title>
		<link>http://www.webburners.com/2010/04/how-to-remove-ask-com-from-firefox-or-mozila/</link>
		<comments>http://www.webburners.com/2010/04/how-to-remove-ask-com-from-firefox-or-mozila/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:53:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[remove ask.com from your default search engine in mozila]]></category>

		<guid isPermaLink="false">http://www.webburners.com/2010/04/how-to-remove-ask-com-from-firefox-or-mozila/</guid>
		<description><![CDATA[Few Days back i do not how , but mistakenly i have installed the ask.com plugin for firefox browser and its work like a virus , its automatically become my browser default search engine , whenever i try to put something in url window and suppose the site does not exist , then it automatically [...]]]></description>
			<content:encoded><![CDATA[<p>Few Days back i do not how , but mistakenly i have installed the ask.com plugin for firefox browser and its work like a virus , its automatically become my browser default search engine , whenever i try to put something in url window and suppose the site does not exist , then it automatically goes to ask.com for that particular websearch , that really ridiculas . Ask.com database is purely out of date , nothing of really worth so i find one worthed trick &#8230; just read the below trick its really worked for me</p>
<p>Firefox</p>
<p>1. Open a new tab or window.<br />
2. Type “about:config” and hit enter, this brings up the all powerful settings of Firefox.<br />
3. Agree to the warning that you could mess things up<br />
4. Find keyword.url, you probably should not change anything else<br />
5. Double click and change keyword.url string to something else like http://www.google.com/search?q=<br />
6. Note that you cannot just put in the web site domain, you must put in the parameters before your search query. So find your favorite search engine, do a search and grab all the text up to your actual search results. So that a search for “test” in Google returns this, http://www.google.com/search?q=test, but all you need to input into the keyword.url field is http://www.google.com/search?q=</p>
<p>Finally, yes I know you can also manage default pages via the default settings under Tools > Options and also Manage Search Engines for the default search area, but those do not remove the default search if something is typed in wrong in the URL line. I mistype a lot or use the URL field to get the No. 1 listing automatically. I believe this is in the only way to stop ask.com and other search engines from becoming your default URL search choice. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2010/04/how-to-remove-ask-com-from-firefox-or-mozila/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Technique Used by Antivirus Programes</title>
		<link>http://www.webburners.com/2009/12/a-technique-used-by-antivirus-programes/</link>
		<comments>http://www.webburners.com/2009/12/a-technique-used-by-antivirus-programes/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 14:51:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=341</guid>
		<description><![CDATA[A Technique Used by Antivirus Programes
In past when a virus was released it was detected by antivirus experts after 15-30 days. Till then virus had done enough damage to millions of users like &#8220;I love you worm&#8221;. Then antivirus experts started using a new technology.
In this technology , when a certain files does specious activity [...]]]></description>
			<content:encoded><![CDATA[<p>A Technique Used by Antivirus Programes<br />
In past when a virus was released it was detected by antivirus experts after 15-30 days. Till then virus had done enough damage to millions of users like &#8220;I love you worm&#8221;. Then antivirus experts started using a new technology.</p>
<p>In this technology , when a certain files does specious activity in computer, Av program does not perform any action and keep eye on that file. Next, when you update your antivirus these files are send to security experts of antivirus that you are using. Some time you have to submit that files manually by selecting those specious files and then clicking &#8220;Submit&#8221; (An option in Antivirus Program). Malware analysts analyze the file, if it is a virus then they make it&#8217;s signatures. By this a virus is caught with in 3-4 days and less damage is done.</p>
<p>Antivirus Using these Technique:-<br />
May be some other antivirus vendors also use this technique but i know these.<br />
Eset Nod32 (Threat Sense Engine)<br />
Bitdefender 10<br />
Norton Antivirus 2009</p>
<p>So A bad new for malware writers but to counter this many malware writers try to delete and disable Antivirus programs. A simple example is &#8220;Avkiller.Trojan&#8221;. Let discuss little bit more about this Trojan.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Avkiller.Trojan is written in Delphi. It is usually UPX packed. The unpacked size is approximately 34 KB. It adds the value to start every time when PC Starts.</p>
<p>MSWindows C:\windows\spool16.exe</p>
<p>to the registry key</p>
<p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\</p>
<p>This Trojan horse also terminates antivirus programs and services; for example:<br />
Zonealarm.exe<br />
Zapro.exe<br />
Vsmon<br />
Minilog<br />
Minilog.exe<br />
Vsmon.exe<br />
Svw3<br />
Blackice<br />
Blackd.exe<br />
Blackice.exe<br />
Nisum<br />
Nisserv<br />
Nisum.exe<br />
Nisserv.exe<br />
Nmain.exe<br />
Iamapp.exe<br />
Iamserv.exe<br />
Frw.exe<br />
Persfw.exe<br />
Lockdown.exe<br />
Lockdown2000.exe<br />
Sphinx.exe<br />
Nprotect.exe<br />
Ndd32.exe<br />
Smc.exe<br />
Netutils.exe<br />
Ldnetmon.exe<br />
Portmonitor.exe<br />
Connectionmonitor.exe<br />
Cpd.exe<br />
Defwatch.exe<br />
Rtvscn95.exe<br />
Vpc32.exe<br />
Vptray.exe<br />
Poproxy.exe<br />
_Avp32.exe<br />
_Avpcc.exe<br />
_Avpm.exe<br />
Avpcc.exe<br />
Avpm.exe<br />
Avp.exe<br />
Nav Alert<br />
Nav Auto-Protect<br />
Navapw32.exe<br />
Alertsvc.exe<br />
Navapsvc.exe<br />
Navlu32.exe<br />
Navw32.exe<br />
Sweepnet<br />
Sweepsrv.Sys<br />
Swnetsup.exe<br />
Icload95.exe<br />
Icmon.exe<br />
Icsupp95.exe<br />
Icloadnt.exe<br />
Icsuppnt.exe<br />
Iface.exe<br />
Ants.exe<br />
Anti-Trojan.exe<br />
Wrctrl.exe<br />
Wradmin.exe<br />
Cleaner3.exe<br />
Cleaner.exe<br />
Tc.exe<br />
Tca.exe<br />
Tcm.exe<br />
Moolive.exe<br />
Mcshield<br />
Avsynmgr<br />
Mcshield.exe<br />
Vshwin32.exe<br />
Vsmain.exe<br />
Scan32.exe<br />
Scrscan.exe<br />
Alogserv.exe<br />
Vsecomr.exe<br />
Webscanx.exe<br />
Avconsol.exe<br />
Vsstat.exe<br />
Avxw.exe<br />
Avxmonitornt.exe<br />
Avxmonitor9x.exe<br />
Avxquar.exe.exe<br />
Amon9x.exe<br />
Avgserv<br />
Avgserv.exe<br />
Avgw.exe<br />
Avgcc32.exe<br />
Iomon98.exe<br />
Webtrap.exe<br />
Pccwin98.exe<br />
Pcciomon.exe<br />
Pop3trap.exe<br />
Tds-3.exe<br />
Ss3edit.exe<br />
Doors.exe<br />
Jedi.exe<br />
Monitor.exe<br />
Rav7win.exe<br />
Rav7.exe<br />
Sweep95.exe<br />
Mcagent.exe<br />
Mcupdate.exe<br />
Claw95.exe<br />
Claw95cf.exe<br />
Normist.exe<br />
Nvc95.exe<br />
Vet95.exe<br />
Vettray.exe<br />
Autodown.exe<br />
Rescue.exe<br />
Avkserv.exe<br />
Ackwin32.exe<br />
Dvp95.exe<br />
Dvp95_0.exe<br />
F-Agnt95.exe<br />
F-Prot95.exe<br />
Expert.exe<br />
Fp-Win.exe<br />
F-Stopw.exe<br />
Vir-Help.exe<br />
F-Prot.exe<br />
Spyxx.exe<br />
Atwatch.exe<br />
Atupdater.exe<br />
Atcon.exe<br />
Pview95.exe<br />
Wgfe95.exe<br />
Avgctrl.exe<br />
Ldpromenu.exe<br />
Ldscan.exe<br />
Generics.exe<br />
Processmonitor.exe<br />
Programauditor.exe<br />
Avsynmgr.exe<br />
Guard.exe<br />
Tfak.exe<br />
Luall.exe<br />
Lucomserver.exe<br />
Trjscan.exe<br />
Regrun2.exe<br />
Navapsvc<br />
Symproxysvc.exe<br />
Neowatchtray.exe<br />
Netstat.exe<br />
Regedit.exe<br />
Regedit95.exe<br />
egui.exe<br />
So always practice a good Anti-Virus program to keep your PC safe from malwares before your PC get infected.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/12/a-technique-used-by-antivirus-programes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft and the Linux  have joined forces</title>
		<link>http://www.webburners.com/2009/05/microsoft-and-the-linux-have-joined-forces/</link>
		<comments>http://www.webburners.com/2009/05/microsoft-and-the-linux-have-joined-forces/#comments</comments>
		<pubDate>Thu, 21 May 2009 02:58:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=333</guid>
		<description><![CDATA[


Microsoft and the Linux  have joined forces over proposed changes in the law regarding software contracts.
In a  joint letter (PDF) to the American Law Institute (ALI) the two organisations raise concerns over the draft Principles of the Law of Software Contracts that the ALI is working on.


The key issue is a guideline that would make [...]]]></description>
			<content:encoded><![CDATA[<p class="postMetaData"><a href="http://www.vnunet.com/"></a></p>
<div id="post">
<div class="content">
<p>Microsoft and the Linux  have joined forces over proposed c<img class="alignleft size-full wp-image-334" title="Linux and windows" src="http://www.webburners.com/wp-content/uploads/2009/05/linux_soapopera.jpg" alt="Linux and windows" width="416" height="304" />hanges in the law regarding software contracts.</p>
<p>In a  joint letter (PDF) to the American Law Institute (ALI) the two organisations raise concerns over the draft Principles of the Law of Software Contracts that the ALI is working on.</p></div>
<div class="detailMpu"><noscript></noscript></div>
<div class="content">
<p>The key issue is a guideline that would make the assumption that all software should be shipped with no defects, and that this should be considered a de facto warranty.</p>
<p>&#8220;The mere fact that the Linux Foundation and Microsoft are joining forces may be viewed by some as remarkable, given that our differences receive far more public attention than when our interests converge,&#8221; wrote Horacio Gutierrez, corporate vice president and deputy general counsel of intellectual property and licensing at Microsoft, in a company  blog</p>
<p>&#8220;But there is a wide range of issues that affect all software developers alike. Our industry is diverse and sometimes contentious, but if nothing else unites us it is that we all believe in the power of software.&#8221;</p>
<p>The two organisations have asked for more time to study the implications of the plan and to offer advice to the ALI.</p></div>
<div class="content">
<p>The ALI is a collection of the American legal establishment which draws up guidelines for judges that explain how the law should be applied in legal cases. The group is meeting this week to finalise the Principles of the Law of Software Contracts.</p>
<p>&#8220;The principles outlined by the ALI interfere with the natural operation of open source and commercial licences, as well by creating implied warranties that could result in a tremendous amount of unnecessary litigation, which would undermine the sharing of technology,&#8221; said Jim Zemlin, executive director of the Linux Foundation, in his blog.</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/05/microsoft-and-the-linux-have-joined-forces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips to how to talk to anyone specially for strangers</title>
		<link>http://www.webburners.com/2009/05/tips-to-how-to-talk-to-anyone-specially-for-strangers/</link>
		<comments>http://www.webburners.com/2009/05/tips-to-how-to-talk-to-anyone-specially-for-strangers/#comments</comments>
		<pubDate>Thu, 21 May 2009 02:07:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[how to talk to anyone]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=315</guid>
		<description><![CDATA[In this blog post I will try to share 5 tips on how to talk to anyone. If we observe the pattern closely, most of the successful person have been good talkers.
Starting a conversation :
Ever wondered why ? When you meet a person and all you could say to him/her was a simple “hi”. How [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-316" title="How to talk to anyone" src="http://www.webburners.com/wp-content/uploads/2009/05/1130-300x240.jpg" alt="How to talk to anyone" width="300" height="240" />In this blog post I will try to share 5 tips on<strong> how to talk to anyone</strong>. If we observe the pattern closely, most of the successful person have been good talkers.</p>
<p><strong>Starting a conversation :</strong></p>
<p>Ever wondered why ? When you meet a person and all you could say to him/her was a simple “hi”. How to take a conversation beyond that point can make all the difference. It requires one of the person involved to initiate the conversation. Most of the time, none of them initiate any conversation and just pass by. The best part of starting a conversation is you don’t need a reason to do it. You can just stop by and even comment on that person’s dress to start a conversation. Once the conversation starts, rest will automatically flow in and fall in place.</p>
<p>The point that I wanted to mention here is, don’t expect the other person to start a conversation. Do it yourself, and the next time you meet that person he/she will be the one to start it.</p>
<p><strong>Make them feel like you knew them forever :<br />
</strong></p>
<p>If you have observed some people, when they talk you feel as if you knew them forever. They come close to you very soon, and you find much comfortable talking with them. The reason is because, they talk that way. If you can be one, you can make lots of new friends and even strike many successful business deals. It all starts with your body language, don’t feel defensive when you meet a person for the first time. Feel relaxed, observe the way he talks to his friends.</p>
<p>If he is already in a conversation and you were just watching the proceeding of the conversation, interrupt the conversation by expressing your point of view. Try not to comment against that person, support him/her with your point of view. This will install immediate trust for you in there mind. The person will then add your point and try to continue the conversation and expecting you to support him/her more. Once that conversation is over, you can either greet each or conclude the same conversation in such a way that he/she is satisfied.</p>
<p><strong>Avoid sounding like a jerk :</strong></p>
<p><strong>Jerk</strong> is sarcastic, mean, unforgiving and never misses an opportunity to make a cutting remark. People don’t like jerk’s as they can be sometimes too straight forward. Don’t be cursing a person always, be good and talk about there positive aspects. If you talk bad about a person to him/her, she will think he talks the same to others about me. If you have a comment or have to make a remark, keep it with yourself. Not all comments are liked and not all situations needs a comment.</p>
<p><strong>Mind your phone manners :</strong></p>
<p>Having a control over <a title="Mind your manners" href="http://www.beautifulscraps.com/self-improvement/mind-your-manners/" target="_self">phone manners</a> is extremely important. A conversation on phone doesn’t mean you can talk what you want to. On a phone it becomes more important to talk carefully, because a person can’t see your body language. A simple joke can be misunderstood as a sarcastic comment.</p>
<p>Don’t carry the phone conversation for too long, Once a person gets used to talk to you phone he/she will prefer to talk to you on phone. The reason for this is, they will feel more comfortable talking to you on phone than in real life. Nothing beats a face to face conversation.</p>
<p><strong>Make them feel they are special to you :</strong></p>
<p>Every person is different , they think and converse differently. It is important to understand people as individuals and converse according to them. Having a pesonilized touch in your conversation will make them feel special individually in the group. This feeling is important to them, because it makes them understand there importance in the group.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/05/tips-to-how-to-talk-to-anyone-specially-for-strangers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax Upload using iframe</title>
		<link>http://www.webburners.com/2009/04/ajax-upload-using-iframe/</link>
		<comments>http://www.webburners.com/2009/04/ajax-upload-using-iframe/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 15:05:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Ajax Upload using iframe]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=291</guid>
		<description><![CDATA[
You need to create a form with file fields you wish to upload and define &#8220;onsubmit&#8221; event. Look at the example below how to do that.
Tested in IE5.5+, FF1.0+, OP 8.0+
Source code for index.html
&#60;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&#62;
&#60;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"&#62;
&#60;head&#62;
	&#60;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&#62;
	&#60;title&#62;Iframe Ajax&#60;/title&#62;
	&#60;script type="text/javascript" src="webtoolkit.aim.js"&#62;&#60;/script&#62;
	&#60;script type="text/javascript"&#62;
		function startCallback() {
			// make [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>You need to <a id="AdBriteInlineAd_create" style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: #006600; text-decoration: none; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_create" target="_top">create</a> a <a id="AdBriteInlineAd_form" style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: #006600; text-decoration: none; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_form" target="_top">form</a> with file fields you wish to upload and define &#8220;onsubmit&#8221; event. Look at the example below how to do that.</p>
<p>Tested in IE5.5+, FF1.0+, OP 8.0+</p></div>
<h2>Source code for index.html</h2>
<pre class="xml" style="font-family: monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE <a id="AdBriteInlineAd_html" style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: #006600; text-decoration: none; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_html" target="_top">html</a> PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">"http://www.w3.org/1999/xhtml"</span> <span style="color: #000066;">xml:lang</span>=<span style="color: #ff0000;">"en-US"</span> <span style="color: #000066;">lang</span>=<span style="color: #ff0000;">"en-US"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">"Content-Type"</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">"text/html; charset=UTF-8"</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Iframe Ajax<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"webtoolkit.aim.js"</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		function startCallback() {
			// make something useful before submit (onStart)
			return true;
		}

		function completeCallback(response) {
			// make something useful after (onComplete)
			document.getElementById('nr').innerHTML = parseInt(document.getElementById('nr').innerHTML) + 1;
			document.getElementById('r').innerHTML = response;
		}
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>

<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;<a id="AdBriteInlineAd_body" style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: #006600; text-decoration: none; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_body" target="_top">body</a><span style="color: #000000; font-weight: bold;">&gt;</span></span></span>

	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;form</span> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">"index.php"</span> <span style="color: #000066;">method</span>=<span style="color: #ff0000;">"post"</span> <span style="color: #000066;">onsubmit</span>=<span style="color: #ff0000;">"return AIM.submit(this, {'onStart' : startCallback, 'onComplete' : completeCallback})"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Name:<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"form[name]"</span> <span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>File:<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"file"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"form[file]"</span> <span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">"SUBMIT"</span> <span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/form<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>

	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;hr</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>

	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span># of submited forms: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"nr"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>last submit response (generated by form action - index.php file): <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pre</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"r"</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/pre<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>

<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>
<h2>Source code for webtoolkit.aim.js</h2>
<pre class="javascript" style="font-family: monospace;"><span style="color: #006600; font-style: italic;">/**
*
*  AJAX IFRAME METHOD (AIM)
*  http://www.webtoolkit.info/
*
**/</span>

AIM <span style="color: #339933;">=</span> <span style="color: #009900;">{</span>

	frame <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">(</span>c<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>

		<span style="color: #003366; font-weight: bold;">var</span> n <span style="color: #339933;">=</span> <span style="color: #3366cc;">'f'</span> <span style="color: #339933;">+</span> Math.<span style="color: #660066;">floor</span><span style="color: #009900;">(</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #339933;">*</span> <span style="color: #cc0000;">99999</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">(</span><span style="color: #3366cc;">'DIV'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		d.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366cc;">'&lt;iframe style="display:none" src="about:blank" id="'</span><span style="color: #339933;">+</span>n<span style="color: #339933;">+</span><span style="color: #3366cc;">'" name="'</span><span style="color: #339933;">+</span>n<span style="color: #339933;">+</span><span style="color: #3366cc;">'" onload="AIM.loaded(<span style="color: #000099; font-weight: bold;">\'</span>'</span><span style="color: #339933;">+</span>n<span style="color: #339933;">+</span><span style="color: #3366cc;">'<span style="color: #000099; font-weight: bold;">\'</span>)"&gt;&lt;/iframe&gt;'</span><span style="color: #339933;">;</span>
		document.<span style="color: #660066;">body</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">(</span>d<span style="color: #009900;">)</span><span style="color: #339933;">;</span>

		<span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">(</span>n<span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span>c <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">(</span>c.<span style="color: #660066;">onComplete</span><span style="color: #009900;">)</span> <span style="color: #339933;">==</span> <span style="color: #3366cc;">'function'</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
			i.<span style="color: #660066;">onComplete</span> <span style="color: #339933;">=</span> c.<span style="color: #660066;">onComplete</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span>

		<span style="color: #000066; font-weight: bold;">return</span> n<span style="color: #339933;">;</span>
	<span style="color: #009900;">}</span><span style="color: #339933;">,</span>

	form <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">(</span>f<span style="color: #339933;">,</span> <span style="color: #000066;">name</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
		f.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">(</span><span style="color: #3366cc;">'target'</span><span style="color: #339933;">,</span> <span style="color: #000066;">name</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">}</span><span style="color: #339933;">,</span>

	submit <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">(</span>f<span style="color: #339933;">,</span> c<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
		AIM.<span style="color: #660066;">form</span><span style="color: #009900;">(</span>f<span style="color: #339933;">,</span> AIM.<span style="color: #660066;">frame</span><span style="color: #009900;">(</span>c<span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span>c <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">(</span>c.<span style="color: #660066;">onStart</span><span style="color: #009900;">)</span> <span style="color: #339933;">==</span> <span style="color: #3366cc;">'function'</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
			<span style="color: #000066; font-weight: bold;">return</span> c.<span style="color: #660066;">onStart</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">{</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span>
	<span style="color: #009900;">}</span><span style="color: #339933;">,</span>

	loaded <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">(</span>id<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
		<span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">(</span>id<span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span>i.<span style="color: #660066;">contentDocument</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
			<span style="color: #003366; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> i.<span style="color: #660066;">contentDocument</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span>i.<span style="color: #660066;">contentWindow</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
			<span style="color: #003366; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> i.<span style="color: #660066;">contentWindow</span>.<span style="color: #660066;">document</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">{</span>
			<span style="color: #003366; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> window.<span style="color: #660066;">frames</span><span style="color: #009900;">[</span>id<span style="color: #009900;">]</span>.<span style="color: #660066;">document</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span>d.<span style="color: #660066;">location</span>.<span style="color: #660066;">href</span> <span style="color: #339933;">==</span> <span style="color: #3366cc;">"about:blank"</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
			<span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span>

		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span><span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">(</span>i.<span style="color: #660066;">onComplete</span><span style="color: #009900;">)</span> <span style="color: #339933;">==</span> <span style="color: #3366cc;">'function'</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
			i.<span style="color: #660066;">onComplete</span><span style="color: #009900;">(</span>d.<span style="color: #660066;">body</span>.<span style="color: #660066;">innerHTML</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">}</span>
	<span style="color: #009900;">}</span>

<span style="color: #009900;">}</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/04/ajax-upload-using-iframe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Specific Query Performance Tips</title>
		<link>http://www.webburners.com/2009/04/specific-query-performance-tips/</link>
		<comments>http://www.webburners.com/2009/04/specific-query-performance-tips/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 19:44:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Specific Query Performance Tips]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=199</guid>
		<description><![CDATA[1. Use EXPLAIN to profile the query execution plan
2. Use Slow Query Log (always have it on!)
3. Don’t use DISTINCT when you have or could use GROUP BY
4. Insert performance
1. Batch INSERT and REPLACE
2. Use LOAD DATA instead of INSERT
5. LIMIT m,n may not be as fast as it sounds
6. Don’t use ORDER BY RAND() [...]]]></description>
			<content:encoded><![CDATA[<p>1. Use EXPLAIN to profile the query execution plan<br />
2. Use Slow Query Log (always have it on!)<br />
3. Don’t use DISTINCT when you have or could use GROUP BY<br />
4. Insert performance<br />
1. Batch INSERT and REPLACE<br />
2. Use LOAD DATA instead of INSERT<br />
5. LIMIT m,n may not be as fast as it sounds<br />
6. Don’t use ORDER BY RAND() if you have &gt; ~2K records<br />
7. Use SQL_NO_CACHE when you are SELECTing frequently updated data or large sets of data<br />
8. Avoid wildcards at the start of LIKE queries<br />
9. Avoid correlated subqueries and in select and where clause (try to avoid in)<br />
10. No calculated comparisons — isolate indexed columns<br />
11. ORDER BY and LIMIT work best with equalities and covered indexes<br />
12. Separate text/blobs from metadata, don’t put text/blobs in results if you don’t need them<br />
13. Derived tables (subqueries in the FROM clause) can be useful for retrieving BLOBs without sorting them. (Self-join can speed up a query if 1st part finds the IDs and uses then to fetch the rest)<br />
14. ALTER TABLE…ORDER BY can take data sorted chronologically and re-order it by a different field — this can make queries on that field run faster (maybe this goes in indexing?)<br />
15. Know when to split a complex query and join smaller ones<br />
16. Delete small amounts at a time if you can<br />
17. Make similar queries consistent so cache is used<br />
18. Have good SQL query standards<br />
19. Don’t use deprecated features<br />
20. Turning OR on multiple index fields (&lt;5.0) into UNION may speed things up (with LIMIT), after 5.0 the index_merge should pick stuff up.<br />
21. Don’t use COUNT * on Innodb tables for every search, do it a few times and/or summary tables, or if you need it for the total # of rows, use SQL_CALC_FOUND_ROWS and SELECT FOUND_ROWS()<br />
22. Use INSERT … ON DUPLICATE KEY update (INSERT IGNORE) to avoid having to SELECT<br />
23. use groupwise maximum instead of subqueries</p>
<p>Scaling Performance Tips:</p>
<p>1. Use benchmarking<br />
2. isolate workloads don’t let administrative work interfere with customer performance. (ie backups)<br />
3. Debugging sucks, testing rocks!<br />
4. As your data grows, indexing may change (cardinality and selectivity change). Structuring may want to change. Make your schema as modular as your code. Make your code able to scale. Plan and embrace change, and get developers to do the same.</p>
<p>Network Performance Tips:</p>
<p>1. Minimize traffic by fetching only what you need.<br />
1. Paging/chunked data retrieval to limit<br />
2. Don’t use SELECT *<br />
3. Be wary of lots of small quick queries if a longer query can be more efficient<br />
2. Use multi_query if appropriate to reduce round-trips<br />
3. Use stored procedures to avoid bandwidth wastage</p>
<p>OS Performance Tips:</p>
<p>1. Use proper data partitions<br />
1. For Cluster. Start thinking about Cluster *before* you need them<br />
2. Keep the database host as clean as possible. Do you really need a windowing system on that server?<br />
3. Utilize the strengths of the OS<br />
4. pare down cron scripts<br />
5. create a test environment<br />
6. source control schema and config files<br />
7. for LVM innodb backups, restore to a different instance of MySQL so Innodb can roll forward<br />
8. partition appropriately<br />
9. partition your database when you have real data — do not assume you know your dataset until you have real data</p>
<p>MySQL Server Overall Tips:</p>
<p>1. innodb_flush_commit=0 can help slave lag<br />
2. Optimize for data types, use consistent data types. Use PROCEDURE ANALYSE() to help determine the smallest data type for your needs.<br />
3. use optimistic locking, not pessimistic locking. try to use shared lock, not exclusive lock. share mode vs. FOR UPDATE<br />
4. if you can, compress text/blobs<br />
5. compress static data<br />
6. don’t back up static data as often<br />
7. enable and increase the query and buffer caches if appropriate<br />
8. config params — http://docs.cellblue.nl/2007/03/17/easy-mysql-performance-tweaks/ is a good reference<br />
9. Config variables &amp; tips:<br />
1. use one of the supplied config files<br />
2. key_buffer, unix cache (leave some RAM free), per-connection variables, innodb memory variables<br />
3. be aware of global vs. per-connection variables<br />
4. check SHOW STATUS and SHOW VARIABLES (GLOBAL|SESSION in 5.0 and up)<br />
5. be aware of swapping esp. with Linux, “swappiness” (bypass OS filecache for innodb data files, innodb_flush_method=O_DIRECT if possible (this is also OS specific))<br />
6. defragment tables, rebuild indexes, do table maintenance<br />
7. If you use innodb_flush_txn_commit=1, use a battery-backed hardware cache write controller<br />
8. more RAM is good so faster disk speed<br />
9. use 64-bit architectures<br />
10. –skip-name-resolve<br />
11. increase myisam_sort_buffer_size to optimize large inserts (this is a per-connection variable)<br />
12. look up memory tuning parameter for on-insert caching<br />
13. increase temp table size in a data warehousing environment (default is 32Mb) so it doesn’t write to disk (also constrained by max_heap_table_size, default 16Mb)<br />
14. Run in SQL_MODE=STRICT to help identify warnings<br />
15. /tmp dir on battery-backed write cache<br />
16. consider battery-backed RAM for innodb logfiles<br />
17. use –safe-updates for client<br />
18. Redundant data is redundant</p>
<p>Storage Engine Performance Tips:</p>
<p>1. InnoDB ALWAYS keeps the primary key as part of each index, so do not make the primary key very large<br />
2. Utilize different storage engines on master/slave ie, if you need fulltext indexing on a table.<br />
3. BLACKHOLE engine and replication is much faster than FEDERATED tables for things like logs.<br />
4. Know your storage engines and what performs best for your needs, know that different ones exist.<br />
1. ie, use MERGE tables ARCHIVE tables for logs<br />
2. Archive old data — don’t be a pack-rat! 2 common engines for this are ARCHIVE tables and MERGE tables<br />
5. use row-level instead of table-level locking for OLTP workloads<br />
6. try out a few schemas and storage engines in your test environment before picking one.</p>
<p>Database Design Performance Tips:</p>
<p>1. Design sane query schemas. don’t be afraid of table joins, often they are faster than denormalization<br />
2. Don’t use boolean flags<br />
3. Use Indexes<br />
4. Don’t Index Everything<br />
5. Do not duplicate indexes<br />
6. Do not use large columns in indexes if the ratio of SELECTs:INSERTs is low.<br />
7. be careful of redundant columns in an index or across indexes<br />
8. Use a clever key and ORDER BY instead of MAX<br />
9. Normalize first, and denormalize where appropriate.<br />
10. Databases are not spreadsheets, even though Access really really looks like one. Then again, Access isn’t a real database<br />
11. use INET_ATON and INET_NTOA for IP addresses, not char or varchar<br />
12. make it a habit to REVERSE() email addresses, so you can easily search domains (this will help avoid wildcards at the start of LIKE queries if you want to find everyone whose e-mail is in a certain domain)<br />
13. A NULL data type can take more room to store than NOT NULL<br />
14. Choose appropriate character sets &amp; collations — UTF16 will store each character in 2 bytes, whether it needs it or not, latin1 is faster than UTF8.<br />
15. Use Triggers wisely<br />
16. use min_rows and max_rows to specify approximate data size so space can be pre-allocated and reference points can be calculated.<br />
17. Use HASH indexing for indexing across columns with similar data prefixes<br />
18. Use myisam_pack_keys for int data<br />
19. be able to change your schema without ruining functionality of your code<br />
20. segregate tables/databases that benefit from different configuration variables</p>
<p>Other:</p>
<p>1. Hire a MySQL ™ Certified DBA<br />
2. Know that there are many consulting companies out there that can help, as well as MySQL’s Professional Services.<br />
3. Read and post to MySQL Planet at http://www.planetmysql.org<br />
4. Attend the yearly MySQL Conference and Expo or other conferences with MySQL tracks (link to the conference here)<br />
5. Support your local User Group (link to forge page w/user groups here)</p>
<p><strong>About us</strong></p>
<p style="margin-bottom: 0cm;" align="justify"><strong>Webburners </strong><span>is among the emerging</span><strong> IT companies</strong><span> in </span><strong>India</strong><span>, having clients worldwide.Its </span><strong>wide range</strong><span> of services includes </span><strong>Web Solutions</strong><span>, <strong>Graphic Design</strong></span><span>, </span><strong>Software Development</strong><span>, I</span><strong>T Education</strong><span>, </span><strong>Multimedia Development</strong><span>, </span><strong>Online Marketting and Web optimization (SEO).</strong><span> </span></p>
<p style="margin-bottom: 0cm;">
<p><span>This </span><span> <strong>Indian Web Developement company</strong> has emerged as a major player in the web industry. Over the years, </span><strong>Webburners</strong><span> has been offering top-notch </span><strong>web services</strong><span> to both domestic as well as international clients</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/04/specific-query-performance-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some of PHP Performance Tips very usefull</title>
		<link>http://www.webburners.com/2009/04/some-of-php-performance-tips/</link>
		<comments>http://www.webburners.com/2009/04/some-of-php-performance-tips/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 19:43:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[php performance tips]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=197</guid>
		<description><![CDATA[   1. Don’t use foreach loop as long as you can avoid it, for loops are faster than any other looping constructs.
      When it comes to various looping constructs and control statements it could differ based on case to case. Please refer http://www.phpbench.com/ by Chris Vincent, he has [...]]]></description>
			<content:encoded><![CDATA[<p>   1. Don’t use foreach loop as long as you can avoid it, for loops are faster than any other looping constructs.<br />
      When it comes to various looping constructs and control statements it could differ based on case to case. Please refer http://www.phpbench.com/ by Chris Vincent, he has done remarkable job by providing detailed benchmarks with various combinations.<br />
   2. echo is faster than print. As echo is one of the language construct which don’t return anything while print will return 0 or 1 based on success or failure.<br />
   3. include_once is costlier then include statement. As it will have to look whether class definition you are trying to include is already included or not?<br />
   4. Always use single quotes for long strings and not the double quotes. Because for double quotes php will try to search and evaluate $vars found in that string. So in that case echo ‘It was really a long story to finish ‘. $name is faster then echo “It was really a long story to finish $name”.<br />
      But then echo ‘It was really a long story to finish’ , $name can be faster then first one too, as it don’t required any string manipulation from php and just outputting all arguments to screen. This matters most when we need to do lots of text processing or html to be generate from our application/scripts.<br />
   5. Magic methods like __string,__set,__get can slow down things. But it’s okey as it can give more clarity in our code. Personally I like to use __set and __get as it let me stay away from getter and setter methods. __autoload is expensive and if you don’t really need it then don’t use them.<br />
   6. Don’t use for($i=0; $i<=count($arrPerson); $i++) {..} instead use,<br />
      for($i=0,$total = count($arrPerson); $i<$total; $i++) {..}. The previous one will call count function for each iteration of the loop while the second one will call count function just once.<br />
   7. If you can declare a method as static then let it be static, they are faster around 33% then member functions.<br />
   8. $arrPerson[‘name'] is faster than $arrPerson[name]. So try using single quotes for associative arrays.<br />
   9. If you can solve your any problem without using regular expressions, then don’t use them. Regex functions are slower than their php counterparts. For example use str_replace instead of preg_replace if it can do serve your purpose.<br />
  10. If you will provide array as any argument for str_replace it will be faster instead of giving string inputs for single search and replacement.<br />
      Slow:<br />
      str_replace( ‘search’, ‘replace’,$strAssay);<br />
      Fast:<br />
      str_replace(array(‘search’),array(‘replace’),$strAssay);<br />
  11. Try to minimize the relative paths for file include. For relative path includes it will search into default include path then current directory and so on.. So file search in that case can take long time. Instead specify WEB_ROOT constant which will be physical path of your web directory and which could be defined by following way.<br />
      define(’WEB_ROOT’,str_replace(array(’\\’),array(’/’),dirname(__FILE__)) . ‘/’);<br />
  12. Identical operator (===) is faster than (==) operator as identical operator will include type checking also. So If( 1 == ‘1′) will return true, If( 0 == ”) will return true while if you use identical operator both this conditions If( 1 === ‘1′) and If(0 === ”) will return false. So it is recommended to use identical operator when you are going to use some boolean variables for deciding the flow/control of your application.<br />
  13. Don’t use short tags <? and try using <?php, it can heart you when you go an deploy your application on some other servers.<br />
  14. Don’t use or relay on register_globals or magic quotes and read and configure your php.ini settings carefully. You can read comments over parameters and can set those parameters based on your server setup and application requirement for optimum performance.<br />
  15. Disable or comment extensions you are not going to use ever from php.ini</p>
<p>In addition to all this develop or follow coding standard for variables, classes, methods and file naming. It will reduce development time due to certainty. Always use proper variable names there is nothing wrong having variable name like $blnIsVARAdminLoggedIn. Proper naming convention will help you and your team members while it comes to maintenance part of the project. Writing comments for not understandable variable or method names would be less helpful. Use editors with auto-complete feature like Eclipse, Aptana which would reduce the hard-work for typing long variable or method names.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/04/some-of-php-performance-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Comparison of CakePHP and the Zend Framework</title>
		<link>http://www.webburners.com/2009/04/compare-cake-zend/</link>
		<comments>http://www.webburners.com/2009/04/compare-cake-zend/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 19:41:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[compare cake php & zend framework]]></category>
		<category><![CDATA[compare zend]]></category>
		<category><![CDATA[zend framwork]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=195</guid>
		<description><![CDATA[Are you considering using a PHP framework for your next project? If so, this article&#8217;s for you. I&#8217;ve narrowed down my choices to CakePHP and the Zend Framework and have documented my findings here.
Four or five years ago I began researching PHP application frameworks. At the time, the pickings were very slim, especially when compared [...]]]></description>
			<content:encoded><![CDATA[<p>Are you considering using a PHP framework for your next project? If so, this article&#8217;s for you. I&#8217;ve narrowed down my choices to CakePHP and the Zend Framework and have documented my findings here.</p>
<p>Four or five years ago I began researching PHP application frameworks. At the time, the pickings were very slim, especially when compared to those available to Java developers. On the advice of an ex-Coldfusion developer, I settled on the PHP port of Fusebox, the de facto Coldfusion framework. Fusebox 3 provided a convenient set of loose conventions for structuring applications, organizing code, naming files, and controlling flow. It served my development team well and applications we built with it are still up and running.</p>
<p>I took a two-year &#8220;break&#8221; from development and upon my return I found more PHP frameworks than you can shake a stick at. Now I need to find a solid MVC-based framework and after reading dozens of articles and completing a few tutorials, I&#8217;ve narrowed my focus to CakePHP and the Zend Framework.</p>
<p>Before going further, let it be known that my point of view is that of someone with plenty of application development experience but without a formal IT or CS degree. I can&#8217;t go on about the merits of one design pattern vs. another. I do, however, understand the need for convention, the advantages of modularity, and the efficiency of easily repeatable processes.</p>
<p>Please note that symfony, Prado, Code Ignitor, and many of the other PHP frameworks all look quite capable of meeting most project needs. If you&#8217;re a fanboy of another framework, please don&#8217;t espouse it&#8217;s merits here. I am, however, interested in hearing about your general experience in learning a framework, particularly in the context of your professional background.</p>
<p>Here&#8217;s a comparison and a few conclusions after spending a bit of time with both CakePHP and the Zend Framework. Please note that my quality scale range is: poor, fair, good, excellent.<br />
Feature Comparison of CakePHP and the Zend Framework<br />
Feature<br />
	CakePHP 	Zend Framework 	Notes<br />
License</p>
<p>MIT</p>
<p>BSD<br />
	Each of these licenses is fairly flexible. Carefully consider how your application will be used and distributed. It&#8217;s also important to consider compatability with 3rd-party extensions included in your application.<br />
Compatability</p>
<p>4 and 5</p>
<p>5.1.4 or later<br />
	I&#8217;m curious to know what CakePHP&#8217;s PHP 4 support plans are. I would wager that Zend&#8217;s focus on PHP 5 provides it with performance advantages.<br />
Documentation</p>
<p>good</p>
<p>excellent<br />
	CakePHP&#8217;s documentation is good but Zend&#8217;s API documentation is more thorough.<br />
Community</p>
<p>Google group,<br />
IRC, Articles</p>
<p>Wiki,<br />
Lists, Chat<br />
	Both frameworks have active user communities. In addition to official channels, there are also several 3rd-party community sites easily found through Google. CakePHP has done an excellent job of marketing their framework considering that they don&#8217;t have the corporate backing that ZF has.<br />
Tutorial/Sample Availability</p>
<p>excellent</p>
<p>fair<br />
	CakePHP&#8217;s Bakery provides an extensive collection of user-submitted applications and code samples. The IBM developerWorks CakePHP tutorials and aritcles are excellent. The Zend tutorials I&#8217;ve reviewed are good but require a siginifcant amount of MVC design experience. The ZF beginner&#8217;s videos, however, are very helpful. CakePHP provides screencasts too.<br />
MVC</p>
<p>strict</p>
<p>optional<br />
	These points are the biggest distinctions between these frameworks and probably the most important factors when choosing one over the other. CakePHP has very strict naming and code organization conventions while Zend only enforces conventions when employing its MVC capabilities.<br />
Conventions</p>
<p>strict</p>
<p>flexible<br />
Configuration</p>
<p>PHP file</p>
<p>PHP Array, XML, or<br />
INI files<br />
	This difference doesn&#8217;t seem like a sticking point to me. If you&#8217;re a fan of build tools like ANT, you might prefer Zend&#8217;s choice of XML.<br />
Database Abstraction</p>
<p>PHP, PEAR, ADODB</p>
<p>PHP, PDO<br />
	I may be wrong, but I get the impression that PDO is gaining favor in the PHP community.<br />
Security</p>
<p>ACL-based</p>
<p>ACL-based<br />
	Both frameworks take security very seriously and provide authentication and ACL-based authorization. Both approach ACLs in a similar fashion and both provide a high degree of flexibility in creating and applying ACLs.<br />
Data<br />
Handling</p>
<p>good</p>
<p>excellent<br />
	Out of the box, both frameworks provide data validation and sanitization mechanisms. Zend provides more validation options, but CakePHP&#8217;s validation is easily extended via PCRE. CakePHP provides a single data sanitization mechanism where Zend provides various filters to run data through.<br />
Caching</p>
<p>good</p>
<p>excellent<br />
	Both provide file-based caching of pages. Zend supports several cache backends, including APC, SqlLite, and of course, the Zend Platform.<br />
Sessions</p>
<p>excellent</p>
<p>excellent<br />
	Both provide robust session handling.<br />
Logging/<br />
Debugging</p>
<p>good</p>
<p>excellent<br />
	Both provide application logging. IMHO, the Zend_Debug class gives ZF the edge in this category.<br />
Templating</p>
<p>PHP-based</p>
<p>PHP-based<br />
	Coming from a UI design background, templating is of particular interest to me. If you&#8217;ve developed templates for WordPress or Drupal, you&#8217;ll feel right at home with CakePHP. The Zend Framework requires a bit more work to get templating up and running (see Zend_View and Zend_Layout). It&#8217;s possible to integrate 3rd party templating engines, like Smarty, with each framework.<br />
Helpers</p>
<p>good</p>
<p>excellent</p>
<p>Both frameworks provide basic helpers to handle AJAX, forms, and time conversions. CakePHP provides a nice HTML helper which is absent in ZF but ZF provides a wider range of helper classes.<br />
JavaScript/Ajax</p>
<p>good</p>
<p>fair<br />
	CakePHP comes with built-in support for Prototype and script.aculo.us while the current stable release of the ZF doesn&#8217;t support any specific JavaScript framework. ZF does provide JSON support and the 1.5 release adds AJAX form featues. I&#8217;d like to see both provide a wider range of support for 3rd party JavaScript Frameworks, particularly Jquery and YUI.<br />
Web Services</p>
<p>good</p>
<p>excellent</p>
<p>Both provide support for REST and XML-RPC as well as basic XML feed parsing. Zend Framework also provides support for several popular web services including OpenID, Reflection, Akismet, Amazon, Audioscrobbler, Delicious, Flickr, Simpy, StrikeIron, Technorati, and Yahoo.<br />
Localization</p>
<p>good</p>
<p>excellent<br />
	Both support localization through stadard means (i18n, l10n). CakePHP is adding/improving support in their upcoming 1.2 release. Zend appears to have better support for localization and translation.<br />
Unit Testing</p>
<p>yes</p>
<p>yes<br />
	Both frameworks provide support for this feature that far too many of us avoid <img src='http://www.webburners.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  I have yet to evaluate unit testing support.<br />
Conclusions and Recommendations</p>
<p>I hope to use both of these frameworks soon, but in the short term I&#8217;ll most likely base an upcoming CMS project on CakePHP. I do plan on using the Zend Framework, if for nothing other than expanding my application design skills, PHP 5 OO knowledge, and understanding of MVC.<br />
CakePHP: Hit the Ground Running Fast</p>
<p>If you are new to MVC, require PHP 4 support, want stricter conventions, or want powerful code generation tools, CakePHP is the choice for you. CakePHP&#8217;s Scaffolding, Bake, and ACL scripts provide definite advantages when the need to quickly build an application arise.<br />
The Zend Framework: A Model of Flexibility</p>
<p>If you know MVC, need more control over application design, or want built-in support for popular Web services, the Zend Framework is choice for you. The Zend Framework provides a greater degree of flexibility in designing applications that scale effectively in high-performance environments.</p>
<p>The bottom line is that both frameworks are rapidly evolving in response to user demands. Gaps in each are being filled and there seems to be no lack of demand for developers with skills in each framework.</p>
<p>Feel free to share your experience in learning any framework. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/04/compare-cake-zend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco buys Another Social Networking Firm Tidal Software for $105 million</title>
		<link>http://www.webburners.com/2009/04/cisco-buys-another-social-networking-firm-tidal-software-for-105-million/</link>
		<comments>http://www.webburners.com/2009/04/cisco-buys-another-social-networking-firm-tidal-software-for-105-million/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 04:47:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[automation solutions]]></category>
		<category><![CDATA[Cisco believes]]></category>
		<category><![CDATA[Cisco Systems Inc]]></category>
		<category><![CDATA[ntelligent application management]]></category>
		<category><![CDATA[Tidal Software Inc]]></category>
		<category><![CDATA[UCS project]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=164</guid>
		<description><![CDATA[SAN JOSE, Calif. – Cisco Systems is continuing to broaden its interest in social networking technology.
Cisco said in a statement that Tidal Software&#8217;s intelligent application management and automation solutions will advance its data center strategy.
&#8220;Cisco believes the network has become the logical platform to manage and maintain mission-critical applications,&#8221; said Gary Moore, senior vice president [...]]]></description>
			<content:encoded><![CDATA[<p>SAN JOSE, Calif. – Cisco Systems is continuing to broaden its interest in social networking technology.</p>
<p>Cisco said in a statement that Tidal Software&#8217;s intelligent application management and automation solutions will advance its data center strategy.<br />
&#8220;Cisco believes the network has become the logical platform to manage and maintain mission-critical applications,&#8221; said Gary Moore, senior vice president of Advanced Services at Cisco.<br />
&#8220;With the acquisition of Tidal Software, Cisco will accelerate its ability to help customers optimize the performance of their business applications and automate operational best practices in real time, which will lead to significantly reduced operational costs,&#8221; he added.</p>
<p>Tidal Software is a privately held company based in Palo Alto, California, and Houston, Texas. Last month, Cisco Break the contract with Hewlett-Packard and IBM and  announced it would start making there own computer servers.Cisco&#8217;s move into building servers is part of its Unified Computing System (UCS), a next-generation data center platform for corporations seeking to boost efficiency and save energy costs.</p>
<p>Now Companies  such as Microsoft, Accenture, EMC Corp, VMware Inc., BMC Software  are joining Cisco in the UCS project, offering their expertise in software and other areas s which increases efficiency by allowing a single computer to perform multiple tasks.<br />
Cisco also took another step by buying Pure Digital Technologies, maker of the hot-selling Flip Video camcorder.</p>
<p>Financial terms were not disclosed.</p>
<p>Also on Monday, Cisco said it had closed on the acquisition of Five Across, another social networking software firm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/04/cisco-buys-another-social-networking-firm-tidal-software-for-105-million/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pros and cons of Using ajax in an application</title>
		<link>http://www.webburners.com/2009/04/pros-and-cons-of-using-ajax-in-an-application/</link>
		<comments>http://www.webburners.com/2009/04/pros-and-cons-of-using-ajax-in-an-application/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 17:44:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[cons of ajax]]></category>
		<category><![CDATA[pross and cons of ajax]]></category>
		<category><![CDATA[pross of ajax]]></category>

		<guid isPermaLink="false">http://www.webburners.com/?p=154</guid>
		<description><![CDATA[Pros:
    * The User Experience – The number one advantage of using AJAX programming is the new and fresh interface it provides users. Users relate their experience with AJAX web pages to be more like a separate application than a standard web page. When someone clicks on a link on an AJAX [...]]]></description>
			<content:encoded><![CDATA[<p>Pros:</p>
<p>    * The User Experience – The number one advantage of using AJAX programming is the new and fresh interface it provides users. Users relate their experience with AJAX web pages to be more like a separate application than a standard web page. When someone clicks on a link on an AJAX web page, the page can usually be updated dynamically as opposed to a standard web page where the entire page is refreshed and it seems like a big operation. This greatly reduces the amount of click and wait time a user will experience. As people are using the Internet more and more, user interface is making a huge factor in what people do with their time online. The more attractive and easy to use a web site is, the more likely the user will return to your site.<br />
    * Flexibility and Accessibility – So many people are now using more than their home computer. Internet users access their online information from home, work, school and a variety of other places. With the use of AJAX and online applications, Internet users can access their data online from a web application. This eliminates the need to carry around expensive hardware from place to place. You can virtually access your data anywhere you can connect to the Internet. Online applications using AJAX also eliminate the need to update your software regularly. The software can be updated on the server side and display the most recent build of any program to the entire public.<br />
    * Low Bandwidth Usage – AJAX limits the calls to the server by generating the HTML within the user’s browser. Most of the requests to the browser are just for JavaScript and actual data. Since there is less data coming from the server, an AJAX web page seems to load much quicker.<br />
    * Different Platforms – With the use of AJAX and online applications, the variety of platforms out there has less of an impact on both the users and developers. Programmers won’t have to develop their software for all the different platforms available. For the users, you don’t have to worry about PC , Mac or even the up and coming Linux.<br />
    * AJAX is coming – The total impact of AJAX has yet to be seen but it is already being implemented by large corporations which is a good sign that there is still more to come. The Internet giant, Google, is already using AJAX for some of their projects including Google Maps and Gmail. AJAX meshes perfectly with the new “Web 2.0” user interaction idea; making it a strong candidate for further use.</p>
<p>Cons:</p>
<p>    * Changes to the End User – AJAX technology will include small but important changes to the way an Internet user uses their browser. An AJAX page will not register itself with the browser history engine so when the user hits the back button (a very common function that everyone uses) it will not render any changes. Also, the bookmark function which is very popular among Internet users will not have the same effect as it used to. These may seem like small, insignificant changes but many users take advantage of these features daily. For some users, small changes may not be a big deal but to less experienced users who have a hard time learning new technology; this could play a big role.<br />
    * Still using JavaScript – One of the key components of AJAX is the use of JavaScript. JavaScript is a great code that features awesome interaction to users but has its own sets of con’s. JavaScript is not very friendly to search engines as the text and information within them is not visible. The other issue with JavaScript is it’s compatibility with other browsers. JavaScript information may be displayed differently between Mozilla Firefox and Internet Explorer.<br />
    * Search Engine Optimization – As discusses briefly in the previous Con, AJAX web pages may not be visible to the search engine’s bot that crawls the web to index different web sites. Not having your web site in the top search engine’s index can result in a quick death to your site if it depends on Internet traffic. There are techniques to avoid this issue but it will require further time and programming.<br />
    * Internet Access – With online web applications and AJAX, you obviously have to be connected to the Internet to use these. Lots of people have constant access to a bandwidth Internet connection but not everyone is able to connect at high speeds anytime which would mean that this would be a serious con for those users.</p>
<p>As with any new technology, AJAX has its advantages and disadvantages but with the pros mostly outweighing the cons and huge companies like Google already using AJAX, you can expect to see more and more AJAX web sites out there in the very near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webburners.com/2009/04/pros-and-cons-of-using-ajax-in-an-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
