<?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>TechPunt</title>
	<atom:link href="http://techpunt.com/feed" rel="self" type="application/rss+xml" />
	<link>http://techpunt.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Jun 2011 01:19:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Source Code Disclosure Vulnerability With VIM Backups</title>
		<link>http://techpunt.com/vulnerabilities/source-code-disclosure-vulnerability-with-vim-backups.html</link>
		<comments>http://techpunt.com/vulnerabilities/source-code-disclosure-vulnerability-with-vim-backups.html#comments</comments>
		<pubDate>Fri, 03 Jun 2011 00:58:42 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=151</guid>
		<description><![CDATA[For those that use VIM regularly to make minor modifications to their code on a server, a certain feature can quickly become annoying, as it creates back up versions of the file your editing. In itself, is not a bad thing, but unfortunately the backup file, due to the file extension, may be displayed to the browser in plain text, allowing a malicious user to check for disclosure of code/sql passwords. Possible Scenerio / Example You decided to modify your vbulletin config file, and enable memcache to &#8230; <a href="http://techpunt.com/vulnerabilities/source-code-disclosure-vulnerability-with-vim-backups.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For those that use VIM regularly to make minor modifications to their code on a server, a certain feature can quickly become annoying, as it creates back up versions of the file your editing. In itself, is not a bad thing, but unfortunately the backup file, due to the file extension, may be displayed to the browser in plain text, allowing a malicious user to check for disclosure of code/sql passwords.</p>
<h3>Possible Scenerio / Example</h3>
<p>You decided to modify your vbulletin config file, and enable memcache to speed some pages up, so you edit your &#8216;config.php&#8217; file with VIM, do the necessary changes , and save. You then fail to remember that VIM, if enabled to, has just created a backup of the old file under a new name (ie: config.php~). Now, a malicious user decides to check to see if you are a VIM user, and whether that file is exposed, so he requests that file from this browser, and downloads the backup of your config that still contains the current SQL passwords.</p>
<h3>Possible Solution #1: disable VIM backups</h3>
<p>To disable VIM from creating backups, you need to put the following in your .vimrc file:</p>
<p><code>set nobackup</code></p>
<h3>Possible Solution #2: block the server from delivering those files</h3>
<p>You can deny access to the file extension via .htaccess or apache config file like so:<br />
<code><br />
&lt;Files ~ "\~$"&gt;<br />
Order allow,deny<br />
Deny from all<br />
&lt;/Files&gt;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/vulnerabilities/source-code-disclosure-vulnerability-with-vim-backups.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When to Use Rel NoFollow to Ignore Links</title>
		<link>http://techpunt.com/optimizations/search-engine-optimization-seo/when-to-use-rel-nofollow-to-ignore-links.html</link>
		<comments>http://techpunt.com/optimizations/search-engine-optimization-seo/when-to-use-rel-nofollow-to-ignore-links.html#comments</comments>
		<pubDate>Sun, 08 May 2011 17:35:39 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Search Engine Optimization (SEO)]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=123</guid>
		<description><![CDATA[A useful tool in SEO is the ability to tell search engines not to follow a link. By doing so you can reduce the importance of certain pages that are mainly used to assist the user, but offer little to no substance for a search engine. For instance, you could have your Terms &#38; Conditions linked from every page in the footer, which might make it seem important to a search engine, but should not be. How To Use Rel NoFollow Using it is quite &#8230; <a href="http://techpunt.com/optimizations/search-engine-optimization-seo/when-to-use-rel-nofollow-to-ignore-links.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A useful tool in SEO is the ability to tell search engines not to follow a link. By doing so you can reduce the importance of certain pages that are mainly used to assist the user, but offer little to no substance for a search engine. For instance, you could have your Terms &amp; Conditions linked from every page in the footer, which might make it seem important to a search engine, but should not be.</p>
<h2>How To Use Rel NoFollow</h2>
<p>Using it is quite simple, you just take a normal link and apply the <strong>rel=&#8221;nofollow&#8221;</strong> to it, like so:</p>
<p><code>&lt;a <strong><em>rel="nofollow</em>"</strong> href="/terms.html"&gt;Terms &amp;amp; Conditions&lt;/a&gt;</code></p>
<h2>&#8220;Link Juice&#8221; Distribution</h2>
<p>We won&#8217;t go too far into this concept for now, only the aspect that applies to links within our page.</p>
<p>Imagine a page being a pipe, with the water pressure varying depending on the overall value of the page and juice it has to distribute to its links on its page. Now, the more important a link appears to be or the higher up on the page it is located, the closer the hole for that link on the pipe is to the inward flow, and/or the bigger the hole.</p>
<p style="text-align: center;"><img class="size-full wp-image-129 aligncenter" title="Link Juice" src="http://techpunt.com/wp-content/uploads/2011/05/link-juice-1.png" alt="" width="400" height="70" /></p>
<p>Now with the right balance, you have an optimal distribution of juice, but if you have an excessive amount of links, your pipe&#8217;s pressure will drop and the amount of juice spread to each link can decrease.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-134" title="Link Juice - Excess Links " src="http://techpunt.com/wp-content/uploads/2011/05/link-juice-2.png" alt="" width="400" height="70" /></p>
<p>There is no set figure on how many links are needed to get this effect, so don&#8217;t start counting the number of links on each of your pages, instead try to avoid adding excessive links that have little to no value to the user. If the link is useful to the user but provides negligible SEO value, put a rel nofollow on it.</p>
<h2>Where to Use It</h2>
<h3>Legal Documents / Terms /Acceptable Use Policy</h3>
<p>These pages can be linked from every page in the footer, and can be full of legal text that almost no one would be searching for, and if they were, they most likely wouldn&#8217;t be looking for your specific &#8220;legal&#8221; document. Which in most cases, you rather put a nofollow on it as the search engine should be looking more into your other links.</p>
<h3>Static Advertisements</h3>
<p>If your ads are loaded using javascript you don&#8217;t have to worry as search engines wont see it. Now if you have ads that are put directly into your HTML with links, you may consider putting a nofollow unless your advertiser is paying for the SEO benefit as well, otherwise you are giving them free &#8220;link juice&#8221;.</p>
<h3>My Account / Pages that Require a Login</h3>
<p>Typically these pages render a login page if not logged in, and offers very little substance for a search engine, and so there is no benefit to having these pages indexed or links to them followed.</p>
<h3>Comment Spam</h3>
<p>Putting nofollow on links found within comments/etc can help deter some people from spamming your site, or at least reduce the benefit from it temporarily till you delete their comments. Though you should not rely on this to solve your spam problems, as spammers will still post in the off chance a user sees it and clicks on it, or they might not even check if you have a nofollow on their links.</p>
<h3>Reducing Importance of Certain Pages</h3>
<p>In some cases you might have links to certain pages throughout your site that is useful to the user, but not so important for SEO. In those cases, you might want to put nofollow on some instances of the links to reduce the importance of those pages.</p>
<p>For instance, you might have a forum with the home page listing every forum, with links to profiles of users that posted last in the forum. You may want to put a nofollow on those user profile links on the homepage, but leave the links to the topics they posted on intact, that way the profile pages still get crawled through the links in the actual thread instead of through the homepage.</p>
<h2>If Unsure, Don&#8217;t Use It</h2>
<p>If you are still unsure on whether to use nofollow on a link, ask for advice. It is often better to not use it than to use it wrong, since the impact of using it on the wrong link can be more detrimental than the benefit from using it correctly.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/optimizations/search-engine-optimization-seo/when-to-use-rel-nofollow-to-ignore-links.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding Backlinks with Real Life Metaphors</title>
		<link>http://techpunt.com/optimizations/search-engine-optimization-seo/understanding-backlinks-with-real-life-metaphors.html</link>
		<comments>http://techpunt.com/optimizations/search-engine-optimization-seo/understanding-backlinks-with-real-life-metaphors.html#comments</comments>
		<pubDate>Tue, 03 May 2011 20:18:41 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Search Engine Optimization (SEO)]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=103</guid>
		<description><![CDATA[Backlinks are links to your website from other websites, and they play an important part in SEO. The concept is fairly easy to pick up and relates quite well to every day life. We essentially work a little bit like a search engine in our every day lives when you think about it, and here is why. Word of Mouth Real Life Example To start, lets talk about word of mouth advertising. If your friend tells you of an amazing restaurant that he or she has tried, &#8230; <a href="http://techpunt.com/optimizations/search-engine-optimization-seo/understanding-backlinks-with-real-life-metaphors.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Backlinks are links to your website from other websites, and they play an important part in SEO. The concept is fairly easy to pick up and relates quite well to every day life. We essentially work a little bit like a search engine in our every day lives when you think about it, and here is why.</p>
<h2>Word of Mouth</h2>
<h3>Real Life Example</h3>
<p>To start, lets talk about word of mouth advertising. If your friend tells you of an amazing restaurant that he or she has tried, you immediately get a better impression/image of that restaurant. The more people that talk about this restaurant, the more you will naturally be inclined to try it out one day.</p>
<h3>How this applies to Search Engines</h3>
<p>Now if we apply this example to search engine terms, the more websites that link to this restaurant&#8217;s website, the better the reputation is in a search engine&#8217;s eyes, as those other websites are vouching for it by linking to it.</p>
<p>Very simple concept so far, now lets dive in deeper, as there is more to it than that.</p>
<h2>Experts</h2>
<h3>Real Life Example</h3>
<p>Lets say that your computer is having problems, and you ask your friends to see who can help you. As you ask you start noticing a trend that everyone keeps telling you that Mark is your best bet. The more people that tell you Mark is good at computers, the more you begin to believe that he is an expert in the field of computers. Even though he is an expert in computers, and you have all your friends vouching it, you wouldn&#8217;t be as confident about him helping you fix your car.</p>
<h3>How this applies to Search Engines</h3>
<p>As more websites link to a website about fixing computer problems with relevant text to the site&#8217;s topic, the higher it will be ranked for those topics. In essence, that website can become more of an &#8220;expert&#8221; compared to other similar sites.</p>
<p>Now this example sort of sounds like &#8220;Word of Mouth&#8221; but we are focusing more on specific keywords here than just overall reputation, and building up to the next part.</p>
<h2>Referral from an Expert in the Field</h2>
<h3>Real Life Example</h3>
<p>One day you are feeling sick to the point that you decide to see a doctor/physician, but you don&#8217;t have a doctor already that you see, so you ask around to see who your friends recommend, you essentially perform a search. One friend, who rarely gets sick, recommends Sam. Another friend, who is a surgeon and a real good one at that, recommends Bob. Which doctor are you more likely going to see? Obviously, based off just this information, you will go to Bob, as the surgeon is more knowledgeable in who could possibly be a good doctor, as he works with them regularly.</p>
<h3>How this applies to Search Engines</h3>
<p>Now, if you are looking for a website about diabetes, and find a website linked from a cars website, and you find another website linked from a website about various medical aliments, which website do you think is a better website about diabetes? Obviously the website linked from a medical site will rank better, and that is how a search engine sees it since the more relevant the backlink, and the reputation in that field, the better. Even though the cars website might &#8220;know&#8221; a thing or two about medicine, it does not know as much as the website about medical aliments.</p>
<p>This means that websites more relevant to your website linking to you will help you more than a website not relevant at all. Now, obviously, the more reputable the expert/website is the better.</p>
<h2>Unreliable Referral</h2>
<h3>Real Life Example</h3>
<p>You are talking to Bob one day and he starts to rave about a new store in town he likes. He builds a lot of hype about this store, and it sounds interesting, but you start remembering all the times he raved about something in the past, and that he has a tendency to rave about everything new and old that he stumbles across, he raves indiscriminately. Knowing this, do you think you would go check out this new store immediately? Obviously what he says is good holds very little value, as there is very little that he seems to think that isn&#8217;t good.</p>
<h3>How this applies to Search Engines</h3>
<p>The more a website links out to other websites, the less valued their links are to the website they are linking to. Such a website could be like Bob, who vouches for everything, and holds very little value on what is good. This does not mean you should not link to other sites, or that all sites with links to others are bad, but the more they spam those links, the less they help. So always consider how many external links there are on average, and use that to help you judge the value of a link on the site.</p>
<h2>The Best Backlinks</h2>
<p>Taking all those concepts into consideration, you can tell that trying to rank the value of a backlink very accurately can easily get complicated. We can easily turn this into a considerable research project to get a fine tuned equation.</p>
<p>Considering this, I will try to take a quick stab at it and probably be way off, but hopefully it will get you thinking more about all these concepts and how they relate.</p>
<p><code>backlink value =</code></p>
<p><code> </code></p>
<p style="text-align: center;"><code>(constant + relevance) * (ranking or reputation + ranking of relevance)<br />
--------------------------------------------------------------------------------------------<br />
MAX( average external links across reputable sites on the net, average external links across site)</code></p>
<p>Feel free to correct me or debate this in the comments. Remember, as I stated, it was a quick stab at the equation, and am sure there is someone out there that has done more research and has a better and more accurate &#8220;equation&#8221;, and would love to read about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/optimizations/search-engine-optimization-seo/understanding-backlinks-with-real-life-metaphors.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Duplicate Content in SEO</title>
		<link>http://techpunt.com/optimizations/search-engine-optimization-seo/duplicate-content-in-seo.html</link>
		<comments>http://techpunt.com/optimizations/search-engine-optimization-seo/duplicate-content-in-seo.html#comments</comments>
		<pubDate>Tue, 03 May 2011 11:50:15 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Search Engine Optimization (SEO)]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=93</guid>
		<description><![CDATA[As most of you may know, duplicate content can hurt your search engine rankings, and should be avoided at all costs, but one thing you might not fully realize is the ways the content can appear to be duplicate. You can have issues ranging from pages being on both &#8216;domain.ext&#8217; and &#8216;www.domain.ext&#8217; to something as simple as an extra variable in the query string. These are all things you have to consider and look out for when setting up your site. Canonical URL A canonical &#8230; <a href="http://techpunt.com/optimizations/search-engine-optimization-seo/duplicate-content-in-seo.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As most of you may know, duplicate content can hurt your search engine rankings, and should be avoided at all costs, but one thing you might not fully realize is the ways the content can appear to be duplicate. You can have issues ranging from pages being on both &#8216;domain.ext&#8217; and &#8216;www.domain.ext&#8217; to something as simple as an extra variable in the query string. These are all things you have to consider and look out for when setting up your site.</p>
<h2>Canonical URL</h2>
<p>A canonical URL specifies the real URL of the  page, and is used to help control what URL a search engine sees the page as, no matter what the URL it has requested. This is probably the easiest to implement and most useful &#8216;tool&#8217; in eliminating duplicate content, as constantly checking the URL and redirecting the user can be difficult at times. The HTML used to define the URL is place in the &lt;head&gt; section of the page, and looks like this:</p>
<p><code>&lt;link rel="canonical" href="http://techpunt.com/optimizations/search-engine-optimization-seo/duplicate-content-in-seo.html" /&gt;</code></p>
<p>First of all, you should consider the domain that you want to use, whether you want to include the &#8216;www&#8217; or not, and make sure that you provide that domain each time you specify the canonical URL. This will eliminate search engines from crawling the other thinking it is a separate site, though it might still request the pages, it will index the page as what you provided in the canonical.</p>
<p>Secondly, you either have to rebuild the URL for the page from what is being rendered, or decide what query string variables will be passed into the URL, and remove any unwanted variables.</p>
<h3>Rebuilding the URL</h3>
<p>Possibly the best solution would be to rebuild the URL, as you might have multiple ways of displaying the same page depending on how the user got there, or you might just want to push &#8216;pretty&#8217; URLs, but your system makes it difficult to otherwise provide when rendering links.</p>
<p>The way you would &#8216;rebuild&#8217; these URLs is by taking all the parts of the URL that decide what content you will render along the way, and nothing else. For instance, if &#8220;search.php&#8221; is executed, and it is only ever run if the path is &#8220;/search/&#8221; you would start with &#8220;http://domain.ext/search/&#8221;. Then if a query is specified through the &#8216;q&#8217; GET variable with a value of &#8220;games&#8221;, and it changes the content the page renders, you would add that to your URL that your building and end up with: &#8220;http://domain.ext/search/?q=games&#8221;. You keep doing this till the final URL you have resembles the URL you requested the page almost exactly, other than the order of the query string variables, and the missing unwanted variables.</p>
<h3>Removing unwanted query string variables from a URL</h3>
<p>A query string variable occurs at the end of a URL and is usually started by a question mark(?) like so: /path/page.html?variable1=value1&amp;etc</p>
<p>Quite often we can use extra variables for tracking purposes, or a user might link to a page with an extra variable in error, either way, your site might delivery the same content with different URLs. By specifying the query string variables that impact the page, and removing any unwanted variables from the URL that you place in the canonical URL, you are eliminating these duplications.</p>
<h2>Redirecting the User</h2>
<p>With redirecting the user, you would still take on one of the approaches above, but you would redirect the user to that URL if the URL requested does not match the one you generated. Though this is not the best solution unless the URLs differ heavily, or if you are changing the URL structure of your site.</p>
<p>First off, you want to make sure that any redirect you perform is a 301 redirect, which means that the page has permanently moved to a new URL, and will force the search engine to follow and update their database for that page with the new URL. Any other form of redirect will not work well, as they typically are meant for various degrees of temporary actions, and a search engine might not do anything with it.</p>
<p>Here are various reasons why a redirect might not be good:</p>
<ol>
<li>It could increase load on your server unnecessarily if the URLs you direct users to never match up exactly, and an abnormal amount of constant redirections can look bad in a search engine&#8217;s eyes.</li>
<li>If you perform tracking through javascript based on query string variables that you are removing, you will essentially break that tracking. For instance, if you were using analytics to track referrals by some ID in the query string.</li>
<li>It can prevent you from testing your site on a development sub domain, as you will just be redirect to the main site, otherwise you will have to constantly check the sub domain and either use the robots.txt to prevent search engines from crawling your dev version, or use canonical anyway, and/or not check the sub domain and enforce the sub domain other ways.</li>
</ol>
<h2>Specifying the domain/sub domain for your site through search engine tools</h2>
<p>Another way to fix the sub domain issue is by accessing the individual search engine (ie: <a href="http://www.google.com/webmasters/tools/" target="_blank">webmaster tools for google</a>) and telling them which domain to use instead, though this might be time consuming as you will have to make sure every search engine knows. Though this is good in assisting in rectifying of the problem, but should never be used on its own without one of the previous solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/optimizations/search-engine-optimization-seo/duplicate-content-in-seo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Every Link and Image Count with SEO</title>
		<link>http://techpunt.com/optimizations/search-engine-optimization-seo/making-every-link-and-image-count-with-seo.html</link>
		<comments>http://techpunt.com/optimizations/search-engine-optimization-seo/making-every-link-and-image-count-with-seo.html#comments</comments>
		<pubDate>Mon, 02 May 2011 13:27:43 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Search Engine Optimization (SEO)]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=82</guid>
		<description><![CDATA[Not all internal links within your site may help you, but you can make them. Sometimes it is difficult to have meaningful text within your anchor tags/links as it would just confuse the user or look unnatural. Other times it is easier to use an image instead of text due to the design of a site, but that gives search engines nothing to work with. Luckily there is a part of the HTML spec that you can utilize to help search engines better know what &#8230; <a href="http://techpunt.com/optimizations/search-engine-optimization-seo/making-every-link-and-image-count-with-seo.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Not all internal links within your site may help you, but you can make them. Sometimes it is difficult to have meaningful text within your anchor tags/links as it would just confuse the user or look unnatural. Other times it is easier to use an image instead of text due to the design of a site, but that gives search engines nothing to work with. Luckily there is a part of the HTML spec that you can utilize to help search engines better know what a link or image is about, and can offer more information to the end user as well.</p>
<h2>Anchor / Link Titles</h2>
<p>There are times that you might have a link that is obvious to the user, but not to a search engine, such as a link to the &#8220;comments&#8221; section of a page. Even though a user of your site will see &#8220;Comments&#8221; next to an item and make the association, a search engine might not, and this is where link titles come in handy.</p>
<p>For instance, borrowing an example from the <a title="Importance of Header Tags in SEO" href="http://techpunt.com/optimizations/search-engine-optimization-seo/importance-of-header-tags-in-seo.html">previous article</a>, you have a page that lists all games on your flash game site, and inside the game listing you have a link for the comments section of that page, you will want to put a link title on it. For this example, we will say the game we are referring to is a Ping Pong game.</p>
<p><code>&lt;a href="/fun-games/ping-pong.html#comments"&gt;Comments&lt;/a&gt;</code></p>
<p>Taking this link, we can attach some text that is more relevant than &#8220;Comments&#8221;, like &#8220;Ping Pong Flash Game Comments&#8221;:</p>
<p><code>&lt;a href="/fun-games/ping-pong.html#comments" title="Ping Pong Flash Game Comments"&gt;Comments&lt;/a&gt;</code></p>
<p>That link would still say &#8220;Comments&#8221;, but now when you hover your mouse over it, it will display a type of tool tip that will read &#8220;Ping Pong Flash Game&#8221;, which a search engine will read and use as well to associate to the link and linked page.</p>
<p>If you want to see what kind of tool tip we are talking about, here is a link to my <a title="Importance of Header Tags in SEO" href="http://techpunt.com/optimizations/search-engine-optimization-seo/importance-of-header-tags-in-seo.html">previous SEO article</a>, and if you hold your mouse over it, you should see &#8220;Importance of Header Tags in SEO&#8221;</p>
<h2>Image Alt Tags</h2>
<p>One thing that people will quite often overlook is images, but they too are important in SEO, as they can easily represent a word or phrase. Images by themselves tell a search engine nothing (maybe in 10 years that will change) as they can not process the image and associate text/data to it, so you have to help it along. The way to do this is to use the &#8220;alt&#8221; tag, which is meant to provide users an alternative to the image, if the image is not available, or if the user is blind.</p>
<p>For instance, sometimes you might find it easier to have an image for every navigational/menu item with the text in the image itself, giving nothing to a search engine to grab. So you might have an image for &#8220;About Us&#8221; with a pretty background and have it defined in HTML like so:</p>
<p><code>&lt;a href="/about-us/"&gt;&lt;img src="/i/aboutus.png" width="140" height="40" /&gt;&lt;/a&gt;</code></p>
<p>Let us still assume we are talking about a flash game site, which we will call &#8220;Flash Game Site&#8221;. You can change the above to include an <em>alt</em> tag for the image, and lets include the title tag as well.</p>
<p><code>&lt;a href="/about-us/" title="About Flash Game Site"&gt;&lt;img src="/i/aboutus.png" width="140" height="40" alt="About Flash Game Site" /&gt;&lt;/a&gt;</code></p>
<p>So now a search engine will see the image as &#8220;About Flash Game Site&#8221; and an image search engine will associate that text to the image also.</p>
<p>To do this on a roll over menu item, you need to make sure to still have an <em>img</em> element, and use a transparent gif for the src, so you can set the background of the <em>img</em> to your roll over image and move the background on hover, that way you still have an <em>img</em> tag to put an <em>alt</em> on.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/optimizations/search-engine-optimization-seo/making-every-link-and-image-count-with-seo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wireless Routers: Channels and Channel Widths</title>
		<link>http://techpunt.com/networks/home-networking/wireless-routers-channels-and-channel-widths.html</link>
		<comments>http://techpunt.com/networks/home-networking/wireless-routers-channels-and-channel-widths.html#comments</comments>
		<pubDate>Mon, 02 May 2011 12:29:39 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Home Networking]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=71</guid>
		<description><![CDATA[When setting up your router, even the most novice of network enthusiasts  want to optimize their wireless network. One of the settings we have available in most modern routers is the selection of a channel and channel width, and knowing what to choose can be confusing at first, but hopefully we can explain those concepts enough and how they relate to your network. Channel Widths Some routers advertise high speeds on the 2.4GHz and 5GHz range, and the way they do it is by utilizing a bigger &#8230; <a href="http://techpunt.com/networks/home-networking/wireless-routers-channels-and-channel-widths.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When setting up your router, even the most novice of network enthusiasts  want to optimize their wireless network. One of the settings we have available in most modern routers is the selection of a channel and channel width, and knowing what to choose can be confusing at first, but hopefully we can explain those concepts enough and how they relate to your network.</p>
<h2>Channel Widths</h2>
<p>Some routers advertise high speeds on the 2.4GHz and 5GHz range, and the way they do it is by utilizing a bigger channel width of 40MHz, compared to the default 20MHz, there by effectively doubling the available data rate.</p>
<p>The way they do this, that is compatible with devices that only run on 20MHz is by utilizing two channels simultaneously, a primary and a secondary. The primary channel is used for 20MHz only, while the secondary is used for devices that support it.</p>
<p>The only issue with 40MHz over 20MHz is that you are twice as susceptible to noise as you have effectively doubled the range you are working with, and doubling the range that noise can effect your connection. So when deciding between the widths, you should consider your signal strength in areas you will use your wireless, as well as the channels other routers are using near by.</p>
<h3>40MHz channel widths on a 2.4GHz network</h3>
<p>Unfortunately, when utilizing 20MHz widths in the 2.4GHz range, you can have up to 3 channels used without overlapping (covered in the &#8220;Wireless Channels&#8221; section), and by doubling the channels/using 40MHz, you essentially are left with at most one 20MHz channel available. Therefore it is optimal to use 40MHz when there are no other routers near by, or at most one other that only utilizes a 20MHz width that is preferably at either end (channel 1-3 or 11-13).</p>
<h3>40MHz channel widths on a 5GHz Network</h3>
<p>The issue observed with 40MHz channel widths on a 2.4GHz network is not so much a problem on a 5GHz network, as there are many more channels available to choose from. So if your router supports it, you should choose &#8220;Auto (20MHz or 40MHz)&#8221; and let the router decide when to utilize 40MHz or 20MHz.</p>
<h2>Wireless Channels</h2>
<p>Routers typically have channel numbers ranging from 1 to 11, or 1 to 13 depending on where you live. These numbers actually help to simplify the settings, as they actually represent a frequency range, which some routers specify the center frequency beside the channel number.</p>
<h3>Selecting the right channel</h3>
<p>When selecting a channel to use for your router, there are a few things to consider that might not be obvious at first. First, if your neighbors live far away, or they do not have a wireless router, you can just experiment with the channels and see what channel gives you the best connection in all the areas you might use it.</p>
<p>If you have other routers near by, you need to consider overlapping or interference from those routers. To do this, you will need to know what channels are used by your neighbors, as you will need to choose a channel that is far enough away that they do not overlap. For instance, if your neighbor is using channel 1 on a 2.4GHz network, by using channel 2, you will effectively interfere with each other as channel 1 ranges from 2.402GHz &#8211; 2.422 GHz and channel 2 ranges from 2.407GHz &#8211; 2.427 GHz, with causes an overlap of the 2.407GHz to 2.422GHz range.</p>
<p>Here is a table that might help illustrate overlapping on a 2.4GHz network:</p>

<table id="wp-table-reloaded-id-1-no-1" class="wp-table-reloaded wp-table-reloaded-id-1">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Channel</th><th class="column-2">Center Frequency</th><th class="column-3">20 MHz range</th><th class="column-4">20Mhz channels not overlapped</th><th class="column-5">40 MHz range (secondary channel number)</th><th class="column-6">20Mhz channels not overlapped</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">1</td><td class="column-2">2.412 GHz</td><td class="column-3">2.402GHz - 2.422 GHz</td><td class="column-4">5 - 13</td><td class="column-5">2.402GHz - 2.442GHz (5)</td><td class="column-6">9-13</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">2</td><td class="column-2">2.417 GHz</td><td class="column-3">2.407GHz - 2.427 GHz</td><td class="column-4">6-13</td><td class="column-5">2.407GHz - 2.447 GHz (6)</td><td class="column-6">10-13</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">3</td><td class="column-2">2.422 GHz</td><td class="column-3">2.412GHz - 2.432 GHz</td><td class="column-4">7-13</td><td class="column-5">2.412GHz - 2.452 GHz (7)</td><td class="column-6">11-13</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">4</td><td class="column-2">2.427 GHz</td><td class="column-3">2.417GHz - 2.437 GHz</td><td class="column-4">8-13</td><td class="column-5">2.417GHz - 2.457 GHz (8)</td><td class="column-6">12-13</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">5</td><td class="column-2">2.432 GHz</td><td class="column-3">2.422GHz - 2.442 GHz</td><td class="column-4">1, 9-13</td><td class="column-5">below: 2.402GHz - 2.442 GHz (1)<br />
above: 2.422GHz - 2.462 GHz (9)</td><td class="column-6">below: 9-13<br />
above: 1, 13</td>
	</tr>
	<tr class="row-7 odd">
		<td class="column-1">6</td><td class="column-2">2.437 GHz</td><td class="column-3">2.427GHz - 2.447 GHz</td><td class="column-4">1-2, 10-13</td><td class="column-5">below: 2.407GHz - 2.447 GHz (2)<br />
above: 2.427GHz - 2.467 GHz (10)</td><td class="column-6">below: 10-13<br />
above: 1-2</td>
	</tr>
	<tr class="row-8 even">
		<td class="column-1">7</td><td class="column-2">2.442 GHz</td><td class="column-3">2.432GHz - 2.452 GHz</td><td class="column-4">1-3, 11-13</td><td class="column-5">below: 2.412GHz - 2.452 GHz (3)<br />
above: 2.432GHz - 2.472 GHz (11)</td><td class="column-6">below: 11-13<br />
above: 1-3</td>
	</tr>
	<tr class="row-9 odd">
		<td class="column-1">8</td><td class="column-2">2.447 GHz</td><td class="column-3">2.437GHz - 2.457 GHz</td><td class="column-4">1-4, 12-13</td><td class="column-5">below: 2.417GHz - 2.457 GHz (4)<br />
above: 2.437GHz - 2.477 GHz (12)</td><td class="column-6">below: 12-13<br />
above: 1-4</td>
	</tr>
	<tr class="row-10 even">
		<td class="column-1">9</td><td class="column-2">2.452 GHz</td><td class="column-3">2.442GHz - 2.462 GHz</td><td class="column-4">1-5, 13</td><td class="column-5">below: 2.422GHz - 2.462 GHz (5)<br />
above: 2.442GHz - 2.482 GHz (13)</td><td class="column-6">below: 1, 13<br />
above: 1-5</td>
	</tr>
	<tr class="row-11 odd">
		<td class="column-1">10</td><td class="column-2">2.457 GHz</td><td class="column-3">2.447GHz - 2.467 GHz</td><td class="column-4">1-6</td><td class="column-5">2.427GHz - 2.467 GHz (6)</td><td class="column-6">1-2</td>
	</tr>
	<tr class="row-12 even">
		<td class="column-1">11</td><td class="column-2">2.462 GHz</td><td class="column-3">2.452GHz - 2.472 GHz</td><td class="column-4">1-7</td><td class="column-5">2.432GHz - 2.472 GHz (7)</td><td class="column-6">1-3</td>
	</tr>
	<tr class="row-13 odd">
		<td class="column-1">12</td><td class="column-2">2.467 GHz</td><td class="column-3">2.457GHz - 2.477 GHz</td><td class="column-4">1-8</td><td class="column-5">2.437GHz - 2.477 GHz (8)</td><td class="column-6">1-4</td>
	</tr>
	<tr class="row-14 even">
		<td class="column-1">13</td><td class="column-2">2.472 GHz</td><td class="column-3">2.462GHz - 2.482 GHz</td><td class="column-4">1-9</td><td class="column-5">2.442GHz - 2.482 GHz (9)</td><td class="column-6">1-5</td>
	</tr>
</tbody>
</table>

<p>As you can see, a 2.4GHz wireless network can have up to 3 routers working in a small area with no overlapping by using channel numbers 1, 6 and 11. If you have more than 3 routers, you might need to consider the distance of each router from your home, and choose a channel that overlaps the furthest and gives you the best performance in most of the typical areas you will use it through experimentation.</p>
<h3>Experimentation</h3>
<p>Even though this article offers a lot of tips and guidelines in choosing the right settings for your network, part of it still relies on experimenting, as there are more factors (walls, other devices that might cause interference from microwaves to garage door openers, etc) that only an engineer might be able to solve without much trial and error, but even he would possibly opt for experimenting to save time.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/networks/home-networking/wireless-routers-channels-and-channel-widths.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importance of Header Tags in SEO</title>
		<link>http://techpunt.com/optimizations/search-engine-optimization-seo/importance-of-header-tags-in-seo.html</link>
		<comments>http://techpunt.com/optimizations/search-engine-optimization-seo/importance-of-header-tags-in-seo.html#comments</comments>
		<pubDate>Sun, 01 May 2011 11:00:37 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Search Engine Optimization (SEO)]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=46</guid>
		<description><![CDATA[One of the biggest mistakes that people do is use header tags without realizing what they mean. Quite often I find pages where they are used indiscriminately in navigation/menus, footers, links, and they are often used as a quick way to attach a style(CSS) to a piece of text. This is quite often a tempting tag to go to when writing HTML, but you really should be careful with it, as it plays an important role in search engine optimization (SEO). What are Header Tags &#8230; <a href="http://techpunt.com/optimizations/search-engine-optimization-seo/importance-of-header-tags-in-seo.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the biggest mistakes that people do is use header tags without realizing what they mean. Quite often I find pages where they are used indiscriminately in navigation/menus, footers, links, and they are often used as a quick way to attach a style(CSS) to a piece of text. This is quite often a tempting tag to go to when writing HTML, but you really should be careful with it, as it plays an important role in search engine optimization (SEO).</p>
<h2>What are Header Tags (H1, H2, H3, etc..)?</h2>
<p>The best way to think of the header tags is the same way you think of them in a printed document, with H1 being the biggest heading followed by H2, H3, and etc getting smaller and smaller. For instance, you might use them like this:</p>
<pre>H1 - Title of the document</pre>
<pre>H2 - Chapter titles</pre>
<pre>H3 - Sub chapter titles</pre>
<pre>H4 - Sections</pre>
<p>As you notice they tend to be used in order of importance, with H1 encompassing the whole document, H2 encompassing smaller sections, H3 even smaller, etc. So by using an H1 for navigation buttons, you are essentially saying that the text best describes the purpose of the page, which &#8220;About Us&#8221;, &#8220;FAQ&#8221;, etc really do not say much about the page and are very vague.</p>
<h2>How should they be used in SEO?</h2>
<h3>H1</h3>
<p>The most important header tag is H1, it should only be used once per page, and it should also uniquely best describe the page, so avoid making it vague. You can also naturally include keywords you believe is important to it. For instance, if you are running a flash game site, and you might have a game called &#8220;Ping Pong&#8221;, you may want your H1 to read &#8220;Ping Pong Flash Game&#8221;.</p>
<h3>H2</h3>
<p>This tag is also important, second to the H1 tag. With H2s you can use them more often in a page, and really should be dependent on the amount of text on the page. Generally you should keep the usage of H2s to a max of 5, or 10 for a real long page. These tags should best describe sections of a page, and can also naturally contain keywords, as long as your not spamming the same keywords in every tag possible. Using the flash game site example again, we could have a headings like: &#8220;How to play Ping Pong&#8221;, &#8220;Comments about this flash game&#8221;, &#8220;Other games like Ping Pong&#8221;</p>
<h3>H3, H4, etc&#8230;</h3>
<p>As we progress further down the headings, you can use them more often, and to describe less important and smaller sections. They really should be splitting up the parent heading into smaller sections, though you don&#8217;t always have to use them right after the parent section it describes.</p>
<h2>Some things to consider</h2>
<p>SEO can be a guessing game, as we do not know the exact algorithm used, or people would be exploiting it. As such no one is ever 100% certain as to what truly works, sometimes you just need to experiment and see what works for your site.</p>
<p>There are a few tips that I like to share that may or may not work:</p>
<ol>
<li>Try to always make any optimizations you use natural and honest, as anything that would look like spam might be seen as spam by a search engine.</li>
<li>Sometimes it is hard to include certain keywords in a header tag, but they can be included in the navigation, so why not wrap the &#8220;selected&#8221; navigational item in a H2 or H3?</li>
<li>Sometimes it is better to just include the title of the page in the H1, and avoid including any general keywords as they would feel unnatural, and sometimes it is best to include them in the lesser header tags (H2, H3, etc..).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/optimizations/search-engine-optimization-seo/importance-of-header-tags-in-seo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Efficiency Versus Coding Efficiency</title>
		<link>http://techpunt.com/development/code-efficiency-versus-coding-efficiency.html</link>
		<comments>http://techpunt.com/development/code-efficiency-versus-coding-efficiency.html#comments</comments>
		<pubDate>Mon, 18 Apr 2011 03:39:01 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=19</guid>
		<description><![CDATA[With everyone pushing frameworks as the way to develop new and revolutionary web applications, you need to start wondering what are the drawbacks. Obviously the convenience comes at a price, a price you should know when developing your next web app, a price you should knowingly accept. This price can also be said about anything that makes coding easier, such as higher level programming languages, as similar points typically apply to them too. What is a Framework? To fully define a framework, we can easily fill &#8230; <a href="http://techpunt.com/development/code-efficiency-versus-coding-efficiency.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>With everyone pushing frameworks as the way to develop new and revolutionary web applications, you need to start wondering what are the drawbacks. Obviously the convenience comes at a price, a price you should know when developing your next web app, a price you should knowingly accept. This price can also be said about anything that makes coding easier, such as higher level programming languages, as similar points typically apply to them too.</p>
<h4><strong>What is a Framework?</strong></h4>
<p>To fully define a framework, we can easily fill an article just on that topic, and since we are focusing on the benefits and drawbacks, I will try to keep it short.</p>
<p>A framework really boils down to a library or collection of object/classes/functions that help aid in the development process by providing you with the tools you need, that will help you from reinventing the wheel for the millionth time (so to speak).</p>
<p>They can provide you with wrappers that simplify tasks, like interfacing with a database, and aid you in debugging, and profiling performance with minimal work. It can also provide you with an underlying structure that will help you keep your code organized into distinct separate parts.</p>
<p>It essentially provides you with functionality that you can reuse over and over again no matter what the project is, helping you focus on the bigger picture.</p>
<h4><strong>What are High Level Programming Languages?</strong></h4>
<p>The level of a programming language generally defines the &#8220;distance&#8221; you are from the machine architecture. The lower level a language is, the closer you get to developing in the language of the machine, assembly. An example of a high level language would be PHP, as it abstracts many of the lower details from the programmer, while C or C++ would be a lower level language, and assembly being one of the lowest.</p>
<p>In that sense, a framework could easily be said to make your programming even higher level than just plan PHP, as it adds another layer of abstraction (simplifies lower tasks).</p>
<h4><strong>What is the catch?</strong></h4>
<p>Since frameworks are made to be reused no matter what the circumstance, they are typically developed with a general purpose in mind. They are the all season tires of the coding world, and as such, they will get you from point a to point b safely. But, just like the tires on the road, they are not finely tuned for the current conditions you will be facing. Due to this, you are not able to drive as fast as you may want to, since the tires will not perform as well on the road as well as ones finely tuned. Also, without a decent driver (programmer) behind the wheel, even with the finely tuned tires, you still may not get there fast, or even worse, you may crash and burn.</p>
<h4><strong>Performance Considerations</strong></h4>
<p>When developing a web application, utilizing a decent framework will help you cut your development time down considerably, at the cost of efficiency. But just as there is a cost associated with efficiency, there is a cost associated with the development time as well, so you must decide what cost is greater depending on what you are trying to achieve. Though please remember, an incompetent programmer should always program in a higher level language, if at all.</p>
<p>For instance, if you are developing a web application that is to be used on a local network within your company, than obviously the greater cost would be the development time, as you surely don&#8217;t need the performance nor the ability to support a million users.</p>
<p>If you are coding the next <a href="http://techpunt.com/c/facebook">Facebook</a>, you might want to consider coding more lower level, as in the long run, the savings you get from deploying less servers to handle the load will probably outweigh the cost of development, or future development if the site grows, and you opt for the switch.</p>
<p>On a closing note, from various benchmarks on the internet, a <a href="http://leftblank.nl/php-framework-benchmark-zend-codeigniter-cakephp-481.html" target="_blank">PHP framework can be as much as 10 times slower than plain PHP</a> when completing a simple task, while <a href="http://blog.famzah.net/2010/07/01/cpp-vs-python-vs-perl-vs-php-performance-benchmark/" target="_blank">C++ can be as much as 30x faster than plain PHP</a>, which makes C++ as much as 300x faster than a PHP framework. Even though those figures are based on a single test, that might not be perfect, and figures may vary depending on the application, PHP version, etc,  it is still something to consider or think about.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/development/code-efficiency-versus-coding-efficiency.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Losing Through Facebook Like Jacking</title>
		<link>http://techpunt.com/facebook/losing-through-facebook-like-jacking.html</link>
		<comments>http://techpunt.com/facebook/losing-through-facebook-like-jacking.html#comments</comments>
		<pubDate>Sat, 16 Apr 2011 12:30:59 +0000</pubDate>
		<dc:creator>Wojciech Hlibowicki</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://techpunt.com/?p=6</guid>
		<description><![CDATA[Every Facebook &#8220;Like&#8221; a site gets can mean more money for the website owners, like through increase in traffic to their ads. Now, when it comes to money, there will always be a group that will earn it the hard way, and there will also be a group that will exploit any means necessary to get it. Put the two together, and you have the rise of &#8220;Like Jacking&#8221;, where rogue webmasters will trick you into liking their site, even by luring you in with &#8230; <a href="http://techpunt.com/facebook/losing-through-facebook-like-jacking.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Every Facebook &#8220;Like&#8221; a site gets can mean more money for the website owners, like through increase in traffic to their ads. Now, when it comes to money, there will always be a group that will earn it the hard way, and there will also be a group that will exploit any means necessary to get it. Put the two together, and you have the rise of &#8220;Like Jacking&#8221;, where rogue webmasters will trick you into liking their site, even by luring you in with videos of the tsunami in Japan, without you knowing what happened.</p>
<h4>&#8220;Like Jacking&#8221;</h4>
<blockquote><p>A way to trick a user to liking something they did not intentional &#8220;Like&#8221;, usually through an invisible &#8220;Like&#8221; button that is either placed careful on the page, or one that follows the mouse cursor.</p></blockquote>
<p>Like Jacking is not something new in terms of internet time, there are plenty of discussions and articles dating back to March 2010 or earlier, and who knows when it was truly first conceived. As time passes, we can be assured more and more people are aware of the issue, and as more people are educated, more rogue webmasters are as well, and as long as this exploit is possible, we can be certain they are either taking advantage of it, or working towards it.</p>
<h4>There are different things that may happen, some being more likely than others:</h4>
<p><strong>Through education people will be even more careful of what sites they visit, what links from their friends on Facebook they follow, and checking their Facebook wall regularly to make sure nothing is unusual.</strong></p>
<p>Lets hope this never happens, which may seem like an odd thing to say, but once I tell you the reasons why, you will understand.</p>
<p>Essentially, <span style="text-decoration: underline;">this will devalue the &#8220;Like&#8221; button heavily</span>, as some users will become afraid to use it or trust it, and may take on certain precautions that make the &#8220;Like&#8221; button too much of a hassle to use. Imagine having to check your wall after every time you check out something a friend of yours liked, it would quickly become very annoying. Then there will be times that you just want to relax, you will just shutter at the thought of all that extra work and worrying, and will avoid likes to any sites you don&#8217;t frequently visit.</p>
<p>Which you might think all that is reasonable, but what if one of the likes on your friends wall is the next big thing to hit the internet and you, along with many others, will pass up on it. It may still become popular over time still, but it will not have the explosive growth that could be realized otherwise, a growth that might help make the site. A growth that might have the perfect timing, since timing can mean everything. Essentially the potential and magnitude of something going viral would diminish.</p>
<p>Now, the more devalued the &#8220;Like&#8221; button gets, the less it will be used, and the less it will be pushed on websites, which can stifle Facebook&#8217;s growth, along with many websites. So it is in Facebook&#8217;s best interest to keep your trust in their site, and feel protected and uninhibited.</p>
<p><strong>Browsers detecting certain odd behaviors, like a very transparent &#8220;Like&#8221; button that may or may not be constantly moving with the mouse.</strong></p>
<p>This would probably be the most ideal situation, but without every browser doing this, it will not fully make the problem go away, only shrink it.</p>
<p>You may also wonder why do browsers allow something like this to be possible, well they don&#8217;t directly. Essentially the exploit makes use of very useful functionality, each with a very good purpose that is used properly around the web, but when combined together and with a Facebook Like button, becomes an exploit. This is similar to matches, and gasoline, both on their own serve a useful purpose, now you take those two, and couple it with someones property, and you have arson.</p>
<p><strong>Facebook itself will solve the problem, possibly by forcing users to confirm certain likes, a &#8220;Do you trust this site&#8221; type of dialog, or through proactive means, where they track trends and/or scan every page that has a &#8220;Like&#8221; button on it for known exploits.</strong></p>
<p>This might be the best solution, mainly tracking trends and proactively scanning sites that use the button. Facebook would be able to implement this on their own, it would be in their best interest, and doesn&#8217;t rely on others. They can even implement a report button next to content you liked on your wall, and if enough people report it, they should investigate it quickly, or automatically suspend the link.</p>
<p><strong>The problem is never solved</strong></p>
<p>This is very unlikely, as no one will be content on being cheated regularly, otherwise Africa would be the richest continent in the world (probably not, but amusing to hypothesize that). But lets say the problem continues, and gets worse, it truly would devalue the &#8220;Like&#8221; button exponentially worse than through users being educated and weary.</p>
<p>As the &#8220;Like&#8221; button gets devalued, websites will stop bothering using it, as it would not be worth the hassle. Facebook would possibly remove it as only spammers would be using it, and a revolutionary and great idea will die, but before that happens, feel free to &#8220;Like&#8221; this article.</p>
]]></content:encoded>
			<wfw:commentRss>http://techpunt.com/facebook/losing-through-facebook-like-jacking.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

