<?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>Quite a Bright Light &#187; Internet</title>
	<atom:link href="http://www.quitebrightlight.com/category/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.quitebrightlight.com</link>
	<description></description>
	<lastBuildDate>Mon, 10 May 2010 19:40:07 +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>Vpnc under Ubuntu: Connection established, but not being used</title>
		<link>http://www.quitebrightlight.com/2009/12/vpnc-under-ubuntu-connection-established-but-not-being-used/</link>
		<comments>http://www.quitebrightlight.com/2009/12/vpnc-under-ubuntu-connection-established-but-not-being-used/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 13:38:28 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[vpnc]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=52</guid>
		<description><![CDATA[Working from home, the need for a proper vpn connection with my university got quite important to me. I had installed and configured vpnc earlier, but I couldn&#8217;t get any further then establishing a connection. Once the connection was made, I still couldn&#8217;t get on university-only sites or make use of certain services. So I [...]]]></description>
			<content:encoded><![CDATA[<p>Working from home, the need for a proper vpn connection with my university got quite important to me. I had installed and configured vpnc earlier, but I couldn&#8217;t get any further then establishing a connection. Once the connection was made, I still couldn&#8217;t get on university-only sites or make use of certain services. So I thought I&#8217;d try to find out what was wrong. Turns out that there&#8217;s a <a href="https://bugs.launchpad.net/ubuntu/+source/network-manager-vpnc/+bug/268567" onclick="pageTracker._trackPageview('/outgoing/bugs.launchpad.net/ubuntu/+source/network-manager-vpnc/+bug/268567?referer=');">standard setting that makes the VPN not being used for all network traffic</a>. You can turn it of by going to the VPN settings (&#8220;configure VPN&#8221; and select the VPN connection, click &#8220;edit&#8221;), go the &#8220;IPv4 settings&#8221; tab, click on &#8220;Routes&#8230;&#8221; and uncheck &#8220;Use this connection only for resources on its network&#8221;. That trick did it for me. </p>
<p>Don&#8217;t really know whether it&#8217;s vpnc or network-manager-vpnc that is to be blamed for the standard settings.<br />
My versions: Ununtu 9.10, vpnc 0.5.3-1 and network- manager-vpnc 0.8~a~git.20091008(&#8230;)-0ubuntu1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2009/12/vpnc-under-ubuntu-connection-established-but-not-being-used/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IP based redirect for bots using .htaccess</title>
		<link>http://www.quitebrightlight.com/2009/04/ip-based-redirect-for-bots-usin-htaccess/</link>
		<comments>http://www.quitebrightlight.com/2009/04/ip-based-redirect-for-bots-usin-htaccess/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 21:01:53 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=22</guid>
		<description><![CDATA[Like all of us &#8211; I think &#8211; I really hate comment spammers. I really hate unruly bots, actually. I really do. If you start keeping stats of visitors on your site, you&#8217;ll quickly spot bots crawling all over your site, searching for all sorts of ways to epxloit your website. They look for email [...]]]></description>
			<content:encoded><![CDATA[<p>Like all of us &#8211; I think &#8211; I really hate comment spammers. I really hate unruly bots, actually. I really do. If you start keeping stats of visitors on your site, you&#8217;ll quickly spot bots crawling all over your site, searching for all sorts of ways to epxloit your website. They look for email addresses, they try to submit spam comments, they try to find ways to enter your database, they do everything but help you. They are leeches. They stink. I really don&#8217;t like them&#8230;</p>
<p>Luckily, there are different ways to handle bots as well. If you&#8217;re using a .htacces file, for example, you can add a snippet to block the vermin based on their IP address. An idea I liked even better is to <a href="http://amifamousnow.com/how-to/howto-htaccess-ip-redirect-to-any-site/" onclick="pageTracker._trackPageview('/outgoing/amifamousnow.com/how-to/howto-htaccess-ip-redirect-to-any-site/?referer=');">redirect the bots</a> to a site that tries to reeducate the bots. You never know. </p>
<p>In stead of redirecting the bots to a governement site where they can take a seat and follow a hands-on course on cyber crimes, another good idea is to send the little bastards to a <a href="http://www.americanbeaconfunds.com/contact/spam/trap.html" onclick="pageTracker._trackPageview('/outgoing/www.americanbeaconfunds.com/contact/spam/trap.html?referer=');">spam trap page</a>. Gives me visions of all bots in the world swimming around in a pool of interlinked spam pages, never able to get out by them selves. Heaven&#8230;</p>
<p>So that&#8217;s what I do now, I redirect the bots to a spam trap. Typing in the IP&#8217;s in the required format for the .htaccess file, however, can be a PITA. Therefore, I wrote a little script to generate the .htaccess snippet based on a list of IP&#8217;s in their normal format. The .htaccess format itself comes from <a href="http://amifamousnow.com/how-to/howto-htaccess-ip-redirect-to-any-site/" onclick="pageTracker._trackPageview('/outgoing/amifamousnow.com/how-to/howto-htaccess-ip-redirect-to-any-site/?referer=');">Am I Famous Now</a>. Insert the URL where you want to send the bots to or leave the one I use, insert the IP&#8217;s of the bots and push the button:</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-0445421940264769";
google_ad_slot = "7713378196";
google_ad_width = 468;
google_ad_height = 15;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<br />
<script type="text/javascript" src="http://www.quitebrightlight.com/wp-includes/js/jquery/jquery.form.js"></script><br />
<script type="text/javascript"> function createhtaccess() {
  var queryString = jQuery("#IPform").formToArray();
  jQuery("#IPresult").load("/scripts/IPredirect.php", queryString);
  jQuery("#IPresult").addClass("insertcode");
  }
  </script></p>
<form id="IPform">
<strong>The URL to refer the bots to:</strong></p>
<div class='field'>
<TEXTAREA name="URL" id="URL" rows="2" cols="60">http://www.americanbeaconfunds.com/contact/spam/trap.html</TEXTAREA>
</div>
<p><strong>The IP&#8217;s to refer (one per line):</strong></p>
<div class='field'>
<TEXTAREA name="IPs" id="IPs" rows="10" cols="60">xxx.xxx.xxx.xxx</TEXTAREA>
</div>
<input type=button value='generate .htaccess snippet' onclick='createhtaccess();' />
</form>
<div name = 'IPresult' id = 'IPresult'></div>
<p>Copy paste the snippet into your .htaccess file, and you&#8217;re all set. (WATCH OUT: if you don&#8217;t know what you&#8217;re doing, messing with .htaccess can wreck your site in a second. Don&#8217;t blame me. I told you.) This works fine, ofcourse, when you can easily keep track of the bots. When you have huge traffic on your site, you probably have a huge number of bots visiting it as well. In that case, you&#8217;re probably better of with a lean and mean, fully automated and integrated bot trapping/blocking device like <a href="http://www.kloth.net/internet/bottrap.php" onclick="pageTracker._trackPageview('/outgoing/www.kloth.net/internet/bottrap.php?referer=');">this</a> or <a href="http://www.kloth.net/internet/bottrap.php" onclick="pageTracker._trackPageview('/outgoing/www.kloth.net/internet/bottrap.php?referer=');">this</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-0445421940264769";
google_ad_slot = "7713378196";
google_ad_width = 468;
google_ad_height = 15;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2009/04/ip-based-redirect-for-bots-usin-htaccess/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Drupal: Combining Taxonomy Menu and Taxonomy Redirect</title>
		<link>http://www.quitebrightlight.com/2009/04/drupal-combining-taxonomy-menu-and-taxonomy-redirect/</link>
		<comments>http://www.quitebrightlight.com/2009/04/drupal-combining-taxonomy-menu-and-taxonomy-redirect/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 10:36:38 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Taxonomy Menu]]></category>
		<category><![CDATA[Taxonomy Redirect]]></category>

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


Taxonomy Menu is a very nice Drupal module that lets you create a menu based on a content type&#8217;s taxonomy. The taxonomy terms form the menu structure, and the way the nodes are displayed when a menu item (= taxonomy term) is selected can be customised using a custom view. I really like it. I [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-0445421940264769";
google_ad_slot = "7713378196";
google_ad_width = 468;
google_ad_height = 15;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p><a onclick="pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_menu?referer=');pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_menu?referer=');pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_menu?referer=');" href="http://drupal.org/project/taxonomy_menu">Taxonomy Menu</a> is a very nice Drupal module that lets you create a menu based on a content type&#8217;s taxonomy. The taxonomy terms form the menu structure, and the way the nodes are displayed when a menu item (= taxonomy term) is selected can be customised using a custom view. I really like it. I like it so much, that I wanted the taxonomy terms displayed in the header of my nodes to link to the same menu structure, so that clicking on them was the same as clicking on the same term in the Taxonomy Menu.</p>
<p>Here enters <a onclick="pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_redirect?referer=');pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_redirect?referer=');pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_redirect?referer=');" href="http://drupal.org/project/taxonomy_redirect">Taxonomy Redirect</a>. This module allows one to rewrite the url that the Taxonomy module creates. So instead of blabla.com/taxonomy/term/999 you can make the link blablabla.com/goto/this/instead/999. For this, you can define a redirect as plain text, or with a php snippet. Due to the link structure Taxonomy Menu uses, I had to resort to php for dynamically creating the Redirect link. The standard format for the link structure for Taxonomy Menu is &#8220;sitename.com/category/vid/pid1/pid2/tid&#8221; (with vid the vocabulary id, pid a parent term id, and tid the term id). The term &#8220;category&#8221; can be set in the settings for Taxonomy Menuy. Using plain text to define the Redirect link would f*** things up when the taxonomy term did not have any parents. Php worked fine, once I found out that the Redirect module defines a variable $tid for the term id, that you can use in your script. The code I used:</p>
<div class="insertcode">&lt;?php<br />
$output = &#8220;category/1/&#8221;;<br />
$parents = taxonomy_get_parents_all($tid);<br />
$parents = array_reverse($parents);<br />
// Remove the child term from the array<br />
array_pop($parents);<br />
foreach ($parents as $parent) {<br />
$output .= &#8220;$parent-&gt;tid&#8221;;<br />
$output .= &#8220;/&#8221;;<br />
}<br />
$output .= $tid;<br />
return $output;<br />
?&gt;</div>
<p>The &#8220;1&#8243; behind &#8220;category&#8221; in the first line is for the vocabulary, so you&#8217;ll have to check what value you need there. Note that using php might not work straight away for anonymous users. To resolve this, have a look <a href="http://www.quitebrightlight.com/2009/04/drupal-using-php-in-taxonomy-redirect-for-anonymous-users/">here</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2009/04/drupal-combining-taxonomy-menu-and-taxonomy-redirect/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Drupal: using PHP in Taxonomy Redirect for anonymous users</title>
		<link>http://www.quitebrightlight.com/2009/04/drupal-using-php-in-taxonomy-redirect-for-anonymous-users/</link>
		<comments>http://www.quitebrightlight.com/2009/04/drupal-using-php-in-taxonomy-redirect-for-anonymous-users/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 14:03:24 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[anonymous users]]></category>
		<category><![CDATA[PHP filter]]></category>
		<category><![CDATA[Taxonomy Redirect]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=20</guid>
		<description><![CDATA[As mentioned at drupal.org, there is an issue with Taxonomy Redirect where (at least in Drupal 5, don&#8217;t know about 6) the PHP filter doesn&#8217;t work for anonymous users. Instead of evaluating the PHP snippet, Taxonomy Redirect will return the snippet as text, resulting in very long url holding your script code. As I mentioned [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned at <a href="http://drupal.org/node/401706" onclick="pageTracker._trackPageview('/outgoing/drupal.org/node/401706?referer=');">drupal.org</a>, there is an issue with <a href="http://drupal.org/project/taxonomy_redirect" onclick="pageTracker._trackPageview('/outgoing/drupal.org/project/taxonomy_redirect?referer=');">Taxonomy Redirect</a> where (at least in Drupal 5, don&#8217;t know about 6) the PHP filter doesn&#8217;t work for anonymous users. Instead of evaluating the PHP snippet, Taxonomy Redirect will return the snippet as text, resulting in very long url holding your script code. As I mentioned at drupal.org, this is probably due to the use of the filter_formats() function in taxonomy_redirect_get_php_filter() to find the right identifier for the PHP filter. Because filter_formats checks for user permissions as well, in a default Drupal install it will only return an HTML filter, and no PHP filter. As such, the identifier is set to the default value &#8220;0&#8243;, which is actually the identifier for a text filter. Hence, Taxonomy Redirect returns filtered text instead of a PHP evaluation. This can be resolved by setting the default value for the filter identifier to &#8220;2&#8243; in line 248 of taxonomy_redirect.module (5.x-1.3):</p>
<div class="insertcode">function taxonomy_redirect_get_php_filter() {<br />
$phpfilter = 0;<br />
$filters = filter_formats();<br />
foreach ($filters as $filter) {<br />
&#8230;</div>
<p>becomes:</p>
<div class="insertcode">function taxonomy_redirect_get_php_filter() {<br />
$phpfilter = 2;<br />
$filters = filter_formats();<br />
foreach ($filters as $filter) {<br />
&#8230;</div>
<p>You may want to check whether the identifier for the PHP filter is 2 for you Drupal install. You can verify this in your Drupal database in the filter_formats table.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2009/04/drupal-using-php-in-taxonomy-redirect-for-anonymous-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using BBClone with Drupal 5 or 6</title>
		<link>http://www.quitebrightlight.com/2009/02/using-bbclone-with-drupal-5-or-6/</link>
		<comments>http://www.quitebrightlight.com/2009/02/using-bbclone-with-drupal-5-or-6/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 22:42:12 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[BBClone]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=18</guid>
		<description><![CDATA[BBClone is to my knowledge one of the best stat counters freely avaibable. It is written in PHP, and it provides you with a wealth of information, is highly configurable, and doesn&#8217;t require you to mess with database tables. I find it to be very complementary to Google Analytics. It doesn&#8217;t offer the vast analysis [...]]]></description>
			<content:encoded><![CDATA[<p><a onclick="pageTracker._trackPageview('/outgoing/bbclone.de?referer=');pageTracker._trackPageview('/outgoing/bbclone.de?referer=http://www.quitebrightlight.com/wp-admin/post.php?action=edit&amp;post=18&amp;message=4');pageTracker._trackPageview('/outgoing/bbclone.de?referer=http://www.quitebrightlight.com/wp-admin/post.php?action=edit&amp;post=18&amp;message=4');pageTracker._trackPageview('/outgoing/bbclone.de?referer=http://www.quitebrightlight.com/wp-admin/post-new.php');" href="http://bbclone.de">BBClone</a> is to my knowledge one of the best stat counters freely avaibable. It is written in PHP, and it provides you with a wealth of information, is highly configurable, and doesn&#8217;t require you to mess with database tables. I find it to be very complementary to <a onclick="pageTracker._trackPageview('/outgoing/www.google.com/analytics/?referer=');pageTracker._trackPageview('/outgoing/www.google.com/analytics/?referer=http://www.quitebrightlight.com/wp-admin/post.php?action=edit&amp;post=18&amp;message=4');pageTracker._trackPageview('/outgoing/www.google.com/analytics/?referer=http://www.quitebrightlight.com/wp-admin/post.php?action=edit&amp;post=18&amp;message=4');pageTracker._trackPageview('/outgoing/www.google.com/analytics/?referer=http://www.quitebrightlight.com/wp-admin/post-new.php');" href="http://www.google.com/analytics/">Google Analytics</a>. It doesn&#8217;t offer the vast analysis possibilities that Google has to offer, but BBClone does provide you with more information about individual visitors, such as the keywords the used to land at your site. I&#8217;m sure there&#8217;s a certain threshold of daily visitors above which BBClone becomes a bit superfluous because the information is just too much, but when you&#8217;re below that threshold, it&#8217;s a bless.</p>
<p>One of the disadvantages of BBClone, however, is the fact that it cannot be included from within a function. To function properly, BBClone has to be called directly. Calling BBClone is done using:</p>
<div class="insertcode">&lt;?php<br />
define(&#8220;_BBCLONE_DIR&#8221;, &#8220;bbclone/&#8221;);<br />
define(&#8220;COUNTER&#8221;, _BBCLONE_DIR.&#8221;mark_page.php&#8221;);<br />
if (is_readable(COUNTER)) include_once(COUNTER);<br />
?&gt;</div>
<p>Optionally, you can define the refering page using:</p>
<div class="insertcode">&lt;?php<br />
define(&#8220;_BBC_PAGE_NAME&#8221;, &#8220;Test&#8221;);<br />
define(&#8220;_BBCLONE_DIR&#8221;, &#8220;bbclone/&#8221;);<br />
define(&#8220;COUNTER&#8221;, _BBCLONE_DIR.&#8221;mark_page.php&#8221;);<br />
if (is_readable(COUNTER)) include_once(COUNTER);<br />
?&gt;</div>
<p>The pagename and the directory have to be changed according to your needs.</p>
<p>When you&#8217;re not caching your website at all, you can easily add this snippet to you page.tpl.php template, and that should work fine. In this case, you can even use the available Drupal functions to define the page name. When you&#8217;re serving your Drupal cached, then that&#8217;s not possible, however, as page.tpl.php is only called now and again (when the cache is being refreshed). If BBClone could be called from within a function, one could easily write a module calling BBClone during the bootstrap. Alas, that&#8217;s not possible. Therefore, the only possibilties to my knowledge require some core hacking. The one that I like the most, is messing with the main index.php file, because it&#8217;s a very simple file.<br />
Right after the comment, <a onclick="pageTracker._trackPageview('/outgoing/drupal.org/node/182790_comment-281788?referer=');pageTracker._trackPageview('/outgoing/drupal.org/node/182790_comment-281788?referer=http://www.quitebrightlight.com/wp-admin/post.php?action=edit&amp;post=18&amp;message=4');pageTracker._trackPageview('/outgoing/drupal.org/node/182790_comment-281788?referer=http://www.quitebrightlight.com/wp-admin/post.php?action=edit&amp;post=18&amp;message=4');" href="http://drupal.org/node/182790#comment-281788">you can add</a>:</p>
<div class="insertcode">&lt;?php<br />
$bbrequest = strtolower($_SERVER["REQUEST_URI"]);<br />
define(&#8220;_BBC_PAGE_NAME&#8221;, $bbrequest);<br />
define(&#8220;_BBCLONE_DIR&#8221;,$_SERVER['DOCUMENT_ROOT'].&#8221;/statcount/&#8221;);<br />
define(&#8220;COUNTER&#8221;, _BBCLONE_DIR.&#8221;mark_page.php&#8221;);<br />
if (is_readable(COUNTER)) include_once(COUNTER);<br />
?&gt;</div>
<p>(Ofcourse, you don&#8217;t have to include the php tags.) The first two lines define the page name as the url requested from the server. Because the bootstrap has not even been initiated, using Drupal functions is not possible. One could write a more elaborate function to extract the page title, but I think this solution is both elegant and simple. And it works&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2009/02/using-bbclone-with-drupal-5-or-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free advertisement</title>
		<link>http://www.quitebrightlight.com/2008/10/free-advertisement/</link>
		<comments>http://www.quitebrightlight.com/2008/10/free-advertisement/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 16:43:39 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[Advertising]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[Ikea]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=11</guid>
		<description><![CDATA[Apparently, a four letter brand name can come in handy&#8230;

]]></description>
			<content:encoded><![CDATA[<p>Apparently, a four letter brand name can come in handy&#8230;</p>
<p style="text-align: center;"><a href="http://www.quitebrightlight.com/wp-content/uploads/2008/10/ikea.png"><img class="aligncenter size-medium wp-image-12" title="ikea" src="http://www.quitebrightlight.com/wp-content/uploads/2008/10/ikea-300x256.png" alt="ikea" width="300" height="256" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2008/10/free-advertisement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Adsense ad language</title>
		<link>http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/</link>
		<comments>http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/#comments</comments>
		<pubDate>Thu, 22 May 2008 12:00:04 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[ad language]]></category>
		<category><![CDATA[Google adsense]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=6</guid>
		<description><![CDATA[When I started using Google Adsense, my ads were set in the wrong language: in stead of displaying ads in English, Google sent me ads in French. Even more: in stead of calling the whole thing &#8220;Ads by Google&#8220;, it was called &#8220;Google Annonces&#8220;. And all this happened on a site with not a single [...]]]></description>
			<content:encoded><![CDATA[<p>When I started using <a title="Google Adsense" onclick="pageTracker._trackPageview('/outgoing/www.google.com/adsense/?referer=');pageTracker._trackPageview('/outgoing/www.google.com/adsense/?referer=');pageTracker._trackPageview('/outgoing/www.google.com/adsense/?referer=http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/');" href="https://www.google.com/adsense/" target="_self"><strong>Google Adsense</strong></a>, my ads were set in the <em>wrong language</em>: in stead of displaying ads in <em>English</em>, Google sent me ads in <em>French</em>. Even more: in stead of calling the whole thing &#8220;<em>Ads by Google</em>&#8220;, it was called &#8220;<em>Google Annonces</em>&#8220;. And all this happened on a site with not a single non-English word. It took me some time to find out how to change this, even though in the end it was pretty trivial. That&#8217;s why I decided to list some items you&#8217;ll want to check when the language of your ads are not the language you expected.</p>
<p>Google is pretty good in keeping secrets,  so I expect there are not a lot of people outside Google that know its recipe for selecting the language of ads they send you. We do know, however, that it is based on a range of different factors, and changing only one might not yield the result you were hoping for.</p>
<ul>
<li>First of all, there are the -very- obvious ones: your <em>personal settings</em> in your Adsense account. Even though this site is hosted on a server in <a title="DrupalValueHosting" onclick="pageTracker._trackPageview('/outgoing/www.drupalvaluehosting.com/members/aff.php?aff=075&amp;referer=');pageTracker._trackPageview('/outgoing/www.drupalvaluehosting.com/members/aff.php?aff=075&amp;referer=');pageTracker._trackPageview('/outgoing/www.drupalvaluehosting.com/members/aff.php?aff=075&amp;referer=http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/');" href="http://www.drupalvaluehosting.com/members/aff.php?aff=075" target="_blank">Seattle</a> and  fully written in English, it still received French advertising. I think this is due to the fact that that is the closest they could get to my mother country. Mind you, the language in my account was set to English. You can&#8217;t move to another country, in order to have your ads displayed in another country, of course (or if you do, you must have a great website, can I join?) but keep it in mind anyway.</li>
<li>Then we go to the &#8211; for the less web savvy users &#8211; <em>less</em> obvious ones: the <em>meta information</em> in your sites headers. Every webpage starts with a bit of information about itself. This information is formatted in tags, that are called the meta tags. One piece of information you can share with the world, is the language used on the page. I found that my WordPress header didn&#8217;t include this information by default. You can change this by adding it to your header.php file. You can find this file in the directory of the theme you&#8217;re using (e.g. wp-content-&gt;themes-&gt;default-&gt;header.php). You can open it with any text editor, and then you want to change the line that looks like this:
<div class="insertcode">&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; &lt;?php language_attributes(); ?&gt;&gt;</div>
<p>into this:</p>
<div class="insertcode">&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; &lt;?php language_attributes(); ?&gt; xml:lang=&#8221;en&#8221; lang=&#8221;en&#8221; &gt;</div>
<p>Now you let the browsers of your visitors and Google or any other robot know that the language of your webpage is English (If you want another language, you&#8217;ll have to change the &#8220;en&#8221; of course). That&#8217;s what did it for me.</li>
<li>And now we go into the really obscure parts: the things you display on your page. It seems to make sense that Google looks at the words you use, and tries to link them to a certain language. So if your website is in Spanish, then it makes sense that the ads are in Spanish, right? But if that&#8217;s what they do, then that&#8217;s only a part of the story. <a title="Apparently" onclick="pageTracker._trackPageview('/outgoing/free-for-tips.blogspot.com/2007/07/google-adsense-tips.html?referer=');pageTracker._trackPageview('/outgoing/free-for-tips.blogspot.com/2007/07/google-adsense-tips.html?referer=');pageTracker._trackPageview('/outgoing/free-for-tips.blogspot.com/2007/07/google-adsense-tips.html?referer=http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/');" href="http://free-for-tips.blogspot.com/2007/07/google-adsense-tips.html" target="_blank">Apparently</a>, the  use of <em>non-English characters</em> can upset the Great Googly Moogly language detector as well. So if tweaking of all the above setting doesn&#8217;t help, you might want to check on what exactly you&#8217;re displaying.</li>
<li>There&#8217;s another factor influencing the language of the ads shown on your site, but there&#8217;s not much you can do about it yourself: the locality of the visitor. A visitor&#8217;s location is obviously a strong indication of his language. So if you&#8217;re located in a Spanish speaking region, and visit an English website, you can still receive adds in Spanish. If you want to check what people in another region will see, you might try to use some kind of a proxy service. (The last time I checked <a onclick="pageTracker._trackPageview('/outgoing/www.webproxy.pro?referer=');pageTracker._trackPageview('/outgoing/www.webproxy.pro?referer=');" href="http://www.webproxy.pro" target="_blank">www.webproxy.pro</a> for example, its IP address returned an address in the States.)</li>
<li>If after all these great tips, you&#8217;re still receiving ads in <a onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Click_consonant?referer=');pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Click_consonant?referer=');pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Click_consonant?referer=http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/');" href="http://en.wikipedia.org/wiki/Click_consonant" target="_blank">click language</a>, then alas, I don&#8217;t know what to do. If you do have other tips, though, do not hesitate to put them in a comment!</li>
</ul>
<p>Cheers</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2008/05/google-adsense-ad-language/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MP3Fiesta doubles prices</title>
		<link>http://www.quitebrightlight.com/2008/05/mp3fiesta-doubles-prices/</link>
		<comments>http://www.quitebrightlight.com/2008/05/mp3fiesta-doubles-prices/#comments</comments>
		<pubDate>Tue, 20 May 2008 10:55:55 +0000</pubDate>
		<dc:creator>jefke</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[increase]]></category>
		<category><![CDATA[Magnatune]]></category>
		<category><![CDATA[MP3Fiesta]]></category>
		<category><![CDATA[price]]></category>

		<guid isPermaLink="false">http://www.quitebrightlight.com/?p=5</guid>
		<description><![CDATA[Wow! Doubling your prices overnight: how many real businesses could pull this off, without losing more than half of their customers? And that&#8217;s exactly what MP3Fiesta did. I&#8217;m sure I will check out the competition again, once I&#8217;m through my current balance.
It&#8217;s not that I&#8217;m against increasing prices. I guess inflation hits everybody. But the [...]]]></description>
			<content:encoded><![CDATA[<p>Wow! Doubling your prices overnight: how many real businesses could pull this off, without losing more than half of their customers? And that&#8217;s exactly what <a title="mp3fiesta" onclick="pageTracker._trackPageview('/outgoing/www.mp3fiesta.com?referer=');pageTracker._trackPageview('/outgoing/www.mp3fiesta.com?referer=');pageTracker._trackPageview('/outgoing/www.mp3fiesta.com?referer=');" href="http://www.mp3fiesta.com" target="_blank">MP3Fiesta</a> did. I&#8217;m sure I will check out the competition again, once I&#8217;m through my current balance.</p>
<p>It&#8217;s not that I&#8217;m against increasing prices. I guess inflation hits everybody. But the inflation has been nowhere near 100% last year, not even in Russia I would think. And I am aware that even with their prices doubled, the songs are still dead cheap. But at least, they could have had the politeness to warn their users, they have our email adresses. I wouldn&#8217;t have cared if the price of single songs would have gone up with 1 cent (still a respectable 10%), but when you decide to double you prices, I guess there are some basic levels of customer care you provide (even though thinking about customer care would probably automatically exclude doubling prices). You let your users know that such a change is at hands.</p>
<p><center><script type="text/javascript"><!--
google_ad_client = "pub-0445421940264769";
/* 468x60, created 07/06/08 */
google_ad_slot = "8805074873";
google_ad_width = 468;
google_ad_height = 60;
google_cpa_choice = ""; // on file
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></center></p>
<p>They probably feared a rush on their servers if they told their users of their plans. And true enough, some people would try and download as much as possible before the change was implemented. But issuing the warning sufficiently early enough would have spread out the server load. And maybe they thought about people that would quickly buy everything on their wishlist, people that now are forced to finish their wishlist at a much higher price. But I don&#8217;t think it works this way: I think a lot of those people will just buy less from their wishlist (I&#8217;m sure I will!).</p>
<p>I am sure there are people now who think that people who download from services as MP3fiesta and friends deserve no better. Fair enough. I, myself, have always hated everything which smelled like DRM, and have avoided Itunes as the plague. And even now they start selling DRM-free songs, I still don&#8217;t think it fair when a downloaded mp3 album costs almost as much as an album you buy in your everyday cd store (and if you wait for two years, the real life album &#8211; with booklet &#8211; is probably cheaper than the downloaded version).</p>
<p>That&#8217;s why I like services as <a title="Magnatune" onclick="pageTracker._trackPageview('/outgoing/www.magnatune.com?referer=');pageTracker._trackPageview('/outgoing/www.magnatune.com?referer=');pageTracker._trackPageview('/outgoing/www.magnatune.com?referer=');" href="http://www.magnatune.com" target="_blank">Magnatune</a>. They provide a direct link between performer and audience, resulting in much cheaper music for the buyers, and much more profit for the artists. Everybody happy! (Except for the big bosses of the music industry of course, they&#8217;ll have to do with a Rolls or two less&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quitebrightlight.com/2008/05/mp3fiesta-doubles-prices/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
