<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>G-Loaded Journal &#187; Web Applications</title>
	<atom:link href="http://www.g-loaded.eu/category/web-applications/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.g-loaded.eu</link>
	<description>An open-source software and technology related journal</description>
	<lastBuildDate>Fri, 11 May 2012 13:37:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>Mobile version of G-Loaded</title>
		<link>http://www.g-loaded.eu/2012/04/29/mobile-version-of-g-loaded/</link>
		<comments>http://www.g-loaded.eu/2012/04/29/mobile-version-of-g-loaded/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 13:51:46 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Mobiles]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Planning]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2689</guid>
		<description><![CDATA[I tested the website using the default browser of a smartphone and I realized that it is needed to improve the theme to make the content easier to read on mobile devices. If you think such a task is easy, you&#8217;re way outline! From a quick web search I noticed that there are many things [...]]]></description>
			<content:encoded><![CDATA[<p>I tested the website using the default browser of a smartphone and I realized that it is needed to improve the theme to make the content easier to read on mobile devices. If you think such a task is easy, you&#8217;re way outline! From a quick web search I noticed that there are many things to take into consideration before making any changes. I&#8217;m currently gathering information that will help me decide what would be the best way to serve two versions of the content, one suitable for mobile devices (smartphones and tablets) and one of PCs (desktops, laptops). If you&#8217;ve gone through this procedure and care to provide some insight, feel free.<span id="more-2689"></span><br />
Update: A mobile friendly version of the current theme has been scheduled and will be applied to the web site soon. Stay tuned.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2012/04/29/mobile-version-of-g-loaded/">Mobile version of G-Loaded</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/03/15/cc-configurator-plugin-version-10-is-out/" rel="bookmark">CC Configurator plugin version 1.0 is out!</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/28/send-a-text-file-as-sms-with-a-sony-ericsson-mobile/" rel="bookmark">Send a text file as SMS with a Sony-Ericsson mobile</a></li>
<li><a href="http://www.g-loaded.eu/2007/02/25/abstractia-theme-for-wordpress/" rel="bookmark">Abstractia Theme for WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2007/03/10/glossyblue-theme-for-wordpress/" rel="bookmark">GlossyBlue theme for WordPress</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2012/04/29/mobile-version-of-g-loaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Limit the number of stored revisions per post in WordPress</title>
		<link>http://www.g-loaded.eu/2012/04/28/limit-the-number-of-stored-revisions-per-post-in-wordpress/</link>
		<comments>http://www.g-loaded.eu/2012/04/28/limit-the-number-of-stored-revisions-per-post-in-wordpress/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 02:52:28 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2662</guid>
		<description><![CDATA[It&#8217;s been a while since WordPress implemented revisions for posts and pages. Being able to revert a post or page to a previous state is a useful feature. However, I recently realized that WP creates a revision of the content every time it is saved, but there is no upper limit for the number of [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since WordPress implemented revisions for posts and pages. Being able to revert a post or page to a previous state is a useful feature. However, I recently realized that WP creates a revision of the content every time it is saved, but there is no upper limit for the number of stored revisions. So, if you save your work quite often, it is very possible that the WordPress database is filled with numerous revisions of the content, which make the database grow in size quite aggressively. After thinking about it for a while, I realized that all those revisions are pretty useless to me. All I really care about is having a couple of recent revisions of each post or page available, so as to be able to get an idea of my recent changes.<br />
<span id="more-2662"></span><br />
It was only a matter of minutes to find out that it is possible to limit the number of stored revisions per post in WordPress. Open <code>wp-config.php</code> in your favorite editor and add the following:</p>
<pre class="codesnp">
/**
 * Revision management. Store 5 (+1 autosave) revisions per post.
 */
define('WP_POST_REVISIONS', 5);
</pre>
<p>The above setting forces WordPress to store only the 5 most recent revisions of the content. One extra revision is also saved because of the <em>autosave</em> feature.</p>
<p>The acceptable values for <code>WP_POST_REVISIONS</code> and their meanings are:</p>
<ul>
<li><strong>-1</strong>: store every revision (this is the <em>default</em>)</li>
<li><strong>0</strong>: do not store any revisions except for the one used for the autosave feature</li>
<li><strong>N (integer) > 0</strong>: store N revisions per post. Revisions are rotated so that only the N most recent recent ones are available.</li>
</ul>
<p>After getting rid of all those useless revisions that had piled up over the last months, I&#8217;m now quite happy with the size of the database. Although the idea of <em>automatic revisions</em> is fine, in my case, <em>on-demand revisions</em> would have been more useful and would make more sense in the way I author these posts.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2012/04/28/limit-the-number-of-stored-revisions-per-post-in-wordpress/">Limit the number of stored revisions per post in WordPress</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/02/02/wordpress-tip-schedule-the-publishing-of-a-post/" rel="bookmark">WordPress Tip: Schedule the publishing of a post</a></li>
<li><a href="http://www.g-loaded.eu/2007/11/06/move-comments-to-another-post-in-wordpress/" rel="bookmark">Move comments to another post in WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2007/02/25/abstractia-theme-for-wordpress/" rel="bookmark">Abstractia Theme for WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2007/03/10/glossyblue-theme-for-wordpress/" rel="bookmark">GlossyBlue theme for WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/15/simple-recent-comments-wordpress-plugin/" rel="bookmark">Simple-Recent-Comments WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2012/04/28/limit-the-number-of-stored-revisions-per-post-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Speed up Apache by including htaccess files into httpd.conf</title>
		<link>http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/</link>
		<comments>http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 05:12:59 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2522</guid>
		<description><![CDATA[It is widely known that, if virtual hosts in Apache (httpd) are configured to permit vhost administrators override specific configuration options at the directory level using htaccess files, the web server consumes valuable time in order to check whether an htaccess file exists in every directory included in the requested path and parse it. On [...]]]></description>
			<content:encoded><![CDATA[<p>It is widely known that, if virtual hosts in Apache (httpd) are configured to permit vhost administrators override specific configuration options at the directory level using htaccess files, the web server consumes valuable time in order to check whether an htaccess file exists in every directory included in the requested <em>path</em> and parse it. On the other hand, many popular web applications utilize htaccess files, especially those residing in the <em>DocumentRoot</em>, in order to implement pretty URLs or HTTP redirections, which is extremely convenient since the virtual host owner does not have to edit httpd&#8217;s configuration directly. So, I had the idea to include the htaccess file of the DocumentRoot directory on the filesystem into the virtual host&#8217;s configuration.<br />
<span id="more-2522"></span><br />
Suppose we have the <code>/home/example.org/public_html/</code> directory on the filesystem, which serves as the document root of our virtualhost. The relevant httpd configuration for that vhost would look like this:</p>
<pre class="codesnp">
&lt;VirtualHost 123.123.123.123:80&gt;
  ServerName example.org:80
  ...
  DocumentRoot /home/example.org/public_html
  &lt;Directory /home/example.org/public_html&gt;
    AllowOverride All
    ...
  &lt;/Directory&gt;
  ...
&lt;/VirtualHost&gt;
</pre>
<p>In order to prevent the htaccess lookups on the filesystem without losing the htaccess functionality &#8211; at least at the DocumentRoot level- I transformed the configuration to the following:</p>
<pre class="codesnp">
&lt;VirtualHost 123.123.123.123:80&gt;
  ServerName example.org:80
  ...
  DocumentRoot /home/example.org/public_html
  &lt;Directory /home/example.org/public_html&gt;
    AllowOverride None
    Include /home/example.org/public_html/.htaccess
    ...
  &lt;/Directory&gt;
  ...
&lt;/VirtualHost&gt;
</pre>
<p>Let&#8217;s see what we have accomplished with this:</p>
<ol>
<li>httpd does not waste any time looking for and parsing htaccess files resulting in faster request processing,</li>
<li>the virtual host administrator can still override the configuration options of the document root manually or through the web interface of the web application.</li>
</ol>
<p>Seems like a win-win situation performance and functionality wise.</p>
<p>But, as usual, there is no win-win situation without a downside. In this case, the above trick weakens the server&#8217;s security. Let&#8217;s see how.</p>
<p>Although the configuration of a directory can be set in both <code>httpd.conf</code> and the directory&#8217;s htaccess file, not all directives can be used in both contexts. htaccess files support a subset of the directives that can be used in the <code>Directory</code> context within <code>httpd.conf</code>. By including the htaccess file in httpd&#8217;s configuration the vhost admin is no longer restricted to that subset of directives.</p>
<p>This means that by implementing the above configuration the virtual host administrator is granted more privileges regarding the configuration of the virtual host. This also means that a potential attacker, that would exploit a vulnerability of the web application, would be granted the same privileges once he got write access to that htaccess file.</p>
<p>So, although this trick may seem like a good idea at first, it is in fact a rather <strong>bad idea</strong> and <em>should never be used in production, unless you trust the virtual host administrator and the web application</em>. I do not intend to use such a configuration and I do not recommend it. There are by far better ways to speed up Apache.</p>
<p>Your comments and suggestions are welcome.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/">Speed up Apache by including htaccess files into httpd.conf</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/02/21/htaccess-cheat-sheet/" rel="bookmark">.htaccess Cheat Sheet</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/" rel="bookmark">SSL-enabled Name-based Apache Virtual Hosts with mod_gnutls</a></li>
<li><a href="http://www.g-loaded.eu/2010/03/28/script-apache-error-report/" rel="bookmark">Script for Apache Error Report</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/10/use-mod_deflate-to-compress-web-content-delivered-by-apache/" rel="bookmark">Use mod_deflate to Compress Web Content delivered by Apache</a></li>
<li><a href="http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/" rel="bookmark">Mozilla Thunderbird speed up</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>WordPress is getting better</title>
		<link>http://www.g-loaded.eu/2011/09/28/wordpress-is-getting-better/</link>
		<comments>http://www.g-loaded.eu/2011/09/28/wordpress-is-getting-better/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 23:48:18 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2492</guid>
		<description><![CDATA[The first time I used WordPress back in September 2005 I considered it to be the content publishing platform of choice as far as a personal or business website was concerned. It was easy to set up and publish content and, also, easy to customize, even with ugly hacks. Today I still consider WordPress to [...]]]></description>
			<content:encoded><![CDATA[<p>The first time I used WordPress back in September 2005 I considered it to be the content publishing platform of choice as far as a personal or business website was concerned. It was easy to set up and publish content and, also, easy to customize, even with ugly hacks.<span id="more-2492"></span> Today I still consider WordPress to be the <em>overall</em> best choice, despite the fact it still does not excel in any particular sector. Although I am not a pro, I have enough experience to say it&#8217;s the engine with the most acceptable trade-off between ease of use, security, features, ease of customization and being a solid base for development upon it. It is also one of those open-source projects that can create business opportunities for software engineers, system administrators, web designers, internet advertisers and marketers. The huge and active community of users and developers have boosted this project over the years. It proves that, if an open-source project is surrounded by a big active community and has good marketing (like WordPress had all these years) it can fly and create business opportunities in many sectors. During the last days I spent much time trying some of the features that have been implemented in the newer releases of WordPress and also various plugins. I must admit that today, by using WordPress, it is just a matter of some hours to have a high performance, good looking and feature rich small web site from scratch with minimal cost.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/09/28/wordpress-is-getting-better/">WordPress is getting better</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/01/27/wordpress-21/" rel="bookmark">WordPress 2.1</a></li>
<li><a href="http://www.g-loaded.eu/2007/01/31/wordpress-meta-tags-plugin-stable-release/" rel="bookmark">WordPress Meta Tags plugin stable release</a></li>
<li><a href="http://www.g-loaded.eu/2006/05/04/about-the-wordpress-plugins/" rel="bookmark">About The WordPress Plugins</a></li>
<li><a href="http://www.g-loaded.eu/2007/03/03/highly-exploitable-code-planted-into-wordpress-211/" rel="bookmark">Highly Exploitable Code Planted into WordPress 2.1.1</a></li>
<li><a href="http://www.g-loaded.eu/2008/12/17/upgraded-to-wordpress-coltrane/" rel="bookmark">Upgraded to WordPress Coltrane</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/09/28/wordpress-is-getting-better/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>How to configure mod_gnutls to use the RC4 cipher to mitigate the SSL/TLS vulnerability</title>
		<link>http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/</link>
		<comments>http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 20:40:45 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[ciphers]]></category>
		<category><![CDATA[mod_gnutls]]></category>
		<category><![CDATA[mod_ssl]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2471</guid>
		<description><![CDATA[It&#8217;s been a while since the details of an SSL/TLS vulnerability have been released to the public. Since then, security experts have worked on the issue and have released a whitepaper describing how to mitigate the attack, known as BEAST (Browser Exploit Against SSL/TLS). From the security researchers&#8217; article: The problem lies in the way [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since the details of an <em>SSL/TLS vulnerability</em> have been released to the public. Since then, security experts have worked on the issue and have <a href="http://www.phonefactor.com/blog/slaying-beast-mitigating-the-latest-ssltls-vulnerability.php">released</a> a <a href="http://www.phonefactor.com/resources/CipherSuiteMitigationForBeast.pdf" title="Whitepaper on the mitigation of the BEAST attack">whitepaper</a> describing how to mitigate the attack, known as BEAST (Browser Exploit Against SSL/TLS).<br />
<span id="more-2471"></span><br />
From the security researchers&#8217; article:</p>
<blockquote><p>The problem lies in the way that block ciphers are used in SSL/TLS. Block ciphers are generally operated in one of several modes that define how encrypted blocks are manipulated to ensure complete confidentiality. Cipher Block Chaining, or CBC mode, is used in SSL for all block ciphers, including AES and Triple-DES. The BEAST attack relies on a weakness in the way CBC mode is used in SSL and TLS. Non-CBC cipher suites, such as those using the RC4 stream encryption algorithm, are not vulnerable.</p>
<p>There have been several suggested mitigations that can be put into play from the perspective of the client, such as reorganizing the way the data is sent in the encrypted stream. Servers can protect themselves by requiring a non-CBC cipher suite. One such cipher suite is rc4-sha, which is widely supported by clients and servers.</p></blockquote>
<p>Researchers have concluded that the <a href="http://en.wikipedia.org/wiki/RC4" title="Information about the Alleged RC4 cipher">RC4</a> (Alleged RC4) based cipher suites are not vulnerable to the BEAST attack, while <a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29" title="Information about the Cipher-block chaining (CBC)">CBC</a> (Cipher Block Chaining mode) based cipher suites are. This involves both the <strong>TLS 1.0</strong> and the <strong>SSL 3.0</strong> protocols. On the contrary, TLS 1.1 and 1.2 have not been found to be vulnerable, but their use is very limited since they haven&#8217;t been adopted by the majority of HTTP clients and servers yet.</p>
<p>So, the use of <strong>RC4</strong> based ciphers is all that is left for the moment. The security experts have released a list of cipher suites that is suitable for use in the configuration of the <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html" title="mod_ssl documentation page">mod_ssl</a> module for <a href="http://httpd.apache.org/" title="Apache's httpd homepage">httpd</a>:</p>
<pre class="console">
SSLHonorCipherOrder on
SSLCipherSuite !aNULL:!eNULL:!EXPORT:!DSS:!DES:RC4-SHA:RC4-MD5:ALL
</pre>
<p>They have also released a one-liner list of ciphers suitable for use in the relevant fields of the <em>Local Group Policy Editor</em> in Windows Server boxes.</p>
<p>However, there is no info about configuring the <a href="http://www.outoforder.cc/projects/apache/mod_gnutls/" title="mod_gnutls homepage">mod_gnutls</a> module for <em>apache</em> to use <strong>RC4</strong> based ciphers, so, as a dedicated user of <em>mod_gnutls</em>, I decided to release this <em>tip</em>. All you have to do is set the preferred ciphers in the <strong>GnuTLSPriorities</strong> directive. In this example we use the TLS 1.0 protocol:</p>
<pre class="console">
GnuTLSPriorities NONE:+VERS-TLS1.0:+ARCFOUR-128:+RSA:+SHA1:+COMP-NULL
</pre>
<p>Visiting a secure web site that has been configured using any of the methods described above and by checking the information of the secure connection to that website, you should see the following message:</p>
<div id="attachment_2478" class="wp-caption aligncenter" style="width: 576px"><img src="http://www.g-loaded.eu/wp-content/uploads/firefox_ssl_tls_rc4_message.png" alt="Firefox message about using RC4 encryption cipher" title="firefox_ssl_tls_rc4_message" width="566" height="109" class="size-full wp-image-2478" /><p class="wp-caption-text">Firefox message about using RC4 encryption cipher</p></div>
<p>This means that everything is working correctly.</p>
<p>As always, comments and suggestions are welcome and appreciated.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/">How to configure mod_gnutls to use the RC4 cipher to mitigate the SSL/TLS vulnerability</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2008/05/16/using-ssh-for-networking/" rel="bookmark">Using SSH for networking</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/" rel="bookmark">SSL-enabled Name-based Apache Virtual Hosts with mod_gnutls</a></li>
<li><a href="http://www.g-loaded.eu/2009/02/20/critical-vulnerability-in-adobe-reader/" rel="bookmark">Critical vulnerability in Adobe Reader</a></li>
<li><a href="http://www.g-loaded.eu/2007/11/14/mod_gnutls-binary-for-apache/" rel="bookmark">mod_gnutls binary for Apache</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/10/how-to-configure-and-use-lirc/" rel="bookmark">How to configure and use LIRC</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>PHP syntax error caused 48-hour web site downtime</title>
		<link>http://www.g-loaded.eu/2011/06/14/php-syntax-error-caused-48-hour-web-site-downtime/</link>
		<comments>http://www.g-loaded.eu/2011/06/14/php-syntax-error-caused-48-hour-web-site-downtime/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 11:50:50 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Web Applications]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2365</guid>
		<description><![CDATA[Today I realized my web site had been serving an empty HTML document for the last 2 days on every HTTP request no matter what the path was. When I initially noticed the issue, I was a bit worried, but, after taking a closer look at the Apache error log, I found out about a [...]]]></description>
			<content:encoded><![CDATA[<p>Today I realized my web site had been serving an empty HTML document for the last 2 days on every HTTP request no matter what the path was. When I initially noticed the issue, I was a bit worried, but, after taking a closer look at the Apache error log, I found out about a PHP syntax error causing the issue. A couple of days ago I had edited a WordPress plugin on my live web site and, apparently, I made a typo which led to a syntax error and an empty document being served on every request. But, I recall I had checked the website after the modification of the plugin but I hadn&#8217;t noticed any issues! Actually, this happened because I had forgot to clear the cache, so when I checked the site after the modification of the plugin, it seemed OK. My modification didn&#8217;t change the visual representation of the web site, so, having forgot to turn off caching, there was no way for me to find out about the typo. <strong>Lesson learned</strong>: <em>never modify the code of a live web site, but, if you have to do it, always turn-off caching before doing so</em>.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/06/14/php-syntax-error-caused-48-hour-web-site-downtime/">PHP syntax error caused 48-hour web site downtime</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/07/29/when-it-comes-to-error-messages/" rel="bookmark">When it comes to error messages&#8230;</a></li>
<li><a href="http://www.g-loaded.eu/2007/03/03/announcement-downtime-on-sunday-mar-04-2007/" rel="bookmark">Announcement: Downtime on Sunday, Mar 04 2007</a></li>
<li><a href="http://www.g-loaded.eu/2008/12/16/back-online-after-48-hours-of-downtime/" rel="bookmark">Back online after 48 hours of downtime</a></li>
<li><a href="http://www.g-loaded.eu/2007/02/25/error-when-using-old-runbin-installers-under-linux/" rel="bookmark">Error when using old run/bin installers under Linux</a></li>
<li><a href="http://www.g-loaded.eu/2010/03/28/script-apache-error-report/" rel="bookmark">Script for Apache Error Report</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/06/14/php-syntax-error-caused-48-hour-web-site-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>CPU Time saved by WP-Super-Cache</title>
		<link>http://www.g-loaded.eu/2010/09/17/cpu-time-saved-by-wp-super-cache/</link>
		<comments>http://www.g-loaded.eu/2010/09/17/cpu-time-saved-by-wp-super-cache/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 23:29:22 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1901</guid>
		<description><![CDATA[I needed to make some changes to the website layout this afternoon, so I turned off WP-Super-Cache for a while. As you can clearly see in the following graph the CPU time consumed by php-cgi processes increased by 2-4 times when caching was turned off between 14:00-17:00. And this increase was caused by a single [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to make some changes to the website layout this afternoon, so I turned off WP-Super-Cache for a while. As you can clearly see in the following graph the CPU time consumed by php-cgi processes increased by 2-4 times when caching was turned off between 14:00-17:00. And this increase was caused by a single WordPress installation during low traffic hours. This is one of the many reasons I love caching plugins.<br />
<span id="more-1901"></span><br />
<div id="attachment_1903" class="wp-caption aligncenter" style="width: 731px"><a href="http://www.g-loaded.eu/wp-content/uploads/phpcgi-cpu-time1.png"><img src="http://www.g-loaded.eu/wp-content/uploads/phpcgi-cpu-time1.png" alt="CPU consumption with WP-Super-Cache turned off" title="phpcgi-cpu-time" width="580" height="218" class="size-full wp-image-1903" /></a><p class="wp-caption-text">CPU consumption with WP-Super-Cache turned off between 14:00-17:00</p></div></p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2010/09/17/cpu-time-saved-by-wp-super-cache/">CPU Time saved by WP-Super-Cache</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/03/03/how-to-upgrade-wp-super-cache/" rel="bookmark">How to upgrade WP-Super-Cache</a></li>
<li><a href="http://www.g-loaded.eu/2008/11/29/how-to-enable-wp-super-cache-in-wordpress/" rel="bookmark">How to enable WP-Super-Cache in WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2010/09/17/declutter-plugin-for-wordpress/" rel="bookmark">Declutter Plugin for WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2011/06/14/php-syntax-error-caused-48-hour-web-site-downtime/" rel="bookmark">PHP syntax error caused 48-hour web site downtime</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/09/17/cpu-time-saved-by-wp-super-cache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Declutter Plugin for WordPress</title>
		<link>http://www.g-loaded.eu/2010/09/17/declutter-plugin-for-wordpress/</link>
		<comments>http://www.g-loaded.eu/2010/09/17/declutter-plugin-for-wordpress/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 21:28:04 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1889</guid>
		<description><![CDATA[Web applications that add unnecessary HTTP headers or meta tags and links in the HTML HEAD section of my web pages usually make me nervous. Today, WordPress, once again, made me spend my free time trying to find which filters add such useless data in my web pages and try to remove it. Removing the [...]]]></description>
			<content:encoded><![CDATA[<p>Web applications that add unnecessary <em>HTTP headers</em> or <em>meta tags</em> and <em>links</em> in the HTML HEAD section of my web pages usually make me nervous. Today, WordPress, once again, made me spend my free time trying to find which filters add such useless data in my web pages and try to remove it. Removing the meta tags and links from the HTML head was rather easy using the <em>remove_action()</em> function, but the HTTP headers gave me a hard time. Before giving up, I decided to search for a plugin that could possibly provide a solution. Fortunately, I discovered a great plugin, named <a href="http://rayofsolaris.net/code/?p=declutter-wordpress">WP-Declutter</a>, which makes it possible to remove all that useless stuff in one go. Below, there is some information about which items I have removed.<br />
<span id="more-1889"></span><br />
First of all, I should say that the plugin&#8217;s feature set by far exceeded my expectations as it can remove links and metatags from the HTML HEAD area, HTTP headers added by WordPress, the generator element of the feeds, and also various classes WP adds to various HTML elements.</p>
<p>I removed the following items from the HTML HEAD:</p>
<ul>
<li>Link to the Really Simple Discovery service endpoint. That&#8217;s the link to: <code>/xmlrpc.php?rsd</code></li>
<li>Link to the first post on your blog.</li>
<li>Link to the Windows Live Writer manifest file. That&#8217;s the link to: <code>/wp-includes/wlwmanifest.xml</code></li>
<li>The generator meta tag.</li>
<li>The shortlink.</li>
</ul>
<p>From the &#8220;feeds&#8221; section I removed the the &#8220;<em>generator</em>&#8221; element.</p>
<p>Finally, from the HTTP headers section I removed everything. In my case, the <strong>ETag</strong>, <strong>Expires</strong> and <strong>Cache-Control</strong> headers are added by the webserver (<em>FileETags</em> and <em>mod_expires</em>). If this is not the case for you, then consider keeping these enabled.</p>
<p>Another thing you should keep in mind is that if you use any caching mechanism, like <strong>WP-Super-Cache</strong>, make sure you clear the cache after you make any changes in the WP-Clutter&#8217;s administration panel, otherwise the changes you made will be visible after the cached pages expire.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2010/09/17/declutter-plugin-for-wordpress/">Declutter Plugin for WordPress</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/" rel="bookmark">Creative-Commons-Configurator WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/09/remove-generator-meta-tag-wordpress-plugin/" rel="bookmark">Remove-Generator-Meta-Tag WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/15/simple-recent-comments-wordpress-plugin/" rel="bookmark">Simple-Recent-Comments WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/add-meta-tags-wordpress-plugin/" rel="bookmark">Add-Meta-Tags WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/break-out-of-frames-wordpress-plugin/" rel="bookmark">Break-Out-Of-Frames WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/09/17/declutter-plugin-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Some Preliminary Redmine Customizations</title>
		<link>http://www.g-loaded.eu/2010/04/14/some-preliminary-redmine-customizations/</link>
		<comments>http://www.g-loaded.eu/2010/04/14/some-preliminary-redmine-customizations/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 15:55:33 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Redmine]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1772</guid>
		<description><![CDATA[I&#8217;ve been using Redmine for several months now. During this period of time I had the chance to evaluate most of its features. Although I still consider it one of the most feature-rich project management web applications currently available, using it on a production website revealed some weaknesses in the anti-spam area. Truth is the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been <a href="http://www.g-loaded.eu/2009/09/21/redmine/">using Redmine</a> for several months now. During this period of time I had the chance to evaluate most of its features. Although I still consider it one of the most feature-rich <em>project management web applications</em> currently available, using it on a production website revealed some weaknesses in the anti-spam area. Truth is the application lacks anti-spam features, but, on the other hand, such features most probably belong to the plugin area instead of the application core, so noone can put the blame on the core developers for not making the app spam-proof. Apart from this, I also realized that some of its templates need some improvement in some cases. Time permitting, I&#8217;ll be working on these things in the upcoming weeks and release the customizations in the form of patches that can be applied directly on the latest official release of Redmine.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/14/some-preliminary-redmine-customizations/">Some Preliminary Redmine Customizations</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/09/21/redmine/" rel="bookmark">Redmine</a></li>
<li><a href="http://www.g-loaded.eu/2009/10/08/redmine-deployment-delayed/" rel="bookmark">Redmine deployment delayed</a></li>
<li><a href="http://www.g-loaded.eu/2009/10/15/redmine-deployment-meets-social-media/" rel="bookmark">Redmine deployment meets social media</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/14/some-preliminary-redmine-customizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>A change of plans regarding a web-based VCS manager</title>
		<link>http://www.g-loaded.eu/2010/04/12/a-change-of-plans-regarding-a-web-based-vcs-manager/</link>
		<comments>http://www.g-loaded.eu/2010/04/12/a-change-of-plans-regarding-a-web-based-vcs-manager/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 16:06:41 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version Control]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1746</guid>
		<description><![CDATA[About a month ago, I had finally decided to start writing a simple web-based VCS manager. This is a project I had been thinking about for the last 2 years as a solution for source-code management at CodeTRAX.org, but I never really started development. The initial plan included support (repository creation only) for the most [...]]]></description>
			<content:encoded><![CDATA[<p>About a month ago, I had finally decided to start writing a simple web-based VCS manager. This is a project I had been thinking about for the last 2 years as a solution for source-code management at <a href="http://www.codetrax.org">CodeTRAX.org</a>, but I never really started development. The initial plan included support (repository creation only) for the most popular open-source version control systems, like <strong>subversion</strong>, <strong>mercurial</strong>, <strong>git</strong>, and <strong>bazaar</strong>. The VCS manager, actually a <em>Django application</em>, should be able to create source code repositories and manage user permissions on a per repository basis. It would also include an authentication/authorization backend for <em>httpd</em>, compatible with <em>mod_wsgi</em>&#8216;s access control mechanisms, in order to provide controlled access to the repositories over HTTP or HTTPS. During the last days, after exploring several of the <strong>Mercurial</strong> features, I am quite certain that Mercurial includes all the necessary features to meet any requirement of CodeTRAX. So, I seriously consider dropping support for any other VCS except hg and try to make the VCS manager more hg specific. Now I realize that this should be the approach from the beginning. The needs are quite specific, so supporting several version control systems was completely unnecessary.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/12/a-change-of-plans-regarding-a-web-based-vcs-manager/">A change of plans regarding a web-based VCS manager</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2010/04/08/from-subversion-to-mercurial/" rel="bookmark">From Subversion to Mercurial</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/20/mailing-list-manager/" rel="bookmark">Mailing List Manager</a></li>
<li><a href="http://www.g-loaded.eu/2009/09/21/redmine/" rel="bookmark">Redmine</a></li>
<li><a href="http://www.g-loaded.eu/2010/10/29/sphinx-documentation-single-file/" rel="bookmark">How to create a single file of Sphinx based documentation</a></li>
<li><a href="http://www.g-loaded.eu/2009/10/08/redmine-deployment-delayed/" rel="bookmark">Redmine deployment delayed</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/12/a-change-of-plans-regarding-a-web-based-vcs-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 2024/2109 objects using apc

Served from: www.g-loaded.eu @ 2012-05-17 04:00:54 -->
