<?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>ifull</title>
	<atom:link href="http://ifull.com.br/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ifull.com.br/blog</link>
	<description>Agile Internet Development</description>
	<lastBuildDate>Mon, 12 Dec 2011 12:15:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>MySQL random date between a time period</title>
		<link>http://ifull.com.br/blog/2011/12/mysql-random-date-between-a-time-period/</link>
		<comments>http://ifull.com.br/blog/2011/12/mysql-random-date-between-a-time-period/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 12:15:15 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://ifull.com.br/blog/?p=3</guid>
		<description><![CDATA[I am working on a real estate project called Imovelreal. It maintains a register of all real estates on my city and fills up a blog. For its premiere I had to signed up a bunch of registers in a couple hours. It was quickly, but had not a pretty look. The register orders grouped [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a <strong>real estate project</strong> called <a href="http://imovelreal.com.br" target="_blank"><strong>Imovelreal</strong></a>. It maintains a register of all real estates on my city and fills up a <a href="http://imovelreal.com.br/blog" target="_blank">blog</a>.<br />
For its premiere I had to signed up a bunch of registers in a couple hours. It was quickly, but had not a pretty look. The register orders grouped by estate agent and the created date separated by few minutes do not looks like real data.</p>
<p>For this reason I wanted to change their creation dates to something between <em>2011-11-21 00:00:00</em> and <em>2011-11-23 23:59:59</em>.</p>
<p>First we need the <strong>Unix Timestamp</strong> for both dates:</p>
<pre>SELECT UNIX_TIMESTAMP('2011-11-21 00:00:00') AS start, UNIX_TIMESTAMP('2011-11-23 23:59:59') AS end;</pre>
<p>And, to get a random date, the recipe is:<br />
<strong>RAND() * (end &#8211; start) + start</strong></p>
<p>In SQL:</p>
<pre>SELECT FROM_UNIXTIME(RAND() * (1322099999 - 1321840800) + 1321840800) AS `the_date`</pre>
<p>For more information about all those “strange” numbers, visit <a href="http://www.phpied.com/random-mysql-date/" target="_blank">Stoyan&#8217;s phpied.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/12/mysql-random-date-between-a-time-period/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Cover-flow effect using Javascript and CSS</title>
		<link>http://ifull.com.br/blog/2011/11/apple-cover-flow-effect-using-javascript-and-css/</link>
		<comments>http://ifull.com.br/blog/2011/11/apple-cover-flow-effect-using-javascript-and-css/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 16:39:09 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ifull.com.br/blog/?p=201</guid>
		<description><![CDATA[Whom visited http://ifull.com.br in the last week should had saw our new &#8220;Apple cover-flow&#8221; like landing page. If you didn&#8217;t see yet, visit now to understand what I am talking about. Despite its pretty looks, It took only few minutes to be developed using Finn Rudolph&#8217;s ImageFlow library. It uses few images, Javascript, CSS and [...]]]></description>
			<content:encoded><![CDATA[<p>Whom visited <a href="http://ifull.com.br"><strong>http://ifull.com.br</strong></a> in the last week should had saw our new &#8220;<strong>Apple cover-flow</strong>&#8221; like landing page. If you didn&#8217;t see yet, visit now to understand what I am talking about.</p>
<p>Despite its pretty looks, It took only few minutes to be developed using <a href="http://finnrudolph.de/ImageFlow/" target="_blank"><strong>Finn Rudolph&#8217;s ImageFlow</strong></a> library. It uses <strong>few images</strong>, <strong>Javascript</strong>, <strong>CSS</strong> and two <strong>PHP</strong> files that manipulate your photos.</p>
<p>It is easy, fast, lightweight, <strong>cross-browser</strong> and beautifull. Works smoothly with <strong>mouse scroll</strong> and <strong>touch screen</strong> interfaces!</p>
<p>Just download the <em>zip</em> package at <a href="http://finnrudolph.de/ImageFlow/Download" target="_blank">http://finnrudolph.de/ImageFlow/Download</a> and change the defaults photos. On his website he teaches some customizations too.</p>
<p>100% recommended.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/11/apple-cover-flow-effect-using-javascript-and-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Windows Live Messenger (MSN) problem on Ubuntu</title>
		<link>http://ifull.com.br/blog/2011/11/fixing-windows-live-messenger-msn-problem-on-ubuntu/</link>
		<comments>http://ifull.com.br/blog/2011/11/fixing-windows-live-messenger-msn-problem-on-ubuntu/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 13:00:49 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=192</guid>
		<description><![CDATA[Eventually the Windows Live Messenger stops connecting on Ubuntu, on both Pidgin and Empathy. But you can fix this installing the msn-pecan package: sudo apt-get install msn-pecan After installing it you will have a new protocol on Accounts preferences window at your instant messenger program: msn-pecan. So, instead of creating your account with the traditional [...]]]></description>
			<content:encoded><![CDATA[<p>Eventually the <strong>Windows Live Messenger</strong> stops connecting on <strong>Ubuntu</strong>, on both <strong>Pidgin</strong> and <strong>Empathy</strong>. But you can fix this installing the <a title="msn-pecan" href="http://code.google.com/p/msn-pecan/" target="_blank"><em><strong>msn-pecan</strong></em></a> package:</p>
<pre>sudo apt-get install msn-pecan</pre>
<p>After installing it you will have a new protocol on Accounts preferences window at your instant messenger program: <strong>msn-pecan</strong>.<br />
So, instead of creating your account with the traditional <strong>Windows Live (MSN)</strong> protocol, choose <strong>msn-pecan</strong> protocol.</p>
<p>Voila!</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/11/fixing-windows-live-messenger-msn-problem-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Two steps to improve Ubuntu 11.10 interface for development</title>
		<link>http://ifull.com.br/blog/2011/10/two-steps-to-improve-ubuntu-11-10-interface-for-development/</link>
		<comments>http://ifull.com.br/blog/2011/10/two-steps-to-improve-ubuntu-11-10-interface-for-development/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 19:07:32 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=186</guid>
		<description><![CDATA[As soon as Canonical released the Ubuntu 11.10 final version, I upgraded my operational system. I have no doubt that Ubuntu&#8217;s interface is prettiest than ever. But unfortunately it became worst to people that works with development, like me :( I have no time to change my Linux distribution now, so I started a research [...]]]></description>
			<content:encoded><![CDATA[<p>As soon as <a title="Canonical" href="http://www.canonical.com/" target="_blank"><strong>Canonical</strong></a> released the <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank"><strong>Ubuntu 11.10</strong></a> final version, I upgraded my operational system.<br />
I have no doubt that Ubuntu&#8217;s interface is prettiest than ever.<br />
But unfortunately it became worst to people that works with development, like me :(</p>
<p>I have no time to change my <strong>Linux</strong> distribution now, so I started a research and solved my problem with two steps:</p>
<h4>1st step: Use Ubuntu 2D (Unity 2D) at login screen.</h4>
<p><a href="http://www.extremetech.com/computing/94833-ubuntu-11-10-beta-1-new-alttab-and-login-screen-multiarch-firefox-7-and-more"><img class="aligncenter size-full wp-image-187" title="Ubuntu 2D login screen" src="http://ifull.com.br/blog/wp-content/uploads/2011/10/ubuntu-11.10-login-crop1.jpg" alt="Ubuntu 2D login screen" width="500" height="375" /></a></p>
<p>It is not so beautiful as the default Ubuntu interface, but is fast. <strong>Faster even than Ubuntu 11.04 Unity</strong>.</p>
<h4>2nd step: Change the system font sizes</h4>
<p>Install and run the <em><strong>gnome-tweak-tool</strong></em> package.</p>
<pre>sudo apt-get install gnome-tweak-tool
gnome-tweak-tool</pre>
<p>On the Fonts&#8217; screen at the Advanced Settings&#8217; window that opens, switch the <strong>Text scaling factor</strong> to 0.9.</p>
<p><a href="http://ifull.com.br/blog/wp-content/uploads/2011/10/gnome-tweak-tool1.png"><img class="aligncenter size-medium wp-image-188" title="gnome-tweak-tool" src="http://ifull.com.br/blog/wp-content/uploads/2011/10/gnome-tweak-tool1-300x237.png" alt="gnome-tweak-tool" width="300" height="237" /></a></p>
<p>Thats it. I bet that you will work better and faster now, don&#8217;t you?</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/10/two-steps-to-improve-ubuntu-11-10-interface-for-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Array dump with PHP</title>
		<link>http://ifull.com.br/blog/2011/09/array-dump-with-php/</link>
		<comments>http://ifull.com.br/blog/2011/09/array-dump-with-php/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 19:12:09 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=172</guid>
		<description><![CDATA[Exchanging information between applications is often done through XML and JSON. I have no doubt that those are the best choices for 99% of scenarios. In my specific case, I access the database to make an data interaction that results on an array that is used on Zend_Navigation&#8216;s construct function. This array only changes when [...]]]></description>
			<content:encoded><![CDATA[<p>Exchanging information between applications is often done through <a title="XML at Wikipedia" href="http://en.wikipedia.org/wiki/XML" target="_blank"><strong>XML</strong></a> and <a title="JSON" href="http://www.json.org/" target="_blank"><strong>JSON</strong></a>. I have no doubt that those are the best choices for 99% of scenarios.</p>
<p>In my specific case, I access the database to make an data interaction that results on an array that is used on <a title="Zend_Navigation" href="http://framework.zend.com/manual/en/zend.navigation.html" target="_blank"><strong>Zend_Navigation</strong></a>&#8216;s construct function. This array only changes when some data is changed on the application&#8217;s control panel.</p>
<p>To avoid the database access and the loop interaction on every read access at a correlated application I have decided to exchange this array through <strong>array dump</strong>.<br />
I could export this array as an XML or JSON, to import and convert back to an array. However, as this information would be used only with Zend_Navigation&#8217;s PHP class, it had a fast development and a better performance doing with <strong>array dump</strong>.</p>
<pre>function load_array_dump($filename) {
    $fp = fopen($filename,"r");
    $content = fread($fp,filesize($filename));
    fclose($fp);

    eval('$array='.gzuncompress(stripslashes($content)).';');
    return($array);
}</pre>
<pre>function save_array_dump($filename, $array) {
    $dump = addslashes(gzcompress(var_export($array,true),9));
    $fp = fopen($filename, "wb+");
    fwrite($fp, $dump);
    fclose($fp);
}</pre>
<p>Thanks to <a title="Load and save a array dump" href="http://www.jonasjohn.de/snippets/php/load-and-save-a-array-dump.htm" target="_blank">Jonas John</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/09/array-dump-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving the &#8220;does not appear to be a git repository&#8221; error</title>
		<link>http://ifull.com.br/blog/2011/08/solving-the-does-not-appear-to-be-a-git-repository-error/</link>
		<comments>http://ifull.com.br/blog/2011/08/solving-the-does-not-appear-to-be-a-git-repository-error/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 17:42:03 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=168</guid>
		<description><![CDATA[Git is becoming the developer&#8217;s favorite version control system. And it is not only because GitHub. With Git is easier to crate branches and to configure a version control server too. You only need to access your server with ssh, create a directory, change to this directory and execute: git init --bare Now your directory [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Git" href="http://git-scm.com/" target="_blank"><strong>Git</strong></a> is becoming the developer&#8217;s favorite <strong>version control system</strong>. And it is not only because <a title="GitHub" href="https://github.com/" target="_blank">GitHub</a>. With Git is easier to crate <strong>branches</strong> and to configure a version control <strong>server</strong> too.</p>
<p>You only need to access your server with ssh, create a directory, change to this directory and execute:</p>
<pre>git init --bare</pre>
<p>Now your directory is a Git server.</p>
<p>On your client machine, change to your working directory and execute:</p>
<pre>git remote add origin user@serverIp:/pathToDir</pre>
<p>Switch <em>user</em> to your server username, <em>serverIp</em> to your server IP and <em>pathToDir</em> to your absolute git path on server.</p>
<p>That&#8217;s enough.<br />
But, if on a <em><strong>git remote show origin</strong></em> or on other commands you see an error like “<strong>does not appear to be a git repository</strong>” even when you are accessing your server with no problems, you probably have a mistake on git path on server.</p>
<p>Use the <strong><em>~</em> symbol to references your home directory</strong> on server. It has solved my problem.</p>
<pre>git remote add origin user@serverIp:/~/pathToDir</pre>
<p>Switch <em>user</em> to your server username, <em>serverIp</em> to your server IP and <em>pathToDir</em> to your absolute git path inside your home directory on server.</p>
<p><a title="The Joyent Community" href="http://discuss.joyent.com/viewtopic.php?id=27067" target="_blank">Thanks to broofa on The Joyent Community</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/08/solving-the-does-not-appear-to-be-a-git-repository-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netbeans &#8211; fast and with correct font sizes in Ubuntu</title>
		<link>http://ifull.com.br/blog/2011/08/netbeans-fast-and-with-correct-font-sizes-in-ubuntu/</link>
		<comments>http://ifull.com.br/blog/2011/08/netbeans-fast-and-with-correct-font-sizes-in-ubuntu/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 16:23:10 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=170</guid>
		<description><![CDATA[The first thing that I suggest to every fresh Ubuntu&#8216;s user is to install the ubuntu-restricted-extras package. sudo apt-get install ubuntu-restricted-extras It brings to you all the codecs and plugins that you need to a great user experience. The Java Virtual Machine that comes for default is the open source OpenJDK. There is nothing wrong [...]]]></description>
			<content:encoded><![CDATA[<p>The first thing that I suggest to every fresh <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank"><strong>Ubuntu</strong></a>&#8216;s user is to install the <em>ubuntu-restricted-extras</em> package.</p>
<pre>sudo apt-get install ubuntu-restricted-extras</pre>
<p>It brings to you all the codecs and plugins that you need to a great user experience. The <strong>Java Virtual Machine</strong> that comes for default is the open source <strong>OpenJDK</strong>. There is nothing wrong with it.</p>
<p>But, as a developer, if you want to use <a title="NetBeans" href="http://netbeans.org/" target="_blank"><strong>NetBeans</strong></a> like I do, it&#8217;s better to install the <strong>Sun Java</strong> package. This Java Virtual Machine is developed by <a title="Sun" href="http://sun.com" target="_blank"><strong>Sun</strong></a>, that develops <strong>NetBeans</strong> also. So, <strong>NetBeans</strong> become <strong>faster</strong> on it and <strong>free of a problem with font sizes</strong> too.</p>
<p>To install <em>sun-java6-jre</em> and make it the default Java Virtual Machine of you system do as follows:</p>
<pre>sudo add-apt-repository "deb http://archive.canonical.com/ natty partner"
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin
sudo update-alternatives --config java</pre>
<p>Thanks to <a title="Alexandre Gaigalas" href="http://gaigal.as/" target="_blank">Alexandre Gaigalas</a> for the tip and <a title="How to Install Sun Java on Ubuntu 10.04 LTS" href="http://www.clickonf5.org/7777/how-install-sun-java-ubuntu-1004-lts/" target="_blank">Sanjeev Mishra</a> for the how to.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/08/netbeans-fast-and-with-correct-font-sizes-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 11.04 Unity keyboard shortcuts</title>
		<link>http://ifull.com.br/blog/2011/08/ubuntu-11-04-unity-keyboard-shortcuts/</link>
		<comments>http://ifull.com.br/blog/2011/08/ubuntu-11-04-unity-keyboard-shortcuts/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 13:24:16 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=154</guid>
		<description><![CDATA[The last version of Ubuntu Linux, 11.04, has changed its defaults window manager from Gnome to Unit. Personally, I like Unit. It brings the launcher to the screen&#8217;s left side, taking advantage of widescreen monitors. The widescreen brings us widths even more wider while maintains the height size. Another Unit&#8217;s advantage is the variety of [...]]]></description>
			<content:encoded><![CDATA[<p>The last version of <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank"><strong>Ubuntu Linux</strong></a>, <strong>11.04</strong>, has changed its defaults window manager from Gnome to <strong>Unit</strong>. Personally, I like Unit.<br />
It brings the launcher to the screen&#8217;s left side, taking advantage of widescreen monitors. The widescreen brings us widths even more wider while maintains the height size.</p>
<p>Another Unit&#8217;s advantage is the variety of <strong>keyboard shortcuts</strong>. Working on Linux Desktop become faster than ever! Mostly of the shortcuts use the <strong>Super Key</strong>. For those that don&#8217;t know, it is the <em>Windows&#8217;</em> logo key, between <em>Ctrl</em> and <em>Alt</em>. <a href="http://picplz.com/user/delcastanher/pic/glr0s/" target="_blank">I solved this on the last <strong>FISL</strong></a> (<a href="http://softwarelivre.org/fisl12?lang=en" target="_blank"><strong>International Free Software Forum</strong></a>) ;)</p>
<p>On <a href="http://askubuntu.com/questions/28086/unity-keyboard-mouse-shortcuts" target="_blank">http://askubuntu.com/questions/28086/unity-keyboard-mouse-shortcuts</a> you have a list of those <strong>shortcuts</strong> and some <strong>wallpapers</strong> with them too.</p>
<p><a href="http://www.ubuntu.com/download" target="_blank"><strong>You can try Ubuntu from a CD or USB stick</strong></a>. No install is needed. Try it if you didn&#8217;t!</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/08/ubuntu-11-04-unity-keyboard-shortcuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS, PHP 5.3 and the strtotime() error</title>
		<link>http://ifull.com.br/blog/2011/07/centos-php-5-3-and-the-strtotime-error/</link>
		<comments>http://ifull.com.br/blog/2011/07/centos-php-5-3-and-the-strtotime-error/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 18:43:20 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=156</guid>
		<description><![CDATA[If you were expecting that your CentOS server PHP version upgrades to 5.3 with an yum update, forget it. It has a separated package called php53. To upgrade, you need to deinstall your current php with: # yum remove php php-* And then install the new packages: # yum install php53u-pear php53u php53u-cli php53u-common php53u-devel [...]]]></description>
			<content:encoded><![CDATA[<p>If you were expecting that your <strong>CentOS</strong> server <strong>PHP</strong> version upgrades to <strong>5.3</strong> with an <strong><em>yum update</em></strong>, forget it. It has a separated package called <strong><em>php53</em></strong>. To upgrade, you need to deinstall your current <em>php</em> with:</p>
<pre># yum remove php php-*</pre>
<p>And then install the new packages:</p>
<pre># yum install php53u-pear php53u php53u-cli php53u-common php53u-devel php53u-gd php53u-mbstring php53u-mcrypt php53u-mysql php53u-pdo php53u-soap php53u-xml php53u-xmlrpc php53u-bcmath php53u-pecl-apc php53u-pecl-memcache php53u-snmp</pre>
<p>Thanks to <a href="http://www.how2centos.com/installing-php-5-3-3-on-centos-5-5-tutorial/" target="_blank">How2CentOS</a>.</p>
<p>But, if after doing that, you start receiving an PHP error like “<strong><em>warning: strtotime(): It is not safe to rely on the system&#8217;s timezone settings</em></strong>” (that happened to me) you only need to uncomment and change the value of the <strong><em>date.timezone</em></strong> at <strong><em>/etc/php.ini</em></strong> file:</p>
<pre>; <a href="http://php.net/date.timezone" target="_blank">http://php.net/date.timezone</a>
date.timezone = America/New_York</pre>
<p>Thanks to <a href="http://www.go2linux.org/php-strict-time-zone-warning-drupal-wordpress" target="_blank">Guillermo Garron</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/07/centos-php-5-3-and-the-strtotime-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP and proxy visits</title>
		<link>http://ifull.com.br/blog/2011/07/php-and-proxy-visits/</link>
		<comments>http://ifull.com.br/blog/2011/07/php-and-proxy-visits/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 14:22:19 +0000</pubDate>
		<dc:creator>delcastanher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[twittepaga]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://ifull.com.br/?p=143</guid>
		<description><![CDATA[Sometimes is important for you to know if your website visitor is accessing trough a proxy. One of my projects is an url shortner that gives analytics and, definitely, that is important. When you realize that your visitor is using a proxy to hide himself and cheat the statistics, you can stop him from accessing [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes is important for you to know if your website visitor is accessing trough a <strong>proxy</strong>. One of my projects is an <a title="TwittePaga" href="http://twpg.me" target="_blank"><strong>url shortner that gives analytics</strong></a> and, definitely, that is important.<br />
When you realize that your visitor is using a proxy to hide himself and cheat the statistics, you can stop him from accessing your url or just ignore his visit on analysis&#8230; The last one is what I prefer.</p>
<p><a title="Bruno Bertolini" href="http://brunobertolini.com" target="_blank">Bruno Bertolini</a> sent me a post called <a href="http://perishablepress.com/block-tough-proxies/" target="_blank"><strong>Block Tough Proxies</strong></a> and it helps me discovering who came from a proxy like hidemyass.com, in a very simple way:</p>
<pre>&lt;?php if(@fsockopen($_SERVER['REMOTE_ADDR'], 80, $errstr, $errno, 1))
die("Proxy access not allowed"); ?&gt;</pre>
<p>In the code above, the visitor can not see the site. You can change this behavior with a different logic after the if statement.</p>
<p>The <a href="http://perishablepress.com/block-tough-proxies/" target="_blank">post</a> shows how to block with <strong><em>.htaccess</em></strong> too, but <strong>PHP</strong> is more effective in this case.</p>
]]></content:encoded>
			<wfw:commentRss>http://ifull.com.br/blog/2011/07/php-and-proxy-visits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

