<?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</title>
	<atom:link href="http://www.g-loaded.eu/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>Thu, 02 Sep 2010 17:01:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>Software that detects violations of open source licenses</title>
		<link>http://www.g-loaded.eu/2010/04/16/software-that-detects-violations-of-open-source-licenses/</link>
		<comments>http://www.g-loaded.eu/2010/04/16/software-that-detects-violations-of-open-source-licenses/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 14:57:24 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Binary]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1788</guid>
		<description><![CDATA[The rules make the game. You take out the rules, the game goes up in smoke. I think it&#8217;s still fine if someone takes advantage of any inconsistencies between the rules to win the game, but cheating is completely unacceptable. In the free software world, it&#8217;s neither the maker of the software nor the market, [...]]]></description>
			<content:encoded><![CDATA[<p>The <strong>rules</strong> make the <strong>game</strong>. You take out the rules, the game goes up in smoke. I think it&#8217;s still fine if someone takes advantage of any inconsistencies between the rules to win the game, but cheating is completely unacceptable.<br />
<span id="more-1788"></span><br />
In the free software world, it&#8217;s neither the maker of the software nor the market, via supply and demand, that set the rules of the game, but <strong>software licenses</strong>. That&#8217;s why today I was excited to learn about the existence of a software that can determine whether code, that has been released under a free/open-source license, has been used in another software by performing <strong>binary analysis</strong>, examination of files in <em>binary form</em>. The excitement is not because of some sort of personal benefit from this software. It&#8217;s just good to know that it is possible to develop tools that can defend open-source code, even if they have to analyze the derived binary file. At the moment the tool supports:</p>
<ul>
<li>Automated extraction of the version and configuration of BusyBox</li>
<li>Extraction of file systems</li>
<li>Automated checking for the Linux kernel</li>
<li>Brute force scanning of firmware</li>
<li>Feeding known information through a knowledgebase</li>
</ul>
<p>This means that, currently, it can detect the <a href="http://kernel.org">kernel</a> and <a href="http://www.busybox.net/">busybox</a> in the firmware of electronic devices. I have no clue about its effectiveness and, possibly, I won&#8217;t be trying it any time soon, but, if you are interested, make sure you read more information about the <a href="http://www.binaryanalysis.org/en/content/show/tool">features of the Binary Analysis Tool</a> and check out the <a href="http://www.binaryanalysis.org/trac/browser/trunk">code</a>.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/16/software-that-detects-violations-of-open-source-licenses/">Software that detects violations of open source licenses</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2006/04/07/microsofts-open-source-software-lab/" rel="bookmark">Microsoft&#8217;s Open Source Software Lab</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/29/best-practices-of-software-licensing/" rel="bookmark">Best Practices of Software Licensing</a></li>
<li><a href="http://www.g-loaded.eu/2006/12/20/open-source-guitar-sound-effect-processor/" rel="bookmark">Open-Source Guitar Sound Effect Processor</a></li>
<li><a href="http://www.g-loaded.eu/2007/02/24/creative-commons-v30-licenses-launched/" rel="bookmark">Creative Commons v3.0 Licenses Launched</a></li>
<li><a href="http://www.g-loaded.eu/2006/12/18/free-software-inc/" rel="bookmark">Free Software Inc.</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/16/software-that-detects-violations-of-open-source-licenses/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>
<div 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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><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>
<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/2007/07/10/a-css-trap-for-comment-spambots/" rel="bookmark">A CSS trap for comment spambots</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/29/best-practices-of-software-licensing/" rel="bookmark">Best Practices of Software Licensing</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>PHP Interactive Interpreter</title>
		<link>http://www.g-loaded.eu/2010/04/13/php-interactive-interpreter/</link>
		<comments>http://www.g-loaded.eu/2010/04/13/php-interactive-interpreter/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 13:16:42 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1157</guid>
		<description><![CDATA[The PHP interpreter supports running it in interactive mode by using the --interactive (short equivalent: -a) command-line switch. Running an interactive PHP shell can be useful when you need to quickly try code snippets. But, for this mode to be fully functional, PHP has to be compiled with readline support. Unfortunately, on CentOS PHP has [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://php.net">PHP</a> interpreter supports running it in interactive mode by using the <code>--interactive</code> (short equivalent: <code>-a</code>) command-line switch. Running an interactive PHP shell can be useful when you need to quickly try code snippets. But, for this mode to be fully functional, PHP has to be compiled with <strong>readline</strong> support. Unfortunately, on <strong>CentOS</strong> PHP has not been compiled this way.<br />
<span id="more-1157"></span><br />
You can check the PHP compile-time configuration switches, by invoking the following command:</p>
<pre class="console">
php --info | grep -i 'configure command'
</pre>
<p>While searching for a solution about this, I ran across an interesting project, <a href="http://david.acz.org/phpa/">phpa</a>. From the developer:</p>
<blockquote><p>
phpa is an interactive command line shell for PHP.</p>
<p>It is a replacement for the interactive mode of the PHP interpreter (php -a), hence the name.</p>
<p>This software is public domain.
</p></blockquote>
<p>Before using it, make sure <strong>php-readline</strong> is installed:</p>
<pre class="console">
yum install php-readline
</pre>
<p>I downloaded <strong>phpa</strong> and set the <strong>executable</strong> bit as shown below:</p>
<pre class="console">
wget -O - http://david.acz.org/phpa/phpa.txt > ~/bin/phpa
chmod +x ~/bin/phpa
</pre>
<p>I also had to fix the bad <a href="http://en.wikipedia.org/wiki/Shebang_(Unix)">shebang</a>:</p>
<pre class="console">
sed -i 's#/usr/local/bin/php#/usr/bin/php#' ~/bin/phpa
</pre>
<p>Finally, an interactive PHP shell! Now running code snippets from the <a href="http://php.net/manual/en/index.php">PHP manual</a> is fun:</p>
<pre class="console">
[rocky@arena ~]$ phpa
PHP 5.1.6 (cli) (Jan 13 2010 17:05:38) [Linux]
>>> $arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
>>>
>>> echo $arr["somearray"][6];    // 5
5
>>> echo $arr["somearray"][13];   // 9
9
>>> echo $arr["somearray"]["a"];  // 42
42
>>>
</pre>
<p>Enjoy your new PHP interactive interpreter!</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/13/php-interactive-interpreter/">PHP Interactive Interpreter</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2008/11/26/using-a-switch-to-prevent-system-shutdownrebootsuspend/" rel="bookmark">Using a switch to prevent system shutdown/reboot/suspend</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/13/php-interactive-interpreter/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>
<div 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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<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/2009/09/21/redmine/" rel="bookmark">Redmine</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/2008/12/18/using-the-mod_dav_svn-svnparentpath-directive-with-multiple-authz-files/" rel="bookmark">Using the mod_dav_svn SVNParentPath directive with multiple authz files</a></li>
<li><a href="http://www.g-loaded.eu/2006/09/12/setting-up-subversion-and-websvn/" rel="bookmark">Setting up Subversion and WebSVN</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>
		<item>
		<title>Started using rdiff-backup on Windows</title>
		<link>http://www.g-loaded.eu/2010/04/08/started-using-rdiff-backup-on-windows/</link>
		<comments>http://www.g-loaded.eu/2010/04/08/started-using-rdiff-backup-on-windows/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 15:08:14 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Backup]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1732</guid>
		<description><![CDATA[rdiff-backup is my favorite tool for keeping backups on Linux systems. Today, I started using it on a Windows 7 desktop as well. At first, I used rdiff-backup from the cygwin project, but I soon noticed that, if I did anything else that required moderate hard disk access on the computer on which the cygwin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rdiff-backup.nongnu.org/">rdiff-backup</a> is my favorite tool for keeping backups on Linux systems. Today, I started using it on a Windows 7 desktop as well. At first, I used rdiff-backup from the <a href="http://www.cygwin.com/">cygwin</a> project, but I soon noticed that, if I did anything else that required moderate hard disk access on the computer on which the cygwin rdiff-backup version was already running, my system suffered from random lockups. For example, if I tried to open Thunderbird, my computer froze for several minutes. I finally decided to try the native Windows release of rdiff-backup and all this strange behavior is now gone. My computer experiences no lock-ups and is usable while rdiff-backup is backing up some subdirectories of my homedir. I am not really sure what is the problem with the cygwin version. However, I intend to investigate this when I have the time, because I use cygwin for several tasks and I&#8217;d like to know about any possible incompatibility issues with current Windows versions.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/08/started-using-rdiff-backup-on-windows/">Started using rdiff-backup on Windows</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/05/07/microsoft-releases-windows-7-rc-to-the-public/" rel="bookmark">Microsoft Releases Windows 7 RC to the Public</a></li>
<li><a href="http://www.g-loaded.eu/2009/03/05/checking-on-windows-vista/" rel="bookmark">Checking on Windows Vista</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/10/windows-7-opensolaris-put-to-the-test/" rel="bookmark">Windows 7, OpenSolaris &#8211; put to the test</a></li>
<li><a href="http://www.g-loaded.eu/2007/04/25/how-to-create-a-windows-bootable-cd-with-mkisofs/" rel="bookmark">How to create a Windows bootable CD with mkisofs</a></li>
<li><a href="http://www.g-loaded.eu/2006/04/08/filesystem-backup-again/" rel="bookmark">Filesystem Backup Again</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/08/started-using-rdiff-backup-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>From Subversion to Mercurial</title>
		<link>http://www.g-loaded.eu/2010/04/08/from-subversion-to-mercurial/</link>
		<comments>http://www.g-loaded.eu/2010/04/08/from-subversion-to-mercurial/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:33:59 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version Control]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1693</guid>
		<description><![CDATA[I&#8217;ve been using the Subversion version control system during the last 2-3 years. Although a VCS has never been a top priority for me, it seems there is always room for version control. I ended up using it for almost everything, from simple to more complex scripts and even system configuration files in some cases. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using the <a href="http://subversion.tigris.org/">Subversion</a> <em>version control system</em> during the last 2-3 years. Although a <em>VCS</em> has never been a top priority for me, it seems there is always room for version control. I ended up using it for almost everything, from simple to more complex scripts and even system configuration files in some cases. A few weeks ago I decided to switch to <a href="http://mercurial.selenic.com/">Mercurial</a>. I had read about Mercurial for the first time in some mailing list messages written by <a href="http://keramida.wordpress.com">Giorgos Keramidas</a> and also in several <a href="http://keramida.wordpress.com/tag/mercurial/">posts about Mercurial</a> on his blog, but it was only a few months ago when I started experimenting with it for real. Although I use many of its features, my general use of version control systems is rather basic, so do not expect any sophisticated reasons why I have decided to switch:<br />
<span id="more-1693"></span></p>
<ol>
<li>It&#8217;s open-source software, written in <a href="http://python.org">Python</a>. This is very important for me as there is not much room in my head right now for other programming languages.</li>
<li>Easily extensible. If I ever need a special feature I will have the opportunity to implement it by writing a Python extension.</li>
<li>I got rid of those <code>.svn</code> directories.</li>
<li>I can use <a href="http://code.google.com/p/modwsgi/">mod_wsgi</a> and all its good features to provide repository access over HTTP/HTTPS.</li>
<li>I find the concept of a &#8220;<strong>distributed version control system</strong>&#8221; to be real progress in the VCS area.</li>
</ol>
<p>Truth is I will not stop using Subversion, but I will definitely choose Mercurial instead of SVN for any new project I start.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/08/from-subversion-to-mercurial/">From Subversion to Mercurial</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2006/09/12/setting-up-subversion-and-websvn/" rel="bookmark">Setting up Subversion and WebSVN</a></li>
<li><a href="http://www.g-loaded.eu/2010/04/12/a-change-of-plans-regarding-a-web-based-vcs-manager/" rel="bookmark">A change of plans regarding a web-based VCS manager</a></li>
<li><a href="http://www.g-loaded.eu/2006/05/16/tab-session-management-extension-for-epiphany/" rel="bookmark">Tab Session Management extension for Epiphany</a></li>
<li><a href="http://www.g-loaded.eu/2008/12/18/using-the-mod_dav_svn-svnparentpath-directive-with-multiple-authz-files/" rel="bookmark">Using the mod_dav_svn SVNParentPath directive with multiple authz files</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/08/from-subversion-to-mercurial/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>mod_wsgi incompatible with mod_python</title>
		<link>http://www.g-loaded.eu/2010/04/07/mod_wsgi-incompatible-with-mod_python/</link>
		<comments>http://www.g-loaded.eu/2010/04/07/mod_wsgi-incompatible-with-mod_python/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 09:00:58 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[WSGI]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1676</guid>
		<description><![CDATA[This is a quick note that mod_wsgi daemon processes are now incompatible with mod_python. Upgraded mod_wsgi earlier today in CentOS and saw the following note. I guess this limitation has been around for a while before affecting CentOS/RHEL: ################################################################################# # mod_python and mod_wsgi compatibility note ################################################################################# # mod_wsgi will deadlock if run in daemon mode [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick note that <a href="http://code.google.com/p/modwsgi/">mod_wsgi</a> daemon processes are now incompatible with <a href="http://www.modpython.org/">mod_python</a>. Upgraded <strong>mod_wsgi</strong> earlier today in CentOS and saw the following note. I guess this limitation has been around for a while before affecting CentOS/RHEL:<br />
<span id="more-1676"></span></p>
<pre class="codesnp">
#################################################################################
# mod_python and mod_wsgi compatibility note
#################################################################################
# mod_wsgi will deadlock if run in daemon mode while mod_python is enabled
# do not enable both mod_python and mod_wsgi if you are going to use the
# WSGIDaemonProcess directive
# In previous version of mod_wsgi, apache would segfault when both mod_wsgi
# and mod_python were enabled.  This update does not guarantee that will not
# happen.
#################################################################################
# Do not enable mod_python and mod_wsgi in the same apache process.
#################################################################################
</pre>
<p>Keep this in mind if you plan to mix both modules under the same Apache instance.</p>
<p><strong>Update</strong>: As <a href="http://blog.dscpl.com.au/">Graham</a> pointed out in <a href="http://www.g-loaded.eu/2010/04/07/mod_wsgi-incompatible-with-mod_python/#comment-12257">this comment</a>, there is no issue if <strong>mod_python 3.3.1</strong> is used. That&#8217;s great news because I would miss the flexibility of mod_python when it comes to request processing.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/07/mod_wsgi-incompatible-with-mod_python/">mod_wsgi incompatible with mod_python</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2006/11/20/my-running-dog/" rel="bookmark">My running dog</a></li>
<li><a href="http://www.g-loaded.eu/2008/12/09/making-a-directory-writable-by-the-webserver/" rel="bookmark">Making a directory writable by the webserver</a></li>
<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/11/14/mod_gnutls-binary-for-apache/" rel="bookmark">mod_gnutls binary for Apache</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></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/07/mod_wsgi-incompatible-with-mod_python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Permanently remove deleted posts and topics in bbPress</title>
		<link>http://www.g-loaded.eu/2010/04/07/permanently-delete-posts-topics-bbpress/</link>
		<comments>http://www.g-loaded.eu/2010/04/07/permanently-delete-posts-topics-bbpress/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 06:51:50 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[bbPress]]></category>
		<category><![CDATA[Maintenance]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1686</guid>
		<description><![CDATA[Permanently removing deleted posts and topics in bbPress can be cumbersome. bbPress does not provide a decent way to completely remove deleted content from the database. I am not sure why&#8230; In my case, these posts mostly contain spam and there is absolutely no reason to keep them in the database any more. As it [...]]]></description>
			<content:encoded><![CDATA[<p>Permanently removing deleted posts and topics in bbPress can be cumbersome. bbPress does not provide a decent way to completely remove deleted content from the database. I am not sure why&#8230; In my case, these posts mostly contain spam and there is absolutely no reason to keep them in the database any more. As it usually happens when I try to administer bbPress, I ended up executing SQL queries at the MySQL prompt. I hereby publish these SQL statements.<br />
<span id="more-1686"></span><br />
First delete all posts in deleted topics:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> bb_posts <span style="color: #993333; font-weight: bold;">WHERE</span> post_id <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span>
    <span style="color: #993333; font-weight: bold;">SELECT</span> post_id <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>
        <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">DISTINCT</span><span style="color: #66cc66;">&#40;</span>p<span style="color: #66cc66;">.</span>post_id<span style="color: #66cc66;">&#41;</span>
        <span style="color: #993333; font-weight: bold;">FROM</span> bb_posts <span style="color: #993333; font-weight: bold;">AS</span> p <span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> bb_topics <span style="color: #993333; font-weight: bold;">AS</span> t <span style="color: #993333; font-weight: bold;">ON</span> p<span style="color: #66cc66;">.</span>topic_id<span style="color: #66cc66;">=</span>t<span style="color: #66cc66;">.</span>topic_id
        <span style="color: #993333; font-weight: bold;">WHERE</span> t<span style="color: #66cc66;">.</span>topic_status<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>
    <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> bb_posts_in_deleted_topics
<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Then remove all deleted posts:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> bb_posts <span style="color: #993333; font-weight: bold;">WHERE</span> post_status<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>;</pre></div></div>

<p>Finally, remove all deleted topics:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> bb_topics <span style="color: #993333; font-weight: bold;">WHERE</span> topic_status<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>;</pre></div></div>

<p>In the bbPress administration panel, you can now use the &#8220;Tools&#8221; section to recount posts.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/04/07/permanently-delete-posts-topics-bbpress/">Permanently remove deleted posts and topics in bbPress</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/10/06/reclaiming-the-forums-from-bots/" rel="bookmark">Reclaiming the forums from bots</a></li>
<li><a href="http://www.g-loaded.eu/2007/04/25/bbpress-for-wordpress/" rel="bookmark">bbPress for WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/10/bbpress-registration-functions-patch/" rel="bookmark">bbPress registration functions patch</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/11/27/effectively-remove-a-user-from-the-system/" rel="bookmark">Effectively remove a user from the system</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/04/07/permanently-delete-posts-topics-bbpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Partition Misalignment Slows Down 4096-Byte Sector Hard Disks</title>
		<link>http://www.g-loaded.eu/2010/03/29/partition-misalignment-slows-4096-byte-sector-hard-drives/</link>
		<comments>http://www.g-loaded.eu/2010/03/29/partition-misalignment-slows-4096-byte-sector-hard-drives/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 23:32:01 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1662</guid>
		<description><![CDATA[I just read this very interesting article about the new 4096-byte sector hard disks, like the new Western Digital Caviar Green drives, and the impact a partition misalignment might have on the drive&#8217;s write performance. The problem most likely to hit you with one of these drives is very slow write performance. This is caused [...]]]></description>
			<content:encoded><![CDATA[<p>I just read this very interesting article about the new 4096-byte sector hard disks, like the new Western Digital Caviar Green drives, and the impact a partition misalignment might have on the drive&#8217;s write performance.<br />
<span id="more-1662"></span></p>
<blockquote><p>The problem most likely to hit you with one of these drives is very slow write performance. This is caused by improper logical-to-physical sector alignment. OS&#8217;s like Linux use 4K blocks (or multiples of 4K) to store data, which matches well with the physical sector. However, nothing restricts you from creating a partition that starts on an odd-numbered 512-byte logical sector. This misalignment causes a performance hit since the drive has to read and rewrite the 4K sectors with whatever 512-byte slices changed.</p></blockquote>
<p>The article author continues with a test he performed on two identical WD Green drives containing one partition. On the first drive he used fdisk defaults for the partition boundaries, while on the second drive he manually aligned the partition. The results show that a misaligned drive can be up to 3 times slower than a properly aligned one.</p>
<blockquote><p>&#8230;I formatted both drives using the command &#8220;time mke2fs /dev/sdc1&#8243; (and sdd1).</p>
<p>/dev/sdc, which was aligned, took 5m 45.716s to format.<br />
/dev/sdd, which was not aligned, took 19m 53.609s to format.</p>
<p>That&#8217;s a difference of greater than a factor of three!</p></blockquote>
<p>The article author conducted several other tests. This is a very good read. Read the <a href="http://www.osnews.com/story/22872/Linux_Not_Fully_Prepared_for_4096-Byte_Sector_Hard_Drives">full article</a>.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/03/29/partition-misalignment-slows-4096-byte-sector-hard-drives/">Partition Misalignment Slows Down 4096-Byte Sector Hard Disks</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/11/05/howto-run-vmware-on-a-physical-windows-partition/" rel="bookmark">Howto: Run VMWare on a Physical Windows Partition</a></li>
<li><a href="http://www.g-loaded.eu/2009/01/22/effective-data-wiping-with-a-single-complete-overwrite/" rel="bookmark">Effective data wiping with a single complete overwrite</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/06/partition-images-with-partimage-and-partimaged/" rel="bookmark">Partition images with Partimage and Partimaged</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/25/hard-disk-upgrade-on-an-old-motherboard/" rel="bookmark">Hard disk upgrade on an old motherboard</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/10/windows-7-opensolaris-put-to-the-test/" rel="bookmark">Windows 7, OpenSolaris &#8211; put to the test</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/03/29/partition-misalignment-slows-4096-byte-sector-hard-drives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Script for Apache Error Report</title>
		<link>http://www.g-loaded.eu/2010/03/28/script-apache-error-report/</link>
		<comments>http://www.g-loaded.eu/2010/03/28/script-apache-error-report/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 17:26:47 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Cron]]></category>
		<category><![CDATA[Report]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1648</guid>
		<description><![CDATA[The last incident with the php-cgi errors as a result of a bad PHP script made me re-evaluate the daily reports I receive from the server. I realized that a report about the httpd errors that have occured during the previous day, including all virtualhosts, is more important than I had initially thought. Such a [...]]]></description>
			<content:encoded><![CDATA[<p>The last incident with the <a href="http://www.g-loaded.eu/2010/03/28/issues-with-the-feeds-are-now-resolved/">php-cgi errors</a> as a result of a bad PHP script made me re-evaluate the daily reports I receive from the server. I realized that a report about the <em>httpd errors</em> that have occured during the previous day, including all virtualhosts, is more important than I had initially thought. Such a report would have brought the problem to my attention much earlier and could also point me to the right direction while I was trying to figure out what was the cause of it. Fortunately, I found a nice error report generator for this purpose.<br />
<span id="more-1648"></span><br />
The script is called <a href="http://www.librelogiciel.com/software/ScanErrLog/action_Presentation">scanerrlog</a> and has some quite nice features. I highly recommend you check it out. In order to run it you will also need an extra Python module, <a href="http://www.librelogiciel.com/software/jaxml/action_Presentation">jaxml</a>. Download both packages and extract <strong>scanerrlog.py</strong> and <strong>jaxml.py</strong> to the same directory. Then you can call <code>scanerrlog.py</code> using the following cronjob.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /usr/bin/env bash</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Error Report for httpd</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Requires:</span>
<span style="color: #666666; font-style: italic;">#   - scanerrlog - http://www.librelogiciel.com/software/ScanErrLog/action_Presentation</span>
<span style="color: #666666; font-style: italic;">#   - jaxml - http://www.librelogiciel.com/software/jaxml/action_Presentation</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>error_log \
    <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>vhosts<span style="color: #000000; font-weight: bold;">/*/</span>log<span style="color: #000000; font-weight: bold;">/</span>error_log \
    <span style="color: #000000; font-weight: bold;">|</span> python <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>scanerrlog.py <span style="color: #660033;">-f</span> text \
    <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>mail <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;<span style="color: #780078;">`hostname`</span> - Apache Error Report&quot;</span> root<span style="color: #000000; font-weight: bold;">@</span>localhost
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>Some notes:</p>
<ol>
<li>Make sure that this cronjob runs before <strong>log rotation</strong> takes place.</li>
<li>The above shell script concatenates the <strong>error_log</strong> files from the main web server and all <em>virtualhosts</em>. Edit the paths to reflect your server configuration and virtualhost layout.</li>
<li>Edit the path to <code>scanerrlog.py</code>.</li>
</ol>
<p>Scanerrlog has some quite nice features that let you further customize the report. Make sure you read the help message.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/03/28/script-apache-error-report/">Script for Apache Error Report</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>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>


<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2006/12/20/selinux-audit-reports-script/" rel="bookmark">SELinux audit reports script</a></li>
<li><a href="http://www.g-loaded.eu/2009/10/05/strange-mod_dav_svn-error/" rel="bookmark">Strange mod_dav_svn error</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/2006/09/25/how-to-integrate-seaudit-report-in-logwatch/" rel="bookmark">How to integrate seaudit-report in logwatch</a></li>
<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></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/03/28/script-apache-error-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.627 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-09-02 20:09:41 -->
