<?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>Too much Internet free time &#187; PHP</title>
	<atom:link href="http://www.roumazeilles.net/news/en/wordpress/category/software/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.roumazeilles.net/news/en/wordpress</link>
	<description>Technology news and opinions straight from Paris, France</description>
	<lastBuildDate>Fri, 20 Nov 2009 23:28:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress transfer</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2008/11/30/wordpress-transfer/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2008/11/30/wordpress-transfer/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 13:23:18 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/?p=2669</guid>
		<description><![CDATA[In the end, transfering a WordPress installation from one server to the next will not have been a simple task. As a matter of fact, moving the files, moving the database, seemed to be the easiest. But I could no longer upload images in WordPress.
Here is what I had to do (and you may have [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/2007/wordpress21.gif" alt="WordPress v2.3.2" align="left"/>In the end, transfering a WordPress installation from one server to the next will not have been a simple task. As a matter of fact, moving the files, moving the database, seemed to be the easiest. But I could no longer upload images in WordPress.</p>
<p>Here is what I had to do (and you may have to do) to get back full features and operations:</p>
<ul>
<li>Check that PHP was in <code>safe_mode</code> (not obvious, you&#8217;d have access to the server or its administrator).</li>
<li>Ensure that access rights to the image upload directory (<code>wp-content/uploads/*</code>) were clearly set to <code>777</code> (here again, you&#8217;ll need to get support from the adminstrator, or a Telnet/SSH access to your account on the server).</li>
<li>Since I did not re-install WordPress from scratch, but transfered the full config, I did not notice that the setting for storing of images was now bogus (the directory used on the previous server was not existing on the new server). So, I went back to the admin interface of WordPress > Settings > Miscellaneous and set again <code>wp-content/uploads</code> as the upload directory (first option on this page and default value as shown/written under it).</li>
</ul>
<p>I hope that you will not be stung like me&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2008/11/30/wordpress-transfer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP changes</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2008/11/09/php-changes/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2008/11/09/php-changes/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 12:26:01 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/?p=2663</guid>
		<description><![CDATA[This is what I told myself when uncovering a little PHP code fragment that stopped working on one of my web sites. So, this is a reminder for those of you inattentive programmers like me: $DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT']; is deprecated and works no longer. You must now use the newest form: $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];.
Be warned.
]]></description>
			<content:encoded><![CDATA[<p>This is what I told myself when uncovering a little PHP code fragment that stopped working on one of my web sites. So, this is a reminder for those of you inattentive programmers like me: <code>$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];</code> is deprecated and works no longer. You must now use the newest form: <code>$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];</code>.</p>
<p>Be warned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2008/11/09/php-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress and moving from PHP4 to PHP5</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/08/24/wordpress-and-moving-from-php4-to-php5/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/08/24/wordpress-and-moving-from-php4-to-php5/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 12:59:05 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/08/24/wordpress-and-moving-from-php4-to-php5/</guid>
		<description><![CDATA[Some advice provided by Donncha for those who would like to move from PHP4 to PHP5 on a server supporting WordPress exploitation. Nothing big, but it is always good to check the items she points at:

Location of PHP.INI
Update to mysql and gd libraries
Compatibility with WP-cache

]]></description>
			<content:encoded><![CDATA[<p><img src="/images/2007/wordpress21.gif" alt="WordPress v2.2" align="left"/>Some advice provided by Donncha for those who would like to <a href="http://ocaoimh.ie/2007/08/18/notes-when-upgrading-to-php5/">move from PHP4 to PHP5 on a server supporting WordPress exploitation</a>. Nothing big, but it is always good to check the items she points at:</p>
<ul>
<li>Location of <code>PHP.INI</code></li>
<li>Update to <code>mysql</code> and <code>gd</code> libraries</li>
<li>Compatibility with <code>WP-cache</code></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/08/24/wordpress-and-moving-from-php4-to-php5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script for 404 random page found</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/06/14/script-for-404-random-page-found/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/06/14/script-for-404-random-page-found/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 11:58:43 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Create a web site]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/06/14/script-for-404-random-page-found/</guid>
		<description><![CDATA[Some people have been wondering how I did the random selection of 404 page not found messages that are used on this web site.
So, here is the nice little PHP script that I use here to redirect randomly to one of the right pages:



&#160;


&#60;?PHP


&#160; &#160; &#160; &#160; $address_list = array&#40;


&#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Some people have been wondering how I did the random selection of <a href="/404.php">404 page not found</a> messages that are used on this web site.</p>
<p>So, here is the nice little PHP script that I use here to redirect randomly to one of the right pages:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?PHP</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$address_list</span> = <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-01.php&quot;</span>,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-02.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-03.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-04.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-05.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-06.php&quot;</span>,</div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">/*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;/404/404-07.php&quot;,&nbsp; &nbsp; &nbsp; */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-08.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-09.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-10.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-11.php&quot;</span>,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-12.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-13.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-14.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-15.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-16.php&quot;</span>,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-17.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-18.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-19.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-20.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-21.php&quot;</span>,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-22.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-23.php&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;/404/404-00.php&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/srand"><span class="kw3">srand</span></a><span class="br0">&#40;</span><span class="br0">&#40;</span>double<span class="br0">&#41;</span><a href="http://www.php.net/microtime"><span class="kw3">microtime</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>*<span class="nu0">1000000</span><span class="br0">&#41;</span>; </div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$randomtopic</span> = <a href="http://www.php.net/rand"><span class="kw3">rand</span></a><span class="br0">&#40;</span><span class="nu0">0</span>,<a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$address_list</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Location: &#8216;</span>.<span class="re0">$address_list</span><span class="br0">&#91;</span><span class="re0">$randomtopic</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/exit"><span class="kw3">exit</span></a>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>You can re-use it on your own web site if you want to. It&#8217;s free.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/06/14/script-for-404-random-page-found/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fight SPAM and scan books</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/05/28/fight-spam-and-scan-books/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/05/28/fight-spam-and-scan-books/#comments</comments>
		<pubDate>Mon, 28 May 2007 13:00:30 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Create a web site]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[New web site]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SPAM]]></category>
		<category><![CDATA[Sciences]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[bbPress]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/05/28/fight-spam-and-scan-books/</guid>
		<description><![CDATA[It is well known that the human brain has pattern matching capabilities much further advanced than those of the best equivalent software programs. This explains that failure rates of OCR (Optical Character Recognition) program may be as high as 1% (or even 2%) of errors, which is requiring later human proof-reading to ensure a reasonable [...]]]></description>
			<content:encoded><![CDATA[<p>It is well known that the human brain has pattern matching capabilities much further advanced than those of the best equivalent software programs. This explains that failure rates of OCR (Optical Character Recognition) program may be as high as 1% (or even 2%) of errors, which is requiring later human proof-reading to ensure a reasonable quality for document scans. But when the document is old, badly printed, or degraded, error rates may climb further into the unusable (even more so when we address the scan of thousands of documents like is done by libraries and cultural institutions all over the world).</p>
<p>On another issue, the SPAM problem on the Internet became a major problem: Prorams try to make believe that they are human beings in order to insert advertisment anywhere a user can write (in the messages of a forum, in the comments of a blog, etc). For some time now, it became common that human users must identify themselves by their capacity to recognize a badly written word. Theoretically, this is a very efficient Turing test allowing to differentiate a human from a machine only by the results of their actions. Practically, the abilities of software programs have become so impressive that SPAM is slowly coming back again through those filters named CAPTCHAs (those images that you must read and copy back in order to be identified and approved for a specific action).</p>
<p>The problem appears to be: create CAPTCHA tremendously difficult for the automated software and, simultaneously, bring human beings to the task of checking scans of documents difficult to read by program.</p>
<p>The solution: <a href="http://recaptcha.net/">reCAPTCHA</a>.</p>
<p><center><a href="http://recaptcha.net/"><img src='http://www.roumazeilles.net/news/fr/wordpress/wp-content/uploads/recaptcha.jpg' alt='reCAPTCHA - example/exemple' /></a></center></p>
<p>The idea is to provide a CAPTCHA service to thousands of bloggers and forum administrators (WordPress, phpBB, etc.) Users are invited to recognize two words specifically difficult to read (profesional OCR programs failed during scans done by Carnegie Mellon University). The user must recognize them both. One is used to check that this is a human being, the other will fill a database of OCR translations that will be used to deliver even more CAPTCHAs and to improve the quality of a document scanned by Carnegie Mellon. Dual core technology: efficiently fight spammers and deliver millions of human users to improve the scan quality of thousands of ancient documents (without using slave labor).</p>
<p><u>Example of a difficult to read/scan document:</u></p>
<p><center><img src='http://www.roumazeilles.net/news/fr/wordpress/wp-content/uploads/recaptcha_scan.jpg' alt='Example of a really difficult scan (reCAPTCHA)' /></center></p>
<p>One of the key advantages is that most pro OCR programs can tell when they fail to recognize a character or a word (when they are not confident enough).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/05/28/fight-spam-and-scan-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 10 anti-censorship methods</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/05/03/top-10-anti-censorship-methods/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/05/03/top-10-anti-censorship-methods/#comments</comments>
		<pubDate>Thu, 03 May 2007 10:37:24 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Lists]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Routers & networks]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/05/03/top-10-anti-censorship-methods/</guid>
		<description><![CDATA[More and more often, accessing the Internet becomes limited by the presence of censoring tools and methods (and I am not speaking of those countries where this has been institutionalized like China, Iran or Tunisia). It may be to avoid your spending too much time idling instead of working or it may be to ensure [...]]]></description>
			<content:encoded><![CDATA[<p>More and more often, accessing the Internet becomes limited by the presence of censoring tools and methods (and I am not speaking of those countries where this has been institutionalized like China, Iran or Tunisia). It may be to avoid your spending too much time idling instead of working or it may be to ensure that you do not access to &#8220;questionable material&#8221;. But the Internet is highly flexible in nature and there may be good solutions to avoid this censorship.</p>
<h3>10 &#8211; Go to the IP addresss</h3>
<p>Instead of connecting through the domain name (<code>example.com</code>), you could connect directly to the IP address (<code>192.168.0.15</code>). It the network stops you at the DNS level, this will allow you to reach the site.</p>
<h3>9 &#8211; Go to the Google cache</h3>
<p>As you certainly know, the Google search engine offers &#8220;cached&#8221; links after most of its results. Since those are copies of the original web site located on Google servers, it is convenient.</p>
<h3>8 &#8211; Go to Google mobile search</h3>
<p><a href="http://www.google.com/xhtml">Google mobile search</a> is made for mobile phone users, but it can be used by countless others.</p>
<p><span id="more-704"></span><br />
<h3>7 &#8211; Go to an anonymizer</h3>
<p>Companies are offering to be the intermediate bewteen you and the web site you want to visit. Their primary offer is to hide you from the web site owner, but quite often, the side effect is also to run around the censorship set at your provider or company. See my own <a href="/news/nw/news0086.php">list of anonimyzers</a>.</p>
<h3>6 &#8211; Translate the web site</h3>
<p>Several tools allow to translate the contents of a web site. Use them to access sites that are hidden from you.</p>
<ul>
<li><a href="http://babelfish.altavista.com/">Altavista BabelFish</a></li>
<li><a href="http://www.google.com/translate_t">Google translate</a></li>
</ul>
<h3>5 &#8211; Go to a proxy server</h3>
<p>A proxy server is merely an intermediate between you and the web site you want to visit. They may not be hiding your identity like the anonimyzers, but the censors will probably not see your destination. Many are public. Quite a number of them are known and recognized (banned) anyway. A large list of <a href="http://www.publicproxyservers.com/page1.html">public proxy servers</a>.</p>
<h3>4 &#8211; Web by email</h3>
<p>Nearly low-tech compared to the rest and often quite slow, you can request the web pages you want to see. Using the right service, you could receive copies by email. It may be too slow to surf the web, but if you know where is the information you need, it&#8217;s working in many cases.</p>
<ul>
<li><a href="mailto:webgate@vancouver-webpages.com">webgate@vancouver-webpages.com</a></li>
<li><a href="http://www.faqs.org/faqs/internet-services/access-via-email/">Accessing the Internet by Email FAQ</a></li>
</ul>
<h3>3 &#8211; Change providers</h3>
<p>Leave your company or your country for some other place where it is easier to access the Internet. Even if it may not be really reasonable for a country, leaving may be an option if your ISP is blocking some accesses. Another ISP may be more flexible.</p>
<h3>2 &#8211; Use TOR</h3>
<p><a href="http://tor.eff.org/">TOR</a> is a distributed network of proxy servers. You connect to it, your request will go to TOR and be transfered to one or more of the TOR machines. You can even participate easily to the TOR network (bringing your own PC into the network, not merely using it &#8211; it improves the quality of your searches).</p>
<p>Main problems:</p>
<ul>
<li>Some web sites (e.g. SlashDot) block all TOR-enabled IP addresses because they have been used to abuse them.</li>
<li>Installing a TOR node is more complex, but very efficient.</li>
</ul>
<h3>1 &#8211; Create your own proxy server</h3>
<p>If all else fails, why not install your own proxy. In most cases, you can install one wherever you like and it will be known by you only. this way, you have a personnal anti-censorship tool that you can move any time you want. Several proxy servers written in PHP can be used for this:</p>
<ul>
<li><a href="http://apaz.labs.libre-entreprise.org/">APAZ</a></li>
<li><a href="http://whitefyre.com/poxy/">PHPproxy</a></li>
<li><a href="http://www.privoxy.org/">Prixvoxy</a></li>
<li><a href="http://www.webstuffscan.com/2006/12/21/accessing-blocked-websites-use-your-own-proxy-server-at-home/">Windows HTTP proxy at home</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/05/03/top-10-anti-censorship-methods/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Display code in WordPress</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/04/21/display-code-in-wordpress/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/04/21/display-code-in-wordpress/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 15:07:38 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Create a web site]]></category>
		<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[New web site]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/04/21/display-code-in-wordpress/</guid>
		<description><![CDATA[When, as I do, you want to include some bits and pieces of software code in a WordPress post, it starts to become a serious headache. As a matter of fact, WP has not really been prepared for this and it creates a number of issues. Those I already encountered here:

The &#60;?php tend to disappear [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/2007/wordpress21.gif" alt="WordPress v2.1" align="left"/>When, as I do, you want to include some bits and pieces of software code in a WordPress post, it starts to become a serious headache. As a matter of fact, WP has not really been prepared for this and it creates a number of issues. Those I already encountered here:</p>
<ul>
<li>The &lt;?php tend to disappear (unless you start juggling)</li>
<li>Some charcaters would not display at all (or badly)</li>
<li>The overall presentation is pretty bland if you use &lt;code&gt;</li>
</ul>
<p>So, I looked for a plugin (nearly everything in WordPress is done by adding on of those marvellous little code gems that can be included in a few seconds into the basic configuration) adapted to this task, easy to install (I don&#8217;t want to be stuck with heavy maintenance just for this), easy to use.</p>
<p>Here is the summary of what I checked and my opinion regarding them.<br />
<span id="more-656"></span></p>
<h3><a href="http://www.thunderguy.com/semicolon/wordpress/code-markup-wordpress-plugin/">Code markup</a> v1.1.1</h3>
<h4>Syntax</h4>
<p>Just insert your code between &lt;pre&gt;&lt;code&gt; and &lt;/code&gt;&lt;/pre&gt;.</p>
<h4>In my opinion</h4>
<p>Pros:</p>
<ul>
<li>Correctly avoids WordPress text transformation</li>
<li>It is still possible to add some manual formating in the code itself</li>
<li>Compatible with WordPress 1.5, 2.0 &#038; 2.1</li>
<li>Single file plugin, to be activated from the WP dashboard</li>
</ul>
<p>Cons:</p>
<ul>
<li>No syntax coloration</li>
</ul>
<p><table align="right"><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-0020166203350854";
google_alternate_ad_url = "http://www.roumazeilles.net/google/adsense/collapsing_script.html";
google_ad_width = 250;
google_ad_height = 250;
google_ad_format = "250x250_as";
google_ad_type = "image";
google_ad_channel ="6457460997";
google_color_border = "666666";
google_color_bg = "FFCC99";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td></tr></table><p><br />
<h3>ElasticDog <a href="http://elasticdog.com/2004/09/code-viewer/">Code viewer</a> v1.1</h3>
<h4>Syntax</h4>
<p>Your code is stored in an external file, is displayed with indentation and auto line-return, may be downloaded separately.</p>
<h4>In my opinion</h4>
<p>Pros:</p>
<ul>
<li>Rather flexible presentation/format (e.g. line numbering)</li>
<li>External file storage allows code duplication if it appears in several posts or in several locations)</li>
<li>Single file plugin, to be activated from the WP dashboard; Plus described installation procedure</li>
</ul>
<p>Cons:</p>
<ul>
<li>External file storage: Rather heavy duty solution for small snipets of code</li>
</ul>
<h3>Coffe2code <a href="http://www.coffee2code.com/archives/2005/03/29/plugin-preserve-code-formatting/">Preserve code Formatting</a> v0.9</h3>
<h4>Syntax</h4>
<p>Just insert your code between &lt;pre&gt;&lt;code&gt; and &lt;/code&gt;&lt;/pre&gt; (some other tags can also be defined).</p>
<h4>In my opinion</h4>
<p>Pros:</p>
<ul>
<li>Correctly avoids WordPress text transformation</li>
<li>Single file plugin, to be activated from the WP dashboard</li>
</ul>
<p>Cons:</p>
<ul>
<li>Not updated since 2005. It is not even sure it was tested with WordPress v2.1 ?</li>
<li>No syntax coloration</li>
</ul>
<p><a name="Priyadi"><br />
<h3>Priyadiâ€™s <a href="http://priyadi.net/archives/2005/09/27/wordpress-plugin-code-autoescape/">Code Autoescape</a> v2.0</h3>
<h4>Syntax</h4>
<p>Just insert your code between &lt;pre&gt;&lt;code&gt; and &lt;/code&gt;&lt;/pre&gt;.</p>
<h4>In my opinion</h4>
<p>Pros:</p>
<ul>
<li>Correctly avoids WordPress text transformation</li>
<li>Compatible with WordPress 1.5, 2.0 &#038; 2.1</li>
<li>Single file plugin, to be activated from the WP dashboard</li>
</ul>
<p>Cons:</p>
<ul>
<li>No syntax coloration</li>
</ul>
<h3><a href="http://www.coolcode.cn/?p=26">CoolCode</a></h3>
<h4>In my opinion</h4>
<p>Pros:</p>
<ul>
<li>Includes syntax coloration</li>
</ul>
<p>Cons:</p>
<ul>
<li>The web site is 99% in Chinese (I did not complete a real evaluation).</li>
</ul>
<p><table align="right" width="25%" class="std_box"><tr><td>
<p><b>In the spotlight:</b></p>
<ul>
              <li><a href="/news/en/wordpress/category/digital-photography/buy-a-dslr/sony/sony-alpha-900/">Sony Alpha 900</a></li>
        <li><a href="/news/en/wordpress/category/digital-photography/buy-a-dslr/canon/canon-eos-5d-mk-ii/">Canon EOS 5D Mk II</a></li>
        <li><a href="/news/en/wordpress/category/digital-photography/buy-a-dslr/nikon/nikon-d700/">Nikon D700 FX</a></li>
              <li><a href="/news/en/wordpress/2007/10/07/download-free-nero-8-cddvd-burner/">Download Nero for free</a></li>
<!--                         <li><a href="/news/en/wordpress/2007/02/12/azureus-configuration/">Azureus configuration</a></li>
<!--                    <li><a href="/news/nw/news0068.php">Best WiFi routers</a></li> 
              <li><a href="/news/en/wordpress/2006/10/07/bitcomet-configuration/">BitComet configuration</a></li>
              <li><a href="/news/nw/news0086.php">Anonymous surfing</a></li> -->
</ul>
</td></tr></table><p><br />
<h3>Dean <a href="http://www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/">Code Source Syntax highlighting</a> v1.1</h3>
<h4>Syntax</h4>
<p>Just insert your code between &lt;pre lang=&#8221;php&#8221;&gt; and &lt;/pre&gt; (specifying PHP language or any other language).</p>
<h4>In my opinion</h4>
<p>Pros:</p>
<ul>
<li>Correctly avoids WordPress text transformation</li>
<li>Compatible with WordPress 1.5+</li>
<li>Also includes syntax coloration (for many languages).</li>
<li>Single file plugin, to be activated from the WP dashboard, and a CSS file to fine-tune formating</li>
</ul>
<p>Cons:</p>
<ul>
<li>You <em>must</em> define CSS tags (minor problem since, for the others, you prefer to do so)</li>
</ul>
<h3>RobM <a href="http://robm.me.uk/projects/plugins/wordpress/code-entities">Code entities</a> v1.1</h3>
<h4>Syntax</h4>
<p>In view of the current evolution of this type of plugins, even the author advises to use Priyadiâ€™s <a href="#Priyadi">Code Autoescape</a> instead of his own.</p>
<h3>Conclusion</h3>
<p>As you can deduct from the information I provided here, my choice was Dean <a href="http://www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/">Code Source Syntax highlighting</a> that I currently use for Roumazeilles.net. The strongest reason was clearly the ability to do syntax coloration to increase readability even for small code snippets (I care about my readers confort).</p>
<p>I can&#8217;t say I saw every aspect of these plugins in the comparison (<em>benchmark</em>) but it led me to a reasoned choice that I wanted to share with you. You may be doing a different choice; Feel free to tell us which one and why.</p>
<h3>Examples</h3>
<h4>PHP code</h4>
<p>Here is how PHP source code appears:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?PHP</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&quot;Location: /news/fr/news.php&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/exit"><span class="kw3">exit</span></a>;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<h4>CSS code</h4>
<p>Here is how a CSS file is displayed:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*******************************/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/* Links &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*******************************/</span></div>
</li>
<li class="li2">
<div class="de2">a<span class="re2">:link</span> &nbsp; &nbsp;<span class="br0">&#123;</span> <span class="kw1">color</span>:<span class="re0">#a0a010</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">a<span class="re2">:visited</span> <span class="br0">&#123;</span> <span class="kw1">color</span>:<span class="re0">#<span class="nu0">606000</span></span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">a<span class="re2">:hover</span> &nbsp; <span class="br0">&#123;</span> <span class="kw1">color</span>:<span class="re0">#e0e020</span>; <span class="kw1">text-decoration</span>: <span class="kw2">underline</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">a<span class="re2">:active</span> &nbsp;<span class="br0">&#123;</span> <span class="kw1">color</span>:<span class="re0">#e0e020</span>; <span class="kw1">text-decoration</span>: <span class="kw2">underline</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/04/21/display-code-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireFox with a Google toolbar</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/04/05/firefox-with-a-google-toolbar/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/04/05/firefox-with-a-google-toolbar/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 16:22:17 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Advertising]]></category>
		<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Legal downloads]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/04/05/firefox-with-a-google-toolbar/</guid>
		<description><![CDATA[



]]></description>
			<content:encoded><![CDATA[<p><center><script type="text/javascript"><!--
google_ad_client = "pub-0020166203350854";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as_rimg";
google_cpa_choice = "CAAQj6eVzgEaCIxA5niBniDSKOm293M";
google_ad_channel = "5716956030";
//-->
</script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/04/05/firefox-with-a-google-toolbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>101 freeware and shareware programs</title>
		<link>http://www.roumazeilles.net/news/en/wordpress/2007/03/25/101-freeware-and-shareware-programs/</link>
		<comments>http://www.roumazeilles.net/news/en/wordpress/2007/03/25/101-freeware-and-shareware-programs/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 14:48:40 +0000</pubDate>
		<dc:creator>Yves Roumazeilles</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Printers]]></category>
		<category><![CDATA[Spreadsheet]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Use your D-SLR]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Word processor]]></category>

		<guid isPermaLink="false">http://www.roumazeilles.net/news/en/wordpress/2007/03/25/101-freeware-and-shareware-programs/</guid>
		<description><![CDATA[Software programs to do anything you want with your PC if you are a bit more geeky than most but do not want to pay much. Freeware &#038; shareware.
]]></description>
			<content:encoded><![CDATA[<p>Software programs to do anything you want with your PC if you are a bit more geeky than most but do not want to pay much. <a href="http://www.rewardprograms.org/thefreegeek/features/101_shareware_and_freeware_programs_every_nerd_needs.html">Freeware &#038; shareware</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roumazeilles.net/news/en/wordpress/2007/03/25/101-freeware-and-shareware-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
